TYPO3 CMS 6.0 - Die Neuerungen (typovision GmbH)

  • Published on
    03-Sep-2014

  • View
    33.058

  • Download
    0

Embed Size (px)

DESCRIPTION

Am 27.11.2012 ist die Version 6.0 beliebten und markfhrenden Open Source Enterprise Content Management Systems TYPO3 erschienen. Der Claim "Back to the Future!" ist dabei Programm. Hauptaugenmerk dieser Major-Version sind dabei die folgenden Aspekte: - Weitere Annherung an die technologische Basis von TYPO3 Neos und TYPO3 Flow - Verbesserung der Code-Qualitt - Steigerung der Benutzerfreundlichkeit - Integration des neuen File Abstraction Layers (FAL) - u.v.a.m. Letztlich sind ber 1280 nderungen, Bugfixes, Korrekturen und Features in diese neue Version eingeflossen - schier unberschaubar, wenn man sich nicht gerade als Core-Entwickler im Code zu Hause fhlt. Daher hat Patrick Lobacher (GF Marketing/Sales der typovision GmbH) auch diesmal wieder - wie die letzten 3 Jahre auch schon - alle wichtigen nderungen fr Redakteure, Integratoren und Entwickler in knapp ber 135 Slides zusammengestellt und kostenlos zum Download zur Verfgung gestellt.

Transcript

