Transcript
  • TYPO3 NeosEin technischer berblickPatrick LobacherGeschftsfhrer24.06.2013
  • (c) 2013 - typovision GmbH | Thema der Prsentation | Autor | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick2ber den ReferentenPatrick LobacherGeschftsfhrer typovision GmbHVerffentlichungen: 42 Jahre, glcklich verheiratet, wohnhaft in Mnchen Autor von 9 Fachbchern und > 40 Fachartikeln zum Thema TYPO3 undWebentwicklung Selbstndig im Bereich Webentwicklung seit 1994 Certied TYPO3 Integrator seit 2009 Mitglied bis 2012 in den TYPO3 Core-Teams:Certication, Extbase und Content Editorial Mitglied bis 2012 im Expert Advisory Board der TYPO3 Association (EAB) Organisator des TYPO3camp Munich 2008-2013 und der T3DD12 Speaker auf nationalen und internationalen Kongressen Dozent fr fhrende Schulungsinstitute und die MVHS
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick3ber die typovision GmbH Mnchner Fullservice-Agentur fr digitale Kommunikation 34 festangestellte Mitarbeiter (+ 10 aus festem Freelancer Pool) Geschftsfhrer: Sebastian Bttger, Patrick Lobacher Hochspezialisiert auf TYPO3 seit 11 Jahren und Solr Agenturprsentation unter: www.typovision.de/dieagentur ber 400 TYPO3-Projekte jeglicher Grenordnung - fr Kunden wie:TYPO3PLATINUMMEMBER
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.de 4Was istTYPO3 Neos?
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick5TYPO3 Neos - the next generation CMS
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick6TYPO3 Neos - the next generation CMS
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick7Die Geschichte von TYPO3 Neos beginnt bei TYPO3 CMS TYPO3 CMS ist ein Enterprise Open SourceContent Management Framework TYPO3 CMS existiert seit 1998 / Erfunden vom Dnen Kaspar Skrhj ca. 500.000 Installationen weltweit / > 5 Mio Downloads Einsatz in DE z.B. bei > 50% aller DAX 500 Unternehmen, > 50% allerBundesliga-Vereinen, Discounter, Autovermieter, ffentliche Trger > 6.000 Extensions > 100.000 Entwickler weltweit > 1500 Agenturen weltweit Finanziert und untersttzt von der TYPO3 AssociationGeschichte von TYPO3 Neos beginnt bei TYPO3 CMS
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick8Die Geschichte von TYPO3 Neos: TYPO3 Phoenix Auf den ersten T3DD (TYPO Developer Days) im Jahr 2006 wurde derEntschluss gefasst, TYPO3 von Grund auf neu zu schreiben Codename: TYPO3 Phoenix (bzw. TYPO3 5.0) Das Projekt wurde von dem Chefarchitekten Robert Lemke begonnenund nach wenigen Monaten von Karsten Dambekalns ankiert Mit dem Berlin Manifesto wurde 2008 der Rahmen und dieAbgrenzung zum TYPO3 CMS festgelegthttp://typo3.org/roadmap/berlin-manifesto/Geschichte von TYPO3 Neos: TYPO3 Phoenix
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick9Die Geschichte von TYPO3 Neos: TYPO3 Flow und Neos Viele Grundfunktionen eines CMS sind nicht CMS-spezisch (Session-Handling, Datenbank-Handling, Templating, ...) => daher Abspaltung Durch die Einfhrung von Extbase im Jahr 2009 wurde es mglich,bereits in TYPO3 CMS Extensions zu schreiben, die in TYPO3 Flow mitgeringen nderungen lauffhig sind Am 20. Oktober 2011 wurde das Application Framework TYPO3 Flow(ehemals FLOW3) als Final verffentlicht TYPO3 Neos ist eine Applikation die auf TYPO3 Flow basiert TYPO3 Neos Alpha 3 im Februar 2013 Erste nale Version im Oktober 2013Geschichte von TYPO3 Neos: TYPO3 Flow und Ne0s
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick10Die TYPO3 Welt - seit Oktober 2012 TYPO3 CMS TYPO3 Flow TYPO3 Neos TYPO3 SurfGeschichte von TYPO3 Neos: Die TYPO3 Welt
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.de 11Die Architekturvon TYPO3 Neos
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick12Die Architektur von TYPO3 Neos - BackendDie Architektur von TYPO3 Neos - BackendFluidModern Templating EngineTYPO3CRContent Repository (JCR / Sling)TypoScriptTypoScript 2.0 - next GenerationFormsForm API & Form BuilderExposeExtensible admin interfaceEelEmbedded Expression Language
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick13Die Architektur von TYPO3 Neos - FrontendDie Architektur von TYPO3 Neos - FrontendEmberJSJavaScript web applicationframeworkCreate.jsWeb Editing InterfaceAloha / HalloHTML5 WYSIWYG EditorVIE = viejs.orgSemantic Interaction FrameworkRequireJSJavaScript le and module loader
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.de 14Die Grundlagen vonTYPO3 Flow & Fluid
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick15TYPO3 FLow - Basis Design OOP - Vollstndig Objektorientiert TDD - Test Driven Development DDD - Domain Driven Design (Eric Evans) MVC - Model, View, Controller AOP - Aspect Oriented Programming (Separation ofConcerns, Cross cutting concerns) DI - Dependency Injection ORM - Basiert auf Doctrine 2 (eigene mglich)TYPO3 Flow - Basis DesignAchtung:Buzzword-Bingo :-)
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick16TYPO3 FLow - Paradigmen + Struktur Packages erweitern das Grundsystem Convention over Conguration Verzeichnis- und Dateibenennung gemUbiquitous Language(z.B. Models)TYPO3 Flow - Paradigmen und Struktur
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick17TYPO3 FLow - Beispiel Model Entity oder Value Object (DDD) Reection durchPHPDoc Annotations Validierung am Model Relationen ber Annotations Steuerung des ORM ist ebenfallsber Annotations mglich Getter und Setter fr den ZugriffTYPO3 Flow - Domain Model
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick18TYPO3 FLow - Beispiel Repository Magic-Methoden bereitsout-of-the-box vorhanden- ndAll()- ndBy*propertyName*()- ndOneBy*propertyName*()- ... Query Manager liefert Interfacezu Query zurck Ausgefhrt wird der Query erst beiBenutzung der DatenTYPO3 Flow - Repository
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick19TYPO3 FLow - Beispiel Controller Dependency Injection ber @InjectAnnotation Persistierung ist automatisiert(am Ende der Action) Validierung ist automatisiert(am Anfang der Action) Slim-ControllerTYPO3 Flow - Controller
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick20TYPO3 Fluid - modernes Templating Templating ist Objektorientiert Valider Code View-Logik im View! ViewHelper (Klassen)untersttzen den View ViewHelper: Formulare, Links,Security, Schleifen, If,Formatierung, Widgets, ...,TYPO3 Fluid - modernes Templating
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.de 21Installationvon TYPO3 Neos
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick22Systemvoraussetzungen von TYPO3 Neos Webserver (empfohlen ist Apache 2.x mit aktiviertem mod_rewrite Modul) PHP 5.3.2 - 5.4.x Folgende Funktionen mssen in PHP aktiviert sein: system(), shell_exec(),escapeshellcmd() und escapeshellarg() php.ini: memory_limit = 256M oder hher php.ini: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird) php.ini: Fgen sie die folgende Optionen ans Ende hinzu: detect_unicode = Off php.ini: Zudem muss Magic_Quotes ausgeschaltet werden: magic_quotes_gpc = Off php.ini: Die Kommandozeile von Flow bentigt ferner noch eine Zeitzonen-Einstellung:date.timezone= "Europe/Berlin" MySQL 5.1.50 - 5.x.x (zum Beispiel - grundstzlich kann jede zum Doctrine DBAL kompatibleDatenbank verwendet werden) Zugang zur KonsoleSystemvoraussetzungen von TYPO3 Neos
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick23Installation von TYPO3 Neos - Composer Die Installation erfolgt ber Composer(Dependency Manager fr PHP)cd /your/htdocs/curl -s https://getcomposer.org/installer | phpphp ./composer.phar create-project --no-dev --stability alpha typo3/neos-base-distribution TYPO3-Neos-1.0-alpha3 Dies sorgt fr die Installation von TYPO3 Flow, Neos und denbentigten Modulen (inkl. 3rd Party wie Doctrine 2, Aloha, ...)Installation von TYPO3 Neos
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick24Installation von TYPO3 Neos - Rechte und VirtualHost Anschlieend werden die Rechte in der Konsole gesetzt:sudo ./flow flow:core:setfilepermissions shelluser wwwuser wwwgroup Virtual Host Eintrag (z.B. Apache)NameVirtualHost *:80DocumentRoot "/pfad/zur/installation/TYPO3-Neos-1.0-alpha3/Web/"# Whrend der Entwicklung sollte die# folgende Zeile auskommentiert werdenSetenv FLOW_CONTEXT ProductionServerName neos.demo Eintrag in /etc/hosts127.0.0.1 neos.demoInstallation von TYPO3 Neos
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick25Installation von TYPO3 Neos - Setup Aufruf der Setup-Routine durchhttp://neos.demo/setup/Installation von TYPO3 Neos
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick26Installation von TYPO3 Neos - Setup Datenbak-Setup Voreinstellung ist MySQL nderung des Drivers durch Editierender Datei:Configuration/Settings.yamlInstallation von TYPO3 Neos
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick27Installation von TYPO3 Neos - Setup Anlegen eines Administrators Weitere User knnen spter in derUserverwaltung angelegt werdenInstallation von TYPO3 Neos
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick28Installation von TYPO3 Neos - Setup Import einer Demo-Site Oder Starten mit einer leerenWebsiteInstallation von TYPO3 Neos
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick29Installation von TYPO3 Neos
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.de 30Featuresvon TYPO3 Neos
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick31Features von TYPO3 Neos Maximal erweiterbares Enterprise CMF - Content Management Framework Basis ist das stabile TYPO3 Flow Framework, welches bereits in Version 2.0 vorliegt Einfacher und exibler Content Export/Import Multi-Domain Support Multi-Language Support (Version 1.1) Modernste Technologie und Paradigmen unter der Haube (DDD, AOP, RequireJS,EmberJS, ...) Intuitives Benutzer-Interface Wireframe Mode - Content-Editing ohne Template Webbasiertes Package ManagementFeatures von TYPO3 Neos
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick32Features von TYPO3 Neos In-place Content-Editing Eigene Content-Elemente (inkl. In-place Content-Editing) leicht mglich Integration von TYPO3 Flow Applikationen als Plugins TypoScript2 / EEL / FlowQuery Workspaces Cloud-Ready Custom Single-Sign-On / Custom Authentication Audit Logging Soap/REST/JSON out-of-the-box TYPO3 Surf fr das automatische Deployment (Integration mit CI Server wieJenkins)Features von TYPO3 Neos
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick33Features von TYPO3 Neos - Screenshots
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick34Features von TYPO3 Neos - Screenshots
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick35Features von TYPO3 Neos - Screenshots
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.de 36Internas vonTYPO3 Neos
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick37Node Structure TYPO3CR Node Node Name(dient der Identikation) Node Type(z.B. Document, Folder, AbstractNode, Content,ContentCollection...) Properties(Abhngig vom NodeType) Einfach erweiterbar und leichtkongurierbarPageContent SectionContent ElementSite rootTYPO3 Neos Internas: Node StructureDomain Model
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick38Node Zugriff Der Zugriff auf Nodes erfolgt durch NodePathsTYPO3 Neos Internas: Node Zugriff/sites/typo3org/home/subpage/main/text1contentsectionpagessite root
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick39TypoScript TypoScript ist eine hierarchische , objektorientierte und Prototypen-basierte Verarbeitungssprache Wird von Neos verwendet, um den Content exibel zu rendern Objekte sind z.B. Array, Collection, Case, Menu, Page, Template, Plugin,Value, ... Objekte haben Eigenschaften, die das Objekt kongurieren TypoScript hat Zugriff auf den jeweiligen Context (z.B. Seitenbaum imObjekt menu oder Seiteneigenschaften im Objekt page) Es gibt Prozessoren die die Eigenschaftswerte verndern knnen(hnlich stdWrap-Funktionen in TYPO3 CMS)TYPO3 Neos Internas: TypoScript
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick40TypoScript: Fluid-TemplateDefault Template
    TYPO3 Neos Internas: TypoScript - Fluid Template
  • (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer berblick | Patrick Lobacher | 24.06.2013 | www.typovision.deDWX13 / TYPO3 Neos - ein technischer berblick41TypoScript: Beispiel - Teil 1include: TypoScripts/Library/ContentElements.ts2namespace: TypoScript=TYPO3.TypoScriptpage = Pagepage.headerData {stylesheets = Templatestylesheets {templatePath = resource://TYPO3.NeosDemoTypo3Org/Private/Templates/Page/Default.htmlsectionName = stylesheets}javascripts = Templatejavascripts {templatePath = resource://TYPO3.NeosDemoTypo3Org/Private/Templates/Page/Default.htmlsectionName = javascripts}title = Templatetitle.templatePath = resource://TYPO3.NeosDemoTypo3Org/Private/Templates/TypoScriptObjects/TitleMenu.htmltitle.items = ${q(node).add(q(node).parents())}title

Recommended