Kategorien
Content Management Systeme

Joomla 3.5 – Was gibt es Neues?

Joomla 3.5 ist gerade erschienen und dieser Artikel gibt einen Überblick über neue Features und Weiterentwicklungen.

Die Versionnummer – 3.5

Nach dem Erscheinen von Joomla 1.5 beschloss die Community und die Projektverantwortlichen ihre neuen und stabilen Hauptversionen (Major Releases) jeweils mit einer .5 zu bezeichnen. Joomla 2.5 war das erste Major Release nach dieser Logik. Im Laufe der Entwicklung des 3.x Zweigs von Joomla hat man diese Regelung abgeschafft und nun sind wieder Versionen mit der Endung .0 Major Releases. Das nächste Major Release wird also Joomla 4.0.

Joomla 3.5 ist die nächste Iteration innerhalb der 3.x Serie und wird dann vermutlich von Joomla 3.6 im Sommer/Herbst 2016 abgelöst.

Das Ziel der Joomla Entwicklung ist es, möglichst viele Architekturelemente nach und nach in den 3.x Zweig einzubauen, so das ein Upgrade von 3.x auf 4.0 einfach zu realisieren ist. Insgesamt soll Joomla in kleinen Schritten, aber dafür häufiger, aktualisiert werden.

Momentan angepeilte Termine sind etwa Sommer/Herbst 2016 für Joomla 3.6 und Ende 2016 für 3.7.
Die ersten Entwicklerversionen von Joomla 4 werden für den Jahreswechsel 2016/2017 erwartet.
Die offizielle Roadmap von Joomla gibt Auskunft über den aktuellen Stand -> https://developer.joomla.org/cms/roadmap.html.

Was gibt es Neues in Joomla 3.5

Eine der wichtigsten Neuerungen in Joomla 3.5 ist sicherlich die Unterstützung von PHP 7.0. Es ist erheblich schneller als alle Vorgängerversionen von PHP. Hier ein Screenshot aus den Systeminformationen.

Joomla - PHP 7.0
Joomla – PHP 7.0

Falls dein NOVATREND Webhosting noch nicht mit PHP 7 läuft, kannst du es in der Administrationsoberfläche cPanel einfach aktivieren.

PHP Version im cPanel auswählen
PHP Version im cPanel auswählen

Die PHP 7 Kompatibilität hat leider auch zur Folge, dass Joomla 3.5 nicht für alle Third Party Erweiterungen rückwärts kompatibel ist. Das Problem tritt allerdings nur bei bestimmten Programmiertechniken auf und wird in den nächsten Wochen sicher durch entsprechende Updates der betroffenen Erweiterungen gelöst werden.

Radek Suski hat ein Google Doc eröffnet mit kompatiblen Erweiterungen für Joomla 3.5.

Außerdem werden die Daten in der Datenbank im Zeichensatz (Collation) utf8mb4 gespeichert. Diese Art der Speicherung ermöglicht die Darstellung von mehr Zeichen. Das führt dazu, dass man Joomla in viele weitere Sprachen mit anderen Zeichen übersetzen kann, beispielsweise asiatische Sprachen. Ein interessanter Nebenaspekt ist, dass Joomla nun auch Emojis darstellen kann 🙂

Joomla Statistik  (Systeminformationen)

Eine große Herausforderung für Third Party Erweiterungs Entwickler ist der Support ihrer Erweiterungen. Auf die Frage

Welche Joomla Version benutzen Sie denn, und welche PHP Version, …

kommen oft die falschen Antworten. Seit 10 Jahren existiert die System Information Seite im Administrationsbereich, aber bisher gab es keine Möglichkeit, die Daten herunterzuladen oder gar zu versenden. Nun gibt es zwei zusätzliche Buttons für diesen Zweck und alle Supportmitarbeiter werden sich freuen 🙂

Joomla Statistik (Systeminformationen)
Joomla Statistik (Systeminformationen)

E-Mail Benachrichtigung bei Update

Um Joomla Updates überhaupt zu bemerken, musste man in der Vergangenheit regelmäßig auf der Projekt Website Joomla.org nachschauen, eine Security Liste abonnieren oder jemanden kennen, der das weiß.
Nun erhält man eine E-Mail!

