Komponente THM-Repo

Aus THM-Wiki
Wechseln zu: Navigation, Suche
iCampus-Projekt
Arbeitstitel THM Repo


Projektbeginn 2008
Mitarbeiter Stefan Schneider
Programmiersprache PHP
Framework Joomla!


Beschreibung

THM Repo ist eine Komponente die nur ein Backend und kein Frontend enthält. In dieser Komponente ist es möglich Ordner, Dateien und Links anzulegen und zu verwalten. Das Frontend wird durch ein Modul realisiert.

Installation

Nach der Installation der Komponente wird man zur einer Seite weitergeleitet in der man einen Ordner erstellen kann. Es ist wichtig diesen Hauptordner (root) zu erstellen bevor man Dateien oder Links anlegt. Denn die Dateien und Links benötigen einen Ordner in dem sie sich befinden.

Backend Views

Das Backend besteht aus einem Ordnermanager, Dateimanager und Linkmanager. Außerdem beinhaltet es noch eine Startseite und zwei weiteren Views (Einträge und Versionen) auf die im Ordner- bzw. Dateimanager zugegriffen werden kann.

Ordnermanager

Im Ordnermanager werden die Ordner verwaltet. Es gibt einen Hauptordner (root) der eine beliebige Anzahl an Unterordnern haben kann. Diese können weitere Unterordner besitzen und das Ganze kann immer so weiter gehen. Dadurch wird eine Baumstruktur aufgebaut und wird auch so angezeigt. Die Ordner lassen sich sortieren, verschieben und mit einem Klick auf Einträge enthält man die Dateien und Links des jeweiligen Ordners. Diese Einträge lassen sich dort auch sortieren.

Ordnermanager Einträge

Dateimanager

Im Dateimanager werden Dateien hochgeladen, verwaltet und gelöscht. Wenn man eine Datei hochlädt wird die erste Version dieser Datei erstellt. Sobald an dieser Datei was geändert wird (Name bearbeitet, neue Datei hochgeladen, usw.), erstellt die Komponente eine weitere Version. Durch einen Klick auf Versionen enthält man die einzelnen Versionen der gewählten Datei. Dort kann man die aktuelle Version einer Datei setzen.

Dateimanager Versionen

Linkmanager

Der Linkmanager dient zur Erstellung und Verwaltung von Links.


Linkmanager

Entwicklung

Die Entwicklung erfolgte in PHP und MySQL. Dabei wurden die Coding Standards der THM eingehalten. Für die Verwaltung der Ordner wurden Nested Sets verwendet. Dadurch lässt sich ganz einfach eine Baumstruktur erstellen. Zur Rechteverwaltung wird die Access Control List von Joomla! benutzt. Außerdem greift die Komponente auf die Tabellen users und viewlevels zu um die Benutzer und Zugriffslevel von Joomla! zu verwenden.

Datenbankschema

Datenbankschema