Kommentare

Forum feed

Zikula Nachrichten

RSS Feed

Portal-Netzwerk mit Zikula 1.3 und ModuleStudio realisiert

Bild 0 für Portal-Netzwerk mit Zikula 1.3 und ModuleStudio realisiert

Ein Erfahrungsbericht aus Kundensicht

November 2010: Ein Vorgängerprojekt in Typo3, das beendet wird. Ein Entwickler, der abgetaucht ist. Und statt des neuen Projektes eine einzelne, unfertige Website, die weder in Funktion noch Design unseren Vorgaben entspricht.
August 2011: Die erste Ausbaustufe des neuen Netzwerks steht mit dem Systemportal und mittlerweile schon drei Themenportalen live im Web. Erste Accounts, erste Inhalte, erste Besucher. Die nächsten zwei Themenportale folgen noch 2011. Stimmung ausgezeichnet.


Dieses komprimierte „Vorher / Nachher“ bringt meine Erfahrungen mit Zikula, ModuleStudio und dem Entwicklerteam Guite auf den Punkt. Was zählt, ist das Ergebnis.

Die Vorgeschichte
Das Vorläuferprojekt war ein einzelner Marktplatz, auf dem Designer individualisierbare Layouts einstellen und verkaufen konnten. Eine Mischung von Community und Shop-Elementen, basierend auf Typo3, Extensions und Eigenprogrammierung unseres damaligen Entwicklers. Nach extrem langer Entwicklungszeit (über zwei Jahre) ging „preconcept.de“ Anfang 2010 dann endlich an den Start. Nach etwa sechs Monaten Live-Betrieb, begleitet von intensiver Vermarktung mussten wir uns allerdings eingestehen, dass das Projekt fehlgeschlagen war. Weder Resonanz noch Akzeptanz entsprachen unseren Erwartungen.

Das neue Konzept: Das Ad-Share Portalnetzwerk für freie Inhalte
Was also tun? Unsere Folgerung: Wenn für digitale individualisierbare Layouts keiner bezahlen will, dann müssen wir sie eben verschenken. Ergo Neustart mit einer Plattform für kostenlose Layouts, ebenfalls als Marktplatz konzipiert. Und wie das monetarisieren? Über Werbung. Und wie Grafiker dafür interessieren, dort selbst Layouts einzustellen? Indem wir die Werbeeinnahmen auf alle verteilen, die am Erfolg des Portals beteiligt sind. Gerecht und fair. Also Ad-Revenue-Sharing.
Damit war das Ad-Share System im Prinzip geboren. Der Entschluss, weitere Themenportale für andere Inhalte nach dem Ad-Share Prinzip bauen zu wollen, war danach nur folgerichtig. Und warum dann nicht auch in anderen Sprachen als in Deutsch?
Nachdem jedoch der alte Entwickler nur eine weniger als fragmentarische Version dieses neuen Konzeptes abgeliefert hat und sich dann in den Weiten des Webs verlor, stellte sich die Frage:

Wer kann so was machen, womit, bis wann und für wie viel?
Das war Ende 2010. Wir suchten also ein System (Framework, Toolbox, was auch immer) und einen Partner zur Realisierung folgender Anforderungen:

  • Benutzer- und differenzierte Rechteverwaltung.
  • Einstellen und Editieren von nutzergenerierten Inhalten („Themenseiten“).
  • Upload und Download von Nutzer-Inhalten.
  • Dynamische Kategorienstruktur, Such- und Sortierfunktionen.
  • Funktionen für Kommentare, Bewertung Like, SocialMedia Empfehlungen.
  • Zählfunktionen für Nutzeraktionen und Statistik für Einsteller zur Performance ihrer Inhalte (Views, Likes, Downloads etc.)
  • Newsletter und Kategorie-Abo.
  • Einbindung CMS für portalseitige Inhalte, bei uns „Service-Seiten“ genannt.
  • Backend Freigabe und Verwaltung für nutzergenerierte Inhalte.
  • Anbindung an Ad-Server, variable Einbindung von Werbeplätzen.
  • Storage, angedacht war Amazon S3 (passte dann auch)
  • Datenbank Server Einrichtung

Diese erste Plattform (für freie Layouts) sollte dann als eine Art „Kopier-Vorlage“ dienen für das geplante Netzwerk von themenfokussierten Portalen. Zusätzlich sollte ein Systemportal Aufgaben als integrales Leitportal für das Team und als Anlaufstelle für Werbetreibende übernehmen.