Besseres Joomla Routing System
Das Joomla Routing System beschreibt den Weg von einer URL zur Ausgabe der Seite. Bisher mussten verschiedene Parameter dem URL mitgegeben werden, um eine einzelne Joomla Seite mit dem passenden Komponenten View zu identifizieren und mit der korrekten Modulkonfiguration aufzubauen. Es war beispielsweise möglich, dass unabsichtlich unterschiedliche URLs auf denselben Inhalt verweisen. Durch die Kombination mit den Modulpositionen, konnte es vorkommen, dass die „falschen“ Module geladen werden. Es gab keine Möglichkeit die URL individuell zu konfigurieren, außer man installierte einige Zusatzerweiterungen. Für Komponenten Entwickler war es auf dieser Basis kaum möglich, die URL Parameter „durch“ die eigene Komponente zu leiten ohne die oben beschriebenen Probleme hervorzurufen. Das alles hat nun ein Ende, die Sache wurde von Grund auf neu implementiert und funktioniert jetzt!
(Dieses Feature hat es leider nicht in die neue Version geschafft, siehe auch Kommentar von Chris)

Joomla Statistik II (nach Hause telefonieren)

Bisher war es für das Joomla Projekt nicht möglich Daten über die installierten Joomla Websites zu sammeln. Daten sammeln ist immer so eine Sache und so gab und gibt es auch eine große Diskussion über das Thema. Grundsätzlich ist es allerdings nützlich für das Projekt, Erkenntnisse über die reale Nutzung zu erlangen. Es werden keine raw Daten aus der Datenbank übertragen, sondern nur statistische Werte. Außerdem sammelt das Plugin Daten über die Versionen von PHP, MySQL und Joomla. Die Daten werden anonymisiert an das Joomla Projekt gesendet und können öffentlich eingesehen werden.

Joomla Statistik
Joomla Statistik

Joomla Statistik III (Wieviele Artikel sind in einer Kategorie?)

Eine ganz andere Art der Statistik betrifft diese Neuerung. Im Kategorien Manager wurde bisher nicht angezeigt, wieviele Artikel in einer Kategorie vorhanden sind und wieviele im Papierkorb liegen. Bei größeren Joomla Sites ein echtes Problem. Mit ein paar zusätzlichen Spalten in der Übersicht wird das Problem gelöst.

Joomla 3.5 - Anzahl der Artikel
Joomla 3.5 – Anzahl der Artikel

Das Modul User Status im Adminbereich erhält eine neue Option

Auf den ersten Blick wieder so eine Änderung, bei der man stutzt und überlegt … wie bitte? Auf den zweiten Blick eine ganze nützliche Sache. Im Adminbereich wird in der Fußzeile angezeigt, wieviele Benutzer eingeloggt sind und es gibt einen Link zur Website. Nun gibt es neu auch noch einen Link zum Administrationbereich und im Modul gibt es Schalter um die Anzeige zu konfigurieren.

Joomla 3.5 - Modul User Status
Joomla 3.5 – Modul User Status
Links im Administrationsbereich
Links in der Fußzeile des Administrationsbereichs

Individuelle CSS Datei für das Protostar Template

Protostar ist das Standard Website Template von Joomla. Es nutzt das Bootstrap Framework und bietet unglaublich viele Möglichkeiten in Sachen Design. Unverständlicherweise war es bislang nicht möglich eine individuelle CSS-Datei einzurichten, in der man seine persönlichen Ergänzungen sammeln und über ein Joomla Update „retten“ kann. In Joomla 3.5 kann man nun individuelle CSS-Dateien hinzuzufügen. Die Datei für das Frontend Template muss user.css, die Datei für das Backend Template muss custom.css heissen.

Bilder per Drag and Drop in den Editor ziehen

Bilder können jetzt von der lokalen Festplatte in den Editorbereich mit der Maus gezogen werden. Sie werden dann automatisch hochgeladen und im Editor angezeigt. Bislang ging das nicht, nun geht es 🙂

Joomla 3.5 - Drap & Drop
Joomla 3.5 – Drap & Drop

Ein „Abmelden“ Link 🙂

Der Smiley steht hinter der Überschrift, weil es natürlich auch bisher eine Möglichkeit gab, sich abzumelden. Ein einfacher Link in der Navigation, auf dem Anmelden und nach der Anmeldung Abmelden steht, war jedoch gar nicht so einfach zu konfigurieren. Nun gibt es einen eigenen Menüeintragtyp dafür.

