Typo3 cms-6-0-die-neuerungen

  • View
    1.059

  • Download
    2

Embed Size (px)

Transcript

  • 1. TYPO3 CMS 6.0 Die Neuerungen 27.11.2012TYPO3Patrick Lobacher (GF typovision GmbH)(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 1

2. 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 3. 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 4. SYSTEMVORAUSSETZUNGEN(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 4 5. INDEX File Abstraction Layer (6) API (74) Extension Manager (27) Interna (80) LocalConguration (32) Extbase & Fluid (103) Allgemeines (37) Hooks (111) RTE (54) Deprecated Functions (116) TypoScript & 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 6. FILE ABSTRACTION LAYERFAL(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 6 7. FAL ALLGEMEINES FAL: File Abstraction LayerDatei-Handling auf tiefer Ebene (ber DB) Wurde 2010 auf den Developer Days in Elmshorn gestartet Im Wesentlichen entwickelt von Benjamin Mack, Steffen Ritter, IngmarSchlecht 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 8. 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. MetadatenBenutzungs-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 9. 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 10. 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 11. 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 12. FAL DRIVER FAL Driver (Treiber) spezizieren die Art des Speicherns vonDateien Lokal: Ist bereits in TYPO3 eingebaut WebDAV:http://forge.typo3.org/projects/show/extension-fal_webdav Amazon S3http://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 13. 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 14. 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 15. 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 16. 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 17. 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 18. FAL TECHNIK DB Es gibt 5 neue Tabellen fr die Verwaltung von FAL sys_leReprsentiert alle Dateien, die von TYPO3 getracked werden - Dateien mit zustzlichen Metadaten sys_le_collectionReprsentation einer Liste von sys_le Datenstzen sys_le_processedleTemporre Daten, wie Thumbnails, Previews, ... sys_le_referenceBenutzung eines sys_le Eintrages irgendwo in der TYPO3-Installation - ist wie eine MM-Tabellezwischen sys_le und z.B. tt_content:image inkl. den zustzlichen Meta-Daten fr die Verwendung sys_le_storageDeniert einen Root-Zugang zu einem Datei-Speicher - hnlich einem Mount-Point. Jeder Storage istan 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 19. FAL PROGRAMMIERUNG - BEISPIELE Programmierung: Datei kopieren$storageUid = 17;$someFileIdentifier = templates/images/banner.jpg;$someFolderIdentifier = website/images/;$storageRepository = TYPO3CMSCoreUtilityGeneralUtility::makeInstance(TYPO3CMSCoreRessourceStorageRepository);$storage = $storageRepository->getByUid($storageUid);// returns a t3lib_file_File object$file = $storage->getFile($someFileIdentifier);// returns a t3lib_file_File object$folder = $storage->getFolder($someFolderIdentifier);// returns the t3lib_file_File object of the new, copied file$file->copyTo($folder);// oder equivalent$folder->addCopyOfFile($file);(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 19 20. FAL PROGRAMMIERUNG - BEISPIELE Programmierung: Alle Dateien eines Verzeichnisses auslesen$storageRepository = TYPO3CMSCoreUtilityGeneralUtility::makeInstance(TYPO3CMSCoreRessourceStorageRepository);$availableStorages = $storageRepository->findAll();foreach($availableStorages as $storage) {$rootFolder = $storage->getRootFolder();$subFolders = $rootFolder->getSubFolders();foreach($subFolders as $subFolder) {$filesInSubFolder = $subFolder->getFiles();$foldersInSubFolder = $subFolder->getSubFolders();...}}(c) 2012 - typovision GmbH | TYPO3 CMS 6.0 - Die Neuerungen | Patrick Lobacher | www.typovision.de | 27.11.2012 20 21. FAL STORAGE FILE API Programmierung: General APIgetPublicUrl(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 22. FAL STORAGE FILE API Programmierung: Storage APIaddFile($localFilePath, TYPO3CMSCoreResourceFolder $targetFolder, $fileName, TYPO3CMSCoreResourceAbstractFile $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, TYPO3CMSCoreResourceFolder $targetFolder, $fileName)copyFileToTemporaryPath(TYPO3CMSCoreResourceFileInterface $file)moveFile($file, $targetFolder, $targetFileName = NULL, $conflictMode = renameNewFile)moveFileWithinStorage(TYPO3CMSCoreResourceFileInterface $file, TYPO3CMSCoreResourceFolder $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 23. FAL STORAGE FOLDER API Programmierung: Folder APIgetRootLevelFolder()getDefaultFolder()createFolder($newFolderName, TYPO3CMSCoreResourceFolder $parentFolder)getFolderInFolder($name, TYPO3CMSCoreResourceFolder $parentFolder)moveFolderWithinStorage(TYPO3CMSCoreResourceFolder $folderToMove, TYPO3CMSCoreResourceFolder $targetFolder, $newFolderName)copyFolderWithinStorage(TYPO3CMSCoreResourceFolder $folderToCopy, TYPO3CMSCoreResourceFolder $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 |