SlideShare una empresa de Scribd logo
1 de 54
Descargar para leer sin conexión
TYPO3 Neos
Ein technischer Überblick
Patrick Lobacher
Geschäftsführer
24.06.2013
(c) 2013 - typovision GmbH | Thema der Präsentation | Autor | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
2
Über den Referenten
Patrick Lobacher
Geschäftsführer typovision GmbH
Veröffentlichungen:
• 42 Jahre, glücklich verheiratet, wohnhaft in München
• Autor von 9 Fachbüchern und > 40 Fachartikeln zum Thema TYPO3 und
Webentwicklung
• Selbständig im Bereich Webentwicklung seit 1994
• Certified TYPO3 Integrator seit 2009
• Mitglied bis 2012 in den TYPO3 Core-Teams:
Certification, 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 für führende Schulungsinstitute und die MVHS
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
3
Über die typovision GmbH
• Münchner Fullservice-Agentur für digitale Kommunikation
• 34 festangestellte Mitarbeiter (+ 10 aus festem Freelancer Pool)
• Geschäftsführer: Sebastian Böttger, Patrick Lobacher
• Hochspezialisiert auf TYPO3 seit 11 Jahren und Solr
• Agenturpräsentation unter: www.typovision.de/dieagentur
• Über 400 TYPO3-Projekte jeglicher Größenordnung - für Kunden wie:
TYPO3
PLATINUM
MEMBER
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de 4
Was ist
TYPO3 Neos?
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
5
TYPO3 Neos - the next generation CMS
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
6
TYPO3 Neos - the next generation CMS
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
7
Die Geschichte von TYPO3 Neos beginnt bei TYPO3 CMS
• TYPO3 CMS ist ein „Enterprise Open Source
Content Management Framework“
• TYPO3 CMS existiert seit 1998 / Erfunden vom Dänen Kaspar Skårhøj
• ca. 500.000 Installationen weltweit / > 5 Mio Downloads
• Einsatz in DE z.B. bei > 50% aller DAX 500 Unternehmen, > 50% aller
Bundesliga-Vereinen, Discounter, Autovermieter, Öffentliche Träger
• > 6.000 Extensions
• > 100.000 Entwickler weltweit
• > 1500 Agenturen weltweit
• Finanziert und unterstützt von der TYPO3 Association
Geschichte von TYPO3 Neos beginnt bei TYPO3 CMS
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
8
Die Geschichte von TYPO3 Neos: TYPO3 Phoenix
• Auf den ersten T3DD (TYPO Developer Days) im Jahr 2006 wurde der
Entschluss gefasst, TYPO3 von Grund auf neu zu schreiben
• Codename: TYPO3 Phoenix (bzw. TYPO3 5.0)
• Das Projekt wurde von dem Chefarchitekten Robert Lemke begonnen
und nach wenigen Monaten von Karsten Dambekalns flankiert
• Mit dem „Berlin Manifesto“ wurde 2008 der Rahmen und die
Abgrenzung zum TYPO3 CMS festgelegt
http://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.de
DWX13 / TYPO3 Neos - ein technischer Überblick
9
Die Geschichte von TYPO3 Neos: TYPO3 Flow und Neos
• Viele Grundfunktionen eines CMS sind nicht CMS-spezifisch (Session-
Handling, Datenbank-Handling, Templating, ...) => daher Abspaltung
• Durch die Einführung von Extbase im Jahr 2009 wurde es möglich,
bereits in TYPO3 CMS Extensions zu schreiben, die in TYPO3 Flow mit
geringen Änderungen lauffähig sind
• Am 20. Oktober 2011 wurde das Application Framework TYPO3 Flow
(ehemals FLOW3) als Final veröffentlicht
• TYPO3 Neos ist eine Applikation die auf TYPO3 Flow basiert
• TYPO3 Neos Alpha 3 im Februar 2013
• Erste finale Version im Oktober 2013
Geschichte von TYPO3 Neos: TYPO3 Flow und Ne0s
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
10
Die TYPO3 Welt - seit Oktober 2012
• TYPO3 CMS
• TYPO3 Flow
• TYPO3 Neos
• TYPO3 Surf
Geschichte von TYPO3 Neos: Die TYPO3 Welt
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de 11
Die Architektur
von TYPO3 Neos
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
12
Die Architektur von TYPO3 Neos - Backend
Die Architektur von TYPO3 Neos - Backend
Fluid
Modern Templating Engine
TYPO3CR
Content Repository (JCR / Sling)
TypoScript
TypoScript 2.0 - next Generation
Forms
Form API & Form Builder
Expose
Extensible admin interface
Eel
Embedded Expression Language
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
13
Die Architektur von TYPO3 Neos - Frontend
Die Architektur von TYPO3 Neos - Frontend
EmberJS
JavaScript web application
framework
Create.js
Web Editing Interface
Aloha / Hallo
HTML5 WYSIWYG Editor
VIE = viejs.org
Semantic Interaction Framework
RequireJS
JavaScript file and module loader
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de 14
Die Grundlagen von
TYPO3 Flow & Fluid
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
15
TYPO3 FLow - Basis Design
• OOP - Vollständig Objektorientiert
• TDD - Test Driven Development
• DDD - Domain Driven Design (Eric Evans)
• MVC - Model, View, Controller
• AOP - Aspect Oriented Programming (Separation of
Concerns, Cross cutting concerns)
• DI - Dependency Injection
• ORM - Basiert auf Doctrine 2 (eigene möglich)
TYPO3 Flow - Basis Design
Achtung:
Buzzword-
Bingo :-)
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
16
TYPO3 FLow - Paradigmen + Struktur
• Packages erweitern das Grundsystem
• Convention over Configuration
• Verzeichnis- und Dateibenennung gemäß
Ubiquitous 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.de
DWX13 / TYPO3 Neos - ein technischer Überblick
17
TYPO3 FLow - Beispiel Model
• Entity oder Value Object (DDD)
• Reflection durch
„PHPDoc Annotations“
• Validierung am Model
• Relationen über Annotations
• Steuerung des ORM ist ebenfalls
über Annotations möglich
• Getter und Setter für den Zugriff
TYPO3 Flow - Domain Model
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
18
TYPO3 FLow - Beispiel Repository
• Magic-Methoden bereits
out-of-the-box vorhanden
- findAll()
- findBy*propertyName*()
- findOneBy*propertyName*()
- ...
• Query Manager liefert Interface
zu Query zurück
• Ausgeführt wird der Query erst bei
„Benutzung“ der Daten
TYPO3 Flow - Repository
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
19
TYPO3 FLow - Beispiel Controller
• Dependency Injection über @Inject
Annotation
• Persistierung ist automatisiert
(am Ende der Action)
• Validierung ist automatisiert
(am Anfang der Action)
• Slim-Controller
TYPO3 Flow - Controller
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
20
TYPO3 Fluid - modernes Templating
• Templating ist Objektorientiert
• Valider Code
• View-Logik im View!
• ViewHelper (Klassen)
unterstützen 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 21
Installation
von TYPO3 Neos
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
22
Systemvoraussetzungen von TYPO3 Neos
• Webserver (empfohlen ist Apache 2.x mit aktiviertem mod_rewrite Modul)
• PHP 5.3.2 - 5.4.x
• Folgende Funktionen müssen in PHP aktiviert sein: system(), shell_exec(),
escapeshellcmd() und escapeshellarg()
• php.ini: memory_limit = 256M oder höher
• php.ini: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird)
• php.ini: Fügen 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 benötigt ferner noch eine Zeitzonen-Einstellung:
date.timezone= "Europe/Berlin"
• MySQL 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible
Datenbank verwendet werden)
• Zugang zur Konsole
Systemvoraussetzungen von TYPO3 Neos
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
23
Installation von TYPO3 Neos - Composer
• Die Installation erfolgt über „Composer“
(Dependency Manager für PHP)
cd /your/htdocs/
curl -s https://getcomposer.org/installer | php
php ./composer.phar create-project --no-dev --
stability alpha typo3/neos-base-distribution TYPO3-
Neos-1.0-alpha3
• Dies sorgt für die Installation von TYPO3 Flow, Neos und den
benötigten 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.de
DWX13 / TYPO3 Neos - ein technischer Überblick
24
Installation von TYPO3 Neos - Rechte und VirtualHost
• Anschließend werden die Rechte in der Konsole gesetzt:
sudo ./flow flow:core:setfilepermissions shelluser wwwuser wwwgroup
• Virtual Host Eintrag (z.B. Apache)
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "/pfad/zur/installation/TYPO3-Neos-1.0-alpha3/Web/"
# Während der Entwicklung sollte die
# folgende Zeile auskommentiert werden
Setenv FLOW_CONTEXT Production
ServerName neos.demo
</VirtualHost>
• Eintrag in /etc/hosts
127.0.0.1 neos.demo
Installation von TYPO3 Neos
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
25
Installation von TYPO3 Neos - Setup
• Aufruf der Setup-Routine durch
http://neos.demo/setup/
Installation von TYPO3 Neos
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
26
Installation von TYPO3 Neos - Setup
• Datenbak-Setup
• Voreinstellung ist MySQL
• Änderung des Drivers durch Editieren
der Datei:
Configuration/Settings.yaml
Installation von TYPO3 Neos
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
27
Installation von TYPO3 Neos - Setup
• Anlegen eines Administrators
• Weitere User können später in der
Userverwaltung angelegt werden
Installation von TYPO3 Neos
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
28
Installation von TYPO3 Neos - Setup
• Import einer Demo-Site
• Oder Starten mit einer leeren
Website
Installation von TYPO3 Neos
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
29
Installation von TYPO3 Neos
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de 30
Features
von TYPO3 Neos
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
31
Features 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 flexibler 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 Management
Features von TYPO3 Neos
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
32
Features von TYPO3 Neos
• In-place Content-Editing
• Eigene Content-Elemente (inkl. In-place Content-Editing) leicht möglich
• Integration von TYPO3 Flow Applikationen als Plugins
• TypoScript2 / EEL / FlowQuery
• Workspaces
• Cloud-Ready
• Custom Single-Sign-On / Custom Authentification
• Audit Logging
• Soap/REST/JSON out-of-the-box
• TYPO3 Surf für das automatische Deployment (Integration mit CI Server wie
Jenkins)
Features von TYPO3 Neos
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
33
Features von TYPO3 Neos - Screenshots
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
34
Features von TYPO3 Neos - Screenshots
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
35
Features von TYPO3 Neos - Screenshots
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de 36
Internas von
TYPO3 Neos
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
37
Node Structure
• TYPO3CR Node
• Node Name
(dient der Identifikation)
• Node Type
(z.B. Document, Folder, AbstractNode, Content,
ContentCollection...)
• Properties
(Abhängig vom NodeType)
• Einfach erweiterbar und leicht
konfigurierbar
Page
Content Section
Content Element
Site root
TYPO3 Neos Internas: Node Structure
Domain Model
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
38
Node Zugriff
• Der Zugriff auf Nodes erfolgt durch „NodePaths“
TYPO3 Neos Internas: Node Zugriff
/sites/typo3org/home/subpage/main/text1
content
section
pages
site root
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
39
TypoScript
• TypoScript ist eine hierarchische , objektorientierte und Prototypen-
basierte Verarbeitungssprache
• Wird von Neos verwendet, um den Content flexibel zu rendern
• Objekte sind z.B. Array, Collection, Case, Menu, Page, Template, Plugin,
Value, ...
• Objekte haben Eigenschaften, die das Objekt „konfigurieren“
• TypoScript hat Zugriff auf den jeweiligen „Context“ (z.B. Seitenbaum im
Objekt „menu“ oder Seiteneigenschaften im Objekt „page“)
• Es gibt „Prozessoren“ die die Eigenschaftswerte verändern können
(ä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.de
DWX13 / TYPO3 Neos - ein technischer Überblick
40
TypoScript: Fluid-Template
<!DOCTYPE html>
<html lang="en">
<head>
<!-- {namespace typo3=TYPO3NeosViewHelpers}{namespace typoScript=TYPO3TypoScriptViewHelpers
-->
<meta charset="utf-8">
<f:base/>
<meta name="generator" content="TYPO3 Flow" />
<title>Default Template</title>
<f:section name="stylesheets">
<link rel="stylesheet" href="../../../Public/Stylesheets/reset.css" media="all" />
</f:section>
<f:section name="javascripts">
<script src="../../../Public/JavaScript/main.js"></script>
</f:section>
</head>
<body class="js-off page-landing" id="typo3org">
<f:section name="body">
<div class="p t3-reloadable-content" id="page">
<!-- ### content ### -->
<div class="c cl" id="content">
<!-- ### aside ### -->
<div class="a" id="aside">
<typoScript:renderTypoScript path="parts/subMenu" />
TYPO3 Neos Internas: TypoScript - Fluid Template
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
41
TypoScript: Beispiel - Teil 1
include: TypoScripts/Library/ContentElements.ts2
namespace: TypoScript=TYPO3.TypoScript
page = Page
page.headerData {
stylesheets = Template
stylesheets {
templatePath = 'resource://TYPO3.NeosDemoTypo3Org/Private/Templates/Page/Default.html'
sectionName = 'stylesheets'
}
javascripts = Template
javascripts {
templatePath = 'resource://TYPO3.NeosDemoTypo3Org/Private/Templates/Page/Default.html'
sectionName = 'javascripts'
}
title = Template
title.templatePath = 'resource://TYPO3.NeosDemoTypo3Org/Private/Templates/TypoScriptObjects/
TitleMenu.html'
title.items = ${q(node).add(q(node).parents())}
title << 1.wrap(prefix:'<title>', suffix: '</title>')
}
TYPO3 Neos Internas: TypoScript - Beispiel - Teil 1
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
42
TypoScript: Beispiel - Teil 2
page.body {
templatePath = 'resource://TYPO3.NeosDemoTypo3Org/Private/Templates/Page/Default.html'
sectionName = 'body'
parts {
mainMenu = Menu
mainMenu {
entryLevel = 2
templatePath = 'resource://TYPO3.NeosDemoTypo3Org/Private/Templates/TypoScriptObjects/
MainMenu.html'
maximumLevels = 2
}
subMenu = Menu
subMenu {
entryLevel = 3
templatePath = 'resource://TYPO3.NeosDemoTypo3Org/Private/Templates/TypoScriptObjects/
SubMenu.html'
maximumLevels = 3
}
breadcrumb = Template
breadcrumb {
templatePath = 'resource://TYPO3.NeosDemoTypo3Org/Private/Templates/TypoScriptObjects/
BreadcrumbMenu.html'
items = ${q(node).add(q(node).parents())}
TYPO3 Neos Internas: TypoScript - Beispiel - Teil 2
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
43
TypoScript: Prozessoren
• Beispiel:
myObject = MyObject {
value = 'Rocky'
value << 1.wrap(prefix: 'Der ', suffix: ' ist der Beste!')
}
# Resultat ist 'Der Rocky ist der Beste!</h1>'
• Weitere Prozessoren
• crop
• date
• if, ifEmpty, ifBlank
• multiply
• override
• replace
• round
• shiftCase
• substring
• toInteger
• trim
• wrap
TYPO3 Neos Internas: TypoScript - Prozessoren
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
44
Eel - Embedded Expression Language
• Während TypoScript Zuweisungen und Prozessoren beinhaltet, kann man mit Eel Ausdrücke
der Art myObject.foo = ${q(node).property('bar')} formulieren
• Die Embedded Expression Language (Eel) ist ein Baustein um Domain Specific Languages
(DSL) zu erstellen.
• Eel stellt eine reichhaltige Syntax zur Verfügung um beliebige Ausdrücke zu erstellen, damit
sich der Autor der DSL auf die Semantik konzentrieren kann
${foo.bar} // Traversal
${foo.bar()} // Method call
${foo.bar().baz()} // Chained method call
${foo.bar("arg1", true, 42)} // Method call with arguments
${12 + 18.5} // Calculations are possible
${foo == bar} // ... and comparisons
${foo.bar(12+18.5, foo == bar)} // and of course also use it inside arguments
${[foo, bar]} // Array Literal
${{foo: bar, baz: test}} // Object Literal
TYPO3 Neos Internas: Eel - Embedded Expression Language
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
45
FlowQuery
• FlowQuery stellt eine Art jQuery für TYPO3 Flow dar
• FlowQuery stellt damit einen Weg dar, um Content (der ja eine TYPO3CR Node in Neos ist) im
Eel zu verarbeiten
• In FlowQuery gibt es Operationen:
• property
Zugriff auf alle Eigenschaften einer Node
• filter
Filterausdrücke in „Fizzle“
• children
Gibt alle Kinder der TYPO3CR Node zurück
• parents
Gibt alle Eltern der TYPO3CR Node zurück
• Weitere Operationen: add, count, first, get, is, last, ...
TYPO3 Neos Internas: FlowQuery
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
46
FlowQuery - Beispiele
• Anzahl der Kommentare = Anzahl der Kinder der aktuellen Node mit dem Namen
„comments“, deren Eigenschaft „spam“ auf dem Wert „false“ steht.
numberOfComments = ${q(node).children('comments').children("[spam =
false]").count()}
• Breadcrumb-Menü = Aktuelle Seite + alle Elternseiten
breadcrumb = Template
breadcrumb {
templatePath = 'resource://TYPO3.NeosDemoTypo3Org/Private/Templates/
TypoScriptObjects/BreadcrumbMenu.html'
items = ${q(node).add(q(node).parents())}
}
{namespace neos=TYPO3NeosViewHelpers}
<f:if condition="{items}">
<ul class="breadcrumbs">
<f:for each="{items}" as="item" reverse="TRUE">
<f:if condition="{item.hiddenInIndex} == 0">
<li>
<neos:link.node node="{item}">{item.label}</neos:link.node>
</li>
</f:if>
</f:for>
TYPO3 Neos Internas: FlowQuery - Beispiele
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de 47
Mitarbeit
bei TYPO3 Neos
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
48
We need you!!
• Komme ins TYPO3 Neos und Flow Team!
• Alles wird gebraucht: Programmier,
Architekten, UX-Experten, Designer,
Doku, Tester, JS-Spezialisten, ...
• Meldet Euch bei robert[AT]typo3.org
Mitarbeit bei TYPO3 Neos: We need you!!
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
49
Kunden gesucht!
• Direkte Mitarbeit
• Gebe frühes Feedback zu neuen Funktionen, User Interfaces, ...
• Direkter Kontakt und Diskussion mit den Entwickler
• Sofern sinnvoll, wird das Feedback unmittelbar umgesetzt
• Vorteile
• Gestalte das WCMS der Zukunft direkt mit
• Nimm Einfluss auf die Entwicklung
• Zugang zu Entwicklern, Architekten und UX‘lern
• Networking mit anderen Neos-Kunden
• Kontakt
• rasmus[at]typo3.org
Mitarbeit bei TYPO3 Neos: Kunden gesucht
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de 50
Quellen und
Informationen
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
51
Quellen und Informationen
• TYPO3 Neos Website
http://neos.typo3.org/
• TYPO3 Neos Download
http://neos.typo3.org/download.html
• TYPO3 Flow Website
http://flow.typo3.org/
• TYPO3 Neos Dokumentation
http://docs.typo3.org/neos/TYPO3NeosDocumentation/Index.html
• TYPO3 Flow Dokumentation
http://flow.typo3.org/documentation.html
Quellen und Informationen
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de
DWX13 / TYPO3 Neos - ein technischer Überblick
52
Quellen und Informationen
• TYPO3 Neos Projekt bei forge
http://forge.typo3.org/projects/typo3neos
• TYPO3 Flow Projekt bei forge
http://forge.typo3.org/projects/flow3
• Cheatsheet für Fluid (und demnächst für Flow)
http://www.typovision.de/de/kompetenzen/typo3/
Quellen und Informationen
(c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de 53
Fragen?
Oder komplett verwirrt?
Präsentation runterladen:
http://www.typovision.de/DWX/
Vielen Dank für Eure
Aufmerksamkeit

Más contenido relacionado

Similar a TYPO3 Neos - ein technischer Überblick - DWX 2013

Domain-driven design - eine Einführung
Domain-driven design - eine EinführungDomain-driven design - eine Einführung
Domain-driven design - eine Einführungdie.agilen GmbH
 
TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)
TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)
TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)die.agilen GmbH
 
Typo3 cms-6-0-die-neuerungen
Typo3 cms-6-0-die-neuerungenTypo3 cms-6-0-die-neuerungen
Typo3 cms-6-0-die-neuerungenMokhtar Slama
 
Testing TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with BehatTesting TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with BehatMarkus Goldbeck
 
FLOW3 Einführung auf dem TYPO3Camp Berlin 2012
FLOW3 Einführung auf dem TYPO3Camp Berlin 2012FLOW3 Einführung auf dem TYPO3Camp Berlin 2012
FLOW3 Einführung auf dem TYPO3Camp Berlin 2012Christof Rodejohann
 
TYPO3 CMS 6.1 - Die Neuerungen - typovision GmbH
TYPO3 CMS 6.1 - Die Neuerungen - typovision GmbHTYPO3 CMS 6.1 - Die Neuerungen - typovision GmbH
TYPO3 CMS 6.1 - Die Neuerungen - typovision GmbHdie.agilen GmbH
 
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty Rosenheim
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty RosenheimVorstellung TYPO3 Neos - Release 1.0 - Releaseparty Rosenheim
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty RosenheimAlex Kellner
 
Open Source Enterprise Content Management mit TYPO3
Open Source Enterprise Content Management mit TYPO3Open Source Enterprise Content Management mit TYPO3
Open Source Enterprise Content Management mit TYPO3incore IT Solutions
 
Workshop Extension-Entwicklung mit Extbase und Fluid
Workshop Extension-Entwicklung mit Extbase und FluidWorkshop Extension-Entwicklung mit Extbase und Fluid
Workshop Extension-Entwicklung mit Extbase und FluidSebastian Kurfürst
 
Neos CMS - das Kompendium (Version 2.0.0)
Neos CMS - das Kompendium (Version 2.0.0)Neos CMS - das Kompendium (Version 2.0.0)
Neos CMS - das Kompendium (Version 2.0.0)die.agilen GmbH
 
DDD - Domain Driven Design - TYPO3camp Stuttgart 2011
DDD - Domain Driven Design - TYPO3camp Stuttgart 2011DDD - Domain Driven Design - TYPO3camp Stuttgart 2011
DDD - Domain Driven Design - TYPO3camp Stuttgart 2011die.agilen GmbH
 
Webapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhone
Webapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhoneWebapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhone
Webapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhonedie.agilen GmbH
 
Neuigkeiten aus dem TYPO3-Projekt
Neuigkeiten aus dem TYPO3-ProjektNeuigkeiten aus dem TYPO3-Projekt
Neuigkeiten aus dem TYPO3-ProjektSteffen Gebert
 
Extreme Fluid - Status Quo der modernen Templating Engine
Extreme Fluid - Status Quo der modernen Templating EngineExtreme Fluid - Status Quo der modernen Templating Engine
Extreme Fluid - Status Quo der modernen Templating Enginedie.agilen GmbH
 
Infrastruktur agil bauen - der DBA im SAFe-Umfeld
Infrastruktur agil bauen - der DBA im SAFe-UmfeldInfrastruktur agil bauen - der DBA im SAFe-Umfeld
Infrastruktur agil bauen - der DBA im SAFe-UmfeldDaniel Steiger
 
TYPO3camp Munich 2018 - Keynote - "Wo woll'n mer denn hin?"
TYPO3camp Munich 2018 - Keynote - "Wo woll'n mer denn hin?"TYPO3camp Munich 2018 - Keynote - "Wo woll'n mer denn hin?"
TYPO3camp Munich 2018 - Keynote - "Wo woll'n mer denn hin?"Oliver Hader
 
TYPO3 CMS 6.2 LTS - Die Neuerungen
TYPO3 CMS 6.2 LTS - Die NeuerungenTYPO3 CMS 6.2 LTS - Die Neuerungen
TYPO3 CMS 6.2 LTS - Die Neuerungendie.agilen GmbH
 
Inflectra, DATIS und PTA: Leistungsportfolio
Inflectra, DATIS und PTA: LeistungsportfolioInflectra, DATIS und PTA: Leistungsportfolio
Inflectra, DATIS und PTA: LeistungsportfolioInflectra
 

Similar a TYPO3 Neos - ein technischer Überblick - DWX 2013 (20)

Domain-driven design - eine Einführung
Domain-driven design - eine EinführungDomain-driven design - eine Einführung
Domain-driven design - eine Einführung
 
TYPO3 Neos in der Praxis
TYPO3 Neos in der PraxisTYPO3 Neos in der Praxis
TYPO3 Neos in der Praxis
 
TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)
TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)
TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)
 
Typo3 cms-6-0-die-neuerungen
Typo3 cms-6-0-die-neuerungenTypo3 cms-6-0-die-neuerungen
Typo3 cms-6-0-die-neuerungen
 
Testing TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with BehatTesting TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with Behat
 
FLOW3 Einführung auf dem TYPO3Camp Berlin 2012
FLOW3 Einführung auf dem TYPO3Camp Berlin 2012FLOW3 Einführung auf dem TYPO3Camp Berlin 2012
FLOW3 Einführung auf dem TYPO3Camp Berlin 2012
 
TYPO3 CMS 6.1 - Die Neuerungen - typovision GmbH
TYPO3 CMS 6.1 - Die Neuerungen - typovision GmbHTYPO3 CMS 6.1 - Die Neuerungen - typovision GmbH
TYPO3 CMS 6.1 - Die Neuerungen - typovision GmbH
 
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty Rosenheim
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty RosenheimVorstellung TYPO3 Neos - Release 1.0 - Releaseparty Rosenheim
Vorstellung TYPO3 Neos - Release 1.0 - Releaseparty Rosenheim
 
Open Source Enterprise Content Management mit TYPO3
Open Source Enterprise Content Management mit TYPO3Open Source Enterprise Content Management mit TYPO3
Open Source Enterprise Content Management mit TYPO3
 
Workshop Extension-Entwicklung mit Extbase und Fluid
Workshop Extension-Entwicklung mit Extbase und FluidWorkshop Extension-Entwicklung mit Extbase und Fluid
Workshop Extension-Entwicklung mit Extbase und Fluid
 
Neos CMS - das Kompendium (Version 2.0.0)
Neos CMS - das Kompendium (Version 2.0.0)Neos CMS - das Kompendium (Version 2.0.0)
Neos CMS - das Kompendium (Version 2.0.0)
 
DDD - Domain Driven Design - TYPO3camp Stuttgart 2011
DDD - Domain Driven Design - TYPO3camp Stuttgart 2011DDD - Domain Driven Design - TYPO3camp Stuttgart 2011
DDD - Domain Driven Design - TYPO3camp Stuttgart 2011
 
Webapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhone
Webapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhoneWebapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhone
Webapplikationen der Zukunft - HTML5 und CSS3 auf dem iPhone
 
Neuigkeiten aus dem TYPO3-Projekt
Neuigkeiten aus dem TYPO3-ProjektNeuigkeiten aus dem TYPO3-Projekt
Neuigkeiten aus dem TYPO3-Projekt
 
Linuxtag holgerkoch openqrm_2013
Linuxtag holgerkoch openqrm_2013Linuxtag holgerkoch openqrm_2013
Linuxtag holgerkoch openqrm_2013
 
Extreme Fluid - Status Quo der modernen Templating Engine
Extreme Fluid - Status Quo der modernen Templating EngineExtreme Fluid - Status Quo der modernen Templating Engine
Extreme Fluid - Status Quo der modernen Templating Engine
 
Infrastruktur agil bauen - der DBA im SAFe-Umfeld
Infrastruktur agil bauen - der DBA im SAFe-UmfeldInfrastruktur agil bauen - der DBA im SAFe-Umfeld
Infrastruktur agil bauen - der DBA im SAFe-Umfeld
 
TYPO3camp Munich 2018 - Keynote - "Wo woll'n mer denn hin?"
TYPO3camp Munich 2018 - Keynote - "Wo woll'n mer denn hin?"TYPO3camp Munich 2018 - Keynote - "Wo woll'n mer denn hin?"
TYPO3camp Munich 2018 - Keynote - "Wo woll'n mer denn hin?"
 
TYPO3 CMS 6.2 LTS - Die Neuerungen
TYPO3 CMS 6.2 LTS - Die NeuerungenTYPO3 CMS 6.2 LTS - Die Neuerungen
TYPO3 CMS 6.2 LTS - Die Neuerungen
 
Inflectra, DATIS und PTA: Leistungsportfolio
Inflectra, DATIS und PTA: LeistungsportfolioInflectra, DATIS und PTA: Leistungsportfolio
Inflectra, DATIS und PTA: Leistungsportfolio
 

Más de die.agilen GmbH

LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)
LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)
LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)die.agilen GmbH
 
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...die.agilen GmbH
 
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...die.agilen GmbH
 
Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017
Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017
Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017die.agilen GmbH
 
Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...
Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...
Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...die.agilen GmbH
 
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...die.agilen GmbH
 
