Ein DDI-Plugin für Etherpad Lite

13 Mrz

In meinem letzten Beitrag habe ich das neue Plugin-Framework für Etherpad Lite vorgestellt. Heute zeige ich, wie man ein Plugin schreibt, das einen Text unter der URL http://localhost:9001/ddi anzeigt.

Bevor wir überhaupt ein Plugin schreiben können, muss zuerst muss die Entwickler-Version von Etherpad-Lite heruntergeladen und installiert werden:

$ git code https://github.com/Pita/etherpad-lite.git

Nach dem Download wechseln wir in das neu erstellte Verzeichnis und danach den Branch, in dem die Plugin-Entwicklung stattfindet. Anschließend muss das Script installDeps.sh ausgeführt werden, damit alle benötigten Packages installiert werden:

$ cd etherpad-lite $ git checkout develop $ ./bin/installDeps.sh

Sobald das Script durchgelaufen ist, kann die Arbeit an dem Plugin begonnen werden.

Wie ist ein Plugin aufgebaut?

Ein Etherpad-Lite-Plugin ist im Grunde genommen ein npm-Package, das sich wie alle anderen Packages für node.js installieren lässt und besteht im Wesentlichen aus mindestens drei Dateien: package.json, ep.json und einem Script, zB plugin.js.

Im Verzeichnis /etherpad-lite/node_modules befindet sich das Verzeichnis ep_etherpad-lite, ein Symlink auf /etherpad-lite/src. Etherpad Lite ist also selbst ein Plugin.

Jedes Etherpad-Lite-Plugin wird in /etherpad-lite/node_modules abgelegt. Der Name muss mit ep_ beginnen. Erstellen wir also in /etherpad-lite/node_modules einen Ordner mit dem Namen ep_ddi.

package.json

Wie diese Datei aufgebaut sein muss, kann in der npm-Dokumentation nachgelesen werden, hier aber eine Beispiel für das DDI-Plugin:

{ "name": "ep_ddi", "description": "Ein Beispiel-Plugin für https://ddiupbblogs.wordpress.com/",
"version": "0.0.1",
"author": "Max Mustermann <max@musterma.nn>" }

ep.json

In dieser Datei werden Hooks registriert, die zu bestimmten Zeiten von Etherpad Lite aufgerufen werden. Unser Plugin soll auf den Hook expressCreateServer hören und ausgeführt werden.

{ "parts": [ { "name": "ddi-plugin", "hooks": { "expressCreateServer": "ep_ddi/plugin:expressServer" } } ] } 

plugin.js

Dieser Code wird nun bei jedem Server-Start ausgeführt. Er wird aktiv, wenn ind er URL der Pfad /ddi erscheint und gibt den Text „Didaktik der Informatik“ aus.

exports.expressServer = function(hook_name, args, cb) {     args.app.get('/ddi', function(req, res) {
        res.send("<em>Didaktik der Informatik</em>");
    });
};

Das Resultat

Wer sich nun überzeugen möchte, ob es wirklich funktioniert, kann das Plugin wie oben beschrieben selbst erstellen oder ein bereits fertiges Plugin über npm installieren. Dazu muss der develop-Branch ausgecheckt sein.

$ npm install git://github.com/edy-b/ep_ddi.git

Nach der Installation und Start von Etherpad einfach im Browser folgende URL eingeben: http://localhost:9001/ddi

Eine Antwort to “Ein DDI-Plugin für Etherpad Lite”

Trackbacks/Pingbacks

  1. Etherpad Lite Plugins bei npmjs.org veröffentlichen « Studentenblogs DDI@UPB - 30. Juni 2012

    […] meinen bisherigen Beiträgen in diesem Blog habe ich u.A. gezeigt, wie ein Plugin für Etherpad Lite geschrieben wird und wie die dazugehörige package.json generiert werden kann. Um das fortzusetzen, […]

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: