Duurzame verbeteringen sustainable-upgrades
Customization Framework customization-framework
Architectuur (functioneel / infrastructuur / inhoud / toepassing) architecture-functional-infrastructure-content-application
De functie van het Kader van de Aanpassing wordt ontworpen helpen de schendingen in niet verlengbare gebieden van de code (zoals APIS) of inhoud (zoals overlays) verminderen die niet verbeteringsvriendelijk zijn.
Er zijn twee componenten van het aanpassingskader: het API-oppervlak en de Inhoudsclassificatie.
API-oppervlak api-surface
In eerdere versies van Adobe Experience Manager (AEM) werden veel API's via Uber Jar weergegeven. Sommige van deze API's waren niet bedoeld voor gebruik door klanten, maar werden blootgesteld aan ondersteuning voor AEM functionaliteit in verschillende bundels. De Java™ API's zijn in de toekomst gemarkeerd als Public of Private om aan klanten aan te geven welke API's veilig kunnen worden gebruikt in de context van upgrades. Andere bijzonderheden zijn:
-
Java™ API's gemarkeerd als
Public
kan worden gebruikt en van verwijzingen voorzien door de bundels van de douaneimplementatie. -
De openbare API's zijn achterwaarts compatibel met de installatie van een compatibiliteitspakket.
-
Het compatibiliteitspakket bevat een Uber JAR-compatibiliteitspakket om achterwaartse compatibiliteit te garanderen
-
Java™ API's gemarkeerd als
Private
zijn alleen bedoeld voor gebruik door AEM interne bundels, niet door aangepaste bundels.
Private
en Public
in deze context niet verward te worden met Java™-noties van openbare en particuliere klassen.
Inhoudsclassificaties content-classifications
AEM gebruikt al lang de principal of overlays en Sling Resource Merger om klanten toe te staan AEM functionaliteit uit te breiden en aan te passen. De vooraf bepaalde functionaliteit die de AEM consoles en UI van kracht maakt wordt opgeslagen in /libs. Klanten mogen niets wijzigen /libs maar kan hieronder extra inhoud toevoegen /apps om de in /libs (Zie Ontwikkelen met overlays voor meer informatie.) Dit heeft nog steeds veel problemen veroorzaakt bij het upgraden van AEM als de inhoud in /libs kan veranderen waardoor de overlayfunctionaliteit op onverwachte manieren wordt verbroken. Klanten kunnen ook AEM componenten uitbreiden via overerving sling:resourceSuperType
of gewoon verwijzen naar een component in /libs rechtstreeks via sling:resourceType. Vergelijkbare upgradeproblemen kunnen optreden met verwijzing en gebruikstoepassingen negeren.
Om het voor klanten veiliger en gemakkelijker te maken om te begrijpen welke gebieden /libs zijn veilig te gebruiken en de inhoud te bedekken in /libs is ingedeeld met de volgende mengsels:
-
Public (granite:PublicArea) - Definieert een knooppunt als 'public', zodat het kan worden bedekt, overgeërfd (
sling:resourceSuperType
) of rechtstreeks gebruikt (sling:resourceType
). De knopen onder /libs duidelijk als Openbaar zijn veilig om met de toevoeging van een Pakket van de Verenigbaarheid te bevorderen. In het algemeen, zouden de klanten slechts knopen moeten gebruiken die als Openbaar worden gemerkt. -
Abstract (graniet:AbstractArea) - Definieert een knooppunt als abstract. Knooppunten kunnen worden bedekt of overgeërfd (
sling:resourceSupertype
) maar niet rechtstreeks gebruikt (sling:resourceType
). -
Final (graniet:FinalArea) - Definieert een knooppunt als definitief. Als definitief geclassificeerde knooppunten mogen idealiter niet worden bedekt of overgeërfd. Uiteindelijke knooppunten kunnen rechtstreeks worden gebruikt via
sling:resourceType
. Subknooppunten onder het laatste knooppunt worden standaard als intern beschouwd. -
Internal (granite:InternalArea) *- *Definieert een knooppunt als internal. Knooppunten die idealiter als interne knooppunten zijn geclassificeerd, mogen niet worden bedekt, overgeërfd of rechtstreeks worden gebruikt. Deze knooppunten zijn alleen bedoeld voor de interne functionaliteit van AEM
-
Geen aantekening - Knooppunten nemen classificatie over op basis van de boomhiërarchie. De /-hoofdmap is standaard Openbaar. Knooppunten met een als intern of definitief ingedeelde ouder moeten ook als intern worden behandeld.
Internal
, maar kan nog steeds worden gebruikt met standaard clientlib inclusie. Het is belangrijk dat een klant in deze gevallen de interne classificatie blijft respecteren.Type-indicatoren voor CRXDE Lite-inhoud crxde-lite-content-type-indicators
In CRXDE Lite toegepaste mengsels tonen inhoudsknooppunten en bomen die als INTERNAL
als gedimd (grijs weergegeven). Voor FINAL
, alleen het pictogram wordt grijs weergegeven. De onderliggende knooppunten van deze knooppunten worden ook gedimd weergegeven. In beide gevallen is de functie Overlay Node uitgeschakeld.
Openbaar
Definitief
Intern
Controle van inhoudsstatus
AEM 6.5 wordt geleverd met een health check om klanten te waarschuwen als overlay- of referentieinhoud wordt gebruikt op een manier die niet in overeenstemming is met de inhoudclassificatie.
De *** Controle op de toegang tot inhoud via verkoop/graniet** is een nieuwe health check die de opslagplaats controleert om te zien of de code van de klant de beveiligde knooppunten in AEM op onjuiste wijze benadert.
Dit scant /apps en duurt meestal enkele seconden.
Ga als volgt te werk om deze nieuwe health check te openen:
-
Navigeer in het AEM Startscherm naar Gereedschappen > Bewerkingen > Gezondheidsrapporten
-
Klikken Toegangscontrole voor verkoop/graniet.
Nadat de scan is voltooid, wordt een lijst met waarschuwingen weergegeven waarmee een eindgebruiker op de hoogte wordt gebracht van het beveiligde knooppunt waarnaar niet correct wordt verwezen:
Na het herstellen van de schendingen keert het terug naar groene staat:
De gezondheidscontrole toont informatie die door de achtergronddienst wordt verzameld die asynchroon controleert wanneer een bekleding of middeltype over alle Verschuivende onderzoekspaden wordt gebruikt. Als de inhoudmix onjuist wordt gebruikt, wordt een schending gemeld.