Eine vollständige Liste der Änderungen findest du auf der deutschsprachigen Website des Projekts, Joomla.de (Joomla! 3.5 veröffentlicht ).

Fazit

Ich habe mich gefreut, diesen Artikel schreiben zu können, weil ich den Eindruck habe, dass es mit Joomla positiv weitergeht. Die Änderungen sind nicht aufregend aber nützlich und teilweise technisch notwendig. Bei einem schnelleren Update Zyklus wird es einfacher das Projekt und die Weiterentwicklung im Fluss zu halten. Joomla ist bereits in der Grundaustattung ein sehr stabiles und flexibles Content Management System mit einer noch immer wachsenden, weltweiten Fangemeinde und es macht immer mehr Freude es zu benutzen.


tl;dr: Joomla 3.5 ist beileibe kein Feuerwerk an neuen Features aber ein klares Statement des Projekts

Kategorien
Content Management Systeme

Von Drupal nach WordPress

Letzte Woche waren wir bei den World Hosting Days und haben viele interessante Gespräche geführt und Vorträge gehört. Es ging um Services, Plattformen, Infrastrukturen, Verschlüsselung, die Zukunft, das letzte Jahr und all die doch eher abstrakten Themen, die in der Hosting Welt täglich eine Rolle spielen. Ich hatte einen Tag Gelegenheit auf dem Stand des CMS Gardens die Projekte Joomla und Drupal zu repräsentieren. Dabei ergaben sich auch viele Gespräche über Vor- und Nachteile verschiedener Systeme.

Eine gute Gelegenheit, über eigene Erfahrungen und Strategien nachzudenken. Seit Oktober 2014 führen wir das NOVATREND Blog und haben jede Woche einen Artikel veröffentlicht, insgesamt 81. Das Blog ist auf einem „normalen“ Webhosting Paket bei NOVATREND installiert und wir nutzen Drupal 7. Anfang des Jahres 2016 erschien Drupal 8 und auch wir stellten uns die Frage, ob wir updaten oder ob wir mal etwas Anderes ausprobieren. Robert Windisch machte mich dann neugierig mit seinen Erzählungen aus seinem WordPress Alltag (Das macht er schon seit 2012, aber wir sehen uns nicht oft).

Wie du schon vermutest, hat die Neugier gewonnen und ab diesem Artikel läuft das NOVATREND Blog nicht mehr mit Drupal, sondern mit WordPress.

Da du und/oder deine Kunden vermutlich auch oft vor solchen Entscheidungen stehen, möchte ich in diesem Artikel beschreiben, wie ich die „alte Seite“ auf WordPress migriert habe. An dieser Stelle ist noch wichtig zu erwähnen, dass das Drupal Blog gut funktioniert hat. Die Inhalte wurden bei Google gut gerankt und die Bedienung war sehr einfach.

Aber vielleicht kann man das ja noch besser machen 🙂

Von Drupal 7 nach WordPress

Zunächst mal stellte sich die Frage, wie WordPress intern organisiert ist. In Drupal gibt es Inhaltstypen, Felder, Module und viele andere Dinge, die doch recht spezifisch sind. Der Blogpost A Guide for Drupal Developers Migrating to WordPress gibt da eine gute Übersicht.

Für die Datenübernahme habe ich zwei WordPress Plugins

und diese Übersicht gefunden

Die Beschreibung des CMS2CMS Plugins klang erstmal gut. Die Daten der Seite sollten mehr oder weniger komplett übernommen werden. Die Demoversion war auch ganz vielversprechend, aber so richtig klappte die Übernahme dann doch nicht. Vielleicht hätte sich das mit Hilfe des Supports und ein paar beherzten Datenbankbasteleien lösen lassen, aber ich wollte zunächst auch das andere Plugin ausprobieren.

AlT Import Drupal funktioniert sehr einfach. Es liest das RSS Feed des Drupal Blogs ein und erzeugt daraus Artikel in WordPress. Leider werden keine Bilder, keine Kategorien und natürlich auch keine Pfade übernommen.

