Vorheriger Artikel Nächster Artikel

TYPO3 Neos: TypoScript 2, die Rechteverwaltung und Workspaces

Aus dem
t3n Magazin Nr. 30

12/2012 - 02/2013

TYPO3 Neos: TypoScript 2, die Rechteverwaltung und Workspaces

Seit Ende Oktober gibt es die erste Alpha-Version von Neos zum Download. Grund genug, dem neuen Content Management System unter die Haube zu schauen. Wir geben Einblicke in die neue Architektur, TypoScript 2, die Rechteverwaltung, Workspaces und die neuen Editierfunktionen für Redakteure.

Als das Entwicklerteam auf der TYPO3-Konferenz im Oktober 2012 den TYPO3-CMS-Nachfolger Neos vorstellte, hatte dieser schon einen weiten Weg hinter sich. 2006 zunächst als TYPO3 5.0 angekündigt, hieß er zwischendurch Phoenix und lieferte quasi als Nebenprodukt das Framework TYPO3 Flow (ehemals FLOW3).

Die Architektur

Im Unterschied zum TYPO3 ist Neos vollständig modular aufgebaut. Den Unterbau bildet das Framework TYPO3 Flow. Das eigentliche CMS besteht aus derzeit 14 Paketen, die verschiedene Teilfunktionen kapseln. Aber auch die Webseite ist modularisiert: In Neos ist sie auch nichts anderes als ein Flow-Paket, das sich nach Belieben installieren, deinstallieren oder auf andere Umgebungen übertragen lässt. Prinzipiell speichert Neos Pakete in drei verschiedenen Ordnern:

  1. Packages/Framework: Hier liegen die Pakete, die zum TYPO3 Flow-Framework gehören. Dies sind vor allem das Framework selbst und die Templating-Engine Fluid.
  2. Packages/Application: Dieses Verzeichnis beinhaltet anwendungsspezifische Pakete, vor allem das CMS selbst.
  3. Packages/Sites: Hier liegt die Website in Form eines Pakets. Dies beinhaltet etwa die Fluid-Templates, statische Dateien (wie Stylesheets, JavaScript-Dateien oder Bilder) und seitenspezifische Plugins.

Neos aus Sicht des Redakteurs

Das Backend von Neos präsentiert sich sehr aufgeräumt. Es ist in die drei Bereiche Content, Management und Administration unterteilt. Unter dem Menüpunkt Administration stehen derzeit die Benutzer- und Paket-Verwaltung zur Verfügung. Im Management-Bereich finden Nutzer ihre Einstellungen und eine Übersicht über ihre aktuellen Arbeitsbereiche (mehr zu den Arbeitsbereichen später). Im Content-Bereich hat der Benutzer schließlich Zugriff auf die eigentlichen Inhalte der Seite.

Neos modelliert Inhalte einer Website anders als aus TYPO3 bekannt: Die strikte Trennung von Seiten und Inhaltselementen ist nun aufgehoben. Eine Neos-Website besteht nur noch aus Knoten (nodes), die man in nahezu beliebigen Hierarchien anordnen kann. Ein solcher Knoten kann beispielsweise eine Seite sein, aber auch ein klassisches Text-Inhalts- oder Strukturelement, wie etwa ein zweispaltiger Container. Somit unterstützt Neos von Haus aus ein Content-Modell, das sich beliebig tief verschachteln lässt. Über die Inspect-Schaltfläche unten links kann man sich die Inhaltsstruktur der aktuellen Seite jederzeit anzeigen lassen.

Dank der Integration moderner JavaScript-basierter Editoren wie Hallo.js und Aloha-Editor bietet Neos ein komfortables In-Place-Editing. Das heißt, dass der Redakteur ein Content-Element per Klick darauf direkt auf der Website editieren kann. Das Speichern von Änderungen erfolgt implizit beim Verlassen des Editors – alle vorgenommenen Änderungen müssen später aber noch einmal explizit veröffentlicht werden (dazu später mehr).

