FAL: Windows-Dateisystem mit Benutzerrechten

03. Mai 2013 von Adrian Dymorz Veröffentlicht unter Know-how/Tipps&Tricks Verschlagwortet mit , , , , , , ,

Der File Abstraction Layer (FAL) wurde mit TYPO3 6.0 eingeführt und ermöglicht die Integration von Dateien auf (fast) beliebigen Speicherorten. Anbindungen sind beispielsweise möglich an folgende Dienste: Google Drive, Amazon S3 oder DropBox. Dabei können folgende Schnittstellen verwendet werden: CIFS, sshfs oder WebDAV.

Anwendungsfall: Intranet mit Dateiverwaltung

Die snowflake hat FAL kürzlich bei einem Intranetprojekt eingesetzt, bei welchem die Dateien auf einem Windows-Dateisystem gespeichert sind. Der eigens entwickelte FAL-Treiber hat nicht nur Dateien ins TYPO3 importiert, sondern auch die komplette Ordnerstruktur. So erreichte man auch auf die Ordner schnelle Zugriffszeiten.

Ein FAL-Treiber stellt die Verbindung zwischen dem TYPO3 und der Schnittstelle des einzubindenden Dateisystems her. Unser FAL-Treiber basiert auf dem mit TYPO3 ausgelieferten FAL-Treiber für lokale Dateisysteme. Wir haben diesen erweitert, so dass er Schreib- und Leserechte auf die Dateien ausliest und den jeweiligen TYPO3 Benutzergruppen zuweist.

Sowohl Dateien wie auch Ordner werden mit Benutzerrechten importiert, so dass sicher gestellt ist, dass auch im Intranet der einzelne Benutzer nur das sieht, was er sehen darf. Die Benutzerrechte wurden aus den Windows Access Control Lists (ACL) ausgelesen und über den FAL-Treiber ins TYPO3 übernommen.

Windows Access Control Lists (ACL) ausgelesen und über den FAL-Treiber ins TYPO3 übernommen

Die importierten Dateien werden mit Metainformationen bereichert. Bei jedem Ordner ist dabei festgelegt, welcher Redaktor für diese Bereicherung zuständig und auch berechtigt ist, diese zu erfassen. Für jeden Ordner wird global festgelegt, welche Metainformationen eingegeben werden können und welche eingegeben werden müssen.

Die mit Metainformationen bereicherten Daten werden in Listen dargestellt. Für jede Spalte kann ein Filter aktiviert werden, der die Resultate einschränkt. Die Liste wird mit einer Coverflowansicht ergänzt, in welcher durch die Vorschauansichten der Dateien durchgeblättert werden kann.

Jeder Benutzer kann sich eine persönliche Merkliste zusammenstellen, in der seine meist verwendeten Dokumente gespeichert werden.

Eine schnelle Suche stellt sicher, dass Dokumente auch dann gefunden werden, falls die Ordnernavigation, die Filterfunktionen und die Coverflowansicht nicht zum gesuchten Dokument führen. Die Suche verwendet als Suchindex Apache Solr.

TYPO3 6.0 – Die Basis für ihre Anforderung?

Verfügt ihr Unternehmen über eine Ablage, in der Sie lange suchen bis Sie die gewünschte Datei gefunden haben? Fehlen den Dateien in der Ablage Metainformationen, mit denen Sie die Dateien schon lange bereichern möchten? Wünschen Sie sich eine schnelle Suche durch die Dateiinhalte und den Metainformationen?
Treten Sie mit uns in Kontakt, wir freuen uns darauf, Ordnung in ihre Ablage zu bringen.

Erfahrungen mit TYPO3 6.0 und dem File Abstraction Layer (FAL)

Die erste freigegebene Version von TYPO3 6.0 erwies sich als wenig stabil: Der Extension Manager liess sich nicht verwenden und einige Funktionen im Backend haben nicht wie gewünscht funktioniert. Dass es zu solchen Fehlern kam verwundert jedoch wenig, wenn man bedenkt, dass grosse Teile des TYPO3 Cores grundlegend angepasst wurden im Zusammenhang mit der Einführung von Namespaces. Nach dem Einspielen des ersten Patch-Releases TYPO3 6.0.1 konnte der Extension Manager verwendet werden und das Backend erwies sich als gewohnt stabil.

Als erschwerend bei der Umsetzung erwies sich die lückenhafte Dokumentation des FAL. Das Kapitel „Database structure“ offenbart dem Dokumentationsleser lediglich das Wort „foobar“, das Kapitel „Storage API“ lässt mit der Beschreibung „asd“ nur erahnen, was die Funktion „getFileForLocalProcessing“ zu bieten hat. Dank den sprechenden Namen der Funktionen, der sauberen Architektur und dem Einsatz von PHPStorm, unsere Lieblings-Entwicklungsumgebung für PHP, war es trotz fehlender Dokumentation möglich unseren eigenen FAL-Treiber zu schreiben.

Während der Arbeit mit dem FAL haben wir auch den vorliegenden Code kritisch hinterfragt, dabei eine Verbesserungsmöglichkeit gefunden und dem TYPO3 Projekt zurück gegeben.

Fazit

Nach der intensiven Arbeit mit der neusten Version ist klar, dass sich das CMS mit jeder neuen Version in eine positive Richtung weiter entwickelt. Mit FAL hat eine wertvolle Funktion mehr Einzug gefunden in TYPO3.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

3 Gedanken zu “FAL: Windows-Dateisystem mit Benutzerrechten

  1. Hi,
    wer von euch hat denn das gemacht? Kann der derjenige mich mal kontaktieren?

    Würde mich gerne darüber austauschen, da wir gerade für 6.2 intensiv an FAL Verbesserungen arbeiten.

    Grüße

    Steffen

  2. Hi,
    finde es auch sehr Interessant was Ihr da gemacht habt und würde mich auch über eine Kontaktaufnahme freuen.
    Grüße
    Markus