Wenn ich Dinge das erste Mal mache, tendiere ich dazu, technisch einfache Lösungen, die auf einer sicheren Basis eventuell mehr Handarbeit benötigen, gegenüber technisch komplizierten Lösungen, die zwar Zeit sparen (wenn sie funktionieren) oder extrem viel Zeit kosten (wenn sie nicht funktionieren), zu bevorzugen und so probierte ich mein Glück mit AlT Import Drupal.

Installation WordPress

Ich installierte lokal auf meinem Rechner ein WordPress von de.wordpress.org und löschte die Beispieldaten per Hand.

WordPress

WordPress Import

In WordPress gibt es bereits standardmässig eine Möglichkeit des Imports aus externen Quellen Werkzeuge -> Daten Importieren. Drupal ist allerdings nicht dabei.

WordPress Import

AlT Import Drupal

Ich installierte AlT Import Drupal und erstellte, wie vom Plugin gewünscht, in Drupal ein Feed mit allen Blog-Einträgen.

AlT Import Drupal

Dieses Feed speicherte ich als Datei lokal ab und lud es in mein neues WordPress. Alle Artikel waren auf Anhieb da.

03-artikel

Design

Bevor ich mit den Anpassungsarbeiten bei den Inhalten begann, beschloss ich das Theme anzupassen. WordPress kommt jedes Kalenderjahr mit einem neuen Theme, der Name der 2016er Kollektion ist … na … genau … TwentySixteen. Aus anderen Projekten habe ich gelernt, das es durchaus eine gute Idee ist, das jeweilige Core Theme zu nutzen und behutsam anzupassen, weil diese Themes immer dem aktuellen Stand der Technik entsprechen und auf allen Screens angemessen dargestellt werden.

Child Theme

Damit meine Änderungen nicht beim nächsten Update überschrieben werden, erstelle ich ein Child-Theme. Das geht ganz einfach. Im /wp-content/themes/ ein Unterverzeichnis twentysixteenchild anlegen und mindestens eine style.css erzeugen. Ich habe noch eine function.php, eine header.php und das Logo von NOVATREND drin.

04-child-theme

Nach einigen Versuchen mit unterschiedlichen CSS Ansätzen sah das Ergebnis dann folgendermassen aus.

05-novatrend-theme

Es ist eine Mischung aus Anpassungen in der header.php und der style.css, sowie dem Setzen von Farben in den normalen Anpassungen des Themes.

Redirects

Da sich alle Pfade ändern werden, musste ich mir Gedanken über Weiterleitungen machen. In Drupal hätte ich das in der .htaccess Datei erledigt, aber jetzt habe ich ja WordPress, also gibt es bestimmt ein Plugin für diese Aufgabe.

Quick Page/Post Redirect Plugin

Das Quick Page/Post Redirect Plugin macht genau das, was ich brauche. Wenn jemand auf https://blog.novatrend.ch/node/1 zugreift, wird er auf https://blog.novatrend.ch/ueber-uns weitergeleitet In Joomla ist so eine Funktion übrigens im Core verfügbar, in WordPress ist die Bedienung allerdings einfacher.

Inhalte anpassen

So … nun mal „Butter bei die Fische“.

Ich habe 82 Artikel mit zahlreichen Screenshots (um die 500) und Kategorien (etwa 150). Das ist eine schlechte Zahl. Zu wenig, um etwas zu automatisieren und zuviel um es per Hand einzutippen. Ich muss jeden Inhalt aufrufen, anpassen. Grösster anzunehmender Unfall wären 82 mal 10 Minuten (knapp 14 Stunden Arbeit). Wenn es fix geht, klappt es vielleicht in durchschnittlich 2 Minuten. Das wären knapp drei Stunden Arbeit. Wenn ich jetzt noch eine Stunde darüber nachdenke, sind es mindestens vier, also los, die Seite soll Montag, 21.3.2016 um 9:00 Uhr mit diesem Artikel online sein 🙂

...
#Tastaturgeklapper am Sonntag während es draussen regnet
...

ich beginne an meiner Entscheidung zu zweifeln, lerne aber viel über die Bedienung von WordPress. Die ersten Inhalte habe ich beispielsweise lokal angepasst mit dem Ergebnis, dass ich jetzt beim jedem Bild den Pfad http://localhost stehen haben. Das merkte ich so nach dem 20ten Artikel 🙂

mehr #Tastaturgeklapper

