Connector für dg hyparchive in Applikationen

Anwendungsentwicklung
dg hyparchive in Portalapplikationen Wie Sie eine Verbindung zu dg hyparchive in Intrexx konfigurieren, erfahren Sie hier.
Informationen zu dg hyparchive in Intrexx Prozessen finden Sie hier.

Anwendungsentwicklung

Datengruppen

Um Stempeldaten und Dokumente über Intrexx in hyparchive speichern zu können, wird eine Intrexx Datengruppe benötigt. Fremddatengruppen werden zurzeit nicht vom Connector unterstützt. Die Felder der Datengruppe können dann mit hyparchive Stempelfeldern verknüpft werden. Für Dateien wird der Datengruppe ein Dateifeld hinzugefügt, das eine spezielle FileHandler-Klasse für hyparchive erhält.

Es ist zwar grundsätzlich möglich mehrere hyparchive Dateifelder zu erstellen, empfohlen wird aber nur eines pro Datengruppe, da sonst die Zuordnung der Stempelfelder unübersichtlich wird.

Im ersten Schritt werden nun die Felder für die Stempel angelegt, die später mit hyparchive verknüpft werden sollen.



Erstellen Sie eine Datengruppe für die hyparchive-Verbindung oder wählen Sie eine vorhandene in Ihrer Applikation aus. Fügen Sie der Datengruppe alle benötigten Datenfelder hinzu, die mit Feldern in hyparchive verknüpft werden sollen. Folgende Felder werden mindestens in der Datengruppe benötigt:

Dateifelder

Nachdem alle Felder für die hyparchive Dokumenten und Stempel in der Datengruppe angelegt wurden, kann das Dateifeld für die hyparchive-Dokumente erstellt werden.



Fügen Sie dazu der Datengruppe ein neues Feld vom Typ Datei hinzu und klicken Sie auf mehr…:



Im Dialog wählen Sie unter Datentyp des Primärschlüssels die Option Anderer Handler und in der Auswahlliste den Eintrag

de.uplanet.lucy.server.dghyparchive.connector.HypArchiveFileHandler

aus. Bestätigen Sie mit OK.



Mit Klick auf Datenfeld bearbeiten öffnen Sie den Eigenschaftendialog des neuen Datei-Datenfeldes.



Auf dem Reiter Allgemein werden der Titel des Feldes sowie die zuvor ausgewählte Handlerklasse angezeigt. Daneben werden spezifische Angaben benötigt:
Die Option Dateien aus dg hyparchive auch in Ansichtstabellen anzeigen kann zu einer hohen Systemauslastung führen, da die Dokumente pro Datensatz in hyparchive ermittelt werden müssen. Wir empfehlen, die Dokumente nur auf Ansichtsseiten eines Datensatzes anzuzeigen.

Stempelfelder - Zuordnung von Intrexx Feldern

Im nächsten Schritt werden nun über den Reiter Feldzuordnung Intrexx-Datenfelder bzw. -Werte den hyparchive-Stempelfeldern zugeordnet.



Auf der linken Seite des Dialogs werden die hyparchive Stempel des zuvor gewählten hyparchive Servers aufgelistet, rechts die Felder der Intrexx-Datengruppe, ggfs. die Felder einer Eltern-Datengruppe und benutzerspezifische Werte. Zur besseren Übersicht können die hyparchive-Felder nach Stempel gefiltert werden. Mit den Pfeiltasten können hyparchive-Felder und Intrexx-Datenfelder zugeordnet werden. Beim Speichern eines Datensatzes in Intrexx wird der Wert des Intrexx-Datenfeldes automatisch im verknüpften hyparchive-Feld gespeichert. Dabei ist zu beachten, dass der Datentyp in hyparchive kompatibel zu dem des Intrexx-Datenfeldes ist.

Stempelfelder - Zuordnung von benutzerspezifischen Werten

Neben Datenfeldern können hyparchive-Felder auch benutzerspezifische Werte zugewiesen werden. Klicken Sie dazu auf Wert hinzufügen.



