BLOG

Administrative Oberfläche mit Views bauen - Pro und Contra

Drupal besitzt kein Backend und das ist auch gut so. Das System verfügt über eine Menge administrativer Oberflächen, die aber nicht gerade optimal sind. Seiten wie "admin/content/node" sind eine Hilfe, aber gerade diese Liste aller Inhalte verfügt nur über eingeschränkte Funktionen. Außerdem muss eine Gruppe, die diese Liste bedienen darf, das Recht "Inhalte verwalten" haben, was bedeuten würde, dass sie automatisch alle Inhalte verwalten kann. Alles sehr unpraktisch!
Da Drupal aber ein modulares System ist und Views einfach toll, kann man beides kreativ verwenden. Ich gehe bei diesen Tipps davon aus, dass ihr Views grundsätzlich konfigurieren könnt.

Pro

Mit Views können wir uns Listen erschaffen, wie wir sie brauchen. Eine Übersicht über Nodes eines bestimmten Typs ist schnell erstellt. Dazu noch ein paar Exposed Filter und man ist schon fast auf dem Stand von "admin/content/node", nur ist das Filterformular besser. Oder erstellt mehrere Views mit oft gebrauchten Anforderungen und legt diese in ein nur für den Administrator sichtbares Menü. Das kennt eigentlich keine Grenzen.

Für die Administratoren sollte man auch überlegen, ob man Ajax aktiviert und damit ermöglicht, dass die Views noch schneller zu navigieren sind. Für Gäste ist es meist so, dass wir Werbung anzeigen wollen und Ajax eine schlechte Idee ist. Ein einzelner Seitenaufruf kann leicht verfolgt werden, Ajax nicht. So kann man auch Blöcke mit Blätterfunktion erschaffen, die nicht immer die Seite nachladen. Dabei ist aber zu beachten, dass die Pager aller auf einer Seite verwendeten Views eine eindeutige Nummerierung bekommen.

Die andere gute Sache zur Administration ist Tabellen zu verwenden. Tabellen sind kein grundsätzlich böses Markup. Nur sollte man in einer Tabelle auch tabellarische Daten anzeigen. Views bietet z.B. an, eine Tabelle über die Kopfzeile zu sortieren. Auch haben Tabellen eine sehr saubere und aufgeräumt wirkende Struktur.

Views Batch Actions (VBO) ist dann unser Schweizer Armeemesser zur Arbeit. Es bringt zu einem View Checkboxen mit und eine Vielzahl an Aktionen, die man auf den Inhalt des Views anwenden kann.

Auch interessant ist dass Administration Menu vorgefertigte Views mitbringt um die normalen Drupal Listen zu ersetzen. Ich weiß aber nicht, wie der aktuelle Stand ist und hatte damit vor einigen Monaten Probleme. Aber einfach mal anschauen, die Idee ist sehr gut!

Da Views exportierbar sind, kann man sich durchaus Vorlagen erstellen und diese immer wieder verwenden. Oder man benutzt gleich Features und erschafft sein eigenes "Drupal Administration" Modul.

Contra

Bis hier ist das alles eine ganz normale und tolle Sache in Drupal und es gibt dazu direkt auch kein Kontra. Aber man sollte sich vor Augen halten, weshalb Drupal kein Backend hat. Beginnen wir mit Views, uns eine spezielle Oberfläche zu bauen, da man sonst der Inhalte nicht mehr Herr wird, läuft etwas massiv schief auf der Seite. Warum ist eine Liste, die einem Administrator die Navigation durch die Inhalte erleichtert, nichts für die Besucher? Warum muss der User immer die Teaser-Ansicht bekommen und keine Tabelle?

Für mich ist das wichtigste Credo, dass man mit seiner Website arbeiten muss. Verkriecht man sich in einem Backend, wird man nie selbst in Erfahrung bringen können, wie sich die eigene Seite anfühlt. Fragen wie "Was sehe ich?", "Worauf achte ich?" und "Wo klicke ich hin?" sind dann nur durch die Besucher zu beantwortende Fragen. Die Antworten zu erfassen ist dann ein langer und schwieriger Prozess. Wenn man eine Social Media Website betreibt, sollte man unbedingt schauen, dass man ein Teil seiner eigenen Community ist.

