Remote-Zugriff
FirstSpirit ermöglicht den Zugriff aus einem Projekt auf andere Projekte (sogenannte "Remote-Projekte"), die sich auf demselben FirstSpirit-Server befinden. Auf diese Weise können beispielsweise Objekte (z.B. Medien), die in einem zentralen Projekt verwaltet werden, von verschiedenen Projekten (auch "Zielprojekte" genannt) verwendet werden. Die Objekte werden in den Zielprojekten dabei lediglich referenziert, verbleiben physikalisch aber im Remote-Projekt.
In FirstSpirit sind drei unterschiedliche Arten des Remote-Zugriffs möglich:
- Remote-Media (siehe unten)
- Verwandte Projekte (siehe FirstSpirit Handbuch für Administratoren)
- Remote-Schemata (siehe Dokumentation zum Modul FirstSpirit INTEGRATION)
Remote-Media
Für die Verwendung der Remote-Media-Funktionalität muss eine entsprechende Lizenz vorliegen. Dazu muss der Parameter license.REMOTEPROJECT der Lizenz (z.B. einsehbar im FirstSpirit Server Monitoring, Menüpunkt "FirstSpirit – Konfiguration – Lizenz") auf den Wert 1 gesetzt sein.
Weitere Informationen zur Konfiguration siehe Dokumentation zu FirstSpirit Remote-Media und FirstSpirit Handbuch für Administratoren.
Zugriff auf Remote-Projekte
Mithilfe der in den unten aufgeführten Eingabekomponenten bzw. Verweiskonfigurationen kann auf Medien und andere Objekte aus Remote-Projekten zugegriffen werden.
Parameter und Tags, die für die Eingabekomponenten relevant sind, können im Kapitel Formulare bei der jeweiligen Eingabekomponente nachgeschlagen werden. Allgemein handelt es sich dabei um folgende Tags und Parameter:
- REMOTE mit
- name
- autoReleaseAfterUpload
- uploadFolder - CATEGORY mit
- name - FOLDER mit
- name
- store - upload (in Kombination mit REMOTE und/oder CATEGORY)
- allowLanguageDependentUpload (in Kombination mit REMOTE und/oder CATEGORY)
Zugriff über | Bedeutung |
---|---|
Eingabekomponente, über die Bilder aus Remote-Projekten ausgewählt und referenziert werden können. Zusätzlich können über CMS_INPUT_PICTURE Bilder in Remote-Projekte hochgeladen werden. | |
Eingabekomponente, über die Dateien aus Remote-Projekten ausgewählt und referenziert werden können. Zusätzlich können über CMS_INPUT_FILE Dateien in Remote-Projekte hochgeladen werden. | |
Eingabekomponente, über die Bilder aus Remote-Projekten ausgewählt und referenziert sowie mit verweis-sensitiven Flächen versehen werden können. | |
Eingabekomponente, über die Verweise auf Seitenreferenzen aus der Struktur-Verwaltung sowie Medien aus der Medien-Verwaltung ausgewählt werden können | |
Eingabekomponente, über die eine beliebige Referenz ausgewählt werden kann. Zusätzlich können über FS_REFERENCE Medien in Remote-Projekte hochgeladen werden. In FirstSpirit Version 4.2 wird sie vorrangig für die Konvertierung in Generischen Link-Editoren genutzt. | |
Verweise
Zugriff über | Bedeutung | für Remote-Projekte relevante Parameter |
---|---|---|
Verschiedene Eingabemasken, über die Verweise auf Remote-Projekte eingegeben werden können; diese können in folgenden Eingabekomponenten verwendet werden:
| je nach Verweistyp: | |
Beispiele für Verweiskonfigurationen:
Für den Referenz-Auswahldialog sollen sowohl die lokale Struktur- und Medien-Verwaltung des Zielprojekts als auch die Struktur- und Medien-Verwaltung des Remote-Projekts angezeigt werden:
<CMS_LINK_CONFIG name="internalLink">
.....
<CMS_PARAM name="sitestoreref" value="showremotesitestore"/>
<CMS_PARAM name="sitestoreref" value="showmediastore"/>
<CMS_PARAM name="sitestoreref" value="showremotemediastore"/>
<CMS_PARAM name="remote" value="sym-Name"/>
.....
</CMS_LINK_CONFIG>
Für den Referenz-Auswahldialog sollen nur die Struktur- und Medien-Verwaltung des Remote-Projekts angezeigt werden:
<CMS_LINK_CONFIG name="internalLink">
.....
<CMS_PARAM name="sitestoreref" value="hidesitestore"/>
<CMS_PARAM name="sitestoreref" value="showremotesitestore"/>
<CMS_PARAM name="sitestoreref" value="showremotemediastore"/>
<CMS_PARAM name="remote" value="sym-Name"/>
.....
</CMS_LINK_CONFIG>
Für die Bildauswahl soll nur die Medien-Verwaltung des Remote-Projekts angezeigt werden:
<CMS_LINK_CONFIG name="internalLink">
.....
<CMS_PARAM name="mediaref" value="showremotemediastore"/>
<CMS_PARAM name="mediaref" value="remoteonly"/>
<CMS_PARAM name="remote" value="sym-Name"/>
.....
</CMS_LINK_CONFIG>
Für die Bildauswahl sollen sowohl die Medien-Verwaltung des Remote-Projekts als auch die lokale Medien-Verwaltung des Zielprojekts angezeigt werden:
<CMS_LINK_CONFIG name="internalLink">
.....
<CMS_PARAM name="mediaref" value="showremotemediastore"/>
<CMS_PARAM name="remote" value="sym-Name"/>
.....
</CMS_LINK_CONFIG>
Ab FirstSpirit Version 4.2 können Verweise mithilfe der Generischen Link-Editoren erstellt und konfiguriert werden. Analog zu Seiten- und Absatzvorlagen geschieht dies über das Einfügen von Eingabekomponenten in den Formularbereich. Weitere Informationen siehe Kapitel Generische Link-Editoren. |
Ausgabe von Referenzen auf Remote-Projekte
Medien und Seiten aus Remote-Projekten werden über $CMS_REF(...)$ oder $CMS_VALUE(ref:...)$ auf der Webseite ausgegeben.
Wird über die Eingabekomponenten CMS_INPUT_PICTURE, CMS_INPUT_FILE oder CMS_INPUT_PAGEREF ein Remote-Medium ausgewählt und der Parameter „Referenz“ ist der Variablenname dieser Komponente, wird automatisch eine Referenz zum ausgewählten Objekt erzeugt:
$CMS_REF("st_picture")$
Zur Ausgabe von Imagemaps siehe Kapitel CMS_INPUT_IMAGEMAP. |
Die Eingabekomponente FS_REFERENCE wird in FirstSpirit Version 4.2 vorrangig für die Konvertierung in Generischen Link-Editoren genutzt. |
Auch Verweise müssen $CMS_REF(...)$ bzw. $CMS_VALUE(ref:...)$ aufgelöst werden. Allerdings muss hier zusätzlich ein Remote-Attribut (remote:...) angegeben werden:
<a href="$CMS_REF(remote:seitenreferenz_remote)$">Link zu einer Seite des Remote-Projekts</a>
Über das Systemobjekt #link können zusätzlich die Felder eines Verweises ausgegeben werden:
Ausgabe eines internen Verweises zu einem Remote-Projekt:
<a href="$CMS_REF(#link.sitestoreref,remote:#link.sitestoreref_remote)$">$CMS_VALUE(#link.text)$</a>
Bildausgabe einer Medienreferenz aus einem Remote-Projekt:
<img src='$CMS_REF(#link.mediaref,remote:#link.mediaref_remote)$
Auflösungen in Remote-Projekten
Die Auflösungen in Remote- und Zielprojekten können unterschiedlich sein, d.h. sie können unterschiedliche Bezeichnungen oder / und unterschiedliche Breiten bzw. Höhen haben.
Bei der Vorlagenentwicklung müssen diese unterschiedlichen Auflösungen berücksichtigt werden. Weiterführende Informationen siehe $CMS_REF(...)$.
Erzeugung von PDF-Dateien
Für die Erzeugung von PDF-Dateien über FOP werden innerhalb der Vorlagen absolute Verweise in das Generierungsverzeichnis benutzt: abs:3
Da Remote-Media-Objekte nicht in das Generierungsverzeichnis kopiert werden, wird bei der Generierung ein Pfad erzeugt, der in das Projektverzeichnis des Remote-Projekts verweist (Freigabestand).
Zugriff auf das Remote-Projekt über die Access-API
Der Zugriff auf das Remote-Projekt über die Access-API erfolgt über das Interface UserService. Das Interface UserService wurde um die Methode getRemoteUserService(String symbolicName) erweitert, die den UserService des Remote-Projekts zurückliefert.
Als Übergabeparameter wird der symbolische Name der Remote-Projekt-Konfiguration übergeben.
Auszug aus der API-Dokumentation:
UserService getRemoteUserService (java.lang.String symbolicName)
Gets the remote userservice by connecting to the project defined in the remote project configuration specified by the given symbolic name.
Parameters:
symbolicName - which specifies the remote project configuration
Returns:
the user service to of the remote project
Die Connections des Remote-Projekts werden in der Connection des Benutzers gehalten und beim disconnect() der Benutzer-Connection ebenfalls geschlossen.
Aufruf des RemoteUserService über die Beanshell-Konsole im Zielprojekt:
bsh %
e.getProject().getUserService().getRemoteUserService("sym-Name")