Skip to content
Snippets Groups Projects
Select Git revision
  • de2bf2affaeee99f5859f5600449c2d50703da7f
  • master default protected
2 results

README.md

Blame
  • niepra01's avatar
    Rolf Niepraschk authored
    de2bf2af
    History

    vl-schema-jsoneditor

    Erzeugen und Ausliefern von JSON-SCHEMA-Objekten zur Verwendung mit JSON-EDITOR in der Web-Applikation »Ottomane«.

    Die SCHEMA-Definitionen (z.B. Dokument 000_SCHEMA-cus) enthalten oftmals Bestandteile in Form von Variablen, sind also unvollständig. Diese Variablen müssen durch reale Daten ersetzt werden, die ebenfalls ihren Ursprung in Datenbankdokumenten haben. Man erreicht so eine bessere Aktualität, wenn die Ersetzung automatisch geschieht. Die List-View-Kombination in diesem Repositorium dient diesem Zweck.

    Die Variablen

    Folgende Struktur wird verwendet: {{XXX@YYY@ZZZ}}. Bedeutung:

    • XXX: Kennung der Variablen. Sie bestimmt, woher der konkrete Inhalt zur Ersetzung beschafft wird. Welche Kennungen derzeit unterstützt werden, findet man im Quelltext der List.
    • YYY: Typ der Variablen. Derzeit wird nur der Type ENUM (Array) unterstützt. Denkbar wäre noch OBJECT, um komplette Sub-SCHEMAs einzufügen.
    • ZZZ: Erweiterte Kennung (optional).

    Beispiel: {{000_UNITS@ENUM@Pressure}}. Es wird ein Array aus der Unterstruktur Pressure in der Quelle 000_UNITS adressiert, in diesem Fall also alle üblichen Druck-Maßeinheiten.

    Die SCHEMA-Definitionen

    Wird ein SCHEMA in Rohform beispielsweise per http://a73434:5984/vl_db/000_SCHEMA-cob-srg beschafft, so ist darin ausschnittsweise die folgende Struktur enthalten:

      "properties": {
        "Unit": {
          "type": "string",
          "enum": "{{000_UNITS@ENUM@Pressure}}"
        }
      }

    Erfolgt dagegen der Zugriff über die List editor-schema, d.h. per [http://a73434:5984/vl_db/_design/editor-schema/_list/getSchema/getData?schema=000_SCHEMA-cob-srg] (http://a73434:5984/vl_db/_design/editor-schema/_list/getSchema/getData?schema=000_SCHEMA-cob-srg), erhält man eine Struktur mit ersetzter Variable:

      "properties": {
        "Unit": {
          "type": "string",
          "enum": ["mbar", "DCR", "Pa", "kPa", "Torr"]
        }
      }

    Die jeweiligen URLs zu der List sind in dem Dokument, welches die Definitionen zu den einzelnen Editorseiten von »Ottomane« enthält (000_EDITOR_PAGES), aufgeführt.