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 die als
Public
zijn gemarkeerd, kunnen worden gebruikt en waarnaar wordt verwezen door aangepaste implementatiebundels. -
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 die als
Private
zijn gemarkeerd, mogen alleen worden gebruikt door AEM interne bundels, niet door aangepaste bundels.
Private
en Public
in deze context mag niet worden verward 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 onder /libs maar kunnen onder /apps extra inhoud toevoegen om de functionaliteit te bedekken en uit te breiden die in wordt bepaald/libs (Zie Ontwikkelen met Bedekkingen voor meer informatie). Dit veroorzaakte nog talrijke kwesties wanneer het bevorderen van AEM aangezien de inhoud in /libs zou kunnen veranderen veroorzakend de bedekkingsfunctionaliteit om op onverwachte manieren te breken. De klanten konden AEM componenten door overerving door middel van sling:resourceSuperType
ook uitbreiden, of eenvoudig een component in /libs direct door middel van sling:resourceType van verwijzingen voorzien. Vergelijkbare upgradeproblemen kunnen optreden met verwijzing en gebruikstoepassingen negeren.
Om het voor klanten veiliger en gemakkelijker te maken om te begrijpen welke gebieden van /libs veilig zijn om te gebruiken en bedekken de inhoud in /libs is geclassificeerd met de volgende mengelingen:
-
Openbaar (granite:PublicArea) - bepaalt een knoop als openbaar zodat het kan worden bedekt, worden geërft (
sling:resourceSuperType
) of direct (sling:resourceType
) worden gebruikt. 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) - bepaalt een knoop als abstract. Knooppunten kunnen worden bedekt of overgeërfd (
sling:resourceSupertype
), maar niet rechtstreeks (sling:resourceType
) worden gebruikt. -
Definitief (granite:FinalArea) - bepaalt een knoop als definitief. Als definitief geclassificeerde knooppunten mogen idealiter niet worden bedekt of overgeërfd. Uiteindelijke knooppunten kunnen rechtstreeks via
sling:resourceType
worden gebruikt. Subknooppunten onder het laatste knooppunt worden standaard als intern beschouwd. -
Intern (graniet:InternalArea) * - *Definieert een knoop als intern. 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 Annotatie - de knopen erven classificatie die op de boomhiërarchie wordt gebaseerd. De /-hoofdmap is standaard Openbaar. Knooppunten met een ouder die als Intern of Definitief wordt geclassificeerd moeten ook als Intern worden behandeld.
Internal
worden gemerkt, maar konden nog met standaardcliëntlib opneming worden gebruikt. 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 mixen tonen inhoudsknooppunten en bomen die zijn gemarkeerd als INTERNAL
als zijnde gedimd (grijs weergegeven). Voor FINAL
wordt alleen het pictogram 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 de Gezondheid van de Inhoud
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 neemt typisch verscheidene seconden aan voltooiing.
Ga als volgt te werk om deze nieuwe health check te openen:
-
Van het AEM Scherm van het Huis, navigeer aan Hulpmiddelen > Verrichtingen > de Rapporten van de Gezondheid
-
Klik Sling/de Controle van de Toegang van de Inhoud van Granite.
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.