Benutzer:Florian K/Jaybot

aus Memory Alpha, der freien deutschen Star-Trek-Datenbank
Spring zu: Navigation, suche

Diese Seite dient zeitweilig als Start für einen neuen Bot, der pywikipedia ersetzen oder ergänzen soll. Name des Bot soll "Jaybot" sein, Programmiersprache ist Java (1.5). Es befindet sich noch in der frühen Planungsphase.

Jeder ist aufgerufen, diese Liste zu erweitern und zu verändern
PS: Java-Script != Java :o)

Anforderungen / Features[Bearbeiten]

  • Modularer Aufbau / Erweiterbarkeit durch eigene Programme
  • Offene Schnittstelle zur MediaWiki-Software, sodass verschiedenste Sprachen, Versionen und Wikis unterstützt werden
    • Beispiele: alte MediaWikisoftware; russische, deutsche, englische Sprachversionen; lauffähig auf Wikipedia, MemoryAlpha und anderen
  • einstellbare Serverbelastung
  • nicht nur per Kommandozeile sondern auch per GUI bedienbar
  • Unterstützung von (gepackten) Datenbank-Dumps
  • Unterstützung von XML-Eingabe (und -Ausgabe)

Standardfunktionen[Bearbeiten]

  • Suchen / Ersetzen
    • Reguläre Suchausdrücke
    • HTML-Format zu Wiki-Markup
  • Kategorisierung
  • Prüfen externer Links
  • Prüfen auf Coyprightverletzung
  • Interwiki-Verlinkung

Geplantes Design[Bearbeiten]

  • GUI
    • Die grafische Benutzeroberfläche dockt mit standardisierten Schnittstellen der Plugins an und kann sie so bedienen
    • Über die Schnittstellen ist bekannt, welche Parameter benötigt werden und wie sie darzustellen sind
  • Funktion / Plugin
    • Hier wird die logische Verarbeitung durchgeführt, also der Text ersetzt / verarbeitet
  • Core
    • Enthält die nötigen Schnittstellen zum Austausch mit MediaWiki
    • Stellt Basismethoden zur Verfügung wie "Laden" oder "Speichern" eines Artikels
  • Input-Plugins
    • Eventuell zur Import von XML-Strömen oder SQL-Dumps - vielleicht besser im Core aufgehoben

Konventionen[Bearbeiten]

  • Offene Architektur der Schnittstellen zwischen den Komponenten, sodass weitere Funktionen / GUIs / Inputs von anderen erstellt werden können
  • Verwendung von JavaDoc zur Dokumentation

Projektplan[Bearbeiten]

  1. Erstellung des Core-Gerüsts
  2. Definition der Schnittstelle zu den Plugins
  3. erste Funktionen
  4. Verfeinerung der Schnittstelle
  5. Verfeinerung des Core
  6. Umsetzung der gebrächlichsten Funktionen
  7. Dokumentation und How-To
  8. Erstellen eines GUI, basierend auf Applets
  9. Möglicherweise serverseitiges GUI zur Bedienung per WWW
  10. Erreichen der Zielsetzung von Agenda 2010
  11. Bei stabilem Release möglicherweise Freikassung ins OpenSource

Technologie Vorschau[Bearbeiten]

Es gibt eine frühe Version, die noch nicht die Struktur eines verteilten Bots beeinhaltet, aber das erste Modul zeigt, mit dem man die Google-Engine zum Suchen verwenden kann.

Voraussetzungen
  • Man benötigt Java 5 (Download JDK 5.0; vorzugsweise ohne netBeans)
  • Man benötigt einen Google Account
Funktionen
  • Eingabe eines Datums
  • Optional Angabe eines Proxys
  • Auswahl der HTML-Datei, in die das Resultat gespeichert werden soll
  • Es werden über Google alle MA-Seiten gefünden, die dieses Datum tragen und unterstützt bei der Anlage des Kalenders
Geplante Funktionen
  • Nutzung von Java-Webstart zur automatischen Aktualisierung der Version und Bugfixes
  • Speicherung der Einstellungen
  • bessere Sortierung der Results
  • bessere Status-Anzeige
Benutzung
  • Download jaybot.jar (627K; inklusive 600KB Google-API)
  • In der Eingabeaufforderung oder Konsole des Betriebssystems in das Verzeichnis wechseln, in dem die Datei "jaybot.jar" liegt
  • "java -jar jaybot.jar" eingeben
  • Sollte "java" nicht gefunden werden ("Befehl nicht gefunden"), muss der "PATH" angepasst werden - nur für Experten; Die anderen müssen auf die Webstart-Version warten