+ All Categories
Home > Documents > Der File Abstraction Layer

Der File Abstraction Layer

Date post: 18-Dec-2014
Category:
Upload: steffen-ritter
View: 3,966 times
Download: 1 times
Share this document with a friend
Description:
Ein Überlick über die Architektur, die Umsetzung und die Verwendung des File Abstraction Layer in TYPO3 6.0.
23
File Abstraction Layer Die neue Datei- Abstraktionsschicht in TYPO3 6.0 06/07/2022 1 File Abstraction Layer
Transcript
Page 1: Der File Abstraction Layer

04/10/2023 1File Abstraction Layer

File Abstraction

LayerDie neue Datei-Abstraktionsschicht in

TYPO3 6.0

Page 2: Der File Abstraction Layer

04/10/2023File Abstraction Layer 2

Agenda• Grundlagen, Ziele

• Begrifflichkeiten

• Architektur-Übersicht

• FAL und DAM?

• Auswirkungen für Redakteure

• Verwendung durch Entwickler

Page 3: Der File Abstraction Layer

04/10/2023File Abstraction Layer 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 VerbrauchUpdate von Dateien schwierigBeschreibungen / Untertitel mehrfach zu pflegen

Page 4: Der File Abstraction Layer

04/10/2023File Abstraction Layer 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

Page 5: Der File Abstraction Layer

04/10/2023File Abstraction Layer 5

BegrifflichkeitenObjekte in FAL

• Ressource – Element im FS

• File – reale Datei in FS

• Folder – Ordnungseinheit im FSo Ordner in einem lokalen Dateisystem oder z.B. WebDavo Tag für z.B. Flickr

• Storage – Unix: Mounto Einhänge-Punkt eines Dateisystemso Kombination aus Treiber, Name, Pfad im Zielsystem sowie „User-MountPoints“

• Driver – Schnittstellen-Handlero Führt Aktionen im Zielsystem auso PHP-Filefunktionen / WebDav GET-POST-PUT / …

Page 6: Der File Abstraction Layer

04/10/2023File Abstraction Layer 6

BegrifflichkeitenObjekte in FAL

• ProcessedFile - Bearbeitete Variante einer Dateio Hält Referenz auf Original-Dateio Bisher implementiert: verkleinertes Bild / Vorschau-Instanz

• Repositories - Referenzierte Objekte Laden

• Factory - Objekte erstellen

Page 7: Der File Abstraction Layer

04/10/2023File Abstraction Layer 7

ArchitekturKlassen Struktur

Womit im Code gearbeitet wird

Was die Objekte sind

Was im Dateisystem liegt

Page 8: Der File Abstraction Layer

04/10/2023File Abstraction Layer 8

ArchitekturKlassen Struktur - Treiber

• Eigenen Treiber erstellen? o AbstractDriver ableiteno An DriverRegistry registrieren

Page 9: Der File Abstraction Layer

04/10/2023File Abstraction Layer 9

Architekturwas 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: [???]

Page 10: Der File Abstraction Layer

04/10/2023File Abstraction Layer 10

ArchitekturRessourcen identifizieren

• 4 verschiedene Identifier:o Identifiero Combined Identifiero Uido Sha1 (nur intern)

• Identifier user_upload/Admin/test.html

o String, eindeutig in der StorageBsp: relativer Pfad im Fileadmin

o nutzlos ohne Storage zu kennen

• Combined Identifier 1:user_upload/Admin/test.html

o Erweiterung des Identifier um Storage UIDo System weit gültigo [StorageUid]:[Identifier]

• Uido Nur für bereits indizierte Elementeo für Referenzen

Page 11: Der File Abstraction Layer

04/10/2023File Abstraction Layer 11

ArchitekturRessourcen 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 Fileso Virtuelle Storage 0: lokales Dateisystem, TYPO3_siteo 0:uploads/pics/bla.jpg

Page 12: Der File Abstraction Layer

04/10/2023File Abstraction Layer 12

ArchitekturCollections

• TYPO3 4.7: Collection Interfaces• Zentrale Möglichkeit Datensatz/Objekt-

Gruppierung• ähnlich JCF

• FAL erweitert zu FileCollectionso Folder-Collection: Alle Dateien in einem Ordnero Static Collection: Auswahl von Dateien

• Extensions: verwenden Collections Änderung der Collection an allen Punkten

Page 13: Der File Abstraction Layer

04/10/2023File Abstraction Layer 13

ArchitekturStorage & Mount-Points

• Mount-Points: Top-Level Objekte für Datei-Baum

• Storages: „Top-Level-Funktion“

• File-Mount: wird „Filter“

Page 14: Der File Abstraction Layer

04/10/2023File Abstraction Layer 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 Extensiono Statische Kollektionen - FALo Ordner-Basierte Kollektionen - FALo 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

Page 15: Der File Abstraction Layer

04/10/2023File Abstraction Layer 15

Auswirkungen für Redakteure

• Schauen wir uns einmal an…

Page 16: Der File Abstraction Layer

04/10/2023File Abstraction Layer 16

Auswirkungen für Redakteure

• Zusätzlicher Pfeil zum Bearbeiten von Meta-Daten• Meta-Daten durch Extensions erweiterbar

Page 17: Der File Abstraction Layer

04/10/2023File Abstraction Layer 17

Auswirkungen für Redakteure

• Meta-Daten ohne Media-Extension

Page 18: Der File Abstraction Layer

04/10/2023File Abstraction Layer 18

Auswirkungen für Redakteure

• Meta-Daten ohne Media-Extension

Page 19: Der File Abstraction Layer

04/10/2023File Abstraction Layer 19

Auswirkungen für Redakteure

Page 20: Der File Abstraction Layer

04/10/2023File Abstraction Layer 20

Auswirkungen für Redakteure

Page 21: Der File Abstraction Layer

04/10/2023File Abstraction Layer 21

Nutzung durch Entwickler

• Collections in einer FlexForm, field „fileCollections“(Beispiel aus Controller der media_gallery)

Page 22: Der File Abstraction Layer

04/10/2023File Abstraction Layer 22

Nutzung durch Entwickler

• File-Objekte aus einem typolink-Parameter(Code Beispiel aus dem Media-Element)

Page 23: Der File Abstraction Layer

04/10/2023File Abstraction Layer 23

Nutzung durch Entwickler

• TypoScript Objekt FILES(Code Beispiel: Uploads Rendering CSS Styled Content)


Recommended