POWERUSER
Makros und Tags werden entweder über Menüs/Tastenkombinationen/Buttons in der Werkzeugleiste aufgerufen oder über eine strukturierte Liste für Textformatierung.
Funktionalitäten
Makros und Tags aufrufen über
Menüs/Tastenkombinationen/Buttons in der Werkzeugleiste oder
eine strukturierte Liste für Textformatierung (Dockfenster)
Inhaltsverzeichnis
Vorteile der Textformatierungsliste
Wenn der oder die Benutzer:in einen Befehl aufruft, der im Text an einer bestimmten Position stehen soll, so wird, unabhängig davon, wo der Cursor aktuell im Text steht, immer an die korrekte Einfüge-Position gesprungen
Es stehen immer nur die Befehle zur Auswahl, die im aktuellen Kontext erlaubt sind
Das Löschen von Befehlen ist einfacher
Das Verschieben von Befehlen ist einfacher
Pflichtbefehle werden extra gekennzeichnet
Das Dockfenster gibt es auch in der Platz sparenden Mini-Popup-Variante
Einfache Navigation
Das Erfassen komplexerer Strukturen ist einfach (z. B. nummerierte Liste)
Beispielvideos zu Textformatierung
Anwendung von Textformaten
Im folgenden Video-Tutorial wird gezeigt, wie Textformate in PRINT NGEN verwendet werden können.
https://www.youtube.com/watch?v=1rSzc4djlow
Textformate, fett und kursiv in PRINT NGEN Redaktion
https://www.loom.com/share/f8440b99f8e243de9de617603839e053Manuelle Silbentrennung PRINT NGEN Redaktion
https://www.loom.com/share/dd716e268dff4d93a279328b85f760ffBedienung der Textformatierungs-Liste
Aufruf als Dockfenster
Das neue Fenster Textformate kann über einen Button in der Werkzeugleiste oder auch per Kontextmenü
geöffnet werden.
Aussehen des Fensters
Im Textformate-Dockfenster (=Textformatierungsliste) sind im Editiermodus eines Artikels (=mit dem Cursor im Text) die Bereichstags des Artikels zu sehen: Dachzeile, Titel, Vorspann etc.
Bereits im Bereich vorhandene Befehle werden in der Liste gefettet angezeigt, wenn die Anzahl ihrer Aufrufe im Text begrenzt ist und die vorgegebene Maximalanzahl von Aufrufen bereits erreicht ist.
Beliebig oft aufrufbare Befehle haben keine besondere Darstellung in der Liste.
Einfügen von Befehlen an beliebiger Position im Text
Das Einfügen eines Befehls erfolgt durch Doppelklick auf den gewünschten Befehlsnamen in der Liste. Befehle, die an beliebiger Position im Text stehen dürfen, werden dort eingefügt, wo der Cursor aktuell positioniert ist bzw. um die aktuelle Textmarkierung herum. Die Markierung bleibt nach dem Einfügen bestehen.
Einfügen von Befehlen an bestimmter Position im Text
Das Einfügen eines Befehls erfolgt durch Doppelklick auf den gewünschten Befehlsnamen in der Liste.
Bestimmte Befehle, wie der bzw. die Autor:in oder Ortsmarke, sind nur an vorderster Position im Textbereich erlaubt. Der oder die Benutzer:in kann zum Einfügen eines solchen Befehls dennoch an einer beliebigen Stelle im Text stehen. Klickt er oder sie in der Textformatierungsliste auf den positionsgebundenen Befehl, so wird der Cursor automatisch an die korrekte Stelle gesetzt und der Befehl eingefügt.
Pflichtbefehle einfügen
Wird versucht ein Pflichtbefehl, der genau einmal im Text vorkommen darf, ein zweites Mal einzufügen, so springt der Cursor unmittelbar hinter das Anfangstag des bereits eingefügten Pflichtbefehls. Ein erneutes Einfügen ist nicht möglich.
Navigieren durch den Text über das Fenster
Wenn sich der Cursor über einen bereits eingefügten Befehl in der Liste bewegt, so wird dieser zur Hälfte gelb hinterlegt dargestellt. Durch Klick auf die gelbe Fläche springt der Cursor an den Anfang oder das Ende des Befehls im Text.
Löschen von Befehlen über das Fenster
Fährt der Cursor über einen Befehl, der aus dem aktuellen Bereich gelöscht werden darf, so werden zwei Icons neben dem Befehlsnamen eingeblendet.
Über das linke Icon (Minus in rotem Kreis) kann der Befehl ohne dessen Inhalt aus dem Artikel gelöscht werden, über das rechte Icon (rotes Kreuz) können Befehl und Inhalt gelöscht werden.
Ob die Löschoptionen, bzw. welche der beiden Varianten zur Verfügung stehen, kann via Customizing eingestellt werden (XML-Datei „TextFormate_Einstellungen“).
Komplexe Strukturen: Sauberes und schnelles Löschen
Bei komplexen XML-Strukturen, wie z. B. dem Kinoprogramm oder dem Veranstaltungskalender, müssen häufig, um den Text zu kürzen, ganze Strukturen gelöscht werden.
Das einfache und saubere Löschen solcher Textabschnitte erfolgt über die Textformatierungsliste durch einen speziellen Löschen-Button, der nach dem Löschen des Befehls inklusive Inhalt den Cursor gleich in das nächste, gleichnamige Tag platziert, so dass durch erneutes Klicken auf den Button auch dieser Befehl entfernt werden kann. Anschließend wandert der Cursor automatisch in das nächste gleichnamige Tag etc.
Unbekannte Befehle
In der Befehlsliste gibt es auch einen Bereich „Unbekannte Tags“.
Hier werden alle Befehle aufgelistet, die sich in der XML-Struktur auf gleicher oder höherer Ebene mit der aktuellen Cursorposition befinden und gemäß Einstellung in den XML-Files nicht erlaubt sind (siehe Customizing-Kapitel „XML-Files“).
Zu so einer Konstellation kann es kommen, wenn die Befehle abhängig von der Artikelvorlage gemacht werden, z. B. vom Vorlagentyp, und sich dieser Vorlagentyp nach einem Formatwechsel ändert (z. B. von Standard nach Infobox) und somit andere Befehle zur Auswahl stehen als zuvor.
Eintrag in das Konfigurations-Xml „TextFormate_Einstellungen“:
<Option Name="UnbekannteTags" Anzeigen="Ja"/>
Komplexe Befehlsstrukturen
Durch das Textformatierungs-Dockfenster wird auch das Arbeiten mit komplexeren Befehlsstrukturen (wie zum Beispiel Sporttabellen, Veranstaltungen oder auch nummerierte Listen) vereinfacht.
Im folgenden wird das Einfügen einer nummerierten Liste erklärt.
Im XML des Artikels wurde folgende Struktur eingefügt:
<Liste>
<ListeE></ListeE>
</Liste>
Im XML des Artikels wird die Struktur wie folgt erweitert:
<Liste>
<ListeE>Erster Eintrag</ListeE>
<ListeE>Zweiter Eintrag</ListeE>
</Liste>
Liste automatisch aus Markierung erzeugen
Benutzer:innen können mehrere Zeilen, die jeweils mit einem Zeilenumbruch enden, markieren und dann den Listen-Befehl aus dem Dockfenster für die Markierung aufrufen.
Anschließend wird automatisch jede einzelne Zeile zu einem Listen-Eintrag, in diesem Beispiel sogar mit ebenfalls automatisch fortlaufender Nummerierung (ergibt sich aus dem Makroaufbau).
Folgende XML-Struktur wurde dadurch erzeugt:
Die Zeilenumbrüche werden beim Einfügen der ListeE-Tags automatisch entfernt.
Diagnose-Bereich
Für Benutzer:innen mit Rolle „Customizer“ steht im Dockfenster Textformate auch ein Diagnose-Bereich zur Verfügung.
Im Diagnose-Bereich sind folgende Informationen zu finden:
Position beschreibt das Bereichstag, in dem der Cursor gerade steht
PropDef beschreibt die momentan geltende Eigenschaftsdefinition
Tag die momentane Tag-Struktur
ParentTag dasjenige Tag, das die aktuelle Cursorposition umschließt
Offset in Parent wird nach jedem im Text eingefügten Tag hochgezählt. Steht der Curser also im Grundtext, nachdem vor der aktuellen Cursorposition bereits 3 Befehle eingefügt worden sind, wird „3“ als Wert bei Offset in Parent angezeigt.
Die drei Einstellungen darunter, SchemaName, SchemaInfo und GlobalMacro, zeigen die drei aktuell verwendeten XML-Dateien an.
Durch Klick auf diese drei Zeilen kann auch direkt das entsprechende XML-Dokument in der XML-Bibliothek „Dockfenster_Textformate“ geöffnet werden.
Wenn es einen Fehler gibt – zum Beispiel ein Syntax-Problem innerhalb der XML-Dateien – so wird dies am Ende des Diagnosefensters in Rot ausgegeben.
XML-Files
Die für die Darstellung und das Verhalten des Dockfensters Textformate relevanten Dateien werden in der Bibliothek „XML“ gespeichert. Diese Dateien müssen von dem bzw. der Kund:in angepasst werden, denn über die XAML-Files wird gesteuert,
welche Befehle es gibt
welche davon Pflichtfelder sind
ob sie als Tags oder Makros aufgerufen werden
als Befehl mit oder ohne Ende
wie ein Befehl an der Oberfläche heißen soll
an welcher Stelle er im Text eingefügt werden kann
etc.
Die für das Dockfenster Textformate relevanten Befehle werden in der XML-Bibliothek Dockfenster_TextFormate verwaltet.
Vorschau im Inhaltsfenster
Damit beim Bearbeiten der XAML-Files bereits im Inhaltsfenster eine Vorschau des gerade aktivierten Elements gesehen werden kann, muss ein NWas laufen und das PHP-Script xmltemplate.php im Root-Verzeichnis des Apache-Webservers liegen – dort wo auch die NGEN-PHP-Projekte abgelegt sind. Bei Bedarf schickt PEIQ das PHP-File xmltemplate.php zu.
Damit ist immer eine Vorschau des aktivierten XAML-Files zu sehen:
Editieren von XAML-Files
Das Editieren der XAML-Files erfolgt nicht direkt in PRINT NGEN im Inhaltsfenster, sondern in einem Editor, der per Rechtsklick auf das XAML-Element im Kontextmenü aufgerufen werden kann.
Wir empfehlen für das Editieren die Verwendung des Programms Notepad++ (https://notepad-plus-plus.org/ )
Achtung bei der Codierung
Beim Öffnen eines XAML-Files in einem externen Editor kann es dazu kommen, dass beim Öffnen des XAML-Files eine falsche Kodierung verwendet wird und manche Zeichen falsch dargestellt werden. Dies ist der Fall, wenn in dem XAML-File beim Abspeichern kein BOM (Byte Order Mark) gesetzt wurde. Ob dieser vorhanden ist, ist bereits in der Eigenschaftsliste von PRINT NGEN in der Eigenschaft „XML“ zu sehen. Beginnt deren Wert mit der Zeichenfolge „“, ist ein BOM gesetzt und der externe Editor (z. B. Notepad++) kann eindeutig entscheiden, mit welcher Codierung die Datei erstellt wurde.
Mit Notepad++ kann der BOM auch nachträglich hinzugefügt würden. Dazu wird das XAML-File in Notepad++ geöffnet und „Kodierung -> Konvertiere zu UTF-8“ ausgeführt. Am unteren rechten Fensterrand ist dann zu sehen, dass die Codierung zu „UTF-8-BOM“ geändert wurde.
Sollten beim Öffnen bzw. Konvertieren Sonderzeichen, Umlaute o. ä. kaputt gegangen sein, müssen diese vor dem Speichern manuell korrigiert werden. Beim nächsten Öffnen kann dank des BOMs dann die korrekte Codierung verwendet werden.
Neue XAML-Bibliothek Dockfenster_TextFormate
Die neue Bibliothek Dockfenster_TextFormate wird direkt unter die XAML-Bibliothek eingehängt, die defaultmäßig gemäß Benutzerkontext-Einstellung verwendet wird.
Ausgangspunkt: Das XAML-File „BefehlsSchemaName“
Dieses XAML-File bestimmt, welche „Regeln“ zum Aufruf von Befehlen über das Text-Formatierungs-Fenster verwendet werden soll. Beispielsweise sollen für Print-Artikel andere Befehle im Dockfenster zur Auswahl stehen als für Online-Artikel.
Die Angabe der weiteren XAML-Files
Auf die Angabe aller Bedingungen folgt in geschweiften Klammern die Auflistung der jeweiligen „Regelwerke“ und Befehlslisten:
Auflistung der in der aktuellen Konstellation erlaubten Detaillierte Auflistung aller global Befehle. Information über deren Positionierung im Text Beschreibung einsetzbaren Befehle. und ob diese optionale oder Pflichtbefehle sind. aller Befehle.
Verweis auf die XAML-Files „Schema_BefehlsStruktur...“
In Abhängigkeit von Eigenschaften des Artikels kann hier auf unterschiedliche „Regelwerke“ verwiesen werden – das sind XAML-Files, deren Namen in unserem Standard-Customizing mit „Schema_BefehlsStruktur“ beginnen, optional gefolgt von # und einer Namenserweiterung wie „Online“, also z. B. Schema_BefehlsStruktur#Online. In diesen Files wird angegeben, wie die Textstrukur im Artikel aussieht und welche Befehle dort an welcher Position erlaubt sind.
Verweis auf die XAML-Files „Befehle...“
In der Datei BefehlsSchemaName wird auch festgelegt, welche XAML-Datei für die einzelnen Befehle verwendet werden soll – dieses XAML-File beginnt standardmäßig mit dem Namen „Befehle“ gefolgt von einer optionalen Erweiterung wie # und BU. In diesen Files sind detaillierte Informationen zu den einzelnen – auch den globalen – Befehlen angegeben, z. B.
Oberflächen-Bezeichnungen der Befehle, die in der Liste verwendet werden soll
ob der Befehl als Tag oder Makro eingefügt wird
als Befehl mit oder ohne Ende
ob es sich dabei um einen ausprogrammierten Befehl handelt (wie Gev, FW etc.)
welcher Tooltip beim Mouseover über dem Befehl erscheinen soll
an welcher Position der Befehl in die Befehlsliste einsortiert wird
Möglichst wenig Befehle-Dateien!
Möglichst geringen Anzahl von Befehle-Dateien. Lieber eine einzige große Datei mit der Liste aller Befehle als viele kleine Dateien, in denen immer wieder die gleichen Befehle aufgeführt und beschrieben werden.
Verweis auf die XAML-Files „BefehleGlobal...“
In der Datei BefehlsSchemaName wird auch festgelegt, welche XAML-Dateien zur Auflistung von globalen Befehlen verwendet werden sollen. Mit „Globalen Befehlen“ sind diejenigen gemeint, die immer zusätzlich zu den Befehlen angezeigt werden sollen, die explizit in den einzelnen Schema_BefehlsStruktur-Files aufgelistet werden. Typische globale Befehle sind Gevierte, Zeilenenden, Fett, Kursiv etc.