Roman Rackwitz - Gamification und OKR
Roman Rackwitz - Gamification und OKRRoman Rackwitz - Gamification und OKR
Roman Rackwitz - Gamification und OKRdie.agilen GmbH
 
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...die.agilen GmbH
 
TYPO3 CMS 8.4 - Die Neuerungen - pluswerk
TYPO3 CMS 8.4 - Die Neuerungen - pluswerkTYPO3 CMS 8.4 - Die Neuerungen - pluswerk
TYPO3 CMS 8.4 - Die Neuerungen - pluswerkdie.agilen GmbH
 
Agile Mitarbeiterführung mit OKRs / Manage Agile 2017 / Berlin
Agile Mitarbeiterführung mit OKRs / Manage Agile 2017 / BerlinAgile Mitarbeiterführung mit OKRs / Manage Agile 2017 / Berlin
Agile Mitarbeiterführung mit OKRs / Manage Agile 2017 / Berlindie.agilen GmbH
 
The agile enterprise - Digital Transformation as a practical application
The agile enterprise - Digital Transformation as a practical applicationThe agile enterprise - Digital Transformation as a practical application
The agile enterprise - Digital Transformation as a practical applicationdie.agilen GmbH
 
How leadership of employees via Objectives and Key Results (OKR) speeds up th...
How leadership of employees via Objectives and Key Results (OKR) speeds up th...How leadership of employees via Objectives and Key Results (OKR) speeds up th...
How leadership of employees via Objectives and Key Results (OKR) speeds up th...die.agilen GmbH
 
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...die.agilen GmbH
 
DWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - Pluswerk
DWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - PluswerkDWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - Pluswerk
DWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - Pluswerkdie.agilen GmbH
 
Innovationsmotoren für IoT - DWX 2016 - Pluswerk
Innovationsmotoren für IoT - DWX 2016 - PluswerkInnovationsmotoren für IoT - DWX 2016 - Pluswerk
Innovationsmotoren für IoT - DWX 2016 - Pluswerkdie.agilen GmbH
 
OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...
OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...
OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...die.agilen GmbH
 
30 Jahre Scrum - alles agil, alles gut? Auf dem Weg zum digitalen Unternehme...
30 Jahre Scrum - alles agil, alles gut?  Auf dem Weg zum digitalen Unternehme...30 Jahre Scrum - alles agil, alles gut?  Auf dem Weg zum digitalen Unternehme...
30 Jahre Scrum - alles agil, alles gut? Auf dem Weg zum digitalen Unternehme...die.agilen GmbH
 
Innovationsmotor Design Thinking - pluswerk
Innovationsmotor Design Thinking - pluswerkInnovationsmotor Design Thinking - pluswerk
Innovationsmotor Design Thinking - pluswerkdie.agilen GmbH
 
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...die.agilen GmbH
 
TYPO3 CMS 8.1 - Die Neuerungen - pluswerk
TYPO3 CMS 8.1 - Die Neuerungen - pluswerkTYPO3 CMS 8.1 - Die Neuerungen - pluswerk
TYPO3 CMS 8.1 - Die Neuerungen - pluswerkdie.agilen GmbH
 

