|
|
| Zeile 4: |
Zeile 4: |
| | == Typo3 4.3 Die Neuerungen im Überblick == | | == Typo3 4.3 Die Neuerungen im Überblick == |
| | | | |
| − | - Presentation Transcript
| + | === Presentation Transcript === |
| | | | |
| − | TYPO3 4.3 Die Neuerungen im Überblick 27.11.2009 Patrick Lobacher (GF typofaktum) (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 1 - Die Neuerungen | Patrick Lobacher | 27.11.2009 4.3
| + | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 2 |
| − | ÜBER TYPOFAKTUM • Münchner Fullservice-Agentur für Unternehmenskommunikation • Inhabergeführt: Patrick Lobacher / Christoph Laruelle • Spezialisiert auf TYPO3 seit 6 Jahren • Gründung vor 16 Jahren (net-o-graphic / Agentur Laruelle) Zusammenschluss und Umbenennung am 02.01.2009 • Über 800 realisierte Projekte, davon >80 mit TYPO3 • Kunden: Finanzscout 24, AGIP, Contraco, Arbeitsamt München, Langenscheidt, Motorola, Seifert, Integralis, u.v.a.m (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 2
| + | |
| − | ÜBER TYPOFAKTUM • GF Patrick Lobacher hat zahlreiche Bücher und Artikel über alle Aspekte von TYPO3 veröffentlicht - weitere sind in Vorbereitung • Geschäftsbereiche • TYPO3 Konzeption, Entwicklung, Programmierung, Integration (inkl. Extbase / Fluid / FLOW3) • Consulting, Projektmanagement & Coaching • Schulung (inkl. komplettes TYPO3-Curriculum von Anfäger bis Fortgeschrittene und Spezialschulungen sowie Firmen- und Individualschulungen) • Print (Konzeption, Produktion) (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 3
| + | ÜBER TYPOFAKTUM • GF Patrick Lobacher hat zahlreiche Bücher und Artikel über alle Aspekte von TYPO3 veröffentlicht - weitere sind in Vorbereitung • Geschäftsbereiche • TYPO3 Konzeption, Entwicklung, Programmierung, Integration (inkl. Extbase / Fluid / FLOW3) • Consulting, Projektmanagement & Coaching • Schulung (inkl. komplettes TYPO3-Curriculum von Anfäger bis Fortgeschrittene und Spezialschulungen sowie Firmen- und Individualschulungen) • Print (Konzeption, Produktion) Adresse: typofaktum unternehmenskommunikation belfortstr. 8 81667 münchen tel 089 46 13 38 67 fax 089 46 13 38 68 email info@typofaktum.de web http://www.typofaktum.de (c) 2009 - typofaktum unternehmenskommunikation |
| − | ÜBER TYPOFAKTUM • Adresse: typofaktum unternehmenskommunikation belfortstr. 8 81667 münchen tel 089 46 13 38 67 fax 089 46 13 38 68 email info@typofaktum.de web http://www.typofaktum.de (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 4
| + | |
| − | BACKEND Neue Funktionen und Kosmetik (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 5 - Die Neuerungen | Patrick Lobacher | 27.11.2009 4.3
| + | ==== BACKEND ==== |
| − | LOGIN SCREEN IM BE • Login ist Skinable • Datei: typo3/sysext/t3skin/ templates/login.html (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 6
| + | * Neue Funktionen und Kosmetik |
| − | LOGIN SCREEN IM BE • Eigener Skin wie folgt möglich • Neue Extension anlegen • Dort Datei anlegen: ext_tables.php • Datei anlegen (und default kopieren): res/login.html • Folgende Zeile hinzufügen (extKey anpassen) $GLOBALS['TBE_STYLES']['htmlTemplates']['templates/ login.html'] = 'EXT:extKey/res/login.html'; (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 7
| + | |
| − | RELOGIN IM BE • Overlay statt PopUp • Nur noch Eingabe von Passwort nötig • Bei Klick auf „Logout“ erfolgt Weiterleitung auf Login-Screen (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 8
| + | LOGIN SCREEN IM BE |
| − | KOSMETIK IM BE • Flash Messages im BE • Buttons mit 3D-Effekt (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 9 | + | * Login ist Skinable |
| − | KOSMETIK IM BE • date2cal ist nun im Core integriert (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 10 | + | * Datei: typo3/sysext/t3skin/ templates/login.html |
| − | CONTENT ELEMENT MEDIA • Über das neue Content Element „Media“ können nun einfach Videos, Audio-Files oder Flash eingebunden werden • Es können zusätzliche Paramater übergeben werden • AlternativerInhalt kann ebenfalls angegeben werden (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 11 | + | * Eigener Skin wie folgt möglich |
| − | FILELIST-MODUL • alt • neu (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 12
| + | ** Neue Extension anlegen |
| − | MASS FILE UPLOADER • Upload von mehreren Dateien gleichzeitig möglich (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 13
| + | ** Dort Datei anlegen: ext_tables.php |
| − | SUGGESTS BEI BE-FORMS • Bei manchen Formularelementen wird AJAX verwendet um Ergebnisse anzuzeigen (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 14 | + | ** Datei anlegen (und default kopieren): res/login.html |
| − | EXTENSION MANAGER • select/deselect all beim Installieren von Extensions (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 15
| + | ** Folgende Zeile hinzufügen (extKey anpassen) |
| − | BENUTZERGRUPPE • Dateirechte nun auch per (Backend-)Benutzergruppe einstellbar (und nicht nur per User wie früher) (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 16
| + | |
| − | SAVEDOCNEW • saveDocNew per Default für alle Tabellen aktiv • früher (Abschalten mit 0): options { saveDocNew.pages = 1 bzw. 0 } (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 17 | + | $GLOBALS['TBE_STYLES']['htmlTemplates']['templates/ login.html'] = 'EXT:extKey/res/login.html'; |
| − | CACHING FRAMEWORK • Caching Framework für individuelle Speicherung • $TYPO3_CONF_VARS['SYS']['useCachingFramework'] = '1'; • Nutzung von „memcached“ möglich => schnellerer Cache • memcached ist ein unter der BSD-Lizenz veröffentlichter Cache- Server zum allgemeinen Hinterlegen und Abholen von Daten aus dem Arbeitsspeicher • legt 6 neue Tabellen an => beim Update beachten (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 18 | + | |
| − | CE UPLOADS (FILELIST) • „Read from path“ wurde bislang nicht per TS ausgewertet • leadmin/users/{TSFE:fe_user|user|username}/ • tt_content.uploads.20. lePath. eld = select_key tt_content.uploads.20. lePath.insertData = 1 • Labels der Größenbezeichnung ändern durch # constants styles.content.uploads. lesize.labels = Bytes | KB | MB | GB # setup tt_content.uploads.20. lesize.labels = Bytes | KB | MB | GB (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 19 | + | RELOGIN IM BE |
| − | LIST VIEW COLLAPSE • Tables können im ListView zugeklappt werden • (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 20
| + | * Overlay statt PopUp |
| − | LIST VIEW LIMITS • Im Modul „List“ wurden bisher die Limits hartkodiert • Zugriff nun über UserTS möglich • mod.web_list.itemsLimitSingleTable = 50 mod.web_list.itemsLimitPerTable = 10 (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 21
| + | * Nur noch Eingabe von Passwort nötig |
| − | REDIRECTION STATUS CODE • Beim Anlegen eines Domain-Records kann nun auch der HTTP-Statuscode eingestellt werden (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 22
| + | * Bei Klick auf „Logout“ erfolgt Weiterleitung auf Login-Screen |
| − | SYS ACTIONS • Wenn SysActions installiert sind und Actions de niert wurden, werden diese in der Taskleiste oben rechts angezeigt. (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 23
| + | |
| − | SPRACHEN DEAKTIVIEREN • Im PageTS kann nun festgelegt werden, welche Sprachen im Seitenbaum nicht mehr als Übersetzung angelegt werden können • Dadurch Steuerung, welche Sprachen wo angelegt werden • mod.SHARED.disableLanguages = ID1,ID2,ID3 (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 24
| + | KOSMETIK IM BE |
| − | BE LOCKDOWN • Das Backend kann zu Maintanance-Zwecken komplett abgesperrt werden • Datei anlegen: typo3conf/LOCK_BACKEND oder CLI script lowlevel_admin • (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 25
| + | * Flash Messages im BE |
| − | KEEP ITEMS • TCEFORM.<table>.< eld>.keepItems • Angegebene (Select-)Felder werden behalten, alle anderen werden entfernt • TCEFORM.pages.doktype { keepItems = 1,2,255 } (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 26
| + | * Buttons mit 3D-Effekt |
| − | SERVICES IN CONFIGURATION • Im Modul „Con guration“ sind nun auch die Services zu nden (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 27
| + | * date2cal ist nun im Core integriert |
| − | CONTENT ELEMENT WIZARD • Der „New Content Element Wizard“ ist nun komplett durch PageTScon g kon gurierbar • Tabs (statt Liste) durch mod.wizards.newContentElement.renderMode = tabs (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 28
| + | |
| − | CONTENT ELEMENT WIZARD • mod.wizards.newContentElement.wizardItems.common.elements { header { icon = gfx/c_wiz/regular_text.gif title = Header description = Fügt einen Header hinzu tt_content_defValues { CType = header } } } mod.wizards.newContentElement.wizardItems.common.show := addToList(header) (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 29
| + | CONTENT ELEMENT MEDIA |
| − | CONTENT ELEMENT WIZARD • Es sind ebenso neue Gruppen (Tabs) möglich - ebenso Vorbelegungen • mod.wizards.newContentElement.wizardItems.myGroup { header = typofaktum Contentelemente elements.customText { icon = gfx/c_wiz/regular_text.gif title = Erstes Element (Text) description = Dieses Element sollte immer zuerst auf einer Seite beendet werden tt_content_defValues { CType = text bodytext ( <h2>Section Header</h2> <p class="bodytext">Lorem ipsum dolor sit amet, consectetur, sadipisci velit ...</p> ) header = Section Header header_layout = 100 } } } mod.wizards.newContentElement.wizardItems.myGroup.show := addToList(customText (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 30
| + | * Über das neue Content Element „Media“ können nun einfach Videos, Audio-Files oder Flash eingebunden werden |
| − | SYSTEM-EXTENSIONS Neuerungen und Änderungen (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 31 - Die Neuerungen | Patrick Lobacher | 27.11.2009 4.3
| + | * Es können zusätzliche Paramater übergeben werden |
| − | SYSTEM-EXTENSIONS • Durch Auslagerung von Core-Funktionalitäten in System- Extension wird die Performance gesteigert • Simulate Static Documents • Frontend Editing • Versionierung & Workspaces als System-Extension (version) Versionierung im Kontext-Menü abschaltbar durch TScon g: options.contextMenu.pageTree.disableItems = versioning (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 32
| + | * AlternativerInhalt kann ebenfalls angegeben werden |
| − | T3EDITOR • Der TypoScript-Editor (t3editor) kann nun auch Code- Completion und nicht nur Syntax-Highlighting • Zudem kann man mittels CMD+S (STRG+S) speichern (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 33 | + | |
| − | RECYCLER • Recycler (muss aktiviert werden) auf ExtJS Basis (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 34
| + | ==== FILELIST-MODUL ==== |
| − | REPORTS (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 35 | + | |
| − | REPORTS • System-Extension: Reports (muss installiert werden) (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 36
| + | MASS FILE UPLOADER |
| − | SCHEDULER • System-Extension: scheduler • Zeitgesteuerte Ausführung von Tasks möglich • */15 * * * * /usr/local/bin/php /home/www/typo3/cli_dispatch.phpsh scheduler (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 37 | + | * Upload von mehreren Dateien gleichzeitig möglich |
| − | SCHEDULER • Neuen Task de nieren: class tx_myext_mytask extends tx_scheduler_Task { public function execute() { ... } } • Task zufügen (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 38
| + | |
| − | FRONTEND EDITING • feeditadvanced (normale Extension) • Installation reicht zur Aktivierung • Overlay-Menü bei RollOver mit Editieren, Neu, Verstecken, Löschen und Position ändern • Über „Angreifer“ Drag&Drop an andere Position möglich (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 39
| + | SUGGESTS BEI BE-FORMS |
| − | FRONTEND EDITING • Menüleiste für FE-Editing oben am Bildschirmrand • Ausschalten des FE-Editing oben rechts • Seiteneigenschaften und neue Seite anlegen oben links • Neues Content-Element durch Drag&Drop möglich (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 40 | + | * Bei manchen Formularelementen wird AJAX verwendet um Ergebnisse anzuzeigen |
| − | SICHERHEIT Erhöhung der Sicherheit in FE und BE (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 41 - Die Neuerungen | Patrick Lobacher | 27.11.2009 4.3
| + | |
| − | SICHERHEIT • OpenID wurde als Login-Mechanismus eingebaut (Extension: openid) • Salted Passwords gegen Rainbow-Table-Attacken (über die Extension: Salted user password hashes saltedpasswords) • Möglichkeit Cookies gegen XSS zu schützen (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 42
| + | EXTENSION MANAGER |
| − | RSA AUTHENTIFICATION • Systemextension rsaauth (muss installiert werden) • Verschlüsselung von FE- und BE-Login auch ohne SSL • TYPO3 generiert ein KeyPair (Public, Private) und sendet den Public-Key an den Browser, der damit das Passwort verschlüsselt • TYPO3 entschlüsselt das Passwort mit dem Private-Key • Damit ist das Login auch in unsicheren Umgebungen sicher • $TYPO3_CONF_VARS[BE][loginSecurityLevel] = rsa (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 43
| + | * select/deselect all beim Installieren von Extensions |
| − | FE/BE-SESSION-COOKIES • Es kann eingestellt werden, dass FE/BE-Session-Cookies ausschließlich per HTTP angesprochen werden können und nicht mehr auch durch JavaScript $TYPO3_CONF_VARS['SYS']['cookieHttpOnly'] = true; • Damit ist die Gefahr von XSS an dieser Stelle minimiert • Transfer des Cookies einschränken durch: $TYPO3_CONF_VARS['SYS']['cookieSecure'] = 0 / 1 / 2 (0 = unverändert / 1 = Übertragung des Cookies nur bei SSL) (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 44
| + | |
| − | TYPOSCRIPT Neue und geänderte Optionen (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 45 - Die Neuerungen | Patrick Lobacher | 27.11.2009 4.3
| + | BENUTZERGRUPPE |
| − | TS: ABS REF PREFIX • Beispielsweise bei RealURL sollte man con g.baseURL einsetzen um korrekte Links zu erhalten • Manche Clients werten das <base>-Tag nicht aus • Daher con g.absRefPre x als Lösung (arbeitet für die Verzeichnisse typo3conf/ext/, media/ und / leadmin) • Erweiterung der Verzeichnisse durch: $TYPO3_CONF_VARS['FE']['additionalAbsRefPre xDirectories'] (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 46
| + | * Dateirechte nun auch per (Backend-)Benutzergruppe einstellbar (und nicht nur per User wie früher) |
| − | TS: MAX • XY = [10.w]+[20.w], max([10.h], [20.h]) • max-Funktion gibt das Maximum zweier Werte zurück • sinnvoll, beispielsweise im GIFBUILDER, da die Ausmaße des Bildes ja von dynamischen Größen abhängen können (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 47
| + | |
| − | TS: TARGET FÜR LINKS • Einfaches Setzen des Target für Links zu internen Files (nicht Seiten!) • con g. leTarget = _blank (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 48
| + | SAVEDOCNEW |
| − | TS: DEFAULT GET-VARS • Es ist nun möglich, Default-Werte für GET-Parameter festzulegen • con g.linkVars = L con g.defaultGetVars { tx_extension_pi1.variable = 2 L=1 } (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 49
| + | * saveDocNew per Default für alle Tabellen aktiv |
| − | TS: HMENU • Über eine TS-Option kann die Reihenfolge der Menüeinträge umgedreht werden • HMENU.special.reverseOrder =1 (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 50
| + | * früher (Abschalten mit 0): options { saveDocNew.pages = 1 bzw. 0 } |
| − | TS: CONDITIONS • Nun auch Conditions in TScon g möglich • Neue Vergleiche: # Jetzt schon möglich [globalVar = GP:test = 1] [globalVar = GP:test < 1] [globalVar = GP:test > 1] • #Neu [globalVar = GP:test <= 1] [globalVar = GP:test >= 1] [globalVar = GP:test == 1] [globalVar = GP:test != 1] (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 51
| + | |
| − | TS: GMENU • wrapItemAndSub nun auch für GMENU verfügbar • lib.graphMenu { 1 = GMENU 1 { wrap = <ul>|</ul> NO { allWrap = <li>|</li> XY = [10.w]+5,18 10 = TEXT 10 { text. eld = title } } ACT < .NO ACT = 1 ACT.allWrap > ACT.wrapItemAndSub = <li>|</li> } 2 < .1 } (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 52
| + | CACHING FRAMEWORK |
| | + | * Caching Framework für individuelle Speicherung |
| | + | |
| | + | $TYPO3_CONF_VARS['SYS']['useCachingFramework'] = '1'; |
| | + | |
| | + | * Nutzung von „memcached“ möglich => schnellerer Cache |
| | + | * memcached ist ein unter der BSD-Lizenz veröffentlichter Cache- Server zum allgemeinen Hinterlegen und Abholen von Daten aus dem Arbeitsspeicher |
| | + | * legt 6 neue Tabellen an => beim Update beachten |
| | + | |
| | + | CE UPLOADS (FILELIST) |
| | + | * „Read from path“ wurde bislang nicht per TS ausgewertet |
| | + | * fileadmin/users/{TSFE:fe_user|user|username}/ |
| | + | * tt_content.uploads.20. lePath. eld = select_key tt_content.uploads.20. lePath.insertData = 1 |
| | + | * Labels der Größenbezeichnung ändern durch |
| | + | |
| | + | #constants |
| | + | styles.content.uploads.filesize.labels = Bytes | KB | MB | GB |
| | + | #setup |
| | + | tt_content.uploads.20.filesize.labels = Bytes | KB | MB | GB |
| | + | |
| | + | LIST VIEW COLLAPSE |
| | + | * Tables können im ListView zugeklappt werden |
| | + | |
| | + | LIST VIEW LIMITS |
| | + | * Im Modul „List“ wurden bisher die Limits hartkodiert |
| | + | * Zugriff nun über UserTS möglich |
| | + | mod.web_list.itemsLimitSingleTable = 50 |
| | + | mod.web_list.itemsLimitPerTable = 10 |
| | + | |
| | + | REDIRECTION STATUS CODE |
| | + | * Beim Anlegen eines Domain-Records kann nun auch der HTTP-Statuscode eingestellt werden |
| | + | |
| | + | SYS ACTIONS |
| | + | * Wenn SysActions installiert sind und Actions definiert wurden, werden diese in der Taskleiste oben rechts angezeigt. |
| | + | |
| | + | SPRACHEN DEAKTIVIEREN |
| | + | * Im PageTS kann nun festgelegt werden, welche Sprachen im Seitenbaum nicht mehr als Übersetzung angelegt werden können |
| | + | * Dadurch Steuerung, welche Sprachen wo angelegt werden |
| | + | * mod.SHARED.disableLanguages = ID1,ID2,ID3 |
| | + | |
| | + | BE LOCKDOWN |
| | + | * Das Backend kann zu Maintanance-Zwecken komplett abgesperrt werden |
| | + | * Datei anlegen: typo3conf/LOCK_BACKEND oder CLI script lowlevel_admin |
| | + | |
| | + | KEEP ITEMS |
| | + | |
| | + | TCEFORM.<table>.< eld>.keepItems |
| | + | |
| | + | * Angegebene (Select-)Felder werden behalten, alle anderen werden entfernt |
| | + | |
| | + | TCEFORM.pages.doktype { keepItems = 1,2,255 } |
| | + | |
| | + | SERVICES IN CONFIGURATION |
| | + | * Im Modul „Configuration“ sind nun auch die Services zu finden |
| | + | |
| | + | CONTENT ELEMENT WIZARD |
| | + | * Der „New Content Element Wizard“ ist nun komplett durch PageTSconfig konfigurierbar |
| | + | * Tabs (statt Liste) durch |
| | + | <pre> |
| | + | mod.wizards.newContentElement.renderMode = tabs |
| | + | mod.wizards.newContentElement.wizardItems.common.elements { |
| | + | header { icon = gfx/c_wiz/regular_text.gif title = Header description = Fügt einen Header hinzu tt_content_defValues { |
| | + | CType = header } |
| | + | } |
| | + | } |
| | + | mod.wizards.newContentElement.wizardItems.common.show := addToList(header) |
| | + | </pre> |
| | + | * Es sind ebenso neue Gruppen (Tabs) möglich - ebenso Vorbelegungen |
| | + | <pre> |
| | + | mod.wizards.newContentElement.wizardItems.myGroup { |
| | + | header = typofaktum Contentelemente elements.customText { |
| | + | icon = gfx/c_wiz/regular_text.gif |
| | + | title = Erstes Element (Text) |
| | + | description = Dieses Element sollte immer zuerst auf einer Seite beendet werden |
| | + | tt_content_defValues { |
| | + | CType = text bodytext ( <h2>Section Header</h2> <p class="bodytext">Lorem ipsum dolor sit amet, consectetur, sadipisci velit ...</p> ) |
| | + | header = Section Header header_layout = 100 |
| | + | } |
| | + | } |
| | + | } |
| | + | mod.wizards.newContentElement.wizardItems.myGroup.show := addToList(customText |
| | + | |
| | + | SYSTEM-EXTENSIONS |
| | + | * Durch Auslagerung von Core-Funktionalitäten in System- Extension wird die Performance gesteigert |
| | + | * Simulate Static Documents |
| | + | * Frontend Editing |
| | + | * Versionierung & Workspaces als System-Extension (version) Versionierung im Kontext-Menü abschaltbar durch TSconfig: |
| | + | options.contextMenu.pageTree.disableItems = versioning |
| | + | |
| | + | T3EDITOR |
| | + | * Der TypoScript-Editor (t3editor) kann nun auch Code- Completion und nicht nur Syntax-Highlighting |
| | + | * Zudem kann man mittels CMD+S (STRG+S) speichern |
| | + | |
| | + | RECYCLER |
| | + | * Recycler (muss aktiviert werden) |
| | + | * auf ExtJS Basis |
| | + | |
| | + | REPORTS |
| | + | * System-Extension: Reports (muss installiert werden) |
| | + | |
| | + | SCHEDULER |
| | + | * System-Extension: scheduler |
| | + | * Zeitgesteuerte Ausführung von Tasks möglich |
| | + | |
| | + | */15 * * * * /usr/local/bin/php /home/www/typo3/cli_dispatch.phpsh scheduler |
| | + | |
| | + | * Neuen Task definieren: |
| | + | <pre> |
| | + | class tx_myext_mytask extends tx_scheduler_Task { |
| | + | public function execute() { |
| | + | ... |
| | + | } |
| | + | } |
| | + | * Task zufügen |
| | + | |
| | + | FRONTEND EDITING |
| | + | * feeditadvanced (normale Extension) |
| | + | * Installation reicht zur Aktivierung |
| | + | * Overlay-Menü bei RollOver mit Editieren, Neu, Verstecken, Löschen und Position ändern |
| | + | * Über „Angreifer“ Drag&Drop an andere Position möglich |
| | + | * Menüleiste für FE-Editing oben am Bildschirmrand |
| | + | * Ausschalten des FE-Editing oben rechts |
| | + | * Seiteneigenschaften und neue Seite anlegen oben links |
| | + | * Neues Content-Element durch Drag&Drop möglich |
| | + | |
| | + | SICHERHEIT |
| | + | * Erhöhung der Sicherheit in FE und BE (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 41 - Die Neuerungen | Patrick Lobacher | 27.11.2009 4.3 |
| | + | * OpenID wurde als Login-Mechanismus eingebaut (Extension: openid) |
| | + | * Salted Passwords gegen Rainbow-Table-Attacken (über die Extension: Salted user password hashes saltedpasswords) |
| | + | * Möglichkeit Cookies gegen XSS zu schützen |
| | + | |
| | + | RSA AUTHENTIFICATION |
| | + | * Systemextension rsaauth (muss installiert werden) |
| | + | * Verschlüsselung von FE- und BE-Login auch ohne SSL |
| | + | * TYPO3 generiert ein KeyPair (Public, Private) und sendet den Public-Key an den Browser, der damit das Passwort verschlüsselt |
| | + | * TYPO3 entschlüsselt das Passwort mit dem Private-Key |
| | + | * Damit ist das Login auch in unsicheren Umgebungen sicher |
| | + | |
| | + | $TYPO3_CONF_VARS[BE][loginSecurityLevel] = rsa |
| | + | |
| | + | FE/BE-SESSION-COOKIES |
| | + | * Es kann eingestellt werden, dass FE/BE-Session-Cookies ausschließlich per HTTP angesprochen werden können und nicht mehr auch durch JavaScript |
| | + | $TYPO3_CONF_VARS['SYS']['cookieHttpOnly'] = true; |
| | + | * Damit ist die Gefahr von XSS an dieser Stelle minimiert |
| | + | * Transfer des Cookies einschränken durch: |
| | + | $TYPO3_CONF_VARS['SYS']['cookieSecure'] = 0 / 1 / 2 |
| | + | (0 = unverändert / 1 = Übertragung des Cookies nur bei SSL) |
| | + | |
| | + | TYPOSCRIPT |
| | + | * Neue und geänderte Optionen |
| | + | |
| | + | TS: ABS REF PREFIX |
| | + | * Beispielsweise bei RealURL sollte man config.baseURL einsetzen um korrekte Links zu erhalten |
| | + | * Manche Clients werten das <base>-Tag nicht aus |
| | + | * Daher config.absRefPre x als Lösung (arbeitet für die Verzeichnisse typo3conf/ext/, media/ und / leadmin) |
| | + | * Erweiterung der Verzeichnisse durch: |
| | + | $TYPO3_CONF_VARS['FE']['additionalAbsRefPre xDirectories'] |
| | + | |
| | + | TS: MAX |
| | + | XY = [10.w]+[20.w], max([10.h], [20.h]) |
| | + | * max-Funktion gibt das Maximum zweier Werte zurück |
| | + | * sinnvoll, beispielsweise im GIFBUILDER, da die Ausmaße des Bildes ja von dynamischen Größen abhängen können |
| | + | |
| | + | TS: TARGET FÜR LINKS |
| | + | * Einfaches Setzen des Target für Links zu internen Files (nicht Seiten!) |
| | + | config.fileTarget = _blank |
| | + | |
| | + | TS: DEFAULT GET-VARS |
| | + | * Es ist nun möglich, Default-Werte für GET-Parameter festzulegen |
| | + | config.linkVars = L |
| | + | config.defaultGetVars { tx_extension_pi1.variable = 2 L=1 } |
| | + | |
| | + | TS: HMENU |
| | + | * Über eine TS-Option kann die Reihenfolge der Menüeinträge umgedreht werden |
| | + | HMENU.special.reverseOrder =1 |
| | + | |
| | + | TS: CONDITIONS |
| | + | * Nun auch Conditions in TSconfig möglich |
| | + | * Neue Vergleiche: # Jetzt schon möglich |
| | + | [globalVar = GP:test = 1] [globalVar = GP:test < 1] [globalVar = GP:test > 1] |
| | + | #Neu [globalVar = GP:test <= 1] [globalVar = GP:test >= 1] [globalVar = GP:test == 1] [globalVar = GP:test != 1] |
| | + | |
| | + | TS: GMENU |
| | + | * wrapItemAndSub nun auch für GMENU verfügbar |
| | + | <pre> |
| | + | lib.graphMenu { |
| | + | 1 = GMENU |
| | + | 1 { |
| | + | wrap = <ul>|</ul> |
| | + | NO { |
| | + | allWrap = <li>|</li> |
| | + | XY = [10.w]+5,18 |
| | + | 10 = TEXT |
| | + | 10 { |
| | + | text. eld = title } } ACT < .NO ACT = 1 ACT.allWrap > ACT.wrapItemAndSub = <li>|</li> } 2 < .1 } (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 52 |
| | TS: JUMPURL AUCH MIT 301 • jumpURL sorgt dafür, dass eine Datei nicht direkt verlinkt wird, sondern durch das Framework ausgeliefert wird (dadurch können beispielsweise die Klicks gezählt werden) • Bislang immer Status-Code 302 (Moved temporarily) • Nun auch 301 (Moved permanently) o.a. möglich • TSFE.jumpURL_HTTPStatusCode = 302 (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 53 | | TS: JUMPURL AUCH MIT 301 • jumpURL sorgt dafür, dass eine Datei nicht direkt verlinkt wird, sondern durch das Framework ausgeliefert wird (dadurch können beispielsweise die Klicks gezählt werden) • Bislang immer Status-Code 302 (Moved temporarily) • Nun auch 301 (Moved permanently) o.a. möglich • TSFE.jumpURL_HTTPStatusCode = 302 (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 53 |
| | CSS STYLED CONTENT • Die CSS Styled Content TypoScript Templates wurden überarbeitet und dabei insbesondere verschlankt • Ältere Versionen können nun direkt als Static Template eingebunden werden (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 54 | | CSS STYLED CONTENT • Die CSS Styled Content TypoScript Templates wurden überarbeitet und dabei insbesondere verschlankt • Ältere Versionen können nun direkt als Static Template eingebunden werden (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 54 |
http://www.slideshare.net/plobacher/typo3-43-die-neuerungen-im-berblick
Typo3 4.3 Die Neuerungen im Überblick
Presentation Transcript
TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 2
ÜBER TYPOFAKTUM • GF Patrick Lobacher hat zahlreiche Bücher und Artikel über alle Aspekte von TYPO3 veröffentlicht - weitere sind in Vorbereitung • Geschäftsbereiche • TYPO3 Konzeption, Entwicklung, Programmierung, Integration (inkl. Extbase / Fluid / FLOW3) • Consulting, Projektmanagement & Coaching • Schulung (inkl. komplettes TYPO3-Curriculum von Anfäger bis Fortgeschrittene und Spezialschulungen sowie Firmen- und Individualschulungen) • Print (Konzeption, Produktion) Adresse: typofaktum unternehmenskommunikation belfortstr. 8 81667 münchen tel 089 46 13 38 67 fax 089 46 13 38 68 email info@typofaktum.de web http://www.typofaktum.de (c) 2009 - typofaktum unternehmenskommunikation
BACKEND
- Neue Funktionen und Kosmetik
LOGIN SCREEN IM BE
- Login ist Skinable
- Datei: typo3/sysext/t3skin/ templates/login.html
- Eigener Skin wie folgt möglich
- Neue Extension anlegen
- Dort Datei anlegen: ext_tables.php
- Datei anlegen (und default kopieren): res/login.html
- Folgende Zeile hinzufügen (extKey anpassen)
$GLOBALS['TBE_STYLES']['htmlTemplates']['templates/ login.html'] = 'EXT:extKey/res/login.html';
RELOGIN IM BE
- Overlay statt PopUp
- Nur noch Eingabe von Passwort nötig
- Bei Klick auf „Logout“ erfolgt Weiterleitung auf Login-Screen
KOSMETIK IM BE
- Flash Messages im BE
- Buttons mit 3D-Effekt
- date2cal ist nun im Core integriert
CONTENT ELEMENT MEDIA
- Über das neue Content Element „Media“ können nun einfach Videos, Audio-Files oder Flash eingebunden werden
- Es können zusätzliche Paramater übergeben werden
- AlternativerInhalt kann ebenfalls angegeben werden
FILELIST-MODUL
MASS FILE UPLOADER
- Upload von mehreren Dateien gleichzeitig möglich
SUGGESTS BEI BE-FORMS
- Bei manchen Formularelementen wird AJAX verwendet um Ergebnisse anzuzeigen
EXTENSION MANAGER
- select/deselect all beim Installieren von Extensions
BENUTZERGRUPPE
- Dateirechte nun auch per (Backend-)Benutzergruppe einstellbar (und nicht nur per User wie früher)
SAVEDOCNEW
- saveDocNew per Default für alle Tabellen aktiv
- früher (Abschalten mit 0): options { saveDocNew.pages = 1 bzw. 0 }
CACHING FRAMEWORK
- Caching Framework für individuelle Speicherung
$TYPO3_CONF_VARS['SYS']['useCachingFramework'] = '1';
- Nutzung von „memcached“ möglich => schnellerer Cache
- memcached ist ein unter der BSD-Lizenz veröffentlichter Cache- Server zum allgemeinen Hinterlegen und Abholen von Daten aus dem Arbeitsspeicher
- legt 6 neue Tabellen an => beim Update beachten
CE UPLOADS (FILELIST)
- „Read from path“ wurde bislang nicht per TS ausgewertet
- fileadmin/users/{TSFE:fe_user|user|username}/
- tt_content.uploads.20. lePath. eld = select_key tt_content.uploads.20. lePath.insertData = 1
- Labels der Größenbezeichnung ändern durch
#constants
styles.content.uploads.filesize.labels = Bytes | KB | MB | GB
#setup
tt_content.uploads.20.filesize.labels = Bytes | KB | MB | GB
LIST VIEW COLLAPSE
- Tables können im ListView zugeklappt werden
LIST VIEW LIMITS
- Im Modul „List“ wurden bisher die Limits hartkodiert
- Zugriff nun über UserTS möglich
mod.web_list.itemsLimitSingleTable = 50
mod.web_list.itemsLimitPerTable = 10
REDIRECTION STATUS CODE
- Beim Anlegen eines Domain-Records kann nun auch der HTTP-Statuscode eingestellt werden
SYS ACTIONS
- Wenn SysActions installiert sind und Actions definiert wurden, werden diese in der Taskleiste oben rechts angezeigt.
SPRACHEN DEAKTIVIEREN
- Im PageTS kann nun festgelegt werden, welche Sprachen im Seitenbaum nicht mehr als Übersetzung angelegt werden können
- Dadurch Steuerung, welche Sprachen wo angelegt werden
- mod.SHARED.disableLanguages = ID1,ID2,ID3
BE LOCKDOWN
- Das Backend kann zu Maintanance-Zwecken komplett abgesperrt werden
- Datei anlegen: typo3conf/LOCK_BACKEND oder CLI script lowlevel_admin
KEEP ITEMS
TCEFORM.
.< eld>.keepItems
- Angegebene (Select-)Felder werden behalten, alle anderen werden entfernt
TCEFORM.pages.doktype { keepItems = 1,2,255 }
SERVICES IN CONFIGURATION
- Im Modul „Configuration“ sind nun auch die Services zu finden
CONTENT ELEMENT WIZARD
- Der „New Content Element Wizard“ ist nun komplett durch PageTSconfig konfigurierbar
- Tabs (statt Liste) durch
mod.wizards.newContentElement.renderMode = tabs
mod.wizards.newContentElement.wizardItems.common.elements {
header { icon = gfx/c_wiz/regular_text.gif title = Header description = Fügt einen Header hinzu tt_content_defValues {
CType = header }
}
}
mod.wizards.newContentElement.wizardItems.common.show := addToList(header)
- Es sind ebenso neue Gruppen (Tabs) möglich - ebenso Vorbelegungen
mod.wizards.newContentElement.wizardItems.myGroup {
header = typofaktum Contentelemente elements.customText {
icon = gfx/c_wiz/regular_text.gif
title = Erstes Element (Text)
description = Dieses Element sollte immer zuerst auf einer Seite beendet werden
tt_content_defValues {
CType = text bodytext ( Lorem ipsum dolor sit amet, consectetur, sadipisci velit ...
)
header = Section Header header_layout = 100
}
}
}
mod.wizards.newContentElement.wizardItems.myGroup.show := addToList(customText
SYSTEM-EXTENSIONS
* Durch Auslagerung von Core-Funktionalitäten in System- Extension wird die Performance gesteigert
* Simulate Static Documents
* Frontend Editing
* Versionierung & Workspaces als System-Extension (version) Versionierung im Kontext-Menü abschaltbar durch TSconfig:
options.contextMenu.pageTree.disableItems = versioning
T3EDITOR
* Der TypoScript-Editor (t3editor) kann nun auch Code- Completion und nicht nur Syntax-Highlighting
* Zudem kann man mittels CMD+S (STRG+S) speichern
RECYCLER
* Recycler (muss aktiviert werden)
* auf ExtJS Basis
REPORTS
* System-Extension: Reports (muss installiert werden)
SCHEDULER
* System-Extension: scheduler
* Zeitgesteuerte Ausführung von Tasks möglich
*/15 * * * * /usr/local/bin/php /home/www/typo3/cli_dispatch.phpsh scheduler
* Neuen Task definieren:
class tx_myext_mytask extends tx_scheduler_Task {
public function execute() {
...
}
}
* Task zufügen
FRONTEND EDITING
* feeditadvanced (normale Extension)
* Installation reicht zur Aktivierung
* Overlay-Menü bei RollOver mit Editieren, Neu, Verstecken, Löschen und Position ändern
* Über „Angreifer“ Drag&Drop an andere Position möglich
* Menüleiste für FE-Editing oben am Bildschirmrand
* Ausschalten des FE-Editing oben rechts
* Seiteneigenschaften und neue Seite anlegen oben links
* Neues Content-Element durch Drag&Drop möglich
SICHERHEIT
* Erhöhung der Sicherheit in FE und BE (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 41 - Die Neuerungen | Patrick Lobacher | 27.11.2009 4.3
* OpenID wurde als Login-Mechanismus eingebaut (Extension: openid)
* Salted Passwords gegen Rainbow-Table-Attacken (über die Extension: Salted user password hashes saltedpasswords)
* Möglichkeit Cookies gegen XSS zu schützen
RSA AUTHENTIFICATION
* Systemextension rsaauth (muss installiert werden)
* Verschlüsselung von FE- und BE-Login auch ohne SSL
* TYPO3 generiert ein KeyPair (Public, Private) und sendet den Public-Key an den Browser, der damit das Passwort verschlüsselt
* TYPO3 entschlüsselt das Passwort mit dem Private-Key
* Damit ist das Login auch in unsicheren Umgebungen sicher
$TYPO3_CONF_VARS[BE][loginSecurityLevel] = rsa
FE/BE-SESSION-COOKIES
* Es kann eingestellt werden, dass FE/BE-Session-Cookies ausschließlich per HTTP angesprochen werden können und nicht mehr auch durch JavaScript
$TYPO3_CONF_VARS['SYS']['cookieHttpOnly'] = true;
* Damit ist die Gefahr von XSS an dieser Stelle minimiert
* Transfer des Cookies einschränken durch:
$TYPO3_CONF_VARS['SYS']['cookieSecure'] = 0 / 1 / 2
(0 = unverändert / 1 = Übertragung des Cookies nur bei SSL)
TYPOSCRIPT
* Neue und geänderte Optionen
TS: ABS REF PREFIX
* Beispielsweise bei RealURL sollte man config.baseURL einsetzen um korrekte Links zu erhalten
* Manche Clients werten das <base>-Tag nicht aus
* Daher config.absRefPre x als Lösung (arbeitet für die Verzeichnisse typo3conf/ext/, media/ und / leadmin)
* Erweiterung der Verzeichnisse durch:
$TYPO3_CONF_VARS['FE']['additionalAbsRefPre xDirectories']
TS: MAX
XY = [10.w]+[20.w], max([10.h], [20.h])
* max-Funktion gibt das Maximum zweier Werte zurück
* sinnvoll, beispielsweise im GIFBUILDER, da die Ausmaße des Bildes ja von dynamischen Größen abhängen können
TS: TARGET FÜR LINKS
* Einfaches Setzen des Target für Links zu internen Files (nicht Seiten!)
config.fileTarget = _blank
TS: DEFAULT GET-VARS
* Es ist nun möglich, Default-Werte für GET-Parameter festzulegen
config.linkVars = L
config.defaultGetVars { tx_extension_pi1.variable = 2 L=1 }
TS: HMENU
* Über eine TS-Option kann die Reihenfolge der Menüeinträge umgedreht werden
HMENU.special.reverseOrder =1
TS: CONDITIONS
* Nun auch Conditions in TSconfig möglich
* Neue Vergleiche: # Jetzt schon möglich
[globalVar = GP:test = 1] [globalVar = GP:test < 1] [globalVar = GP:test > 1]
#Neu [globalVar = GP:test <= 1] [globalVar = GP:test >= 1] [globalVar = GP:test == 1] [globalVar = GP:test != 1]
TS: GMENU
* wrapItemAndSub nun auch für GMENU verfügbar
lib.graphMenu {
1 = GMENU
1 {
wrap =
NO {
allWrap =
|
XY = [10.w]+5,18
10 = TEXT
10 {
text. eld = title } } ACT < .NO ACT = 1 ACT.allWrap > ACT.wrapItemAndSub =
| } 2 < .1 } (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 52
TS: JUMPURL AUCH MIT 301 • jumpURL sorgt dafür, dass eine Datei nicht direkt verlinkt wird, sondern durch das Framework ausgeliefert wird (dadurch können beispielsweise die Klicks gezählt werden) • Bislang immer Status-Code 302 (Moved temporarily) • Nun auch 301 (Moved permanently) o.a. möglich • TSFE.jumpURL_HTTPStatusCode = 302 (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 53
CSS STYLED CONTENT • Die CSS Styled Content TypoScript Templates wurden überarbeitet und dabei insbesondere verschlankt • Ältere Versionen können nun direkt als Static Template eingebunden werden (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 54
TS: INCLUDES • Die Möglichkeiten der Includes von JS und CSS wurden stark erweitert (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 55
EXTENSION-ENTWICKLUNG Neuerungen und Änderungen (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 56 - Die Neuerungen | Patrick Lobacher | 27.11.2009 4.3
EXTBASE UND FLUID • Extbase und Fluid als Backport zu FLOW3 • Extbase: Framework um Extensions (Plugins und Module) zu programmieren - MVC (Model View Controller) bzw. DDD (Domain Driven Design) • Fluid:Templating Engine (ersetzt bisherigen Marker/ Subparts-Mechanismus) • Beide sind unabhängig voneinander einsetzbar (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 57
AUTOLOADER • Autoloader für PHP Klassen im Core und Extensions • Neue Datei: ext_autoload.php im Rootverzeichnis einer Extension • $extensionClassesPath = t3lib_extMgm::extPath('blog_example') . 'Classes/'; return array( 'tx_blogexample_viewhelpers_abstractbackendviewhelper' => $extensionClassesPath . 'ViewHelpers/AbstractBackendViewHelper.php', ); (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 58
NEUER STATE FÜR EXTENSIONS • Neben den States „alpha“ „beta“, „stable“, „experimental“ und „deprecated“ gibt es nun einen neuen „excludeFromUpdates“ => Schreibschutz für diese Extension • Eintrag in ext_emconf.php • $EM_CONF[$_EXTKEY] = array( ... 'state' => 'excludeFromUpdates', ... ); (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 59
EXTJS • Integration von Ext JS als Widget Library • Ext JS is a cross-browser JavaScript library for building rich internet applications • Damit ist es möglich, Interface-Elemente schnell und unkompliziert zu erstellen (wie Grids, Dialoge, Panels, …) • Momentan Einsatz im Logout-Dialog, Recycler, ... • typo3/contrib/extjs/ • BE von TYPO3 5.0 basiert komplett auf Ext JS (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 60
EID OPTIONEN • Beim Erstellen von EID-Scripts (beispielsweise für AJAX-Calls) gibt es nun weitere Funktionen • tslib_eidtools::initLanguage() Initialisiert die Spracheverwaltung und deren Methoden • tslib_eidtools::initTCA() lädt das TCA • tslib_eidtools::getTSFE() Initialisiert das TSFE (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 61
JS IM BE LADEN • $this->doc->getPageRenderer()->loadPrototype(); • $this->doc->getPageRenderer()->loadScriptaculous(); • $this->doc->getPageRenderer()->loadScriptaculous ('effects,dragdrop'); • $this->doc->getPageRenderer()->loadExtJS(); • $this->doc->extJsCode[] =… (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 62
DEPRECATION LOG • Aufzeichnung für veraltete Funktionen (deprecation log) • typo3conf/deprecation_xxxxx.log • 30-07-09 19:37: t3lib_div:: xed_lgd() - since TYPO3 4.1 - Works ONLY for single-byte charsets! Use t3lib_div:: xed_lgd_cs() instead - tx_t3quixplorer_module1->main#355 // tx_t3quixplorer_module1- >moduleContent#210 // t3quixplorer_listdir->main#328 // t3lib_div:: xed_lgd#494 // t3lib_div::logDeprecatedFunction#567 (t3lib/class.t3lib_div.php#566) (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 63
ENABLE CONTROLS • Für den TCA-Typ „inline“ gibt es eine neue Section „enableControls“ mit der die Controls de niert werden können • 'con g' => array( 'type' => 'inline', ... 'appearance' => array( 'enabledControls' => array( 'new' => false, 'hide' => true, 'info' => false, 'new' => true, 'dragdrop' => false, 'sort' => true, 'hide' => false, 'delete' => true, 'localize' => false, ), ), ), (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 64
API Neuerungen an der TYPO3 API (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 65 - Die Neuerungen | Patrick Lobacher | 27.11.2009 4.3
API: CURRENT HOST • if (t3lib_div::isOnCurrentHost($url)) { // Mache irgendwas } • Überprüft ob eine gegebene URL in der TYPO3-Host liegt (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 66
API: COUNT ROWS • Neuer API-Befehl in der t3lib_db um schnell die Anzahl zu ermitteln • $countPages = $GLOBALS[‘TYPO3_DB’]->exec_SELECTcountRows(‘*’, ‘pages’, ‘deleted = 0’); (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 67
API: PALETTES • Schnelle Möglichkeit, Felder zu Paletten hinzuzufügen • t3lib_extMgm::addNewFieldsToAllPalettesOfField($table, $ eld, $addFields, $insertionPosition =
); • t3lib_extMgm::addNewFieldsToPalette($table, $palette, $addFields, $insertionPosition = ); (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 68
API: NEUE REDIRECTS • t3lib_utility_Http::redirect($url, t3lib_div::HTTP_STATUS_303); • Möglich sind die Konstanten (Pre x: t3lib_utility_Http::) • HTTP_STATUS_100, HTTP_STATUS_101 • HTTP_STATUS_200, HTTP_STATUS_201, ..., HTTP_STATUS_206 • HTTP_STATUS_300, HTTP_STATUS_301, ..., HTTP_STATUS_307 • HTTP_STATUS_400, HTTP_STATUS_401, ..., HTTP_STATUS_417 • HTTP_STATUS_500, HTTP_STATUS_501, ..., HTTP_STATUS_505 (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 69
API: USER / USER_INT • Dynamische Umwandlung zwischen USER und USER_INT mittels convertToUSER:INT() möglich • if ($this->cObj->getUserObjType() == tslib_cObj::OT_USER) { $content = 'Ich bin ein USER Objekt.'; if (!$this->conf['allowCaching']) { $this->cObj->convertToUSER_INT(); return
; } } else { $content .= 'Nun bin ich ein USER_INT Objekt'; } (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 70
SINGLETON • t3lib_div::makeInstance($class) liefert Singleton zurück, wenn die Klasse das Interface t3lib_singleton implementiert (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 71
HOOKS Neue Hooks in TYPO3 4.3 (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 72 - Die Neuerungen | Patrick Lobacher | 27.11.2009 4.3
API: NEUE HOOKS • getSingleField_beforeRender • In der Funktion getSingleField_SW, wird aufgerufen, bevor ein Feld gerendert wird. Die Klasse wird zufügt zum $TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/ class.t3lib_tceforms.php']['getSingleFieldClass'] array und die zugehörige Funktion lautet getSingleField_beforeRender(). Kann benutzt werden, um eigenes TCA-Prozessing vor dem Rendern des Feldes durchzuführen (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 73
API: NEUE HOOKS • tt_content_drawItem • Die Funktion tt_content_drawItem() bei tx_cms_layout kann verwendet werden um den Preview eigener Content-Types (CTypes) zu realisieren. Der Hook wird deklariert in $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/ layout/class.tx_cms_layout.php'] ['tt_content_drawItem_default'] (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 74
API: NEUE HOOKS • ClearCacheMenu • Man kann über diesen Hook eigene Einträge in das „Clear-Cache-Menü“ einbringen, indem man das backend_cacheActionsHook Interface implementiert. Der Hool wird deklariert in $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS'] ['additionalBackendItems']['cacheActions'] (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 75
API: NEUE HOOKS • preprocessRequest • Dieser Hook wird in der Datei index_ts.php deklariert und kann verwendet werden um eine eigene Processing- Strategie festzulegen. So ist es beispielsweise damit möglich, statische Seiten dann auszuliefern, wenn kein User eingeloggt ist und im Falle eines Logins den Request wie gewohnt an TYPO3 zur weiteren Verarbeitung zu leiten. Der Hook wird deklariert in $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/ index_ts.php']['preprocessRequest'] (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 76
API: NEUE HOOKS • makeQueryArray • Hook in der Funktion makeQueryArray() der Klasse class.db_list.inc. Damit können die Query-Parts modi ziert werden. Der Hook wird deklariert in $GLOBALS['TYPO3_CONF_VARS'] ['SC_OPTIONS'] ['typo3/class.db_list.inc']['makeQueryArray'] (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 77
API: NEUE HOOKS • Docheader buttons • Mit diesem Hook können zusätzliche Buttons zum Doc- Header (obere Zeile im TCEFORMS) zugefügt werden - damit werden bisherige XCLASS-Ansätze hinfällig. Der Hook wird deklariert in $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS'] ['typo3/template.php']['docHeaderButtonsHook'] (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 78
API: NEUE HOOKS • wrapTitle • Dieser Hook wurde zur wrapTitle Funktion der Klasse class.webPageTree.php zugefügt. Dies kann verwendet werden um den Seitentitel im Seitenbaum während des Renderings anzupassen. Der Hook wird deklariert in $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS'] ['typo3/class.webpagetree.php']['pageTitleOverlay'] (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 79
API: NEUE HOOKS • debug_typo3PrintError • Über diesen Hook können die Fehlermeldung modi ziert werden, bevor diese zum User gesendet werden. Der Hook wird deklariert in $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS'] ['t3lib/class.t3lib_timetrack.php']['debug_typo3PrintError'] (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 80
API: NEUE HOOKS • getPage • Der Hook in der Funktion getPage() der Klasse t3lib_page erlaubt die Manipulation der Page UID bevor die Datenbank-Zeile der Seite geholt wird. Der Hook wird deklariert in $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS'] ['t3lib/class.t3lib_page.php']['getPage'] (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 81
API: NEUE HOOKS • getImgResource • Über diesen Hook können generierte Bilder vor verarbeitet werden - beispielsweise durch externe Tool oder Optionen die in TYPO3 nicht zur Verfügung stehen Der Hook wird deklariert in $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/ class.tslib_content.php']['getImgResource'] und die zugehörige Klasse muss das Interface tslib_cObj_getImgResourceHook implementieren (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 82
QUELLEN Quellen für diese Präsentation (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 83 - Die Neuerungen | Patrick Lobacher | 27.11.2009 4.3
QUELLEN • Dan‘s Blog
http://danosipov.com/blog/ • TYPO3 Bug-Tracker
http://bugs.typo3.org • TYPO3 Changelog
http://forge.typo3.org/repositories/entry/typo3v4-core/ trunk/ChangeLog • The Internet itself (c) 2009 - typofaktum unternehmenskommunikation | TYPO3 4.3 - Die Neuerungen | Patrick Lobacher | 27.11.2009 84