Dokumentation comvosfilelist Extension zur Übersicht

Die comvosfilelist-Extension ermöglicht das sichere Bereitstellen von Dateilisten. Dateien werden durch TYPO3 an den Nutzer gestreamt, die Prüfung der Zugriffsberechtigung geschieht über die normale Seiten- oder Inhaltsberechtigung für Frontend-Benutzergruppen. Diese Herangehensweise ist für Nutzer transparent und leicht verständlich, da sie dem normalen TYPO3-Verhalten entspricht, Zugriffsbeschränkungen auf Seitenebene zu vergeben.

Aber warum noch eine Dateiliste?

Dateilisten und der Austausch sensibler Dateien, etwa in einem Intranetszenario sind Anforderungen mit denen wir häufig konfrontiert sind. Bisherige Lösungen genügten nicht unseren Ansprüchen an Sicherheit, Wartbarkeit oder Bedienkomfort. Die Erweiterung soll uns, und jedem der ähnliche Ansprüche hat, zukünftig als Alternative zu Erweiterungen wie mm_dam_filelist oder fefilebrowser dienen. Auch wenn die Erweiterung bisher auf die elementaren Features beschränkt ist, glauben wir, dass wir damit eine gut Basis geschaffen haben um weitere, komplexere Features umzusetzen. Dabei lassen wir uns auch gerne Vorschläge machen oder helfen und nutzen deshalb Github um den Code zu verwalten und Anregungen entgegen zu nehmen. 

Features

  • Sicheres Bereitstellen geschützter Dateien
  • Einfache Freigabesteuerung auf Seitenebene
  • Sichere Vorschaubilder
  • Einfach komplexe Templates erstellen mit Twig
  • Mit und ohne DAM nutzbar
  • Geschützte Ordner mit dem TYPO3-Berichte-Modul überwachen

Beispielseite mit einfacher Einbindung

Umsetzungsmerkmale

Die Erweiterung wurde mit Hilfe von symfony-Komponenten wie z.B. twig, finder, filesystem und Doctrine DBAL erstellt. Der Einsatz von Extbase wurde bewusst vermieden, da hier noch sehr viele Probleme/Bugs vorhanden sind, so dass eine größtmögliche Abkapselung womöglich zukunftssicherer ist, als der Einsatz von Extbase, welches sich in Zukunft noch stark verändern wird.

Installation

1. Dateischutz - optional
Zunächst sollten die Verzeichnisse geschützt werden, die nicht für alle Nutzer erreichbar sein sollen. Der HTTP-Server muss bei Zugriffen auf diesen Ordner einen 403 Status zurückliefern. Außerdem muss das Verzeichnis "typo3temp/comvosfilelist" geschützt werden.

2. HTTP-Server für Streaming vorbereiten
Das Streamen der Dateien geschieht über das Dateilisten-Plugin. Die Dateinamen werden jedoch verfremdet, so dass ein rewrite im HTTP-Server eingetragen werden muss:

Adressschema:

/comvosfilelist/<pageid>/<encryptedfilename>/<cHash>

Rewrite:

RewriteRule ^/comvosfilelist/(.*)/(.*)/(.*) /index.php?id=$1&tx_comvosfilelist_pi1[action]=stream&tx_comvosfilelist_pi1[file]=$2&cHash=$3 [L]

3. Erweiterung installieren
Nach der Installation müssen einige wichtige Einstellungen getätigt werden:

  • Der Schlüssel für die Dateinamenverfremdung
  • Eine durch Komma getrennte Liste der geschützten Ordner
  • Der Server-Hostname mit dem der Zugriffschutz via HTTP überprüft werden soll

Im Berichte-Modul im TYPO3-Backend werden nach erfolgreicher Konfiguration die konfigurierten Verzeichnisse aufgelistet und deren Status angezeigt. Liefert eine HTTP-Anfrage auf eines der gesicherten Verzeichnisse keinen 403-Header zurück, wird dies als Fehler gelistet.

Zusätzlich wird das Verzeichnis fileadmin geprüft. Dateien die direkt im fileadmin-Verzeichnis abgelegt sind, sollten erreichbar sein (Header 200).

Konfiguration

Einstellungen am Plugin lassen sich via Typoscript und Flexform setzen. Folgende Einstellungen können gemacht werden:

DAM verwenden?
Diese Option steuert ob DAM-Informationen genutzt werden sollen. Im Typoscript äquivalent:

useDAM = false

Vorlage/Template
Die zu verwendende Vorlage kann hier gewählt werden. Ein Template ist nicht wie sonst üblich eine Datei, sondern ein Ordner der alle Templatedateien enthält (list.html.twig, single.html.twig). Das Standard-Template kann via Typoscript überschrieben werden:

templateFolders.default=/filedmin/myTemplateFolder

Es können auch weitere Templates definiert werden z.B.:

templateFolders.MyUniqueTemplateName=/filedmin/myOtherFolder

Damit diese im Flexform auswählbar sind, müssen Änderungen im Page-TS vorgenommen werden:

TCEFORM.tt_content.pi_flexform.comvosfilelist_pi1.sDEF.template {
  # Add templates to flexform dropdown
  addItems {    
  MyUniqueTemplateName = My template's descriptive title
 }
}

Einträge pro Seite
Hier kann festgelegt werden, wie viele Dateien pro Seite dargestellt werden. Wird im Flexform nichts angegeben, wird der Typoscript-Wert verwendet:

entriesPerPage = 30

Dateiquelle - DAM-Kategorie oder Verzeichnis
Als Quelle für das Plugin kann eine DAM-Kategorie oder ein einfaches Verzeichnis dienen. Wird eine DAM-Kategorie gewählt, muss der Nutzer sicherstellen, dass alle Dateien in der Kategorie in geschützten Ordnern abgelegt sind, sofern nötig.

Zugriffsrechte
Die Zugriffsrechte werden über die Seiteneigenschaften gesetzt, wie bei jedem anderen Inhalt auch. Voraussetzung ist immer, dass die gelisteten Dateien nicht direkt über den HTTP-Server erreichbar sind.

 

zur Übersicht

TYPO3 CMS Projekte mit comvos

✔  freundliche Beratung
✔  maßgeschneidertes Konzept
✔  modernes Webdesign
✔  TYPO3 CMS Umsetzung
✔  TYPO3 CMS Erweiterungen
✔  TYPO3 CMS Anwenderschulung
✔  Content Erstbefüllung
✔  TYPO3 Hosting + Updateservice
✔  TYPO3 CMS Anwendersupport
✔  Suchmaschinenoptimierung
✔  Alles zum Festpreis


Auch für Ihr CMS Projekt ? Sprechen Sie mich an:

Andreas Grubb

T: 0621 - 17 89 10
grubbcomvos.de

Kostenvoranschlag
TYPO3 CMS Projekt
 

 
Pfad>>TYPO3>>comvos Extensions>>comvosfilelist Extension
comvos online medien GmbH
O3, 1
68161 Mannheim

0621/17891-0

infocomvos.de
Schmetterlinge