File Abstraction          Layer               Die neue Datei-Abstraktionsschicht in                           TYPO3 6.0Fil...
Agenda• Grundlagen, Ziele• Begrifflichkeiten• Architektur-Übersicht• FAL und DAM?• Auswirkungen für Redakteure• Verwendung...
Grundlagen• TYPO3 verwendet PHP Datei-System Funktionen• Problematisch teilweise schon auf Windows• Alle Dateien müssen in...
Ziele• Dateien nur noch per Referenz    überflüssige Kopien entfallen• Zentrale Pflege von Basis Meta-Daten• Kein direkte...
Begrifflichkeiten                              Objekte in FAL• Ressource – Element im FS• File                    – reale ...
Begrifflichkeiten                          Objekte in FAL• ProcessedFile             - Bearbeitete Variante einer Datei   ...
Architektur                         Klassen Struktur                                 Womit im Code gearbeitet wird        ...
Architektur          Klassen Struktur - Treiber• Eigenen Treiber erstellen?     o AbstractDriver ableiten     o An DriverR...
Architektur       was wird indexiert/gespeichert?•     File:                   Datenbank (sys_file)•     Folder:          ...
Architektur               Ressourcen identifizieren• 4 verschiedene Identifier:     o   Identifier     o   Combined Identi...
Architektur               Ressourcen identifizieren• Was verwende ich wann?     o Combined-Identifier:         • TypoScrip...
Architektur                            Collections• TYPO3 4.7: Collection Interfaces• Zentrale Möglichkeit Datensatz/Objek...
Architektur                 Storage & Mount-Points• Mount-Points: Top-Level Objekte für Datei-Baum• Storages: „Top-Level-F...
FAL und DAM•     FAL und DAM nicht kompatibel•     FAL ersetzt nicht DAM•     FAL = Dateibezogene Metadaten•     DAM = Med...
Auswirkungen für                Redakteure• Schauen wir uns einmal an…File Abstraction Layer           3/31/2012   15
Auswirkungen für                 Redakteure• Zusätzlicher Pfeil zum Bearbeiten von Meta-Daten• Meta-Daten durch Extensions...
Auswirkungen für                Redakteure                         • Meta-Daten ohne                           Media-Exten...
Auswirkungen für                Redakteure                         • Meta-Daten ohne                           Media-Exten...
Auswirkungen für                RedakteureFile Abstraction Layer           3/31/2012   19
Auswirkungen für                RedakteureFile Abstraction Layer           3/31/2012   20
Nutzung durch                       Entwickler• Collections in einer FlexForm, field „fileCollections“   (Beispiel aus Con...
Nutzung durch                       Entwickler• File-Objekte aus einem typolink-Parameter   (Code Beispiel aus dem Media-E...
Nutzung durch                       Entwickler• TypoScript Objekt FILES   (Code Beispiel: Uploads Rendering CSS Styled Con...
Nächste SlideShare
Wird geladen in …5
×

Der File Abstraction Layer

4.964 Aufrufe

Veröffentlicht am

Ein Überlick über die Architektur, die Umsetzung und die Verwendung des File Abstraction Layer in TYPO3 6.0.

0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
4.964
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
3
Aktionen
Geteilt
0
Downloads
17
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Der File Abstraction Layer

  1. 1. File Abstraction Layer Die neue Datei-Abstraktionsschicht in TYPO3 6.0File Abstraction Layer 3/31/2012 1
  2. 2. Agenda• Grundlagen, Ziele• Begrifflichkeiten• Architektur-Übersicht• FAL und DAM?• Auswirkungen für Redakteure• Verwendung durch Entwickler File Abstraction Layer 3/31/2012 2
  3. 3. Grundlagen• TYPO3 verwendet PHP Datei-System Funktionen• Problematisch teilweise schon auf Windows• Alle Dateien müssen in TYPO3_site liegen• Dateien Kopie nach uploads/ (auch mehrfach)• Vorschau-Grafiken in typo3temp/ erhöhter Speicherplatz Verbrauch Update von Dateien schwierig Beschreibungen / Untertitel mehrfach zu pflegen File Abstraction Layer 3/31/2012 3
  4. 4. Ziele• Dateien nur noch per Referenz  überflüssige Kopien entfallen• Zentrale Pflege von Basis Meta-Daten• Kein direkter Aufruf von File-Funktionen in TYPO3• Möglichkeiten für externe File-Systeme  Treiber-Ebene für Aktionen nötig• DAM soll Core-Funktionalität nutzen können File Abstraction Layer 3/31/2012 4
  5. 5. Begrifflichkeiten Objekte in FAL• Ressource – Element im FS• File – reale Datei in FS• Folder – Ordnungseinheit im FS o Ordner in einem lokalen Dateisystem oder z.B. WebDav o Tag für z.B. Flickr• Storage – Unix: Mount o Einhänge-Punkt eines Dateisystems o Kombination aus Treiber, Name, Pfad im Zielsystem sowie „User-MountPoints“• Driver – Schnittstellen-Handler o Führt Aktionen im Zielsystem aus o PHP-Filefunktionen / WebDav GET-POST-PUT / … File Abstraction Layer 3/31/2012 5
  6. 6. Begrifflichkeiten Objekte in FAL• ProcessedFile - Bearbeitete Variante einer Datei o Hält Referenz auf Original-Datei o Bisher implementiert: verkleinertes Bild / Vorschau-Instanz• Repositories - Referenzierte Objekte Laden• Factory - Objekte erstellen File Abstraction Layer 3/31/2012 6
  7. 7. Architektur Klassen Struktur Womit im Code gearbeitet wird Was die Objekte sind Was im Dateisystem liegtFile Abstraction Layer 3/31/2012 7
  8. 8. Architektur Klassen Struktur - Treiber• Eigenen Treiber erstellen? o AbstractDriver ableiten o An DriverRegistry registrieren File Abstraction Layer 3/31/2012 8
  9. 9. Architektur was wird indexiert/gespeichert?• File: Datenbank (sys_file)• Folder: transient• Storage: Datenbank (sys_storage)• FileReference: Datenbank (sys_file_reference)• ProcessedFile: Datenbank (sys_file_processedfile)• Datenbank-Einträge: [UID]• Folder: [???] File Abstraction Layer 3/31/2012 9
  10. 10. Architektur Ressourcen identifizieren• 4 verschiedene Identifier: o Identifier o Combined Identifier o Uid o Sha1 (nur intern)• Identifier user_upload/Admin/test.html o String, eindeutig in der Storage Bsp: relativer Pfad im Fileadmin o nutzlos ohne Storage zu kennen• Combined Identifier 1:user_upload/Admin/test.html o Erweiterung des Identifier um Storage UID o System weit gültig o [StorageUid]:[Identifier]• Uid o Nur für bereits indizierte Elemente o für Referenzen File Abstraction Layer 3/31/2012 10
  11. 11. Architektur Ressourcen identifizieren• Was verwende ich wann? o Combined-Identifier: • TypoScript, • erstmalige Übergabe „nach FAL“, • wenn händisch Dateien eingetragen werden o Uid: intern, wann immer Möglich• FAL mit Legacy Files o Virtuelle Storage 0: lokales Dateisystem, TYPO3_site o 0:uploads/pics/bla.jpg File Abstraction Layer 3/31/2012 11
  12. 12. Architektur Collections• TYPO3 4.7: Collection Interfaces• Zentrale Möglichkeit Datensatz/Objekt-Gruppierung• ähnlich JCF• FAL erweitert zu FileCollections o Folder-Collection: Alle Dateien in einem Ordner o Static Collection: Auswahl von Dateien• Extensions: verwenden Collections  Änderung der Collection an allen Punkten File Abstraction Layer 3/31/2012 12
  13. 13. Architektur Storage & Mount-Points• Mount-Points: Top-Level Objekte für Datei-Baum• Storages: „Top-Level-Funktion“• File-Mount: wird „Filter“ File Abstraction Layer 3/31/2012 13
  14. 14. FAL und DAM• FAL und DAM nicht kompatibel• FAL ersetzt nicht DAM• FAL = Dateibezogene Metadaten• DAM = Medien-bezogene Metadaten + Kategorien• DAM 2.0  Media Extension o Statische Kollektionen - FAL o Ordner-Basierte Kollektionen - FAL o Filterbasierte Kollektionen - FAL/Media to be defined o Status Migration  noch unklar (Umfang) o Jetzt startende Projekte eher mit 6.0 Alpha anstelle von DAM File Abstraction Layer 3/31/2012 14
  15. 15. Auswirkungen für Redakteure• Schauen wir uns einmal an…File Abstraction Layer 3/31/2012 15
  16. 16. Auswirkungen für Redakteure• Zusätzlicher Pfeil zum Bearbeiten von Meta-Daten• Meta-Daten durch Extensions erweiterbar File Abstraction Layer 3/31/2012 16
  17. 17. Auswirkungen für Redakteure • Meta-Daten ohne Media-ExtensionFile Abstraction Layer 3/31/2012 17
  18. 18. Auswirkungen für Redakteure • Meta-Daten ohne Media-ExtensionFile Abstraction Layer 3/31/2012 18
  19. 19. Auswirkungen für RedakteureFile Abstraction Layer 3/31/2012 19
  20. 20. Auswirkungen für RedakteureFile Abstraction Layer 3/31/2012 20
  21. 21. Nutzung durch Entwickler• Collections in einer FlexForm, field „fileCollections“ (Beispiel aus Controller der media_gallery) File Abstraction Layer 3/31/2012 21
  22. 22. Nutzung durch Entwickler• File-Objekte aus einem typolink-Parameter (Code Beispiel aus dem Media-Element) File Abstraction Layer 3/31/2012 22
  23. 23. Nutzung durch Entwickler• TypoScript Objekt FILES (Code Beispiel: Uploads Rendering CSS Styled Content) File Abstraction Layer 3/31/2012 23

×