Arbeitsumgebung

Aktualisiert am 21.11.2023 Lesedauer 3 - 4 Min.

Die in der Installation vorgebene Ordnerstruktur gewährleistet eine reibungslose Funktion. Es gibt nach objektiven Gesichtspunkten keinen Grund, von dieser Struktur abzuweichen1.

In der übergeordneten Programmstruktur sollten lediglich einige allgemeine Module und Beispieldaten für Projekte abgelegt werden. Für eigene Arbeiten sollte eine Projektstrutkur mit „Projekte → Neue Projektkonfiguration…“ generiert werden.

Module-Ordner

Der zentrale Modulordner enthält allgemeine „Codeschnipsel“, die für alle Projekte bei der Erstellung von Zieldateien gleichartig verwendbar sind.

Globale Module können in allen Projekten verwendet werden. Änderungen daran gelten für alle anschließend erzeugten Quell- und Zieldateien aller Projekte.

Zur Vermeidung von Wechselwirkungen können global gültige Module einfach in den Modul-Ordner von Projekten kopiert und dort, falls erforderlich, rückkopplungsfrei angepasst werden.

Module aus dem Projekt-Verzeichnis werden globalen Modulen mit gleichem Namen vorgezogen.

Der Projekte-Ordner

Hier legt  OSE  standardmäßig die Konfiguration und die Arbeitsverzeichnisse der Projekte an.

Von der Funktion Alles einpacken werden ausschließlich Projekte innerhalb des Projekte-Ordners archiviert.

Datenstruktur eines Projekts

Ein Projekt besteht aus einer Konfiguriatonsdatei, in der Vorgaben für das jeweilige Projekt definiert sind. In der Konfiguration werden unter anderem die Verzeichnisse festgelegt, in denen sich die Projektdateien befinden.

Beim Anlegen eines neuen Projekts werden diese Vorgaben für diese Standard-Struktur verwendet:

  • 📁 Projekte
     OSE  Projektverzeichnis
    • 🖹 projektname.ini
      Für jedes Projekt wird eine eigenständige Konfigurationsdatei angelegt, die den Namen des Projekts hat.
    • 📁 projektname
      Für jedes Projekt wird neben der Projektkonfiguration ein Projekt-Ordner angelegt.
      • 📁 Backups
        • 🗎 Backups
          In der Grundkonfiguration werden hier automatisch Backups von Arbeitsdateien des Projekts abgelegt.
      • 📁 module
        In diesem Verzeichnis liegen nur für dieses Projekt gültige 🖹 Module.
      • 📁 Layout
        In diesem Verzeichnis liegen nur für dieses Projekt gültige 🖹 Layouts
      • 📁 md
        In diesem Verzeichnis werden die 🗎 Quelldateien abgelegt. Mit Unterverzeichnissen wird die Struktur der Webseite abgebildet.
      • 📁 site
        In dieses Verzeichnis werden die Quelldateien exportiert. Das Verzeichnis entspricht (üblicherweise) inhaltlich und strukturell den Daten auf dem Server.
        • 📁 media
          Das Standardverzeichnis für von Zieldateien verwendeten 🖼 Medien.
          Für diesen Ordner gibt es kein Pendant im Quellverzeichnis.
        • 📁 res
          Der Standardordner für „technische Dateien. Auch hierfür gibt es kein Pendant im Quellverzeichnis:
          • 🖹 Stilvorlagen
          • 🖹 Strukturelemente
          • 🖹 Skripte
        • 🖹 .htaccess
          Diese Datei legt die Sicherheitseinstellungen der Domäne fest.

Quelldateien bearbeiten

Zur Bearbeitung einer Quelldatei wird eine Kopie in  OSE  geladen. Für die textbasierte Formatierung wird ein erweitertes Markdown unterstützt (sowie Module und Funktionen).