Es ist acht Stunden später, die Site ist nach einigem Erlebnissen mit unterschiedlichen PHP-Versionen und „MySQL-Collation-Holpereien“ online unter blog.novatrend.ch zu erreichen. Fast unnötig zu erwähnen, das natürlich noch nicht alle Artikel „schön“ sind, aber das wird noch. Das ist besonders ärgerlich, weil JetPack ähnliche Artikel vorschlägt und garantiert immer ein noch nicht überarbeiteter Artikel dabei ist.

JetPack/AMP Plugin

Ich habe noch das JetPack und AMP installiert und diverse Einstellungen vorgenommen (siehe zu diesem Thema auch den Artikel: Ein schnelles Web mit Instant Articles, der News App und Accelerated Mobile Pages). Ausserdem erscheint das Blog auch auf dem Telefon in der WordPress App und in Calypso.

WordPress - iOS
WordPress – iOS

 

Calypso
Calypso

Bisher bin ich sehr zufrieden!

Feedback

Nun habe ich das Licht gesehen (siehe Sonnenaufgang oben) und frage euch, die ihr sicher seit gefühlten 750 Jahren ein oder mehrere WordPress Blogs betreibt:

  1. Was würdet ihr so Plugin-technisch als „Standardausrüstung“ für ein Blog wie dieses noch empfehlen?
  2. Habt ihr auch schon mal Daten aus einem CMS in ein anderes importiert? Was waren eure Erfahrungen?
  3. Wollt ihr auch weiterhin lesen, wie die Blog-Entwicklung weitergeht?

tl;dr: Unser Blog wird von Drupal auf WordPress umgestellt und die Daten werden wurden übernommen.

Kategorien
Content Management Systeme Shared Hosting Soziale Netze

BuddyPress – Ein Social Network

Soziale Netzwerke wie Facebook, Google+, Instagram, Twitter u.v.a.m. bieten Plattformen für Online-Kommunikation an. Diese Plattformen sind für dich als Nutzer „kostenlos“, du musst also kein Geld für für deren Nutzung bezahlen. Die Betreiber nutzen allerdings deine Daten und zeigen dir Werbung. Du bezahlst die Dienstleistung „soziales Netzwerk“ mit Daten über deine sozialen Beziehungen und deren Kommunikation. Was im privaten Umfeld durchaus ein win-win Geschäft sein kann, ist im geschäftlichen Umfeld „so eine Sache“. Will ich für mein Produkt werben und mein Unternehmen darstellen, sind soziale Netzwerke eine tolle Sache. Geht es um unternehmensinterne Kommunikation, kann es schwieriger werden.

Will ich wirklich eine Facebook- oder Google-Gruppe in meiner Firma, in der sich meine Mitarbeiter austauschen? Verführerisch ist die perfekte Technik der grossen Anbieter auf jeden Fall, oft wollen Firmen oder andere Gruppen aber ihre Daten innerhalb innerhalb ihres Einflussbereichs, also auf den eigenen Festplatten, halten.

In den vergangenen Blogeinträgen habe ich Open Source Software wie Zulip, eine Slack-Alternative und soziale Netzwerke wie GnuSocial und Friendica beschrieben. Auch das freie Messaging System Jabber kommt als Kommunikationstool in Frage oder ein „klassisches“ Intranet wie die Drupal Distribution Open Atrium.

Für das Content Management System WordPress gibt seit 2009 das Plugin BuddyPress. Es macht aus einer WordPress Installation ein soziales Netzwerk und lässt sich auch als firmeninternes Kommunikationstool nutzen.

In BuddyPress gibt es

  • erweiterte Benutzerprofile,
  • Verbindungen zwischen Nutzern (Freunde),
  • Newsstream von Freunden (und Freunden von Freunden),
  • ein internes Nachrichtensystem
  • Benachrichtigungen über @erwähnungen,
  • Benutzergruppen (offen und versteckt),
  • Activity Streams und Status Updates,
  • Blogs für die Nutzer,
  • Diskussionsforen mit dem Forum Plugin bbPress,
  • Widgets für Member (neu, aktiv, populär, zuletzt aktiv, online), Gruppen (neu, aktiv, populär), Posts und seitenweite Nachrichten.

