Überblick
Bei der Migration von der alten Benutzeroberfläche zur neuen AEM Guides-Benutzeroberfläche müssen Aktualisierungen an ui_config in flexiblere und modulare Benutzeroberflächenkonfigurationen konvertiert werden. Mit diesem Framework können Änderungen nahtlos in die editor_toolbar und andere Symbolleisten“werden. Der Prozess unterstützt auch das Ändern anderer Ansichten und Widgets in der Anwendung.
Bearbeiten von JSON für verschiedene Bildschirme
JSON-Dateien können zum Abschnitt Konfiguration der XML-Editor-Benutzeroberfläche für verschiedene Bildschirme und Widgets hinzugefügt werden. Nachfolgend finden Sie eine Liste häufig verwendeter Widgets und deren IDs:
-
editor_toolbar: WebEditor-Symbolleiste mit Datei- und Inhaltsaktionen.
-
editor_tab_bar: Die Ansicht mit Registerkarten für geöffnete Dateien im Web-Editor verfügt über Aktionen, die Sie für geöffnete Dateien ausführen können.
-
file_mode_switcher: Hiermit können Sie für geöffnete Dateien im Web-Editor zwischen verschiedenen verfügbaren Modi (Autor, Quelle, Vorschau) wechseln.
-
map_console_navigation_bar: Dies ist die Informationsleiste für die in der Kartenkonsole geöffnete Karte. Es ermöglicht das Ändern der Zuordnung und bietet Zugriff auf Einstellungen.
-
map_console_action_bar: Dies ist die Aktionsleiste für Zuordnungskonsolenelemente wie Ausgabevorgabe, Baseline, Übersetzung und Berichte, die zusammen mit den jeweiligen Aktionsschaltflächen relevante Informationen bereitstellt.
-
home_navigation_bar: Kopfzeilenleiste der Startseite „Guides“, auf der die Begrüßungsnachricht zusammen mit dem ausgewählten Ordnerprofil angezeigt wird.
Allgemeine Struktur der einzelnen JSON-Dateien
Jedes JSON folgt einer konsistenten Struktur:
-
id
: Gibt das Widget an, an das die Komponente angepasst wird. -
targetEditor
: Definiert, wann eine Schaltfläche mithilfe der Editor- und Modus-Eigenschaften angezeigt oder ausgeblendet werden soll:Die folgenden Optionen werden unter
targetEditor
unterstützt:mode
displayMode
editor
documentType
documentSubType
flag
Weitere Informationen finden Sie unter Grundlegendes zu targetEditor-Eigenschaften
note note NOTE Die Version 2506 von Experience Manager Guides führt neue Eigenschaften ein: displayMode
,documentType
,documentSubType
undflag
. Diese Eigenschaften werden erst ab Version 2506 unterstützt. Ebenso gilt die Änderung vontoc
inlayout
in der Mode-Eigenschaft ab dieser Version.Das neue Feld documentType
ist jetzt neben dem vorhandenen Feldeditor
verfügbar. Beide Felder werden unterstützt und können bei Bedarf verwendet werden. Es wird jedoch empfohlen,documentType
zu verwenden, um eine konsistente Verwendung über Implementierungen hinweg sicherzustellen, insbesondere bei der Arbeit mit derdocumentSubType
-Eigenschaft. Das Feldeditor
bleibt gültig, um die Abwärtskompatibilität und vorhandene Integrationen zu unterstützen. -
target
: Gibt an, wo die neue Komponente hinzugefügt wird. Hierbei werden Schlüssel-Wert-Paare oder Indizes zur eindeutigen Identifizierung verwendet. Zu den Ansichtsstatus gehören:-
append: Am Ende hinzufügen.
-
preend: Am Anfang hinzufügen.
-
replace: Ersetzt eine vorhandene Komponente.
-
Beispiel für JSON-Struktur:
{
"id" : "editor_toolbar",
"view": {
"items": [
{
...,
"targetEditor": {
"mode": [
"preview"
],
"editor": [
"xml"
]
},
"target": {
"key": "label",
"value": "Table",
"viewState": "prepend"
},
...
},
]
}
}
Grundlegendes zu targetEditor
Nachstehend finden Sie eine Aufschlüsselung der einzelnen Eigenschaften, ihres Zwecks und der unterstützten Werte.
mode
Definiert den Betriebsmodus des Editors.
Unterstützte Werte: author
, source
, preview
, layout
(zuvor toc
), split
displayMode
(optional)
Steuert die Sichtbarkeit oder Interaktivität von Komponenten der Benutzeroberfläche. Der Standardwert ist auf show
festgelegt, wenn er nicht angegeben ist.
Unterstützte Werte: show
, hide
, enabled
, disabled
Zum Beispiel:
{
"icon": "textBulleted",
"title": "Custom Insert Bulleted",
"on-click": "$$AUTHOR_INSERT_REMOVE_BULLETED_LIST",
"key": "$$AUTHOR_INSERT_REMOVE_BULLETED_LIST",
"targetEditor": {
"documentType": [
"ditamap"
],
"mode": [
"author"
],
"displayMode": "hide"
}
},
editor
Gibt den primären Dokumenttyp im Editor an.
Unterstützte Werte: ditamap
, bookmap
, subjectScheme
, xml
, css
, translation
, preset
, pdf_preset
documentType
Gibt den primären Dokumenttyp an.
Unterstützte Werte: dita
, ditamap
, bookmap
, subjectScheme
, css
, preset
, ditaval
, reports
, baseline
, translation
, html
, markdown
, conditionPresets
Zusätzliche Werte können für bestimmte Anwendungsfälle unterstützt werden.
Zum Beispiel:
{
"icon": "textNumbered",
"title": "Custom Numbered List",
"on-click": "$$AUTHOR_INSERT_REMOVE_NUMBERED_LIST",
"key": "$$AUTHOR_INSERT_REMOVE_NUMBERED_LIST",
"targetEditor": {
"documentType": [
"dita",
"ditamap"
],
"mode": [
"author",
"source"
]
}
},
documentSubType
Klassifiziert das Dokument weiter nach documentType
.
preset
:pdf
,html5
,aemsite
,nativePDF
,json
,custom
,kb
dita
:topic
,reference
,concept
,glossary
,task
,troubleshooting
Zusätzliche Werte können für bestimmte Anwendungsfälle unterstützt werden.
Zum Beispiel:
{
"icon": "rename",
"title": "Custom Rename",
"on-click": "$$PUBLISH_PRESETS_RENAME",
"label": "Custom Rename",
"key": "$$PUBLISH_PRESETS_RENAME",
"targetEditor": {
"documentType": [
"preset"
],
"documentSubType": [
"nativePDF",
"aemsite",
"json"
]
}
},
flag
Boolesche Indikatoren für den Dokumentstatus oder die Funktionen.
Unterstützte Werte: isOutputGenerated
, isTemporaryFileDownloadable
, isPDFDownloadable
, isLocked
, isUnlocked
, isDocumentOpen
Darüber hinaus können Sie auch ein benutzerdefiniertes Flag in extensionMap
erstellen, das in targetEditor
als Flag verwendet wird. extensionMap
ist hier eine globale Variable, mit der benutzerdefinierte Schlüssel oder beobachtbare Werte hinzugefügt werden.
Zum Beispiel:
{
"icon": "filePDF",
"title": "Custom Export pdf",
"on-click": "$$DOWNLOAD_TOPIC_PDF",
"key": "$$DOWNLOAD_TOPIC_PDF",
"targetEditor": {
"documentType": [
"markdown"
],
"mode": [
"preview"
],
"flag": ["isPDFDownloadable"]
}
},
Beispiele
Im Folgenden finden Sie ein Beispiel dafür, wie Sie eine Schaltfläche in der Editor-Symbolleiste hinzufügen, löschen oder ersetzen.
Schaltfläche hinzufügen
Hinzufügen einer neuen Schaltfläche Benutzerdefinierte Tabelle einfügen in editor_toolbar zum Hinzufügen einer einfachen Tabelle, die nur im Vorschaumodus sichtbar ist.
{
"id": "editor_toolbar",
"view": {
"items": [
{
"icon": "table",
"title": "Insert Custom Table",
"on-click": {
"name": "$$AUTHOR_INSERT_ELEMENT",
"args": [
"simpletable",
"table",
"choicetable"
]
},
"key": "$$AUTHOR_INSERT_ELEMENT",
"targetEditor": {
"mode": [
"preview"
],
},
"target": {
"key": "label",
"value": "Table",
"viewState": "prepend"
}
}
]
}
}
Löschen einer Schaltfläche
Löschen einer Schaltfläche aus der Symbolleiste. Hier entfernen wir die Schaltfläche Bild hinzufügen aus der Editor-Symbolleiste.
{
"id": "editor_toolbar",
"view": {
"items": [
{
"hide": true,
"target": {
"key": "label",
"value": "Image",
"viewState": "replace"
}
}
]
}
}
Ersetzen einer Schaltfläche
Ersetzen der Schaltfläche Multimedia in der Symbolleiste durch die Schaltfläche YouTube zum Einfügen von Links, die nur im Autorenmodus sichtbar ist.
{
"id": "editor_toolbar",
"view": {
"items": [
{
"icon": "s2youtube",
"title": "Youtube",
"on-click": {
"name": "$$AUTHOR_INSERT_ELEMENT",
"args": "<object data='http://youtube.com'></object>"
},
"targetEditor": {
"mode": [
"author"
]
},
"target": {
"key": "elementId",
"value": "toolbar-multimedia",
"viewState": "replace"
}
}
]
}
}
Hinzufügen einer Schaltfläche im Vorschaumodus
Entsprechend dem Design wird die Sichtbarkeit der Schaltfläche für gesperrte und entsperrte (schreibgeschützte) Modi separat verwaltet, um ein klares und kontrolliertes Benutzererlebnis zu gewährleisten. Standardmäßig werden neu hinzugefügte Schaltflächen ausgeblendet, wenn sich die Benutzeroberfläche im schreibgeschützten Modus befindet.
Um eine Schaltfläche im schreibgeschützten) Modus anzuzeigen müssen Sie ein Ziel angeben, das sie in einem Symbolleistenunterabschnitt platziert, auf den auch dann zugegriffen werden kann, wenn die Benutzeroberfläche gesperrt ist.
Wenn Sie beispielsweise das Ziel als Als PDF herunterladen angeben, können Sie sicherstellen, dass die Schaltfläche im selben Abschnitt wie eine vorhandene sichtbare Schaltfläche angezeigt wird, um sie im entsperrten Modus verfügbar zu machen.
"target": {
"key": "label",
"value": "Download as PDF",
"viewState": "prepend"
}
Hinzufügen einer Schaltfläche Als PDF exportieren im Vorschau-Modus, die sowohl im Sperrmodus als auch im Entsperrmodus angezeigt wird.
{
"id": "editor_toolbar",
"view": {
"items": [
{
"icon": "filePDF",
"title": "Export as PDF",
"on-click": "$$DOWNLOAD_TOPIC_PDF",
"key": "$$DOWNLOAD_TOPIC_PDF",
"targetEditor": {
"editor": [
"ditamap",
"xml"
],
"mode": [
"preview"
]
},
"target": {
"key": "label",
"value": "Download as PDF",
"viewState": "prepend"
}
},
{
"icon": "filePDF",
"title": "Export as PDF",
"on-click": "$$DOWNLOAD_TOPIC_PDF",
"key": "$$DOWNLOAD_TOPIC_PDF",
"targetEditor": {
"editor": [
"ditamap",
"xml"
],
"mode": [
"preview"
]
}
}
]
}
}
Das folgende Snippet zeigt die Schaltfläche Als PDF exportieren mit dem Sperrszenario.
Die Schaltfläche Als PDF exportieren mit dem Entsperrszenario wird auch im folgenden Ausschnitt angezeigt.
Passen Sie die Optionen an, die im Dropdown-Menü der Editor-Symbolleiste angezeigt werden.
Sie können benutzerdefinierte Optionen im Dropdown-Menü „Menü“ mithilfe der folgenden Beispiele anhängen, ausblenden, ersetzen und hinzufügen.
anfügend
Anhängen einer Option im Dropdown-Menü. Hier hängen wir Benutzerdefinierte Menüschaltfläche in den Menüoptionen an
{
"icon": "specialCharacter",
"title": "Custom menu button",
"on-click": "$$AUTHOR_INSERT_SYMBOL",
"targetEditor": {
"editor": [
"ditamap"
],
"mode": [
"author"
]
},
"target": {
"key": "label",
"value": "Version label",
"viewState": "append"
}
}
Ersetzen
Ersetzen einer in der Dropdown-Liste „Menü“ angezeigten Option. Hier ersetzen wir Prüfungsaufgabe erstellen durch Benutzerdefinierte Menüschaltfläche 3.
{
"icon": "specialCharacter",
"title": "Custom menu button 3",
"on-click": "$$AUTHOR_INSERT_SYMBOL",
"target": {
"key": "label",
"value": "Create review task",
"viewState": "replace"
}
}
Verstecken
Ausblenden einer Option, die in der Dropdown-Liste Menü angezeigt wird. Hier wird die Option Suchen und Ersetzen aus dem Menü ausgeblendet.
{
"hide": true,
"target": {
"key": "label",
"value": "Find and replace",
"viewState": "replace"
}
}
Hinzufügen benutzerdefinierter Optionen im Untermenü
Hinzufügen einer Option im Untermenü innerhalb des Dropdown-Menüs.
{
"icon": "viewAllTags",
"title": "Toggle Tags View Goziamasu",
"key": "AUTHOR_TOGGLE_TAG_VIEW",
"target": {
"key": "label",
"value": "Track changes",
"viewState": "replace"
},
"targetEditor": {
"documentType": [
"dita"
],
"mode": [
"author"
]
}
}
Hochladen von benutzerdefinierten JSONs
-
Klicken Sie in Konfiguration des XML Editors in der auf Bearbeiten“.
-
Im Unterabschnitt Konfiguration der Benutzeroberfläche des XML Editors wird nun eine Schaltfläche Hochladen angezeigt.
-
Sie können auf die geänderte JSON-Datei klicken und sie hochladen. (Die JSON, die hochgeladen werden soll, sollte denselben Namen haben wie die ID des anzupassenden Widgets.)
-
Klicken Sie nach dem Hochladen Speichern in der Symbolleiste.
Für jede hochgeladene Datei können Sie auch Löschen die JSON-Datei verwenden, um ihre Anpassung aus der Benutzeroberfläche zu entfernen, oder Herunterladen, um sie erneut anzuzeigen oder zu ändern.
Hochladen von benutzerdefiniertem CSS
Sie können auch CSS hinzufügen, um das Erscheinungsbild benutzerdefinierter hinzugefügter Schaltflächen oder bereits vorhandener Widgets oder Schaltflächen auf der Benutzeroberfläche anzupassen.
Fügen Sie für eine neu hinzugefügte benutzerdefinierte Schaltfläche eine ExtraClass zu einer benutzerdefinierten Schaltfläche oder Komponente innerhalb der JSON hinzu.
Bei einer alten Klasse können Sie auch ein -Element untersuchen und die vorhandenen Klassen ändern.
{
"icon": "table",
"title": "Insert Custom Table",
"extraclass": "custom-css",
"key": "$$AUTHOR_INSERT_ELEMENT",
"targetEditor": {
"mode": [
"preview"
],
},
"target": {
"key": "label",
"value": "Table",
"viewState": "prepend"
}
}
-
Klicken Sie in Konfiguration des XML Editors in der auf Bearbeiten“.
-
Im Unterabschnitt XML-Editor Seitenlayout wird nun eine Schaltfläche Hochladen angezeigt.
-
Sie können auf das geänderte CSS klicken und es hochladen. (Nur CSS-Dateien werden unterstützt)
-
Klicken Sie nach dem Hochladen Speichern in der Symbolleiste.
Für jede hochgeladene Datei können Sie auch Löschen die CSS-Datei verwenden, um ihre Anpassung aus der Benutzeroberfläche zu entfernen, oder Herunterladen, um sie erneut anzuzeigen oder zu ändern.
Beispiel zum Anpassen von Schaltflächen-CSS
Hier fügen wir eine neue Schaltfläche Benutzerdefinierte Tabelle einfügen in editor_toolbar hinzu, um eine einfache Tabelle hinzuzufügen, die nur im Vorschaumodus sichtbar ist, und ein benutzerdefiniertes CSS darauf anzuwenden.
Dieses CSS ändert den Hintergrund der Schaltfläche und die Schriftgröße ihres Titels.
#editor_toolbar {
.custom-css {
background-color: burlywood;
font-size: 2rem;
}
}
{
"id": "editor_toolbar",
"view": {
"items": [
{
"icon": "table",
"title": "Insert Custom Table",
"extraclass": "custom-css",
...
}
]
}
}
Schritte zum Konvertieren der Benutzeroberflächenkonfiguration in modulare JSON-Dateien
-
Klicken Sie im Bildschirm Navigation auf das Symbol Tools.
-
Wählen Guides im linken Bereich aus.
-
Klicken Sie auf die Ordnerprofile.
-
Ordnerprofil auswählen.
-
Klicken Sie auf die Registerkarte XML Editor-Konfiguration“.
-
Sie können auf die Schaltfläche UI-Konfiguration in JSON. Dadurch wird das JSON editor_toolbar und map_console_action_bar generiert, das die in ui_config vorgenommenen Änderungen enthält.
-
Sie können die beispielhaft generierten JSONs für die Editor-Symbolleiste und Aktionsleiste der Zuordnungskonsole