XIP Format: Unterschied zwischen den Versionen

Aus SiteparkWiki
Zur Navigation springen Zur Suche springen
Zeile 10: Zeile 10:
  
  
==Templates==
 
Die Eigenschaften für Templates werden ebenfalls über Attribute bestimmt. Zusäzliche Inhalte (z.B. das Layout) werden über eine Resource beschrieben. Hier gelten die selben Bedingungen wie bei Resource-Artikeln.
 
 
Attribute bzw. Unterelemente des XML-Elements "<code>template</code>"
 
;<code>anchor</code>
 
:Anker des Templates. Dient beim wiederholten Import als Primärschlüssel dieser Daten und als Parent für die Artikel ([[String]]).
 
;<code>name</code>
 
:Name des Templates ([[String]]).
 
;<code>parent</code>
 
:Anker des Parentpools. Die Angabe muss über einen Anker erfolgen ([[String]]).
 
;<code>type</code>
 
:Optionaler Typ des Templates (Template: 6000, Tag: 6001) ([[Integer]]).
 
;<code>spml-version</code>
 
:Optionale Angabe der SPML-Version, auf der das Template basiert ([[String]]).
 
;<code>suffix</code>
 
:Dateiendung für Artikel die mit diesem Template angelegt werden ([[String]]).
 
;<code>source</code>
 
:Der SPML-Quellcode des Templates als sog. Body-Tag: <code>< source > ... < /source ></code> ([[String]]).
 
 
 
Das Feld "<code>layout</code>" wird als "<code>text</code>" innerhalb einer "<code>resource</code>" definiert und hat folgende Werte:
 
;<code>common</code>
 
:Normales Template.
 
;<code>handler</code>
 
:Template welches eigene Handler-Aufrufe enthält.
 
;<code>tag</code>
 
:Ein Tag-Template.
 
;<code>container</code>
 
:Ein Template mit Angaben zum Container.
 
 
==Rollen==
 
Die Eigenschaften für Rollen werden ebenfalls über Attribute bestimmt. Zusäzliche Inhalte können über eine Resource beschrieben werden. Hier gelten die selben Bedingungen wie bei Resource-Artikeln. Die Angabe der Publisher für diese Rolle wird über einen eigene Tag gesteuert. Dieser steht innerhalb des Tags "<code>role</code>".
 
 
Attribute des XML-Elements "<code>role</code>"
 
;<code>anchor</code>
 
:Anker der Rolle. Dient beim wiederholten Import als Primärschlüssel dieser Daten und als Parent für die Artikel ([[String]]).
 
;<code>name</code>
 
:Name der Rolle ([[String]]).
 
;<code>parent</code>
 
:Anker des Parentpools. Die Angabe muss über einen Anker erfolgen ([[String]]).
 
;<code>new-element</code>
 
:Das Recht neue Elemente anzulegen ([[Boolean]]).
 
;<code>read-element</code>
 
:Das Recht Elemente zu lesen ([[Boolean]]]).
 
;<code>modify-element</code>
 
:Das Recht Elemente zu verändern ([[Boolean]]).
 
;<code>delete-element</code>
 
:Das Recht Elemente zu löschen ([[Boolean]]).
 
;<code>duplicate-element</code>
 
:Das Recht Elemente zu duplizieren ([[Boolean]]).
 
;<code>max-element</code>
 
:Maximale Anzahl von Elementen ([[Integer]]).
 
;<code>read</code>
 
:Das Recht den aktuellen Pool zu lesen ([[Boolean]]).
 
;<code>modify</code>
 
:Das Recht den aktuellen Pool zu verändern ([[Boolean]]).
 
;<code>duplicate</code>
 
:Das Recht den aktuellen Pool zu duplizieren ([[Boolean]]).
 
;<code>new-pool</code>
 
:Das Recht neue Pools anzulegen ([[Boolean]]).
 
;<code>delete-pool</code>
 
