• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Der File Abstraction Layer
 

Der File Abstraction Layer

on

  • 4,109 views

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

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

Statistics

Views

Total Views
4,109
Views on SlideShare
4,109
Embed Views
0

Actions

Likes
0
Downloads
11
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Der File Abstraction Layer Der File Abstraction Layer Presentation Transcript

    • File Abstraction Layer Die neue Datei-Abstraktionsschicht in TYPO3 6.0File Abstraction Layer 3/31/2012 1
    • Agenda• Grundlagen, Ziele• Begrifflichkeiten• Architektur-Übersicht• FAL und DAM?• Auswirkungen für Redakteure• Verwendung durch Entwickler File Abstraction Layer 3/31/2012 2
    • 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
    • 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
    • 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
    • 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
    • Architektur Klassen Struktur Womit im Code gearbeitet wird Was die Objekte sind Was im Dateisystem liegtFile Abstraction Layer 3/31/2012 7
    • Architektur Klassen Struktur - Treiber• Eigenen Treiber erstellen? o AbstractDriver ableiten o An DriverRegistry registrieren File Abstraction Layer 3/31/2012 8
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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 erweiterbar File Abstraction Layer 3/31/2012 16
    • Auswirkungen für Redakteure • Meta-Daten ohne Media-ExtensionFile Abstraction Layer 3/31/2012 17
    • Auswirkungen für Redakteure • Meta-Daten ohne Media-ExtensionFile Abstraction Layer 3/31/2012 18
    • 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 Controller der media_gallery) File Abstraction Layer 3/31/2012 21
    • Nutzung durch Entwickler• File-Objekte aus einem typolink-Parameter (Code Beispiel aus dem Media-Element) File Abstraction Layer 3/31/2012 22
    • Nutzung durch Entwickler• TypoScript Objekt FILES (Code Beispiel: Uploads Rendering CSS Styled Content) File Abstraction Layer 3/31/2012 23