of 13/13
VON TYPO3 DIE ZUKUNFT Interview TYPO3 Neos Core-Entwickler Karsten Dambekalns spricht im Interview ab S. 16 über die Arbeit am CMS. HowTo Mittwald TYPO3 Experte Martin Helmich erklärt ab S. 20 Schritt für Schritt, wie Sie eigene Neos Webseiten erstellen. Historie Seit der TYPO3 Version 3.0 ist viel geschehen. Begleiten Sie uns auf unserer kleinen Zeitreise ab S. 14

Die ZukunfT VON TYPO3 - Mittwald CM Service · Als „Gimmick“ liegt diesem Magazin außerdem ein Cheat Sheet für TypoScript 2.0 in TYPO3 Neos bei. Sollte sich in ihrer Ausgabe

  • View
    0

  • Download
    0

Embed Size (px)

Text of Die ZukunfT VON TYPO3 - Mittwald CM Service · Als „Gimmick“ liegt diesem Magazin außerdem ein...

  • VON TYPO3Die ZukunfT

    InterviewTYPO3 Neos Core-entwickler Karsten Dambekalns spricht im interview ab S. 16 über die Arbeit am CMS.

    HowToMittwald TYPO3 experte Martin Helmich erklärt ab S. 20 Schritt für Schritt, wie Sie eigene Neos Webseiten erstellen.

    HistorieSeit der TYPO3 Version 3.0 ist viel geschehen. Begleiten Sie uns auf unserer kleinen Zeitreise ab S. 14

  • 3 / 242 / 24

    www.mittwald.de

    Liebe Leserinnen,liebe Leser,

    in den letzten Monaten hat sich einiges bei TYPO3 getan und für viel euphorie gesorgt. Mit unserem Sondermagazin „Die Zukunft von TYPO3“ möchten wir die Themen noch einmal in Ruhe behandeln und alle interessierten auf den aktuellsten Stand bringen.

    Seit der T3CON12 steht fest: Das neue CMS, das seit Jahren unter dem Code-namen „Phoenix“ entwickelt wurde, wird TYPO3 Neos heißen. Zur neuen TYPO3 Markenstrategie, die nicht nur Namens- sondern auch Logoänderungen beinhaltet, erfahren Sie mehr auf Seite 6.

    Ganz wichtig für mich ist herauszustellen, dass jeder zum erfolg von TYPO3 beitragen kann: Vor allem das konstruktive Feedback von Anwendern ist heiß begehrt bei den entwicklern. Auch TYPO3 Neos Core ent-wickler Karsten Dambekalns erklärt im interview (ab S. 16), dass jeder auf seine Art etwas zu dem Projekt beitragen kann.

    in finanzieller Form ist natürlich die Mitgliedschaft in der TYPO3 Association der beste Weg. Auf der Rückseite dieses Magazins finden Sie ein Formular mit dem Sie sich die einmalige Anmeldegebühr für die Mitgliedschaft sparen können. Die Mitgliedschaft ist nicht nur für Agenturen und entwickler interessant, auch begeisterte Anwender können dem Projekt auf diesem Weg etwas zurückgeben.

    Als „Gimmick“ liegt diesem Magazin außerdem ein Cheat Sheet für TypoScript 2.0 in TYPO3 Neos bei. Sollte sich in ihrer Ausgabe aus irgendwelchen Gründen kein exemplar befinden, schreiben Sie einfach eine e-Mail an [email protected]

    ich freue mich, bei Mittwald seit Jahren die Möglichkeit zu haben, das TYPO3 Projekt zu unterstützen. Dieses Ziel verfolgen wir auch mit unserem TYPO3 Sondermagazin.

    Viel Spaß beim Lesen wünscht

    Mirko kaufmannLeiter Werbung und TYPO3-experte bei Mittwald

    Editorial

    WEBHOSTING · SCHULUNGEN · SUPPORT

    www.mittwald.de

    € 4,99*

    Alle Angebote richten sich ausschließlich an Gewerbetreibende

    Alle Hostinglösungen unter: www.mittwald.deRufen Sie uns kostenlos an: 0800 / 440 3000

    Bereits ab monatlich:

    TYPO3-Fans nutzen unsere

    Hostingtarife 7.0

    Bis zu 400 GB Speicherplatz

    Traffic-Flatrate

    Komfortable Verwaltungsoberfläche

    Software- und Versionsmanager (TYPO3, Magento, WordPress, u. v. m.)

    Automatische Sicherheitsupdates und -informationen zu Ihren Webanwendungen

    Kompetenter Service & Support

    * Die einmalige Einrichtungsgebühr für die Webhosting-Tarife 7.0 beträgt 9,- €.Die Vertragslaufzeiten und Abrechnungszeiträume betragen für die Hosting-Tarife 7.0 zwischen 6 und 12 Monate. Auto-matische Vertragsverlängerung um die jeweilige Vertragslaufzeit, wenn der Vertrag nicht mit einer Frist von 30 Tagen zum Ende der jeweiligen Vertragslaufzeit gekündigt wird. Alle genannten Preise verstehen sich monatlich zzgl. MwSt.

    zzgl. MwSt.

    Ihr Hostingpartner für TYPO3

    „Ich liebe TYPO3 – genau wie mein Webhoster!“

    Mittwald hat die TYPO3 Erfahrung, die ich brauche: schnell, professionell und freundlich. Das ist aber längst nicht alles: Auch wenn ich bei anderen Projekten z. B. Magento oder WordPress einsetze, kann ich mich stets auf die Unterstützung des Kundenservices verlassen. Das nenne ich kompetent!

    Vertrauen Sie der Nr. 1,bei Ihren TYPO3-Projekten!

    INHALTSVERZEICHNIS

    Die TYPO3 Markenfamilie ............................................... S. 6

    Die Zunkunft von TYPO3 ................................................ S. 7

    Die Historie von TYPO3 ................................................. S. 14

    interview mit Karsten Dambekalns ................................ S. 16

    HowTo: erste Schritte mit TYPO3 Neos ......................... S. 22

    TYPO3 Pinnwand .......................................................... S. 23

  • 5 / 244 / 24

    www.mittwald.de

    es wurde viel darüber geredet und teilweise heiß diskutiert: Die neue Namensgebung für die TYPO3-Produkte führte in einigen Foren und Blogs zu erregten Gemütern. Betrachtet der TYPO3-User die ganze Geschichte einmal mit etwas Abstand, wird er aber feststellen, dass die Umbenennung die richtige entscheidung für das TYPO3-Team war. Die einheitlichkeit und der dadurch gewonnene Wiedererkennungseffekt sind einfach zu gute Argumente, um diese „wegzudiskutieren“.

    Schon im Vorfeld der T3CON wurde angekündigt, dass alle Produkte der TYPO3-Familie in Zukunft unter einem Dachnamen versammelt sind, nämlich TYPO3. Also heißen die Produkte jetzt offiziell:

    TYPO3 CMS (für das bisherige CMS)

    TYPO3 neos

    TYPO3 Extbase

    TYPO3 flow (früher fLOW3)

    TYPO3 fluid

    TYPO3 Surf

    Das TYPO3-Marketing-Team räumte aber ein, dass sich im alltäglichen Gebrauch wohl die Kurzformen (Neos, Flow, Fluid, etc.) durchsetzen werden.

    eine weitere Änderung gab es im Hinblick auf die Logos: das bekannte TYPO3 Logo steht nun bei allen Produkten links neben dem entsprechenden Schriftzug und wird komplett in orange dargestellt. Ob viele das Grün vermissen werden? Fakt ist, dass Webseite, Werbematerialien und Co. schon lange eher durch das Orange geprägt waren, was sicherlich unter anderem zu dieser entscheidung führte.

    Natürlich gab es einige kritische Stimmen, die Namens- und Farbkonzept hinterfragten, doch haben auch viele nach anfänglicher Skepsis ihre Zweifel beiseitegelegt. An manche Dinge muss sich der lang-jährige TYPO3-Liebhaber sicherlich erst gewöhnen, aber im endeffekt wissen wir alle: Veränderung ist Fortschritt und Fortschritt ist gut.

    TYPO3 tritt also ab sofort als starke Familie unter einem Banner auf und möchte so eine Bekanntheit, die seit 10 Jahren kontinuierlich wächst, noch weiter steigern. Wir werden das engagierte TYPO3-Team wie in den letzten Jahren bei seiner Arbeit unterstützen und wünschen dabei viel erfolg!

    Wir freuen uns weiterhin auf eine gute Zusammenarbeit!

    Die TYPO3 Markenfamilie

    VON

    DieZukunfT

    TYPO3

    So oder ähnlich könnte der Titel dieses Artikels auch lauten, denn das TYPO3 Projekt besteht längst nicht mehr nur aus dem namensgebenden Content Management System.

    Bevor wir uns damit näher beschäftigen, möchten wir zunächst einen kurzen Überblick über die besprochenen Projekte geben: TYPO3 Flow ist ein eigenständiges PHP Framework, das die Grundlage für TYPO3 Neos bildet, welches wiederum ein modernes CMS mit vielen neuen Konzepten darstellt. Extbase und Fluid sind schon länger ein fester Bestandteil des TYPO3 CMS. Wir beschäftigen uns kurz mit beiden, um die Verbindung zu Flow und Neos zu verstehen. Als Beispiel für weitere Projekte, welche im Rahmen von TYPO3 entstehen, gehen wir auch auf das Deployment Tool Surf ein.

    We ARe FAMiLY

  • 7 / 246 / 24

    www.mittwald.de

    TYPO3 CMS Das Content Management Systemaus Dänemark

    Das TYPO3 CMS, das von Kaspar Skårhøj ur-sprünglich als proprietäres System entwickelt wurde, bevor er es im Jahr 2000 in der Beta Phase zur Open Source Software wurde, hieß seither schlicht TYPO3. Zwei Jahre später endete die Beta Phase und auch der extension Manager wurde 2002 eingeführt. Daraus resultierte dann auch die entwicklung des TYPO3 extension Repo-sitory (TeR), welches mittlerweile über 5.500 erweiterungen für unterschiedlichste Aufgaben enthält, so dass viele Webseiten umgesetzt werden können, ohne in die Programmierung einzusteigen. extensions sind dabei erweiterungs-pakete zu TYPO3, die neue Features hinzufügen oder bestehende erweitern.

    ein weiterer Meilenstein war die Veröffentlichung von Version 4.0 Anfang des Jahres 2006. Diese enthielt ein neues User interface und die mitgelie-ferten Features sind spätestens seit dieser Version so umfangreich, dass selbst komplexe Projekte ohne Probleme umgesetzt werden können.

    Sehr schnell entstand eine stetig wachsende Community, die TYPO3 für ihre Projekte nutzt, es weiterentwickelt und extensions bereitstellt. Außerdem gibt es seit einigen Jahren die TYPO3 Association, die als Verein dafür sorgt, dass die infrastruktur bereit steht und Gelder für wichtige Projekte zur Verfügung stehen. Auch die Ausrich-tung der jährlich stattfindenden offiziellen events wird von der Association übernommen.

    eine Besonderheit bei TYPO3 ist dabei das Typo-Script, mit dem sich die gesamte Ausgabe der Webseite detailliert konfigurieren lässt, wodurch den umsetzbaren Designs keine Grenzen gesetzt sind. TypoScript ist zwar relativ komplex, doch die Grundzüge sind leicht zu erlernen und es gibt in-zwischen eine Menge Tutorials und Anleitungen für die meisten Anforderungen.

    TYPO3 in großen Projekten

    Aufgrund seiner Komplexität und der vielen Kon-figurationsmöglichkeiten wird TYPO3 meistens für größere Webprojekte genutzt. So setzt zum Bei-spiel der DFB genauso auf TYPO3, wie viele Bun-desliga-Vereine, aber auch Sixt, Lufthansa und andere große Unternehmen.

    TYPO3 kann bei solchen Projekten mit seiner detaillierten Rechtevergabe glänzen, die es er-möglicht, auch viele redaktionelle Benutzer genau auf die Funktionen einzuschränken, die sie benö-tigen.

    Auch die Sprachfeatures von TYPO3 kommen gerade bei größeren Webpräsenzen zur Geltung. So können ganze Webseiten oder auch nur Teile davon in beliebig viele Sprachen übersetzt wer-den. Für das Backend existieren bereits Überset-zungen in einer ganzen Reihe von Sprachen, so dass Redakteure ganz bequem in ihrer Sprache arbeiten können.

    ein weiteres Feature, das im Zusammenhang mit größeren Webseiten oft notwendig ist, ist die Arbeit mit Workspaces, so dass bestimmte Re-dakteure die Seite nicht live bearbeiten, sondern an einer Kopie ihre Änderungen machen, welche dann freigegeben werden können, bevor sie online gehen.

    TYPO3 in kleinen Projekten

    Doch TYPO3 lässt sich nicht nur in großen Projekten einsetzen. ist der Anwender mit dem System vertraut, lassen sich auch kleine Seiten sehr leicht umsetzen. Die flexiblen Template- Systeme erlauben die schnelle Umsetzung beliebiger Designs und die vordefinierten inhalts- elemente lassen kleine Webseiten schnell entstehen.

    Die vielen frei verfügbaren extensions tragen auch dazu bei, dass sich fast alle Anforderungen kleiner Projekte ohne eigene Programmierung erledigen lassen: Vom geschützten Login-Bereich über News, Formulare bis hin zur Newsletter- Lösung. Aufgrund der klaren Programmier- schnittstellen und der Menge an frei verfügbaren erweiterungen lässt sich aber auch jederzeit eine individuelle Lösung schaffen. Das Thema ext- ensionentwicklung wird im Bereich extbase und Fluid noch kurz angeschnitten.

    Praktische Features wie ein unendliches Undo für Redakteure, Wiederherstellung für gelöschte elemente und der Seitenbaum machen die Arbeit an den inhalten leichter.

    Back to the Future – TYPO3 6.0

    Vor kurzem ist die TYPO3 Version 6.0 erschienen, welche viele Neuerungen beinhaltet. Nachdem die entscheidung getroffen wurde, TYPO3 Neos nicht Version 5 zu nennen, war die Bahn frei end-lich die Versionsnummer anzuheben und damit auch größere Veränderungen einzubringen. Um nicht noch mehr Verwirrung bezüglich der Versionen zu stiften, wurde Version 5 übersprun-gen und TYPO3 CMS geht von Version 4.7 über zur Version 6.0.

    ein wichtiges Feature, das sich schon längere Zeit in der entwicklung befindet und nun endlich aus-geliefert wird, ist das File Abstraction Layer (FAL). es ist für einen besseren Umgang mit Dateien zu-ständig und bereitet den Weg für die einbindung von Cloud-basierten Dateihosting Services.

    Außerdem wurde der extensionmanager grundle-gend überarbeitet, um den Umgang mit exten- sions zu erleichtern und mehr Überblick zu bieten.

    einige Detailverbesserungen des User interfacessowie viele Verbesserungen und erleichterungenfür entwickler, wie zum Beispiel, dass TYPO3 6.0komplett auf die in PHP 5.3 eingeführten Name-spaces setzt, runden das Bild ab.

    „Der DFB, Sixt, Lufthansa und andere große Unternehmen setzen auf TYPO3“

  • 9 / 248 / 24

    www.mittwald.de

    damit die inhalte auf dem entwicklungsserver ak-tuell gehalten werden können. Das TYPO3 Con-tent Repository orientiert sich am Java Content Repository (JCR), welches ein industrie-Standard in der Java-Welt ist. So wird die optimale Anbin-dung an externe Systeme gewährleistet.

    Backend – Frontend

    Neue Wege beschreitet auch das User interface in TYPO3 Neos. Gerade für Redakteure soll die tägliche Arbeit so unkompliziert wie möglich werden. Darum findet die Bearbeitung von inhal-ten vollständig im Frontend statt. Das Backend- interface wird als eine Art „Rahmen” um die eigene Webseite angezeigt und ist auf das we-sentliche reduziert. es gibt einen ausklappbaren Seitenbaum zum Bearbeiten, Anlegen und Lö-schen von Seiten, sowie einen Bereich für die Änderung von eigenschaften wie zum Beispiel des Seitentitels oder der Sichtbarkeit von inhalten.

    eine große Besonderheit ist allerdings die Bearbei-tung von inhalten, die direkt in der Webseite erfolgt; ein sogenanntes Frontend editing. ein Klick in den Text blendet entsprechende Bearbei-tungsleisten mit üblichen Formatierungsoptionen ein und der User kann einfach in der Seite schrei-ben.

    Dies erlaubt erstmals eine echte WYSiWYG- (What you see is what you get) erfahrung, denn die Seite wird genauso dargestellt, wie ein Be-sucher sie auch sehen würde. Alle Formatie-rungen werden exakt wie auf der Seite dargestellt.So hat der Anwender schneller eine Vorstellung davon,wie sich der geänderte Text in die Seite einpasst.Um diese Art der Bearbeitung umsetzen zu können, wurde als Basis das CreateJS-Frame-work integriert, das im Rahmen des europäischen Projektes iKS erstellt wurde und an dem auch TYPO3 Neos teilnimmt. Ziel des Projektes ist es, CMS-Systeme semantischer zu machen und darüber auch zu verbinden. in Zukunft wird Neos so semantische Webtechnologien stark unter- stützen und die Auszeichnung von inhalten erleichtern.

    Zusätzlich liefert Neos den sogenannten Wire-frame Mode mit, der die Bearbeitung von inhalten ohne Template erlaubt. Damit lassen sich Demo-inhalte bereits anlegen, bevor das Design umgesetzt ist.

    TYPO3 NeosDas neue System

    TYPO3 Neos ist gerade als Alpha-Version verfügbar und wird voraussichtlich im Frühjahr 2013 final veröffentlicht.

    Bereits ende 2005 entschied das TYPO3 Core Team, dass es eine erneuerung der Code-Basis geben müsste, um mit aktuelleren Systemen mitzuhalten. Zuerst mit nur einem entwickler startete die entwicklung einer neuen Version, die damals als 5.0 geplant war und lange Zeit unter dem Codenamen „Phoenix“ entwickelt wurde. Die ersten Zeitschätzungen erwiesen sich als zu optimistisch, die entwicklung eines kom-plett neuen modernen Content Management Systems erwies sich als deutlich aufwendiger, als zuerst angenommen wurde. Nach und nach wurde das Team erweitert, so dass inzwischen et-wa 15 Personen daran arbeiten, ein modernes CMS für die Zukunft zu entwickeln.

    Anfang dieses Jahres wurde beschlossen, dass ein weiteres Festhalten an „Version 5.0“ wenig Sinn macht, da Neos nicht kompatibel zum bestehen-den TYPO3 ist und damit die entwicklung des TYPO3 CMS nur einschränkt wird. Daher wurde nach einem neuen Namen für das Projekt gesucht, welcher im Oktober endlich vorgestellt wurde: Das neue, modernisierte CMS der TYPO3 Community heißt ab sofort TYPO3 Neos. Neos startet mit vielen neuen Konzepten und ist als CMS für die Zukunft aufgestellt, wobei derzeit die Features noch nicht so umfangreich sind, wie beim TYPO3 CMS. Langfristig soll sich das aber ändern. ein wichtiger Punkt ist der moderne Core.

    Hier wurde als Grundlage das ebenfalls von der TYPO3 Community entwickelte Framework „Flow“eingesetzt, welches im nächsten Abschnitt näher erklärt wird.

    Inhaltsstruktur

    Aufbauend auf Flow wird auf ein Content Repo-sitory gesetzt, das für alle „inhalte“ zuständig ist, wobei damit auch ausdrücklich Seiten gemeint sind. Damit liegen alle Arten von inhalten in einer gemeinsamen Node-Struktur (Knoten) vor, was eine beliebige Verschachtelung von inhalten er-möglicht und damit die erstellung von flexiblen inhaltstypen wesentlich erleichtert. Schon jetzt lassen sich darüber neue inhaltstypen sehr ein-fach konfigurieren. in Zukunft soll ein grafischer editor die erstellung noch weiter vereinfachen.

    im Content Repository lassen sich auch mehrere Webseiten verwalten, so dass in Neos mehrere Seiten in einer installation umgesetzt werden können. Das Repository ist aber nicht nur auf reine Seitenstrukturen begrenzt, die Nodes sind in ihren eigenschaften flexibel und auf die gleiche Weise könnte ein zentraler Kategorienbaum, eine Produktstruktur oder Ähnliches abgelegt werden.

    Dabei unterstützt das Content Repository durch-gängig Workspaces, so dass in TYPO3 Neos niemals direkt die Live-Webseite bearbeitet wird. Stattdessen werden Änderungen immer in der eigenen Arbeitsumgebung gemacht und dann in einem zweiten Schritt in die Live-Umgebung übernommen. in späteren Versionen werden dann auch komplexe Arbeitsabläufe mit Frei- gaben und Gruppen-Workspaces unterstützt.

    Das Content Repository erleichtert mit seiner Struktur auch die Anbindung an andere Systeme und es gibt bereits einen import und export in XML-Dateien. SSpäter ist geplant, über diese Schnittstellen eine Synchronisation der inhalte zwischen verschiedenen Systemen zu ermögli-chen. Dies ist gerade in größeren Projekten mit Live- und entwicklungsservern interessant,

    „TYPO3 Neos

    erlaubt

    Redakteuren

    erstmals

    eine echte

    WYSiWYG-

    erfahrung!“

  • 11 / 2410 / 24

    www.mittwald.de

    TypoScript 2.0

    Das Konzept von TypoScript wurde gründlichüberarbeitet und an das neue System angepasst.Die Syntax wurde vereinheitlicht. Vieles wirdnun über Templates erledigt, was den Umfangder TypoScript-Befehle deutlich reduziert. So sindnun sowohl die Basis-Seiteneigenschaften wieDoctype sowie Menüs und deren Zuständebequem in einem Template anpassbar.

    Über eine klare Strukturierung lässt sich zudem die Ausgabe viel einfacher in Details verändern ohne dafür viel TypoScript kopieren oder um-schreiben zu müssen. Selbst Content-elemente haben ein eigenes Template, in dem sich das HTML der Ausgabe anpassen lässt.

    Gleichzeitig wurden die erweiterungsmöglich-keiten von TypoScript ausgebaut, so dass es unkompliziert ist, weitere Objekte hinzuzufügen oder bestehende Objekte anzupassen.

    Die „stdWrap“-Funktionen, die in TypoScript eine wesentliche Rolle spielen, wurden durch Processors ersetzt. Diese lassen sich nun auf fast alles anwenden. Auch die Reihenfolge und Men-ge an Processorsist beliebig, wodurch diese flexib-ler sind als das „stdWrap“. Darüber hinaus lassen sich leicht eigene Processors erzeugen.

    Um leichter mit dem Content Repository undseinen Strukturen agieren zu können, wurde das neue Konzept der „FlowQuery“ entworfen. Die FlowQueries sind dabei an jQuery angelehnt unddienen dazu, bestimmte Abfragen an die Baum-struktur des Content Repositories zu machen. Dadurch lassen sich nach kurzer Lernphase sehr viele verschiedene Anforderungen abdecken; vom Breadcrumb-Menü über den Seitentitel der über-geordneten Seite bis hin zu komplexen Filtern ist vieles möglich.

    Ausblick

    eine Schnittstelle für Plugins in TYPO3 Neos ist bereits definiert und mit dem Blog existiert bereits eine einfache erweiterung. Weitere werden sicherlich in den nächsten Monaten entwickelt.Schon jetzt werden verschiedene Caching- Systeme und Proxies wie zum Beispiel Varnish unterstützt. Diese Unterstützung wird weiter ausgebaut und ein eingebautes Caching-System wird als Alternative integriert.

    Auch die Unterstützung für multilinguale Websei-ten wird demnächst umgesetzt, da derzeit mehr-sprachige Seiten nur über getrennte Bäume mög-lich sind. Danach wird dann auch die Möglichkeit zur Lokalisierung des Backends folgen.Auch weitere Backend-Module zur Verwaltung von Daten, Domains und Workspaces sind in Arbeit und werden bis zum Release integriert.

    TYPO3 Flow

    Das dritte Projekt das wir vorstellen, ist im Zuge der Vorstellung der Dachmarke „TYPO3“ von FLOW3 zu TYPO3 Flow umbenannt worden und war nicht von Anfang an geplant. Während der Arbeit an Neos erkannte das Core-Team, dass für ein CMS viele allgemeine Probleme der Anwen-dungsentwicklung gelöst werden müssen. Diese Teilbereiche wurden schließlich zu einem eigenständigen Framework für PHP-Anwen-dungen, welches den Core für TYPO3 Neos bildet. Flow ist bereits seit einem Jahr final verfügbar und wird in Kürze in der Version 2.0 veröffent-licht. es hat in kurzer Zeit viele entwickler über-zeugen können, da es starke erleichterungen für entwickler mitbringt und einige Konzepte an- bietet, die bis dahin in PHP unbekannt waren.

    inzwischen gibt es bereits einige große Flow- Projekte, die erfolgreich umgesetzt wurden und nun im einsatz sind.

    Zentrales Anliegen ist dabei, eine möglichst gute Unterstützung für die entwicklung nach Domain Driven Design zu bieten. Hierbei han-delt es sich um ein Paradigma, das die Problem-stellung der Applikation in den Vordergrund stellt und Nebensächliches aus der eigentlichen Pro-grammlogik heraushalten soll. Domain Driven Design soll an dieser Stelle nicht weiter behandelt werden. es ist allerdings ein sehr interessantes Thema und auch für die entwicklung mit extbase (siehe S. 12) interessant.

    Flow ist an der Model-View-Controller (MVC) Struktur ausgerichtet und bietet für alle drei Bereiche Strukturen an, die in der eigenen Applikation genutzt werden können.

    Dependency Injection und AOP

    Flow ermöglicht diese Ansätze über einigeinteressante Prinzipien, wie zum Beispiel dieDependency injection (Di), welche dafür sorgt, dass Objekte automatisch zur Verfügung gestellt werden, ohne dass der entwickler sich darum kümmern muss. Das entkoppelt die Anwendung, denn solche Objekte können dann geändert werden, ohne den Code anfassen zu müssen.

    Das andere wichtige Konzept, das zur entschla-ckung von Code beiträgt, ist das Aspect Oriented Programming (AOP), welches bisher in keinem anderen PHP-Framework verfügbar ist und ur-sprünglich aus Java stammt. Über AOP lässt sich Code von außen beeinflussen und ändern, um zum Beispiel Logging oder andere Code-Teile, die nicht zur eigentlichen Programmlogik gehören, nachzurüsten, ohne den eigentlichen Code an-zufassen. Das erlaubt auch die Veränderung von fremdem Code ohne diesen direkt zu ändern und somit Upgrades zu erschweren.

    Auf AOP basiert auch das Sicherheitssystem von Flow, so dass in der Regel eine Applikation ohne eine Zeile Code auskommt, der für die Absiche-rung und Rechtevergabe zuständig ist.

    Templating

    Flow liefert die Template-Sprache Fluid direkt mit und diese ist auch der Standard in Flow und Neos. Durch die enge integration zwischen Flow und Fluid muss ein entwickler keinen Code schreiben, um ein Fluid Template in Flow zu benutzen. Fluid wird später nochmal etwas ausführlicher beschrieben und ist auch schon aus TYPO3 CMS bekannt.

    Sollte Fluid nicht gewünscht sein, lassen sich auch andere Views unkompliziert integrieren. So liefert Flow zum Beispiel einen JSON-View für die Kom-munikation mit JSON Services.

    Das TYPO3 Neos Core-Team im September 2012 / Foto: Ben van ´t Ende

  • 13 / 2412 / 24

    www.mittwald.de

    Persistenz

    in TYPO3 Flow wird Doctrine zur Datenbankab-straktion und für das sogenannte Object Rela- tional Mapping genutzt (ORM). Mit Doctrine stehen eine ganze Reihe von Datenbanksystemen für Flow zur Verfügung. Angefangen von den Standards MySQL und PostgreSQL werden auch Microsofts SQL sowie Oracle und iBM DB2 unterstützt.

    „Doctrine integriert sich nahtlos in Flow.“Datenbanktabellen können dabei von Doctrine anhand der Datenmodelle erstellt werden. Mi-grationen zwischen verschiedenen Versioneneiner Applikation werden unterstützt und vonFlow genutzt.

    Doctrine integriert sich dabei nahtlos in Flow und der Zugriff auf Daten ist für den entwickler völlig unkompliziert. Für spezielle Abfragen oder zur Optimierung der Performance bietet Doctrine die sogenannte Doctrine Query Language (DQL) an, welche an SQL angelehnt ist, Objektorientie-rung berücksichtigt und die eigenheiten ver- schiedener Datenbanken überbrückt.

    Weiteres und Ausblick

    Flow bringt eine Unterstützung für die Lokalisie-rung und Übersetzung eigener Projekte mit und integriert dabei die Daten des Unicode Common Data Locale Repository (CLDR), welches informati-onen zu Zahlen- und Datumsformaten sowie Singular/Plural und viele weitere landesabhängige Daten enthält, die für eine vollständige Lokalisie-rung notwendig sind. Zur Speicherung von Übersetzungen wird das XLiFF-Format genutzt,welches ein Standard in der Dokumenten- Übersetzung ist und für das viele externe Tools zur Verfügung stehen.

    Aufgrund der Umsetzung der HTTP-Spezifikation bringt Flow auch direkt alle Werkzeuge zur Anbindung an Webservices wie ReSTful oder SOAP mit.

    Außerdem lassen sich in TYPO3 Flow zahlreiche Befehle auf der Kommandozeile nutzen, welche ausführlich dokumentiert sind und sich auch ein-fach um eigene Befehle ergänzen lassen.

    Schließlich ist mit dem Support von Composer in der Version 2.0 ein erster Schritt in Richtung eines Package Repository getan und die einbindung externer Pakete ist nun einfach möglich. So kön-nen zum Beispiel Symfony Komponenten in Flow-Applikationen genutzt werden.

    TYPO3 Extbase und Fluid

    Nach den drei großen Projekten der TYPO3 Community kommen wir nun mit extbase und Fluid zu zwei Teilprojekten, die ihren Ursprung in Flow und Neos haben.

    es gab schon sehr früh in der entwicklung von Flow den Wunsch, die Ansätze für die entwick-lung, die in Flow verfolgt wurden (MVC und Domain Driven Design) auch in TYPO3 CMS für die entwicklung neuer extensions verfügbar zu machen. erste Versuche das Flow Framework einfach parallel zu TYPO3 laufen zu lassen, erwiesen sich als schwierig, so dass auf Basis des (damaligen) Codes ein Backport von Flow entstand, der extbase genannt wurde. inzwischen basieren bereits viele Backend-Module auf ext-base und die Arbeit mit extbase macht entwick-ler vertraut mit vielen Konzepten, die in Flow

    und Neos genutzt werden. So unterstützt extba-se auch Dependency injection und das Domain Driven Design Konzept wurde auch so weit wie möglich umgesetzt.

    eine klare Model-View-Controller Struktur sowieeine einheitliche entwicklung für Frontend undBackend erleichtern es Programmierern neueModule und Plugins zu entwickeln. Und mit demextension Builder steht ein mächtiges Werkzeugzur Verfügung, um Models für eine neue exten- sion anzustoßen.

    extbase stellt somit heute den Standard für exten-sionentwicklung dar. Neue extensions werden fast nur noch auf Basis von extbase erstellt. Das ext-base-Team kümmert sich dabei um eine möglichst große Kompatibilität zu Flow und entwickelt ext-base für die Nutzung innerhalb von TYPO3 weiter.

    Fluid Templates

    extbase wie auch Flow nutzen als Template-Spra-che Fluid, das auch in der TYPO3 Community entwickelt wurde. in Fluid kann direkt auf zur Verfügung stehende Variablen und Objekte zugegriffen werden.

    Zusätzlich stellen sogenannte ViewHelperverschiedene Funktionen zur Verfügung. Ange-fangen bei Formatierungen für Datumsformateüber Schleifen und Bedingungen, erlaubenViewHelper sehr dynamische Templates. Durch dieMöglichkeit eigene ViewHelper einzubinden, kannFluid jederzeit an die eigenen Anforderungenangepasst werden.

    Dabei ist Fluid mit seiner XML-ähnlichen Syntax leicht in bestehendes HTML zu integrieren und stört auch bei der Vorschau im Browser nicht, da die Fluid ViewHelper als unbekannte Tags unsicht-bar bleiben.

    inzwischen ist Fluid auch eine moderne Möglich-keit, ganze Seitentemplates für TYPO3 umzuset-zen. Und da die Syntax dieselbe ist und auch diemeisten ViewHelper in TYPO3 CMS und Flow/Neos verfügbar sind, ist der Umstieg auf dieUmsetzung einer Neos Webseite nicht schwierig.in Zukunft könnte Fluid von extbase und Flow los-gelöst werden, um dann als eigenständige Tem-plate engine auch in anderen PHP-Projekten zum einsatz zu kommen.

    TYPO3 Surf

    Mit den ersten größeren TYPO3 Flow Projekten entstand auch die Notwendigkeit, diese auf Servern bereitzustellen. es gibt bereits einige Deployment Tools,doch keines davon ist auf PHP-Projekte ausgerichtet - also wurde Surf entwickelt. Surf soll dabei nur ein Beispiel für Projekte sein, die in der TYPO3 Community entstehen. Surf automatisiert den Arbeitsablauf, auf einem Server die aktuelle Version einer Applikation aus Git auszuchecken, eventuelle Datenbankände-rungen einzuspielen und Caches zu löschen. Zusätzlich können vor der Live-Schaltung der neuen Version noch Tests absolviert werden, um sicherzustellen, dass die neue Version auch auf dem Server einwandfrei funktioniert. Zusätzlich hält Surf dabei alte Versionen der Applikation vor, damit jederzeit ein Rollback zu einem funktionie-renden Stand stattfinden kann.

  • 15 / 2414 / 24

    www.mittwald.de

    Barrierefreie Frontend-Ausgabe, Government Packages als Basis für barrierefreie Webseiten, bessere Unterstützung von HTML5

    Die Historie von TYPO3Pünktlich zum Redaktionsschluss des vorliegenden Sonderheftes veröffentlichte das entwicklerteam rund um Helmut Hummel, Susanne Moog und Christian Kuhn die inzwischen sechste Version von TYPO3. Nach aktuellen Schätzungen nutzen bereits mehrere hundert tausend Anwender regelmäßig das freie Content Management System. Kein Wunder, bietet TYPO3 doch für Webdesigner, entwickler und Redak-teure gleichermaßen nützliche und einzigartige Vorteile. Doch der heute hohe Funktionsumfang und die einfache Bedienung waren nicht von Beginn an auf dem heute gewohnten hohen Niveau. in den vergangenen zehn Jahren hat sich viel getan in der Welt von TYPO3 – dass macht nicht nur die aktuelle Versionsnummer „6“ deutlich. Wir blicken zurück und stellen die wichtigsten entwicklungsschritte noch einmal in unserer Historie vor.

    TYPO3 3.02001

    TYPO3 3.52003

    TYPO3 3.62004

    TYPO3 3.82005

    TYPO3 4.02006

    TYPO3 4.1

    Die Login-ScreensJeder TYPO3 Anwender kennt ihn – den TYPO3 Login Screen. Aber können Sie sich noch an dessen Aussehen in der TYPO3-Version 3.3 erinnern? in unserer Login-Galerie stellen wir einige ausgewählte Designs bisheriger TYPO3-Versionen vor.

    Version 3.3 Version 3.5 Version 3.8

    Version 4.0 Version 4.4 Neos

    Das TYPO3 LogoAuch das TYPO3 Logo hat sich in den letzten zehn Jahren optisch entwickelt. Neben dem bereits seit 2005 neuen Signet fällt vor allen Dingen auf, dass das ursprünglich dreifarbig angelegte Logo inzwischen vollständig im kräftigen Orange erstrahlt.

    TYPO3

    Die erste frei verfügbare TYPO3-Version erscheint

    einführung des extension Managers zur einfachen erweiterung des Basissystems

    inhaltselemente werden in XHTML-konformem Quellcode ausgegeben, weitere Datenbanksysteme werden unterstützt

    TYPO3 3.7Verbessertes Handling mehrsprachiger Webseiten, erweiterte Rechteverwaltung für Redakteure

    Vollständiges Redesign des TYPO3-Backends, Versionsmanagement für Seiteninhalte (Workspaces), einführung des Rich Text editors HTMLArea, integration von TemplaVoila! Überarbeitung des extension Repositorys und des extension Managers

    Sprachpakete für die Lokalisierung des Backends werden bereitgestellt, erweiterung der indexsuche um weitere Dateiformate, Performance-Optimierungen

    2007AJAX-basierter Seitenbaum, einführung des inline Relational Record editings (iRRe), bessere UTF8-Unterstützung, Kommandozeilen-Schnittstelle (CLi) zur erleichterung administrativer Tätigkeiten

    2008Verbesserung der Backend-Usability, Anordung von Bearbeitungsfunktionen in gesonderten Tabs, Highlight-Suche im Backend zum einfachen Auffinden von Seiten- und inhaltselementen, TYPOScript editor inkl. Syntax-Highlighting

    TYPO3 4.2

    TYPO3 4.32009 TYPO3 4.62011

    TYPO3 4.7

    AJAX-basierter Backend-Login, überarbeitetes Frontend-editing, verbessertes Caching-Framework, Flash-basierter Datei-Upload, integration des MVC-Frameworks extbase und der Template-engine Fluid

    Performance-Optimerung durch Aktivierung des Caching-Frameworks, Unterstützung von XLiFF für den einfacheren Betrieb mehrspachiger Webseiten, extJS-basierter Wizard für das einfache erstellen von Formularen

    TYPO3 4.42010Vollständiges Redesign des TYPO3-Backends, Bereitstellung des TYPO3 introduction Package, Ausgabe von HTML5-Quellcode im Frontend

    TYPO3 4.52011erste TYPO3-Version mit Long Term Support, erweiterung des Seiten-Moduls durch GridView, Live Search mit Auto-Vervollständigung, überarbeitetes Adminpanel, verbesserter extension Manager

    2012

    TYPO3 6.02012Für mobile endgeräte optimiertes Backend, verbessertes Datei-Handling durch FAL und Umstellung auf PHP 5.3 Namespaces

    TYPO3 Neos2012Neues, eigenständiges CMS

  • 17 / 2416 / 24

    www.mittwald.de

    Interview mit Karsten Dambekalns

    Karsten, wie bist du zum ersten Malmit TYPO3 in Berührung gekommen?

    TYPO3 habe ich zum ersten Mal 2001 ausprobiert, und es sah nicht gut aus für unsere Beziehung: ich war Linux-Nutzer und mit Netscape 4.7 unter-wegs. Das Classic-Backend damals aber auf den internet explorer optimiert. ich bin dann nach einem Ausflug zu Midgard gut ein Jahr später wieder bei TYPO3 und dem „Alternative“- Backend gelandet. 2003 habe ich dann meine ersten Patches an die Core-Liste geschickt, seitdem bin ich dabei.

    Wie bist du zum TYPO3 Neos Team hinzuge-stoßen?

    Nachdem ich bereits 2004 mit der DBAL-entwick-lung in den Kreis der Core-entwickler eingestiegen war, legte die T3BOARD den Grundstein für die Zusammenarbeit und Freundschaft mit Robert. er und René Fritz waren schon damals an der idee dran, den Core radikal zu modernisieren.

    Dann gab es 2005 ein Treffen von Core- entwicklern und „Active Members“ der TYPO3 Association in einem Sommerhaus in Kettrup Bjerge. Neben der entstehung der Vision „inspiring People to Share“ und der Mission „To Jointly innovate excellent Free Software enabling People to Communicate“ des TYPO3-Projektes geht auch die idee eines Neuanfangs mit „Version 5“ auf dieses Treffen zurück. ich würde also nicht sagen, dass ich zum Team dazu gestoßen bin – ich war von Anfang an dabei.Rückblickend waren wir ziemlich optimistisch mit der Zeitplanung und der idee den Core radikal um-

    zubauen – dass wir am ende mit einem System aufBasis eines revolutionären Frameworks dastehen,hätten wir nicht gedacht! Aber es ist fantastisch, was das Team seitdem erreicht hat und welche Reichweite – auch außerhalb der TYPO3- Community – Flow bereits hat.

    Findest du neben TYPO3 eigentlich auch noch andere Systeme interessant ?

    Natürlich sind andere Systeme interessant. Zum einen sollte man immer das passende Werkzeug zum aktuellen Problem suchen, und zum ande-ren holt man sich natürlich auch ideen aus ande-ren Projekten. Nicht nur die „Konkurrenz“, sondern auch ganz andere Systeme und Projekte – im Falle von TYPO3 Flow z. B. auch in der Java- und Ruby-Welt. Wer nie über den Tellerrand schaut, immer im eigenen Saft kocht, der bleibt stehen und verpasst oft die Chance auf innovation.

    Wie sieht ein typischer Tag in deinemLeben als TYPO3-Teammitglied aus?

    Wenn ich die Kinder in die Schule gebracht habe und am Rechner sitze – mal bei mir, mal bei Robert im Büro – beginne ich den Tag meist mit e-Mails (Gerrit und Forge schreiben mir sehr regel-mäßig) und Newsgroups. Danach geht es dann an die aktuellen Aufgaben, meist liegen auch ein paar Code Reviews an.

    Während des Tages bin ich fast immer im iRC eingeloggt und auch per Jabber erreichbar – gerade die iRC-Channel ersetzen den „Flurfunk“ in unserem verteilten Team und sind enorm wichtig. es kann aber auch vorkommen, dass ich mich ab-

    schotte – keine e-Mail, kein Twitter, kein iRC – um konzentriert an einem Problem zu arbeiten.

    Um 14:00 Uhr haben wir dann unseren täglichenHangout, in dem wir im Stile eines typischenScrum-Standup-Meetings berichten, was gerade(nicht) so läuft. Nachdem das Protokoll des Hang-out verschickt ist, geht es wieder an die Arbeit. Und wie viele im Team bin ich auch nach dem Abendprogramm mit der Familie (wieder) online.

    Wie können Interessierte Teil Eures Teams werden? Besteht bei Euch überhaupt Interesse an Zuwachs?

    Auf jeden Fall, das Team muss weiter wachsen! Das Beste ist, einfach im iRC-Channel (#typo3-neos) vorbeizuschauen, um einen einblick in das Team und die Arbeit zu gewinnen. Wir finden dann sicher gemeinsam einen Bug oder ein Feature, an dem man sich ausprobieren kann. Auch Code Reviews sind ein guter einstieg für entwickler – aber Anwender, die mithelfen möchten, können Änderungen testen – oder sich dem wahnsinnig wichtigen Thema Dokumentation widmen.

    Welche Voraussetzungen müssen „Bewerber“ für das Team mitbringen?

    Wichtig sind natürlich solide handwerkliche Fähig-keiten. egal ob nun PHP, JavaScript, Design oder Kommunikation; die größte Hilfe kommt von Leuten, die wissen, was sie tun. Hier ist praktische erfahrung oft mehr Wert als ein tolles Diplom, also bloß nicht denken, wir würden im sprich- wörtlichen elfenbeinturm sitzen. Noch wichtiger ist aber Verlässlichkeit. Mit jemandem der regelmä-ßig und planbar helfen kann, erreichen wir mehr, als mit einem Genie, das nach einer Woche wieder verschwindet. Und: Neugier und Begeisterung für sauberen Code (oder korrekte Farbprofile, richtige Grammatik, …), die sollte man auch mitbringen.

    Wie können TYPO3-Fans das Projekt auch außerhalb der Teams unterstützen?

    indem sie die Software ausprobieren und uns Feed-back geben. indem sie anderen davon erzählen, Lust machen auf das große Unbekannte. Die be-ste Software nützt nichts, wenn sie niemand kennt. Wenn mehr Leute Neos und Flow „vermarkten“, hilft das bestimmt.

    Wer als TYPO3-Nutzer sorgenvoll in die Zukunft blickt, kann uns ebenfalls helfen – wo kommen die Sorgen her? Wie können wir tatsächliche und ver-meintliche Probleme aus der Welt schaffen? Wieder geht es um Feedback!

    Und natürlich hilft es auch, wenn Agenturen ihren Mitarbeitern Zeit geben, sich mit Neos zu beschäfti-gen. Wer das Mittagessen oder den Kaffee für einen Code Sprint beisteuert hilft auch. eine Mit-gliedschaft in der TYPO3 Association hilft bei der Finanzierung. Und wer die entwickler bei Kunden-projekten mit einbindet, hilft dem Projekt und dem entwickler gleichermaßen. Und weil Geld nicht alles ist: eine nette Mail, ein lobender Tweet oder erfolgsberichte über spannende Projekte motivieren ungemein!

    Wie war das Feedback zur ersten Alpha- Version von TYPO3 Neos?

    Großartig! es gab Zuspruch aus völlig unterschied-lichen Richtungen, aus der Flow-Community eben-so wie von TYPO3-Urgesteinen der ersten Stunde. Auch dass noch im Oktober mehrere hundert Test-installationen bei Mittwald angefragt wurden, ist ein tolles Signal.

    Was bisher ausgeblieben ist, ist eine Flut von Bug-Reports und Feature-Requests. Das mit den Bug-Reports ist nicht so schlimm … Aber Feature-Requests würden uns zeigen, was die Nutzer wirk-lich wollen. Besonders in Verbindung mit der Voting-Funktion in Forge wäre das hilfreich.

    Gemeinsam mit Robert Lemke leitet Karsten Dambekalns das

    TYPO3 Neos Team. im interview erzählt er von seinen Anfängen

    mit TYPO3, der Arbeit im Team und schaut in die Zukunft von

    TYPO3 Neos.

  • 19 / 2418 / 24

    www.mittwald.de

    Werden Anwender von TYPO3 CMS auf TYPO3 Neos einfach umsteigen können? Manches wird einfach migriert werden können. Seitenstrukturen mit inhalten die TYPO3 out- of-the-box unterstützt, wird man importieren können. Templates dagegen wird man anpassen müssen – wer jetzt schon Fluid nutzt, hat es da leichter. TypoScript hat sich verändert, hier wird vieles einfacher – um Handarbeit kommt man aber beim Umstieg nicht herum. Die größten Probleme werden sich bei extensions ergeben. Wann welche extensions für Neos zur Verfügung stehen werden, können wir natürlich nicht sagen. ich kann verste-hen, wenn der entwickler einer extension sich jetzt auf die Anpassungen an TYPO3 6.0 konzentriert. ich hoffe aber, dass die extension-entwickler zum richtigen Zeitpunkt auf den Neos-Zug aufspringen.

    ein Umstieg sollte geplant und hinterfragt werden. Ob es sich lohnt, hängt stark vom Projekt und dem Umfeld ab. Wenn TYPO3 CMS alles bietet, was notwendig ist und keine neuen Anforderungen hinzukommen, kann man auf einen Umstieg verzichten.

    Werden die beiden Systeme in Zukunft für die gleiche Zielgruppe weiter entwickelt oder wird es hier eine konkrete Unterscheidung geben?

    Momentan sind die Zielgruppen sicher nicht deckungsgleich. Neos richtet sich stärker an Kunden, die viel individuelle Funktionalität mit relativ wenig Content Management benötigen – hier kann die Kombination von Framework und CMS ihre Stärken bereits voll ausspielen. Wenn Neos in der ersten Version stabil läuft, wird es sicher auch im Bereich der einfacheren Websei-te Fuß fassen, gerade durch das konsequente und starke Frontend-editing. Und mit wachsendem Funktionsumfang kann es sicher ein direkter Kon-kurrent zu TYPO3 CMS werden. Wer aber derzeit TYPO3 voll ausreizt, wird sicher noch eine Weile dabei bleiben. Was die Zielgruppen angeht, kommt es aber nicht nur darauf an, wen Neos ansprechen will – sondern auch, wen das „klassische“ TYPO3

    anspricht. Und, mal ehrlich, wer kann das bei all der Flexibilität schon sagen?

    Wie lange eine parallele Weiterentwicklung statt-findet? Das kann ich – ganz ehrlich – nicht genauer beantworten als „wohl noch eine ganze Weile“. Hier spielen zu viele Faktoren eine Rolle. Wie lan-ge noch Geld der TYPO3 Association fließt, kann derzeit niemand sagen. Da haben die Mitglieder ja auch etwas zu sagen, und wie schnell oder lang-sam die Prioritäten sich da ändern, ist völlig unklar. Aber selbst, wenn es weniger oder gar keine Finan-zierung mehr gibt: Der größte Teil der Pflege und entwicklung wird bereits heute dezentral und un-abhängig realisiert! Solange es im Core-Team den Willen gibt, TYPO3 CMS weiter zu pflegen, wird das auch geschehen. Falls das ganze Core-Team sich irgendwann geschlossen hinter Neos stellt, ist das sicher ein Dämpfer für TYPO3 CMS – ob es das ende wird, ist dennoch unsicher.

    Auf der anderen Seite werden die Leute hinter Neos und Flow weiter daran arbeiten, das System vorantreiben und versuchen, möglichst viele Nut-zer davon zu überzeugen. Und je mehr sich uns anschließen, desto schneller wird das System im Markt ankommen. Wenn wir die aktuelle Welle stehen können, surfen wir damit sicher bis ans Ziel!

    Was sind die nächsten Schritte in Richtung Stable Release?

    Nach der ersten Alpha ging es erst mal darum, die noch ausstehenden Aufräumarbeiten nach dem Release – vor allem die Umbenennung zu Neos – zu erledigen. Jetzt heißt es, Neos weiter zu stabili-sieren, das User interface weiter auszuarbeiten und noch fehlende Funktionen fertigzustellen. Hier fallen mir neben dem besseren Handling von Medien zuerst das Management-Modul („Listen-Modul“ auf Basis des expose-Package) und das Site-Management ein. Und um eine saubere Basis für Neos zu haben, arbeiten wir auch am letzten Schliff von TYPO3 Flow 2.0.

    Wir danken dir für diese Einblicke in das TYPO3 Neos Projekt!

    Im Vorfeld sind unbeabsichtigt schon einige Dinge z. B. zur Umbenennung von FLOW3 in TYPO3 Flow bekannt geworden. Wie groß war der Aufruhr danach in den Teams?

    Dass nach einem griffigen und konsistenten Schema für alle Produkte im Projekt gesucht wird, war ja keine Neuigkeit. Die Umbenennung in TYPO3 Flow war ein logischer Schritt, finde ich. Aufruhr in den Teams gab es daher kaum: das Neos-Team wusste, was da kommt und das Core-Team war ja auch eingebunden.

    Natürlich waren diejenigen, die sich auf Twitter und in Blogs aufgeregt haben, nicht zu übersehen. Und doch waren es nur wenige, wenn man sich vor Au-gen hält, wie groß die Community ist. Was man an dieser Situation wieder gut sehen konnte: es gibt keinen richtigen Weg. Da wird uns vorgewor-fen, im kleinen Kreis vorschnell Dinge zu entschei-den, ohne irgendjemanden zu informieren. Mal ab-gesehen davon, dass das nicht stimmt: Wenn wir konkrete ergebnisse langsam in aller Öffentlichkeit breitgetreten hätten, wäre sicher der Vorwurf dagewesen, wir hätten die Chance auf den Knall-effekt, auf vernünftiges Marketing, verpasst.

    Wie ist es zu dem Namen „Neos“ gekommen?

    Der Name Neos stammt aus Kopenhagen. Wir hatten ja im September einen Neos-Codesprint dort, und bei einem Barbecue (Danke an MOC!) saß dann eine gemischte Runde zusammen und redete sich in Fahrt. Von den alten ideen über Absurdes bis hin zu Mythologie und Fantasy war alles dabei, und irgendwann hing dann „Neos“ im Raum. Das hat uns dann die nächsten Tage nicht mehr losgelassen.

    Wann kommt TYPO3 Neos 1.0?

    Kein Kommentar! :) Okay, sagen wir mal so: im Team ist die Planbarkeit auf lange Sicht gut, kurz-fristig gibt es aber starke Schwankungen. Jetzt zum Jahresende sind die Kunden ja immer beson-ders anspruchsvoll, so dass die meisten im Team derzeit viel zu tun haben. Robert und ich müssen

    auch wieder ins Projektgeschäft einsteigen – die Förderung durch die TYPO3 Association soll ja wei-ter zurückgefahren werden. Für den Rest des Jah-res rechnen wir daher zwar noch mit einer weite-ren Alpha-Version, die stabile 1.0 wird es aber erst nächstes Jahr geben.

    Wie können sich Agenturen heute schon auf TYPO3 Neos vorbereiten?

    Da gibt es verschiedene Wege. einige Projekte auf Neos-Basis sind ja bereits in der entwicklung, teils sogar im Testbetrieb mit Pilotkunden. Falls es die Möglichkeit gibt, an einem „Spielprojekt“ direkt mit Neos anzufangen, nur zu!

    Viele Agenturen werden aber eher nach einer Möglichkeit suchen, im laufenden Geschäft sanft einzusteigen. Hier kann ich nur wieder auf extbase hinweisen – es stellt die grundlegenden Konzepte hinter Flow für TYPO3-extensions zu Verfügung. Wer in extbase sauber entwickelt, kann mit über-schaubarem Aufwand zu Flow und Neos portieren.

    eine andere Möglichkeit, die bisher eher übersehen wird, ist die Nutzung von Fluid-Templates in TYPO3. Natürlich ist Fluid neben TemplaVoilà und Markern eine dritte Technologie, erhöht also zu Beginn die Komplexität. Wer jedoch seine Projekte so weit wiemöglich auf Fluid-Basis umsetzt, lernt damit bereitsalles, was er zum Templating in Neos wissen muss.

    Content-Migration extbase /

    Fluid

  • 21 / 2420 / 24

    www.mittwald.de

    • Die TypoScript-Templates der Seite werden unter Resources/Private/TypoScripts gespeichert. Auch hier hat der Kickstarter bereits ein Standard-Template unter Library/Root.ts2 angelegt. • im Verzeichnis Resources/Private/Content werden inhalte der Seite gespeichert. Hier kann in der Datei Sites.xml zum Beispiel eine Standard-Struktur definiert werden, die bei der installation der Seite auto- matisch erstellt werden soll.

    • Öffentlich zugängliche Dateien, also beispielsweise Bilder und CSS-Dateien, können später im Verzeichnis Resources/Public abgelegt werden.

    Installation der Seite und erste Anpassungen

    Wird Neos nun über den Browser aufgerufen, kommt zunächst noch die ernüchternde Meldung „Missing Homepage“. Dies liegt daran, dass die soeben erstellte Seite noch gar nicht aktiv ist. Dieskann über folgenden Kommandozeilenbefehl erfolgen:

    # ./flow site:import --package-key MW.DemoSite

    Dieses Kommando importiert die in der oben erwähnten Datei Sites.xml definierte Seitenstruktur. Beim erneuten Aufruf im Browser sollte nun bereits die neue Seite sichtbar sein – auch wenn es hier zuge- gebenermaßen noch nicht viel zu sehen gibt.

    Um die Seite optisch an die eigenen Bedürfnisse anzupassen, kann nun das Standard-Template in der Resources/Private/Templates/Page/Default.html angepasst werden. Um die neue Seite ein wenig aufzuhübschen, kann zunächst eine CSS-Datei im Verzeichnis Resources/Public/Stylesheets erstellt werden (auch das Verzeichnis muss zunächst erstellt werden). im Template kann das Stylesheet dann wie folgt eingebunden werden (der f:section-ViewHelper ist standardmäßig bereits da, enthält aber keinen inhalt):

    Die Pfadangabe erfolgt relativ zum Verzeichnis Resources/Public des Pakets. Flow bildet alle in diesem Verzeichnis gespeicherten Dateien automatisch auf ein öffentlich sichtbares Verzeichnis ab.

    innerhalb des -ViewHelpers kann das eigentliche Seiten-Layout nach eige-nem ermessen bearbeitet werden. interessant ist hier weiterhin der ViewHelper . Dieser rendert die inhaltselemente, die für den jeweils aktuellen Seitenknoten im Abschnitt „main“ definiert sind, an die jeweilige Stelle – quasi das Äquivalent zu dem aus dem TYPO3 CMS bekannten „styles.content.get“.

    Genauso, wie oben mit dem f:uri.resource-ViewHelper bereits die CSS-Dateien verlinkt wurden, kann mit diesem ViewHelper auf beliebige öffentliche Ressourcen zugegriffen werden.

    Erstellen der Seite

    eines der grundlegenden Architekturprinzipien von TYPO3 Neos ist die strenge Modularisierung. Als Unterbau für das CMS dient das Applikationsframework TYPO3 Flow. Beim CMS Neos handelt es sich also tatsächlich um eine Zusammenstellung von 14 Paketen, die verschiedene Teilfunktionen kapseln. Auch eine Webseite ist in TYPO3 Neos nichts anderes als ein Flow-Paket, welches nach Belieben in einer Neos Umgebung installiert, deinstalliert oder auf andere Systeme übertragen werden kann.

    Zum erstellen neuer Seiten bietet Neos einen Kickstarter an, mit dem ein Grundgerüst einer Seite mit Templates und TypoScript erstellt werden kann. er kann wahlweise über die grafische Setup-Oberfläche während der installation oder jederzeit über die Kommandozeile angesprochen werden.

    Unter Verwendung der Kommandozeile kann eine neue Seite mit folgendem Befehl erstellt werden:

    # ./flow site:kickstart --package-key MW.DemoSite --site-name „Mittwald Demo-Seite“

    Beim Package-Key (in diesem Fall „MW.DemoSite“) handelt es sich um den Paketnamen der Seite. ein Blick in das Verzeichnis Packages/Sites zeigt, dass dort ein neues Paket mit genau diesem Namen erstellt wurde.

    Hinweis: Alle Dateipfade in den nachfolgenden Abschnitten sind relativ zum Paketverzeichnis Packages/Sites/MW.DemoSite angegeben.

    Struktur der neu erstellten Seite

    Bisher existiert die neue Seite nur als Paket, ist aber noch nicht aktiv (dazu gleich mehr). Das neue Paket folgt im Groben der üblichen Struktur für TYPO3 Flow Pakete und enthält folgende wichtige Verzeichnisse:

    • Das Verzeichnis Classes/ enthält benutzerdefinierte PHP-Klassen. Falls das Paket seitenspezifische Plugins benötigt, könnten die dazu benötigten PHP-Dateien hier abgelegt werden (um Plugins portabel zu halten, macht es in aller Regel allerdings mehr Sinn, diese in eigene Pakete auszulagern).

    • Seitenspezifische Konfigurationsdateien können im Verzeichnis Configuration/ abgelegt werden.

    • Das Verzeichnis Resources/Private/Templates enthält die HTML-Vorlagen für die Seite. Der Kickstarter wird bereits ein Template unter dem Pfad Page/Default.html angelegt haben.

    Erste Schritte mit

    TYPO3 NeosHowTo zur Erstellung von Neos Webseiten

    Mit diesem Praxisartikel legen Sie den Grundstein für ihre erste

    TYPO3 Neos Webseite. Martin Helmich erklärt Schritt für Schritt

    wie Sie eine Seite erstellen und erste Anpassungen vornehmen.

    von Mittwald- TYPO3 experte Martin Helmich

  • 23 / 2422 / 24

    www.mittwald.de

    So können beispielsweise auch Bilddateien ausgegeben werden:

    Mehrere Inhaltsbereiche einrichten

    Über das TypoScript-Template kann eine Seite auf beliebig viele Bereiche (hier sections genannt) aufgeteilt werden. Um zusätzlich zum standardmäßig angelegten Bereich main weitere anzulegen, können im TypoScript-Template (Resources/Private/TypoScripts/Library/Root.ts2) folgende Zeilen hinzugefügt werden:

    page.body { […] sections { main = Section main.nodePath = ”main”

    right = Section right.nodePath = ”right” }

    }

    Auf die in diesem Bereich hinterlegten inhalte kann im Template über den bekannten -ViewHelper zugegriffen werden.

    Inhalte anlegen und bearbeiten

    Nach der Anmeldung im Neos-Backend können nun sofort inhalte in den beiden Bereichen über das gewohnte in-Place-editing bearbeitet werden (sofern im Template eingebunden). Neu angelegte Seiten kön-nen ebenfalls angelegt werden und tauchen sofort im Menü auf.

    Soll die inhaltsstruktur einer Seite portabel gespeichert werden, so können alle Seiteninhalte über folgenden Befehl exportiert und wieder in der Datei Resources/Private/Content/Sites.xml gespeichert werden:

    # ./flow site:export >

    Packages/Sites/MW.DemoSite/Resources/Private/Content/Sites.xml

    Auf diese Weise kann beispielsweise eine Standard-Seitenstruktur festgehalten werden, die bei installation des Pakets automatisch erstellt werden soll.

    Ausblick

    in aller Regel ist es beim erstellen einer neuen Webseite mit den Anpassungen an der HTML-Vorlage und am CSS nicht getan. Die Darstellung der Standardelemente müssen z. B. an die eigenen Bedürf-nisse angepasst werden. Ferner muss ein funktionierendes Benutzer- und Rechtekonzept implementiert werden. Dennoch kann mit dem in diesem Artikel beschriebenen Vorgehen bereits ohne große Probleme der Grundstein für eine eigene TYPO3 Neos Seite gelegt werden.

  • www.mittwald.de

    Givea helping

    hand!Werden Sie Mitglied der TYPO3 Association oder spenden Sie an das TYPO3 Projekt

    Ja, ich möchte Mitglied der TYPO3 Association werden und wähle folgende Mitgliedschaft:

    Mitgliedschaft Einmalige Aufnahmegebühr Jahresbeitrag

    105 EUR

    770 EUR

    2.100 EUR

    10.500 EUR

    Bronze

    Silver

    Gold

    Platinum

    Senden Sie die Rechnung / Spenden-Quittung an:

    SPENDE MITGLIEDSCHAFTJa, ich möchte dem TYPO3 Projekt einen Betrag in Höhe von

    spenden.

    Für die gezahlte Summe erhalte ich eine gültige

    Spendenbescheinigung.

    (Betrag)

    (Währung)

    Anrede, Titel

    Vorname

    Nachname

    Firma

    Strasse

    PLZ, Ort

    Bundesland

    Land

    E-Mail

    Website

    Anmerkung

    Unterschrift

    Bitte schicken Sie das vollständig ausgefüllte Antragsformular per Fax: +41415110039 oder E-mail: [email protected] an uns zurück.*Aktion nur bis 31.03.2013 gültig

    0 EUR*

    0 EUR*

    0 EUR*

    0 EUR*

    100 EUR

    500 EUR

    500 EUR

    500 EUR

    JETZT bis zum 31.03.2013Mitglied werden und

    Aufnahmegebühr sparen*