Hi Christoph,
Also - ich habe Levenshtein und White/Blacksum erstmal ad acta gelegt.
Der SIFT-Algoritmus (so nenne ich ihn mal) erweist sich als sehr schnell und lässt sich auch durch kleine Gemeinheiten nicht aus dem Konzept bringen.
Schwieriger ist es erwartungsgemäß mit einer Qualitätsbewertung der Änderung, hier können eher nur quantitative als qualitative Merkmale bewertet werden.
Die Änderungsüberwachung habe ich reduziert - so bleibt eine Änderung bis zu ihrer Genehmigung erstmal nicht öffentlich.
Texte, die geändert wurden und noch auf Genehmigung warten können nur noch von der entsprechenden Person selber korrigiert werden.
Alle anderen Personen sehen die letzte offizielle Version sowie den Hinweis, daß die Version sich in Bearbeitung befindet.
Auch kann immer nur die letzte Version bearbeitet werden.
Somit bleibt die Linearität erhalten.
Eine Versionshistorie wird es geben, aber ich glaube, sie wird unter diesen Bedingungen nicht so die Bedeutung haben. Letztlich zählt die letzte Version.
- Du möchtest also ein Wiki basteln
- Du möchtest eine Warnung bekommen, wenn die Qualität der
Änderung der Artikel ein gewisses Maß überschreitet.- Du möchtest ein bequemes Browser-Frontend für den Benutzer,
das die Unterschiede zwischen den Versionen optisch
aufzeigt.
stimmt alles
Um ein Wiki überhaupt basteln zu können braucht es ein aktives Backend: irgendeine Programmiersprache und die Möglichkeit etwas zu speichern. Da kannst Du zur Not etwas Fertiges nehmen, es ist aber mehr als einfach, das hast Du schneller selber gemacht.
Wenn Du besagte Warnung ausstoßen möchtest, mußt Du die Qualität messen können. Das gelingt aber nicht, das kann kein Computer, zumindest jetzt noch nicht. Es müssen also Menschen machen.
Für das Browserfrontend würde ich das nehmen, das Du jetzt schon hast, das ist i.O. und wenn die letzten Gimmiks eingebaut sind auch schon deutlich mehr als nur i.O.
Das Browserfrontend ist mit JavaScript programmiert, und sollte eigentlich auf den meisten Browsern laufen.
Das Frontend bietet eine fertige formatiert Endansicht der Eingabe, sowie eine Differenzansicht (sowohl formatiert als auch im Plaintext)
Bleibt also nur noch der Alarm übrig. Da wolltest Du die vom Frontend erzeugten Diffs benutzen, das geht natürlich nicht, da sie vom Clienten erzeugt wurden. Entweder portierst Du den Algorithmus auf die Sprache des Wikiservers, was dann aber die Flexibilität der Clientimplementation brach legen würde oder Du siehst es ein, das es sich nunmal um ein nicht-technisches Problem handelt. Wenn die Mitglieder Deiner Community (fleißig) mitarbeiten brauchst Du Dich normalerweise um rein gar nichts mehr zu kümmern.
Auch da habe ich eine Lösung: vor jedem Submit wird der Algorithmus aufgerufen, und der befüllt mit dem Ergebniss der Alarmprüfung ein Inputfeld, daß ausserhalb der Sicht steht (sich aber logischerweise innerhalb des Formulars befindet).
Somit wird das Ergebniss aus dem Frontend mitgeliefert.
Meine Meinung ist also, das Du fertig bist mit dem technischem Teil (zumindest mit der Grundidee, 'was zu verbessern findet sich ja eh immer ;-), kümmere Dich um den Aufbau der Community, das ist schwierig genug. Kleiner Tip dazu von mir noch auf den Weg: sei pragmatisch. Laß Dich nicht von anderer Leite Aufgeregtheit anstecken, es ist seltenst etwas dahinter.
Auch wenn die Grundidee schon zu sehen ist, so wird das ausgefeilte Ergebniss einige Schmankerl aufweisen.
Schon jetzt verfügt das Programm über ein WYSIWYG Fenster (in einer div), in dem man per Tastendruck eine sofortige Vorschau hat.
Man kann per BBCodes Grafiken als Float einbinden und die Größe verändern, die dann auch in der Vorschau erscheinen.
Die Änderungen werden auch in dem Vorschaumode noch angezeigt (soweit es geht).
Mein Anspruch ist, daß man eine wirklich optisch ansprechende Seite (die ich mir noch raussuchen werde) im Wiki-System nachgestalten kann. Und logischerweise soll die Beschreibung des Wiki-Systems auch im Wiki-System erfolgen.
Das, was man mit der Wikipedia-Formatierung kann ist ja auch schon Wahnsinn.
So weit danke ich dir, würde dir zu gerne bald das Ergebniss vorstellen.
Fehlt letztlich nur noch ein Punkt: was für Themen kann man Jugendlichen auf einer Partyseite anbieten, die schon bei der Rechtschreibung ihre Probleme haben ???
So long, Mathias Weitz