Más de die.agilen GmbH (20)

LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)
LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)
LEGO SERIOUS PLAY für Manager (Management 3.0 Gathering 2018)
 
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
 
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
Agiles Zielmanagement und modernes Leadership mit Objectives und Key Results ...
 
Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017
Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017
Innovationsmotoren Design Thinking, Lean Startup, Sprint & Co. - IT Tage 2017
 
Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...
Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...
Agile Leadership and Goal Management with Objectives & Key Results (OKRs) | A...
 
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...
Die Entwicklung von Objectives und Key Results in Europa | 16.08.2017 | OKR F...
 
Roman Rackwitz - Gamification und OKR
Roman Rackwitz - Gamification und OKRRoman Rackwitz - Gamification und OKR
Roman Rackwitz - Gamification und OKR
 
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...
Die Entwicklung von Objectives und Key Results (OKR) in Europa | OKR Meetup M...
 
TYPO3 CMS 8.4 - Die Neuerungen - pluswerk
TYPO3 CMS 8.4 - Die Neuerungen - pluswerkTYPO3 CMS 8.4 - Die Neuerungen - pluswerk
TYPO3 CMS 8.4 - Die Neuerungen - pluswerk
 
Agile Mitarbeiterführung mit OKRs / Manage Agile 2017 / Berlin
Agile Mitarbeiterführung mit OKRs / Manage Agile 2017 / BerlinAgile Mitarbeiterführung mit OKRs / Manage Agile 2017 / Berlin
Agile Mitarbeiterführung mit OKRs / Manage Agile 2017 / Berlin
 
