Benutzer:Florian K/Jaybot: Unterschied zwischen den Versionen

aus Memory Alpha, der freien deutschen Star-Trek-Datenbank
Spring zu: Navigation, suche
imported>Florian K
(Jaybot, frühe Planung)
(kein Unterschied)

Version vom 20. Juli 2005, 15:49 Uhr

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

  • 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

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

Geplantes Design

<graph>

digraph "JAYBOT" { "GUI" -> "Plugin" "Plugin" -> "Core" "Core" -> "Input-Plugin" }

</graph>
  • 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

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

Projektplan

  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