MOD THM WSCLIENT ARTICLES

Aus THM-Wiki
Wechseln zu: Navigation, Suche
Dokumentation
Arbeitstitel THM-Webservice
Semester WS 12/13
Teilnehmer Jan Marco Müller

Andrej Sajenko

Programmiersprache PHP, HTML5, Javascript
Framework Joomla! 2.5


Projekt im Rahmen der Web Programming Weeks Dieses Modul wurde im Rahmen der THM-Webservice


Einleitung

Problem

Joomla Module laden normalerweise ihre Daten direkt aus der dazugehörigen Datenbank. Was macht man jedoch, wenn man Daten einer anderen Joomla-Instanz laden möchte? Die andere Joomla-Instanz muss das Laden der Daten anbieten.

Lösung

Dieses Modul lädt öffentliche Artikel einer fremden Joomla-Instanz, indem es server-seitig HTTP-Requests an die fremde Joomla-Instanz absetzt, um die Artikel im JSON-Format zu erhalten. Dazu benötigt die fremde Joomla-Instanz die Komponente COM_THM_Webservice.

Installationsvoraussetzungen

HTTP-Client für PHP

Für das Lesen des RESTful WS wurde zunächst die Klasse JHttp der Joomla-Bibliotheken verwendet, doch diese erwieß sich als äußert buggy. Daraufhin wurde die PHP-Erweiterung pecl_http verwendet. Diese muss jedoch auch installiert sein.

Bemerkung zur Installation von pecl_http unter XAMPP bzw. LAMPP (Kommt später irgendwo anders hin):

  • Das Developer-Paket von XAMPP muss zusätzlich installiert sein!
  • cd /opt/lampp # insofern dies Ihr Basisverzeichnis für LAMPP ist
  • sudo bin/pecl install pecl_http
  • Die Fragen bezüglich cURL und zLIB mit der Angabe des Basisverzeichnisses von LAMPP beantworten: /opt/lampp

Bemerkungen zur Installation von pecl_http auf einem Ubuntu System, dass die Software aus den standard Repositories verwendet:

  • sudo aptitude install php-pear make libcurl4-openssl-dev
  • sudo pecl install pecl_http

Funktionsweise aus Sicht eines Administrators

//TODO: noch zu schreiben.

Funktionsweise aus Sicht eines Benutzers

Das Modul stellt entweder eine Liste von Vorschauen auf Artikel dar oder einen einzelnen vollständigen Artikel. Die Herkunft der Artikel wird vom Administrator der Joomla-Instanz bestimmt.