The agile enterprise - Digital Transformation as a practical application
The agile enterprise - Digital Transformation as a practical applicationThe agile enterprise - Digital Transformation as a practical application
The agile enterprise - Digital Transformation as a practical application
 
How leadership of employees via Objectives and Key Results (OKR) speeds up th...
How leadership of employees via Objectives and Key Results (OKR) speeds up th...How leadership of employees via Objectives and Key Results (OKR) speeds up th...
How leadership of employees via Objectives and Key Results (OKR) speeds up th...
 
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...
4DX - Die 4 Disziplinen der Umsetzung: Strategien sicher umsetzen und Ziele e...
 
DWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - Pluswerk
DWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - PluswerkDWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - Pluswerk
DWX 2016 - Atomic Design – Frontend und Design im RWD-Zeitalter - Pluswerk
 
Innovationsmotoren für IoT - DWX 2016 - Pluswerk
Innovationsmotoren für IoT - DWX 2016 - PluswerkInnovationsmotoren für IoT - DWX 2016 - Pluswerk
Innovationsmotoren für IoT - DWX 2016 - Pluswerk
 
OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...
OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...
OKR und BVB - Warum OKR der bessere Cristiano Ronaldo ist oder warum Scrum ni...
 
30 Jahre Scrum - alles agil, alles gut? Auf dem Weg zum digitalen Unternehme...
30 Jahre Scrum - alles agil, alles gut?  Auf dem Weg zum digitalen Unternehme...30 Jahre Scrum - alles agil, alles gut?  Auf dem Weg zum digitalen Unternehme...
30 Jahre Scrum - alles agil, alles gut? Auf dem Weg zum digitalen Unternehme...
 