Die Bearbeitung kann jederzeit unterbrochen und  OSE  geschlossen werden. Beim Programmstart wird die Arbeitsdatei genau so restauriert, wie sie verlassen wurde (inkl. Position des Textzeigers, Positionen verwendeter Sprungmarken, Zählerstände,Fensterposition und Größe, …). Sie wird ebenfalls aktualisiert, wenn das Programm durch einen Fensterwechsel verlassen wird.

Die Quelldatei wird erst geändert, wenn sie mit Datei → Speichern… durch den Inhalt der Arbeitsdatei aktualisiert wird.

Damit ein eindeutiger Zustand gespeichert und wieder hergestellt werden kann, kann es nur eine Arbeitsdatei geben. Deshalb lässt sich  OSE  nur einmal starten.

In jeder Quelldatei eines Projekts sollten am Anfang mit einem Yaml-Header Einstellungen für die automatisierte Verarbeitung notiert werden. Informationen aus diesem Abschnitt können mit Variablen (s. Yaml-Header) im Text oder im Layout in die Zieldatei übernommen werden.

Datei-Backups

Ist in der Projektkonfiguration ein Backup-Pfad angegeben, werden Arbeitsdateien in der durch den Yaml-Header vorgegebenen Dateistruktur vor dem Laden oder Neuanlegen einer Arbeitsdatei mit einem Zeitstempel abgelegt.

Mit einem aktivierten Backup-Verzeichnis können alle Arbeitsstände vor einem Dateiwechsel in  OSE  rekonstruiert werden, selbst wenn es keine Speicherung der geänderten Quelldatei gab.

Speichern & exportieren

Beim Speichern und Export einer Datei wird der im Yaml-Header eingetragene Pfad und Dateiname für die jeweilige Operation vorgeschlagen. Dieser Vorschlag kann beim Speichern verändert werden. Damit werden Kopien der Quell- und/oder Zieldatei gespeichert. Beim nächsten Speichern / Exportieren werden wieder die Einstellungen verwendet, die im Yaml-Header festgelegt sind. Wird die Kopie einer Quelldatei geöffnet, deren Yaml-Eintrag vom Dateinamen abweicht, wird ein Warnhinweis ausgegeben.

Was beim Export passiert

Der Export erfolgt in eine lokale Kopie der Web-Präsenz auf dem Server. Dabei werden in einem Zug im Hintergrund einige Aufgaben erledigt:

  1. Die Arbeitsdatei wird in den Bearbeitungspuffer kopiert.
  2. Präprozessor-Funktionen werden ausgeführt.
  3. Die Editor-Variablen für die Lesezeit werden ersetzt. Das berücksichtigt ggf. hinzugeladenen Markdown-Text.
  4. Markdown wird HTML-Cod umgewandelt.
  5. Module werden expandiert.
  6. Das Erstellte wird in ein definiertes Layout eingefügt.
  7. Die übrigen Editor-Variablen, sowie Parameter und Variablen des Yaml-Headers werden mit den gültigen Werten und Regeln ersetzt.
  8. Postprozessor-Funktionen werden im Zwischenergebnis ausgeführt.
  9. Ein eventuell neuer Pfad wird – mit Sicherheitsabfrage – angelegt. In diesem Pfad wird das Ergebnis im Puffer mit dem Dateinamen aus dem Yaml-Header zum Speichern angeboten.

Webseite auf den Server laden

Diese Funktion erfordert eine Lizenz.

Nur eine exportierte Zieldatei kann auf den Webserver hochgeladen werden. Abhängig von den Einstellungen im Yaml-Header wird geprüft, ob die Datei auf Medien oder andere Dateien mit Extender (.gif, .html, …) verweist. Diese werden ebenfalls in das jeweilige Verzeichnis hochgeladen, soweit die Konfiguration das vorsieht und der Editor es zulässt.

1Es kann Gründe zur Anpassung einzelner, spezieller Projekte geben, die zwar unterstützt werden, doch einige Kontrollfunktionen aushebeln können.