[[C3D2-Web]] ist die neue Website für http://www.c3d2.de/
Bevor zu viele Leute enttäuscht werden, soll diese erstmal testweise ''ausgerollt'' werden, damit an der Seite interessierte Leute damit rumexperimentieren können.
Wir verlassen uns hier nicht auf irgendein CMS, sondern verwenden standardisierte, etablierte Techniken. Für XSLT gibt es mehr als eine Implementation. Des weiteren ist es bereits so, dass das System schon von mehr als einer Person kapiert wird.
Als Side-effect sollte noch gesagt werden, dass sämtliche Seiten statisch sind. Wir sind also gegen XSS und xyz-Injection gefeit. Passwortabfragen können wir immernoch mit ''.htaccess'' lösen.
Um es auf den neuesten Stand zu bringen, reicht es in diesem Verzeichnis den folgenden Befehl auszuführen:
svn up
Für die aktive Beteiligung braucht man natürlich einen Account mit Schreibrechten. Für einen solchen muss man nur [[Benutzer:Sven|Sven]] benachrichtigen. Nach diesem Account wird beim nächsten '''svn ci''' gefragt.
Wenn zudem etwas in das SVN eingecheckt wird, dann werden Commit-Messages per Jabber empfangen. Ein spezieller Triggerbot empfängt diese ebenfalls, wird dann die Homepage sofort neubauen und publizieren.
Zu diesem Bot kann man sich auch subscriben, einfach [xmpp:c3d2-web-trigger@pentabarf.org c3d2-web-trigger@pentabarf.org] zum Roster hinzufügen. Einzige Funktion ist die Anzeige der letzten Neubauzeit.
Den gewöhnlichen Autor interessieren eigentlich nur die Dateien in ''content/''. Dort kann er die XML-Dateien nach unten genannten Schemata bearbeiten. Wenn kein gültiges XML eingefüttert wird, spuckt '''xmllint''' (bzw. '''xsltproc''') schon erklärende Fehlermeldungen.
Um zu schauen, wie sich die eigenen Änderungen machen, gibt man im ''c3d2-web/''-Verzeichnis '''make''' (unter *BSD: '''gmake''') ein. Dann werden mithilfe '''xsltproc''' (oft in ''libxslt'' paketiert) in Windeseile in ''build/'' die html- und rss-Dateien gebaut. Wenn alles fertig ist kopiert rsync alles zusammen mit dem Inhalt von content/static nach www/, das ist ganz nützlich um zu sehen, welche Dateien sich tatsächlich verändert haben.
Beim Build-Prozess wird http://www.ccc.de/updates/chaosupdates.rdf für die Seitenleiste gesaugt. Das passiert aber nur einmal, bis man ''make clean'' ausführt.
|''category'' || Eine Kategorie (sowas hatte die alte Seite auch). Danach soll eventuell mal ein Bild eingefügt werden, wenn man kein's per Hand vergibt.
Muss in ein ''<nowiki><p/></nowiki>'' einschlossen werden. Vorher darf noch ein einzelnes <image/> stehen, dieses wird dann automatisch linksbündig oder rechtsbündig angeordnet (aktuell deaktiviert). Für weitere, erlaubte Elemente, siehe [[C3D2-Web#Seiten bearbeiten|Seiten bearbeiten]].
Seit r324 wird für jede News noch eine Extraseite angelegt. Für Text, der dort erscheinen, aber nicht in der Übersicht stehen soll, darf in <item/> noch zusätzlich ein <addendum/> geschrieben werden. Dort kann alles rein, was auch in eine normale Seite kann.
Damit Downloads als enclosures in RSS und ATOM auftauchen (ein Podcast!11), gibt man sie als <resource/> an. Nebenbei erscheinen sie auch im HTML, schliesslich sollen alle Daten verwurstet werden.
|''Attribut "title" || Ein Kurztitel nur fürs HTML, Fallback auf Inhalt
|-
|''Attribut "size"'' || Contentgröße in Bytes
|-
|''Attribut "type"'' || MIME-Type
|-
|''Attribute "hide"'' || Wenn "yes", so wird diese Ressource nicht auf der Nachrichtenübersichtsseite angezeigt. Das ist sinnvoll, wenn es eine Menge Dateien (wie bei DS-Mitschnitten) gibt, die man als Podcast anbieten möchte, jedoch in ihrem vollen Umfang auf der Übersichtsseite stören würden.
Dazu bearbeitet man ''content/navigation.xml''. Dort erstellt man ein neues <file/>-Element mit dem Pfad zur Datei unter content aber ohne Erweiterung, z.B. <file>content/kontakt</file>. Als Linktitel wird automatisch das ''pagetitle''-Attribut der entsprechenden Seite verwendet.
Dort existiert auch ein [http://trac.cccv.de/c3d2-web Trac], wo man sich die aktuellen Bugreports per RSS zukommen lassen kann: http://trac.cccv.de/c3d2-web/report/1?format=rss
News zu bestimmten Anlässen kann man mit <event/> versehen. Durch bestimmte standardisierte CSS-Klassen können die Daten dann auch im XHTML gefunden werden.
[http://suda.co.uk/projects/X2V/get-vcal.php?uri=http://www.c3d2.de/ c3d2-News als iCal per X2V]