Neue Knoten kann man ohne Umwege über zusätzliche Menüs direkt an Ort und Stelle einfügen. Neos unterscheidet hier standardmäßig zwischen klassischen Inhaltselementen (wie Überschriften, Texten und Bildern) sowie Strukturelementen (etwa Menüs oder mehrspaltige Elemente). Außerdem lassen sich in der rechten Spalte die Metadaten eines ausgewählten Inhaltselements bearbeiten. Beim Einfügen von Bildelementen kann man hier zum Beispiel ein Bild hochladen und praktischerweise auch gleich zurecht schneiden.

Über die Inspect-Schaltfläche kann man sich jederzeit die Inhaltsstruktur einer Seite darstellen lassen.
Über die Inspect-Schaltfläche kann man sich jederzeit die Inhaltsstruktur einer Seite darstellen lassen.

Die zur Verfügung stehenden Inhaltselemente lassen sich später über TypoScript um beliebig viele Inhaltstypen erweitern. Dabei kann es sich entweder um komplett benutzerdefinierte Plugins mit eigenem MVC-Stack handeln oder auch um einfache Fluid-Templates, die sich mit benutzerdefinierten Variablen füllen lassen. Der optionale Wireframe-Modus ermöglicht es zudem nach wie vor, Seiteninhalte auch losgelöst von ihrer grafischen Präsentation zu bearbeiten. Das kann zum Beispiel dann sinnvoll sein, wenn noch kein Layout für ein Website-Projekt vorhanden ist, man aber dennoch schon die Struktur und Inhalte prototypen möchte.

TypoScript reloaded

Die Konfigurationssprache TypoScript war bereits ein Alleinstellungsmerkmal des TYPO3 CMS. Neos greift dieses Erfolgsrezept auf. Es erweitert die Sprache um die prototypenbasierte Objektorientierung (ein weiterer bekannter Vertreter dieser Art Programmiersprachen ist JavaScript) und eine an jQuery angelehnte Abfragesprache für Inhaltsobjekte: Die Evaluated Expression Language (Eel).

Anders als aus TYPO3 gewohnt, wird TypoScript nun zwingend in Dateien und nicht mehr in der Datenbank verwaltet. Seitenspezifisches TypoScript sollte dabei stets im „Resources/Private/TypoScripts“-Verzeichnis des Seiten-Pakets liegen (bei der Demo-Seite liegt das Root-Template im Verzeichnis „Resources/Private/TypoScripts/Library/Root.ts2“). TypoScript-Templates, die ähnlich den bekannten Extension-Templates nur für bestimmte Knoten gelten, sind ebenfalls möglich. Hierzu muss der Dateiname des Templates nur dem Pfad zum Knoten entsprechen: Ein Extension-Template für den Knoten „homepage/home“ muss somit in der Datei „Nodes/Homepage/Home.ts2“ gespeichert sein.

Die Speicherung in Dateien hat mehrere Vorteile: Einerseits lassen sich diese Dateien über externe Editoren bearbeiten. Andererseits kann man die TypoScript-Dateien über gängige Versionskontrollsysteme verwalten, etwa mit Git oder SVN. Über spezielle Eel-Ausdrücke lassen sich in TypoScript wiederum Abfragen auf beliebige Objekte ausführen. Mit dem Ausdruck „${q(node).children([title=“Titel“])}“ kann man beispielsweise alle Unter-Knoten des Knotens „node“ mit einem bestimmten Titel ermitteln.

Im Wireframe-Modus kann man Seiteninhalte wie gewohnt losgelöst vom Design bearbeiten.
Im Wireframe-Modus kann man Seiteninhalte wie gewohnt losgelöst vom Design bearbeiten.

Rechteverwaltung und Workspaces

Das Arbeiten mit verschiedenen Arbeitsbereichen (Workspaces) ist nun integraler Bestandteil des CMS. Jeder Benutzer verfügt hierbei grundsätzlich über einen eigenen Arbeitsbereich. Alle Änderungen, die ein Redakteur im Backend vornimmt, sind zunächst nur in seinem Arbeitsbereich zu sehen. Im Frontend sind sie erst dann sichtbar, wenn sie der Redakteur explizit veröffentlicht. Mit dem Button „Publish Page“ in der oberen rechten Ecke des Content-Moduls ist das einfach und schnell geschehen. Eine Übersicht über alle ausstehenden Änderungen findet man im Management-Modul im Abschnitt „Workspaces“. Änderungen lassen sich hier auch über die Option „Discard Changes“ verwerfen.