Am 2. März diesen Jahres wurde die Version 2.5 veröffentlicht. Sie bietet nun auch konfigurierbare HTML E-Mails, Emojis, erweiterte Tracking Funktionen und viele Dinge, die das soziale Netzwerk ein Stück „sozialer“ machen.

In diesem Blogpost werde ich das System installieren und vorstellen.

Installation

Die Installation von WordPress auf einem Server habe ich hier beschrieben. Auf deinem Webspace bei Novatrend kannst du WordPress auch per cPanel Installatron installieren.

ACHTUNG: Seit November 2017 benutzen wir anstelle des Installatrons das Tool Softaculous. Im Beitrag Automatisierte Installation mit Softaculous beschreibe ich die grundlegenden Vorgehensweisen.

Nachdem WordPress installiert ist, muss das BuddyPress Plugin installiert werden (Plugins -> installieren -> nach BuddyPress suchen – installieren).

BuddyPress - Installation

Die Konfiguration von BuddyPress erfolgt über drei Tabs und ist weitgehend selbsterklärend.
BuddyPress enthält 10 Komponenten, von denen 6 bereits aktiviert sind.

BuddyPress - Komponenten

Wenn du alle Komponenten aktivierst, erscheinen im Dashboard drei neue Menüeinträge: Aktivität, Gruppen und E-Mails.

WordPress - BuddyPress Menülinks

Aktivität

In diesem Bereich werden alle Aktivitäten aller Mitglieder angezeigt. Die Aktionen können gefiltert und bearbeitet werden.

BuddyPress - Aktivitäten

Benutzergruppen

Du kannst Benutzergruppen zu einem Thema anlegen. Die Gruppen können beliebig viele Mitglieder haben, öffentlich oder privat sein. Eine Gruppe hat mindestens eine Startseite und einen Activity Stream.

BuddyPress - Gruppe

E-Mails

BuddyPress versendet bei bestimmten Aktionen E-Mails. In diesem Bereich können alle E-Mail Templates bearbeitet werden. Die Bearbeitung erfolgt nach dem gleichen Prinzip wie bei den Themes.

BuddyPress - E-Mail bearbeiten

BuddyPress Widgets

Die speziellen BuddyPress Widgets können im Dashboard über Design -> Widgets konfiguriert werden.

BuddyPress - Widgets

Seiten

BuddyPress kommt mit vordefinierten Seiten für Mitglieder /mitglieder, den seitenweiten Aktivitätsverlauf /aktivitaet und einer Übersicht aller Gruppen /gruppen. Hier als Beispiel die Gruppenübersicht:
BuddyPress - Gruppen

Berechtigungen und Einstellungen

In Einstellungen -> BuddyPress gibt es im dritten Tab (Einstellungen) zahlreiche Möglichkeiten, die Rechte der Mitglieder anzupassen.

BuddyPress - Einstellungen

Erweiterungen

BuddyPress ist durch mehr als 600 Plugins erweiterbar und funktioniert mit allen „modernen“ und natürlich auch mit den Standard WordPress Themes!

Fazit

Das BuddyPress Plugin ist eine faszinierende Möglichkeit um auf eine sehr einfache Art ein selbst gehostetes, soziales Netzwerk zu betreiben. Es ist sehr flexibel erweiterbar und kann für vielfältige Einsatzzwecke konfiguriert werden.

Links


tl;dr: BuddyPress ist ein soziales Netzwerk basierend auf WordPress

Kategorien
Content Management Systeme Shared Hosting

Drupal 8 – Slideshow im Benutzerprofil

Im vierten Teil des Kunstarchivs mit Drupal 8 zeige ich, wie die Werke, die die Künstler hochladen als Slideshow dargestellt werden können.

Jeder Benutzer kann beliebig viele Werke anlegen und zu jeden Werk können mehrere Bilder hochgeladen werden. Ein Werk ist ein Inhaltstyp in Drupal und die Bilder darin ein Feld. Manchmal ist es sinnvoll, wenn es mehrere Bilder zu einem Werk gibt, beispielsweise bei Installationen, Kunstprojekten oder Skulpturen, manchmal reicht zur Beschreibung eines Werks auch nur ein Bild.

Es wäre schön, eine Slideshow der Werke im Künstlerprofil zu haben und ich werde zeigen, wie du das einrichten kannst.