Aus SEO-Sicht sollte man auch aufpassen, dass man nicht immer den Node Teaser anzeigt, auch wenn man meint, dass es netter aussieht. Google kann hier schnell Duplicated Content erkennen. Die Taxonomie Seiten, die zu einem wenig genutzten Begriff immer die gleichen Node Teaser anzeigen, werden hier die Inhalte duplizieren. Von daher bietet sich hier eine Tabelle der Titel an, die vielleicht auch leichter zu navigieren und zu filtern sind. Der Besucher wird uns dies auch danken, da er schneller an die gesuchten Informationen kommt.

Wichtig ist einfach, dass Administratoren und Besucher die Inhalte auf gleiche Weise finden. Was bei dem einen klappt, wird auch beim anderen passen. Für die Administratoren können wir spezielle Links erstellen, um zum Beispiel direkt Node-Edit anzubieten. Wenn wir noch mehr wollen, können wir für Administratoren auch eine eigene Panel-Variante anzeigen, die dann wieder VBO benutzt. In jedem Fall geht der Administrator den gleichen Weg zum Inhalt wie der Benutzer.

Grabt euch nicht in einem selbst erstellten Backend ein! Nehmt an eurer Seite als Community teil. Die Redaktion hat mehr Rechte als ein Benutzer, benutzt aber die Website. Selbst eine Auftragsverwaltung sollte man als Teil der Site betrachten, zu der nur eine Gruppe mit speziellen Rechten Zugriff hat. Diese Gruppe ist aber auch ein Gast der Website, der eine spezielle Aufgabe erfüllen soll. Und das so leicht wie möglich. Es kommt immer wieder das Argument, dass man ein Backend "lernen" kann. Schön und gut, aber wie soll es sich dann an einen Workflow anpassen? Also habe ich auf meiner gelernten Sonderseite dann doch wieder Dinge, die ich neu lernen muss. Und wieso ist die "andere" Seite dann nicht auch gelernt? Alles nur schwer verständlich und auch nicht passend für ein flexibles System wie Drupal, das sich den Bedürfnissen der Besucher anpasst.

Durch dieses Vorgehen arbeitet man auch sehr direkt mit Drupal und seinen Möglichkeiten zusammen. Die Tabs über den Inhalten werden nicht umsonst "Lokal Tasks" genannt. Und die Links am Ende des Inhalts gehören auch zu dieser Strategie und sollten nicht einfach weggelassen werden.

Den ganzen hässlichen Kram, den wirklich niemand sehen braucht, übernimmt dann der Drupal Dienstleister eures Vertrauens :)

Tags:

Comments

Grundsätzlich richtig

Deine Contra-Argumente decken sich mit meinen Beobachtungen, wie Redakteure auf größeren Seiten navigieren. Vieles wird einfach "auf Sicht" angesteuert - und dabei kann Drupal helfen, indem zB. bei Listen entsprechende Edit-Links auftauchen.
Das wirklich Störende an einem Backend ist der Kontext-Wechsel. Ein Wechsel zu "spezial-Ansichten" sollte deshalb bewusst geschen: so oft wie nötig aber so selten wie möglich.

Im Bereich Workflow ist es evtl unvermeidbar. So ist allein die Anzeige und Hervorhebung unveröffentlichter Beiträge in einer Standard-View schon rein technisch nicht ganz so trivial.
Eine View "unveröffentlichte Beiträge" ist da eine naheliegende Lösung.

Wie kann ich vorgehen?

1. Klassisch: schnell ein Link in mein nur-für-Redakteure-Menu und Peng! hab ich eine typische Backend Situation. Aber ich kann:
2. den Kontextwechsel vermeiden, der ja dadurch entsteht, dass man sich an diesen Link im nur-für-Redakteure-Menu erinnern muss: einfach unter der entsprechenden View einen Link auf die Liste "unveröffentlichte Beiträge" einbauen.

Und wie immer gilt: zwei Navigationsmöglichkeiten sind stets einer einzelnen vorzuziehen...

Super Beitrag

Sehr guter Beitrag finde ich, gerade der Modultipp Views Hacks hat mich mal wieder auf neue Ideen gebracht. Damit lässt dich ja gerade das Exposed Filter Formular wesentlich hübscher gestalten.

Grüße aus Darmstadt

Backend