Im Workspaces-Modul kann jeder Nutzer seine Änderungen sehen.
Im Workspaces-Modul kann jeder Nutzer seine Änderungen sehen.

In der Version 1.0-alpha1 sind alle Benutzer, die man über die Benutzerverwaltung im Bereich „Administration“ → „User Management“ anlegen kann, stets Administrator-Benutzer. Grundsätzlich unterstützt Neos bereits beliebige Benutzer-Rollen. Man kann diese aktuell aber nur über den integrierten Kommandozeilen-Client erstellen und zuweisen. Ein Redakteur lässt sich also beispielsweise mit folgendem Kommandozeilen-Befehl anlegen:

SHELL

$ ./flow user:create --roles Editor mmustermann geheim Max Mustermann

Listing 1

In der aktuellen Version sind die nutzbaren Arbeitsbereiche auf die jeweiligen Benutzer-Arbeitsbereiche beschränkt. Komplexe Review-Abläufe sind aufgrund dieser Beschränkung der Bereiche bisher nicht möglich.

Ausblick

Selbstverständlich kann TYPO3 Neos in der ersten Alpha-Version vom Funktionsumfang her gesehen noch nicht mit dem großen Bruder TYPO3 CMS mithalten. Aber für die nächsten Versionen sind bereits zahlreiche interessante und nützliche Features geplant. So soll dann beispielsweise das Verwaltungs-Tool TYPO3.Expose enthalten sein. Dieses Modul verwendet den seit FLOW 1.1 enthaltenen Formulargenerator, um Bearbeitungsformulare für beliebige Domain-Objekte zu generieren. Es lässt sich daher ähnlich wie das aus dem TYPO3 CMS bekannte Listen-Modul nutzten.

Außerdem haben die Enwtickler versprochen, dass man Inhalte später zwischen verschiedenen Neos-Installationen synchronisieren können soll. Auf diese Weise können in Hochlast-Szenarien Seiten über mehrere Neos-Instanzen ausgeliefert werden. Schließlich soll eine der nächsten Versionen Mehrsprachigkeit komplett unterstützen und dabei sowohl eine vollständig lokalisierte Benutzerschnittstelle als auch eine Verwaltung beliebiger Sprachen enthalten.

Fazit

Obwohl sich Neos noch in der Entwicklungsphase befindet und sich daher derzeit ausschließlich zu Testzwecken einsetzen lässt, macht die erste Alpha-Version bereits einen viel versprechenden Eindruck. Das flexible Content-Modell ist ein deutlicher Vorteil gegenüber des starren Modells früherer TYPO3-Versionen. Die Konfigurationssprache TypoScript 2 greift die Philosophie des klassischen TypoScripts auf, nach der alles konfigurierbar ist. Sie erweitert den Sprachumfang dabei allerdings um sinnvolle Konzepte wie beispielsweise die prototypenbasierte Objektorientierung.

Die erste Alpha-Version von TYPO3 Neos hinterlässt einen durchweg positiven Eindruck und macht Lust auf mehr. Die In-Place-Bearbeitung von Inhalten im Backend ist ein Quantensprung gegenüber der zuweilen umständlichen TYPO3-Oberfläche. Die bereits vorhandenen Backend-Administrationsoberflächen sind gut durchdacht und konsequent umgesetzt. Mittels TypoScript 2 und dank des sauber implementierten, objektorientierten Flow-Unterbaus kann man nahezu jeden Aspekt des Systems an die eigenen Bedürfnisse anpassen oder erweitern.

Links und Literatur

Softlink 3230
  1. Listings: Alle Listings des Artikels als zip-File
Newsletter

