Archiv | CSS RSS feed for this section

SuTeCo: Suchfunktion und virtuelle Gruppen

30 Jan

Das Problem mit der Suchfunktion unter Solr, das ich in meinem letzten Beitrag erwähnt habe, wurde erfolgreich gelöst, obwohl es entsprechend viel Zeit in Anspruch genommen hat.

Um die Suche nach Tags, mit denen Personen und Gruppen getagt wurden zu ermöglichen, sollten zwei separate SearchQuerySets erstellt werden (für PeopleTagging und GroupTagging), die viele redundante Einträge hatten. Diese Redundanz entstand durch das mehrmalige Taggen einer Person bzw. Gruppe mit ein und demselben Schlagwort. Dafür wurde eine Funktion geschrieben, die diese Redundanz in eine Art Ranking umwandelt, mit dem man feststellen kann, welche Person oder Gruppe am häufigsten mit einem der gesuchten Begriffe getagt wurde. Weiterlesen

Advertisements

SuTeCo – Gruppenverwaltung

8 Nov

Im nächsten Schritt wird die Implementierung der Schnittstelle für das Gruppenmanagement umgesetzt. Diese Seite ermöglicht dem Benutzer die Verwaltung von eigenen Gruppen sowie von Gruppen, denen er folgt. Es werden folgende Grundfunktionen realisiert:

  • Anzeige von eigenen Gruppen und Followed-Gruppen sowie deren Beschreibungen
  • Erstellen / Löschen eigener Gruppen
  • Folgen / Entfolgen von Gruppen
  • Einfügen / Löschen neuer Benutzer
  • Taggen von Gruppen

Wie in Abbildung 1 zu sehen, soll die Seite des Gruppenmanagements alle eigenen und Follow-Gruppen in Kreisform darstellen. Im rechten Seitenbereich werden detaillierte Informationen über die jeweils ausgewählte Gruppe dargestellt. Das Steuerungspanel mit den Buttons „Gruppe anlegen“ oder „Gruppe löschen“ wird nach vielen Überlegungen nicht hier platziert, da es aus Usability-Gründen nicht hierher passt. Die anderen Elemente der Benutzeroberfläche bleiben an der Stelle, wo sie geplant war. Weiterlesen

Evaluation von ADORE! Mitmachen!

31 Okt

Meine Bachelor-Arbeit neigt sich dem Ende zu. Zum Ende möchte ich ADORE gerne auf mutige Tester loslassen. Da sich ADORE vielseitig einsetzen lässt, habe ich mich entschlossen, die Evaluation aufzuteilen. Wer sich als typischer Besucher einer Website sieht, der möge sich bitte den ersten Unterabschnitt durchlesen. Leute mit etwas Vorwissen in Richtung JSON und/oder CSS sollten sich den zweiten Unterabschnitt durchlesen. Natürlich ist es auch erlaubt, an beiden Evaluationsteilen teilzunehmen.

Ich bin gespannt, denn es ist ein komisches Gefühl, ein Stück Software auf die Welt „loszulassen“, von dem man selbst genau weiß, dass es noch nicht ganz perfekt ist ;-)

Weiterlesen

Support of Team Communications (SuTeCo) – Darstellung von visuellen Hierarchien

10 Okt

Nach dem langen Überlegen habe ich mich endlich entschieden das von mir zu entwickelnde Tool zu benennen. Es wird „Support of Team Communication“ heißen. Der Name lässt sich auch ziemlich gut abkürzen, und zwar „SuTeCo“. In meinen weiteren Blogs werde ich diese Abkürzung jetzt immer benutzen.

Wie in meinem zweiten Post schon bereits erwähnt wurde, habe ich mich für die Darstellung der visuellen Hierarchien (Organigramm)  für das jQuery-Basiertes Plug-In  „jOrgChart“  entschieden. Dieses Plug-In wird benutzt, um die hierarchische Struktur einer Organisation, die im LDAP  abgebildet ist, darzustellen.

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!