Durch das Entwickeln des WikiHooks-Prototypen als Extension, konnte nachgewiesen werden, das der Einsatz von Webhooks für das MediaWiki-System möglich ist. Ebenso wurde diskutiert wie und warum eine solche Erweiterung nutzbringend in eine Umgebung wie die des MediaWiki integriert werden sollte. Durch WikiHooks könnten sich die Betreiber verschiedenster Wikis auf einfache Art und Weise einen eigenen
Anteil am „programmable web“ sichern.
Inhaltsverzeichnis
Kapitel 1 : Einleitung
1.1 Einführung
1.2 Ziele der Bachelorarbeit
1.3 Arbeitsübersicht
Kapitel 2: Webhooks, MediaWiki und andere grundlegende Technologien
2.1 Was sind Webhooks?
2.2 Der Einsatz von Webhooks im Internet.
2.3 Was ist ein Media-Wiki?
2.4 MediaWiki und Webhooks
2.5 Wiki-Extensions
2.5.1 Was ist eine Extension?
2.5.2 Welche Extensions gibt es für MediaWiki?
2.5.3 Was ist bei der Programmierung einer MediaWiki-Extension zu beachten?
2.6 Programmierung im MediaWiki: Welche Programmiertechniken können sinnvoll für WikiHooks eingesetzt werden?
2.6.1 PHP und HTML
2.6.2 JavaScript und AJAX
2.6.3 SQL und JSON
2.7 Was ist Wordpress?
Hookpress – Webhooks für Wordpress:
2.8 Vergleich von MediaWiki und Wordpress
Kapitel 3: Funktionalität von WikiHooks
3.1 An welche Nutzer richtet sich WikiHooks?
3.2 Wie funktioniert WikiHooks?
3.2.1 Beispiel für die Verwendung von WikiHooks
3.3 Welche Vorteile bietet WikiHooks?
3.4 Technologische Zusammenhänge und Voraussetzungen
3.4.1 Arbeiten mit der Wikiumgebung
3.4.2 Aufgabe von JavaScript , AJAX und JSON
3.4.3 Ressourcenverbrauch durch WikiHooks
3.4.4 Weiterleitung der Informationen
3.5 Vergleich von Hookpress und Wikihooks
3.5.1 Gemeinsamkeiten
3.5.2 Unterschiede
3.6 Sicherheit
Kapitel 4: Durchführung der Entwicklung
4.1 Arbeitsumgebung
4.2 Vorgehensweise
4.2.1 Vorbereitung
4.2.2 Durchführung
4.3 Experimente
4.4 Externe Skripte
4.5 Probleme
Kapitel 5: Zusammenfassung der Arbeitsergebnisse
5.1 Welche Ziele wurden erreicht?
5.2 Welche Verbesserungen sind möglich?
5.3 Welche Alternativen gibt es?
5.4 Welche Maßnahmen fehlen für eine Veröffentlichung?
5.5 Fazit
Zielsetzung und thematische Schwerpunkte
Die vorliegende Arbeit verfolgt das Ziel, einen funktionsfähigen Software-Prototypen für MediaWiki-Umgebungen zu entwickeln, der die Integration von Webhooks ermöglicht. Dabei liegt der Fokus auf der Schaffung einer Schnittstelle, die es Benutzern erlaubt, Wiki-interne Ereignisse automatisch zu erfassen und entsprechende Daten zur weiteren Verarbeitung an externe Ziele weiterzuleiten, um so eine Synchronisation von Informationen im Sinne des „programmable web“ zu realisieren.
- Entwicklung und Implementierung der WikiHooks-Erweiterung für MediaWiki.
- Untersuchung von Webhook-Technologien und Vergleich mit bestehenden Lösungen wie Hookpress.
- Konzeption eines benutzerfreundlichen Interfaces zur Verwaltung von Ereignissen und Ziel-URLs.
- Erforschung und Anwendung von Programmiertechniken wie PHP, AJAX, JSON und der MediaWiki-eigenen Hook-Architektur.
- Kritische Analyse der Machbarkeit, Sicherheit und Performanz eines solchen Prototypen.
Auszug aus dem Buch
3.2 Wie funktioniert WikiHooks?
Wikihooks kann als zusätzliche Option für den eingeloggten Nutzer betrachtet werden. Unter dem Menüpunkt „Einstellung“ erscheint nach der Installation des Plugins durch einen Administrator der neue Reiter „WikiHooks“. Klickt der User auf diesen Reiter, kann er sich seinen persönlichen Webhook zusammenstellen. Befindet sich in der Datenbank bereits die Option „webhooks“, so werden alle Webhooks die vom User erstellt wurden, in ihrer Erstellungsreihenfolge angezeigt. Es werden die ID, der gewählte Hook, die jeweiligen Parameter sowie der Status angegeben. Der Status kann dabei entweder aktiv oder inaktiv sein. Inaktive Webhooks werden vom System ignoriert und nicht ausgeführt. Sie werden im Userinterface grau hinterlegt und tragen den Status „inaktiv“. Zusätzlich zu den Informationen über den Hook werden nach dem Status noch 2 Buttons angezeigt. Diese Buttons dienen zum Manipulieren des Hook-Arrays. Der erste ist der Aktivierungsbutton, mit dem man den jeweiligen Webhook an- oder ausschalten kann. Der zweite Button entfernt den Webhooks unwiderruflich aus den Useroptionen. Abbildung 1 zeigt das User Interface von WikiHooks für die Darstellung der angelegten Webhooks:
Der Übliche Ablauf bei der Erstellung eines neuen Webhook sollte dabei wie folgt aussehen:
Der User entscheidet sich für eine Kategorie des Hooks.
Zusammenfassung der Kapitel
Kapitel 1 : Einleitung: Dieses Kapitel führt in die Thematik der Webhooks im Internet ein, erläutert die Relevanz für das MediaWiki-System und definiert die Ziele der vorliegenden Bachelorarbeit.
Kapitel 2: Webhooks, MediaWiki und andere grundlegende Technologien: Hier werden die theoretischen Grundlagen zu Webhooks, der MediaWiki-Architektur, Extensions und relevanten Webtechnologien wie PHP, AJAX und JSON vermittelt sowie das Vorbild Hookpress analysiert.
Kapitel 3: Funktionalität von WikiHooks: Dieser Abschnitt beschreibt die konkrete Funktionsweise von WikiHooks, die Zielgruppen, die Bedienung für den Anwender sowie die technologischen Voraussetzungen und Sicherheitsaspekte.
Kapitel 4: Durchführung der Entwicklung: Hier wird der agile Entwicklungsprozess in Iterationen, die Arbeitsumgebung sowie die methodische Durchführung der 22 durchgeführten Experimente detailliert dokumentiert.
Kapitel 5: Zusammenfassung der Arbeitsergebnisse: Das Abschlusskapitel bewertet das erreichte Ergebnis, diskutiert Optimierungspotenziale bezüglich Performance und Sicherheit und zieht ein Fazit über die erfolgreiche Prototypenentwicklung.
Schlüsselwörter
WikiHooks, MediaWiki, Webhooks, Programmable Web, Extension, Eventhandling, Callback, PHP, AJAX, JSON, Software-Prototyp, Automatisierung, Schnittstelle, Systemarchitektur, Webentwicklung
Häufig gestellte Fragen
Worum geht es in dieser Bachelorarbeit im Kern?
Die Arbeit befasst sich mit der Entwicklung einer MediaWiki-Erweiterung namens „WikiHooks“, die es ermöglicht, Wiki-interne Ereignisse (wie das Speichern von Artikeln) zu erfassen und via Webhook an externe Webdienste weiterzuleiten.
Was sind die zentralen Themenfelder der Arbeit?
Die Arbeit verknüpft Konzepte des „programmable web“ mit der MediaWiki-Architektur. Zentrale Themen sind Eventhandling, die Implementierung von Extensions, die Nutzung von APIs sowie der Einsatz von Webtechnologien wie JSON und AJAX zur Datenübertragung.
Was ist das primäre Ziel der Untersuchung?
Das primäre Ziel ist der Nachweis der technischen Machbarkeit, indem ein voll funktionsfähiger Software-Prototyp implementiert wird, der die Event-basierte Kommunikation zwischen MediaWiki und externen Systemen automatisiert.
Welche wissenschaftliche Methode wurde für die Entwicklung verwendet?
Die Entwicklung folgte einem agilen Vorgehensmodell basierend auf „Extreme Programming“. Die Arbeit wurde in sechs Iterationen gegliedert, wobei die Funktionalität schrittweise durch 22 dokumentierte Experimente erarbeitet und verifiziert wurde.
Was wird im Hauptteil der Arbeit behandelt?
Der Hauptteil umfasst eine theoretische Fundierung der verwendeten Technologien, eine detaillierte Beschreibung der Architektur von WikiHooks, die Dokumentation des Entwicklungsprozesses sowie eine kritische Auseinandersetzung mit den erzielten Ergebnissen.
Welche Schlüsselwörter charakterisieren diese Publikation?
Wichtige Begriffe sind WikiHooks, MediaWiki, Webhooks, Eventhandling, Automatisierung, JSON, AJAX, PHP und die Entwicklung von Software-Prototypen im Web-Kontext.
Worin unterscheidet sich WikiHooks maßgeblich von existierenden Lösungen wie Hookpress?
Während Hookpress für das Wordpress-System konzipiert ist und spezifische Filterfunktionen bietet, ist WikiHooks eine eigenständige, für die spezifische MediaWiki-Umgebung entwickelte Lösung, die den Fokus auf die Aktivierung von Webhooks durch reguläre Wiki-Benutzer legt.
Wie wird die Datensicherheit bei der Nutzung von WikiHooks gewährleistet?
Die Extension wurde so konzipiert, dass Webhooks nur aktiv sind, solange der Benutzer eingeloggt ist, und Webhook-Einstellungen in den persönlichen Benutzeroptionen gespeichert werden, um unbefugte Manipulationen durch andere Benutzer zu verhindern.
- Citar trabajo
- Robert Zeschke (Autor), 2011, WikiHooks. Eine protoypenhafte Webhook Extension für MediaWiki, Múnich, GRIN Verlag, https://www.grin.com/document/175482