GSB 7.0 Standardlösung

Aufbau Mandanten Konfiguration

Die Konfiguration des GSB Editor erfolgt direkt im Content eines GSB-Mandanten.

Die Ablage- und Verzeichnisstruktur der Konfiguration ist wie folgt.

Aufbau Mandantenkonfiguration 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"

  ]

}

1Der Typ der Preview-Konfiguration (immer PreviewConfiguration)
2Die 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"

  ]

}

1Der Typ (immer ExtensionsConfiguration)
2Die 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"

    }

  ]

}

1Der Typ (immer ExplorerConfiguration)
2Die Liste der Dropzones
3Der Typ der Dropzone (immer DropZone)
4Der Pfad in dem die Dropzone gelten soll
5Der MimeType für den die Dropzone aktiv ist
6Ob die Dropzone für alle Unterordner aktiv ist
7Der Dokumenttyp, der erzeugt wird
8Die 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"

  }]

}

1Der Typ der Preview-Konfiguration (immer PreviewConfiguration)
2Die konfiguration der MainSite
3Der Typ (immer Site)
4Der Anzeigename in der SelectBox
5Die zugehörige URL. Die Angabe eines Protokolls entfällt, da gemischte Inhalte browserseitig nicht unterstützt werden.
6Die 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.