4.2. Erweiterung des GREYHOUND Clients

Dieses Beispiel demonstriert die Erweiterung des GREYHOUND Clients.
Die Erweiterung stellt im GREYHOUND Client drei Bereiche dar: eine Vorschauzeile, ein Sidebar-Tab und ein separates Fenster.
Die Vorschauzeile ist zu sehen, wenn eine Liste von Elementen angezeigt wird. Sie ist unter der Liste und über dem Inhaltsbereich des ausgewählten Elements platziert und kann genutzt werden, um Informationen zum ausgewählten Element anzuzeigen, während sowohl die Filterauswahl in der Seitenleiste als auch die Liste und das Element sichtbar sind. Ein Nachteil der Vorschauzeile ist, dass sich hier keine Drop-Down Elemente verwenden lassen. Die Vorschauzeile hat eine feste Größe, und alles, was unten aus diesem Bereich herausragen würde, wird von der Rendering-Komponente abgeschnitten.
Der Sidebar-Tab wird in den Karteireitern des Filterbereichs auf der linken Seite angezeigt (dort, wo auch die Filter, Gruppen, Benutzer usw. zu sehen sind). Im Gegensatz zur Vorschauzeile steht in der Seitenleiste mehr vertikaler Platz zur Verfügung, sodass hier umfangreichere Informationen dargestellt werden können. Auch Aktionen können hier besser integriert werden, da z.B. für Drop-Down Elemente genug vertikaler Platz zur Verfügung steht. Ein Nachteil des Sidebar-Tabs ist, dass es den Bereich einnimmt, in dem sonst die Filter und Gruppen-/Themen-/Benutzerauswahl zu sehen ist.
Das separate Fenster kann über den "Details"-Button in der Vorschauzeile aufgerufen werden. Es bietet für eine Erweiterung den meisten Platz.
Weitere Informationen zur Integration von Erweiterungen in den GREYHOUND Client sind im Handbuch beschrieben.
Die Beispiel-Erweiterung zeigt einige Daten an, wie sie aus einem externen System (z.B. Online-Shop oder Warenwirtschaftssystem) stammen könnten. Der PHP Quellcode der Erweiterung enthält dafür eine eigene Klasse, die diese Testdaten liefert. Die Klasse ist wie eine typische Schnittstelle zu einem Drittsystem aufgebaut und kann mit entsprechender Anpassung durch eine reale Schnittstellenklasse ersetzt werden, um Daten aus Drittsystemen abzurufen und im GREYHOUND Client anzuzeigen.
Die Erweiterung kann als ZIP-Archiv heruntergeladen werden und enthält sowohl den PHP Quellcode, als auch die Erweiterungsdateien für den Client. Sie finden die Datei "extension-example.zip" in der Dateiliste am Ende des Texts.
Der Quellcode der PHP Dateien ist mit etlichen Kommentaren versehen. Der Code darf gerne in eigene Erweiterungen übernommen und entsprechend angepasst werden. Die Beispiel-Erweiterung unterliegt derselben Lizenz wie die GREYHOUND PHP API und kann somit beliebig weitergegeben, verändert und weiterverwendet werden, sowohl in Open-Source als auch in Closed-Source Anwendungen.
Die Erweiterung besteht aus zwei Teilen. Die PHP Dateien aus dem Ordner "src" stellen den server-seitigen Teil der Erweiterung dar und können entweder im GREYHOUND Server oder in einem separaten Webserver abgelegt werden. Die Dateien im Ordner "extensions" sind der client-seitige Teil. Diese Dateien werden im GREYHOUND Client eingefügt und geben an, wo die einzelnen Bereiche der Erweiterung angezeigt werden und wie die entsprechenden PHP Dateien aufgerufen werden.
Zunächst werden die PHP Dateien im Server abgelegt:
  • GREYHOUND Server:

    Der Inhalt des "src" Ordners wird in den Ordner GREYHOUND/Server/Web kopiert. Im GREYHOUND Server muss bei den Einstellungen zum "HTTP Protokoll" die Option "PHP Servererweiterungen verwenden" aktiviert sein. Ist diese Option ausgegraut, so ist diese vermutlich in der Seriennummer nicht freigeschaltet. Wenden Sie sich in diesem Fall am besten an unseren Kundensupport.

  • Webserver:

    Der Inhalt des "src" Ordners wird in einen Ordner des Webservers kopiert, der vom Webserver ausgeliefert wird. Zusätzlich muss in den kopierten Ordner "extension-example" der Ordner "lib" aus dem GREYHOUND/Server/Web Ordner kopiert werden, sowie die Ordner "ghrpc", "ghgui" und "ghcore" aus dem Ordner GREYHOUND/Libraries/php.

Anschließend werden die Dateien aus dem Ordner "extensions" in den GREYHOUND Client importiert (im Menu "Einstellungen" -> "Erweiterungen" über die Option "Erweiterung importieren"). Die importierten Erweiterungen sollten dann bearbeitet werden (durch Doppelklick auf die Erweiterung) und im Tab "Freigegebene Benutzergruppen" die gewünschten Benutzergruppen ausgewählt werden, die Zugriff auf die Erweiterung haben sollen.
Wurden die PHP Dateien in einem separaten Webserver abgelegt, so muss bei den importierten Erweiterungen noch die aufzurufende URL angepasst werden. Statt "[$Extension.Server.Url]" muss hier die URL eingetragen werden, über die der Ordner "extension-example" im Webserver erreichbar ist (sodass die URL dann korrekt auf die entsprechenden PHP Dateien verweist).
Die Beispiel-Erweiterung liefert einige Testdaten mit. Diese kann man sich anzeigen lassen, indem man in einem der Suchfelder "max" oder "mona" eingibt und Enter drückt.
Alternativ kann man auch ein Element auswählen, dessen Absenderadresse entweder "max@mustermann.de" oder "mona@mustermann.de" ist. Ein solches Element kann man sich im Zweifelsfall erzeugen, indem man einen Kontakt mit der entsprechenden E-Mail-Adresse anlegt, das Element dann in der Liste anklickt und im Kontextmenu "Kontakt zuordnen" wählt (oder Strg+K drückt). Es öffnet sich dann der Kontakt- Zuordnungs-Tab des Elements. Hier kann man die Option "Adressdaten in das Feld Absender übernehmen" aktivieren und in dem Suchfeld dann den Namen des angelegten Kontakts angeben. Ordnet man den Kontakt dann dem Element zu, wird die Absender-Adresse des Elements mit der E-Mail-Adresse des Kontakts überschrieben.
Datei
Dateigröße
Breite
Höhe
extension-example.zip 12,37 KB 0px 0px