Von Pflichten und Lasten bis zum Tag der Entscheidung
Ich erstellte ein ausführliches Pflichten- und Lastenheft, ergänzte es um detaillierte (bildliche) Layoutansich-ten und machte mich auf die Suche in verschiedenen Entwickler-Netzwerken. Dabei befand sich meine Grundstimmung nach den kurz zuvor gemachten desaströsen Erfahrungen irgendwo zwischen skeptisch und hypersensibilisiert. Entsprechend wach und kritisch habe ich dann alles geprüft, was zu mir zurückkam:
Nach ersten Kontakten und Vorab-Checks stellte sich schnell heraus, dass die bestehenden Codefragmente leider nicht nutzbar waren. Die Devise hieß also „Komplette Neuprogrammierung“!
Fünfzehn Anbieter, zumeist aus Deutschland, erhielten die Detailunterlagen und gaben Angebote und Vor-schläge über Realisierungswege ab - mit den unterschiedlichsten Frameworks und Werkzeugkisten von RoR über Typo3 bis Zend und natürlich vielen eigenen Frameworks / Codesammlungen. Trotz sehr präziser Ziel-vorgaben variierten die Preise dabei um bis zum Dreifachen (sic!) – eine Offerte aus der Schweiz unterschied sich sogar um das Zwölffache vom günstigsten Anbieter.
Fünf Angebote waren schließlich in unserer Endauswahl, wovon wir noch mal zwei aussonderten. Nach persönlichen Terminen fiel die Entscheidung am Ende für Zikula und Guite.

Startschuss für Zikula
Von vielen Frameworks, Toolboxen und CM-Systemen hatte ich schon gehört. Von Zikula noch nie. Warum also gerade Zikula? Es waren vor allem drei Punkte, die uns überzeugten:

  1. Zum einen hat Axel Guckelsberger mit GUITE als einziger Anbieter unseren Grundgedanken des multithematischen und multilingualen Netzwerks explizit reflektiert. Die breite thematische Streuung der geplanten weiteren Portale stellte ja gerade die besondere Herausforderung an die Fähigkeit zur systemischen Einbindung von Varianzen dar.
  2. Zum anderen hat mich die starke Betonung der modellgetrieben Entwicklung besonders angesprochen.  Sorgfältige Planung erspart die Abbruchbirne.
  3. Und schließlich waren uns hohe Flexibilität und Schlankheit zentrale Anliegen, die uns Zikula als gangbaren Weg erscheinen ließen. Nur das bekommen, was wir wirklich brauchen.

Überzeugende Konfiguration: Varianz systemisch integriert
Unsere Entscheidung haben wir seit dem nicht ein einziges Mal bereut. Schon Ende Mai waren das Systemportal und das Layout-Portal live (einschließlich einiger nachträglicher Erweiterungen), acht Wochen später zwei weitere Themenportale.
Dank der Kombination von Zikula (mit Multisites) und ModuleStudio haben wir jetzt ein System, dass sich durch hohe systemische Varianz auszeichnet. Eine umfangreiche themen- und sprachbezogene Systemkonfiguration, aufgesetzt auf einem hohen Standardisierungsniveau, erlaubt uns das Feintuning für jedes Themenportal. Einige Highlights:

  • Verschiedene Design-Layouts werden als „themes“ über CMS und Templates hinterlegt.
  • Dynamische Generierung weiterer Eigenschaftsfelder (Beitragstypen).
  • Variable Feldfunktion - z. B. nur Zahlen für Sortierung oder Texteingabe als Titel eines Beitrags.
  • Ein-, Abschalten von Funktionen, Ein- / Ausblenden von Seitenbereichen
  • Einstelungen zum Download (Datei und Prozess)
  • Suchlisten: Anzahl Items/Seite, Auswahl zufällig/Datum, Anordnung horizontal/vertikal
  • Vorschaubilder: Variablen für Abmessungen, Anzahl, Generierungswege
  • Sprache: Mono-, Bi oder Multilingual;
  • Filterfunktion zur Anzeige von Nutzerbeiträgen in einer oder in allen Sprachen. Übersetzungstabelle.
  • Übersetzungstabelle thematisch (z.B. ist Nutzer = Designer, Fotograf, Autor o.a.)
  • Variable Blöcke für Werbeplätze, Einbindung von OpenX AdServer, Flooding
  • Zikula CM Modul für Portalseitige Seiten (Backend)
  • Newsletter Modul

Mit Zikula, Multisites und ModuleStudio haben wir einen hochflexiblen Baukasten ohne Ballast, der uns einfache thematische Skalierbarkeit ermöglicht. Neue Portale können wir jetzt in einem geradezu überwältigenden Tempo - sozusagen „auf Knopfdruck“ - online setzen lassen (vorausgesetzt, wir selbst haben unsere Schulaufgaben gemacht).
Und nicht zuletzt ist bei den vielen geplanten Portalen geringer Wartungsaufwand von entscheidender Bedeutung: Aktualisierungen der Software oder neue Features können einfach und schnell allen Portalen global „unterlegt“ werden.

Wie geht es weiter?
Vier Portale stehen jetzt im Netz:

2011 gehen noch ein Portal zum Thema Kunstwerke / Bildende Kunst plus eins zu historischen Fahnen onli-ne. Weitere sind für nächstes Jahr geplant.

