Zielgruppe BetriebVersion: GSB10.1Aufbau Mandanten Konfiguration
Die Konfiguration des GSB Editor erfolgt direkt im Content eines GSB-Mandanten.
Die Ablage- und Verzeichnisstruktur der Konfiguration ist wie folgt.
Abbildung 1: Aufbau Mandantenkonfiguration
Das Verzeichnis \__EditorConfig ist das Basisverzeichnis für die Konfiguration des GSB Editor. Die Verzeichnisstruktur unterhalb dieses Ordners stellt sich wie folgt dar:
- _config beinhaltet Konfigurationen für die Einbindung von statischen Dokumenten in den GSB Editor. Die enthaltenen Dokumente müssen für die Erstellung einer mandantenspezifischen Editor-Konfiguration nicht angepasst werden.
- AdvancedPreview enthält die Konfiguraiton der Ansichten, Devices bzw. Display-Größen für die erweiterte Dokumentvorschau.
- Benchmark enthält die Konfiguration synthetischer Editor Operationen. Diese können genutzt werden um Tests zur Ermittlung der Laufzeiten (Client-/Serverkommunikation) einzelner Editor-Operationen zu ermitteln.
- BITV-Konfiguration der BITV-Unterstützung im GSB Editor. Um Datenredundanz bei der Konfiguration zu vermeiden, wird hier mittels Konfiguration(-Klassifizierten)-Linklisten auf die Konfiguration des RichtextEnhancers verwiesen.
- Credits enthält das Credits-Dokument, das im linken Bereich des GSB Editor angezeigt wird.
- Json enthält die Konfiguration der Expertensuche des GSB Editor
- Mandantenspezifische Labels werden in diesem Ordern abgelegt.
- Modules enthält die Konfiguration der einzelnen Editor-Panel. Hier wird auch festgelegt mit welchen Rollen welche Panel zur Verfügung stehen.
- PropertyEditor enthält die Konfigurationen für die Richtextbearbeitung. Im Wesentlichen werden hier TinyMCE-Konfigurationen sowie die Konfiguration des Code-Editors (ACE Editor) abgelegt
- Roles beinhaltet die Dokumenttypkonfiguration der einzelnen Editor-Rollen
- Workflows enthält die Redaktionsdefinitionen des GSB-Mandanten
Fachliche Dokumentansichten
Über fachliche Dokumentansichten kann die Darstellung von Dokumenten beispielsweise in Linklisten mandantenspezifisch angepasst werden. Wird beispielsweise in einem Interview eine Person verlinkt, können fachliche Informationen für Redakteure hilfreicher sein als die technischen Informationen. Für die Aktivierung muss zum Einen in der Preview-Konfiguration (__EditorConfig/Json/Categories/Preview/PreviewConfiguration) eine Liste von aktivierten fachlichen Ansichten vorhanden sein und zum Anderen muss die fachlichte Ansicht in der Dokumenttyp-Konfiguration für die jeweilige Property aktiviert werden.
Exemplarische Konfiguration von fachlichen Ansichten
{
"@type": "PreviewConfiguration", (1)
"functionalViews": [ (2)
"Employee",
"ContactData",
"IMGObject",
"Publication"
]
}
1 | Der Typ der Preview-Konfiguration (immer PreviewConfiguration) |
2 | Die Liste der Dokumenttypen, für die fachliche Ansichten verfügbar sind |
Exemplarische Konfiguration von fachlichen Ansichten für die Linkliste der Property cl2Reporter
<Property name='cl2Reporter'
type='ClassifiedLinkList'
class='ClassifiedLinkListEditor'
visible='true'>
<ClassifierTextEditor visible='true'/>
<LinkListEditor class='PathAwareLinkListEditor'
path='$Personen-path'
functionalView='true'
visible='true'/>
<ClassifierLinkEditor visible='false'/>
</Property>
Explorer
Der Explorer wurde um eine Kachel-Ansicht, eine Preview-Integration und eine konfigurierbare Dropzone erweitert.
Kachelansicht
Neben der normalen Detail-Ansicht gibt es eine Kachel-Ansicht im Explorer. Über die SelectBox im oberen Bereich kann die Ansicht gewechselt werden. Die Kacheln werden von der Site erstellt und vom Editor angefragt. Die Standardlösung besitzt Kachel-Ansichten für AbsDocument, DocumentEnt und IMGObject. Die Kachelansicht wird als JSP mit dem Namen renderEditor[Tile] im Ordner des entsprechenden Dokumenttyps abgelegt.
Preview-Integration
Durch die Preview-Integration ist es möglich die Preview seitlich neben dem Explorer einzublenden. Außerdem kann diese Preview auch in ein separates Fenster verschoben werden. Die Integration ist automatisch aktiviert, sobald das Preview-Fenster konfigurativ aktiviert ist. Zur Aktivierung des Preview-Fensters muss das Dokument __EditorConfig/Json/Categories/Extensions/Configuration angelegt/angepasst werden.
Exemplarische Konfiguration zur Aktivierung des Preview-Fensters
{
"@type": "ExtensionsConfiguration", (1)
"activeExtensions": [ (2)
"PreviewWindow"
]
}
1 | Der Typ (immer ExtensionsConfiguration) |
2 | Die Liste der aktivierten Erweiterungen |
Dropzone
Im unteren Bereich des Editors kann eine Dropzone aktiviert werden. Für verschiedene Bereiche können unterschiedliche Dropzones konfiguriert werden. Neben einem erlaubten MimeType kann eingestellt werden, ob die Dropzone für alle Unterordner gelten soll. Weiterhin ist es möglich den Dokumenttyp, der erzeugt werden soll, und die Property, in die der Upload erfolgen soll, anzugeben.
Die Konfiguration erfolgt im Dokument __EditorConfig/Json/Categories/Panel/Explorer.
Exemplarische Konfiguration einer Dropzone im Explorer
{
"@type": "ExplorerConfiguration", (1)
"dropZones": [ (2)
{
"@type": "DropZone", (3)
"path": "/standardlsg/SharedDocs/Bilder", (4)
"allowedMimeTypes": "image/*", (5)
"includeSubFolders": true, (6)
"documentType": "IMGObject", (7)
"property": "normal" (8)
},
{ (9)
"@type": "DropZone",
"path": "/standardlsg/SharedDocs/Downloads",
"includeSubFolders": true,
"documentType": "Publication",
"property": "publicationFile"
}
]
}
1 | Der Typ (immer ExplorerConfiguration) |
2 | Die Liste der Dropzones |
3 | Der Typ der Dropzone (immer DropZone) |
4 | Der Pfad in dem die Dropzone gelten soll |
5 | Der MimeType für den die Dropzone aktiv ist |
6 | Ob die Dropzone für alle Unterordner aktiv ist |
7 | Der Dokumenttyp, der erzeugt wird |
8 | Die Property, in die der Upload erfolgt |
Preview Subsite-Switch
Die Preview wurde so erweitert, dass sie mehr als eine Site unterstützt. Dazu müssen die Sites entsprechend konfiguriert werden. Anschließend kann über eine SelectBox in der Preview die Site gewechselt werden.
Exemplarische Konfiguration von fachlichen Ansichten
{
"@type": "PreviewConfiguration", (1)
"mainSite": { (2)
"@type": "Site", (3)
"name": "Hauptauftritt", (4)
"url": "editor-standardlsg-dev-gsbos.materna.de" (5)
},
"subSites": [{ (6)
"@type": "Site",
"name": "Subsite",
"url": "preview-subsite-standardlsg-dev-gsbos.materna.de"
}]
}
1 | Der Typ der Preview-Konfiguration (immer PreviewConfiguration) |
2 | Die konfiguration der MainSite |
3 | Der Typ (immer Site) |
4 | Der Anzeigename in der SelectBox |
5 | Die zugehörige URL. Die Angabe eines Protokolls entfällt, da gemischte Inhalte browserseitig nicht unterstützt werden. |
6 | Die Liste der SubSites. Die Konfiguration erfolgt analog zur MainSite. |
Dokumenteditor
Der Dokumenteditor wurde um ein Control mit RadioButtons und die mehrspaltige Darstellung von Properties erweitert.
RadioButton Control
Das RadioButton Control ermöglicht die Darstellung einer Int-Property als Radiobuttons. Das Control wird durch Definition der RadioButtonEditor Klasse (class) aktiviert.
Der folgende Auszug der Editor Konfiguration der Standardlösung zeigt dies exemplarisch am Beispiel des Dokumenttyps Basepage und der Property tableOfContents.
Exemplarische Konfiguration des RadioButton Controls
<Property name='tableOfContents'
type='Int'
class='RadioButtonEditor'
vertical='true'
visible='true'>
<LabeledItem itemValue='0' itemLabel='BASEPAGE_TABLE_OF_CONTENTS_NO_INDEX'/>
<LabeledItem itemValue='1' itemLabel='BASEPAGE_TABLE_OF_CONTENTS_H1'/>
<LabeledItem itemValue='2' itemLabel='BASEPAGE_TABLE_OF_CONTENTS_H1_H2'/>
<LabeledItem itemValue='3' itemLabel='BASEPAGE_TABLE_OF_CONTENTS_H1_H3'/>
<LabeledItem itemValue='4' itemLabel='BASEPAGE_TABLE_OF_CONTENTS_H1_H4'/>
<LabeledItem itemValue='5' itemLabel='BASEPAGE_TABLE_OF_CONTENTS_H1_H5'/>
</Property>
Mehrspaltige Darstellung von Properties
Im Dokumenteditor werden die einzelnen Dokumentproperties in der Reihenfolge ihrer Definition untereinander ausgegeben. Um mehrere Properties in einer Zeile (und damit mehrspaltig) auszugeben muss die Editor Konfiguration eines Dokumenttyps wie folgt angepasst werden:
Exemplarische mehrspaltige Konfiguration von Dokument-Properties
<Row>
<Property name='dateOfIssue' type='DateTime' col='12' visible='true'>
<Initializer class='DateInitializer' offset=''/>
</Property>
<Property name='moveToArchive' type='DateTime' col='12' visible='true'/>
</Row>
Üblicherweise steht in einer Row jeweils genau eine Property-Definition. Durch Zusammenfassung mehrerer Properties in einer Row werden die Properties dann mehrspaltig in einer Zeile im Dokumenteditor ausgegeben.