Bleibe immer up-to-date. Sichere dir deinen Wissensvorsprung!

Vorheriger Artikel Zurück zur Startseite Nächster Artikel
9 Antworten
  1. von Heinz Inge am 14.12.2012 (17:44 Uhr)

    Typoscript ein Erfolgsmodell? Der Mist ist "Pain in the ASS".

    Es ist zwar schön das man sich am Node Konzept von Drupal Orientiert aber solange man die ganzen anderen Macken nicht anfässt wird t3 niemals über Deutschland hinaus genutzt werden.

    Antworten Teilen
  2. von Holger am 14.12.2012 (18:43 Uhr)

    @Heinz: Welche Macken meinst du konkret?

    Antworten Teilen
  3. von virtualmachine am 14.12.2012 (18:58 Uhr)

    Das Node Konzept ist nur konsequent und TYPOScript ist was zum lernen.

    Was sind denn "die ganzen anderen Macken" ? Ich finde deinen Kommentar etwas unqualifiziert..

    Antworten Teilen
  4. von freaky_sevi am 15.12.2012 (00:02 Uhr)

    Ich frage mich, wieso man das Rad immer neu erfinden will. Wer braucht TypoScript wirklich und wieso das Ganze nicht mit zB PHP abbilden, sondern auf "etwas eigene" setzen?

    Antworten Teilen
  5. von Steffen Brand am 15.12.2012 (17:02 Uhr)

    Hinter TypoScript steckt doch nichts anderes als PHP.
    Im Endeffekt ist es doch nur eine komfortable Art PHP Arrays zu befüllen.

    Klar schreckt es im ersten Moment ab, etwas "neues" lernen zu müssen, aber ich für meinen Teil finde, dass sich das lohnt.

    Als "pain in the ass" habe ich es nie empfunden und ich habe den Eindruck, dass die TS2 Syntax sich noch mehr an gelernten Sprachen orientiert. Wenn ich das genannte Beispiel heranziehe, wird sich sicher jeder, der schon einmal mit jQuery gearbeitet hat, auch in TS2 zurechtfinden.

    Antworten Teilen
  6. von Foo Bar am 16.12.2012 (23:30 Uhr)

    Warum macht das T3N eigentlich immer Werbung für Neos?
    Sollte Journalismus nicht den Anspruch haben, Neutral zu sein?
    Oder ist dieses hier plump eine ungekennzeichnete PR-Kampagne?

    NEOS ist ein CMS im Alpha Stadium, dass bis jetzt kaum was kann
    und von so gut wie keinem (aus der Architekten selbst) eingesetzt
    wird! Es gibt kein Ziel und es gibt kein soziales OS Fundament.

    Es gibt so viele OS CMS die es mehr verdient hätten, als dieses.

    TYPO3 ist ein sehr erfolgreiches Produkt mit positiven Wurzeln.
    NEOS ist nur dem Marketing nach TYPO3, Realität ist das nicht.
    NEOS ist ein für teuer Geld gesponsertes Produkt, mit nazistischer,
    gar zwanghafter Selbstdarstellung der/des Artisten - die bis Heute
    viel mehr Versprechen als Sie zu leisten je Vermögen. Sie geben sich
    als wären Sie, wie TYPO3. Sind sie aber nicht! Es sind kommerziell
    Entwickler, die unglaublich lange (+6 Jahre) für eine Alpha gebraucht
    haben, die ein paar Konzepte von JAVA/Rails & co. jetzt auf PHP drauf
    zwängen. Warum? Wofür? Für wen? PHP ist dafür nicht gedacht. Und
    aus User-Sicht, bis jetzt ein sehr unrundes Geek Produkt. Mag sein,
    dass ein PHP-Scripter das Framework gut findet, aber das CMS kann
    wohl keiner als Gelungen bezeichnen! Ohne "Aloha", wäre das
    einfach nur ein sehr sehr teurer (+2 mio. €) spass für Selbstverliebte.

    @T3N: Schreibt doch mal "genauso viel" über die, die es verdienen!

    - http://www.concrete5.org
    - http://www.silverstripe.org
    - http://modx.com
    - ...

    Habe ähnliche Framework Paradigmen, aber auch Fuktionen die
    den Begriff CMS überhaubt rechtfertigen. Genau das spreche ich
    NEOS eindeutig ab und genau dieser Fakt macht solche Artikel zu
    plumper PR unter "Nutznießer-Freunden" und wirft ... Schatten.

    Antworten Teilen
  7. von Oink am 17.12.2012 (10:40 Uhr)

    Anfangs war Typoscript wirklich echt schwer durch zu blicken. Mittlerweile ist es kein Problem mehr. Vor allem kann ich mit Typoscript relativ Flott mir neue Content-Elemente zusammen bauen. Ich weiß jetzt nicht wie sicher Typoscript ist, aber da man auch Mysql-Abfragen ohne weiteres machen kann und auch Caching ohne Probleme steuern lässt, ziehe ich Typoscript aus Sicherheits- und teilweise Zeitgründen bei kleineren Sachen immer dem PHP vor. Einzig das Performanceproblem was dadurch entsteht ist störend, solang nicht gecached wird. Da ist PHP aufjedenfall schneller...

    Übrigens würde ich mir Lightboxes zur Klickvergrößerung der Bilder in Artikeln wünschen :D

    Antworten Teilen
  8. von cephei am 18.12.2012 (07:37 Uhr)

    @Foo Bar
    "Warum macht das T3N eigentlich immer Werbung für Neos?"
    T3N = TYPO3 News
    Auch wenn du mit einigen Aussagen ziemlich ins schwarze triffst, kann man t3n nicht verübeln, das über TYPO3 berichtet wird. Steht doch schon im Namen.

    Antworten Teilen
  9. von awu_qbus am 02.01.2013 (21:44 Uhr)

    @FooBar
    Ich habe mir über die Feiertage mal die Zeit genommen, mir Flow und T3 Neos genauer anzuschauen. Bislang habe ich T3 als CMS immer abgelehnt. Das Konzept den neuen Typo3 überzeugt mich aber!

    Natürlich ist es ein komplett neues System und nutzt den Markennamen das alten... Ist das schlecht? Was ist schlecht daran, wenn ein OS-Projekt gesponsort wird?

    Silverstripe war ja mal vor 2 Jahren oder so ein großer Hype. Den konnte ich auch nicht nachvollziehen. Concret5 ist interessant. Aber das Konzept von Flow als zugrunde liegendes Framework überzeugt mich mehr, als das Zend Framework. Wozu man TypoScript benötigt erschließt sich mir aber nach wie vor nicht vollständig.

    Antworten Teilen
