Die Dateien zum Betrieb des openWIM-Servers befinden sich normalerweise in einem "wim" benannten Verzeichnis. Je nach Betriebssystem (und Laune des Systemmanagers etc.) kann dieses wim-Verzeichnis an der einen oder anderen Stelle platziert werden. In den Scripten werden die Verzeichnis-Positionierung abgefragt bzw. die Pfade relativ adressiert.
Nachfolgend sind die wichtigsten Unterverzeichnisse und Dateien aufgeführt und etwas kommentiert:
-certificates(👈???)databases👈-preview👈
{ Die vom "preview"-Service zu verwendende Datenbasis.. Muss vorhanden sein, wenn der "preview"-Service aktiv sein soll. }
_io👈- project-group-name-A👈
dumps👈
{ Bereich für wöchentlich automatisch erstellte Sicherheitskopien zur Projektgruppe der Art "backup_2020w19.json"👈3️⃣ sowie
Sicherheitskopien von Obj-Daten vom Zeitpunkt der letzten Speicherung in der Art "ObjId 20200504_.json" 3️⃣}- project-name-13️⃣
{Enthält wöchentlich automatisch erstellte Projekt-Backup-Dateien der Art "backup_2020w19.json"} - project-name-23️⃣
{ siehe Kommentar bei project-name-1 } - ...
- project-name-13️⃣
objData3️⃣
{Enthält Dateien des Datenbanksystems}objData-mrview-...{Zahlen-/Buchstaben-Folge}3️⃣
{Diverse vom Datenbanksystem angelegte Verzeichnisse zu ihren Views}words3️⃣
{Enthält Dateien der Datenbank der Worte}wordsToObj3️⃣
{Enthält Dateien der Datenbank der Referenzen der Worte auf Artikel und Themen}
- project-group-name-B👈3️⃣
{siehe Kommentar bei project-group-name-A} - ...
retired👈
{analog untergliedert wie "preview" . Muss vorhanden sein, wenn der "retired"-Service aktiv sein soll.}test👈
{analog untergliedert wie "preview" . Muss vorhanden sein, wenn der "test"-Service aktiv sein soll.}update👈
{analog untergliedert wie "preview". Muss vorhanden sein, wenn der "update"-Service aktiv sein soll. }www👈
{analog untergliedert wie "preview". Muss vorhanden sein, wenn der Stndard-Service aktiv sein soll. }
files👈-- project-name-1👈
{Enthält Dokumente, Bilddateien etc., die nur im interaktiven Sitzungskontext öffentlich abrufbar sind}priv👈
{Enthält nicht öffentlich abrufbare Dokumente, Bilddateien etc.}pro👈
{Enthält öffentlich uneingeschränkt abrufbare Dokumente, Bilddateien etc.}- project-name-2👈
- ...👈
33.2.1👈
{ Verzeichnis mit Script-Dateien etc. zu Server- und Client-Software einer bestimmten Systemversion, hier als Beispiel "33.2.1". Es sind zeitgleich mehrere Versionen vorhanden. Verzeichnisse zu nicht mehr benötigten Versionen werden (auf dem Cloud-Server) gelöscht.}
-cloud👈-build2️⃣(👈)
{ Enthält die mittels "Polymer build" zusammengefassten und minimierten Dateien für die Übermittlung an den Browser-Client bzw. die "App" }DEFAULT2️⃣(👈)
{ Die Standard-Aufbereitung der Client-Dateien. Die Unterverzeichnisse und ihre Dateien haben gleiche Aufgaben wie die unverdichteten Verzeichnisse und Dateien.}node_modules2️⃣(👈)projects_modules2️⃣(👈)- project-name-12️⃣(👈)
- project-name-22️⃣(👈)
- ...2️⃣(👈)
src2️⃣(👈)wim_modules2️⃣(👈)
es5-bundled2️⃣(👈) { optional, Name nicht fix }es6-bundled2️⃣(👈) { optional, Name nicht fix }es6-unbundled2️⃣(👈) { optional, Name nicht fix }
node_modules1️⃣
{ Enthält diverse Javascript-Dateien zur Realisierung des (Daten-)Server-Betriebs }projects_modules👈
{ Für jedes betreute Projekt muss ein Verzeichnis bereitstehen.
Diese Dateien sind nur für Entwicklung und Fehlerbehebung verfügbar und NICHT im normalen Betrieb.}- project-name-1👈
{ Pro Projekt werden spezifische Dateien benötigt. Mindestens werden die Dateien "project-name-modules.js", "project-name-simple-templates.js" und "project-name.css" erwartet } - project-name-2👈
- ...👈
- project-name-1👈
src👈
{ Hier stehen die spezifischen Script-Dateien zur Realisierung des (Daten-)Servers. Teilweise werden Dateien auch beim Client und/oder Users-Server verwendet.
Diese Dateien sind für Clients nur bei der Entwicklung und Fehlerbehebung verfügbar und werden im normalen Betrieb nicht genutzt.}wim_modules👈
{ Hier sind Verzeichnisse mit Script-Dateien enthalten, die für den Betrieb der Clients benötigt werden.
Diese Dateien sind nur für Entwicklung und Fehlerbehebung verfügbar und NICHT im normalen Betrieb.}
Weiterhin müssen in diesem "cloud"-Verzeichnis mindestens folgende Dateien enthalten sein:
- "package.json" { Einstellungen für NPM }
- "polymer.json" { Einstellungen für polymer build.}
- "wim-objdata-server.js" { Das Haupt-Script des Daten-Servers (~ index.js) }
- Automatisch erstellte Dateien gesellen sich dazu.
logfiles3️⃣
{ Enthält Protokolldateien zur Analyse von Systemproblemen und zur Betriebs-Optimierung }users👈
{ Enthält alle Script-Dateien für den Users-Server und den Browser-Client einer Systemsoftware-Version}-build2️⃣(👈)
{ Enthält die mittels "Polymer build" zusammengefassten und minimierten Dateien für die Übermittlung an den Browser-Client }DEFAULT2️⃣(👈)
{ Die Standard-Aufbereitung der Client-Dateien}
node_modules2️⃣(👈)src2️⃣(👈)
es5-bundled2️⃣(👈) { optional, Name nicht fix }es6-bundled2️⃣(👈) { optional, Name nicht fix }es6-unbundled2️⃣(👈) { optional, Name nicht fix }
node_modules1️⃣
{ enthält diverse Javascript-Dateien zur Realisierung des Servers für die Nutzer-Verwaltung }src👈
{ enthält diverse Javascript-Dateien zur Realisierung des Browser-Clients für die Nutzer-Verwaltung }
- Weiterhin sind auf dem Entwicklungs-Server in diesem Verzeichnis die .geany-Dateien für den Quellcode-Editor enthalten ( objData.geany, users.geany, etc.).
Weiterhin werden im Basisverzeichnis ("wim") mindestens folgende Dateien benötigt, die für alle Service-Versionen der Server gelten:
server.json: ACHTUNG: Es ist unbedingt nötig, den Inhalt dieser Datei an die spezifischen Aufgaben des Servers anzupassen ! ! !users-admin.json: Steuerungsdaten für alle Users-Serverwim-admin.json: Steuerungsdaten für alle Daten-Server
Zeichenerklärung:
- 👈: Bei Neuinstallation das Verzeichnis explizit manuell einzurichten bzw. die Datei dorthin kopieren.
- 1️⃣: Wird durch NPM bei der Installation erzeugt (einschließlich aller Unterverzeichnisse und darin enthaltener Dateien) => Finger weg!
- 2️⃣(👈): Wird von Polymer build erzeugt bzw. die auf einem Test-Server erzeugten Dateien werden dorthin kopiert
- 3️⃣: Wird durch das openWIM-System im laufenden Betrieb erzeugt /aktualisiert.
Anmerkung: Die obenstehende "Baumstruktur" wurde explizit NICHT als auf- und zuklappbare Darstellung generiert, damit möglichst kein Verzeichnis und keine Datei übersehen werde.
