An dieser Stelle entsteht die öffentliche Dokumentation für Epigraf 5. Diese Seite ist noch in Bearbeitung.

Der Aufbau von Artikeln wird im Menüpunkt Typen an den Anwendungsfall angepasst. Dort wird festgelegt, wie sich Artikel zusammensetzen, welche Kategoriensysteme es gibt und welche Annotationen beziehungsweise Apparate (Fußnoten, Anmerkungen) möglich sind. Eine vollständige Konfiguration besteht aus Typen für folgende Komponenten:

  • Projekte (=projects)
  • Artikel innerhalb eines Projekts (=articles)
  • Abschnitte innerhalb eines Artikels (=sections)
  • Inhalte innerhalb eines Abschnitts (=items)
  • Annotationen innerhalb von Textfeldern (=links)
  • Fußnoten innerhalb von Textfeldern (=footnotes)
  • Kategorien, die in Inhalten und für die Annotation genutzt werden (=properties).

Für jeden Typ wird eine eigene JSON-Konfiguration mit Schlüsseln und Werten angelegt, darin sind beispielsweise die Beschriftungen von Feldern definiert. Nachdem die Typen angepasst und miteinander verknüpft wurden, steht fest, wie Artikel angezeigt und bearbeitet werden können. 

Neben der Standardkonfiguration können weitere Darstellungsmodi konfiguriert werden. Dazu werden eigene Typen-Datensätze angelegt, die sich im Modus unterscheiden. Der Modus kann beispielsweise in der Artikelliste über die Schaltflächen im Footer gewählt werden:

  • default: Die Standardkonfiguration, die immer vorhanden sein muss. Zusätzliche Modi überschreiben falls vorhanden einzelne Schlüssel in der Standardkonfiguration.
  • preview: Einstellungen für die Leseansicht von Artikeln. Dieser Modus gilt grundsätzlich für Gäste.
  • coding: Eine Konfiguration zur schnellen Kodierung von Artikeln. In diesem Modus sind nur die explizit freigegebenen Felder bearbeitbar.

Einige Einstellungen finden sich in mehreren Typen wieder:

  • Spalten in Tabellenansichten werden über den Schlüssel `columns` definiert.
  • Felder, die in Artikeln, Abschnitten oder Inhalten angezeigt werden oder bearbeitbar sind, werden im Schlüssel `fields` aufgeführt.
  • Hierarchie und Verknüpfung der Typen:
    • Bei Projekten werden im Schlüssel `articles` die möglichen Artikeltypen des Projekts festgelegt. 
    • Bei Artikeln werden im Schlüssel `sections` die untergeordneten Abschnitte festgelegt. 
    • Bei Abschnitten werden im Schlüssel `items`  die untergeordneten Inhalte festgelegt.
  • Für Kategorien-Felder legt der Schlüssel `types` fest, welches Kategoriensystem (properties) verwendet wird
  • Für Text-Felder, in die Annotationen eingefügt werden können, legt der Schlüssel `types` fest, welche Annotationen oder Apparate erlaubt sind. Diese werden dann auch in der Toolbar angezeigt.

Die Konfiguration für die Abbildung der Artikel-Inhalte auf RDF-konforme Tripel ist in einem eigenen Abschnitt beschrieben.

Die Zusammensetzung von Artikeln

Artikel (articles)

Ein Artikel beschreibt ein Objekt, etwa einen Inschriftenträger oder einen Brief. In der Konfiguration wird angegeben, wie ein Artikel in der Einzelansicht und in der tabellarischen Ansicht dargestellt werden soll. Zudem wird festgelegt, welche Abschnitte ein neuer leerer Artikel enthält:

