MarkStein Web-Layout ist eine browserbasierte Anwendung zur Erzeugung, Bearbeitung und Ausgabe von Seitenlayouts. Das Modul arbeitet rahmenorientiert nach der Art klassischer DTP-Programme und ist kompatibel mit dem MarkStein Publisher. Seitenelemente wie Rahmen, Texte und Bilder können auf der Arbeitsfläche durch Mausaktionen oder Tastatureingaben modifiziert werden. MarkStein-Web-Layout kann im Zusammenhang mit dem MarkStein-Publishing-Server als Web-Frontend zur interaktiven Layoutbearbeitung genutzt werden.
Benutzeroberfläche
Die Oberfläche entspricht im Wesentlichen den bekannten Oberflächen von DTP-Programmen. Optik und Symbole orientieren sich an gängigen Apps, so dass die Software auch auf Tablets mit Touchscreen einsetzbar ist. Neben den Standardelementen Werkzeug- und Layoutpalette vereinfachen insbesondere die gebündelten Inspektoren die Arbeit, da alle wichtigen Funktionen der Software hierüber erreichbar sind. Weniger gebräuchliche Funktionen sind in Kontextmenüs zu finden.
Technische Informationen
Das Modul MarkStein Web-Layout ist ein browserbasiertes User-Interface zum Laden, Manipulieren, Visualisieren, Ausgeben und Speichern eines serverseitig geladenen Dokumentes. Die Benutzeroberfläche ist clientseitig in JavaScript realisiert und mit WebSocket-Technologie über einen Web-Server bidirektional mit dem Layout-Server (MarkStein Publishing-Server) verbunden, der das offene Dokument vorhält. Als Datenformat für den Austausch zwischen dem Layout-Server und dem Browser kommt JSON zum Einsatz.

WYSIWYG-Layout-Ansicht, Schriften
Im Browser wird eine WYSIWYG-Layout-Ansicht angezeigt. Dazu werden serverseitig die Rahmen bzw. Rahmen-Gruppen auf der Seite im Format SVG gerendert und mit ihren Koordinaten zur Anzeige an den Client gesendet. Das bedeutet, die Ansicht ist in einem gewissen Bereich ohne Qualitätsverlust skalierbar.
Grundlage für das Textrendering im Format SVG sind die originalen Schriften. Diese müssen im OTF- oder TTF-Format auf den Layout-Servern für das Rendering und auf dem Web-Server zur Darstellung der SVG- Daten verfügbar sein.
MarkStein Publishing-Server
Multi-Instance-Betrieb, Dispatching, Load Balancing
Der Layout-Server läuft im Multi-Instance-Betrieb. Die Verwaltung übernimmt das Modul Layout-Server-Dispatcher. Der Layout-Server-Dispatcher läuft als Dienst. Er startet eine Instanz des Layout-Servers, wenn sich ein Benutzer anmeldet; er beendet die Instanz, wenn sich der Benutzer wieder abmeldet.
Zur Lastverteilung können beliebig viele Server mit Layout-Server-Dispatcher-Modulen eingesetzt werden. Die Verteilung der Anfragen wird durch die Load Balancing-Funktion des Apache Web-Servers zur Verfügung gestellt.
Benutzer, Session, Prozessverwaltung
Es wird eine Authentifizierungs-Instanz (MarkStein Datenbank oder eigene Instanz) benötigt, gegen die sich der Benutzer bei der Anmeldung authentifizieren muss.
Dabei wird für den Benutzer eine persistente Session-ID generiert, die zur Zuordnung des Benutzers zu seinem jeweiligen Benutzer-Prozess herangezogen wird.
Über diese Zuordnung kann der Benutzer nach einem Verbindungsabbruch wieder mit seiner Session verbunden werden.
Bei Abmeldung des Benutzers wird der Benutzerprozess beendet und die Session-ID verfällt. Die Abmeldung kann explizit durch den Benutzer oder automatisch vom System bei Inaktivität des Benutzers (Zeitraum konfigurierbar) erfolgen.
Integrierte Module
Adobe PDF Library und PDF Converter (PDF-Generierung), Duden Proof Factory (Rechtschreibkontrolle), Dieckmann Silbentrennung (Deutsch / Englisch), Duden Silbentrennung (Französisch / Spanisch / Italienisch)
Unterstützung weiterer Sprachen auf Anfrage.
Eingesetzte Technologien
Browser-Client: JavaScript, AngularJS, AJAX, TypeScript
Web-Server: Apache, PHP
Layout-Server: C++ mit Qt 5,5
MarkStein SOAP-Server: C++ mit gSOAP
MarkStein REST-Server
Unterstützte Datenformate
Dokumentformate
MarkStein Publisher Dokument, tango XML, InDesign IDML, Anbindung an tango Datenbank
Textformate
MarkStein Publisher, tango, InDesign-Tagged-Text, XPress Tags, Word, Excel, RTF, HTML, XML
Bildformate
EPS, PDF, AI, PSD, TIFF, JPEG, PNG, BMP
Ausgabeformate
PostScript, PDF, IDML, EPS, TIFF, JPEG, PNG, EPUB.