Wählen Sie hier einen statischen Wert, Systemwert, eine GUID oder einen Null-Wert aus. Dies ist z.B. hilfreich, wenn für ein Stempel-Pflichtfeld immer der gleiche Wert verwendet werden soll. Auf gleiche Art und Weise können so berechnete Datumswerte oder Systemwerte wie z.B. der aktuelle Intrexx Benutzer angelegt werden. Ein weiteres Beispiel wäre die Generierung einer GUID zur Laufzeit als eindeutige Datensatz-ID für Intrexx und hyparchive. Berechnete Werte werden standardmäßig nicht in Intrexx-Datenfeldern, sondern nur in hyparchive Feldern gespeichert.

Für bestimmte Zwecke ist es notwendig, einen statischen Wert auch in einem Intrexx-Datenfeld zu speichern. Daher werden Sie nach der Zuweisung eines Wertes an ein hyparchive-Feld automatisch gefragt, ob der Wert auch in ein Intrexx-Datenfeld gespeichert werden soll.



Hier kann die Einstellung Wert in Datenfeld speichern aktiviert werden. Klicken Sie OK.



Die Einstellung Wert in Datenfeld speichern kann in der Feldzuordnung mit Klick auf Wert in Datenfeld speichern bearbeitet werden. Klicken Sie auf Wert hinzufügen.



Wenn Sie hier die Option Statischer Wert wählen, können die Einstellungen mit Klick auf Statischen Wert bearbeiten definiert werden.



Wählen Sie den gewünschten Datentyp aus (Zeichenkette, Zahl, Boolean (Logischer Wert), Datum/Uhrzeit). Im Bereich Wert wird der feste Wert eingetragen, wobei Sie bei einem Datum/Uhrzeit-Datentyp die Möglichkeit haben, das Datum dynamisch anzupassen. Beim Datentyp Zeichenkette kann mit einem Klick auf GUID einfügen eine eindeutige ID erzeugt werden, die direkt im Feld Zeichenkette eingetragen wird. Wählen Sie in Zeitzone die gewünschte Zeitzone aus. Klicken Sie OK.



Wenn Sie hier die Option Systemwert wählen, können die Einstellungen mit Klick auf Systemwert bearbeiten geändert werden.



Wählen Sie hier den gewünschten Typ aus. Beim Typ Benutzerwert können Felder aus der Benutzerverwaltung gewählt werden. Bei den Typen Requestwert, Sessionwert und Verarbeitungskontext wird der Name der Variablen im Feld Wert eingetragen. Im unteren Bereich des Dialogs können Sie regeln, was als Systemwert eingetragen werden soll, wenn kein Wert gesetzt ist.

Stempelfelder - Zuordnung von Auswahllisten

Wie Intrexx bietet auch hyparchive die Möglichkeit, Auswahllisten für Datenfelder zu definieren. Felder mit Auswahllisten haben in hyparchive den Datentyp sngsel bzw. mltsel (für Listen mit Mehrfachauswahl).

Auswahllisten in hyparchive können Werte aus Intrexx-Datenfeldern oder statische Werte zugewiesen werden. Dabei ist zu beachten, dass über den Wert in Intrexx der entsprechende Eintrag der Auswahlliste in hyparchive ermittelt werden kann. Wird als Zuweisung ein Intrexx-Datenfeld vom Typ String dem Listenfeld zugewiesen, so muss der darin gespeicherte Wert einem Anzeigewert in der hyparchive Auswahlliste entsprechen. Dabei ist die Groß-/Kleinschreibung zu beachten.

Stempelfelder - Ansichts- und Eingabeseiten

Zur Ansicht und Bearbeitung von Stempelfeldern stehen die üblichen Datenfelder-Kontrollen auf Ansichts- und Eingabeseiten zur Verfügung. Damit Intrexx das für den jeweiligen Datensatz verknüpfte Dokument in hyparchive ermitteln kann, ist es notwendig, die Felder für Department-ID und Dokument-ID auf jeder Ansichts- und Eingabeseite mit hyparchive Bezug zu hinterlegen. Dies kann auch in dem versteckten Bereich erfolgen, damit die Felder für Benutzer nicht sichtbar sind.

Wenn Stempeldaten eines Dokuments direkt in hyparchive geändert werden, können diese nicht ohne weiteres unmittelbar automatisiert in Intrexx synchronisiert werden. Daher aktualisiert Intrexx die Felder eines hyparchive-Stempels automatisch, sobald der Datensatz auf einer Ansichts- oder Eingabeseite geöffnet wird. Um die aktualisierten Daten auch in Intrexx zu speichern, muss der Benutzer anschließend auf Speichern klicken.

