Aufbau einer lebendigen und interaktiven Seite mit Drupal: Schritt für Schritt zur Community
Unter Drupal gibt es viele Wege, ein Benutzerprofil zu erstellen. Eine der einfachsten Methoden ist das „Bio“-Modul [1]. Nach seiner Installation gibt es einen neuen Inhaltstyp „Biography“ – zu finden in „Inhaltstypen“ im Bereich „Inhaltsverwaltung“. Der Name ist leider etwas unglücklich, aber er lässt sich unter „admin/content/types/bio“ anpassen. Dort findet man außerdem ein Formular für die Basiseinstellungen.
Benutzerprofile anlegen
Grundsätzlich besteht ein Benutzerprofil aus verschiedenen Feldern: Dazu gehören zum Beispiel Vor- und Nachname, Geburtsdatum, Hobbys oder der Skype-Nickname. Um beispielsweise den Vornamen als einfaches Textfeld anzulegen, wählt man unter „admin/content/types/bio/add_field“ als Namen „Vorname“ und als Feldtyp „Textfeld“ aus. Nach einem Klick auf „das Feld erstellen“ kann man es weiter konfigurieren und so zum Beispiel unter „Daten-Einstellungen“ das Ausfüllen des Felds auf „erforderlich“ stellen. Nach dem Speichern sollte man diese Schritte für den Nachnamen wiederholen.
Für den Geburtstag bietet sich ein anderer Feldtyp an: „Date“. Hier kann der Benutzer mit einem JavaScript-Popup sein Datum auswählen.
Ein weiterer wichtiger Teil einer Community ist die Verknüpfung: Wie findet der Benutzer andere Benutzer mit denselben Interessen? Die Hobbys sind hier eine Möglichkeit. Unter dem Punkt „Inhaltsverwaltung“ und dem Unterpunkt „Kategorien“ fügt man dazu ein neues Vokabular „Hobbys“ hinzu, wählt den „Bio“-Nodetype und unter Hierarchie „Free Tagging“.
Wie bei jedem Inhaltstyp kann man nun bestimmte Felder gruppieren, um so Übersicht zu schaffen. Dazu legt man in „Felder verwalten“ eine neue Gruppe an.
Benutzerprofil erweitern
Ein weiteres wichtiges Feature ist das Versenden privater Nachrichten der Benutzer untereinander. Ein bekanntes Drupal-Modul dafür ist „Privatemsg“ [2]. Damit bekommt jeder Benutzer die Möglichkeit, unter „My Inbox“ Nachrichten an andere Benutzer der Community zu senden.
Möchte man diese privaten Nachrichten nun noch als zusätzlichen Block im Frontend anzeigen, muss man auf „admin/build/block“ den „Private Nachrichten“-Block auf die gewünschte Region setzen.
Mit dem Drupal-Core-Modul „Blog“ lassen sich zudem Blogs für die Nutzer der Seite aufbauen. Einmal in der Modulübersicht aktiviert, kann jeder Benutzer nun unter „Inhalt erstellen“ und dem Punkt „Blogeintrag“ einen Beitrag schreiben und veröffentlichen. Dabei erscheint unter „/blog“ eine Liste mit allen Blogbeiträgen. Diese werden zusätzlich per RSS ausgegeben und können so von interessierten Lesern abonniert werden.
Inhalte des Benutzers integrieren
Um auf der Benutzerseite nicht nur das Profil, sondern zum Beispiel auch ein Gästebuch anzuzeigen, eignet sich das „Advanced Profilekit“ [3]. Um die volle Funktion dieses Moduls zu nutzen, sollte man neben „Panels“, „Views Panels“, „Mini Panels“ und „Panel Pages“ auch „Fieldgroup“ und „Views“ installieren. Ist dies alles geschafft, steht jedem Benutzer ein Profil mit mehrspaltigem Layout zur Verfügung.
Dieses Profil kann man nun beliebig erweitern, damit der Benutzer zum Beispiel seine DVD-Sammlung zeigen kann. Dazu erstellt man den Inhaltstyp „DVD“ und fügt beliebige Felder ein. Im „Bio“-Nodetype fügt man ein Feld „Nodereferenz“ auf den Inhaltstyp „DVD“ hinzu. Schon kann jeder Benutzer im Profil seine DVDs angeben. Um sie im Profil erscheinen zu lassen, benötigt man eine View mit folgenden Einstellungen:
Name: DVD Ansichtstyp: Tabellenansicht Felder: Node Referenz: DVDs Argumente: Benutzer: UID ist der Autor Filter: Node: Published Node:Type Bio
Listing 1
Die Views sollte man im Benutzerpanel zur Verfügung stellen, indem man ein „Views Pane“ erstellt. Dazu geht man unter „Verwalten“, „Panels“, „Views Panels“ und wählt seine View aus. Den darauf folgenden Dialog kann man sofort speichern, die Einstellungen sind bereits richtig gesetzt.
Nun unter „admin/panels/panel-page/userprofile/edit/content“ gehen und den Views-Block „DVD“ hinzufügen.
Als weiterer Block im Profil eignet sich der aktuellste Blogbeitrag des Benutzers. Dazu geht man in die Panel-Verwaltung, fügt den Block „My Blogs“ hinzu und wählt als Anzahl der Nodes „1“. Daraufhin kann jeder Besucher den aktuellsten Blogbeitrag des Benutzers lesen und kommentieren.
Layout
Wenn man das „Advanced Profil“ installiert, erscheint ein Block mit dem Titel „Topics I’ve participated in“ im Benutzerprofil. Er zeigt die Beiträge an, bei denen der Benutzer entweder Autor ist oder einen Kommentar geschrieben hat. Um den Titel und die Anzahl der Beiträge zu ändern, navigiert man zur Verwaltung der Panels-Seite. Dort erscheint im linken Bereich der Block „My Posts“ und ein Zahnrad-Symbol zum Bearbeiten. Auf dieser Seite kann man den Titel und die Anzahl der Beiträge in der Tabelle verändern.
Hat man viele verschiedene Blöcke ins Profil integriert, könnte es unübersichtlich werden. Eine Lösung: Mit einem „Tabbed Block“ kann man mehrere Blöcke zusammenfassen. Dafür installiert man sich das „Panels_tabs“-Modul sowie „Jstools“ und geht im Panel auf „Layout Settings“. Am Ende befindet sich ein Formular zum Ändern des Styles. Um der Region mit den Beiträgen des Benutzers und den DVDs Tabs zu geben, aktiviert man „Per Panel Settings“ und wählt für „left“ den Style „Tabs“ aus.
In diesem Bereich lassen sich weitere Layout-Veränderungen vornehmen und so beispielsweise eine neue Spalte in der Mitte hinzufügen oder die Breite des Panels verringern.
Foren
Um Inhalte in Drupal zu kategorisieren, benutzt man das Modul „Taxonomy“. Es erlaubt sowohl einfaches Freetagging als auch Strukturen mit mehreren Ebenen und Elternelementen. Das Forensystem wird in der Taxonomy angelegt. Sobald „Forum“ (Core-Modul) und das „Comment“-Modul aktiviert sind, kann unter „admin/content/forum“ ein Forum eingerichtet werden. Man kann beliebig viele Ordner und Foren ineinander verschachteln.
Ist dies erledigt, kann bereits unter „Inhalt erstellen“, „Forenbeitrag“ der erste Text geschrieben werden. Features wie Thread-Icons gibt es im Core-Forum nicht. Das und vieles mehr kann das „Advanced Forum“ [4].
Advanced Forum
Advanced Forum ist eines der Module, die nicht sofort funktionieren, weil sie das Aussehen der normalen Forenansicht verändern. Zur Installation gibt es auf Drupal.org aber eine detaillierte und hilfreiche Anleitung [5]. Im Ergebnis hat man ein Forum mit sehr vielen Features und gleichzeitig deutlich übersichtlicherem Erscheinungsbild.
Was diesem Drupal-Forum noch fehlt, sind erweiterte Berechtigungen: Moderatoren, Super-Moderatoren, beschränkter Zugriff auf einzelne Foren und einiges mehr. Für diese Funktionen gibt es ein Modul namens „Forum Access“. Nachdem man es installiert hat, ist in der Forenverwaltung für jede Kategorie und für jedes Forum einstellbar, welche Nutzerrollen was dürfen. Zusätzlich lassen sich am Ende des Formulars Moderatoren für jeden Bereich festlegen, die jeden Beitrag bearbeiten und löschen können.
Ein weiteres oft benötigtes Feature ist das Zwischenlagern von Kommentaren in einer Warteschleife. Der Kommentar geht dann erst online, wenn ein Benutzer mit bestimmter Benutzerrolle ihn akzeptiert. Die Einstellungen dazu finden sich unter „Verwaltung“, „Benutzerverwaltung“, „Zugriffskontrolle“.
Setzt man hier sowohl für den anonymen Benutzer (falls dieser Kommentare schreiben darf) als auch für den „authenticated user“ ein Häkchen bei „Kommentare lesen und eintragen“, jedoch keins bei „Kommentare ohne vorherige Freigabe publizieren“, ist dieses Feature aktiv. Von nun an sammeln sich die eingetragenen Kommentare unter „admin/content/comment/list/approval“ an. Um eine Benutzerrolle für die Kommentarwarteschleife freizuschalten, setzt man in der Zugriffskontrolle ein Häkchen bei „Kommentare verwalten“.
BBCODE
So gut wie jedes Forensystem bietet die Möglichkeit, BBCODE als Eingabefilter zu verwenden. Dieser lässt sich auch in Drupal mit dem Modul BBCODE einrichten, indem man nach der Installation den BBCODE-Filter unter „admin/settings/filters/1“ aktiviert. Nun werden alle BBCODEs in HTML umgewandelt und dennoch funktionieren auch weiterhin die HTML-Tags. Als Alternative zu BBCODE bieten sich Textile [6] und PEAR Wiki [7] an.
Fazit
Mit Drupal lässt sich eine moderne Community-Seite mit Benutzerprofilen, Foren, Blogs und vielen anderen Funktionen einfach realisieren. Für die Grundfunktionen gibt es mitgelieferte Module, für erweiterte Features sind vielseitige Erweiterungen vorhanden. Abgesehen vom „Advanced Forum“ geht die Installation leicht von der Hand.
Hallo,
toller Artikel! Sehr hilfreich!
Auch ich bin dabei ein Social Network mit Drupal aufzubauen. Allerdings habe ich Drupal 7.x installiert. Die Module die ihr hier vorstellt sind aber größtenteils nur für 6.x !
Was kann ich tuen ohne drupal 6.x installieren zu müssen? Oder gibt es irgendwelche „Ausweichmodule“?
Danke für die Hife!