Archive | September, 2012

Unit-Tests – ELISMA Datenzugriffsschicht

28 Sep Daten für die Unit-Tests

Die Implementierung der Datenstruktur in Python ist verhältnismäßig weit fortgeschritten. Zeit für Tests, um bei Anpassungen der Implementierung schnell die korrekte Funktionsweise überprüfen zu können. ELISMA speichert die Daten in einer Baum-Datenstruktur. Zum Testen habe ich drei Bäume zusammengestellt, die es ermöglichen, die Operationen auf der Datenstruktur auf Korrektheit zu überprüfen. Die drei Bäume werden bei Ausführung der Tests gemäß der Grafik erstellt. Weiterlesen

Unterstützung Team-basierter Kommunikation durch visuelle Hierarchien, innovative Gruppenbildung und People Tagging

24 Sep

Wie schon in meinem ersten Blog bereits erwähnt wurde, soll die von mir zu entwickelnde Web-Applikation die Organisationsstruktur eines Unternehmens grafisch abbilden. Da fast jede Organisationsstruktur hierarchisch aufgebaut ist, ist es sinnvoll, die Datenstruktur eines Verzeichnisdienstes wie OpenLDAP zu nutzen, um die Organisationsstruktur abzubilden.

Im Rahmen dieser Masterarbeit wird beispielweise die Organisationsstruktur einzelner Arbeitsgruppen des Heinz Nixdorf Institut (HNI) abgebildet. Da aber die einzelnen Organisationseinheiten der Organisationsstruktur des HNI ziemlich viele Attribute haben (z. B. HNIStatus, HNI-ID), die im Rahmen dieser Masterarbeit nicht benutzt werden, wird ein „abgespeckte“ Schema der bestehenden Organisationsstruktur angelegt.
Ein Beispiel dieser Struktur ist:

Abbildung 1. LDAP-Struktur eines Benutzers

Da die bestehende LDAP-Struktur des HNI hauptsächlich zum Verteilen von Zugriffsrechten gedacht wurde, ist sie für die hierarchische Abbildung der Organisationsstruktur nicht gut geeignet und muss durch bestimmte Attribute erweitert werden:

  • „owner“ – dadurch definiert man den Leiter einer Arbeitsgruppe bzw. eines Teams. Das Attribut wird nur einer Gruppe, bzw. einem Team zugewiesen, das einen Leiter hat (Abbildung 2).
  • „businessCategory“ – gibt an, zu welcher Kategorie der Tätigkeit eine Person gehört (Abbildung 1). Dieses Attribut wird gebraucht, um die Mitarbeiter auf mehrere Ebenen zu gliedern.
  • „employeeType“ – bezeichnet die Tätigkeit einer Person, wie Leiter, wissenschaftlicher Mitarbeiter, nicht wissenschaftlicher Mitarbeiter, etc. (Abbildung 1).

Abbildung 2. LDAP-Struktur einer Gruppe

Die Erweiterbarkeit des vorhandenen LDAP-Schemas durch eigene Attribute, macht den Einsatz vom LDAP sehr attraktiv.

LDAP-Module in Django
Um die Authentifizierung und Aufbau der Organigramm in der zu entwickelnden Web-Anwendung zu implementieren, werden zwei Module eingesetzt. Das erste Modul ist „django-auth-ldap“ und ermöglicht es, das Django-Projekt gegen einen beliebigen LDAP-Server zu authentifizieren. Das zweite Modul „ldap“ wird für die Abfrage der hierarchischen Struktur des LDAP-Servers benutzt.
Die beiden Module sind in der Standardinstallation von Django nicht verfügbar und sollten extra installiert werden.

Userinterface der Web-Anwendung
Um das User Interface zu gestalten wird CSS-Framework Bootstrap eingesetzt. Das Framework existiert schon als ein Toolkits für Django „django-bootstrap-toolkit“ und lässt sich ziemlich einfach einsetzen. Eine Sammlung von schon fertigen Form-Widgets erleichtert und beschleunigt die Entwicklung einer Benutzeroberfläche.
Darüber hinaus  ermöglicht Bootstrap Kompatibilität für die meist benutzten Browser, was dem Entwickler viel Arbeit abnimmt.

Visuelle Hierarchie (Organigramm)
Um das Organigramm im Browser abzubilden, ist der Einsatz vom jQuery Org Chart geplant. Da das PlugIn aber nicht allen Anforderungen entspricht, wird es weiterentwickelt.

Falls jemand andere PlugIns mit ähnlichen Funktionen kennt, wäre ich sehr dankbar!

E-Learning 2.0 in der Cloud

19 Sep

ELISMA soll eine möglichst universell einsetzbare Applikationsplattform werden. In einem ersten Schritt untersuche ich mit E-Learning nur eine Gruppe von Applikationen, die hiermit umgesetzt werden können. Zur weiteren Eingrenzung beziehe ich mich in meiner Arbeit auf Lehr- und Lernmanagementsysteme.

Bei der Erarbeitung von Szenarien und einer weiter ausführenden Begründung für die Entwicklung von ELISMA gehe ich auf E-Learning im Bezug auf Cloud Computing ein. Doch die Schwerpunkte sind bei den wissenschaftlichen Beiträgen zu diesem Thema sehr unterschiedlich. Deshalb habe ich hierzu eine Bestandaufnahme vorgenommen, dessen Ergebnis ich hier kurz präsentiere. Weiterlesen

GEXFVizz – Usertest

17 Sep

As my Blogposts in the last few months suggest, my Bachelor thesis handles the development of a web application that is able to visualize research networks from scientific publications. Now, I need your help in evaluating the meaningfulness of the graphs and diagrams that are generated with my application (GEXFVizz).

  Weiterlesen

Praktische Anwendung von ADORE

13 Sep

Es ist mal wieder Zeit, etwas über ADORE zu berichten. Es sind noch ca. 1,5 Monate bis zur Abgabe der Arbeit. Die eigentliche Programmierung ist recht weit fortgeschritten, und in diesem Blogpost möchte ich ein praktisches Beispiel vorstellen.

Als Grundlage betrachten wir TheMovieDB – eine offene Datenbank für Filme, Schauspieler und verwandte Informationen. Weiterlesen