Dank an die Zikula Gemeinde
Natürlich ist jedes Werkzeug nur so gut wie der Werker, der es führt. Aber es steht genauso außer Frage, dass zwischen gleich Guten das bessere Werkzeug den Ausschlag gibt. Aus meiner Sicht als (kritischer) Nutzer bieten Zikula und ModuleStudio eine ausgezeichnete Grundlage unserer Projekte. Dafür herzlichen Dank an alle, die dies in langer, manchmal mühevoller, aber immer engagierter Kleinarbeit möglich gemacht haben.
Dies zu würdigen, war mir ein Anliegen, dem ich hiermit gerne nachgekommen bin.

Fotogalerie

 

Themen


Kommentare

  • Geschrieben am
  • 19. Aug 2011 - 19:37
Danke!

Danke für den Erfahrungsbericht! Die Highlights und die geschilderte Funktionalität hört sich gut an und scheinbar konnten mit den verwendeten Versionen ein gute Qualität erreicht werden. Jetzt fehlt eigentlich noch ein HowTo z.B wie mit einer gemeinsamen Userdaten Basis der Seiten dennoch mit unterschiedlichen Rechten in den jeweiligen Portalen gearbeitet werden (in einem ist der anwender evtl editor in dem anderen nur user,...) oder wie gibt man dem Anwender die Möglichkeit eine Übersetzungstabelle zu bearbeiten und arbeitet aber trotzdem mit gettext, ist das vielleicht nicht möglich,.... Ein HowTo zu dem System wäre spitze aber ein wenig viel verlangt wahrscheinlich! :) Freue mich das die Möglichkeiten dargestellt wurden die mich interessieren! :)

  • Geschrieben am
  • 19. Aug 2011 - 20:08
@ Danke!

Da gab es wohl ein kleines Mißverständnis: Eine gemeinsame Benutzerdatenbank für ALLE Portale gibt es gerade nicht. Wir gehen ja ganz bewußt den Weg der thematischen Trennung - das beinhaltet aus meiner Sicht eben auch die Trennung der Communities. Es kann sich ja jeder bei dem / den Portal(en) anmelden, die seinen Interessen entsprechen. Danke für Dein Feedback.

  • Geschrieben am
  • 21. Aug 2011 - 14:38
Multisites, Gettext und Sprachvariationen

Das Multisites-System von Albert setzt etwas weiter unten an als bei einzelnen Tabellen (das war früher mit den alten Multisites-Lösungen so): jede Seite hat eine eigene Datenbank - was nicht nur Sinn aus Skalierungsgründen sinnvoll ist. Wer möchte, kann gerne den Git-Stand für Zikula 1.3 einmal ausprobieren.

Die Behandlung der Sprachen war indes etwas kniffliger, jedoch zum Glück nur auf den ersten Blick. Da jedes Themenportal andere Begriffe und Übersetzungen mit sich bringt, galt es zu überlegen, wie sich dies mit Gettext vereinbaren lässt. Sätze zerstückeln ist auf keinen Fall der richtige Ansatz, weil das in vielen Sprachen, auch Deutsch, zu Problemen, etwa in Verbindung mit verschiedenen Deklinationen, führt. Die Umsetzung ist dann wie immer eigentlich recht simpel, sobald man nur auf die passende Idee kommt: da sich in einem Modul ohnehin verschiedene Einstellungen angesammelt hatten um die Unterschiede zwischen den einzelnen Portalen bequem einstellen zu können, haben wir eine weitere Einstellung hinzugefügt namens Portalthema. Das ist eine Dropdown-Liste und gespeichert wird eine Zahl, die für das jeweilige Thema steht. In einer speziellen Util-Klasse sowie verschiedenen Templates können dann die Gettext-Aufrufe je nach Zahl unterschieden werden.

Code

{if $portalTopic eq 1}
{gt text='New layout' assign='myTitle'}
{elseif $portalTopic eq 2}
{gt text='New picture' assign='myTitle'}
{elseif $portalTopic eq 3}
...
{else}
{gt text='New item' assign='myTitle'}
{/if}

Damit landen dann alle sprachlichen Unterschiede im ganzen Modul zusammen in einem Gettext-Katalog. Und die Einstellung für das Portalthema wird genau wie alle anderen Optionen in der Datenbank gespeichert, so dass es problemlos möglich ist sukzessive verschiedene Multisites-Vorlagen für die einzelnen Themenportale zu erstellen. Hier kommt auch wieder die oben angesprochene Separierung der Datenbanken ins Spiel: da jedes Thema die einzelnen Daten etwas anders interpretiert, hat man so auch konsistente Einzelsysteme, die man nicht irgendwann mal fragmentieren muss, weil sie eventuell eigenständig werden.

Ein Howto ist in der Tat etwas viel verlangt, aber bei Fragen zu einzelnen Aspekten kann ich sicherlich behilflich sein icon_wink

  • Geschrieben am
  • 28. Aug 2011 - 17:05
Multisites gemeiname Benutzer-Tabelle

Hmm ausprobiert habe ich beides noch nicht, also weder Multisites noch die 2. Datenbank von Zikula,

aber man kann doch mehrere Datenbanken gleichzeitig angeben. Vielleicht lässt sich damit die gemeinsame User-Tabelle nutzen ?

Nur angemeldete Benutzer dürfen kommentieren. Registrierung oder Anmeldung.