Authentifizierung

Als letzter Schritt der Dateifeld-Konfiguration kann über den Reiter Authentifizierung definiert werden, welcher Portalbenutzer für die Authentifizierung beim Zugriff auf den hyparchive Server ermittelt werden soll.



Standardmäßig wird hier der aktuell angemeldete Portal-Benutzer verwendet. Besteht für diesen keine hyparchive Sitzung und es wurde in der Konfiguration Benutzername/Passwort als Authentifizierungsmethode gewählt, so wird der Benutzer im Portal aufgefordert, sich an hyparchive anzumelden.

Es gibt Anwendungsfälle, bei denen Zugriffe auf hyparchive immer über den gleichen hyparchive Benutzer erfolgen sollen, unabhängig welcher Portalbenutzer aktuell angemeldet ist. Dies ist z.B. der Fall, wenn es nicht zu jedem Intrexx Benutzer einen hyparchive Benutzer gibt oder grundsätzlich Dokumente aus Intrexx immer unter dem gleichen Benutzer in hyparchive gespeichert werden sollen.

Dazu kann in dem Dialog ein sogenannter Statischer Benutzer gewählt werden. Hier handelt es sich um einen Intrexx Benutzer, dem in der hyparchive Konfiguration ein hyparchive Benutzerkonto zugewiesen wurde. Über den Dialog kann auch direkt ein statischer Benutzer angelegt werden. Sobald ein solcher Benutzer in dem Dateifeld hinterlegt wird, erfolgen alle Zugriffe auf hyparchive über die Datengruppe unter diesem hyparchive Benutzerkonto.

Das bedeutet, dass eine interaktive Anmeldung an hyparchive im Portal nicht mehr notwendig ist. Dadurch lassen sich auch einfache Single-Sign-On-Szenarien realisieren, ohne auf die Kerberos Authentifizierung zurückgreifen zu müssen.

dg hyparchive Datengruppen-Handler

Sobald einer Intrexx-Datengruppe ein Dateifeld für hyparchive hinzugefügt und dieses konfiguriert wurde, wird automatisch die datahandler-Klasse in den Expert-Attributen der Datengruppe auf
de.uplanet.lucy.server.dghyparchive.connector.rtdata.RtDataGroupTableHypArchive
geändert. Dies kann auch nachträglich vorgenommen werden.

Die hyparchive-spezifische Datengruppen-Handler-Klasse ist optional, bietet aber zusätzliche Funktionalität im Zusammenspiel von Intrexx und hyparchive. So wird eine automatische Synchronisation der Stempelwerte aus hyparchive vorgenommen, sobald ein hyparchive-Datensatz auf einer Intrexx-Ansichts- oder Eingabeseite geladen wird.

Dadurch ist gewährleistet, dass ein Intrexx Portalbenutzer stets die aktuellen Stempeldaten aus hyparchive angezeigt bekommt. Unter Umständen kann es nämlich vorkommen, dass Stempeldaten in hyparchive geändert wurden und in Intrexx noch die vorherigen Werte gespeichert sind.

Ländereinstellungen

Datums-/Zahlen- und Währungsfelder werden von hyparchive mit dem vom Benutzer eingestellten Format unter Ländereinstellungen formatiert. Hyparchive benötigt dabei den vollen Sprach-/Kultur-Code (z.B. de-DE oder en-US anstatt de oder en). Die Formate für die benötigten Sprachen können im Portal Manager unter Portal -> Portaleigenschaften -> Ländereinstellungen definiert werden. Alternativ kann für hyparchive eine Standardsprache in der Konfiguration des Dateifelds hinterlegt werden. In dem Fall wird bei allen hyparchive Aufrufen der gleiche Sprachcode verwendet. Dabei ist zu beachten, dass in Intrexx für Datums-/Zahlen- und Währungseingabefelder das von hyparchive erwartete Format eingestellt wird.

Unterstützung von SAP-Dokumenten

