Developing and Page Diff developing-and-page-diff
Overzicht van functies feature-overview
Het maken van inhoud is een herhalend proces. Om efficiënt te kunnen ontwerpen moet u kunnen zien wat er van de ene iteratie naar de andere is veranderd. Het weergeven van de ene pagina en de andere is inefficiënt en vatbaar voor fouten. Een auteur wil de huidige pagina met een vorige versie naast elkaar kunnen vergelijken met de gemarkeerde verschillen.
Met het paginagecheiding kan een gebruiker de huidige pagina vergelijken met opstarters, vorige versies, enzovoort. Voor meer informatie over deze gebruikersfunctie raadpleegt u Pagina grijs.
Bewerkingsdetails operation-details
Wanneer u versies van een pagina vergelijkt, wordt de vorige versie die de gebruiker wil vergelijken opnieuw gemaakt door op de achtergrond AEM te plaatsen om het afschuiven te vergemakkelijken. Dit is nodig om de inhoud te kunnen renderen voor vergelijking naast elkaar.
Deze recreatiebewerking wordt intern AEM uitgevoerd en is transparant voor de gebruiker en vereist geen interventie. Nochtans zou een beheerder die de bewaarplaats bijvoorbeeld in CRX DE Lite bekijkt deze ontspannen versies binnen de inhoudsstructuur zien.
Afhankelijk van het AEM flardniveau, is het gedrag verschillend en kan bepaalde toestemmingen vereisen om behoorlijk te werken.
Vóór AEM 6.4.3 prior-to-aem
Wanneer de inhoud wordt vergeleken, wordt de hele structuur tot aan de te vergelijken pagina opnieuw gemaakt op de volgende locatie:
/content/versionhistory/<userId>/<site structure>
Omdat bij het gebruik van het mechanisme voor pagina-afbreking AEM de vorige versie van de pagina opnieuw wordt gemaakt, moet de gebruiker bepaalde JCR-machtigingen hebben om deze functie te kunnen gebruiken.
/content/versionhistory
.Vanaf AEM 6.4.3 as-of-aem
Wanneer de inhoud wordt vergeleken, wordt de hele structuur tot aan de te vergelijken pagina opnieuw gemaakt op de volgende locatie:
/tmp/versionhistory/
Deze inhoud wordt gecreeerd door een de dienstgebruiker met toestemmingen die zicht tot de huidige gebruiker beperken. Daarom zijn geen speciale machtigingen vereist.
Er wordt automatisch een opschoningstaak uitgevoerd om deze tijdelijke inhoud op te schonen.
Beperkingen voor ontwikkelaars developer-limitations
Eerder moest in de klassieke gebruikersinterface speciale aandacht worden besteed aan de ontwikkeling om AEM verschillen te vergemakkelijken (zoals het gebruik van cq:text
tag lib, of aangepaste integratie van de DiffService
OSGi-service in componenten). Dit is niet meer nodig voor de nieuwe functie voor Diff, aangezien het diff cliënt-kant via DOM vergelijking voorkomt.
Er zijn echter een aantal beperkingen die door de ontwikkelaar in overweging moeten worden genomen.
-
Deze functie gebruikt CSS-klassen die geen naamruimte zijn met de AEM Product. Als andere aangepaste CSS-klassen of CSS-klassen van derden met dezelfde namen op de pagina worden opgenomen, kan dit van invloed zijn op de weergave van het diff.
html-added
html-removed
cq-component-added
cq-component-removed
cq-component-moved
cq-component-changed
-
Omdat het diff cliënt-kant is en op paginading uitvoert, zullen om het even welke aanpassingen aan DOM nadat de cliënt-zijdiff dienst is in werking gesteld niet administratief worden verwerkt. Dit kan
- Componenten die AJAX gebruiken om inhoud op te nemen
- Toepassingen voor één pagina
- Op JavaScript gebaseerde componenten die het DOM op gebruikersinteractie manipuleren.