Workshop: Drupal Acquia Basic Version 7.x Einführung
Einführung
Drupal ist im Jahr 2000 aus einem ambitionierten Studentenprojekt an der Universität Antwerpen heraus entstanden. Gründer sind Dries Buytaert and Hans Snijder. Die für interne Kommunikation gedachte Software wurde dann 2001 unter drupal.org online zur Verfügung zu stellen. Die Idee dabei war, auch anderen die Möglichkeit zu geben, die Software selbst auszuprobieren und sie natürlich auch zu erweitern und weiterzuentwickeln.
Drupal ist eine Open Source Software ("General Public License") und fällt unter die Kategorie von Conten Mangement Systemen.
Der Programmcode liegt in einer für den Menschen lesbaren und verständlichen Form vor. Die Software darf beliebig kopiert, verbreitet und genutzt werden.
Die Software darf verändert und in der veränderten Form weitergegeben werden.
Was braucht man um Drupal installieren zu können
einen Webserver (z.b: Apache 2)
eine Datenbank (MySQL5 oder PostgreSQL)
PHP (Drupal läuft PHP 5.x und größer. )
Drupal Distributionen
Wir verwenden die Version Acquia Drupal. Es gibt eigene Distributionen für Drupal ähnlich wie bei Linux. Drupal besteht aus einem Kern (Core) und kann mit Modulen erweitert werden.
servus.at bietet bereits die vorinstallierte Drupal Acquia Versionen für Mitglieder.
Der Kern wird von servus.at am Letztstand gebracht alle zusätzlichen Module die durch UserInnen installiert werden müssen auch durch die UserInnen gepflegt werden
Unterschiede bei den Versionen ACQUIA
Drupal 6.x ACQUIA
Die Distribution 6.x ACQUIA hat den Vorteil, dass es bestimmte Module, die sowieso immer gebraucht werden, mit verpackt in seine Version.
Drupal 7.x ACQUIA
Bindet leider keine zusätzlichen oder oft verwendeten Module mehr mit ein. Ist aber dennoch für uns die bessere Variante bezüglich Updates vom Kern.
Aussehen und Struktur
von Drupal sind getrennt.
Das Aussehen kann jeder Zeit verändert werden ohne das Inhalte verloren gehen.
Teil 1 (1 h)
Struktur von Drupal 7 (kurz)
Wir verwenden die Version Acquia Drupal. Es gibt eigene Dists für Drupal ähnlich wie bei Linux. Drupal besteht aus einem Kern (Core) und kann mit Modulen erweitert werden.
Aussehen und Struktur von Drupal sind getrennt. Das Aussehen kann jeder Zeit verändert werden ohne das Inhalte verloren gehen.
Die Distribution Aquia hat den Vorteil, dass es bestimmte Module, die sowieso immer gebraucht werden, mit verpackt in seine Version.
servus.at bietet bereits die vorinstallierte Drupal Acquia Version für Mitglieder. Es muss also kein System installiert werden. Der Kern wird von servus.at am Letztstand gebracht alle zusätzlichen Module die durch UserInnen installiert werden müssen auch durch die UserInnen gepflegt werden.
Vergabe: Accounts
Übung: Einloggen
Anmerkung am Rande:
Einloggen immer mit /user (wenn kein Login-Feld auf der Seite zu sehen ist)
zb: http://playground209.servus.at/user
rechts oben "Mein Account" (Wie auch bei anderen Seiten)
vorhandenes Passwort durch ein neues, was wir uns leichter merken ändern
sollte aber dennoch Zahlen, Zeichen beinhalten
zur Übersicht der Administration (/admin)
Erklärung des Aufbaus -Menüleiste oben oder in der url /admin zur Übersicht.
Diese Übersicht /admin ist alphapetisch geordnet.
Configurations (1)
Appearance (2)
Content, (3)
Structure (4)
Modules (5)
People (optional wenn zeit)
Reports (Für Seiten Admins wichtig)
Help
Wir beginnen aber mit
Configuration (/admin/config) und ändern ein paar Kleinigkeiten
unter Site information (/admin/config/system/site-information)
Wir verändern:
Name der Seite,
Emailadresse Seitenbetreiberin
... schauen uns an was es hier noch zu sehen gibt (zb Einstellung der frontpage)
2. Appearance (admin/appearance) - Drupal sieht scheisse aus, wie kann ich das gleich ändern?!
Nachdem das aber immer die erste Frage ist, bin ich diesmal dafür gleich ein neues Theme zu verwenden. Prinzipiell ist Struktur und Aussehen von Drupal getrennt. Das Aussehen kann immer geändert werden, ohne dass Inhalte der Seite verloren werden!
Themes (Layouts) werden unter Appearance verwaltet. 3 verschiedene Themes schlagen wir heute vor und installieren diese auf unseren Playgrounds. Seit der Version 7 geht das auch über das Interface. In älteren Versionen musste man Themes runterladen und via FTP in das Verzeichnis sites/default/themes am Server kopieren.
Responsive is the State of the Art
http://www.creativebloq.com/drupal/best-free-drupal-themes-7133704
http://www.nextdesignweb.com/2014/04/free-drupal-7-responsive-themes.html
3. The Omega Drupal 7 Base Theme is a highly configurable responsive HTML5 960 grid based theme. mehr lernen zu Omega:
http://drupal.org/node/819164
download:
http://ftp.drupal.org/files/projects/omega-7.x-3.0.tar.gz
---------------------------------------------------------------------------------------------
Themes werden in das Verzeichnis sites/all/themes installiert.
Übung:
installieren von Themes:
admin/appearance/install
ftp: password
Styles
Wichtige Hilfsmittel beim Theming.
Das inspizieren von Seiten mit Firebug, einem Firefox Addon für Webentwicklung.
http://getfirebug.com/
Anmerkung: Natürlich ist Theming in Wahrheit ein eigener Workshop, wir können hier nur ganz grob darauf eingehen. Verweis auf monatliche Worksouts.
Begrifflichkeiten und was man zumindestens gehört haben sollte.
CSS stands for Cascading Style Sheets
Styles define how to display HTML elements
External Style Sheets can save a lot of work
.css Files, die bearbeitet werden können liegen in folgenden Verzeichnissen
sites/all/themes/Meintheme/[css]
In der Regel beinhaltet jedes Theme ein .css namens style.css oder global .css Hier können meistens Linkfarben, Schrifttypen, Überschriften-Grössen, Hintergrundfarben etc verändert und überschrieben werden.
Mehr zu .css
http://www.w3schools.com/css/css_intro.asp
Praxis: kurz anschauen (Wie funktioniert css)
Wie es grundsätzlich funktioniert
http://www.w3schools.com/css/demo_default.htm
---------------------------------------------------------------------------------------------
Teil 2 (1,5 h)
Erklärungen
Content (/admin/content)
Alles wird als Content oder auch oft als Nodes bezeichnet
Aufgerufen wird Content unter node/nummer oder einer sprechenden Url (projekt/xy)
Unter dem Link Content werden alle Inhalte der Seite gelistet und können nach bestimmten Kriterien gefiltert werden.(Content Typ, Published, etc)
Struktur
Content Typen
Diese Content Typen bilden sozusagen die Seiten unserer Webpage und können unterschiedlich aussehen. Standard Felder sind Titel, Body, Image, Tag. (dazu später)
Wir haben 2 Varianten als Standard Content Typen
- Basic Page (so etwas wie eine statischeSeiten bsp: Kontakt, Impressum, Ort
Titel
Body
Sind die Felder für diesen Content Typen
Kommentare sind ausgeschaltet
- Artikel
Titel, Body, Tag (Kategorie), Bild.
die Text formats würde ich bei Wysiwyg erklären
Erklärung: Textformats ( /admin/config/content)
Einstellungen zu "Content authoring"
Filtered html
Full html
Plain Text
später auch Wysiwyg
Übung: (10 min)
Anlegen einer Basic Page
Anlegen eines ersten Artikels
Blocks (nur Erklärung)
Blöcke sind Inhalte die in bestimmten Regionen einer Drupal Seite angezeigt werden können.
Wir lassen uns die Regionen unseres Themes mal anzeigen.
Regionen sind Bereich die in der .info Datei unseres Themes definiert wurde.
Beliebte Blöcke sind zb ein Bilderblock, Login Block, Menüblock ...
Erstellen wir später ein Menü und wundern uns warum es nicht erscheint?
Es erscheint in der Liste der Blöcke und muss in einer Region hier aktiviert werden
Menüs (nur Erklärung)
Können schon während dem Erstellen von Inhalt festgelegt werden oder über die Option
Struktur -> Menüs. Dort erhält man einen Überblick aller vorhandenen Menüs.
Taxonomy (Kategorisierung) und Vocabularies
- fixe Kategorien
- freie Kategorien
dienen dazu den Inhalt einer Webseite besser zu strukturieren. Man nennt das auch die Klassifizierung von Inhalten.
Vocabulary - ist ein Set von Kategorien! (Man kann sich einfach einen Aktenschrank mit Laden vorstellen)
In einem Projekt könnte ich also zb ein Vocabular haben mit dem Namen "elenore" oder "zach"
und diesem Set ist dann die Liste der Kategorien (Tags) zu finden mit denen ich Inhalte taggen kann.
zb:
Kategorien (sollten sinnvoll sein um später Inhalte entsprechend nach Kategorien filtern zu können)
- messung
- logbuch
- presse
Alle Inhalte die mit einer Kategorie getaggt sind, sind automatisch unter einer url abrufbar:
http://playgroundxxx.servus.at/Vocabulary-name/Kategorie
---------------------------------------------------------------------------------------------
Teil 3 (1,5h)
Übung:
1. Erstellen von einer weiteren Basic Page und die Verknüfung mit Menüs
Ein neues Menü anlegen und als Block freischalten
2. Erweiteren des Content Typs Artikel oder einen neuen Content Typ erstellen.
Beim Artikel sind folgende Felder bereits vorhanden:
Feld: Tag
Feld: Image
Wir erweiterungen einen Content Typen mit Feldern:
Feld: Url
Installieren des erweitereten Feldes Date:
http://drupal.org/project/date
Andere Module als Feld Erweiterungen zb:
(Suche in Google: Drupal Module media od Drupal Module Nodereferenz)
Feld: Nodereferenz (extra Modul)
Feld: media (Audio, Video)
Weitere Einstellungen bei den Content Typen
Mange Fields, Display Fields
Übung:
Menü erstellen, Blöcke frei schalten
---------------------------------------------------------------------------------------------
Module
Module sind wichtige Bestandteile einer Drupalseite und können die Funktionalitäten um ein Vielfaches erweitern. Das ist durch den modularen Aufbau von Drupal möglich.
In der Übersicht der vorhanden Module sind nicht alle die wir brauchen werden aktiviert.
Die Beschreibungen der vorhanden Module sollten einiges über die Funktionalität verraten.
Welche werden wir aktivieren?
Zusätzliche Module
Es ist sinnvoll die eigene Drupalwebpage nur um so viele Module zu erweitern, die man wirklich braucht. Es sind auch jene die man selber pflegen und updaten muss. servus kümmert sich nur um Core. Es gibt "Tonnen" davon die von der Drupal Community erstellt werden, nicht alle davon sind sinnvoll.
Übung:
Module, die uns das Leben leichter machen, installieren wir gemeinsam.
Wir installieren folgende neue Module über das Interface und folgen einfach den Anweisungen der Seite.
Merke: es empfiehlt sich immer die Readme Texte in den Modulen-Ordnern zu lesen. Hier findet man Installations-Anweisungen und Nützliches was man zu dem bestimmten Modul wissen sollte.
Wysiwyg
This module will allow Drupal to replace textarea fields a visual HTML editor, sometimes called WYSIWYG (What you see is what you get) editor.
http://ftp.drupal.org/files/projects/wysiwyg-7.x-2.1.tar.gz
Wir schalten das Modul frei und gehen configure. Dort merken wir dass wir noch einen Editor brauchen:
Z.B.: CKEditor
den Anwesiungen folgen
/admin/config/content/wysiwyg
Wir sehen und sie Einstellungen der Module an:
Einstellungen von Wysiwyg + CKEditor
Standard als Text Eingabeformat ist Filtered HTML - falls Full HTML als Standard gesetzt werden soll, geht das hier:
Configuration -> Text formats
Diese Module können später selbständig installiert werden
Merke: In den Modul-Ordnern ist immer ein README.TXT, den es lohnt zu lesen.
Wichtige Hinweise zur Installation oder welche zusätzlichen Module das Modul braucht wird hier genau beschrieben!
Media Modul
Um später audio, video etc hochladen zu können.
http://drupal.org/project/media
Um später audio, video etc hochladen zu können.
Installieren:
http://ftp.drupal.org/files/projects/media-7.x-1.0-rc2.tar.gz
den Anweisungen folgen
Einbinden von 3rd Party Plattformen mit dem Media Modul
z.B. youtube
vorher noch http://drupal.org/project/youtube_media installieren und beim field enablen
http://www.youtube.com/watch?v=D9HvS_niU50
andere module die das 'Media' Modul erweitern bzw die Inhalte (Audio, Video) können mittels eines bestimmten Players auf der Webseite dargestellt werden siehe:
http://groups.drupal.org/node/168009
Views
mit Views verschiedene Ansicht von Listen erstellein, Sortierungen von Listen einstellen, etc
http://drupal.org/project/views (aktuelle Versionen sind hier zu finden)
Installieren (immer die aktuelle Version!)
http://ftp.drupal.org/files/projects/views-7.x-3.0-rc3.tar.gz
Screen Cast:
http://lin-clark.com/blog/intro-drupal-7-intro-views-pt-1
---------------------------------------------------------------------------------------------
Teil 4 (selsbständige Weiterarbeit)
Praxis: eigenes Konzept
Eigenes Projekt - Welche Fragen stelle ich mir bei der Umsetzung einer Drupal-Webpage?
Muss meine seite mehrsprachig sein?
Welche "Basic Pages" (statische Seiten) brauche ich? (Kontakt, Impressum, etc)?
Brauche ich Taxonomien?
Welche wären sinnvoll?
Brauche ich auch noch andere Content Typen ausser Basic Page und Artikel?
ZB:
Ein Projekt (Projektseite)
Eine eigene KünstlerInnen-Seite (macht Sinn vielleicht für die Elenore)
Eine Presse-Seite
Welche Menülinks und Blöcke brauche ich und will ich anzeigen lassen?
Wie schaut meine Frontpage aus? (Ist es eine Liste von Artikeln oder eine statische Seite)
Anmerkung zu Veröffentlichung: Im Moment ist alles standardmässig so eingestellt, dass alle Artikel als Teasers auf der Frontpage erscheinen. Teaser Einstellungen (wie lange ist der Text der im Teaser angezeigt wird)
---------------------------------------------------------------------------------------------
Optional falls noch Zeit bleibt.
Übung:
Wir wollen nur eine spezielle Seite auf der Frontpage anzeigen lassen.
Dazu erstellen wir eine solche Seite und stellen die url der Seite unter Configuration unter Site information (/admin/config/system/site-information) um!
Image Styles
Wir wollen dass unsere Bilder in einem Content Typen eine bestimmte Grösse haben.
Dazu können wir Presets für Bilder anlegen.
admin/config/media/image-styles/list
HTML 5
HTML5 sollten wir auch erwähnen
HTML 5 Tags zum einbinden von Videos
zb:
Finetuning Urls
Administration > Configuration > Search and metadata > URL aliases >
Um den Inhalten auch automatisch so schöne Pfade zu verpassen wie möglich, kann man das auch genau einstellen.
---------------------------------------------------------------------------------------------
User und Rollen
NUn es sollte eine Person die Administration der eite übernehmen
Jene die nur Inhalte erstellen und bearbeiten sollen sollten auch eine etsprechende Rollte haben.
Mit der Rolle wird festgelegt was eine Unserin darf oder nicht darf.
Creating new user roles (zb Editor)
Setting permissions for user roles
Creating new users - role
Editing user accounts
---------------------------------------------------------------------------------------------
Links:
Screencasts:
http://drupaltherapy.com/
http://lin-clark.com/blog/introduction-drupal-7-screencasts
http://dev.nodeone.se/node/668