Für die Unterstützung von SAP ArchiveLink Dokumenten (verfügbar ab Intrexx 8 mit Online-Update 07) müssen die folgenden zusätzlichen Einstellungen in der Applikation vorgenommen werden:
  1. Es wird ein Datenfeld vom Typ Kurzer Text für die SAP-Archiv-Id benötigt.
  2. In den Eigenschaften des Dateifelds müssen unter Expert / Settings folgende Settings hinzugefügt werden:
    • hyparchive.sap.archive = true (Typ: Boolean)
    • hyparchive.sap.archive.id.field.guid = [GUID des SAP ArchiveLink ID Datenfelds] (Typ: GUID)

Expert-Settings

In den Eigenschaften des Dateifelds stehen auf dem Reiter Expert folgende Settings zur weiteren Konfiguration des Connectors zur Verfügung:

dg hyparchive in Portalapplikationen

Authentifizierung

Beim ersten Zugriff auf eine Portal-Applikation mit einer Datengruppe, die hyparchive Datei-Datenfelder enthält, wird der Benutzer aufgefordert, sich an hyparchive anzumelden. Pro Sitzung und hyparchive Server ist das nur einmal erforderlich. Sollte Windows integrierte Authentifizierung aktiv sein, wird der Benutzer automatisch beim ersten Zugriff angemeldet. Eine Anmeldung wird nicht benötigt, wenn im Dateifeld der Datengruppe ein statischer Benutzer für die hyparchive Authentifizierung hinterlegt wurde.

Nach erfolgreicher Authentifizierung kann über die Intrexx-Applikation auf hyparchive-Daten zugegriffen werden. Dem Portalbenutzer stehen dabei mit hyparchive-Datengruppen die gleichen Funktionen zur Verfügung, wie mit normalen Intrexx-Datengruppen. Bezüglich der Dateioperationen gibt es nur wenige Besonderheiten zu beachten.

Dateioperationen in Ansichtstabellen

hyparchive-Datei-Datenfelder können in Ansichtstabellen platziert werden, um Dateien direkt aus Tabellen zu öffnen. Standardmäßig werden aus Performancegründen jedoch keine Dateien aus hyparchive in Datei-Datenfeldern angezeigt, wenn sie in einer Ansichtstabelle dargestellt werden. Aktivieren Sie dazu die Option Dateien aus hyparchive auch in Ansichtstabellen anzeigen in der Datei-Datenfeld-Konfiguration. Sollen Dokumente direkt aus Tabellen heraus heruntergeladen werden können, muss dies in den Optionen des Datei-Datenfeldes in der Ansichtstabelle aktiviert werden.



Bitte beachten Sie, dass keine Thumbnails für hyparchive-Dateien angezeigt werden können, weil diese nicht auf dem Intrexx-Portalserver, sondern nur in hyparchive vorgehalten werden. Somit können auch keine Vorschaubilder von Intrexx generiert werden.

Dateioperationen auf Ansichtsseiten

hyparchive-Dateien werden auf Ansichtsseiten über die Kontrolle Dateiauswahl Ansicht dargestellt.



Auch hier kann ein Download der Dateien ermöglicht werden.

Dateioperationen auf Eingabeseiten

Mit der Kontrolle Dateiauswahl auf Eingabeseiten können Dateien und Dokumente über Intrexx hochgeladen, geändert und in hyparchive gespeichert werden. Es stehen dabei alle Funktionen von Standard-Intrexx-Datei-Datenfeldern zur Verfügung.



Neben dem Freischalten von Downloads kann auch das Upload-Verhalten definiert werden. Grundsätzlich werden neue Dateien bei hyparchive-Dokumentenmappen den vorhandenen Dateien hinzugefügt. Es ist aber auch möglich, Dateien zu ersetzen.



Außerdem kann eingestellt werden, wie viele Dateien maximal pro Dateifeld gespeichert werden dürfen. Auch die maximale Größe einer Datei kann vorgegeben werden. Daneben gibt es noch erweiterte Funktionen zum Upload von Dateien, die sich auf das Verhalten der Kontrolle im Portal auswirken.

Im Browser können Dateien per Drag & Drop auf die Dateikontrolle gezogen und damit automatisch auf den Intrexx Server hochgeladen werden. Beim Speichern der Eingabeseite werden die hochgeladenen Dateien zusammen mit den Informationen in den Stempelfeldern an den hyparchive Server übertragen. Die neue Dokumenten-ID werden in Intrexx gespeichert. Bestehende Dateien können über Löschen in hyparchive gelöscht werden.