Der Grund, warum sich die Frage nach einem Backend nicht so leicht beantworten lässt ist der, dass die mit Drupal erstellten Seiten einfach zu unterschiedlich sind. Bei einem einfachen (im Sinne der Inhalte) CMS wie Wordpress wird man recht schnell einen Konsens finden, was alles ins "Backend" gehört und was nicht.

In Drupal haben wir z.B. Funktionen für Benutzer, für Redakteure und für Administratoren. Es kann durchaus nützlich sein, spezielle (Listen)ansichten auf Inhalte zu haben, die mir im Frontend nicht zur Verfügung stehen. Man denke nur an Moderationen von Beiträgen. Dennoch sind die funktionalen Grenzen der verschiedenen Rollen je nach Projekt sehr elastisch und so lässt sich nicht pauschal sagen, wo genau in Drupal ein Backend beginnen sollte. Oft kommen beim Kunden gelernte Verhaltensweisen hinzu. So passiert es, dass man lediglich ein (Admin)Theme einstellt, dass einige Seiten anders erscheinen lässt. Fertig ist das "Backend".

Drupal 7 kommt den "Drupal hat kein Backend" - Kritikern optisch entgegen, liefert aber auch nicht die endgültigen Antworten auf obige Fragen. Ich finde, das ist gut so, es muss nur richtig kommuniziert und eingesetzt werden. Es gibt kein schwarz/weiß.

Grüße, Ronald (gerade am Backend bauen)

Interessanter Gedanke

Wenn ich das zum Beispiel auf die Arbeit mit einem Shop übertrage: meinst Du dann, dass man sich einfach eine vernünftige Tabellen- und Filterseite baut, um nach bestimmten Artikeln zu suchen - die dann alle benutzen können. Und je nachdem wer, welche Rechte hat, bekommt eben unterschiedlich viele Einzelheiten zu sehen. Dann brauche ich keine umständlichen Ubercart-Listen durchzuflöhen, sondern nutze die Viewsfilter.

Ist es das, was Du meinst?

Grüße
Michael

Gut für Communities

Ich finde den Ansatz klasse - sofern ich ihn richtig verstehe - weil ich damit die Möglichkeit habe, gerade im Bereich Community Management besser zu delegieren.

In Communities steht man häufig vor dem Problem, dass man gezwungen ist, mit Leuten zusammen zuarbeiten die man nicht persönlich kennt und somit keine direkte Erstbeziehung aufgebaut hat. Da ist es dann von Vorteil, wenn ich ihnen schrittweise Aufgaben delegieren kann und somit die Möglichkeit habe ihre Kompetenz und Verlässlichkeit auszuleuchten.

 

Gruß Alexander

Dashboards und Workflows

Hi Michi! Go Schweiz Go! :D

Ja du hast recht! Ich habe mich da wohl etwas missverständlich ausgedrückt. Mir geht es ja mehr darum, das es nicht ein "Backend" (das böse Wort) wird. Wenn die Redaktion nichts mehr anderes tut, als mit dem Dashboard zu arbeiten dann denke ich, das du den Kontakt zum Inhalt und damit den Usern verlierst. Wie du zB. schreibst sind Blöcke ja auch eine tolle Sache. Der Redaktuer kann also während er die Seite benutzt Zusatzinformationen erhalten.

Meine Meinung ist mittlerweile halt nur, das ein Backend einfach eine Einschränkung ist. Drupal Rocks und mit Views + Panels erstrecht! :D

Guter Bericht aber...

Hi Karsten

Danke für deinen spannenden Bericht aber ich bin beim Kontra nicht ganz deiner Meinung. Für kleinere Seiten braucht es sicher kein Backend und keine Administration. Bei grossen Seiten aber kommt man def. nicht um einen schlauen Administrationsbereich rum. Da sind Views und Rollenbasierte Blöcke in einem Panel ein Traum für jeden Redaktor. Vor allem wenn noch Workflows die Steuerung der Artikeln übernehmen und ein Team von Online Redaktoren ein Auge darauf haben muss.

Da freue ich mich schon auf Drupal 7, welches dann ein Backend und auch ein Dashboard (erst noch mit Blöcken welche der Redaktor verschieben kann ;-)) hat.

Schöne Grüsse aus der Schweiz.
Michi...der immer noch im Freudentaummel ist über den grossartigen Sieg!

Add comment

The content of this field is kept private and will not be shown publicly.
By submitting this form, you accept the Mollom privacy policy.