Innovationsmotor Design Thinking - pluswerk
Innovationsmotor Design Thinking - pluswerkInnovationsmotor Design Thinking - pluswerk
Innovationsmotor Design Thinking - pluswerk
 
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - webina...
 
TYPO3 CMS 8.1 - Die Neuerungen - pluswerk
TYPO3 CMS 8.1 - Die Neuerungen - pluswerkTYPO3 CMS 8.1 - Die Neuerungen - pluswerk
TYPO3 CMS 8.1 - Die Neuerungen - pluswerk
 

TYPO3 Neos - ein technischer Überblick - DWX 2013

  • 1. TYPO3 Neos Ein technischer Überblick Patrick Lobacher Geschäftsführer 24.06.2013
  • 2. (c) 2013 - typovision GmbH | Thema der Präsentation | Autor | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 2 Über den Referenten Patrick Lobacher Geschäftsführer typovision GmbH Veröffentlichungen: • 42 Jahre, glücklich verheiratet, wohnhaft in München • Autor von 9 Fachbüchern und > 40 Fachartikeln zum Thema TYPO3 und Webentwicklung • Selbständig im Bereich Webentwicklung seit 1994 • Certified TYPO3 Integrator seit 2009 • Mitglied bis 2012 in den TYPO3 Core-Teams: Certification, 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 für führende Schulungsinstitute und die MVHS
  • 3. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 3 Über die typovision GmbH • Münchner Fullservice-Agentur für digitale Kommunikation • 34 festangestellte Mitarbeiter (+ 10 aus festem Freelancer Pool) • Geschäftsführer: Sebastian Böttger, Patrick Lobacher • Hochspezialisiert auf TYPO3 seit 11 Jahren und Solr • Agenturpräsentation unter: www.typovision.de/dieagentur • Über 400 TYPO3-Projekte jeglicher Größenordnung - für Kunden wie: TYPO3 PLATINUM MEMBER
  • 4. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de 4 Was ist TYPO3 Neos?
  • 5. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 5 TYPO3 Neos - the next generation CMS
  • 6. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 6 TYPO3 Neos - the next generation CMS
  • 7. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 7 Die Geschichte von TYPO3 Neos beginnt bei TYPO3 CMS • TYPO3 CMS ist ein „Enterprise Open Source Content Management Framework“ • TYPO3 CMS existiert seit 1998 / Erfunden vom Dänen Kaspar Skårhøj • ca. 500.000 Installationen weltweit / > 5 Mio Downloads • Einsatz in DE z.B. bei > 50% aller DAX 500 Unternehmen, > 50% aller Bundesliga-Vereinen, Discounter, Autovermieter, Öffentliche Träger • > 6.000 Extensions • > 100.000 Entwickler weltweit • > 1500 Agenturen weltweit • Finanziert und unterstützt von der TYPO3 Association Geschichte von TYPO3 Neos beginnt bei TYPO3 CMS
  • 8. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 8 Die Geschichte von TYPO3 Neos: TYPO3 Phoenix • Auf den ersten T3DD (TYPO Developer Days) im Jahr 2006 wurde der Entschluss gefasst, TYPO3 von Grund auf neu zu schreiben • Codename: TYPO3 Phoenix (bzw. TYPO3 5.0) • Das Projekt wurde von dem Chefarchitekten Robert Lemke begonnen und nach wenigen Monaten von Karsten Dambekalns flankiert • Mit dem „Berlin Manifesto“ wurde 2008 der Rahmen und die Abgrenzung zum TYPO3 CMS festgelegt http://typo3.org/roadmap/berlin-manifesto/ Geschichte von TYPO3 Neos: TYPO3 Phoenix
  • 9. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 9 Die Geschichte von TYPO3 Neos: TYPO3 Flow und Neos • Viele Grundfunktionen eines CMS sind nicht CMS-spezifisch (Session- Handling, Datenbank-Handling, Templating, ...) => daher Abspaltung • Durch die Einführung von Extbase im Jahr 2009 wurde es möglich, bereits in TYPO3 CMS Extensions zu schreiben, die in TYPO3 Flow mit geringen Änderungen lauffähig sind • Am 20. Oktober 2011 wurde das Application Framework TYPO3 Flow (ehemals FLOW3) als Final veröffentlicht • TYPO3 Neos ist eine Applikation die auf TYPO3 Flow basiert • TYPO3 Neos Alpha 3 im Februar 2013 • Erste finale Version im Oktober 2013 Geschichte von TYPO3 Neos: TYPO3 Flow und Ne0s
  • 10. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 10 Die TYPO3 Welt - seit Oktober 2012 • TYPO3 CMS • TYPO3 Flow • TYPO3 Neos • TYPO3 Surf Geschichte von TYPO3 Neos: Die TYPO3 Welt
  • 11. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de 11 Die Architektur von TYPO3 Neos
  • 12. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 12 Die Architektur von TYPO3 Neos - Backend Die Architektur von TYPO3 Neos - Backend Fluid Modern Templating Engine TYPO3CR Content Repository (JCR / Sling) TypoScript TypoScript 2.0 - next Generation Forms Form API & Form Builder Expose Extensible admin interface Eel Embedded Expression Language
  • 13. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 13 Die Architektur von TYPO3 Neos - Frontend Die Architektur von TYPO3 Neos - Frontend EmberJS JavaScript web application framework Create.js Web Editing Interface Aloha / Hallo HTML5 WYSIWYG Editor VIE = viejs.org Semantic Interaction Framework RequireJS JavaScript file and module loader
  • 14. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de 14 Die Grundlagen von TYPO3 Flow & Fluid
  • 15. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 15 TYPO3 FLow - Basis Design • OOP - Vollständig Objektorientiert • TDD - Test Driven Development • DDD - Domain Driven Design (Eric Evans) • MVC - Model, View, Controller • AOP - Aspect Oriented Programming (Separation of Concerns, Cross cutting concerns) • DI - Dependency Injection • ORM - Basiert auf Doctrine 2 (eigene möglich) TYPO3 Flow - Basis Design Achtung: Buzzword- Bingo :-)
  • 16. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 16 TYPO3 FLow - Paradigmen + Struktur • Packages erweitern das Grundsystem • Convention over Configuration • Verzeichnis- und Dateibenennung gemäß Ubiquitous Language (z.B. Models) • TYPO3 Flow - Paradigmen und Struktur
  • 17. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 17 TYPO3 FLow - Beispiel Model • Entity oder Value Object (DDD) • Reflection durch „PHPDoc Annotations“ • Validierung am Model • Relationen über Annotations • Steuerung des ORM ist ebenfalls über Annotations möglich • Getter und Setter für den Zugriff TYPO3 Flow - Domain Model
  • 18. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 18 TYPO3 FLow - Beispiel Repository • Magic-Methoden bereits out-of-the-box vorhanden - findAll() - findBy*propertyName*() - findOneBy*propertyName*() - ... • Query Manager liefert Interface zu Query zurück • Ausgeführt wird der Query erst bei „Benutzung“ der Daten TYPO3 Flow - Repository
  • 19. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 19 TYPO3 FLow - Beispiel Controller • Dependency Injection über @Inject Annotation • Persistierung ist automatisiert (am Ende der Action) • Validierung ist automatisiert (am Anfang der Action) • Slim-Controller TYPO3 Flow - Controller
  • 20. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 20 TYPO3 Fluid - modernes Templating • Templating ist Objektorientiert • Valider Code • View-Logik im View! • ViewHelper (Klassen) unterstützen den View • ViewHelper: Formulare, Links, Security, Schleifen, If, Formatierung, Widgets, ..., TYPO3 Fluid - modernes Templating
  • 21. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de 21 Installation von TYPO3 Neos
  • 22. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 22 Systemvoraussetzungen von TYPO3 Neos • Webserver (empfohlen ist Apache 2.x mit aktiviertem mod_rewrite Modul) • PHP 5.3.2 - 5.4.x • Folgende Funktionen müssen in PHP aktiviert sein: system(), shell_exec(), escapeshellcmd() und escapeshellarg() • php.ini: memory_limit = 256M oder höher • php.ini: xdebug.max_nesting_level = 500 (sofern xdebug verwendet wird) • php.ini: Fügen 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 benötigt ferner noch eine Zeitzonen-Einstellung: date.timezone= "Europe/Berlin" • MySQL 5.1.50 - 5.x.x (zum Beispiel - grundsätzlich kann jede zum Doctrine DBAL kompatible Datenbank verwendet werden) • Zugang zur Konsole Systemvoraussetzungen von TYPO3 Neos
  • 23. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 23 Installation von TYPO3 Neos - Composer • Die Installation erfolgt über „Composer“ (Dependency Manager für PHP) cd /your/htdocs/ curl -s https://getcomposer.org/installer | php php ./composer.phar create-project --no-dev -- stability alpha typo3/neos-base-distribution TYPO3- Neos-1.0-alpha3 • Dies sorgt für die Installation von TYPO3 Flow, Neos und den benötigten Modulen (inkl. 3rd Party wie Doctrine 2, Aloha, ...) Installation von TYPO3 Neos
  • 24. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 24 Installation von TYPO3 Neos - Rechte und VirtualHost • Anschließend werden die Rechte in der Konsole gesetzt: sudo ./flow flow:core:setfilepermissions shelluser wwwuser wwwgroup • Virtual Host Eintrag (z.B. Apache) NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot "/pfad/zur/installation/TYPO3-Neos-1.0-alpha3/Web/" # Während der Entwicklung sollte die # folgende Zeile auskommentiert werden Setenv FLOW_CONTEXT Production ServerName neos.demo </VirtualHost> • Eintrag in /etc/hosts 127.0.0.1 neos.demo Installation von TYPO3 Neos
  • 25. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 25 Installation von TYPO3 Neos - Setup • Aufruf der Setup-Routine durch http://neos.demo/setup/ Installation von TYPO3 Neos
  • 26. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 26 Installation von TYPO3 Neos - Setup • Datenbak-Setup • Voreinstellung ist MySQL • Änderung des Drivers durch Editieren der Datei: Configuration/Settings.yaml Installation von TYPO3 Neos
  • 27. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 27 Installation von TYPO3 Neos - Setup • Anlegen eines Administrators • Weitere User können später in der Userverwaltung angelegt werden Installation von TYPO3 Neos
  • 28. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 28 Installation von TYPO3 Neos - Setup • Import einer Demo-Site • Oder Starten mit einer leeren Website Installation von TYPO3 Neos
  • 29. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 29 Installation von TYPO3 Neos
  • 30. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de 30 Features von TYPO3 Neos
  • 31. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 31 Features 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 flexibler 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 Management Features von TYPO3 Neos
  • 32. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 32 Features von TYPO3 Neos • In-place Content-Editing • Eigene Content-Elemente (inkl. In-place Content-Editing) leicht möglich • Integration von TYPO3 Flow Applikationen als Plugins • TypoScript2 / EEL / FlowQuery • Workspaces • Cloud-Ready • Custom Single-Sign-On / Custom Authentification • Audit Logging • Soap/REST/JSON out-of-the-box • TYPO3 Surf für das automatische Deployment (Integration mit CI Server wie Jenkins) Features von TYPO3 Neos
  • 33. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 33 Features von TYPO3 Neos - Screenshots
  • 34. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 34 Features von TYPO3 Neos - Screenshots
  • 35. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 35 Features von TYPO3 Neos - Screenshots
  • 36. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de 36 Internas von TYPO3 Neos
  • 37. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 37 Node Structure • TYPO3CR Node • Node Name (dient der Identifikation) • Node Type (z.B. Document, Folder, AbstractNode, Content, ContentCollection...) • Properties (Abhängig vom NodeType) • Einfach erweiterbar und leicht konfigurierbar Page Content Section Content Element Site root TYPO3 Neos Internas: Node Structure Domain Model
  • 38. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 38 Node Zugriff • Der Zugriff auf Nodes erfolgt durch „NodePaths“ TYPO3 Neos Internas: Node Zugriff /sites/typo3org/home/subpage/main/text1 content section pages site root
  • 39. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 39 TypoScript • TypoScript ist eine hierarchische , objektorientierte und Prototypen- basierte Verarbeitungssprache • Wird von Neos verwendet, um den Content flexibel zu rendern • Objekte sind z.B. Array, Collection, Case, Menu, Page, Template, Plugin, Value, ... • Objekte haben Eigenschaften, die das Objekt „konfigurieren“ • TypoScript hat Zugriff auf den jeweiligen „Context“ (z.B. Seitenbaum im Objekt „menu“ oder Seiteneigenschaften im Objekt „page“) • Es gibt „Prozessoren“ die die Eigenschaftswerte verändern können (ähnlich stdWrap-Funktionen in TYPO3 CMS) TYPO3 Neos Internas: TypoScript
  • 40. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 40 TypoScript: Fluid-Template <!DOCTYPE html> <html lang="en"> <head> <!-- {namespace typo3=TYPO3NeosViewHelpers}{namespace typoScript=TYPO3TypoScriptViewHelpers --> <meta charset="utf-8"> <f:base/> <meta name="generator" content="TYPO3 Flow" /> <title>Default Template</title> <f:section name="stylesheets"> <link rel="stylesheet" href="../../../Public/Stylesheets/reset.css" media="all" /> </f:section> <f:section name="javascripts"> <script src="../../../Public/JavaScript/main.js"></script> </f:section> </head> <body class="js-off page-landing" id="typo3org"> <f:section name="body"> <div class="p t3-reloadable-content" id="page"> <!-- ### content ### --> <div class="c cl" id="content"> <!-- ### aside ### --> <div class="a" id="aside"> <typoScript:renderTypoScript path="parts/subMenu" /> TYPO3 Neos Internas: TypoScript - Fluid Template
  • 41. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 41 TypoScript: Beispiel - Teil 1 include: TypoScripts/Library/ContentElements.ts2 namespace: TypoScript=TYPO3.TypoScript page = Page page.headerData { stylesheets = Template stylesheets { templatePath = 'resource://TYPO3.NeosDemoTypo3Org/Private/Templates/Page/Default.html' sectionName = 'stylesheets' } javascripts = Template javascripts { templatePath = 'resource://TYPO3.NeosDemoTypo3Org/Private/Templates/Page/Default.html' sectionName = 'javascripts' } title = Template title.templatePath = 'resource://TYPO3.NeosDemoTypo3Org/Private/Templates/TypoScriptObjects/ TitleMenu.html' title.items = ${q(node).add(q(node).parents())} title << 1.wrap(prefix:'<title>', suffix: '</title>') } TYPO3 Neos Internas: TypoScript - Beispiel - Teil 1
  • 42. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 42 TypoScript: Beispiel - Teil 2 page.body { templatePath = 'resource://TYPO3.NeosDemoTypo3Org/Private/Templates/Page/Default.html' sectionName = 'body' parts { mainMenu = Menu mainMenu { entryLevel = 2 templatePath = 'resource://TYPO3.NeosDemoTypo3Org/Private/Templates/TypoScriptObjects/ MainMenu.html' maximumLevels = 2 } subMenu = Menu subMenu { entryLevel = 3 templatePath = 'resource://TYPO3.NeosDemoTypo3Org/Private/Templates/TypoScriptObjects/ SubMenu.html' maximumLevels = 3 } breadcrumb = Template breadcrumb { templatePath = 'resource://TYPO3.NeosDemoTypo3Org/Private/Templates/TypoScriptObjects/ BreadcrumbMenu.html' items = ${q(node).add(q(node).parents())} TYPO3 Neos Internas: TypoScript - Beispiel - Teil 2
  • 43. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 43 TypoScript: Prozessoren • Beispiel: myObject = MyObject { value = 'Rocky' value << 1.wrap(prefix: 'Der ', suffix: ' ist der Beste!') } # Resultat ist 'Der Rocky ist der Beste!</h1>' • Weitere Prozessoren • crop • date • if, ifEmpty, ifBlank • multiply • override • replace • round • shiftCase • substring • toInteger • trim • wrap TYPO3 Neos Internas: TypoScript - Prozessoren
  • 44. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 44 Eel - Embedded Expression Language • Während TypoScript Zuweisungen und Prozessoren beinhaltet, kann man mit Eel Ausdrücke der Art myObject.foo = ${q(node).property('bar')} formulieren • Die Embedded Expression Language (Eel) ist ein Baustein um Domain Specific Languages (DSL) zu erstellen. • Eel stellt eine reichhaltige Syntax zur Verfügung um beliebige Ausdrücke zu erstellen, damit sich der Autor der DSL auf die Semantik konzentrieren kann ${foo.bar} // Traversal ${foo.bar()} // Method call ${foo.bar().baz()} // Chained method call ${foo.bar("arg1", true, 42)} // Method call with arguments ${12 + 18.5} // Calculations are possible ${foo == bar} // ... and comparisons ${foo.bar(12+18.5, foo == bar)} // and of course also use it inside arguments ${[foo, bar]} // Array Literal ${{foo: bar, baz: test}} // Object Literal TYPO3 Neos Internas: Eel - Embedded Expression Language
  • 45. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 45 FlowQuery • FlowQuery stellt eine Art jQuery für TYPO3 Flow dar • FlowQuery stellt damit einen Weg dar, um Content (der ja eine TYPO3CR Node in Neos ist) im Eel zu verarbeiten • In FlowQuery gibt es Operationen: • property Zugriff auf alle Eigenschaften einer Node • filter Filterausdrücke in „Fizzle“ • children Gibt alle Kinder der TYPO3CR Node zurück • parents Gibt alle Eltern der TYPO3CR Node zurück • Weitere Operationen: add, count, first, get, is, last, ... TYPO3 Neos Internas: FlowQuery
  • 46. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 46 FlowQuery - Beispiele • Anzahl der Kommentare = Anzahl der Kinder der aktuellen Node mit dem Namen „comments“, deren Eigenschaft „spam“ auf dem Wert „false“ steht. numberOfComments = ${q(node).children('comments').children("[spam = false]").count()} • Breadcrumb-Menü = Aktuelle Seite + alle Elternseiten breadcrumb = Template breadcrumb { templatePath = 'resource://TYPO3.NeosDemoTypo3Org/Private/Templates/ TypoScriptObjects/BreadcrumbMenu.html' items = ${q(node).add(q(node).parents())} } {namespace neos=TYPO3NeosViewHelpers} <f:if condition="{items}"> <ul class="breadcrumbs"> <f:for each="{items}" as="item" reverse="TRUE"> <f:if condition="{item.hiddenInIndex} == 0"> <li> <neos:link.node node="{item}">{item.label}</neos:link.node> </li> </f:if> </f:for> TYPO3 Neos Internas: FlowQuery - Beispiele
  • 47. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de 47 Mitarbeit bei TYPO3 Neos
  • 48. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 48 We need you!! • Komme ins TYPO3 Neos und Flow Team! • Alles wird gebraucht: Programmier, Architekten, UX-Experten, Designer, Doku, Tester, JS-Spezialisten, ... • Meldet Euch bei robert[AT]typo3.org Mitarbeit bei TYPO3 Neos: We need you!!
  • 49. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 49 Kunden gesucht! • Direkte Mitarbeit • Gebe frühes Feedback zu neuen Funktionen, User Interfaces, ... • Direkter Kontakt und Diskussion mit den Entwickler • Sofern sinnvoll, wird das Feedback unmittelbar umgesetzt • Vorteile • Gestalte das WCMS der Zukunft direkt mit • Nimm Einfluss auf die Entwicklung • Zugang zu Entwicklern, Architekten und UX‘lern • Networking mit anderen Neos-Kunden • Kontakt • rasmus[at]typo3.org Mitarbeit bei TYPO3 Neos: Kunden gesucht
  • 50. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de 50 Quellen und Informationen
  • 51. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 51 Quellen und Informationen • TYPO3 Neos Website http://neos.typo3.org/ • TYPO3 Neos Download http://neos.typo3.org/download.html • TYPO3 Flow Website http://flow.typo3.org/ • TYPO3 Neos Dokumentation http://docs.typo3.org/neos/TYPO3NeosDocumentation/Index.html • TYPO3 Flow Dokumentation http://flow.typo3.org/documentation.html Quellen und Informationen
  • 52. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de DWX13 / TYPO3 Neos - ein technischer Überblick 52 Quellen und Informationen • TYPO3 Neos Projekt bei forge http://forge.typo3.org/projects/typo3neos • TYPO3 Flow Projekt bei forge http://forge.typo3.org/projects/flow3 • Cheatsheet für Fluid (und demnächst für Flow) http://www.typovision.de/de/kompetenzen/typo3/ Quellen und Informationen
  • 53. (c) 2013 - typovision GmbH | DWX13 / TYPO3 Neos - ein technischer Überblick | Patrick Lobacher | 24.06.2013 | www.typovision.de 53 Fragen? Oder komplett verwirrt? Präsentation runterladen: http://www.typovision.de/DWX/
  • 54. Vielen Dank für Eure Aufmerksamkeit