:Das Recht Pools zu löschen ([[Boolean]]).
 
;<code>max-pool</code>
 
:Maximale Anzahl von Pools ([[Integer]]).
 
;<code>editor-level</code>
 
:Angabe des Level (Kommaseparierte Liste von [[String|Strings]])
 
;<code>is-workflow-role</code>
 
:Angabe, ob diese Rolle für Workflow verwendet werden soll ([[Boolean]]).
 
;<code>publisher</code>
 
:Dieser Tag dient zur Konfiguration der Publisher dieser Rolle. Die Angabe kann sowohl über die Publisher-ID, als auch über den entsprechenden Anker vorgenommen werden. Das Feld "<code>hide</code>" ([[Boolean]]) steuert, ob der Publisher sichtbar sein soll oder nicht.
 
<source lang="xml">
 
<publisher publisher-id="pub1" hide="true"/>
 
<publisher publisher-id="pub2" hide="false"/>
 
<publisher anchor="preview" hide="false"/>
 
</source>
 
  
 
==Artikelpools==
 
==Artikelpools==

Version vom 7. Mai 2009, 15:02 Uhr

Beschreibung

XIP (eXchange Information Package) ist ein von Sitepark entwickeltes Format zum Austausch von Daten in und aus dem IES.

Im einfachsten Fall besteht ein XIP aus einer XML-Datei. Die auszutauschenden Daten werden in einem definierten XML-Format beschrieben. Bei komplexeren Daten kann ein XIP aus mehreren Dateien bestehen, die unterhalb eines Verzeichnis liegen müssen, aber auch Unterverzeichnisse beliebiger Tiefe enthalten können. Dieses Verzeichnis kann auch mit ZIP zu einer ZIP-Datei zusammengefasst werden.

Ein XIP ist ein drei verschiedenen Formen gültig.

  1. Einfache XML-Datei
  2. Verzeichnisstruktur mit Dateien
  3. ZIP-Datei, die Verzeichnisstrukturen mit Dateien enthält


Artikelpools

Um einen Artikelpool zu importieren, muss eine XML-Datei erstellt werden, die das Root-Element "articlepool" verwendet. Attribute des Tags erlauben die Beschreibung des Pools. Alle Angaben neben Systemwerten werden innerhalb eines Resource-Tags vorgenommen. Hier gelten die selben Bedingungen wie bei Resource-Artikeln.

Attribute des XML-Elements "articlepool"

anchor
Anker des Pools. Dient beim wiederholten Import als Primärschlüssel dieser Daten und als Parent für die Artikel (String).
name
Name des Pools (String).
parent
Anker des Parentpools. Die Angabe muss über einen Anker erfolgen (String).
directory
Angabe des Arbeitsverzeichnisses dieses Artikelpools (String).

Hier ein vollständiges Beispiel eines Artikelpools:

<!--
Einen Artikelpool anlegen:

<articlepool    legt einen Artikel an

anchor          Anker des Pools (dient beim wiederholten Import als Primärschlüssel
                und als Parent für die Artikel)
name            Name des Pools
parent          Anker des Parentpools (Angabe muss über einen Anker erfolgen)
directory       Angabe des Arbeitsverzeichnisses dieses Artikelpools
-->

<articlepool
  anchor="import.pool.1"
  name="Pool für importierte Artikel (Ebene 1)"
  parent="gui.informations"
  directory="/level_1">

    <!--
      Sämtliche META-Daten eines Pools werden vom System implizit in einer
      Resource gespeichert
    -->
    <resource>
        <!--
          einfache Textfelder, in denen die Konfiguration der Artikelpools
          steht (auch hier über die Angabe von Ankern gelöst)
        -->

        <!--
          Angabe des Containers:
          "is5:gui.container.infosite.standard" oder
          "is5:gui.container.infosite.media" möglich
        -->
        <text name="container" anchor="is5:gui.container.infosite.standard"></text>

        <!--
          Angabe des Template-Pools, für die Auswahl von Templates in diesem Pool:
          Ein Anker aus dem eigenem System
        -->
        <text name="editorTemplatePool" anchor="standard.container.editing"></text>

        <!--
          Angabe des Templates für die Artikelanmeldung:
          "is5:gui.container.infosite.standard.all"
          erlaubt beispielsweise das Anlegen aller Artikeltypen
        -->
        <text
          name="registrationTemplate"
          anchor="is5:gui.container.infosite.standard.all">
        </text>

        <!-- beliebige weitere Eingabefelder -->
        <text name="sp_rubric">demo</text>
        <systemlink name="sp_parentLink" anchor="article.rubric"/>
    </resource>
