Dies ist eine alte Version des Dokuments!
Dieses Projekt hat zum Ziel, eine neue technische Basis für www.ccc.de zu schaffen. Dabei soll die Useability für Leute, die den Content auf ccc.de zur Verfügung stellen, verbessert werden - nur so kann entsprechend bequem und schlagkräftig agiert werden.
Datum | Was? |
---|---|
6. Sept. (MRMCD) | Wordpress mit Plugins fertig, Content teilweise migriert |
30. Sept. | Content komplett migriert |
Mitte Oktober | Theme getüdelt und integriert |
Ende Oktober | Release |
Das gegenwärtige System (https://github.com/hukl/cccms) besteht aus einer RoR-Applikation, welche das Editieren des Contents im Backend erlaubt, und einer Webfarm basierend auf varnish und nginx. Die RoR-Applikation hat eine rollenbasierte Rechteregelung - es gibt Admins und Autoren. Neuer Content wird geschrieben, indem ein neuer Node in einem Textinterface angelegt wird. Eventuelle Assets wie Bilder etc. müssen über ein separates Interface hochgeladen werden. Insbesondere das Ändern eines existierenden Eintrags wird von den Autoren gehasst - man muss die richtige Node-ID mehr oder minder raten.
Das neue System muss ähnlich performant sein und gleichzeitig sicher. Darüber hinaus soll die neue Infrastruktur besser bedienbar sein, d.h. die Autoren sollen in einem bekannten Interface mit entsprechendem Komfort arbeiten können. Es geht hierbei nicht um die technisch schickste Lösung, sondern um die von der Useability her tollste Sache.
Zusätzlich muss der Content von www.ccc.de (und auch das „alte“ http://dasalte.ccc.de) auf der neuen Webseite verfügbar sein. Die bisherigen Links müssen erhalten bleiben. Diese haben z.B. die Form „http://ccc.de/de/updates/2013/vds-eugh“. Neben den Updates (die auch über RSS syndiziert werden) sind auch einfache Seiten wie „Themen“ oder „CCC Regional“ etc. vorhanden. Der Navigationspunkt „Veranstaltungen“ enthält eine Liste von Einträgen, ähnlich den Updates - ggf. sind diese Hinweise einfach speziell getagged.
WICHTIG: Das ist nicht der erste Anlauf, das perfekte www.ccc.de zu erfinden. Die Dokumentation des ersten Rewrite ist im Dokuwiki zu finden:
Note: Dieser muss evaluiert werden und ist nicht in Stein gemeisselt.
Howto: migration
Als Suchmaschine bietet sich Apache Solr (Engine) mit Nutch (Crawler) an, wobei die Skalierung auch bei extremen Größenordnungen noch gegeben ist. Dynamischer Content wird auch indiziert, wobei es wie auch bei Google gewisse Einschränkungen gibt. robotx.txt Files werden beachtet. Ein Prototyp ensteht unter https://search.c3event.de (ist aktuell nur zweitweise online) wobei Crawler, Engine und Frontend auf der gleichen Maschine laufen. Indiziert wird derzeit nur der Content von https://www.cccmz.de um zu sehen, was z.B. bei Wordpress heraus kommt. Das Frontend für die User wird in PHP erstellt, weil es einfach sein soll. Solr wird vom PHP in Form eines Webservices angesprochen, wobei Solr die Suchresultate in JSON oder XML liefern kann. Die Suche erlaubt die ANgabe von Parametern.
Zugangsdaten search.c3event.de
Username: ccc
Passwort: ncc1701
Erkenntnisse
Userinterface
KISS (Keep It Stupid and Simple) erlaubt nicht nur eine einfache Integration, sondern Sicherheitsprobleme werden auch offensichtlicher und lassen sich leichter finden/beheben. Die Wahl ist dafür auf PHP gefallen, weil sich das dann leichter in Wordpress oder andere Tools einbauen lässt. Also nicht wundern, wenn das aussieht wie ein Webauftritt aus den 1990er Jahren.
Wordpress
Da gibt es auch ein Plugin für Apache Solr: http://wordpress.org/plugins/advanced-search-by-my-solr-server/
Unter https://www.c3event.de/wordpress/ ist eine Wordpress Installation mit dem Apache Solr Plugin zu finden. Es spricht technisch nichts dagegen, das Selbstbau UI und Wordpress Plugin parallel zu betreiben.
Der Wordpress Content sollte trotz Plugin lieber mit Nutch indiziert werden, dieses ist einmal unabhängig von Wordpress, ist besser zum Solr XML Schema kompatibel und kann auch nicht-Wordpress Content indizieren und findet auch PDF Files.
Hier bitte konzeptionelle Probleme auflisten, die bei der Evaluation/Konzeption der CMS auftreten.