Die Konfiguration der Objekt-Typen erfolgt im SiteKit in der Konfigurations-Datei

srv/main/webapp/WEB-INF/config/objectTypes.json

und in den Kunden-Modulen unter

srv/main/webapp/WEB-INF/config/client/[anchor]/objectTypes.json

Das Beispiel für den Text-Abschnitt zeigt die Konfiguration für einen Abschnitt.

"home": {
	"id": "home",
	"name": "Startseite",
	"order" : 1,
	"home" : true,
	"objectclass": "GeneratableFile",
	"maxOccurrence" : 1,
	"rules" :{
		"create" : {
			"name" : "Startseite",
			"fields" : {
				"filename" : {
					"disabled" : true,
					"defaultValue": "index"
				}
			}
		},
		"remove" : {
			"disabled" : true
		}
	},
	"aggregator": {
		"suffix":"php",
		"module" : "sitekit-module",
		"uri" : "/aggregator/main.spml",
		"hooks": {
			"data" :{
				"module" : "sitekit-module",
				"uri" : "/aggregator/objectTypes/home.spml"
			}
		}
	}
}
  • id - Innerhalb des Objekt-Typen eindeutige ID. Diese muss aus technischen Gründen identisch mit dem JSON-Key für diesen Objekt-Types sein.
  • name - Name des Objekt-Types. Dieser wird bei der Auswahl der Objekt-Typen angezeigt.
  • order - Sortierkriterium, wenn eine Liste von Objekt-Typen dargestellt wird.
  • home - Zeigt an, ob es sich bei diesem Objekt-Type um eine Homepage handelt.
  • rubric - Zeigt an, ob es sich bei diesem Objekt-Type um eine Rubrik handelt.
  • global : Zeigt an, ob es sich um globale Daten (wie Header-Footer oder Cookie-Nutzungshinweis) handelt,
  • objectclass - Objekt-Klassen: Artikel, Resource, Medium, … die verwendet werden soll (Siehe IES-API).
  • webIndex - Konfigurationen für die Volltextindizierung (Solr)
    • enabled : Gibt an, ob das Objekt indiziert werden soll.
  • editorLevel - Editor-Level spezifische Konfiguration. Siehe auch Editor-Level.
  • maxOccurrence - Gibt an, wie viele Objekte/Artikel von diesem Type in einer Gruppe/Artikel-Pool enthalten sein dürfen.
  • rules - Enthält Regeln im Umgang mit diesem Objekt-Type. Diese Regeln können das Erstellen von Objekten/Artikeln vereinfachen und sollen Fehlbedienungen verhindern.
    • create - Regeln zum Erstellen eines Objektes/Artikels
      • name - Name, der für dieses Objekt vorgeschlagen wird.
      • anchor - Anker der diesem Objekt beim erstellen vergeben werden soll
      • fields - Regeln für einzelnen Eingabefelder
        • filename Regeln für das Dateinamen-Feld
          • disabled - Hierüber kann gesteuert werden, das der Vorgabewert nicht geändert werden kann.
          • defaultValue - Gibt eine Vorgabewert für den Dateinamen an.
    • createFirst - Regeln zum Erstellen eines Objektes wenn dieser der erste im Pool ist
      • Unterstützt alle Eigenschaften von `create
    • copy - Regeln zum Kopieren
      • source - Regeln wenn Objekt kopiert wird
        • options - Einstellungen für das Kopier-Kontext-Menü
          • copypublication - Einstellungen für Publikation übernehmen
            • disabled - Gibt an ob diese Option deaktiviert ist
            • defaultValue - Gibt an ob diese Option initial ausgewählt ist
    • remove - Regeln zum Löschen des Objektes/Artikels
      • disabled - Hierüber kann gesteuert werden, ob das Objekt gelöscht werden darf.
  • aggregator - Aggregator mit dem die Datei erzeugt wird.
    • module - ID des Modules in dem der Aggregator liegt.
    • uri - Pfad zur Aggregator-Datei. Diese ist in der Regel /aggregator/main.spml um eine PHP-Datei im SiteKit-Format zu erzeugen. Es gibt weitere Aggregatoren, die in Einzelfällen Verwendung finden: /aggregator/json.spml, /aggregator/staticHtml.spml, /aggregator/text.spml, /aggregator/array.spml
    • suffix - Suffix den die generierte Datei erhalten soll.
    • hooks - Hierüber besteht die Möglichkeit spezialisierte Templates einzuhängen.
      • data - Hook der verwendet wird wenn die Daten gesammelt sind.
        • module - ID des Modules in dem der Aggregator liegt.
        • uri - Pfad zur Aggregator-Datei.
  • steps - Schritte die für diesen Objekt-Typ verwendet werden sollen.

Hinweis zu den Regeln rules: Einige Regeln sind dafür gedacht Fehlbedienungen zu verhindern. Dennoch ist es manchmal notwendig sich über diese Regeln hinweg zu setzten. Über die Infosite 6 Einstellungen ist es möglich diese Restriktionen zu deaktivieren.

Defaultwert für den Anker

Bei der Erstellung von Objekten kann man einen Anker vorbestimmen. Dazu nimmt man eine rule-Definition zur Hilfe wie dieses Beispiel zeigt:

{
	"pixxioCollections": {
		"id" : "pixxioCollections",
		"order" : 1,
		"maxOccurrence" : 1,
		"name" : "Pixxio Collections",
		"rules" : {
				"create" : {
						"name" : "Pixxio Collections",
						"anchor": "ies.infp.lib.pixxioCollections",
						"fields" : {
								"directory" : {
										"defaultValue" : "collections"
								}
						}
				}
		},
		"parentGroupTypes" : [
				"moduleAdministrationGroup"
		]
	}
}