Adobe Experience Manager as a Cloud Service bietet Mechanismen, mit denen Sie die Seitenbearbeitungsfunktion (und die Konsolen) Ihrer Authoring-Instanz.
Mit Clientlibs können Sie die Standardimplementierung erweitern, um neue Funktionen zu aktivieren und gleichzeitig die Standardfunktionen, -objekte und -methoden wiederzuverwenden.
Bei der Anpassung können Sie unter /apps.
Ihre eigene Clientbibliothek erstellen. Die neue Clientbibliothek muss:
cq.authoring.editor.sites.page
.cq.authoring.editor.sites.page.hook
Kategorie.Siehe Verwenden Client-seitiger Bibliotheken auf AEM as a Cloud Service.
Überlagerungen basieren auf Knotendefinitionen und ermöglichen es Ihnen, die Standardfunktionen in /libs
mit Ihrer eigenen benutzerdefinierten Funktionalität in /apps
.
Beim Erstellen einer Überlagerung ist keine 1:1-Kopie des Originals erforderlich, da die Sling Resource Merger ermöglicht die Vererbung.
Weitere Informationen finden Sie unter JS-Dokumentationssatz.
Weitere Informationen zu Überlagerungen finden Sie unter Überlagerungen für Adobe Experience Manager as a Cloud Service.
Beim Bearbeiten einer Seite gibt es verschiedene Modi verfügbar. Diese Modi werden mithilfe von Ebenen. Diese ermöglichen den Zugriff auf verschiedene Funktionstypen für denselben Seiteninhalt. Zu den standardmäßigen AEM gehören Bearbeiten, Layout, Entwickler, Timewarp, Live Copy-Status und Targeting.
Eine standardmäßige AEM-Instanz stellt die MSM-Ebene bereit. Auf Daten im Zusammenhang mit Multisite-Management und hebt sie in der Ebene hervor.
Um es in Aktion zu sehen, können Sie jede Sprachkopie im WKND-Beispielinhalt und wählen Sie die Live Copy-Status -Modus.
Sie finden die MSM-Ebenendefinition (als Referenz) in:
/libs/wcm/msm/content/touch-ui/authoring/editor/js/msm.Layer.js
Dies ist ein Beispielpaket, das zeigt, wie eine Ebene (Modus) für die MSM-Ansicht erstellt wird.
Den Code dieser Seite finden Sie unter GitHub.
Der Asset-Browser zeigt Assets verschiedener Typen/Kategorien an (z. B. Bilder und Dokumente). Die Assets können auch anhand dieser Asset-Kategorien gefiltert werden.
aem-authoring-extension-assetfinder-flickr
ist ein Beispielpaket, das zeigt, wie eine Gruppe zur Asset-Suche hinzugefügt wird. Dieses Beispiel verbindet mit Flickrist der öffentliche Stream und zeigt sie im Seitenbereich an.
Den Code dieser Seite finden Sie unter GitHub.
Beim Erstellen von Seiten muss der Benutzer häufig aus den Ressourcen in einer Liste auswählen.
Um die Liste in einer angemessenen Größe und auch für den Anwendungsfall relevant zu halten, kann ein Filter in Form eines benutzerdefinierten Prädikats implementiert werden. Wenn z. B. der Benutzer durch die pathbrowser
-Granite-Komponente den Pfad zu einer bestimmten Ressource auswählen kann, können die gezeigten Pfade auf folgende Art gefiltert werden:
com.day.cq.commons.predicate.AbstractNodePredicate
implementieren.pathbrowser
verwenden.Weitere Details zum Erstellen einer benutzerdefinierten Eigenschaft finden Sie in diesem Artikel.
Jede Komponente verfügt in der Regel über eine Symbolleiste, die Zugriff auf eine Reihe von Aktionen bietet, die für diese Komponente durchgeführt werden können.
aem-authoring-extension-toolbar-screenshot
ist ein Beispielpaket, das die Erstellung einer benutzerdefinierten Symbolleistenaktion zum Rendern von Komponenten demonstriert.
Den Code dieser Seite finden Sie unter GitHub.
Bei der Standardinstallation von AEM:
/libs/cq/gui/components/authoring/editors/clientlibs/core/js/editors/editorExample.js
enthält Definitionen der verschiedenen verfügbaren Editoren.
Es besteht eine Verbindung zwischen dem Editor und jedem Ressourcentyp (wie in der Komponente), der ihn verwenden kann:
cq:inplaceEditing
Beispiel:
/libs/foundation/components/text/cq:editConfig
/libs/foundation/components/image/cq:editConfig
property: editorType
Definiert den Typ des Inline-Editors, der verwendet wird, wenn die Bearbeitung im Kontext für diese Komponente ausgelöst wird. Beispiel: text
, textimage
, image
, title
.
Zusätzliche Konfigurationsdetails des Editors können mit einer config
Knoten, der Konfigurationen enthält, und ein plugin
-Knoten, der die erforderlichen Details zur Plug-in-Konfiguration enthält.
Das folgende Beispiel zeigt die Definition von Seitenverhältnissen für das Bildbeschneidungs-Plug-in der image-Komponente.
<cq:inplaceEditing
jcr:primaryType="cq:InplaceEditingConfig"
active="{Boolean}true"
editorType="image">
<config jcr:primaryType="nt:unstructured">
<plugins jcr:primaryType="nt:unstructured">
<crop jcr:primaryType="nt:unstructured">
<aspectRatios jcr:primaryType="nt:unstructured">
<_x0031_6-10
jcr:primaryType="nt:unstructured"
name="16 : 10"
ratio="0.625"/>
</aspectRatios>
</crop>
</plugins>
</config>
</cq:inplaceEditing>
AEM Anbauverhältnisse, wie durch die ratio
-Eigenschaft, definiert als height/width. Dies unterscheidet sich von der herkömmlichen Definition als Breite/Höhe und erfolgt aus Gründen der Legacy-Kompatibilität. Die Benutzer, die die Seite erstellen, bemerken keinen Unterschied, vorausgesetzt, dass Sie die Eigenschaft name
klar definieren, da diese auf der Benutzeroberfläche angezeigt wird.
So erstellen Sie einen neuen Editor für Bearbeitung im Kontext (innerhalb Ihrer clientlib):
Implementierung:
setUp
tearDown
Registrieren Sie den Editor (einschließlich des Konstruktors):
editor.register
Stellen Sie die Verbindung zwischen dem Editor und jedem Ressourcentyp (wie in der Komponente) bereit, der ihn verwenden kann.
aem-authoring-extension-inplace-editor
ist ein Beispielpaket, das zeigt, wie ein Editor für die Bearbeitung im Kontext in AEM erstellt wird.
Den Code dieser Seite finden Sie unter GitHub.
So fügen Sie der Seitensymbolleiste eine neue Seitenaktion hinzu, z. B. eine Zurück zu Sites Aktion (Konsole).
aem-authoring-extension-header-backtosites
ist ein Beispielpaket, das die Erstellung einer benutzerdefinierten Kopfzeilenleistenaktion demonstriert, mit der der Benutzer zurück zur Sites-Konsole springt.
Den Code dieser Seite finden Sie unter GitHub.
Der vorkonfigurierte Workflow, Aktivierungsanfrage:
Wird automatisch im entsprechenden Menü angezeigt, wenn ein Inhaltsautor nicht über die entsprechenden Replikationsrechte verfügt, jedoch eine Mitgliedschaft von DAM-Benutzern und Autoren hat.
Andernfalls wird nichts angezeigt, da die Replikationsrechte entfernt wurden.
Um bei dieser Aktivierung ein benutzerdefiniertes Verhalten zu erzielen, können Sie die Aktivierungsanfrage workflow:
Überlagern Sie in /apps
den Sites-Assistenten /libs/wcm/core/content/common/managepublicationwizard
/libs/cq/gui/content/common/managepublicationwizard
.Aktualisieren Sie das Workflow-Modell und je nach Bedarf relevante Konfigurationen/Skripte.
Entfernen Sie die Berechtigung zum replicate
Aktion aller entsprechenden Benutzer für alle relevanten Seiten. Damit dieser Workflow als Standardaktion ausgelöst wird, wenn ein Benutzer eine Seite veröffentlicht (oder repliziert).