CMS Drittanbieter Erweiterungen

Vorgestern abend stieß ich via Twitter zufällig auf eine Diskussion zum Thema “Layout und Output” eines Joomla Systems. So gut das auch inzwischen gehen mag, so ärgerlich empfinde ich dann doch den schönsten Output, so lange nicht auch die Erweiterungen mitspielen. Wozu alles perfekt mit DIVs ausstatten, alle weniger XHTML-konformen Elemente eliminieren, perfektionieren, um dann festzustellen, dass die Erweiterung wie so oft ein (nennen wir das Kind beim Namen) grauenhaftes HTML fest kodiert hat?

Es ist wichtig, sich als Macher eines Open Source CMS auch Gedanken über die Qualität der Drittanbieter Erweiterungen zu machen.

So stellte ich das also mal in den (Twitter-)Raum und bekam prompt eine Antwort. Eine (wie ich es interpretierte, eher verständnislose) Frage zurück, ob das wirklich unsere Sache sei und die der Macher. Ja!

Ich befürworte ganz klar zumindest eine Option der  Qualitätssicherung und Zertifizierung für Drittanbieter Erweiterungen mit mindestens folgenden Kriterien:

  • Einhaltung von Best Practices und Programmier Paradigmen
  • korrekte Einhaltung und Nutzung der API
  • standardkonformes (X)HTML
  • stringente Trennung von Layout, Inhalt und Funktionalität
  • Einhaltung sicherheitsrelevanter Maßnahmen

Gerade mit Umstieg auf PHP5 und dem in anderen Programmiersprachen schon lange verbreiteten MVC Modell oder allgemeiner objektorientierter Programmierung können wiederverwendbare und vererbbare Elemente geschaffen und gelungen eingesetzt werden.

Was hat die Community davon?

  • die Kompatibilität von Erweiterungen ist durch Zugriff auf gemeinsame, klar definierte Schnittstellen garantiert
  • die Weiterentwicklung und Anpassung, auch das Zusammenspiel von Erweiterungen wird erleichtert
  • Sicherheitsrelevante Aspekte sind leichter im Griff zu behalten
  • die Nutzung der Template Engine wird  vereinfacht

Was hat der Anbieter davon?

  • das Gesamtsystem kann sicherer werden
  • die Akzeptanz des Gesamtsystems (Basissystem inklusive qualitätsgesicherter Erweiterungen) steigt
  • die Weiterentwicklung des Gesamtsystems kann besser vorangetrieben werden
  • der professionelle Anspruch kann gehalten werden

Der Entwickler des Basissystems lebt auch von Drittanbieter Komponenten. Nicht jedes CMS kann alles mitbringen, was die Welt so brauchen könnte. Ein modularer Aufbau ist daher nicht nur sinnvoll, für mich bleibt nichts anderes.

Aktueller Stand Joomla

Mit dem heutigen Tag sind im Joomla Repository 4506 Erweiterungen gelistet. Rein statistisch gesehen bleibt bei näherer Betrachtung wahrscheinlichnur ein Bruchteil übrig, sobald man den Blick in den Code gewagt hat. Viele Erweiterungen wirken wie “just for fun” oder “ich hab da auch mal was programmiert”. Nicht zu gebrauchen zumindest im kommerziellen Nutzungsszenario.

Der Blick nach vorne

Insgesamt schafft eine Qualitätssicherung von Erweiterungen Vertrauen bei den Anwendern und garantiert nachhaltig die Weiterentwicklung und den Erfolg bestehender und neuer Systemkomponenten. Qualitätssicherung und Zertifizierung können zudem zu einer positiven Entwicklung der Qualität im Internet generell beitragen. Gut - eine gewagte Theorie, ein hoch gestecktes Ziel.

Community bedeutet für mich aber nicht Masse, sondern Begeisterung, Enthusiasmus, vor allem aber Verantwortung und das Eintreten für ein gemeinsames Ziel. Dies kann man nur dann erreichen, wenn gemeinsame “Grundsätze” entwickelt und dann auch eingehalten werden. Die Benefits bei der Weiterentwicklung und Verbesserung eines Systems wie Joomla sind nur dann welche, wenn sie innerhalb der Community auch verstanden werden. Gemeinsam an einem Strang ziehen!

So macht dann Community auch Spaß! BTW: Sie macht keinen Spaß, wenn es darum geht, dass der Einäugige dem Blinden erklärt, wie mit gewagten Workarounds eine Katastrophe zu einem Provisorium werden kann. Sie macht auch keinen Spaß, wenn Support vorwiegend darin besteht, Nutzern die Settings eines Apache, Konfigurationsbasics, das Boxmodell oder Float und Position zu erklären.