Bei Einzeldatei-Dokumenten können Dateien aktualisiert bzw. ersetzt werden, in dem zunächst eine bestehende Datei entfernt und dann die neue Datei hochgeladen wird.

Dateioperationen in Auswahllisten

Um dem Portalbenutzer die Pflege der hyparchive Stempelfelder so einfach wie möglich zu machen, bietet es sich an, für Auswahllisten in hyparchive identische Auswahllisten auf Eingabeseiten in Intrexx anzulegen. Die Werte von hyparchive-Auswahllisten können über das hyparchive FormEdit Tool ermittelt werden.

In Intrexx kann nun auf einer Eingabeseite eine Auswahlliste erstellt werden, deren Einträge die einer hyparchive Werteliste reflektieren. Dazu können die Werte aus anderen Applikation, Referenzen oder benutzerspezifisch definiert werden.

Das folgende Beispiel zeigt, wie die hyparchive Werteliste Customer auf einer Intrexx Eingabeseite nachgebildet wird. In diesem Fall werden die Anzeigewerte als Speicherwerte benutzt, was bedeutet, dass das zugewiesene Stempelfeld in der Datengruppe vom Typ String sein muss.

Stempeldaten-Aktualisierung

Da Dokumente und Dateien nur in hyparchive gespeichert und vorgehalten werden, sind diese stets auf dem aktuellen Stand, wenn darauf über Intrexx zugegriffen wird. Etwas anders verhält es sich mit den Stempeldaten eines Dokuments. Diese werden sowohl in Datenfeldern der Intrexx-Datengruppe als auch in hyparchive gespeichert. Das hat den Vorteil, dass auch in Intrexx nach Stempelfeldern gesucht und auf Datensätze zugegriffen werden kann, ohne dass jedes Mal ein Zugriff auf den hyparchive Server stattfinden muss. Der Nachteil dieses Ansatzes ist, dass sich mit der Zeit die Metadaten eines Dokuments in hyparchive ändern können, während in Intrexx noch die alten Werte gespeichert sind.

Da Intrexx über Änderungen an Stempelfeldern nicht automatisch von hyparchive informiert werden kann, werden Stempeldaten in Intrexx aktualisiert, sobald ein Datensatz auf einer Ansichts- oder Eingabeseite geladen wird, der ein hyparchive Dateifeld beinhaltet. Beim Speichern der Seite werden die aktualisierten Daten wieder in Intrexx gespeichert.

Ein weiterer Ansatz, um Stempeldaten zwischen Intrexx und hyparchive stets synchron zu halten, besteht durch Verwendung von Prozessen.

Suche in hyparchive Dokumenten - Suchoptionen

Dokumente und Dateien in hyparchive-Datenfeldern werden nur auf dem hyparchive Server aufbewahrt. Dadurch ist es für die Intrexx-Suchmaschine nicht möglich, die Inhalte der Dateien zu indexieren, um sie für Suchanfragen in Intrexx verfügbar zu machen. Lediglich Stempeldaten, die in Intrexx Datengruppen gespeichert werden, sind auch über die Intrexx-Suche durchsuchbar. Die hyparchive-Web-Service-Schnittstelle bietet die Möglichkeit, über die hyparchive-Volltextsuche nach Dokumenten in hyparchive zu suchen. Die Ergebnisse müssen dann entsprechend für Intrexx aufbereitet werden, so dass sich bei Klick auf einen Treffer das Dokument im hyparchive-Web-Client öffnet oder der entsprechende Datensatz via Filter in Intrexx mit der Verknüpfung zum hyparchive-Dokument geöffnet wird.

Suche in hyparchive-Dokumenten - Intrexx Suche

Um in Intrexx gespeicherte Stempelfelder eines Dokuments zu suchen, können Sie wie gewohnt die Suche in einer Applikation konfigurieren. Erstellen Sie dazu eine Suchkonfiguration und wählen Sie die Stempelfelder in der hyparchive-Datengruppe aus, d ie von der Suchmaschine indexiert werden sollen. Anschließend können hyparchive-Datensätze über die Suchfunktion in Intrexx nach Stempeldaten durchsucht werden.