SchlüsselBeschreibung
fieldsWelche Felder werden im Artikel verwendet? Siehe die Feldkonfiguration.
columnsWelche Spalten sollen in der Artikelliste angezeigt werden können? Siehe Tabellenkonfiguration.
previewWelche Inhalte werden in Vorschaukacheln angezeigt? Hier wird definiert, aus welchen Inhalten (items) die Bilder und Texte entnommen werden. Siehe die Details unten.
headerWie setzt sich die Titelzeile der Artikelansicht zusammen? Eine Liste mit Definitionen der Kopfzeileneinträge in der Einzelartikelansicht.
sectionsWelche Abschnitte kann ein Artikel enthalten? Eine benannte Liste mit Abschnittsdefinitionen. Aus dieser Liste wird beim Erstellen eines Artikels ein leerer Artikel erstellt. 
namespacesWelche Namensräume werden in den norm_data-Feldern verwendet? Das Objekt enthält als Schlüssel den Namespace, zum Beispiel "urn" und als Wert ein Objekt mit den Schlüsseln button und baseurl. Die baseurl enthält die Auflösung des Namespace (z.B. https://nbn-resolving.de/urn:). Wenn ein Button erzeugt werden soll, wird im button-Schlüssel die Beschriftung des Buttons angegeben. 
pipelines

Welche Pipelines sind für den Artikel relevant?   

Das pipelines-Objekt enthält als Schlüssel das IRI-Fragment einer Pipeline und im einfachsten Fall als Wert eine Button-Bezeichnung. Diese Buttons werden unterhalb der Artikel erzeugt. Der erste Button wird mit der Tastenkombination F6 belegt.  

Bearbeiter:innen sehen beim Exportieren ausschließlich die hier angegebenen Pipelines. Um eine Pipeline  ohne Button verfügbar zu machen, wird anstelle des Wertes ein Objekt angegeben. Das Objekt hat die Schlüssel caption für die Button-Bezeichnung und button mit dem Wert true oder false, um einen Button ein- oder auszublenden.

In EpiDesktop werden Exporte über F6 für einzelne Artikel oder F7 für einen Band angestoßen. Dabei wird ein scope-Parameter mit den Werten "article" oder "book" an EpiWeb übergeben. Für die korrekte Vorauswahl der zugehörigen Pipeline kann im pipelines-Objekt zusätzlich der scope-Schlüssel gesetzt werden.  
 

Beispiel für eine Konfiguration:

{
                      "di-articles-doc": {
                        "caption": "Word",
                        "scope": "article"
                      },
                      "di-epidoc": {
                        "caption": "EpiDoc"
                      },  
                      "di-book-doc": {
                        "caption": "Band",
                        "scope": "book",
                        "button": false
                      },
                      "di-images": {
                        "button":false
                      },
                      "dio-export-book": {
                        "button":false
                      },
                      "dio-export-img": {
                        "button":false
                      }
                    }
footnotesWelche Fußnotentypen werden im Artikel verwendet und angezeigt? Eine Liste der Typnamen.
toolbarSoll die Toolbar beim Start initialisiert werden (true) oder erst bei Bedarf (false)?
geodata

Damit Artikel in Karten dargestellt werden können, muss die Quelle von Geodaten festgelegt werden.  Der geodata-Schlüssel enthält ein Objekt mit Itemtypen als Schlüsseln und Extraktionsschlüsseln in den Werten. Beispiel, um Geodaten sowohl direkt aus Items eines Artikels als auch indirekt aus verknüpften Properties zu holen:

"geodata": {
                      "geolocations": "value",
                      "locations": "property.content"
                    }
                    

Abschnitte in einem Artikel (sections-Schlüssel)

Die Definition der Abschnitte im sections-Schlüssel eines Artikels bestimmt sowohl die Reihenfolge als auch die Hierarchie beim Anlegen von Artikeln und neuen Abschnitten. Voraussetzung ist, dass entsprechende Abschnitts-Typen angelegt wurden. Die Abschnitte werden dann mit Schlüsseln aufgeführt, die dem Typ entsprechen, weitere Einstellungen erfolgen im Wert. 

Im folgenden Beispiel wird festgelegt, dass beim Anlegen eines Artikels eine Inschrift und ein untergeordneter Inschriftenteil (parent-Schlüssel) entstehen sollen. Zudem können anschließend manuell beliebig viele Inschriften-Abschnitte und untergeordnete Inschriftenteile-Abschnitte hinzugefügt werden (count-Schlüssel):  
 

{
  "sections": {
    "inscription": {
      "type": "inscription",
      "caption": "Inschrift",
      "count": "*"
    },
    "inscriptionpart": {
      "type": "inscriptionpart",
      "caption": "Inschriftenteil",
      "parent": "inscription",
      "count": "*"
    }
  }
}

Soll ein Abschnitt zwar manuell eingefügt werden können, aber nicht automatisch beim Anlegen eines Artikels, dann wird der default-Schlüssel auf false gesetzt:  
 

{
  "sections": {
    "geolocations": {
      "type": "geolocations",
      "caption": "Standorte",
      "count": "*",
      "default": false
    }
  }
}


Ein Abschnitts-Typ kann mehrfach verwendet werden, wenn er durch unterschiedliche Namen differenziert wird, dazu wird der Schlüssel nach dem Schema <sectiontype>[<sectionname>] gebildet. Dieser Schlüssel kann auch zur Mehrfachverwendung für Unterabschnitte eingesetzt werden. Im folgenden Beispiel wird ein Artikel konfiguriert, der ausschließlich aus text-Abschnitten besteht. Beim Anlegen eines Artikels würden ein Abschnitt mit dem Namen Beschreibung und zwei untergeordnete Abschnitte mit den Namen Objektbeschreibung und Textbeschreibung angelegt werden. Zudem wird die Möglichkeit eingeräumt, weitere Textabschnitte nicht beim Anlegen des Artikels, sondern später manuell hinzuzufügen (default-Schlüssel).  
 

{
  "sections": {
    "text[Beschreibung]": {
      "type": "text",
      "caption": "Beschreibung"
    },
    "text[Objektbeschreibung]": {
      "type": "text",
      "caption": "Objektbeschreibung",
      "parent": "text[Beschreibung]"
    },
    "text[Textbeschreibung]": {
      "type": "text",
      "caption": "Textbeschreibung",
      "parent": "text[Beschreibung]"
    },
    "text": {
      "type": "text",
      "caption": "Weiterer Text",
      "count": "*",
      "default": false
    }    
  }
}


Die Reihenfolge der Abschnitte beim Anlegen von Artikeln ergibt sich aus der Reihenfolge in der Konfiguration. Anschließend können Abschnitte in der Bearbeitungsansicht manuell verschoben werden. Zudem besteht die Möglichkeit, Abschnitte über eine Gewichtung zu verschieben. Auf diese Weise können etwa mit einer eigenen Konfiguration für den Code-Modus oder den Preview-Modus die inhaltlich relevanten Abschnitte nach oben geholt werden. Negative Gewichte schieben einen Abschnitt nach oben, positive Gewichte nach unten. Im folgenden Beispiel werden die Abschnitte zwar in der Reihenfolge Standorte -> Beschreibung angelegt, aber in umgedrehter Reihenfolge angezeigt:

{
  "sections": {
    "geolocations" : {
      "type": "geolocations",
      "caption": "Standorte"
    }
    "text[Beschreibung]": {
      "type": "text",
      "caption": "Beschreibung",
      "weight": -10
    }
  }
}

 

In der folgenden Tabelle findet sich eine Übersicht über die in den Beispielen verwendeten Schlüssel:

SchlüsselBeschreibung
typeAbschnittstyp
captionName des Abschnitts (optional, ergibt sich anderfalls aus der Konfiguration des Abschnitttyps)
parentSchlüssel des übergeordneten Abschnitts, um eine Hierarchie herzustellen (optional).
defaultStandardmäßig werden alle Abschnitte beim Anlegen eines Artikels erstellt. Wenn dies nicht gewünscht ist, muss der default-Schlüssel auf false gesetzt werden.
weightGewichtung des Abschnitts in der Artikelansicht. Positive Gewichte verschieben den Abschnitt nach unten, negative Gewichte nach oben (optional)
hideBlendet den Abschnitt vollständig aus (true|false).
collapseIm Datenmodus sind standardmäßig alle Abschnitte eingeklappt, im Vorschau- und im Datenmodus sind sie ausgeklappt. Diese Voreinstellung kann mit dem collapse-Schlüssel überschrieben werden (true|false).

Konfiguration der Artikelvorschau (preview-Schlüssel)

Zusätzlich zur vollständigen Einzelansicht und zur tabellarischen Darstellung können Artikel in Kacheln oder Lanes angezeigt werden. Eine Kachel enthält ein Bild oder einen Textausschnitt, die um zusammenfassende Angaben ergänzt werden können:

SchlüsselBeschreibung
imagesEine Liste mit itemtypes. Aus der Liste der Items eines Artikels wird das erste Bild ausgewählt. Sind darunter veröffentlichte Bilder, werden diese bevorzugt.
textEine Liste mit itemtypes. Aus der Liste der entsprechenden Items wird der erste Text als Vorschautext angezeigt, sofern kein Bild verfügbar ist.
summaryEine Liste mit Spalten, die in der Spaltenkonfiguration definiert sein müssen. Die Inhalte der Spalten werden in der Vorschau als Details angezeigt.

Das folgende Beispiel definiert eine Kachel mit einem Bild aus dem Inhaltstyp "images", an dessen Stelle falls nicht verfügbar der Text aus dem Inhaltstyp "transcriptions" tritt. Auf der Kachel werden zudem die in den Spalten source, location und date (columns-Schlüssel des Artikels) konfigurierten Inhalte angezeigt:

{
  "preview": {
    "images": ["images"],
    "text": ["transcriptions"],
    "summary": ["source", "location", "date"]
  }
}

 

Abschnitte (sections)

Ein Abschnitt gruppiert die Inhalte eines Artikels. Abschnitte sind hierarchisch angeordnet und jeder Abschnitt enthält ein Notizfeld. In der Konfiguration wird angegeben:

SchlüsselBeschreibung
sectionsWelche Unterabschnitte sind vorgesehen (sectiontypes)?
itemsWelche und wie viele Einträge enthält ein Abschnitt (itemtypes)? Eine benannte Liste mit Inhaltsdefinitionen. Aus dieser Liste wird beim Erstellen eines Abschnitts ein leerer Abschnitt erstellt. 
fieldsWelche Annotationen sind im Notizfeld möglich? In fields.comment.types wird dazu eine Liste von linktypes angegeben.
name

Wie soll die Bezeichnung des Abschnitts gebildet werden? Enthält ein Objekt mit folgenden Schlüsseln: 

  • prefix: Präfix der Bezeichnung des Abschnittes.
  • path: Soll in der Beschriftung der ganze Pfad dargestellt werden, das heißt die Bezeichnungen übergeordneter Abschnitte? (true | false; default = false)
  • number: Soll die Bezeichnung automatisch aus der Nummer des Abschnitts gebildet werden? (numeric=Zahlenwert | alphabetic=Buchstabennummer | false =keine Nummerierung; default=false)
  • scoped: Soll die Nummerierung innerhalb des gleichen sectiontype vorgenommen werden (default=false).
  • options: Wird hier ein propertytype angegeben, dann wird der Name aus der entsprechenden Kategorienliste übernommen. Im Abschnitt wird nur der Name gespeichert. Soll gleichzeiitig die ID der Kategorie erfasst werden, dann muss dafür ein Eintrag des Abschnitts konfiguriert werden. Das Format des property-Feldes dieses Eintrags wird auf "sectionname" gesetzt.
viewWie wird der Abschnitt dargestellt? Zu den Möglichkeiten siehe unten.
displaySoll der Abschnitt ausgeblendet werden (false)? Soll der Abschnitt angezeigt werden, nicht aber die Inhalte (empty)? Soll der Abschnitt hervorgehoben werden (highlight)? Enthält der Abschnitt Zusatzinformationen und soll kleiner dargestellt werden (addendum)?
publicSoll der Abschnitt für Gäste sichtbar sein (true|false)?
positionOptional. Soll der Abschnitt fixiert dargestellt werden (fixed|false)? Diese Option ist für die Kodieransicht in der Sidebar vorgesehen.
helpStandardmäßig wird für jeden Abschnitt nach folgendem Muster ein Hilfeschlüssel erzeugt: articletype-<typ>-sectiontype-<typ>. Der Schlüssel setzt sich aus dem Artikeltypen und dem Abschnittstypen zusammen, verbunden durch einen Bindestrich. Beispiel: articleytype-epi-article-sectiontype-images. Dieser Schlüssel muss mit der IRI der Hilfeseite übereinstimmen. Soll für verschiedene Abschnittstypen die gleiche Hilfeseite verwendet werden, dann wird im help-Schlüssel der betroffenen Abschnittstypen dieser gemeinsame Schlüssel eingetragen.

Inhalte in einem Abschnitt (items-Schlüssel)

Die Definition der Inhalte im items-Schlüssel eines Abschnitts bestimmt, welche Inhalte beim Anlegen von Abschnitten automatisch erzeugt werden und welche Eingabefelder für die Bearbeitung zur Verfügung stehen. Voraussetzung ist, dass entsprechende Inhaltstypen angelegt wurden. 

Im folgenden Beispiel wird ein Abschnitt vom Typ "heraldry" definiert, der 0 oder mehr Inhalte enthalten kann.  Beim Anlegen wird noch kein Inhalt erzeugt - dafür sorgt die Einstellung im default-Schlüssel:

  "items": [
    {
      "type": "heraldry",
      "count": "*",
      "default": false
    }
  ]

 

Eine vollständige Inhaltsdefinition umfasst folgende Schlüssel:

SchlüsselBeschreibung
typeInhaltstyp
defaultStandardmäßig wird für jeden Inhaltstyp ein Eintrag erstellt. Wenn dies nicht gewünscht ist, muss der default-Schlüssel auf false gesetzt werden.
countDer Wert * bestimmt, dass kein oder beliebig viel Inhalte hinzugefügt werden können. Der Wert 1 legt fest, dass genau ein Inhaltselement erlaubt ist.

 

Darstellungsmöglichkeiten (view-Schlüssel)

Der view-Schlüssel eines Abschnitttyps kann entweder einen der in der folgenden Tabelle aufgelisteten Werte enthalten oder ein Objekt, das im name-Schlüssel einen dieser Werte enthält. Mit einem Objekt sind weitere Einstellungen möglich, zum Beispiel um eine Tabelle und eine Karte anzuzeigen:

"view": {
  "name": "table",
  "grouped": false,
   "widgets": {
     "map": {
       "itemtype":"geolocations"
     }
   }
}

 

Die folgenden Werte sind im view-Schlüssel eines Sectiontype möglich:

WertBeschreibung
table

Die Einträge werden tabellarisch aufgelistet, wobei sich die Spaltennamen aus der Felddefinition der Einträge ergeben. Diese Darstellung wird eingesetzt, um Kategorien mit Ergänzungen zu erfassen. Beispiel: eine Liste zitierter Literatur, in der die Titel in einer Spalte und die konkreten Seitenzahlen in einer weiteren Spalte erfasst werden. 

Für jeden Eintragstyp wird eine eigene Tabelle gebildet. Die Spalten der Tabelle ergeben sich aus den in der Item-Konfiguration angegebenen Feldern. Sind Einträge mit Bildern vorhanden (die auch auf dem Server liegen), dann wird vor der Tabelle eine Kachelansicht aller Bilder angezeigt. 

Um eine gruppierte Tabelle auszugeben, in der die Item-Bezeichnungen in der ersten Spalte erscheinen, wird folgendes Objekt angegeben:

"view": {
                      "name": "table",
                      "grouped": true
                    }

Um einzelne Tabellen auszugeben, in der die Item-Bezeichnungen als Beschriftungen hinzugefügt werden, wird folgendes Objekt angegeben (work in progress):

"view": {
                      "name": "table",
                      "grouped": false,
                      "captions": true
                    }
stackDie Felder der Einträge werden untereinander aufgelistet, so dass für jedes Feld möglichst viel Platz zur Verfügung steht. Diese Darstellung eignet sich zum Beispiel für größere Textfelder. Auf diese Weise können auch eine Transkription, Übersetzung, Quellenangabe und Datierung eines Textes untereinander angezeigt werden.

Zusätzlich können Widgets angezeigt werden, die Inhalte zusammenfassen. Es stehen folgende Widgets zur Verfügung: map, thumbs, grid, upload.

Karten (map): Es wird eine Karte angezeigt. Beispielkonfiguration: 
 

 "widgets": {
     "map": {
       "itemtypes": {
         "geolocations": {
           "segment": "Artikel",
           "field": "value",
           "edit": true
         },
         "locations": {
           "segment": "Kategorie",
           "field": "property.content"
         }
       }
     }
   }

 

Bilder (thumbs): Es werden Vorschaubilder angezeigt. Beispielkonfiguration:

 "widgets": {
     "thumbs": {
       "itemtype": "images",
       "link": true,
       "fields": [
         "sortno",
         "file"
       ]
     }
}

 

Dateiupload (upload): Bilder können ausgehend vom Artikel hochgeladen und eingebunden werden. Dazu wird mit folgender Einstellung unterhalb der Abbildungsliste ein Button aktiviert:

 "widgets": {
     "upload": true
}

Der Button öffnet den Bildordner in der Seitenleiste oder bietet dort die Möglichkeit an, den Ordner anzulegen. Voraussetzung ist, dass der Artikel einem Projekt zugeordnet ist, über eine Signatur verfügt und mindestens einmal gespeichert wurde. 

 

Gitter (grid): Die Einträge werden in einem Gitter angezeigt. Die Größe des Gitters wird im Abschnitt erfasst (section.layout_cols, section.layout_rows). Jeder Eintrag wird in diesem Gitter positioniert, wobei in einer Zelle auch mehrere Einträge gestapelt werden können (items.pos_x, items.pos_y, items.z). Diese Form der Darstellung eignet sich beispielsweise, um die Position von Wappen auf einem Objekt zu erfassen. Die Zählung der Positionen beginnt bei 1. 

 

Inhalte (items)

Items enthalten die Inhalte eines Artikels. Sie können folgende Datentypen repräsentieren:

  • Texte und Übersetzungen (content, translation)
  • Quellenangaben (source_ autopsy, source_from, source_addition)
  • Einzelne Werte oder Zahlen (value)
  • 0/1-Kennzeichnungen (flagged)
  • Einbindung einer Datei bzw. eines Bildes (file, file_meta)
  • Positionen auf einem Objekt (pos)
  • Verweis auf eine Kategorie (property)
  • Verweise auf andere Abschnitte oder Inhalte (links)
  • Bearbeitungsstatus (published)

Für jedes Item können alle der aufgeführten Felder gleichzeitig verwendet werden, um einen Inhalt abzubilden. Reichen die Felder nicht aus, so können sie entweder vertieft werden, indem in den Textfeldern JSON oder XML  verwendet wird. Oder mehrere Items werden zu einem komplexen Inhalt gruppiert.

Die Item-Konfiguration legt fest, welche Felder verwendet werden, wie sie beschriftet sind und welche Funktionen sie umfassen:

SchlüsselBeschreibung
fieldsWelche Felder des Datensatzes werden genutzt? Siehe unten.
display

Darstellungsoptionen für das Item:

  • false: Der Inhalt wird ausgeblendet. 
  • highlight: Der Eintrag wird hervorgehoben.
  • addendum: Eine Zusatzinformation, die kleiner dargestellt werden soll.
  • more: Ein Button zur Auskopplung des Items wird angezeigt.
editIst der Inhalt bearbeitbar? (true | false; default = true)
publicSoll der Inhalt für Gäste sichtbar sein (true|false)?
fulltextEnthält der Inhalt Felder, die volltextindiziert werden sollen (true|false)? Zusätzlich muss bei den Feldern im fulltext-Schlüssel die Bezeichnung eines Index angegeben werden (siehe die Feldkonfiguration).
metadata

Wenn der Inhalt eine Bilddatei (aktuell wird nur jpg unterstützt) enthält, können beim Exportieren automatisch Metadaten in die Bilddatei aufgenommen werden. Dazu wird ein Objekt mit Metadatenschlüsseln und Extraktionsschlüsseln definiert. Die Extraktionsschlüssel geben an, aus welchen Feldern die Daten übernommen werden sollen. Im folgenden Beispiel wird in das Metadatenfeld dc:rights die Angabe aus dem Feld file_copyright übernommen:

{
                      "dc:rights":"file_copyright",
                      "xmpRights:UsageTerms":"file_licence"
                    }

 

Mit dem Schlüssel "filename" können zudem Umbenennungen vorgenommen werden. Beispiel:

{
                      "filename": "di-{root.project.description|json:bandnummer}-{root.signature}-{sortno|padzero:2}.{file_type}"
                    }
                    

 

geodata

Falls innerhalb eines Artikels eine Karte dargestellt werden soll, der Name des Feldes mit den Geodaten. Beispiel:

 "geodata": "value"

  Geodaten können auch aus den Properties gezogen werden: 
 

  "geodata": "property.content"
services

Buttons für externe Services, zum Beispiel Zusammenfassungen mit einem LLM. Die Services müssen in der Epigraf-Konfiguration (app.php) eingerichtet sein.  Beispielkonfiguration.

  "summary": {
                         "caption": "Automated summary",
                         "service":"llm",
                         "task": "summarize",
                         "prompts": "default",
                         "input": "article",
                         "fields": {
                           "content": "result",
                           "value": "state"
                         }
                       }
                    

Im fields-Schlüssel wird für jedes Item bestimmt, welche Felder verwendet  und wie sie beschriftet werden. Als Schlüssel werden die Feldnamen verwendet, im Wert werden die Beschriftungen und weitere Einstellungen konfiguriert. Einige der Feldschlüssel entsprechen nicht zwangsläufig den Feldern in der Datenbank, sondern stellen eine Sammelbezeichnung für zusammenhängende und von Epigraf automatisch befüllte Felder dar. Beispielsweise umfasst der Feldschlüssel date die Datenbankfelder date_value, date_sort, date_start und date_end. 

Folgende Feldschlüssel können verwendet werden:

FeldschlüsselBeschreibungDatenbankfelder
sortnoZahlenfeld. Typischerweise die Laufnummer eines Inhalts, wird zur Sortierung verwendet.sortno
itemgroupTextfeld. Wird zur Gruppierung zusammengehörender Items verwendet (siehe unten).itemgroup
propertyDas Item verweist auf eine Kategorie, zum Beispiel auf einen Standort. Zusätzlich muss im types-Schlüssel angegeben werden, auf welches Kategoriensystem (propertytype) sich die Verknüpfung bezieht.properties_id
flagged0/1-Kennzeichnung. Diese Kennzeichnung kann zum Beispiel verwendet werden, um bei Bildern zu kennzeichnen, dass sie für die Publikation vorgesehen sind.flagged
valueTextfeld. Typischerweise eine einzelne Zahl oder ein einzelner Textwert, zum Beispiel die Höhe eines Objekts. value
contentTextfeld. Typischerweise der Hauptinhalt.content
translationTextfeld. Typischerweise die Übersetzung des Inhalts im content-Feld.translation
fileDas Item bindet eine Datei ein. In der Datenbank werden dazu die Felder file_path (Ordner der Datei), file_name (Name der Datei), file_online (0/1=Ob die Datei auf dem Server oder lokal liegt) sowie file_source (Ursprungsverzeichnis der Datei vor der Einbindung in Epigraf) verwendet. Wird das Feld file verwendet, muss im Schlüssel fileroot  angegeben werden, auf welches Basisverzeichnis sich der Pfad bezieht.file_name, file_path, file_online, file_source
file_metaTextfeld zur Aufnahme von Metadaten zu einer Datei. Wird in der Regel als JSON-Feld konfiguriert, um Lizenzen und andere Angaben zu erfassen.file_meta
file_copyrightDeprecated. Textfeld. Enthält eine Copyright-Angabe zur Datei, falls keine komplexe Metadaten nötig sind.file_copyright
posZahlenfeld. Einträge können im zwei- oder dreidimensionalen Raum angeordnet werden. In der Datenbank werden dazu die Felder pos_x, pos_y und pos_z verwendet. Die horizontale und vertikale Ausdehnung des Raumes wird im jeweiligen Section-Datensatz in den Felder layout_cols und layout_rows angegeben. Die z-Achse gibt die Reihenfolge der Items an.pos_x, pox_y, pos_z
dateDer Eintrag enthält eine Datierung. In der Datenbank werden dazu die Felder date_value (natürlichsprachliche Datierung ), date_sort (Sortierschlüssel), date_start (Anfangsjahr) und date_end (Endjahr) verwendet.date_value, date_sort, date_start, date_end
date_addTextfeld. Ergänzende Angaben zur Datierung, zum Beispiel das Verfahren, mit dem die Datierung durchgeführt wurde.date_add
source_autopsy0/1-Kennzeichnung. Dient typischerweise als Markierung, ob der Inhalt selbständig angefertigt wurde. Bei Transkriptionen wird damit etwa gekennzeichnet, ob die Transkription selbst (und nicht aufgrund kopialer Überlieferung) durchgeführt wurde.source_autopsy
source_fromTextfeld. Enthält typischerweise eine Quellenangabe für den Inhalt. Im Fall von Transkriptionen etwa ein Verweis auf die verwendete kopiale Überlieferung.source_from
source_additionTextfeld. Enthält typischerweise weitere Angaben zur Quelle wie die Seitenzahlen innerhalb eines Buchs.source_addition
linksZuordnung des Items zu einer Section oder einem anderen Item innerhalb des Artikels. In der Datenbank werden dafür die Felder links_tab (Werte sections, items) und links_id (ID des referenzierten Datensatzes) verwendet. (Die zusätzlichen Felder links_field und links_tagid sind aktuell nicht verwendet, sie können perspektivisch für Verweise auf einzelne Felder und Tags innerhalb eines Datensatzes eingesetzt werden.)links_tab, links_to, links_field, links_tagid
norm_iriTextfeld. Enthält das IRI-Fragment eines Inhalts.norm_iri
publishedPublikationsstatus (0 bis 4).published

Textfelder können zur weiteren Strukturierung XML oder JSON enthalten, wenn das Format entsprechend konfiguriert ist. Reichen die Felder nicht aus, können folgende Varianten verfolgt werden:

  • Vertiefung: Die Daten werden in JSON-Objekten erfasst. Mit Unterschlüsseln können beliebige Textinhalte als eigenständige Felder angezeigt werden.
  • Item-Gruppierung: Die Daten werden auf mehrere Items aufgeteilt und einander über das Feld itemgroup zugeordnet. Alle Items innerhalb einer Section, die im Feld itemgroup den gleichen Wert enthalten, gehören zusammen.
  • Section-Gruppierung: Die Daten werden auf mehrere Items aufgeteilt und zur Gruppierung werden Sections eingesetzt. Alle Items innerhalb einer Section werden als zusammengehörig betrachtet.