<ul><li> TYPO3 CMS 6.0 Die Neuerungen 27.11.2012 TYPO3 Patrick Lobacher (GF typovision GmbH)(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 1 </li> <li> TYPO3 CMS 6.0 Back to the Future(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 2 </li> <li> TYPO3 CMS 6.0 Back to the FutureVerffentlicht: TYPO3 6.0.0 / 27.11.2012Release Team: Helmut Hummel (Release Manager) Susanne Moog Christian KuhnHauptziele: Mitarbeit frdern und untersttzen Code-Qualitt verbessern File Abstraction Layer integrieren Benutzerfreundlichkeit steigern(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 3 </li> <li> SYSTEMVORAUSSETZUNGEN(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 4 </li> <li> INDEX File Abstraction Layer (6) API (74) Extension Manager (27) Interna (80) LocalConguration (32) Extbase &amp; Fluid (103) Allgemeines (37) Hooks (111) RTE (54) Deprecated Functions (116) TypoScript &amp; TScong (56) Upgrade (119) Namespaces (64) Quellen (122) Logging API (70) TYPO3 Branding (125)(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 5 </li> <li> FILE ABSTRACTION LAYER FAL(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 6 </li> <li> FAL ALLGEMEINES FAL: File Abstraction Layer Datei-Handling auf tiefer Ebene (ber DB) Wurde 2010 auf den Developer Days in Elmshorn gestartet Im Wesentlichen entwickelt von Benjamin Mack, Steffen Ritter, Ingmar Schlecht und Andreas Wolf Ist/War Bestandteil des BLE-Projekts 2011 Ziele: Dateien nicht mehr ber Dateipfad referenzieren Datenspeicherung unabhngig von leadmin/ ermglichen Versionierung von Dateien Metadatenverwaltung (DAM light) Verbessertes User-Interface(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 7 </li> <li> FAL GRUNDKONZEPTE Keine Kopien - nur Referenzen Storages sind Speicherorte (Remote oder lokal) Driver agieren als Art des Speichers (WebDAV, Cloud, ...) Bilder als IRRE-Datenstze inkl. Metadaten Benutzungs-Schicht (Usage Layer) Dateireferenz (FileReference) Speicher-Schicht (Storage Layer) Datei/Verzeichnis Speicher (File/Folder Storage) Mount-Point Treiber-Schicht (Driver Layer) low-level interface Treiber (Driver) Systemcalls(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 8 </li> <li> FAL CE TEXT/BILD Integration in CE Text/Bild(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 9 </li> <li> FAL CE TEXT/BILD Integration in CE Text/Bild - Anlegen von Medien per IRRE - Drag und Drop - Meta-Daten Eingabe(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 10 </li> <li> FAL FILEADMIN Fileadmin Integration - Edit Metadata(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 11 </li> <li> FAL DRIVER FAL Driver (Treiber) spezizieren die Art des Speicherns von Dateien Lokal: Ist bereits in TYPO3 eingebaut WebDAV: http://forge.typo3.org/projects/show/extension-fal_webdav Amazon S3 http://forge.typo3.org/projects/show/extension-fal_amazons3(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 12 </li> <li> FAL SCHEDULER JOB FAL Scheduler Job zum automatischen Indexieren von Dateien(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 13 </li> <li> FAL FILE COLLECTIONS 1 Anlegen von File Collections ber Systemdatensatz (Zwei Typen: Statisch und aus Folder)(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 14 </li> <li> FAL FILE COLLECTIONS 2 Referenzieren von File Collections z.B. aus File Links Content Objekt(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 15 </li> <li> FAL FILE STORAGE 1 Anlegen eines File Storages ber den gleichnamigen Systemdatensatz(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 16 </li> <li> FAL FILE STORAGE 2 / MOUNT Auswahl des File Storages z.B. im Filemount(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 17 </li> <li> FAL TECHNIK DB Es gibt 5 neue Tabellen fr die Verwaltung von FAL sys_le Reprsentiert alle Dateien, die von TYPO3 getracked werden - Dateien mit zustzlichen Metadaten sys_le_collection Reprsentation einer Liste von sys_le Datenstzen sys_le_processedle Temporre Daten, wie Thumbnails, Previews, ... sys_le_reference Benutzung eines sys_le Eintrages irgendwo in der TYPO3-Installation - ist wie eine MM-Tabelle zwischen sys_le und z.B. tt_content:image inkl. den zustzlichen Meta-Daten fr die Verwendung sys_le_storage Deniert einen Root-Zugang zu einem Datei-Speicher - hnlich einem Mount-Point. Jeder Storage ist an einen Treiber gebunden (local, webdav, amazons3) und ist damit der Einstiegspunkt(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 18 </li> <li> FAL PROGRAMMIERUNG - BEISPIELE Programmierung: Datei kopieren $storageUid = 17; $someFileIdentifier = templates/images/banner.jpg; $someFolderIdentifier = website/images/; $storageRepository = TYPO3CMSCoreUtility GeneralUtility::makeInstance(TYPO3CMSCoreRessourceStorageRepository); $storage = $storageRepository-&gt;getByUid($storageUid); // returns a t3lib_file_File object $file = $storage-&gt;getFile($someFileIdentifier); // returns a t3lib_file_File object $folder = $storage-&gt;getFolder($someFolderIdentifier); // returns the t3lib_file_File object of the new, copied file $file-&gt;copyTo($folder); // oder equivalent $folder-&gt;addCopyOfFile($file);(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 19 </li> <li> FAL PROGRAMMIERUNG - BEISPIELE Programmierung: Alle Dateien eines Verzeichnisses auslesen $storageRepository = TYPO3CMSCoreUtility GeneralUtility::makeInstance(TYPO3CMSCoreRessourceStorageRepository); $availableStorages = $storageRepository-&gt;findAll(); foreach($availableStorages as $storage) { $rootFolder = $storage-&gt;getRootFolder(); $subFolders = $rootFolder-&gt;getSubFolders(); foreach($subFolders as $subFolder) { $filesInSubFolder = $subFolder-&gt;getFiles(); $foldersInSubFolder = $subFolder-&gt;getSubFolders(); ... } }(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 20 </li> <li> FAL STORAGE FILE API Programmierung: General API getPublicUrl(TYPO3CMSCoreResourceResourceInterface $fileOrFolder, $relativeToCurrentScript = FALSE) isPathValid($theFile) sanitizeFileName($fileName, $charset = ) getAbsolutePath($file) getLowLevelFileInfo(TYPO3CMSCoreResourceFileInterface $file) hash(TYPO3CMSCoreResourceFileInterface $file, $hashAlgorithm) resourceExists($identifier) fileExists($identifier) fileExistsInFolder($fileName, TYPO3CMSCoreResourceFolder $folder) folderExists($identifier) folderExistsInFolder($folderName, TYPO3CMSCoreResourceFolder $folder)(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 21 </li> <li> FAL STORAGE FILE API Programmierung: Storage API addFile($localFilePath, TYPO3CMSCoreResourceFolder $targetFolder, $fileName, TYPO3CMSCore ResourceAbstractFile $updateFileObject = NULL) createFile($fileName, TYPO3CMSCoreResourceFolder $parentFolder) getFile($identifier) getFileList($path, $start = 0, $numberOfItems = 0, $useFilters = TRUE, $loadIndexRecords = TRUE) hasFile($identifier) getFileContents(TYPO3CMSCoreResourceFileInterface $file) setFileContents(TYPO3CMSCoreResourceFileInterface $file, $contents) deleteFile(TYPO3CMSCoreResourceFileInterface $file) copyFile(TYPO3CMSCoreResourceFileInterface $file, TYPO3CMSCoreResourceFolder $targetFolder, $targetFileName = NULL, $conflictMode = renameNewFile) copyFileWithinStorage(TYPO3CMSCoreResourceFileInterface $file, TYPO3CMSCoreResource Folder $targetFolder, $fileName) copyFileToTemporaryPath(TYPO3CMSCoreResourceFileInterface $file) moveFile($file, $targetFolder, $targetFileName = NULL, $conflictMode = renameNewFile) moveFileWithinStorage(TYPO3CMSCoreResourceFileInterface $file, TYPO3CMSCoreResource Folder $targetFolder, $fileName) renameFile(TYPO3CMSCoreResourceFileInterface $file, $newName) updateFile(TYPO3CMSCoreResourceAbstractFile $file, $identifier = , $storage = NULL) replaceFile(TYPO3CMSCoreResourceFileInterface $file, $localFilePath) getFileForLocalProcessing(TYPO3CMSCoreResourceFileInterface $fileObject, $writable = TRUE) getFileInfoByIdentifier($fileIdentifier) getFileInfo($identifier) getFilePermissions(TYPO3CMSCoreResourceFileInterface $file)(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 22 </li> <li> FAL STORAGE FOLDER API Programmierung: Folder API getRootLevelFolder() getDefaultFolder() createFolder($newFolderName, TYPO3CMSCoreResourceFolder $parentFolder) getFolderInFolder($name, TYPO3CMSCoreResourceFolder $parentFolder) moveFolderWithinStorage(TYPO3CMSCoreResourceFolder $folderToMove, TYPO3CMSCoreResource Folder $targetFolder, $newFolderName) copyFolderWithinStorage(TYPO3CMSCoreResourceFolder $folderToCopy, TYPO3CMSCoreResource Folder $targetFolder, $newFolderName) renameFolder(TYPO3CMSCoreResourceFolder $folder, $newName) deleteFolder(TYPO3CMSCoreResourceFolder $folder, $deleteRecursively = FALSE) isFolderEmpty(TYPO3CMSCoreResourceFolder $folder) getFolderPermissions(TYPO3CMSCoreResourceFolder $folder) isWithin(TYPO3CMSCoreResourceFolder $container, $content)(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 23 </li> <li> FAL TYPOSCRIPT File-Information ber getText data = file:[UID|current]:[fieldName] kann entweder auf eine sys_le UID oder auf das aktuelle Element (ber current) zugegriffen werden. Anschlieend wird der Feldname notiert, den man auslesen will. page.10.data = file:current:title oder page.10.data = file:17:title(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 24 </li> <li> FAL TYPOSCRIPT: BEISPIEL cObject FILES 20 = FILES 20 { references { table = pages uid.data = page:uid fieldName = media } # oder: sys_file_references mit UID 27 references = 27 # UIDs aus sys_files page.10 = FILES files = 12,14,15 page.10.files = 12,15,16 # Mit stdWrap page.10.collections = 2,9 files.field = some_field page.10.folders = 1:mypics/ collections.field = file_collections page.10.renderObj = TEXT page.10.renderObj { folders.field = select_key data = file:current:size wrap = <p>File size:|</p> renderObj = COA } renderObj { 10 = IMAGE 10 { file.import.data = file:current:originalUid // file:current:uid file.width = 150 ... } }(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 25 </li> <li> FAL TYP...</li></ul>