TYPO3 CMS 6.1 - Die Neuerungen - typovision GmbH

8.440 Aufrufe

Veröffentlicht am

Alle Neuerung der am 30.04.2013 veröffentlichte Version TYPO3 CMS 6.1 auf über 60 Slides - viel Spaß mit!

Veröffentlicht in: Technologie
0 Kommentare
1 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
8.440
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
20
Aktionen
Geteilt
0
Downloads
76
Kommentare
0
Gefällt mir
1
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

TYPO3 CMS 6.1 - Die Neuerungen - typovision GmbH

  1. 1. TYPO3 CMS 6.1 „Improve“Die NeuerungenPatrick LobacherCEO typovision GmbH30.04.2013
  2. 2. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 2TYPO3 CMS 6.1 „Improve“- Short facts• Veröffentlicht: 30.04.2013• End of Maintenance: 31.10.2014(keine LTS - das wird 6.2 sein)• Release Manager: Benni Mackbenni.mack(AT)typo3.org@bennimack• Hauptziele: Improving communicationImproving contributionImproving the product• Systemvoraussetzungen: PHP 5.3.7 - 5.4.x, MySQL 5.1.x-5.5.x• Download: http://typo3.org/download/Bildquelle: snowflake.chEinführung - „Improve“TYPO3 CMS 6.1 - Die Neuerungen
  3. 3. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 3TYPO3Release Agenda
  4. 4. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 4Bildquelle: typo3.orgTYPO3 Release AgendaTYPO3 CMS 6.1 - Die NeuerungenTYPO3 Release AgendaJanuary February March April May June July August September October November December2013TYPO3 6.1 alpha1March 12thTYPO3 6.1 beta1April 3rdTYPO3 6.1 beta2April 10thTYPO3 6.1 RC1April 25thTYPO3 6.1 Final ReleaseApril 30thTYPO3 6.1 Release
  5. 5. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 52011 AprilTYPO3 Release AgendaTYPO3 4.5 LTSMain developmentTYPO3 4.6TYPO3 4.7TYPO3 6.0TYPO3 6.2 LTSTYPO3 6.1TYPO3 6.2 + 2TYPO3 6.2 + 3TYPO3 6.2 + 12012 April 2013 April 2014 April 2015 April 2016 AprilBildquelle: typo3.orgTYPO3 Release AgendaTYPO3 CMS 6.1 - Die Neuerungen
  6. 6. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 6Änderungen imBackend
  7. 7. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 7Header im New Content Element WizardBackend - Header im New Content Element Wizard• Das Content-Element „Header Only“ kann nun im „New Content Element Wizard“ ausgewählt werdenTYPO3 CMS 6.1 - Die NeuerungenTYPO3 < 6.1TYPO3 >= 6.1
  8. 8. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 8Context-Menü für Template DatensatzBackend - Context-Menü für Template Datensatz• Der Template-Datensatz im Modul „Template“ hat nun auf dem Icon ein Kontext-MenüTYPO3 CMS 6.1 - Die Neuerungen
  9. 9. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 9Delete-Button für FilelistBackend - Delete-Button für Filelist• Im Modul „Filelist“ wurde ein „Delete-Button“ integriertTYPO3 CMS 6.1 - Die NeuerungenTYPO3 < 6.1TYPO3 >= 6.1
  10. 10. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 10Confirmation Checkbox für FORM cObjektBackend - Confirmation Checkbox für FORM cObjekt• Während man per TypoScript schon länger angeben konnte, dass das cObject FORM auch eineConfirmation-Page anzeigen soll, wurde dies nun auch im Backendend als Checkbox beim Content-Objekt FORM nachgeholt.enctype = multipart/form-datamethod = postprefix = tx_formconfirmation = 1postProcessor {1 = mail...TYPO3 CMS 6.1 - Die Neuerungen
  11. 11. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 11Extension Manager wurde leicht überarbeitetBackend - Extension Manager wurde überarbeitet• Der Extension Manager wurde erneut überarbeitet und präsentiert sich nun mit besserer Usability.• Visuelles Feedback für Downloadund Install wurde hinzugefügt• Functionmenu für Manage/Get• Direktlink für „Show all versions“TYPO3 CMS 6.1 - Die NeuerungenTYPO3 < 6.1TYPO3 >= 6.1
  12. 12. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 12Rewrite der Systemextension „sys_note“Backend - Rewrite sys_note• Die Systemextension sys_note wurde mittels Extbase/Fluid neu geschrieben• Funktionell wurde fast nichts geändert (Edit-Button erst bei Hover).• Es ist nun sehr einfach die Extension selbst zu erweitern und insbesondere das Layoutanzupassen:# constantsmodule.tx_sysnote {view {# cat=Internal Notes/general/1000; type=string; label=Layout Root Path: Path to layoutslayoutRootPath = EXT:sys_note/Resources/Private/Layouts/# cat=Internal Notes/general/1010; type=string; label=Partial Root Path: Path to partialspartialRootPath = EXT:sys_note/Resources/Private/Partials/# cat=Internal Notes/general/1020; type=string; label=Template Root Path: Path to templatestemplateRootPath = EXT:sys_note/Resources/Private/Templates/}}# setupmodule.tx_sysnote {view {layoutRootPath = {$module.tx_sysnote.view.layoutRootPath}templateRootPath = {$module.tx_sysnote.view.templateRootPath}partialRootPath = {$module.tx_sysnote.view.partialRootPath}}}TYPO3 CMS 6.1 - Die Neuerungen
  13. 13. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 13SchedulerBackend - Scheduler• Die Scheduler-Übersicht wurde überarbeitet• Man kann nun einen Task aus der Übersicht über ein Icon starten• Ein Task wird zudem ausgewählt, wenn man irgendwo in der Zeile klicktTYPO3 CMS 6.1 - Die NeuerungenTYPO3 < 6.1TYPO3 >= 6.1
  14. 14. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 14Scheduler Emails bei System Status UpdateBackend - Scheduler Email• Im Scheduler Task „System Status Update“ war es bislang lediglich möglich eine Email-Adressezu hinterlegen• Dies wurde nun insofern geändert, dass man beliebig viele Adressen hinterlegen kannTYPO3 CMS 6.1 - Die NeuerungenTYPO3 < 6.1TYPO3 >= 6.1
  15. 15. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 15System Environment CheckBackend - System Environment Check• Die System Checks des Install Tools wurden komplett neu integriert• So wurden alle Checks in ein eigenes Skript ausgelagert, welches als „Standalone Script“ keineAbhängigkeiten mehr zu TYPO3 hat.• Felix Kopp hat daraus ein Script entwickelt, welches es ermöglicht ein Hosting ohne Installation vonTYPO3 auf dessen Tauglichkeit zu testen: https://github.com/7elix/TYPO3-Probe• Ab der Version TYPO3 6.2 wird im ersten Schritt einer TYPO3 Installation überprüft, ob dieSystemvoraussetzungen optimal sind - bis dahin kann das Skript im Install Tool aufgerufen werden• Zudem kann im Support-Fall darauf verwiesen werden und auch ein Serverumzug lässt sich damitgut begleiten, da anschließend nachgesehen werden kann, ob die Systemvoraussetzungen auchauf dem neuen Server noch passenTYPO3 CMS 6.1 - Die Neuerungen
  16. 16. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 16System Environment CheckBackend - System Environment Check• Im Install Tool gibt es zudem den neuen Abschnitt „System environment“, der die Übersicht über dieSystemvoraussetzungen undderen Tests zeigt• Dabei gelten folgende Zustände:• grün: Alles in Ordnung• gelb: Hier sollte man genaunachsehen und ggf.Änderungen vornehmen• rot: Fehler - hier *muss*man Änderungen vornehmenTYPO3 CMS 6.1 - Die Neuerungen
  17. 17. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 17TSconfig &TypoScript
  18. 18. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 18stdWrap Funktion strPadTypoScript - stdWrap Funktion strPad• Analog zur PHP-Funktion str_pad() kann nun auch mittels stdWrap eine Funktion strPad verwendetwerden - folgende Parameter stehen dort zur Verfügung:• length (number): Anzahl Zeichen, die es aufzufüllen gilt• padWith (string; default: space): Zeichen, mit dem/denen aufgefüllt wird• type (left, right, both; default: right): Richtung, von wo aufgefüllt wirdpage.10 = TEXTpage.10.value = HELLO WORLD!page.10.strPad {length = 15padWith = .type = left}Ausgabe:...HELLO WORLD!TYPO3 CMS 6.1 - Die Neuerungen
  19. 19. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 19Ausgabe des <body> Tags unterbindenTypoScript - Ausgabe des <body> Tags unterbinden• Wenn z.B. TemplaVoilá für die Generierung der Seite verwendet wird, will man manchmalKlassen direkt im <body> Tag innerhalb von TemplaVoilá setzen• Dafür muss TemplaVoilá das <body> Tag selbst generieren• Da aber TYPO3 selbst auch davon unabhängig ein <body> Tag generiert, hätte man schließlichzwei davon im resultierenden HTML-Quelltext• Um dieses Problem zu lösen, wurde die Option disableBodyTag eingeführt, welche dieGenerierung des <body> Tags unterbindetconfig.disableBodyTag = 1TYPO3 CMS 6.1 - Die Neuerungen
  20. 20. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 20Templates aus cObjects für FLUIDTEMPLATETypoScript - Templates aus cObjects für FLUIDTEMPLATE• Bislang konnte man die Templates für das cObject FUIDTEMPLATE nur als Dateiüber die Option file angeben• In TYPO3 CMS 6.1 wurde dies mit der Option template ergänzt, mit der man nunauch cObjects als Quelle für das Template verwenden kann• Das folgende Beispiel zeigt die Verwendung von TEXT (Beispiel 1)page.10 = FLUIDTEMPLATEpage.10 {template = TEXTtemplate.value = <h1>{data.title}</h1>partialRootPath = fileadmin/templates/partial/variables {mylabel = TEXTmylabel.value = Dieses Label kommt aus TypoScript}}TYPO3 CMS 6.1 - Die Neuerungen
  21. 21. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 21Templates aus cObjects für FLUIDTEMPLATETypoScript - Templates aus cObjects für FLUIDTEMPLATE• Bislang konnte man die Templates für das cObject FUIDTEMPLATE nur als Dateiüber die Option file angeben• In TYPO3 CMS 6.1 wurde dies mit der Option template ergänzt, mit der man nunauch cObjects als Quelle für das Template verwenden kann• Das folgende Beispiel zeigt die Verwendung von FILE (Beispiel 2)page.10 = FLUIDTEMPLATEpage.10 {template = FILEtemplate.file = fileadmin/templates/MyTemplate.htmlpartialRootPath = fileadmin/templates/partial/variables {mylabel = TEXTmylabel.value = Dieses Label kommt aus TypoScript}}TYPO3 CMS 6.1 - Die Neuerungen
  22. 22. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 22Settings Array für FLUIDTEMPLATETypoScript - Settings Array für FLUIDTEMPLATE• Im TypoScript für eine Extbase-Extension kann man über den Schlüssel settingsTypoScript Settings direkt in der Action zur Verfügung stellen• Dies wurde nun auch für FLUIDTEMPLATE realisiert• Innerhalb des Schlüssels settings funktioniert nun auch die Auflösung vonKonstanten:lib.globalSettings {foo = valuebar = {$bar}}page = PAGEpage.10 = FLUIDTEMPLATEpage.10 {file = fileadmin/templates/MyTemplate.htmlsettings < lib.globalSettings}Zugriff im Template über:{settings.foo} und {settings.bar}TYPO3 CMS 6.1 - Die Neuerungen
  23. 23. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 23Split-Char für noTrimWrap festlegenTypoScript - Split-Char für noTrimWrap festlegen• Verwendet man noTrimWrap innerhalb eines HMENU, so wird dieser immer alsoptionSplit interpretiert. Abhilfe schafft die neu eingeführte Option splitChar,mit der man die Zeichen angeben kann, die für noTrimWrap verwendet werdensollen. Default für diese Option ist „|“temp.mainMenu.10 = HMENUtemp.mainMenu.10 {...1 = GMENU1.NO {...10 = TEXT10 {text.field = title# Wird als optionSplit interpretiert - daher nicht möglich# text.noTrimWrap = | -- | |text.noTrimWrap = * -- * *text.noTrimWrap.splitChar = *...TYPO3 CMS 6.1 - Die Neuerungen
  24. 24. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 24Export von Daten in List-Modul verhindernTSconfig - Export von Daten in List-Modul verhindern• Es gibt nun eine Page TSconfig-Option um den Export der Daten (DB oder CSV) imModul „List“ zu verhindernmod.web_list.noExportRecordsLinks = 1TYPO3 CMS 6.1 - Die Neuerungen
  25. 25. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 25INCLUDE im Datensatz „Backend Layout“TypoScript - INCLUDE im Datensatz „Backend Layout“• In Datensätzen vom Typ „BackendLayout“ kann man in das Feld „Config“eine TypoScript ähnliche Syntax zumAufbau des Grids eingeben• Hier kann man ab sofort auch einINCLUDE_TYPOSCRIPT verwenden -damit ist es möglich, die Konfiguration ineine Datei auszulagern<INCLUDE_TYPOSCRIPT:source="FILE:fileadmin/layout.ts">TYPO3 CMS 6.1 - Die Neuerungen
  26. 26. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 26Neue Optionen für TypoScript ListenTSconfig - Neue Optionen für TypoScript Listen• Es gibt neue Optionen um TypoScript Listen zu manipulieren• Bisherige Optionen: prependString(), appendString(), removeString(),replaceString(), addToList(), removeFromList()• Neue Optionen: uniqueList(), reverseList(), sortList()page = PAGEpage.10 = TEXTpage.10.value = 11,14,11,7// Ausgabe: 11,14,7page.10.value := uniqueList()// Ausgabe: 7,14,11page.10.value := reverseList()// Ausgabe: 14,11,7 - mögliche Optionen: numeric, descendingpage.10.value := sortList(numeric,descending)// Ausgabe: 7,11,14page.10.value := sortList(numeric)TYPO3 CMS 6.1 - Die Neuerungen
  27. 27. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 27VerschiedenesTypoScript - Verschiedenes• Entfernen des CSS, welches über _CSS_PAGE_STYLE durch Extensions (wie z.B.css_styled_content) eingebracht wurde:config.removePageCss = 1• Die Option config.pageTitleSeparator (eingeführt in 4.7) kann ab sofort nichtnur Zeichen aufnehmen, sondern kann nun auch per stdWrap behandelt werden:config.pageTitleSeparator = -config.pageTitleSeparator.noTrimWrap = | | |• Die Default-Values (Option: value) der Formularfelder im FORM-cObject haben nunstdWrap-PropertiesTYPO3 CMS 6.1 - Die Neuerungen
  28. 28. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 28VerschiedenesTypoScript - Verschiedenes• Ab sofort kann man über die stdWrap Option addPageCacheTags Tags zu Seitenhinzufügen (wird in der Tabelle cache_pages gespeichert):stdWrap.addPageCacheTags = pagetag1,pagetag2,pagetag3Diese können nun über das folgende TSconfig wieder gelöscht werden:TCEMAIN.clearCacheCmd = tag:pagetag1,tag:pagetag2,tag:pagetag3• Die User TSconfig Option „clearRTECache“ wurde umbenannt:ALT: options.clearCache.clearRTECacheNEU: options.clearCache.clearLangCache (BREAKING Change!)TYPO3 CMS 6.1 - Die Neuerungen
  29. 29. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 29Änderungen imSystem
  30. 30. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 30TCA-Handling wurde erneuertSystem-Änderungen - TCA-Handling angepasst• Das Handling des TCA wurde teilweise neu geschrieben, um folgendes zuerreichen:• Im Frontend wird das TCA nun immer geladen und nach dem ersten Aufruf gecached• Die Datei ext_tables.php wiederum wird nicht bei jedem Aufruf ausgeführt• Im Backend wird das TCA ebenfalls gecached und macht die Option dynamicConfigFile überflüssig (da der Unterschied zwischen ctrl und columns getilgt wurde)• Die TCA-Dateien sollten ab sofort an folgender Stelle hinterlegt werdenext:extensionname/Configuration/TCA/tablename.phpund sollten ein Array mit dem TCA für die Tabelle - definiert im Dateinamen - zurückliefern• Beim ersten Zugriff werden diese Dateien gelesen und gecachedTYPO3 CMS 6.1 - Die Neuerungen
  31. 31. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 31TCA-Handling wurde erneuertSystem-Änderungen - TCA-Handling angepasst• Das Handling des TCA wurde teilweise neu geschrieben, um folgendes zuerreichen:• Die ctrl Abschnitte aus der Datei ext_tables.php können komplett entfernt werden• Die Funktionen TSFE->includeTCA(), TSFE->getCompressedTCarray() undGeneralUtility:loadTca() sind nun obsolet• Extensions, die das neue TCA-Ladeschema nicht verwenden, haben den Fallback in der Dateitypo3conf/ext_tables.php, um die Option dynamicConfigFile gleich nach denEinstellungen aus der jeweiligen ext_tables.php Datei der Extension zu laden, damit dieseüber die ExtensionManagementUtility zu manipulieren sind• Das Verzeichnis t3lib/stddb wurde entfernt - alle Dateien wurden in den Core integriert• Die Core-Extension halten sich bereits an das Schema. Als Beispiel kann mandie Systemextension „sys_note“ ansehen.TYPO3 CMS 6.1 - Die Neuerungen
  32. 32. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 32Display Condition Erweiterung im TCASystem-Änderungen - Display Condition Erweiterung im TCA• Mit Hilfe der Option displayCond kann man eine Bedingungsregel definieren,ob das Feld angezeigt wird oder nicht• Die Option displayCond des TCA ist insofern erweitert worden, dass nun auchmehrere Conditions möglich sind und diese mit AND und/oder OR verknüpftwerden können:link_file => array (exclude => 0,label => LLL:EXT:filelinks/locallang_db.xml:tx_filelinks.link_file,config => array (...),displayCond => array(AND => array(FIELD:testField:>:9,FIELD:testField:<:11,),),TYPO3 CMS 6.1 - Die Neuerungen
  33. 33. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 33Integration von require.jsSystem-Änderungen - require.js Integration• In den Core wurde „require.js“ integriert (ein JavaScript File- und Module-Loader)• Der Loader ist sowohl über das Frontend, wie auch das Backend über diePageRenderer-Klasse verfügbar• Zudem können sogenannte Asynchronous Module Definitions (AMD) beim Ladender Seite geladen werden• jQuery wird bereits über ein AMD (Asynchronous Module Definition) mit demNamen „jQuery“ geladen• Alle eigenen AMD-Module sollten wie folgt benannt werden:TYPO3.CMS.[PackageName].[ModuleName]Damit wird die Datei automatisch wie folgt aufgelöstEXT:PackageName/Resources/Public/JavaScript/ModuleName.js• Die Syntax lautet dabei wie folgt:/* $mainModuleName - "TYPO3/CMS/PackageName/ModuleName" e.g. "TYPO3/CMS/Backend/FormEngine" */public function loadRequireJsModule($mainModuleName)TYPO3 CMS 6.1 - Die Neuerungen
  34. 34. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 34Integration von MySQLiSystem-Änderungen - require.js Integration• Die Datenbank Konnektivitätsklasse (bisher bekannt als TYPO3_DB)verwendet nun „mysqli“ anstelle der alten „mysql“ Extention• MySQLi wurde mit PHP 5.0 eingeführt und wird per default mit allenunterstützten PHP-Versionen mitgeliefert• Die ursprüngliche Extension „mysql“ wird mit der zukünftigen PHP Version5.5 deprecated und ist zudem lediglich optimiert für MySQL 4.1.3 und früher.Zudem fehlen dort wichtige Features des MySQL-Servers• Nachdem das TYPO3 CMS MySQL 5+ für einige Versionen benötigt, ist derWechsel zu MySQLi folgerichtig• Da die API seit langer Zeit gekapselt war, merkt der Entwickler vom Wechselauf MySQLi überhaupt nichts.• Ab sofort ist „mysqli“ ein Modul, welches zwingend geladen sein muss,damit TYPO3 funktioniertTYPO3 CMS 6.1 - Die Neuerungen
  35. 35. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 35Verschiedene System-ÄnderungenSystem-Änderungen - Verschiedenes• Der Query zum Abruf der Domain-Records beim Erzeugen von Links mittels typolink wird absofort gecached, wenn die Option config.typolinkCheckRootline = 1 gesetzt ist• Im Caching Framework ist es ab sofort möglich, XCache (ein PHP Opcode Cache ähnlich wieAPC) zu verwenden. Dies geht allerdings nicht im CLI-Mode.http://xcache.lighttpd.net/wiki/Introduction• Es wird im Install Tool nicht mehr nur überprüft, ob „apt“, „xcache“ oder „eaccelerator“geladen wird, sondern es wurden auch Tests auf „Zend Optimizer“, „Zend OPcache“ und„wincache“ hinzugefügt - also Tests gegen „irgendeinen Optimizer“• Die Bilder aus dem RTE werden nun statt in /uploads/RTEmagicC_* in /fileadmin/_migrated_/RTE/ gespeichert. Bereits in /uploads vorhande Bilder werden durch denUpgrade-Wizard umkopiert.• Einführung von „Lazy Database Connection“: Der Bootstrapper setzt zwar die Credentials fürdie Datenbank - stellt aber die Verbindung nicht mehr her. Dies übernimmt die DB-Klasse beiBedarf selbst. eID-Skripte müssen nicht mehr connectDB() aufrufen.TYPO3 CMS 6.1 - Die Neuerungen
  36. 36. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 36Application ProgrammingInterface (API)
  37. 37. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 37searchQuery mit AND oder ORAPI - searchQuery• Bislang konnte die DB-API Funktion „searchQuery“ die Suchworte nur mittels AND verknüpfen• Ab sofort kann nun auch OR dafür verwendet werden - dafür wurde ein 4. Paramter geschaffen• Klasse: TYPO3CMSCoreDatabaseDatabaseConnectionclass DatabaseConnection {public function searchQuery($searchWords,$fields,$table,$constraint = self::AND_Constraint) { // oder self::OR_Constraint...}}TYPO3 CMS 6.1 - Die Neuerungen
  38. 38. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 38Pre- und Post SELECT HooksHooks - Pre- und Post SELECT Hook• Im Core wurde auch die SELECT-Abfrage mit einem Pre- und Post-Process-Hookausgestattet• Klasse: TYPO3CMSCoreDatabaseDatabaseConnection/* Pre-processor for the SELECTquery method. */public function SELECTquery_preProcessAction(&$select_fields, &$from_table, &$where_clause, &$groupBy, &$orderBy, &$limit, TYPO3CMSCoreDatabaseDataba/* Post-processor for the SELECTquery method. */public function exec_SELECTquery_postProcessAction(&$select_fields, &$from_table, &$where_clause, &$groupBy, &$orderBy, &$limit, TYPO3CMSCoreDatabaseTYPO3 CMS 6.1 - Die Neuerungen
  39. 39. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 39Custom CE-Rendering HookHooks - Custom CE-Rendering Hook• Es wurde ein Hook eingeführt, der innerhalb der CSS Styled Content (CSC) in dasRendering eines einzelnen Media-Elements eingreifen kann, um so ein eigenesRendering zu ermöglichen.• Sinnvoll kann dies z.B. für FAL-Inhalte wie Video genutzt werden oder Inhalte dieper JavaScript eingebettet werden• Klasse: TYPO3CMSCssStyledContentControllerCssStyledContentController$GLOBALS[TYPO3_CONF_VARS][EXTCONF][css_styled_content][pi1_hooks][render_singleMediaElement]TYPO3 CMS 6.1 - Die Neuerungen
  40. 40. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 40Extbase &Fluid
  41. 41. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 41Class Naming UtilityExtbase & Fluid - Class Naming Utility• Im Core wurde eine Utility-Klasse (mit statischen Methoden) hinzugefügt, welcheBenennungsaufgaben wie z.B. Konvertierung eines Klassennamens eines Models zu dem einesRepositories und ähnliches durchführen kann• Klasse: TYPO3CMSCoreUtilityClassNamingUtility• Methoden:• translateModelNameToRepositoryName($modelName)z.B. Tx_Extbase_Domain_Model_Foo zu Tx_Extbase_Domain_Repository_FooRepositoryoderTYPO3CMSExtbaseDomainModelFoo zu TYPO3CMSExtbaseDomainRepositoryFooRepository• translateModelNameToValidatorName($modelName)• translateRepositoryNameToModelName($repositoryName)• explodeObjectControllerName($controllerObjectName)Zerlegt einen controllerObjectName wie VendorExtControllerFooControllerin seine Einzelteile wievendorName, extensionName, subpackageKey und controllerNameTYPO3 CMS 6.1 - Die Neuerungen
  42. 42. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 42Extbase: Rekursive Storage PID per TypoScriptExtbase & Fluid - Extbase: Rekursive Storage PID per TypoScript• Die Storage PID kann nun per TypoScript auch rekursiv gesetzt werden:plugin {tx_extension {persistence {storagePid = 1,2,3recursive = 99}}}• Lässt man die Eigenschaft recursive weg, so wird ein Wert von 0 (Null) per Default angenommen.TYPO3 CMS 6.1 - Die Neuerungen
  43. 43. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 43Extbase: Überschreiben des Object MappingExtbase & Fluid - Extbase: Überschreiben des Object Mapping• Über den folgenden Schlüssel kann man das Object Mapping per TypoScript überschreiben:config.tx_extbase {objects {Tx_Extbase_Persistence_BackendInterface {className = Tx_MyExt_Persistence_Backend}}}• Dies lässt sich ab sofort auch per Plugin überschreiben:plugin.tx_foo {objects {Tx_Extbase_Persistence_BackendInterface {className = Tx_MyExt_Persistence_Backend}}}TYPO3 CMS 6.1 - Die Neuerungen
  44. 44. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 44Extbase: beforeCallActionMethod SignalExtbase & Fluid - Extbase: beforeCallActionMethod Signal• Dieses Signal stellt einen Hook dar, der unmittelbar vor dem Aufruf der aktuellen Action(callActionMethod) aufgerufen wird.• Übergeben werden der Name des Controllers, der Name der Action und die Argumente der Action:$this->signalSlotDispatcher->dispatch(__CLASS__,beforeCallActionMethod,array(controllerName => get_class($this),actionMethodName => $this->actionMethodName,preparedArguments => $preparedArguments));• Verwendung des Slots:$this->getSignalSlotDispatcher()->connect(TYPO3CMSExtbaseMvcControllerActionController,beforeCallActionMethod,Tx_MyExtension_CallActionSlot,beforeCallActionMethode);TYPO3 CMS 6.1 - Die Neuerungen
  45. 45. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 45Extbase: Neuer Property Mapper aktivExtbase & Fluid - Extbase: Neuer Property Mapper aktiv• Der überarbeitete Property Mapper (mitgeliefert seit TYPO3 4.6) ist nun auf für produktiveUmgebungen geeignet und wird mittels TypoScript per Default aktiviert:config.tx_extbase.features.rewrittenPropertyMapper = 1• Da der Property-Mapper ein Downport von TYPO3 Flow ist, kann auch die dort vorhandeneDokumentation als Referenz verwendet werden:http://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/PropertyMapping.htmlTYPO3 CMS 6.1 - Die Neuerungen
  46. 46. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 46Extbase: TYPO3_MODE DetectionExtbase & Fluid - Extbase: TYPO3_MODE Detection• Da jeder eine eigene Methode benutzt hat, um herauszufinden, ob der TYPO3_MODE geradeBackend oder Frontend ist, wurde eine eigene Service-Klasse eingeführt• Klasse: TYPO3CMSExtbaseServiceEnvironmentService• Methoden:public function isEnvironmentInFrontendMode() {return (defined(TYPO3_MODE) && TYPO3_MODE === FE) ?: FALSE;}public function isEnvironmentInBackendMode() {return (defined(TYPO3_MODE) && TYPO3_MODE === BE) ?: FALSE;}• Verwendung (Dependency Injection des Services):/*** @var TYPO3CMSExtbaseServiceEnvironmentService*/protected $environmentService;/*** @param TYPO3CMSExtbaseServiceEnvironmentService $environmentService* @return void*/public function injectEnvironmentService(TYPO3CMSExtbaseServiceEnvironmentService $environmentService) {$this->environmentService = $environmentService;}... if ($this->environmentService->isEnvironmentInFrontendMode()) { ...TYPO3 CMS 6.1 - Die Neuerungen
  47. 47. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 47Extbase: Per Plugin FlashMessages-QueueExtbase & Fluid - Extbase: Per Plugin FlashMessages-Queue• Bislang konnte man in Extbase FlashMessages nur in einem Container speichern• Dies wurde nun verändert, in dem man FlashMessages in einer sogenannte Queue auch per Pluginspeichern kann• Dafür muss das Handling im TypoScript umgestellt werdenconfig.tx_extbase.legacy.enableLegacyFlashMessageHandling = 0• Die Messaging-Klasse befindet sich hier:TYPO3CMSCoreMessagingFlashMessageQueue.php• Setzen einer FlashMessage im aktuellen Plugin-Context$this->controllerContext->getFlashMessageQueue()->addMessage(new TYPO3CMSCoreMessagingFlashMessage($errorFlashMessage, , TYPO3CMSCoreMessagingFlashMessage::ERROR));• Auslesen aller FlashMessages und flushen (leeren) der Queue$this->controllerContext->getFlashMessageQueue()->getAllMessagesAndFlush();TYPO3 CMS 6.1 - Die Neuerungen
  48. 48. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 48Extbase: PerformanceExtbase & Fluid - Extbase: Performance• Es wurden zudem einige Performance-Fixes eingebracht, die Extbase nun deutlich schnellermachen• Löschen des Page-CachesAnstatt den Cache bei jeder schreibenden Action (create, update und delete) zu löschen, wurdeein Page ID-Stack implementiert, der den Page-Cache am Ende des Requests löscht• Caching-Layer für getTargetPidByPluginDie Funktion getTargetPidByPlugin benutzt nun einen internen Cache, um die Load auf dieDatenbank (Aufrufe von exec_SELECTgetRows) zu reduzieren• Optimierung der Persistierung eines ObjectStorages sobald dieser verändert wurdeWährend bislang bei der Änderung von Objekten mit m:m-Relation diese komplett entfernt undneu aufgebaut wurden, wurde dies nun wie folgt optimiert:• Einfügen von m:m-Relationen nur noch bei neuen Objekten• Update von m:m- und 1:m-Relationen nur für Relationen, die nach einem Objekt eingefügtwerden oder für die Position an der ein Objekt verschoben wurdeTYPO3 CMS 6.1 - Die Neuerungen
  49. 49. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 49Extbase: Explizites Speichern von mod. ObjektenExtbase & Fluid - Extbase: Explizites Speichern von modifizierten Objekten• Der alte Property-Mapper hat das übertragene Objekt zunächst rekonstituiert sowie gemappt unddann validiert• Schlug diese Validierung allerdings fehl, gab es zwei Möglichkeiten:• Sofern man zurück zur „erzeugenden“ Action geleitet wurde (z.B. bei Formularen dorthin zurückmit einer Fehlermeldung) war alles in Ordnung, da keine Persistierung stattfand• Ist man allerdings an eine Action geraten, die Objekte implizit persistiert (persistAll am Endedes Requests), so wurde das invalide Objekt abgespeichert• Dies hat man nun insofern geändert, das man modifizierte Objekte nun explizit als solchekennzeichnen muss• Dafür muss man die update()-Funktion des Repositories auf das Objekt anwenden{the domain objects repositories}->update({modified domain object})$this->blogRepository->update($blog);• Dies sorgt auch für einen Performance-Zuwachs.TYPO3 CMS 6.1 - Die Neuerungen
  50. 50. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 50Extbase: VerschiedenesExtbase & Fluid - Extbase: Verschiedenes• Single Table Inheritance (STI) Konfiguration für User und Groups wurde aus dem Default-TypoScript entfernt.Die tx_extbase_type Einstellung für fe_users und fe_groups wurde eingeführt, um STI inExtbase zu demonstrieren. Allerdings führte dies zu zahlreichen Problemen. Somit wurden diezugehörigen TypoScript-Einstellungen entfernt, aber das TCA und SQL aus Gründen derAbwärtskompatibilität belassen.• ObjectManager::create ist nun deprecated - es wird nur noch ObjectManager::getverwendet.TYPO3 CMS 6.1 - Die Neuerungen
  51. 51. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 51Fluid: BE Pagination ViewHelperExtbase & Fluid - Fluid: BE Paginator (bereits seit 6.0)• Es gibt (seit TYPO3 CMS 6.0) einen Pagination-ViewHelper für die Verwendung im Backend• <f:be.widget.paginateobjects="{blogs}"as="paginatedBlogs"configuration="{ itemsPerPage: 5,insertAbove: 1,insertBelow: 0,recordsLabel: MyRecords}">/* Benutzung von {paginatedBlogs} statt {blogs},z.B. innerhalb von einer <f:for> Schleife */</f:be.widget.paginate>TYPO3 CMS 6.1 - Die Neuerungen
  52. 52. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 52Fluid: String-Vergleiche sind nun möglichExtbase & Fluid - Fluid: String-Vergleiche sind nun möglich• Es ist nun möglich, String-Vergleiche in boolschen Argumenten (z.B. im Argument condition imif-ViewHelper) direkt zu verwenden:• Beispiel:<f:if condition="{foo} == bar">• Bislang (TYPO3 6.0 und früher) war der Fallback dafür wie folgt:<f:if condition="{0:foo} == {0:bar}">TYPO3 CMS 6.1 - Die Neuerungen
  53. 53. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 53Fluid: Property Mapping ConfigurationExtbase & Fluid - Fluid: Property Mapping Configuration• Das Property Mapping muss ab sofort auf einer Whitelist basieren• Für Fluid Formulare wird dies per Default vom Framework erledigt, indem alle Formularfelder zu einerWhitelist von „trusted properties“ hinzugefügt werden - dies gilt aber nur für das aktuelle Level (alsokeine nested Objects)• Alles andere wird wie folgt konfiguriert:• Konfiguration vom Typ TYPO3CMSExtbasePropertyPropertyMappingConfiguration$propertyMappingConfiguration->• setTypeConverterOptions($typeConverterClassName, array $options)• Angabe der erlaubten PropertiesallowProperties($propertyName1, $propertyName2, ...)• Alle Properties (des selben Levels) sind erlaubtallowAllProperties()• Alle Properties, mit Ausnahme der angegebenen sind erlaubtallowAllPropertiesExcept($propertyName1, $propertyName2)TYPO3 CMS 6.1 - Die Neuerungen
  54. 54. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 54Fluid: Arrays nur noch in ViewHelper-ArgumentenExtbase & Fluid - Fluid: Arrays nur noch in ViewHelper-Argumenten• Fluid-Arrays verwenden eine JavaScript-Syntax, was es extrem schwierig macht, diese in einemgemischten Kontext (HTML/JavaScript) zu verwenden.• Beispiel (funktioniert nicht wie gewünscht - Ergebnis ist: var uris = Array):var uris = {endPoint1: {f:uri.action(.)},endPoint2: {f:uri.action(.)},};• Daher werden Fluid-Arrays nur noch innerhalb von ViewHelper-Argumenten ausgewertet - dieskann ein Breaking-Change sein!• Hat man z.B. die folgende Syntax vorliegen:<f:debug>{key1: value1, key2: value2}</f:debug>• so muss man diese wie folgt umwandeln:<f:debug value="{key1: value1, key2: value2}" />TYPO3 CMS 6.1 - Die Neuerungen
  55. 55. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 55Fluid: VerschiedenesExtbase & Fluid - Fluid: Verschiedenes• Der Currency-ViewHelper erlaubt nun die Angabe der Dezimalstellen:<f:format.currency currencySign="$" decimalSeparator="."thousandsSeparator="," prependCurrency="TRUE"separateCurrency="FALSE" decimals="2">1234.5678</f:format.currency>Ausgabe:$1,234.56• Zugriff auf FileReferences funktioniert nun „on the fly“ durch Erzeugung eines FAL Resource Objekts{myEntity.fileProperty.originalResource.title}{myEntity.fileProperty.originalResource.properties.identifier}TYPO3 CMS 6.1 - Die Neuerungen
  56. 56. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 56Entfernte &veraltete Funktionen
  57. 57. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 57Entfernte und veraltete FunktionenEntfernte & veraltete Funktionen• Die Sytem-Extension „statictemplates“ wurde nun komplett entfernt• Es wurden (zusammen mit „statictemplates“) folgende HMENU-Typen aus dem Core entfernt:HMENU_LAYERS, GMENU_LAYERS und GMENU_FOLDOUT• Die Flash-Bibliothek „swfupload“ und das Flash Uploader Interface wurden entfernt(Der weitaus stabilere HTML5 File Uploader, der mit TYPO3 CMS 6.0 eingeführt wurde ist nun alsstabil gekennzeichnet)TYPO3 CMS 6.1 - Die Neuerungen
  58. 58. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 58Quellen &Resourcen
  59. 59. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 59Quellen:Quellen und Resourcen• NEWShttp://typo3.org/news/article/typo3-cms-61-released/• Release Noteshttp://typo3.org/download/release-notes/typo3-61-release-notes/• Technische Release Noteshttp://wiki.typo3.org/TYPO3_6.1• TYPO3 GIThttps://git.typo3.org/TYPO3v4/Core.githttps://git.typo3.org/TYPO3v4/CoreProjects/MVC/extbase.githttps://git.typo3.org/TYPO3v4/CoreProjects/MVC/fluid.git• TYPO3 Bugtrackerhttp://forge.typo3.org/projects/typo3v4-core/issues• NEWS.txt(im Rootverzeichnis der Sourcen)TYPO3 CMS 6.1 - Die Neuerungen
  60. 60. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 60Quellen:Quellen und Resourcen• RequireJS und AMDhttp://requirejs.orghttps://github.com/amdjs/amdjs-api/wiki/AMD• Property Mapper Dokumentationhttp://docs.typo3.org/flow/TYPO3FlowDocumentation/TheDefinitiveGuide/PartIII/PropertyMapping.html• Extbase Performancehttp://forge.typo3.org/projects/typo3v4-mvc/wiki/28091_dirty_objectStorage_improvements• XCachehttp://xcache.lighttpd.net/wiki/Introduction• Download TYPO3 CMShttp://typo3.org/downloadTYPO3 CMS 6.1 - Die Neuerungen
  61. 61. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 61TYPO3 inspires peopleto share...
  62. 62. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 62TYPO3 inspires people to share...:TYPO3 inspires people to share...• Während der Entwicklung am TYPO3 CMS 6.1wurde die 10.000 te Änderung am Core (Coremerge) eingebracht!•Danke an alle Contributer :-)TYPO3 CMS 6.1 - Die Neuerungen
  63. 63. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 63Über denAutor
  64. 64. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013Patrick LobacherGeschäftsfüher typovision GmbHVeröffentlichungen:64TYPO3 CMS 6.1 - Die NeuerungenÜber den Autor• 42 Jahre, glücklich verheiratet, wohnhaft in München• Autor von 9 Fachbüchern und > 40 Fachartikeln zum Thema TYPO3 undWebentwicklung• 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
  65. 65. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013• Münchner Fullservice-Agentur für digitale Kommunikation• 33 feste Mitarbeiter vor Ort (+ 10 aus festem Freelancer Pool)• Geschäftsführer: Sebastian Böttger, Patrick Lobacher• Hochspezialisiert auf TYPO3 seit 10 Jahren (Extbase/Fluid seit 2009)• Spezialisiert auf Enterprise Search (Solr, Elastic Search) seit 3 Jahren• Fokus: Premium Webtechnologie und CMS im Open Source Bereich• Agenturpräsentation unter: www.typovision.de/dieagentur• Über 600 Projekte jeglicher Größenordnung• Vision:Wir sind der Partner des Kunden in allen Bereichen seiner digitalenKommunikation - von der ersten Vision bis hin zur erfolgreichen Umsetzungund darüber hinaus.typovision GmbH65Über die typovision GmbHTYPO3 CMS 6.1 - Die Neuerungen
  66. 66. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 66typovison GmbH ReferenzenTYPO3 CMS 6.1 - Die Neuerungen
  67. 67. (c) 2013 - typovision GmbH | TYPO3 CMS 6.1 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 30.04.2013 67Kontakttypovison GmbH KontaktKlassisch:typovision GmbHElsenheimerstr. 780687 MünchenFon: +49 89 45 20 59 3 - 0Fax: +49 89 45 20 59 3 - 29Email: info@typovision.deWeb: http://www.typovision.deTwitter:www.twitter.com/typovisionwww.twitter.com/PatrickLobacherwww.twitter.com/crosscontentFacebook:www.facebook.com/typovisionBlog:typoblog.deXING:www.xing.com/companies/typovisiongmbhwww.xing.com/profile/Patrick_Lobacherwww.xing.com/profile/Sebastian_Boettger2LinkedInwww.linkedin.com/company/2038844Slideshare:www.slideshare.net/plobacherwww.slideshare.net/typovisionAmazon:www.amazon.de/Patrick-Lobacher/e/TYPO3 CMS 6.1 - Die Neuerungen
  68. 68. Besten Dank für IhreAufmerksamkeitCreative Commons BY-NC-SA 3.0

×