Deine Meinung

Bitte melde dich an!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden

Aktuelles aus dem Bereich TYPO3
TYPO3 CMS 7 LTS: Das kann die neue Version des Enterprise-CMS
TYPO3 CMS 7 LTS: Das kann die neue Version des Enterprise-CMS

Heute ist nach einigen Sprint-Releases mit Version 7.6 endlich die neue Long-Term-Support-Version von TYPO3 CMS veröffentlicht worden. Was der neue Release an Neuerungen mitbringt, zeigen wir euch … » weiterlesen

TYPO3 CMS 7.5: Das ist neu
TYPO3 CMS 7.5: Das ist neu

Heute wurde mit TYPO3 CMS 7.5 der letzte Sprint-Release vor dem Long-Term-Support-Release (LTS) veröffentlicht. Die neue Version bringt unter anderem Unterstützung für die einfache Einbindung von … » weiterlesen

Kostenlose Quellen für Neos-Einsteiger: So findet ihr euch in dem CMS zurecht
Kostenlose Quellen für Neos-Einsteiger: So findet ihr euch in dem CMS zurecht

Das Content-Management-System Neos bietet einige praktische Funktionen. Um euch den Einstieg zu erleichtern, haben wir für euch die wichtigsten Dokumente für Neos-Neulinge gesammelt. » weiterlesen

Alle Hefte Jetzt abonnieren – für nur 35 €

Kennst Du schon unser t3n Magazin?