Es geht den Macher also etwas an und auch die Community bzw. jeden, der sich gerne dazu zählen möchte. Klar kann ich mir meine Lieblingserweiterung perfekt anpassen, um sie in Projekten wiederholt einzusetzen. Dies kann meines Erachtens aber nicht der Sinn der Sache sein.

Das alles gilt übrigens natürlich nicht nur für Joomla. Joomla war lediglich der Aufhänger. Jedes CMS, dessen Erweiterungspool bzw. auch Verbreitung eine gewisse kritische Masse überschritten hat, wird vor diesem Problem stehen.

Ergänzung: Ich habe kein Problem damit, für gute Produkte Geld auszugeben. Qualität gibt es nicht immer umsonst und Open Source heißt auch alles andere als umsonst. Wichtig für mich als Nutzer und “Wiederverwerter” wäre vor allem zu wissen, wann und wie man hier gemeinsam für Qualität steht.

 

3 Antworten zum Beitrag “CMS Drittanbieter Erweiterungen”

  1. am 28 Feb 09 um 11:45 meint

    Hallo,

    die Frage nach “zertifizierten” oder geprüften Extensions ist nicht besonders neu. Auf dem (damals noch) Mambo-Day wurde dies im Rahmen einer Podiumsdiskussion erörtert.

    Dabei stand natürlich die Frage im Vordergrund, wer dies machen soll. Das ist ja ein erheblicher Aufwand. Wer sich schon einmal in fremden Code einarbeiten durfte, weiss wovon ich spreche.

    Danach folgten aber eine ganze Reihe weiterer Fragen / Probleme: wer entscheidet nach welchen Kriterien. Natürlich kann man obige Auflistung zugrunde legen. Aber wann rechtfertigt ein tolles Feature die Umgehung dieser Punkte und kann es dennoch “zertifiziert” werden?

    Nicht zu vergessen persönliche Vorlieben, Sympathien usw. (und davon kann die Joomla-Community ein Lied singen).

    Ich denke, dass das Bewertungssystem im JED verbessert werden sollte. Es sollte “zugelassene / qulifizierte” Mitglieder geben, die eine Extension nach einem Standard-Bewertungssystem beurteilen. Darin sollten eben auch solche Punkte wie Sicherheit, Performance und Qualität der Ausgabe enthalten sein.

    Im Übrigen installieren wir bei unseren Kunden keine Erweiterung ungeprüft - auch wenn das keine Garantie für 100%ige Sicherheit ist, trennt man doch schon die offensichtliche Spreu vom vermeintlichen Weizen.

    Thomas

  2. am 28 Feb 09 um 11:56 meint

    Anne-Kathrin

    Ich wusste, dass du dich dazu äußern würdest ;-)
    Ich hab, was Joomla betrifft, solche Diskussionen auch schon geführt, nach und während des jDays.
    Klar, der Aufwand ist natürlich schon immens - aber ich glaube, es könnte zur Professionalisierung des Ganzen beitragen und ganz wichtig: es KANN und DARF den Machern nicht egal sein. Trifft nicht nur auf Joomla zu…

    Bei Joomla ist es eklatant auffällig. Man muss Erweiterungen auf Herz und Nieren prüfen, ganz klar. Ich habe das auch immer so gehandhabt.
    Aber es würde einem doch einiges erleichtern, wenn man *nicht nur aus Erfahrung!* wüsste, was gut ist und was nicht. So käme dann auch der Newbie schneller zum Ziel.

    Der Aufhänger übrigens waren (Zitat):
    “Sure - extension quality is important - but - how is that Andrew Eddie’s problem? And not yours or mine?”
    und
    “Yes - understand why it is important to you - just not why it’s up to Andrew Eddie to take care of it. We need to be a community.”

    Ich sehe keinen Widerspruch im Community Denken und einem Qualitätsdenken. Und ich bin durchaus der Meinung, dass es die Entwickler etwas angeht bzw. die Entwickler zumindest Lösungsstrategien in petto haben sollten.
    Dann würde auch Support wieder Spaß machen.
    Du weißt auch, wie frustrierend es ist, zu helfen, die Feuerwehrseite mit dem no-go Gimmick in die Gänge zu bringen… ;-)

  3. am 28 Feb 09 um 12:52 meint

    Bin ich so leicht zu durchschauen? ;-)

    Dann müsste man den “Installateuren” von Extensions aber auch mal beibringen, was die Zusätze Alpha, Beta und RCx zu bedeuten haben. Bei sehr vielen Shops (!), die über VM-Expert zu uns kommen, sind verschieden “non-Stable” Extensions installiert (na gut - war DocMan jemals stable?). Da hilft dann auch eine Prüfung nichts - die gerade in diesem Zusammenhang ja auch nur eine Momentaufnahme ist. Jedes noch so kleine Patch-Release müsste dann ja auch geprüft werden.

    Thomas

Auch was dazu sagen?