MSP: Vision Document HÜ "komplett Download"-Feature

Aus THM-Wiki
Wechseln zu: Navigation, Suche

Vision Document

Introduction

In dieser einzel Hausübung soll das Modul "Dateien und Links" überarbeitet werden. Es soll die Download-Funktion erweitert werden, um alle Dateien auf einmal als Archiv herunterladen zu können.

Business Needs/Requirements

  • eStudy
  • PHP5
  • PEAR

Product/Solution Overview

Ist-Stand:

  • Einzelne Dateien können herunter geladen werden.
  • Einzelne Ordner können (nicht rekursiv) herunter geladen werden.
  • Ordner werden als zip-Archiv bereitgestellt.

Major Features

  • Rekursives Herunterladen aller Dateien eines Kurses als Archiv.

Minor Features

  • Einstellbares Datei-Format für Archive.

Scope & Limitations

  • ggf. größen Begrenzung, um Serverlast klein zu halten.
  • Die möglichen Datei-Formate sind durch die Features des Servers und die Möglichkeiten von PHP begrenzt.
  • Es steht für diese Hausübung ein Zeitrahmen von 20 Stunden zur Verfügung.

Other Needs

  • Keine

--Kasteleiner-BKae3 11:39, 3. Nov. 2008 (UTC)

Implementierung

Domdia ress.png

Die Implementierung setzt auf die vorhandene Baumstruktur des Modules Dateien und Links auf.

Der Nutzer kann einen Ordner zum Herunterladen auswählen, der auf Wunsch rekursiv (also inklusive aller Unterordner), als ZIP-Archiv bereitgestellt wird. Dabei werden auch Links, die sich in den Ordnern befinden, in Form von *.url-Dateien das in Archiv integriert. Dies war mit der alten Funktion ("Zip-Ordner"-Download) noch nicht möglich. Die alte Variante wurde daher ersetzt und nutzt nun anstelle eines Shell-Skripts PHP-interne Funktionen um ein ZIP-Archiv bereitzustellen. Es wurde vorgesehen, dass die Download-Funktion mit anderen Archiv-Typen, wie z.B. tar.bzip, tar.gz, ... erweitert werden kann.

MSP-recursiveFileDownload1.png

Um dieses rekursive Absteigen in der Ordner-Struktur zu erreichen, wurde die File/Folder/Resource Baumstruktur mit Hilfe des Vistitor-Patterns erweitert.

Darüber hinaus wurde im Administrationsbereich die Möglichkeit hinzugefügt, den rekursiven Download zu (de)aktivieren, sowie eine maximale Datei-Größe anzugeben. Dies wird benötigt um die Belastung des Servers regulieren zu können.

MSP-recursiveFileDownload2.png

Zugehörige SVN-Revisionen

Revision 1339
Revision 1340
Revision 1354
Revision 1376
Revision 1835

Integration

  • Quelltext-Dateien einbinden
  • SQL-Skript auf die Datenbank anwenden

Links

--Kasteleiner-BKae3 19:24, 29. Mär. 2009 (UTC)