Einem Feld wird in Drupal ein Format zugeordnet, das dessen Anzeige im Browser steuert. Leider ist kein Slideshow Format in der Core Distribution verfügbar und so musst du dir anders behelfen.

Als Erweiterung für das Views Modul gibt es ein Slideshow Modul (Views Slideshow). Es nutzt das Cycle Plugin für jQuery. Eine mögliche Lösung ist, die Darstellung der Bilder in einen Block auszulagern, der abhängig vom aufgerufenen Werk und Künstler, die entsprechenden Bilder anzeigt.

Der Slideshow-Block kann dann über oder unterhalb des Hauptinhalts angezeigt und mit dem Views Modul konfiguriert werden.

Installation des Moduls Views Slideshow

Du kannst Module über die Drush Konsole oder per Browser im Adminbereich installieren und aktivieren.

Drush Befehle:

drush dl views_slideshow
drush en views_slideshow

Per Browser (/admin/modules/install)

Drupal 8 - Modul installieren

Innerhalb des Views-Slideshow Pakets befinden sich zwei Module, die nach der Installation aktiviert werden müssen. Anschliessend werden folgende Informationen angezeigt (/admin/modules).

Drupal 8 - Modul aktivieren

Installation jQuery Cycle Dateien

Die JavaScript Dateien für jQuery Cycle kannst du von GitHub herunterladen (https://github.com/malsup/cycle).

jQuery Cycle - Download

Du packst das Dateipaket aus und benennst das Verzeichnis von cycle-master nach jquery.cycle um. Dann erstellst du im Drupal Root ein Verzeichnis libraries und kopierst das jquery.cycle Verzeichnis dort hinein. Die Struktur sieht dann aus wie im folgenden Screenshot.

Drupal 8 - Libraries

Damit ist die Installation beendet und du kannst einen Slideshow-Block erstellen. Als Basis benötigst du mindestens einen Inhaltstyp mit einem Bildfeld, so wie ich ihn auf seafolly.ch nutze (Kunstarchiv mit Drupal 8 – Werke).

Slideshow Block erstellen

Um den Block zu erzeugen, musst die eine neue Ansicht hinzufügen (/admin/structure/views/add). Ich benutze die folgenden Parameter.

  • Ansichtsname: Slideshow
  • Anzeigen: Inhalt
  • Typ: Werk
  • Erzeuge einen Block: Check
  • Anzeigeformat: Slideshow
  • von: Felder

Elemente pro Block: 10
Drupal 8 - Slideshow Block anlegen

Nach einem Klick auf Speichern und Bearbeiten landest du in der Bearbeitungsmaske.
Dort musst du zusätzlich zum bestehenden Feld Title, das Feld, das die Bilder enthält, zuordnen. Klicke im Bereich Felder auf den Add -Button.

Drupal 8 - Views - Feld hinzufügen

Wähle in der Auswahlmaske dein Bildfeld aus.
Drupal 8 - Views - Feld hinzufügen- Auswahl

Übernehme zunächst die Standardwerte auf der folgenden Seite und füge das Feld hinzu. Wenn du nach unten scrollst, siehst du bereits eine Vorschau innerhalb der Bearbeitungsmaske aus allen Bildern aller Werke. Die Bilder sollten bereits automatisch wechseln.

Drupal 8 - Views - Vorschau

Der Block is nun in der Struktur fertig und kann zum Testen an die gewünschte Stelle positioniert werden.

Slideshow Block pro Künstler

Im Bereich Struktur -> Blocklayout kann der eben erstellte Block an die gewünschte Stelle platziert werden.
Drupal 8 - Slideshow Block plazieren

Der Block soll nur im Künstlerprofil angezeigt werden, daher musst du Sichtbarkeit mit dem Ausdruck /user/* einschränken. Der Ausdruck bezieht sich auf dem URL des Benutzerprofils.
Drupal 8 - Slideshow Block - Sichtbarkeit

Nach dem Speichern wird der Block auf allen Profilseiten zunächst dargestellt, hat aber noch viele Fehler.

  1. Die Überschrift Slideshow muss verschwinden (oder verändert werden)
  2. Nur die Werke des ausgewählten Künstlers sollen angezeigt werden
  3. Die Bildgrösse ist momentan die Originalgrösse des hochgeladenen Bildes

Drupal 8 - Slideshow Block im Profilbereich

Die Überschrift Slideshow verschwinden lassen

Die Überschrift eines Block kann ausgeblendet werden.
Einfach im Blocklayout (/admin/structure/block/list/bootstrap) den Slideshow Block konfigurieren und die Checkbox bei Titel anzeigen entfernen.

Nur die Werke des angezeigten Künstlers sollen angezeigt werden

Hierzu muss ein Bezug zur User-ID des Künstlers in die Blockansicht aufgenommen werden. Das geht mit einem sogenannten Kontextfilter innerhalb der Ansicht. Rufe den Slideshow Block zur Bearbeitung auf (/admin/structure/views/view/slideshow) und füge im Bereich Erweiterungen als Kontextfilter das Feld Inhalt: Erstellt von hinzu.

Drupal 8 - Slideshow Block - Kontextfilter

Das Feld stellt nun einen „Kontext“ bereit, der mit dem Wert der richtigen User-ID gefüllt werden muss. Um an den Wert der User-ID zu kommen, musst du den Vorgabewert User-ID from route context wählen.

Jetzt werden bei jedem Künstler „nur noch“ die Bilder seiner Werke als Slideshow angezeigt.

Die Bildgrösse ist momentan die Originalgrösse des hochgeladenen Bildes

Hier wird es nun sehr individuell. Grundsätzlich speichert Drupal das Original des hochgeladenen Bildes und erzeugt nach Bedarf eine passende Ausgabe. Diese passende Ausgabe kann natürlich auch umfassender bearbeitet werden (Grösse, Format, Wasserzeichen, etc). Je nach Template und anzeigendem Browser werden die Bilder unterschiedlich dargestellt. In meinem Fall benutze ich das Bootstrap Theme und die Bilder werden responsiv dargestellt. Grundsätzlich bietet sich ein einheitliches Ausgabeformat an, weil die Bilder im Original sehr gross und datenintensiv sind und auch die Möglichkeit besteht, dass die Künstler Bilder in unterschiedlichen Formaten (Quadratisch, Querformat, Hochformat) hochladen. Eine „richtige“ Lösung gibt es dabei nicht, nur unterschiedliche Herangehensweisen.

Generell lässt sich das Format eines Bildes in der Views-Bearbeitungsansicht des Blocks einstellen. Rufe den Slideshow Block zur Bearbeitung auf (/admin/structure/views/view/slideshow), klicke im Bereich Felder auf das Feld Inhalt: Bild und wähle das gewünschte Format aus.

Drupal 8 - Slideshow Block - Bildformat

Zweiter Test auf der Profilseite

Als Ergebnis ist die Überschrift verschwunden, die Bilder gehören zum Künstler und die Bildgrösse ist einheitlich. Aber, wenn zu einem Werk mehrere Bilder hochgeladen wurden, zeigt die Slideshow alle Bilder (untereinander) an.
Eine Lösung dieses Problems könnte beispielsweise sein, nur das erste Bild eines Werks anzuzeigen. Rufe dazu den Slideshow Block zur Bearbeitung auf (/admin/structure/views/view/slideshow), klicke im Bereich Felder auf das Feld Inhalt: Bild und gehe in den Bereich Multiple Field Settings.
Wähle im Optionsfeld Zeige n Werte eine 1 aus.

Drupal 8 - Slideshow Block - Nur das erste Bild

Bei der Gelegenheit kannst du auch gleich Bild verlinken mit Inhalt auswählen. Wenn dann jemand auf das Bild klickt, landet er auf der Detailseite des Werks.

Slideshow Parameter

Nachdem die Slideshow nun prinzipiell funktioniert, kannst du noch Parameter für die Anzeige setzen, beispielsweise einen anderen Überblendungseffekt. Rufe dazu den Slideshow Block zur Bearbeitung auf (/admin/structure/views/view/slideshow), klicke im Bereich Format auf das Feld Einstellungen (neben Slideshow).

Der Block im Profilbereich funktioniert nun wie gewünscht.

Fazit

Es ist erstaunlich, wie komplex die Anforderungen für ein „einfache“ Slideshow sind und es ist gleichermaßend faszinierend, wie so etwas über eine Browser Oberfläche in Drupal 8 konfiguriert werden kann.

Links


tl;dr: Ich zeige, wie du eine Slideshow in Drupal 8 erstellst