Ein weiterer Ansatz ist die Suche über dynamische Filter in Intrexx-Applikationen. Dabei werden Filter auf Ansichtstabellen definiert, die entsprechend Datensätze gemäß den Werten in den Stempelfeldern der Intrexx Datengruppe filtern.

Suche in hyparchive Dokumenten - Volltextsuche

Soll neben den Stempeldaten auch in den Dokumenten nach Stichwörtern gesucht werden, bietet sich die hyparchive-Volltextsuche an. Dabei kann direkt in Intrexx nach in Intrexx verwalteten hyparchive-Dokumenten gesucht und die Treffer angezeigt werden. Es bietet sich auch die Möglichkeit, im Portal nach Dokumenten in hyparchive zu suchen, die nicht über Intrexx erfasst wurden. Für den letzteren Fall benötigen die Portalbenutzer auch Zugriff auf den hyparchive-WebClient bzw. -DocPresenter, um gefundene Dokumente darin zu öffnen. Im Folgenden wird die Umsetzung beider Ansätze beschrieben.

Suche in hyparchive Dokumenten - Volltextsuche über in Intrexx verwaltete Dokumente

Im folgenden Beispiel soll in hyparchive Dokumenten gesucht werden, für die es einen entsprechenden Datensatz in einer hyparchive Datengruppe gibt. Dazu erstellen Sie eine Ansichtstabelle auf die hyparchive Datengruppe für die Suchergebnisse. Zudem wird ein Eingabefeld für den Suchausdruck benötigt.



Im nächsten Schritt öffnen Sie die Registerkarte Abhängigkeiten in den Eigenschaften der Ansichtstabelle. Klicken Sie dort auf Abhängigkeit hinzufügen, um eine neue Abhängigkeit zu definieren. Zunächst wird ein auslösendes Ereignis benötigt. Klicken Sie dazu auf Ereignis hinzufügen und wählen Sie als Kontrolle das Eingabefeld und als Ereignis z.B. onclick aus.



Anschließend wird ein Filter benötigt. Klicken Sie dafür auf Filter im Expertmodus bearbeiten im Bereich Filter. Kopieren Sie folgendes XML Fragment in den Editor innerhalb des <filter></filter> Elements:
<exp op="" type="in">
	<arg content="1414DAF1C286E4E92CC553C65615FE60D1500B15" type="fieldguid"/>	
	<arg adapterGuid="8B74A66AB861FC2265829FB96D6985F07C5EBBBB" content="de.uplanet.lucy.server.dghyparchive.connector.rendering.HypArchiveFullTextSearchFilterHandler" searchControlName="textcontrol7D64D21B" singleton="false" type="handlerClass"/>
</exp>
Passen Sie dann die Filter Argumente entsprechend Ihrer Applikation an: Bestätigen Sie nun den Dialog mit OK und veröffentlichen Sie die Applikation. Anschließend steht die Suche im Portal zur Verfügung.



Suche in hyparchive Dokumenten - Volltextsuche über nicht mit Intrexx verwaltete Dokumente

Über die hyparchive-Web-Service-Schnittstelle lassen sich auch in Groovy-Action-Handlern und Velocity-Templates nach Dokumenten suchen und die Ergebnisse in Intrexx darstellen. Dazu sind die Aufrufe der Suche und die Darstellung der Ergebnisse selbst zu programmieren, da diese immer anforderungsspezifisch sind.

Stempelsuche

Entsprechend der Volltextsuche ist es auch möglich, nach Dokumenten anhand von Stempel-/Systemfelder zu suchen. Dazu gehen Sie genau so vor wie bei der Volltextsuche. Lediglich ein anderer Filter Handler kommt für die Suche nach Stempelwerten zum Einsatz:
<exp op="" type="in">
	<arg content="1414DAF1C286E4E92CC553C65615FE60D1500B15" type="fieldguid"/>
	<arg adapterGuid="8B74A66AB861FC2265829FB96D6985F07C5EBBBB" content="de.uplanet.lucy.server.dghyparchive.connector.rendering.HypArchiveQueryFilterHandler" singleton="false" stampControls="textcontrol3A8C3723" stampFields="IXTITLE" stampName="IX" systemStampControls="textcontrol38DDAF24" systemStampFields="TIMESTAMP" type="handlerClass"/>
</exp>
Passen Sie die Filter-Argumente entsprechend Ihrer Applikation an: