FS_INDEX
Inhaltsverzeichnis |
zum Beispiel |
zu den Methoden: Index<Index$Record> |
Mithilfe der Eingabekomponente FS_INDEX ist es möglich, externe Komponenten oder Module anzubinden, die der Eingabekomponente Daten zur Verfügung stellen sollen. Diese Daten können dann über FS_INDEX ausgewählt, d.h. referenziert werden. Funktion und Aussehen sind dabei stark von der individuellen Implementierung des Moduls abhängig.
Im Standard-Umfang von FirstSpirit ist eine Lösung zur Auswahl von Datensätzen aus Datenquellen des Projekts enthalten. Der Name des zugehörigen DataAccess-Plug-in lautet DatasetDataAccessPlugin und kann über das Attribut name des Tags <SOURCE /> angegeben werden. Siehe dazu auch das untenstehende Beispiel Auswahl von Datensätzen.
Für die Verwendung des DatasetDataAccessPlugin sind Datensätze erforderlich, die über eine GID verfügen (Spalte „FS_GID“). (Zu Informationen zur GID siehe auch Datenbankanbindung (→Dokumentation für Administratoren).) |
Der Abschnitt Verwendung anderer Datenzugriff-Plugins illustriert die Verwendung von DataAccess-Plugins, die mittels FirstSpirit-Modulen zur Verfügung gestellt werden.
Die Unterseite Zugriff auf FS_INDEX-Daten beschreibt die Schnittstellen, die Zugriff auf die Wertemenge einer FS_INDEX-Eingabekomponente ermöglichen.
Je nach verwendetem Plug-in bietet die Eingabekomponente dem Redakteur folgende Funktionen:
- Eintrag hinzufügen (ADD)
Über dieses Icon (oder über die Tastenkombination Strg+N) wird ein bestehender Datensatz bzw. ein Element zum Index (FS_INDEX) hinzugefügt. Jedes Element kann dabei nur einmal ausgewählt werden. - Neuen Eintrag anlegen (NEW)
Über dieses Icon (oder über die Tastenkombination Strg+Umschalt+N) wird ein neuer Datensatz bzw. ein neues Element angelegt und zum Index hinzugefügt.
Die neuen Daten werden abhängig vom Plug-in angelegt, im Beispiel des DatasetDataAccessPlugins beispielsweise in der über <TEMPLATE/> angegebenen Datenbanktabelle. - Eintrag anzeigen
Beim Klick auf dieses Icon (oder über die Tastenkombination Strg+G bzw. Doppelklick) öffnet sich der referenzierte Datensatz bzw. das Element in einem neuen Register im Bearbeitungsbereich. - Eintrag entfernen (REMOVE)
Mit einem Klick auf dieses Icon (oder über Entf) wird der markierte Datensatz bzw. das Element aus dem Index (FS_INDEX) entfernt. (Der Datensatz selbst bleibt erhalten, wird aber über die Komponente nicht mehr referenziert.) Das Entfernen des Eintrags muss zuvor durch eine Sicherheitsabfrage bestätigt werden. - Eintrag verschieben
Mit einem Klick auf diese Icons kann die Reihenfolge der Einträge geändert werden. Alternativ können ein oder mehrere Beiträge mit gedrückter Maustaste verschoben werden (Drag-and-drop).
Das Deaktivieren einer oder mehrerer Funktionen (Ausnahme: Verschieben und Anzeigen) kann über Regeln erfolgen (siehe auch spezielle Unterseiten, z. B. zur Eigenschaft EDIT). Dazu werden die oben in Klammern stehenden Schlüsselworte verwendet. Das Bearbeiten eines Eintrags kann über das Schlüsselwort EDIT unterbunden werden.
Beispiel:
<RULES>
<RULE when="ONLOCK">
<WITH>
<FALSE/>
</WITH>
<DO>
<PROPERTY name="NEW" source="fs_index"/>
</DO>
</RULE>
</RULES>
In diesem Beispiel wird das Anlegen neuer Einträge unterbunden. Das entsprechende Icon ist inaktiv.
Im folgenden Beispiel sind nur 3 Einträge zugelassen:
<RULES>
<RULE>
<WITH>
<LESS_THAN>
<PROPERTY name="SIZE" source="fs_index"/>
<NUMBER>3</NUMBER>
</LESS_THAN>
</WITH>
<DO>
<PROPERTY name="NEW" source="fs_index"/>
</DO>
</RULE>
</RULES>
Zu Informationen über für Drag-and-drop unterstützte Transfer-Typen siehe Seite Drag-and-drop.
FS_INDEX übernimmt weitgehend die Funktionen der deprecateten Eingabekomponente FS_LIST, Typ DATABASE. Zu einer Umstellung von FS_LIST zu FS_INDEX siehe Migrationsleitfaden FS_LIST.
Pflichtparameter
Optionaler Parameter
Optionaler Parameter
Optionaler Parameter
Optionaler Parameter
Optionaler Parameter
Optionaler Parameter
Optionaler Parameter
Optionaler Parameter
Pflichtparameter
Optionaler Parameter
Optionaler Parameter
Pflichtparameter
Parameter
Der nachfolgenden Tabelle können die Parameter der Eingabekomponente FS_INDEX entnommen werden.
name
Das Attribut "name" ist der Variablenname einer Eingabekomponente, mit dem in den Vorlagen - mit Hilfe von $CMS_VALUE()$ - das Ergebnisobjekt der Eingabekomponente verwendet oder der Inhalt ausgegeben werden kann.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
name* | Ja | 3.1 | Designator | Keiner |
convertEntities
Mit dem Attribut "convertEntities" werden Sonderzeichen, die in die Eingabekomponente eingegeben wurden, bei der Ausgabe in HTML-Zeichen umgewandelt.
Es gibt hier drei Ausprägungen:
- convertEntities="NONE" (Standard)
- convertEntities="STANDARD"
- convertEntities="QUOTE"
Bei NONE werden keinerlei Konvertierungsregeln angewendet.
Wird STANDARD angegeben, so werden die Konvertierungsregeln angewendet, die im Bereich "convert" der ausgewählten Konvertierungsregel des Vorlagensatzes stehen.
Die Angabe QUOTE schließt STANDARD explizit mit ein. Es wird jedoch zusätzlich der Bereich "quote" der Konvertierungsregel angewendet.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
convertEntities | Nein | 2.0 | ConvertEntity | NONE |
height
Mit dem Parameter height wird die Anzeigehöhe der Eingabekomponente festgelegt. Als Wert erwartet der Parameter eine Ganzzahl.
Die hier gewählte Zahl gibt, basierend auf dem initialen Anzeigemodus der Eingabekomponente (siehe Parameter viewMode), die Anzahl der Zeilen an, die in der Komponente komplett sichtbar sind. Darüber hinaus wird noch ein Teil einer weiteren Zeile sichtbar gemacht, um Benutzern anzuzeigen, dass die Eingabekomponente noch mehr Einträge beinhält.
Der Standardwert ist 4.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
height | Nein | 5.2 | PositiveInteger | 4 |
hidden
Mit dem Parameter "hidden" kann eine Eingabekomponente für den Redakteur ausgeblendet werden.
Bei der Angabe von hidden="YES" wird die Eingabekomponente ausgeblendet, bei hidden="NO" nicht.
Der Standardwert für hidden ist NO, so dass Eingabekomponenten standardmäßig für den Redakteur sichtbar sind.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
hidden | Nein | 4.0.44 | YesNo | NO |
indexTreatment
Die Indizierung von Datensätzen, die mittels dieser Eingabekomponente referenziert werden, kann so konfiguriert werden, dass die Pfadlänge berücksichtigt wird. So kann beispielsweise bestimmt werden, ob zu einem Ausgangs-Datensatz nur die Inhalte dieses Datensatzes oder auch Inhalte referenzierter Datensätze indiziert werden sollen. Sollen auch Inhalte referenzierter Datensätze mit indiziert werden, kann angegeben werden, bis zu welcher Pfadlänge sie berücksichtigt werden sollen. So bedeutet eine Pfadlänge "2" beispielsweise, dass zusätzlich zu den Inhalten des Ausgangs-Datensatzes auch Inhalte von Datensätzen indiziert werden, die vom Ausgangs-Datensatz referenziert werden sowie Inhalte von Datensätzen, die von den referenzierten Datensätzen referenziert werden.
Diese Pfadlänge kann mithilfe des Parameters indexing.relationshipPathLengthToFollow in der Konfigurationsdatei fs-server.conf definiert werden. Standardmäßig werden im Falle dieser Eingabekomponente zu Datensätzen auch die Inhalte von direkt referenzierten Datensätzen indiziert (Pfadlänge "1").
Diese Konfiguration gilt serverweit für alle Projekte. Auf Projekt-/Komponentenebene kann der Parameter indexTreatment verwendet werden, um die durch indexing.relationshipPathLengthToFollow definierte Pfadlänge über spezielle Tabellen hinweg manuell zu verlängern und damit quasi den Wert des Parameters indexing.relationshipPathLengthToFollow für bestimmte Eingabekomponenten zu erhöhen. Wird
indexTreatment="follow"
gesetzt, werden Datensätze, die über die betreffende Eingabekomponenten referenziert werden, bei einer Indizierung des Ausgang-Datensatzes mit berücksichtigt. Wird der Parameter nicht gesetzt (entspricht indexTreatment="default"), werden referenzierte Datensätze gemäß der Konfiguration von indexing.relationshipPathLengthToFollow mit indiziert. Die Indizierung kann über das Setzen von indexTreatment also immer nur ausgeweitet werden, aber nicht eingeschränkt.
Soll der Pfad über mehrere Tabellen hinweg mittels indexTreatment="follow" verlängert werden, muss indexTreatment="follow" in einer entsprechenden Eingabekomponente in jeder Tabelle entlang des gewünschten Pfades vorhanden sein. Wird in einer Tabellenvorlage kein indexTreatment="follow" gesetzt (entspricht indexTreatment="default"), bricht die Indizierung ab.
Für weitere Informationen siehe auch Seite Suche und Indizierung.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
indexTreatment | Nein | 5.2.12 | Treatment | DEFAULT |
preset
Mit dem Attribut preset kann festgelegt werden, wie Vorgabewerte in einer Eingabekomponente behandelt werden (vgl. dazu auch Kapitel Vorgabewerte). Wird preset="default" gesetzt, wird der im Formular definierte Rückgriffwert verwendet. Nachträgliche Änderungen im Formular an diesem Wert wirken sich auf alle Verwendungen in den vom Redakteur gepflegten Eingabekomponenten aus, solange bis ein manueller Wert in die Eingabekomponente gesetzt wird. Dies ist die Standardeinstellung. Wird preset="copy" gesetzt, wird der durch den Redakteur gewählte Wert "hart" in der Eingabekomponente gespeichert. Nachträgliche Änderungen am Vorgabewert im Formular wirken sich nicht aus.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
preset | Nein | 4.0 | Preset | DEFAULT |
searchRelevancy
Mithilfe dieses Parameters kann definiert werden, mit welcher Gewichtung Inhalte dieser Eingabekomponente in Suchergebnissen angezeigt werden (SiteArchitect: Globale Suche (Globale Suche (→Handbuch FirstSpirit SiteArchitect)), Suche in Datenquellen (Suche (→Handbuch FirstSpirit SiteArchitect)) | ContentCreator: Suche im Report-Bereich). So kann beispielsweise festgelegt werden, dass Suchtreffer in Überschriften prominenter in den Suchergebnissen angezeigt werden als Suchtreffer in Fließtexten. Andererseits können auch Eingabekomponenten ganz von der Suchindizierung ausgenommen werden, was in einer erhöhten Performanz der Indizierung resultieren kann.
Für diese Konfiguration der Suche stehen folgende Werte für eine Gewichtung zur Verfügung:
- none: Der Inhalt einer mit diesem Attribut versehenen Eingabekomponente wird nicht indiziert. Seiten, Absätze und Datensätze, die Inhalte enthalten, die in auf diese Weise konfigurierten Eingabekomponenten gespeichert sind, werden nicht als Suchtreffer angezeigt. Eine Suche nach in solchen Komponenten gespeicherten Inhalten per Drag-and-drop ist nicht möglich ("Das Feld kann nicht für die Suche verwendet werden, da es als nicht relevant markiert ist."). Solche Felder sind auch in der "Einfachen Suche" in Datenquellen entsprechend markiert ("Kann nicht durchsucht werden.").
- default: Der Inhalt der Eingabekomponente wird mit normaler Gewichtung indiziert. Hierbei handelt es sich um die Standardeinstellung.
- high: Der Inhalt einer mit diesem Attribut versehenen Eingabekomponente wird mit erhöhter Gewichtung in Suchergebnissen angezeigt (Ausnahme: Suche nach Datensätzen). Das heißt, ist der Suchbegriff sowohl in einer Eingabekomponente enthalten, die mit searchRelevancy="high" versehen ist, als auch in einer Eingabekomponente, die mit searchRelevancy="default" versehen ist, wird ein Suchtreffer, der in der Eingabekomponente mit searchRelevancy="high" gespeichert ist, an höherer Position in den Suchergebnissen angezeigt.
Wird der Parameter nicht angegeben, wird die Eingabekomponente für den Suchindex normal gewichtet (searchRelevancy="default").
Auswertungshierarchie:
- Ist für diese Eingabekomponente ("außen") searchRelevancy="none" konfiguriert,
- werden Eingabekomponenten von inneren Einträgen nicht indexiert, unabhängig von den searchRelevancy-Einstellungen der Eingabekomponenten der für innere Einträge verwendeten Vorlagen.
- Ist für diese Eingabekomponente ("außen") searchRelevancy="default" konfiguriert,
- werden Eingabekomponenten in inneren Einträgen, für die searchRelevancy="none" gesetzt ist, nicht indexiert,
- werden Eingabekomponenten in inneren Einträgen, für die searchRelevancy="default" gesetzt ist, bei der Indexierung normal gewichtet,
- werden Eingabekomponenten in inneren Einträgen, für die searchRelevancy="high" gesetzt ist, bei der Indexierung höher gewichtet.
- Ist für diese Eingabekomponente ("außen") searchRelevancy="high" konfiguriert,
- werden Eingabekomponenten in inneren Einträgen, für die searchRelevancy="none" gesetzt ist, nicht indexiert,
- werden Eingabekomponenten in inneren Einträgen, für die searchRelevancy="default" oder searchRelevancy="high" gesetzt ist, bei der Indexierung höher gewichtet.
Hinweis: Auch Kennsätze (Register Schnipsel von Vorlagen, Feld "Kennsatz") werden indiziert. Wird für eine Eingabekomponente die Suchrelevanz auf none gesetzt (searchRelevancy="none") und der Inhalt gleichzeitig als Kennsatz in der Schnipsel-Definition der Vorlage verwendet, so wird das entsprechende Objekt dennoch gefunden.
Siehe auch
- Seite Suche und Indizierung
- Interface GomSearchRelevancy (Package de.espirit.firstspirit.access.store.templatestore.gom, FirstSpirit Access-API)
- Interface SearchService (Package de.espirit.firstspirit.access.search, FirstSpirit Access-API)
- Interface QueryAgent (Package de.espirit.firstspirit.agency, FirstSpirit Access-API)
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
searchRelevancy | Nein | 5.2.305 | Relevancy | DEFAULT |
useLanguages
Mit dem Parameter useLanguages kann festgelegt werden, ob eine Eingabekomponente für verschiedene Sprachen unterschiedliche bzw. abweichende Werte speichern soll oder nicht (mehrsprachige Pflege).
Wird der Parameter nicht angegeben so werden standardmäßig abweichende Werte für die verschiedenen Sprachen gespeichert.
Bei der Angabe von NO (...useLanguages="NO") wird ein Wert für alle Sprachen gespeichert.
Ab FirstSpirit-Version 5.2R5 wird useLanguages="YES" potenziell nicht mehr berücksichtigt. Siehe dazu Parameter forbidPolyglotDataHierarchy (FS_CATALOG).
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
useLanguages | Nein | 2.0 | YesNo | YES |
viewMode
Über diesen Parameter kann die initiale Anzeige der Einträge in dieser Eingabekomponente gesteuert werden.
- DETAILS: Detailansicht der Einträge. Dies ist der Standardwert.
- HEADERS: Listenansicht der Einträge.
- SYMBOLS: Es werden nur Symbole angezeigt.
Beispiel:
viewMode="HEADERS"
Die Darstellungsweise kann in jeder Eingabekomponente vom Redakteur selbst gewählt werden.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
viewMode | Nein | 5.2 | ViewMode | DETAILS |
LANGINFOS
Über das Tag LANGINFOS können für jede Eingabekomponente sprachabhängige Angaben definiert werden, z. B. wie die Eingabekomponente in den unterschiedlichen Projektsprachen betitelt sein soll (Parameter label), welcher Tooltip angezeigt werden soll (Parameter description) usw. Aus Gründen der Übersichtlichkeit werden dabei Definitionen, die in mehreren Sprachen identisch sind, zusammengefasst. So wird z. B. aus
<LANGINFOS>
<LANGINFO lang="*" label="Date" format="dd.MM.yy"/>
<LANGINFO lang="DE" label="Date" format="dd.MM.yy"/>
<LANGINFO lang="EN" label="Date" format="MM/dd/yy"/>
</LANGINFOS>
beim Speichern
<LANGINFOS>
<LANGINFO lang="*" label="Date" format="dd.MM.yy"/>
<LANGINFO lang="EN" label="Date" format="MM/dd/yy"/>
</LANGINFOS>
Die Definition für den Rückfallwert (*) bleibt dabei immer erhalten, von Definitionen für Sprachen mit gleichen Werten bleibt immer die oberste erhalten.
Ab FirstSpirit-Version 4.2R4 kann der Rückfallwert weggelassen werden. Dann wird beim Speichern automatisch die zuerst definierte Sprache als Rückfallwert verwendet, z. B. wird aus
<LANGINFOS>
<LANGINFO lang="EN" label="Date"/>
<LANGINFO lang="DE" label="Datum"/>
</LANGINFOS>
beim Speichern
<LANGINFOS>
<LANGINFO lang="*" label="Date"/>
<LANGINFO lang="DE" label="Datum"/>
</LANGINFOS>
LANGINFO
Mit dem Tag LANGINFO werden Werte oder Attribute für eine Sprache oder aber für die Verwendung als Rückfallwerte angegeben.
Um Werte bzw. Attribute für eine Sprache anzugeben ist im Parameter lang die Abkürzung der Projektsprache anzugeben:
...
<LANGINFO lang="DE".../>
...
Rückfallwerte werden mit dem speziellen Sprachkürzel * ("für alle Sprachen") angegeben:
...
<LANGINFO lang="*".../>
...
Bei dem Parameter lang handelt es sich um einen Pflichtparameter.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
lang* | Ja | 3.1 | LanguageAbbreviation | Keiner |
description | Nein | 3.1 | String | Keiner |
label | Nein | 3.1 | String | Keiner |
lang
Mit dem Parameter lang wird das Sprachkürzel, das in den Servereigenschaften im Feld Abkürzung eingetragen ist (siehe Sprach-Vorlagen (→Dokumentation für Administratoren)), angegeben, um festzulegen, für welche Projektsprachen die Definitionen gelten sollen, z. B. DE für Deutsch, EN für Englisch, FR für Französisch usw. Folgende Zeichen können dabei beliebig oft angegeben werden: -, _, 0-9 und A-Z. Kleinbuchstaben werden nach dem Speichern der Vorlage automatisch in Großbuchstaben umgewandelt. Alternativ kann * für Rückfallwerte verwendet werden.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
lang* | Ja | 3.1 | LanguageAbbreviation | Keiner |
description
Über den Parameter description kann eine Beschreibung angegeben werden, wie die Eingabekomponente vom Redakteur verwendet und befüllt werden soll. Der hier definierte Text wird als Tooltip bei Mouse-Over an der betreffenden Eingabekomponente eingeblendet.
Der Text soll dem Redakteur als Hilfestellung dienen und so kurz wie möglich, verständlich und relevant sein. Er sollte zum Label (Parameter label) passen bzw. dieses geeignet ergänzen.
Achten Sie darauf, dabei Terminologie zu verwenden, die der Redakteur kennt und erwartet.
Beispiel:
...description="Bitte geben Sie hier den Text für die Überschrift ein (H1)."...
Tipp: Wenn Sie wissen möchten, wie Sie Redakteure beim Befüllen von Eingabekomponenten noch besser unterstützen und anleiten können, schauen Sie sich das Kapitel zu Regeln sowie weitere Parameter und Funktionen von Formularen an.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
description | Nein | 3.1 | String | Keiner |
label
Mithilfe des Parameters label definieren Sie das Label (die Beschriftung) der Eingabekomponente.
Wählen Sie ein möglichst kurzes und aussagekräftiges Label.
In Verbindung mit einer relevanten Beschreibung (Parameter description) können Sie den Redakteur darin unterstützen, die Eingabekomponente korrekt und erfolgreich zu verwenden.
Beispiel:
... label="Überschrift (H1)" ...
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
label | Nein | 3.1 | String | Keiner |
SOURCE
Definiert die Quelle für verwaltete Referenzen.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
name* | Ja | 5.2 | String | Keiner |
name
Über diesen Pflichtparameter wird das gewünschte DataAccess-Plug-in angegeben.
Um das im Standard-Umfang von FirstSpirit enthaltene DataAccess-Plug-in zu referenzieren, wird hier der Referenzname des DataAccess-Plug-in angegeben:
<SOURCE name="DatasetDataAccessPlugin">
Siehe dazu auch Beispiel 1) Auswahl von Datensätzen per "DatasetDataAccessPlugin".
Um eigene Plug-ins zu referenzieren, muss zusätzlich zum Referenznamen des Plug-in zuerst der Name des Moduls angegeben werden, getrennt durch einen Schrägstrich, z. B.
<SOURCE name="example_webedit/TextBlocksDataAccessPlugin"/>
wobei "example_webedit" der Name des Moduls und "TextBlocksDataAccessPlugin" der Name des Plug-in ist.
Siehe dazu auch Beispiel 2) Implementierung von eigenen Plug-ins.
Parameter | Pflichtparameter | Seit | Typ | Standardwert |
---|---|---|---|---|
name* | Ja | 5.2 | String | Keiner |
Beispiel
Ein Beispiel für die Eingabekomponente FS_INDEX:
<FS_INDEX name="BEZEICHNER">
<LANGINFOS>
<LANGINFO lang="*" label="TEXT_FALLBACK"/>
<LANGINFO lang="DE" label="TEXT_DE"/>
<LANGINFO lang="EN" label="TEXT_EN"/>
</LANGINFOS>
<SOURCE name="DatasetDataAccessPlugin">
<TEMPLATE uid="BEZEICHNER"/>
</SOURCE>
</FS_INDEX>
Verwendungsbeispiele in der Vorlagensyntax
1) Auswahl von Datensätzen per "DatasetDataAccessPlugin"
Im Standard-Umfang von FirstSpirit ist eine Lösung zur Auswahl von Datensätzen aus Datenquellen des Projekts enthalten. Der Name des zugehörigen DataAccess-Plug-in lautet DatasetDataAccessPlugin.
Für die Verwendung des DatasetDataAccessPlugin sind Datensätze erforderlich, die über eine GID verfügen (Spalte „FS_GID“). (Zu Informationen zur GID siehe auch Datenbankanbindung (→Dokumentation für Administratoren).) |
Beispiel:
<FS_INDEX name="st_index">
<LANGINFOS>
<LANGINFO lang="*" label="Dataset selection"/>
<LANGINFO lang="DE" label="Datensatzauswahl"/>
</LANGINFOS>
<SOURCE name="DatasetDataAccessPlugin">
<TEMPLATE uid="Products.products"/>
</SOURCE>
</FS_INDEX>
TEMPLATE: Mit dem Pflicht-Tag TEMPLATE wird die Referenz zur gewünschten Tabellenvorlage angegeben.
Die Angabe der Referenz wird dafür benötigt, um festzulegen, aus welcher Tabelle ausgewählt werden kann und welche Eingabekomponenten dargestellt werden sollen.
Als Wert ist für den Parameter uid der eindeutige Bezeichner der Tabellenvorlage anzugeben.
Darüber hinaus stehen folgende Tags und Parameter bei Verwendung dieses Plug-in zur Verfügung:
<FS_INDEX name="st_index">
<LANGINFOS>
<LANGINFO lang="*" label="Dataset selection"/>
<LANGINFO lang="DE" label="Datensatzauswahl"/>
</LANGINFOS>
<SOURCE name="DatasetDataAccessPlugin">
<TEMPLATE uid="Products.products"/>
<QUERY name="Products.names>
<PARAM name="name">DS%</PARAM>
</QUERY>
</SOURCE>
</FS_INDEX>
QUERY: Mit dem Tag QUERY kann eine Abfrage angegeben werden, anhand derer die Menge der Datensätze, aus denen mithilfe der Eingabekomponente ausgewählt werden kann, eingeschränkt wird.
name: Über den Parameter name wird der Referenzname der Abfrage angegeben, z. B.
<QUERY name="Products.names"/>
PARAM: Sind für die über QUERY definierte Abfrage Parameter vorhanden (Register Parameter der Abfrage), kann diesen Parametern mit dem Tag PARAM ein Wert übergeben werden.
name: Mithilfe des Parameters name wird der Name des Abfrage-Parameters angegeben.
Der Wert des Abfrage-Parameters wird innerhalb eines öffnenden und schließenden PARAM-Tags angegeben, z. B.
<QUERY name="Products.names">
<PARAM name="name">DS%</PARAM>
</QUERY>
Dabei ist „name“ ein für die Abfrage definierter Parameter, „DS%“ der Wert. Es werden also alle Produkte gesucht, deren Name mit „DS“ beginnt. Der Quelltext der Abfrage sieht so aus:
<QUERY entityType="Products">
<FILTERPARAM parameter="name" datatype="java.lang.String" value="DS%"/>
<LIKE attribute="Name_EN" parameter="name"/>
</QUERY>
Die Darstellung der Datensätze (Texte, Bild) im Formular wird über die Schnipsel-Definition der zugrundeliegenden Tabellenvorlage beeinflusst.
2) Verwendung anderer Datenzugriff-Plugins
Durch die Implementierung von Datenzugriff-Plug-ins können externe Quellen (z. B. Web Services) an die FS_INDEX-Eingabekomponente angebunden werden. Dadurch können Datenobjekte aus solchen externen Quellen in der Index-Komponente referenziert und für inhaltliche Zwecke verwendet werden.
Die Konfiguration einer FS_INDEX-Eingabekomponente in einer Vorlage erfolgt dann entsprechend dem folgenden Beispiel:
<FS_INDEX name="st_dataaccess">
<LANGINFOS>
<LANGINFO lang="*" label="Data Access Plugin"/>
</LANGINFOS>
<SOURCE name="example_webedit/TextBlocksDataAccessPlugin"/>
</FS_INDEX>
Das Attribut name im Tag <SOURCE /> referenziert den technischen Namen des FirstSpirit-Moduls sowie den technischen Namen der DataAccessPlugin-Komponente (siehe Moduldefinition in Plugin-Entwicklung > Entwicklung und Bereitstellung), wobei diese Namen durch einen Schrägstrich separiert sind. Im obigen Beispiel wird also die Modulkomponente namens TextBlocksDataAccessPlugin im Modul mit dem technischen Namen example_webedit referenziert.
Datenzugriff-Plug-ins können zur Verwendung mit FS_INDEX-Eingabekomponenten eigene XML-Elemente zur Konfiguration des Datenzugriffs zur Verfügung stellen (siehe Datenzugriff-Session-Builder-Aspekt GomConfigurable). Diese stehen innerhalb des <SOURCE />-Blocks zur Verfügung und müssen der im Plug-in-Code vorgegebenen Strukturierung entsprechen.
3) FS_INDEX mit nur einem Eintrag
Soll in FS_INDEX nur ein Eintrag auswählbar sein, kann dies durch eine Regel mit der Eigenschaft ADD und einer „Kleiner als“-Prüfung (mit <LESS_THAN/>) erreicht werden, z. B.
<RULE>
<WITH>
<LESS_THAN>
<PROPERTY name="SIZE" source="fs_index"/>
<NUMBER>1</NUMBER>
</LESS_THAN>
</WITH>
<DO>
<PROPERTY name="ADD" source="fs_index"/>
</DO>
</RULE>
Aus technischen Gründen wird beim Ersetzen von Einträgen im ContentCreator in der Vorschau die ADD-Regel außer Acht gelassen. Um sicherzustellen, dass die gewünschte Anzahl der Einträge nicht überschritten wird, sollte eine Regel mit der Restriktionsstufe SAVE verwendet werden, die beim Speichern des Formulars in Kraft tritt, z. B.
<RULE>
<WITH>
<LESS_THAN>
<PROPERTY name="SIZE" source="fs_index"/>
<NUMBER>2</NUMBER>
</LESS_THAN>
</WITH>
<DO>
<VALIDATION scope="SAVE">
<PROPERTY name="VALID" source="fs_index"/>
<MESSAGE lang="*" text="The maximum number of entries is exceeded! Max. 1"/>
<MESSAGE lang="DE" text="Anzahl der Einträge überschritten! Max. 1"/>
</VALIDATION>
</DO>
</RULE>
Wenn in diesem Fall im ContentCreator per Drag-and-drop in die Vorschau ein Eintrag hinzugefügt wird, obwohl schon ein Eintrag enthalten ist, öffnet sich das Formular mit der Regelverletzung („Anzahl der Einträge überschritten! Max. 1“) und es kann erst gespeichert werden, wenn überzählige Einträge entfernt wurden.