XIP Content: Unterschied zwischen den Versionen
Zeile 216: | Zeile 216: | ||
===<code><binary></code> oder <code>image</code>=== | ===<code><binary></code> oder <code>image</code>=== | ||
====Beschreibung==== | ====Beschreibung==== | ||
− | Mit diesem XML-Element werden Medien/Binäredaten definiert. Die Verwendung von <code><binary></code> und <code><image></code> für den Import | + | Mit diesem XML-Element werden Medien/Binäredaten definiert. Die Verwendung von <code><binary></code> und <code><image></code> ist für den Import äquivalent. Es existieren zwei XML-Elemente für Medien, da der Exporter zwischen Bildern und anderen Medien unterscheidet. Wird ein Medium mit einem MIME-Type "<code>image/*</code>" exportiert wird anstatt des <code><binary></code>-XML-Elementes das <code><image></code>-XML-Element verwendet. Für Bilder werden noch zusätzliche Attribute exportiert, die aber beim Import ignoriert werden. |
Es gibt zwei Möglichkeiten die Daten des Mediums anzugeben. | Es gibt zwei Möglichkeiten die Daten des Mediums anzugeben. | ||
Zeile 230: | Zeile 230: | ||
<binary ... url="file://./bin/img/image.jpg"/> | <binary ... url="file://./bin/img/image.jpg"/> | ||
</source> | </source> | ||
+ | Der Exporter verwendet immer das <code>url</code> Attribut | ||
=====BASE64===== | =====BASE64===== | ||
Die Daten des Mediums können auch direkt im XML-Element angegeben werden. Dazu müssen die Daten zunächste [http://de.wikipedia.org/wiki/Base64 BASE64] encodet werden. Die BASE64 Zeichenkette wird dann im Body des XML-Element angegeben | Die Daten des Mediums können auch direkt im XML-Element angegeben werden. Dazu müssen die Daten zunächste [http://de.wikipedia.org/wiki/Base64 BASE64] encodet werden. Die BASE64 Zeichenkette wird dann im Body des XML-Element angegeben | ||
Zeile 256: | Zeile 257: | ||
| <code>locale</code> | | <code>locale</code> | ||
| Dieses Attribut bestimmt die Mehrsprachigkeit des Feldes | | Dieses Attribut bestimmt die Mehrsprachigkeit des Feldes | ||
+ | |- | ||
+ | | colspan="2" | Attribute, die bei einem Import ignoriert werden | ||
+ | |- | ||
+ | | <code>size</code> | ||
+ | | Größe des Mediums | ||
+ | |- | ||
+ | | <code>format</code> | ||
+ | | Grafikformat des Bildes (png, gif, jpeg, ...) | ||
+ | |- | ||
+ | | <code>width</code> | ||
+ | | Breite des Bildes in Pixel | ||
+ | |- | ||
+ | | <code>height</code> | ||
+ | | Höhe des Bildes in Pixel | ||
+ | |- | ||
|} | |} | ||
====Beispiel==== | ====Beispiel==== |
Version vom 8. Mai 2009, 12:13 Uhr
Content ist der Teil des XIP, mit dem beliebige Daten und Datenstrukturen z.B. für einen Artikel definiert werden.
Content Elemente
<text>
Beschreibung
Mit diesem XML-Element wird allgemeiner Text-Content definiert. Der Text-Content wird im Body des Elementes angegeben (XML encodet). Um eine ID als Text-Content zu definieren, sollte das Attribute anchor
verwendet werden. Der Anchor wird gegen die ID aufgelöst und anstatt des Element-Bodys als Text-Content verwendet.
Erlaubte übergerodnete XML-Elemente
<article>
, <media>
, <resource>
, <item>
Attribute
Name | Beschreibung |
---|---|
name
|
Name des Feldes |
anchor
|
Der Anchor wird verwendet, um ID's als Text-Content zu verwenden. Bei einem Import wird der Anchor gegen die ID aufgelöst und als Text-Content verwendet. Wird dieses Attribut angegeben, wird der Body des Elementes ignoriert. |
locale
|
Dieses Attribut bestimmt die Mehrsprachigkeit des Feldes |
Beispiel
<text name="sp_title">Einfache XIP-Datei</text>
<text name="editorTemplatePool" anchor="standard.container.editing"/>
<date>
Beschreibung
Mit diesem XML-Element werden Datum-Informationen definiert. Ein Datum wird in Millisekunden ab dem 1.1.1970 00:00 Uhr (UTC) angegeben.
Erlaubte übergerodnete XML-Elemente
<article>
, <media>
, <resource>
, <item>
Attribute
Name | Beschreibung |
---|---|
name
|
Name des Feldes |
locale
|
Dieses Attribut bestimmt die Mehrsprachigkeit des Feldes |
Beispiel
<date name="sp_date">163119600000</date>
<number>
Beschreibung
Mit diesem XML-Element wird Nummerischer Content definiert.
Erlaubte übergerodnete XML-Elemente
<article>
, <media>
, <resource>
, <item>
Attribute
Name | Beschreibung |
---|---|
name
|
Name des Feldes |
locale
|
Dieses Attribut bestimmt die Mehrsprachigkeit des Feldes |
Beispiel
<number name="sp_number">100</number>
<mail>
Beschreibung
Mit diesem XML-Element werden Email-Adressen definiert. Inhalte werden nicht validiert und können über ".mail
" ausgegeben werden.
Erlaubte übergerodnete XML-Elemente
<article>
, <media>
, <resource>
, <item>
Attribute
Name | Beschreibung |
---|---|
name
|
Name des Feldes |
locale
|
Dieses Attribut bestimmt die Mehrsprachigkeit des Feldes |
Beispiel
<mail name="sp_mail">Email: support@sitepark.com</mail>
<email>
Beschreibung
Mit diesem XML-Element werden Email-Adressen definiert. Inhalte können validiert werden. Dieser Typ wird in der Regel vom Newsletter oder ähnlichen Modulen verwendet und kann über ".email
" ausgegeben werden.
Erlaubte übergerodnete XML-Elemente
<article>
, <media>
, <resource>
, <item>
Attribute
Name | Beschreibung |
---|---|
name
|
Name des Feldes |
locale
|
Dieses Attribut bestimmt die Mehrsprachigkeit des Feldes |
Beispiel
<text name="sp_mail">Email vom Sitepark Support</text>
<email name="sp_mail">support@sitepark.com</email>
<query>
Beschreibung
Mit diesem XML-Element werden Queries definiert. Die Queries müssen der SPQL-Syntax entsprechen.
Erlaubte übergerodnete XML-Elemente
<article>
, <media>
, <resource>
, <item>
Attribute
Name | Beschreibung |
---|---|
name
|
Name des Feldes |
locale
|
Dieses Attribut bestimmt die Mehrsprachigkeit des Feldes |
Beispiel
<query name="sp_query">parent = !{myparent}</query>
<url>
Beschreibung
Mit diesem XML-Element werden URL's definiert.
Erlaubte übergerodnete XML-Elemente
<article>
, <media>
, <resource>
, <item>
Attribute
Name | Beschreibung |
---|---|
name
|
Name des Feldes |
locale
|
Dieses Attribut bestimmt die Mehrsprachigkeit des Feldes |
Beispiel
<url name="sp_url">http://www.sitepark.com</url>
Beschreibung
Mit diesem XML-Element werden Verknüpfungen von z.B. Artikeln untereinander definiert. Eine genaue Beschreibung der verschiedenen Link-Typen ist auf der Seite Link-Service zu finden. Verknüpfungen von Artikeln (oder anderen Elementen) untereinander werden immer über ihre Anchor angegeben. Existiert bei einem Import der angegebene Anchor im System nicht, wird die Verknüpfung ignoriert.
Es ist aber möglich mehrere Artikel innerhalb eines XIP zu importieren, die untereinander Verknüpft sind, da der Import in zwei Schritten erfolgt. Zunächst werden die Artikel ohne Content angelegt, so das auch die neuen Anchor im System verfügbar sind. Im zweiten Durchlauf wird dann der Content importiert und die Artikel können untereinander Verknüpft werden, da die Anchor dann im System bekannt sind.
Erlaubte übergerodnete XML-Elemente
<article>
, <media>
, <resource>
, <item>
Attribute
Name | Beschreibung |
---|---|
name
|
Name des Feldes |
anchor
|
Anchor des Elementes, mit dem Verknüpft werden soll. |
locale
|
Dieses Attribut bestimmt die Mehrsprachigkeit des Feldes |
Beispiel
<url name="sp_url">http://www.sitepark.com</url>
<list>
Beschreibung
Mit diesenm XML-Element werden Listen definiert. Eine Liste enthält Listen-Elemente die mit <item>
-XML-Elementen definiert werden. Innerhalb eines <item>
-XML-Elementes können dann wieder alle Content-XML-Elemente enthalten sein.
Erlaubte übergerodnete XML-Elemente
<article>
, <media>
, <resource>
, <item>
Attribute
Name | Beschreibung |
---|---|
name
|
Name der Liste |
Unterelement
<item>
Beschreibung
Mit diesem XML-Element wird ein Listen-Eintrag definiert. Innerhalb eines <item>
-XML-Elementes können dann wieder alle Content-XML-Elemente enthalten sein.
Attribute
keine
Beispiel
<list name="sp_main_iterate">
<item>
<text name="sp_subheadline">Content:</text>
<text name="sp_part">Link auf die Rubrikseite</text>
<link name="sp_link" anchor="article.rubric"/>
</item>
</list>
<binary>
oder image
Beschreibung
Mit diesem XML-Element werden Medien/Binäredaten definiert. Die Verwendung von <binary>
und <image>
ist für den Import äquivalent. Es existieren zwei XML-Elemente für Medien, da der Exporter zwischen Bildern und anderen Medien unterscheidet. Wird ein Medium mit einem MIME-Type "image/*
" exportiert wird anstatt des <binary>
-XML-Elementes das <image>
-XML-Element verwendet. Für Bilder werden noch zusätzliche Attribute exportiert, die aber beim Import ignoriert werden.
Es gibt zwei Möglichkeiten die Daten des Mediums anzugeben.
url
Attribut
Über das Attribute url
kann auf eine externe Resource verwiesen werden, die bei einem Import eingelesen wird. Diese Resource kann eine HTTP-Adresse sein. Voraussetzung für einen import ist allerdings, das diese Resouce vom IES-Server aus erreichbar ist (Möglicherweise erforderliche Proxy-Einstellungen müssen im IES vorgenommen werden).
<binary ... url="http://www.sitepark.com/img/sitepark-logo_home.gif"/>
Bei einer Datei, die im gleichen XIP-Verzeichnis liegt kann der Pfad zu dieser Datei relativ mit Angabe des Protokolls file://
angegeben werden
<binary ... url="file://./img.jpg"/>
<binary ... url="file://../img/image.jpg"/>
<binary ... url="file://./bin/img/image.jpg"/>
Der Exporter verwendet immer das url
Attribut
BASE64
Die Daten des Mediums können auch direkt im XML-Element angegeben werden. Dazu müssen die Daten zunächste BASE64 encodet werden. Die BASE64 Zeichenkette wird dann im Body des XML-Element angegeben
<binary ... >
RGllIEVudHdpY2tsZXIgdm9uIFNpdGVwYXJrIHfDvG5zY2hlbiB2aWVsIFNwYXNzIG1pdCBkZXIg
WElQLVNjaG5pdHRzdGVsbGUgOi0pCg==
</binary>
Erlaubte übergerodnete XML-Elemente
<article>
, <media>
, <resource>
, <item>
Attribute
Name | Beschreibung |
---|---|
name
|
Name des Feldes |
filename
|
Dateiname für das Medium |
mime
|
MIME-Type des Mediums |
locale
|
Dieses Attribut bestimmt die Mehrsprachigkeit des Feldes |
Attribute, die bei einem Import ignoriert werden | |
size
|
Größe des Mediums |
format
|
Grafikformat des Bildes (png, gif, jpeg, ...) |
width
|
Breite des Bildes in Pixel |
height
|
Höhe des Bildes in Pixel |
Beispiel
<binary name="sp_image">
RGllIEVudHdpY2tsZXIgdm9uIFNpdGVwYXJrIHfDvG5zY2hlbiB2aWVsIFNwYXNzIG1pdCBkZXIg
WElQLVNjaG5pdHRzdGVsbGUgOi0pCg==
</binary>
Artikel
Für die drei Artikeltypen steht jeweils ein eigener XML-Tag zur Verfügung, über den die Daten angelegt, bzw. aktualisiert werden. Die Regeln für den Import der eigentlichen Inhaltsfelder ist danach für alle Artikeltypen identisch.
Die unterschiedlichen Inhaltsfelder werden in Contenttypen unterschieden. Alle Contenttypen werden über einen eigenen XML-Tag beschrieben. Die Typen sind analog zu den Typen aus InfoSite. Neben dem Attribut name
wird auch das Attribut locale
für alle Tags unterstützt. Die Tags im einzelnen sind:
binary
- Mit diesem Tag werden Upload-Felder definiert. Dies ermöglicht das Einbinden von Medien in Artikel, oder das Anlegen von Medienartikeln. Das Attribut "
url
" gibt an, wo sich die zu importierende Datei befindet. Hier ist die Angabe eines relativen oder absoluten Pfades ebenso wie die Angabe einer externen URL möglich:
<binary name="sp_externalmedia_1" url="file://../media/a.gif"/>
<binary name="sp_externalmedia_1" url="file://./image.gif"/>
<binary name="sp_externalmedia_2" url="file:///tmp/level_1/media/b.gif"/>
<binary name="sp_externalmedia_3" url="http://www.sitepark.com/btn_ies.gif"/>
publication-state
- Dieser Tag dient zur Steuerung der Publikation des Artikels. Die Angabe kann sowohl über die Publisher-ID, als auch über den entsprechenden Anker vorgenommen werden. Es sind hier nur die Publikationsbereiche anzugeben, in denen der Artikel publiziert werden soll. Alle übrigen Publikationsbereiche können weggelassen werden. Alternativ kann auch der Status auf 0 gesetzt werden. Beachten Sie, dass die Rechte des Import-Nutzer ausreichen.
<publication-state publisher-id="pub1" status="1"/>
<publication-state publisher-id="pub2" status="0"/>
<publication-state anchor="preview" status="1"/>
calendar
- Dieser Tag dient zur Beschreibung von Terminen. Auch Angaben zur Freischaltung erfolgen über diesen Tag. Zu beachten ist, dass die Zeiten als Long-Werte (Millisekunden seit 00:00:00 Uhr 01.01.1970) angegeben werden müssen.
Details zu Terminen werden über den entry
-Tag beschrieben. Folgende Attribute sind hier möglich:
from
- Long Wert für den Beginn des Termins
to
- Long Wert für das Ende des Termins
type
- Typ des Termins (
day, daily, weekly, monthlyByDay, monthlyByOccurrence, yearlyByDay, yearlyByOccurrence, yearlyByMonth
) interval
- Wiederholungsintervall des Termins (z.B. jeden 2-ten Tag)
all-day
- Ganztägiger Termin (
true
,false
) repetition-count
- Anzahl der Wiederholungen
repetition-date
- Long Wert für das Ende der Wiederholungen
dow
- Tage der Woche, an denen der Termin stattfindet (
sun,mon,tue,wed,thu,fri,sat
) dom
- Zahl für den Tag des Monats
doy
- Zahl für den Tag des Jahres
oom
- Zahl für das Vorkommen in der Woche (z.B. 1. Freitag im Monat)
moy
- Zahl für den Monat des Jahres (0=Januar, 11=Dezember)
Ein Wiederhol-Termin könnte z.B: durch folgenden XML-Code beschrieben werden:
<calendar name="sp_date">
<entry from="1208296800000" to="1208296800000"
type="weekly"
interval="0"
all-day="true"
repetition-date="1208383200000"
dow="wed,thu"/>
</calendar>
Um einen Artikel von Zeitpunkt A bis zum Zeitpunkt B in den Publikationsbereichen "www
" und "preview
" freizugeben, ist folgender XML-Code zu generieren:
<calendar name="publicationFrom">
<entry from="978351240000" to="978351240000"/>
<publish-task template="my.template.anchor">
<publisher anchor="www"/>
<publisher anchor="preview"/>
</publish-task>
</calendar>
<calendar name="publicationTo">
<entry from="1355353140000" to="1355353140000"/>
<depublish-task template-id="1010100000026042-6000">
<publisher publisher-id="pub1"/>
<publisher anchor="preview"/>
</depublish-task>
</calendar>
linktree
(ab Version 2.0.1)- Import vom LinkTrees wie z.B. Sitemaps.
Folgende Attribute sind hier möglich:
name
- Name des Feldes
parentlink
- Name des Links, der auf einen, in der zu erstellenden Struktur, übergeordneten Artikel verweist.
rootelement-anchor
- Anchor des Root-Elements des Baums. Ist kein Root-Element angegeben, wird der dazugehörige Artikel als Root-Element verwendet.
attributes
- Eine Kommaseparierte Liste von Attributen, die der Artikel enthalten und auf dessen Änderungen er reagieren soll.
localelink
- Mit diesem Attribut kann angegeben werden, ob ein Linktree sprachabhängig aufgebaut werden soll. Wird localelink auf true gesetzt, wird die Sprache des Publikationsbereichs für den Tree verwendet. Die Parentlinks, die den Baum ergeben, müssen dann mit einer Sprache definiert werden.
sortkeys
- Attribute des Artikels, nach denen der Baum sortiert werden soll. Jede Ebene des Baums wird für sich sortiert.
sortsequences
- Für jedes Sortierkriterium muss eine Sortierreihenfolge festgelegt werden, mit der bestimmt wird, ob mit dem Sortierkriterium aufsteigend (
desc
), absteigend (asc
) oder zufällig (random
) sortiert wird. sorttypes
- Für jedes Sortierkriterium kann ein Sortiertyp festgelegt werden, der bestimmt, wie sortiert wird. Dabei ist eine Sortierung von Zeichenketten (
text
) oder eine Sortierung von Zahlen (number
) möglich.
Beispiel für einen LinkTree import:
<linktree
name="sp_sitemap" parentlink="sp_parent.link" rootelement-anchor="information.sg.homepage"
localelink="true" attributes="sp_title,sp_tooltip,sp_menuSperre,sp_parent.link,editor_template"
sortkeys="name"/>
Eigene Seiten
Um einen Artikel zu importieren muss eine XML-Datei erstellt werden, die das Root-Element "article
" verwendet. Attribute des Tags erlauben die Beschreibung des Artikels. Alle Angaben neben Systemwerten werden über den oben beschriebenen Tag vorgenommen.
anchor
- Anker des Artikels. Dient beim wiederholten Import als Primärschlüssel dieser Daten (String).
name
- Name des Artikels.
parent
- Anker des Parentpools. Die Angabe muss über einen Anker erfolgen (String).
template
- Anker des Templates, welches diesem Artikel zugewiesen werden soll. Die Angabe muss über einen Anker erfolgen (String).
filename
- Der Dateiname des Artikels. Fehlt dieses Attribut, so wird der Dateiname automatisch vergeben (String).
Hier ein vollständiges Beispiel eines Artikels:
<!--
Einen Artikel anlegen:
<article legt einen Artikel an
<media legt ein Medium an
<resource legt einen Resource-Artikel an
anchor Anker des Artikels (dient beim wiederholten Import als Primärschlüssel)
name Name des Artikels
parent Anker des Parentpools (Angabe muss über einen Anker erfolgen)
template Anker des verwendeten Templates (Angabe muss über einen Anker erfolgen)
filename Dateiname des Artikels (nur für den Typ <article)
-->
<article
anchor="article.america"
name="The World according to America"
parent="import.pool.1"
template="tpl.content"
filename="article.america">
<!-- Kommantarfeld des Artikels -->
<comment>kann: Ein kleiner Kommentar</comment>
<!-- Publikationsstatus des Artikels -->
<publication-state publisher-id="pub1" status="1" />
<publication-state publisher-id="pub2" status="1" />
<!-- Einfache Inhaltsfelder -->
<text name="sp_headline">The World According To America</text>
<text name="sp_intro">
Kleine Zeichnung zum amerikanischen Verständnis der Welt.
</text>
<!-- Beispiel für einer Checkbox true/false -->
<text name="sp_textHTML">true</text>
<!-- Beispiel für eine Selectbox -->
<text name="sp_select">left</text>
<!-- ein Iterator (hier für Texte und Links) -->
<list name="sp_main_iterate">
<item>
<!-- Einfache Inhaltsfelder -->
<text name="sp_subheadline">The World:</text>
<text name="sp_part">
Hier kommt die Grafik und ein Link auf die Rubrikseite
</text>
<!-- Systemlink auf einen anderen Artikel -->
<systemlink name="sp_mon_link" anchor="article.rubric"/>
<!-- Navlink auf einen anderen Artikel -->
<systemlink name="sp_nav_link" anchor="article.content.2"/>
<!-- Link auf einen anderen Artikel -->
<link name="sp_link" anchor="article.rubric"/>
<text name="sp_link">link auf article.rubric</text>
<!-- Link auf ein Medium -->
<systemlink name="sp_image" anchor="image.america"/>
<!-- Externe URL und Linktext -->
<text name="sp_external">www.google.de</text>
<url name="sp_external">http://www.google.de</url>
</item>
</list>
<!--
ein Upload-Feld (das Medium wird beim Import von der angegebenen URL
(extern oder relativ) geladen)
-->
<binary name="sp_externalmedia" url="http://www.sitepark.com/btn_ies.gif"/>
</article>
Medien
Um ein Medium zu importieren, muss neben dem eigentlichen Medium eine XML-Datei erstellt werden, die das Root-Element "media
" verwendet. In dieser Datei wird das Medium beschrieben und ein Anker zugewiesen. Alle Angaben neben Systemwerten werden über den oben beschriebenen Tag vorgenommen.
Hier ein vollständiges Beispiel eines Medienimports:
<!--
Einen Artikel anlegen:
<article legt einen Artikel an
<media legt ein Medium an
<resource legt einen Resource-Artikel an
anchor Anker des Artikels (dient beim wiederholten Import als Primärschlüssel)
name Name des Artikels
parent Anker des Parentpools (Angabe muss über einen Anker erfolgen)
template Anker des verwendeten Templates (Angabe muss über einen Anker erfolgen)
filename Dateiname des Artikels (nur für den Typ <article)
-->
<media
anchor="image.america"
name="The World according to America (IMAGE)"
parent="import.pool.media">
<!-- Kommantarfeld des Artikels -->
<comment>kann: Ein kleiner Kommentar</comment>
<!-- Publikationsstatus des Artikels -->
<publication-state publisher-id="pub1" status="1" />
<publication-state publisher-id="pub2" status="1" />
<!--
ein Upload-Feld (das Medium wird beim Import von der angegebenen URL
(extern oder relativ) geladen)
-->
<binary url="file://./america.gif"/>
</media>
Resourcen
Falls Resourceartikel importiert werden sollen, steht der Tag "resource
" zur Verfügung. Die Beschreibung der Daten erfolgt analog zu den anderen Artikeltypen. Lediglich das Root-Element muss vom Typ "resource
" sein.
Hier ein vollständiges Beispiel eines Medienimports:
<!--
Einen Artikel anlegen:
<article legt einen Artikel an
<media legt ein Medium an
<resource legt einen Resource-Artikel an
anchor Anker des Artikels (dient beim wiederholten Import als Primärschlüssel)
name Name des Artikels
parent Anker des Parentpools (Angabe muss über einen Anker erfolgen)
template Anker des verwendeten Templates (Angabe muss über einen Anker erfolgen)
filename Dateiname des Artikels (nur für den Typ <article>)
-->
<resource
anchor="article.externe.url"
name="Eine externe URL"
parent="import.pool.1"
template="tpl.external">
<!-- Kommantarfeld des Artikels -->
<comment>kann: Ein kleiner Kommentar</comment>
<!-- Publikationsstatus des Artikels -->
<publication-state publisher-id="pub1" status="1" />
<publication-state publisher-id="pub2" status="1" />
<!--
Externe URL und Linktext.
name "external" sorgt bei Resource-Artikeln automatisch für die Ausgabe
der richtigen URL
-->
<text name="external">www.google.de</text>
<url name="external">http://www.google.de</url>
</resource>