</articlepool>

Angaben zur Konfiguration

Damit ein Artikelpool in InfoSite 5 so funktioniert wie ein manuell ersteller Pool, müssen bestimmte Felder mit entsprechenden META-Daten angelegt werden. Hierzu zählen im Besonderen die Angaben zum Feld "container" und "registration_template". Die Felder "editor_template_pool" und "editor_template" verweisen auf das ausgewählte Template bzw. den Templatepool, der dem Redakteur zur Verfügung steht.

<!--
Angabe des Containers:
  is5:gui.container.infosite.standard
  is5:gui.container.infosite.media
-->
<text name="container" anchor="is5:gui.container.infosite.standard"></text>

<!--
Angabe des Template-Pools, für die Auswahl von Templates in diesem Pool:
  Ein Anker aus dem eigenem System
-->
<text name="editorTemplatePool" anchor="standard.container.editing"></text>

<!--
Angabe des Templates für die Artikelanmeldung:
  is5:gui.container.infosite.standard.all
  (erlaubt z.B. das Anlegen aller Artikeltypen)
-->
<text
  name="registrationTemplate"
  anchor="is5:gui.container.infosite.standard.all">
</text>

Standard InfoSite Container

Der "Standard InfoSite Container" wird i.d.R. für alle normalen Artikelpools verwandt. Hierüber ist ein Redakteur in der Lage, Artikel jeden Typs anzulegen. Die Konfiguration der möglichen Artikeltypen wird über das Feld "registration_template" vorgenommen. Dies erfolgt in InfoSite über eine Select-Box. Im XML-Dokument müssen diese Werte manuell über Anker eingestellt werden. Folgende Anker sind dafür vorhanden:

"alle Artikel-Typen"
gui.container.infosite.standard.all
"nur Medien anlegen"
gui.container.infosite.standard.media
"nur Ressourcen anlegen"
gui.container.infosite.standard.resource
"nur Seiten anlegen"
gui.container.infosite.standard.page
"nur Seiten ohne Namensvergabe anlegen"
gui.container.infosite.standard.pageAutoName
"nur Seiten und Medien anlegen"
gui.container.infosite.standard.pageAndMedia
"nur Seiten und Ressourcen anlegen"
gui.container.infosite.standard.pageAndResource

Standard Medien Container

Der "Standard Medien Container" wird für reine Medienpools verwandt. Hier sind neben der Angabe Container keine weiteren Angaben notwendig.

Nutzer-, Template- und Rollenpools

Um einen Nutzer-, Rollen oder Templatepool zu importieren, muss eine XML-Datei erstellt werden, die das entsprechende Root-Element, also "userpool", "templatepool" oder "rolepool" verwendet. Attribute des Tags erlauben die Beschreibung des Pools. Alle Angaben neben Systemwerten werden innerhalb eines Resource-Tags vorgenommen. Hier gelten die selben Bedingungen wie bei Resource-Artikeln.

Attribute der XML-Elemente "userpool", "templatepool", "rolepool"

anchor
Anker des Pools. Dient beim wiederholten Import als Primärschlüssel dieser Daten und als Parent für die Artikel (String).
name
Name des Pools (String).
parent
Anker des Parentpools. Die Angabe muss über einen Anker erfolgen (String).