Chaos Informations System
Contents
Dokumentationsseite fuer das neue Chaos Informations System
INPUT
Schema
+----------+ | Reporter +--------------+ +----------+ | v +-------------------+ +-----+ +-----+ | RSS/RDF extern +----->| CIS +--> | XML | | (heise, slashdot) | +-----+ +-----+ +-------------------+ ^ | +-------------------+ | | user contributed +--------+ | news | +-------------------+
INPUT:
- Reporter:
- Webfrontend
- XML-RPC ueber Clientprogramm
- per Mail?
- RSS/RDF:
- client zum regelmaessigen Abholen und einpflegen
- user contributed
- Webfrontend
- per Mail?
- Jabber?
- fd0: coole idee
johl: Im Auge behalten sollten wir auf jeden Fall das Format/Protokoll, das im Moment von einem Consortium aus der Weblog/XML-Szene entwickelt wird und RSS bzw. XML-RPC ablösen soll. Die sind noch nicht irre weit (z.B. haben sie noch keinen Namen für ihr Projekt). Infos unter http://www.intertwingly.net/wiki/pie/FrontPage
OUTPUT
Schema
+----------------+ | Fahrplandaten? | +----------------+ | +-----------------+ +--------+ | +----------->| JabberTransport +---->| jabber | | | +-----------------+ +--------+ | | +--------+ | +-----------------+ | | +->| Webseite normal | | | | +-----------------+ v | | +-----+ +-----+ XSLT | +-----------------------+ | CIS +-> | XML +--------+->| Webseite text/plain | +-----+ +--+--+ | | (ohne SchnickSchnack) | | | +-----------------------+ | | | | +-----+ | +->| RSS | | +-----+ | | +-------------------+ +------------->| telnet newsticker | | +-------------------+ | | +------+ +------------->| Mail | +------+
OUTPUT:
- Web (von XML nach XHTML per XSLT):
- Webseite normal (mit Hauptnews)
- Webseite kastriert (Hauptnews, text/plain mit Links)
- Webseite normal (mit user contributed news)
- Webseite kastriert (user contributed news, text/plain mit Links und user
- diverse Feeds:
- RSS/RDF
- ticker per telnet
- JabberTransport (man added diesen kontakt zu seinem roaster und wird bei neuen news benachrichtigt)
- Hauptnews
- user contributed news
- Benachrichtigung per Mail (evtl. auch ueber Mailingliste)
- Integration des FahrPlans (zb. fuer Congress), zur Anzeige der aktuell laufenden Vortraege sowie der jeweils naechsten?
- johl: Warum nicht gleich generisch? Lass uns Termine verwalten (im iCal-Format), die dann gleich in ner Seitenbox angezeigt werden können. z.B. auch den Fahrplan.
- fd0: hoert sich gut an, das wuerde allerdings dann in der Ausgabekomponente fuer die Webseiten ansetzen, seh ich das richtig? iCal ist auch XML, oder?
- johl: Es gibt eine DTD für die XML-Repräsentation von iCal. Zu finden unter http://xml.coverpages.org/iCal-DTD-20011103.txt
johl: Hochinteressant finde ich das RDF-basierte OpenPublishingTool Samizdat (http://www.nongnu.org/samizdat/). Unbedingt ansehen! Es entstand aus der Beschäftigung mit der Mir-Engine von IndyMedia und ist von Grund auf neu in RDF konzipiert. Viele Gedanken sind da schon drin, die wir hier angedacht haben.
INTERN
Es gibt 2 News-Kanaele:
- Hauptnews
- user contributed news
Diese beiden werden erstmal komplett getrennt behandelt und auch gespeichert. Jede News kann kommentiert werden und man kann fuer jede News voten, zusaetzlich werden die News in Kategorien aufgeteilt. Erreicht eine user-contributed News per Vote eine bestimmte Punktzahl, geht sie automatisch in die Hauptnews mit ein und erscheint auf der Hauptseite (coole Idee eigentlich).
Jede News bekommt beim Eingang in das System eine eigene ID (evtl. YYYYMMDDZZZZZZ, wobei ZZZZZZ eine zu inkrementierende Sequenznummer ist) Diese Datei enthaelt dann auch zb. die Votingdaten sowie saemtliche Kommentare, welche auf diese News abgegeben wurden, so hat man alles schoen komplett in einer Datei, was dann anschliessend zu den diversen ausgabeformaten verwurstet werden kann.
Ich stelle mir vor das ganze System in Python zu schreiben, aber es sind auch viele andere Sachen zu machen die garnichts damit zu tun haben, zb:
- Definition der XMLSchnittstellen (braeuchte ich Hilfe, hab ich noch nie gemacht)
- johl: was genau meinst du hier? XML-Schnittstelle == XML-RPC-API? Standard ist die Blogger-API bzw. die MetaWeblog-API: http://www.blogger.com/developers/api/1_docs/ bzw. http://www.xmlrpc.com/metaWeblogApi Wir sollten auf jeden Fall Blogger implementieren.
- fd0: ja, das meine ich unter anderem. die XML-RPC-API ist auf jeden Fall geplant, aber was ich halt ach noch nie gemacht habe sind die zb. die DTD fuer die gespeicherten XML-Dateien mit den News drin oder zb. die von dem System ausgegebenen XML-Daten (zum Verwursten zur Webseite)
- fd0: Ich hab mir das grad angeschaut, sieht sehr cool und eigentlich trivial aus, ergo werd ich das implementieren. :)
- Webdesign, GUI-Design (kann ich auch nicht wirklich)
- Jabber Anbindung (am liebsten aber in Python, muesste aber nicht sein, obwohl es da ziemlich gute Module fuer gibt)
- tho: Und wieso nicht Perl? ;-)
- fd0: weil ich perl hasse und python mag. darum. ;)
Alle genannten sowie saemtliche Features die euch noch einfallen stehen zur Diskussion.
i18n
Das system soll platz bieten fuer mehrere Sprachen, jede News soll idealerweise in allen Sprachen verfuegbar sein. Leser sollen die Moeglichkeit bekommen, ganz einfach eine News in ihre Sprache uebersetzen zu koennen, damit wird gewaehrleistet, dass zumindest wichtige Dinge in vielen Sprachen verfuegbar sind.
- tho: Welche Sprachen denn ausser Englisch und Deutsch? Beim letzten Congress wurden die news von den Reportern immer zweisprachig eingegeben...
- fd0: ich habe mir das so gedacht:
Eine News wird in einer Basissprache (zb. Englisch) eingegeben. Beim Anschauen auf der Webseite laesst sich die bevorzugte Sprache auswaehlen (zb. Deutsch). Wenn die Seite mit diesen Voraussetzungen angeschaut wird, wird die News in Englisch angezeigt, weil die deutsche Uebersetzung noch nicht existiert und zusaetzlich gibt es einen Link "translate" oder so, wo der Text der News auf Deutsch eingegeben werden kann. So kann jeder mal eben noch nicht vorhandene News uebersetzen.
Was haltet ihr von der Idee?
- johl: Ich glaube, hier wollen wir Apache Content Negotiation einsetzen: http://httpd.apache.org/docs/content-negotiation.html Das ist ideal, um die gewünschte Sprache auszuwählen.
Entwicklung
Ich werde auf alioth.debian.org (sowas aehnliches wie sourceforge, nur im Gegensatz zu denen nicht kommerziell) das Projekt anmelden, es werden fuer alle die es interessiert auch ssh-accounts zur Verfuegung gestellt.
Oder weiss jemand was besseres?
- tho: Vielleicht eigener CVS?
- fd0: ist da mit dabei, da haetten wir speicherplatz fuer cvs und webseite usw. ist eine g-forge-installation auf einem der Server vom Debian projekt
RoadMap
Masterplan: Soll bis zum Congress benutzbar sein...
- DTD fuer die Basis, also eine chaosnews schreiben (ist unter /ChaosNewsDtd einsehbar...)
- da muesste nochmal jemand drueberschauen, der davon wirklich Ahnung hat
- tho: Ich würde die DTD mehr an die Chaos-DTD anpassen...
- fd0: dann tu es doch =)
Fazit
- es gibt viel zu tun
- taking FeatureRequests NOW
- bitte Feedback (!)
- fd0