Hi!
Ich erzähle hier mal ein wenig darüber, was die Synchronisation eigentlich genau macht, bzw. wie der aktuelle Stand ist.
Zusammengefasst: Der Sync sorgt dafür, dass Beiträge aus Mailinglisten im Forum landen und Forenbeiträge auf der Mailingliste.
In Langform: Synchronisierte Mailinglisten werden mit einem Newsserver synchronisiert. News sind in der Computersteinzeit als Ersatz für Mailinglisten entstanden, da die Kapazität alter Mailserver schnell erschöpft waren, wenn viele Empfänger auf einmal eine Nachricht erhalten sollten. Newsartikel sind im internen Aufbau her praktisch identisch zu Mails. Dementsprechend kann man mit Mailclients wie Thunderbird eben auch News lesen.
Im Prinzip ist ein Newsserver vom Aufbau her vergleichbar mit einem Forum, d.h. eine Datenbank voll mit Artikeln - nur ohne Webfrontend. Auch hier werden die Artikel in Gruppen abgelegt, auch hier kann man - wenn man am System angemeldet ist - eine Gruppe einfach betreten, um die Nachrichten darin zu lesen. Und auch hier kann man alte Beiträge lesen. Genauso wie bei Foren können hier Artikel nachträglich gelöscht oder ersetzt werden.
Da sich also Mails und Newsartikel sehr ähneln und vom System her Newsserver einem Forum entsprechen, war die Idee geboren, einen Newsserver als Mittler zwischen Mailinglisten und Forum zu verwenden.
Der Sync zwischen Mailinglisten und dem Newsserver ist weit vorangetrieben. Es werden um die 120 Mailinglisten synchronisiert, es werden pro Tag zwischen 300 und 400 (an manchen Tagen mehr) Artikel synchronisiert. Die verwendeten Scripte sind stabil. Dieser Teil des Syncs ist ist praktisch fertig.
Der andere Teil des Syncs ist der Weg zwischen Forum und Newsserver. Hier müssen Veränderungen am Forum durchgeführt werden, die Funktionen der Sync-API aufrufen. D.h. das Erstellen eines Beitrags am Forum erstellt auch einen Artikel auf dem Newsserver. Löscht jemand einen Beitrag im Forum, so wird der entsprechende Artikel ebenso gelöscht. Und wird ein Artikel nachträglich verändert, so wird eine entsprechende Aktion auf dem Newsserver veranlasst. Dies funktioniert recht gut. Das einzige Problem: Eine Mail auf einer Mailingliste kann natürlich nicht nachträglich geändert werden. Hier gibt es zwei Optionen: Wenn Artikel nachträglich geändert werden, könnte der Artikel erneut gesendet werden - oder nur die erste Fassung. (Dies wäre einstellbar). Das selbe gilt natürlich auch beim Löschen.
Beim Schreiben auf dem Newsserver wird ein Forenpost durchgeführt. Abhängig davon, ob es ein Reply oder ein neuer Post ist, wird der Beitrag an einem bestehenden Thread angehängt oder ein neuer Thread eröffnet. Da es Mailclients gibt, die die internen Bezüge zwischen den Nachrichten nicht herstellen (Das Webfrontend von Web.de ist so ein Kandidat), wird zusätzlich über den Betreff zusammengefasst, d.h. dass in der Regel ein Thread auch zusammen im Forum dargestellt wird. (Dies klappt recht zuverlässig)
Der Quellcode für den Sync zwischen Forum und Newsgroup funktioniert recht gut, enthält aber noch Stellen, die erweitert oder neugeschrieben werden müssen. Dies betrifft z.B. die Prüfung auf geschlossene Threads, aber auch die Wandlung zwischen Nachrichtentext und Forencode. Hier wird die Nachricht im Rahmen der Möglichkeiten der jeweiligen Systeme umgewandelt, so dass die Nachricht auch "gut" aussieht. Dies beinhaltet auch das Entfernen von ToFu. Insbesondere dieser Teil der Umwandlung muss komplett neugeschrieben werden, bevor der Echteinsatz durchgeführt werden kann.
Zum Ablauf: Das Projekt startete zum Bundesparteitag in Hamburg. Dort habe ich Kontakt mit anderen aufgenommen. Anschließend habe ich die ersten Mailinglisten angeschrieben und mit der Zeit immer mehr Listen gesammelt. Irgendwann war die Phase erreicht, wo ich nicht mehr die Listen anschreiben musste, sondern die Listen angefangen haben, mich anzuschreiben. Der Plan ist, dass der forenspezifische Quelltext im Bundesforum implementiert wird, sobald dieser stabil ist. Dann sollen Tests mit einzelnen Gruppen durchgeführt werden. Hier gab es Differenzen zwischen den Beteiligten. Während einige ein neues Forum erstellen wollten, wollten andere die Änderungen im bestehenden Forum durchführen. Ich sehe mich eher als der Techniker, dementsprechend ist es mir persönlich egal, wie es geschieht. Rechtliche Bedenken sollten am Besten von denen beurteilt werden, die dies auch beurteilen können.
Das Forum unter http://news.piratenpartei.de ist ein Testforum. Es soll nur dazu dienen, den Sync zu testen, wird aber mittlerweile praktisch produktiv genutzt. Es soll - wenn alle Gruppen mit dem Bundesforum synchronisiert wären - nur noch als Testplattform dienen.
Eine Beschränkung der Speicherzeit und andere Änderungen am Forum sind nicht technisch begründet, sondern sind als Reaktion der Mailinglistenuser entstanden.
Es gibt von mir jetzt den Vorschlag, die Mailinglisten und das Bundesforum mit getrennten Bereichen des Newsserver zu synchronisieren. Dies würde bedeuten, das jeder Beitrag in einer synchronisierten Forengruppe auf dem Newsserver landen würde und ein Newsartikel in diesem Bereich auch im Forum landet - inklusive der langen Haltezeiten. Ein Beitrag auf der Mailingliste würde ebenso auf dem Newsserver landen - aber mit kurzer Haltezeit. Technisch ist dies kein Problem.
Michael
