Komponente THM-CatchTheBug

Aus THM-Wiki
Wechseln zu: Navigation, Suche

THM Catch The Bug besteht aus einer Komponente und einem Modul. In diesem Artikel wird die Funktionsweise der Komponente erläutert. Weitere Informationen zum Modul gibt es in dem hier verlinkten Wiki-Artikel.


iCampus-Projekt
Arbeitstitel THM Catch The Bug
Kurs Web Programming Weeks
Betreuer Niklas Simonis
Projektbeginn 2013
Mitarbeiter Dominik Eller, Benjamin Schlosser, Peter Janauschek
Programmiersprache PHP, JavaScript, SQL
Framework Joomla!


THM Catch The Bug

Die THM Catch The Bug Komponente verwaltet Bugs, die mit dem THM Catch The Bug Modul gemeldet wurden. Die Komponente stellt dazu eine view im Backend von Joomla zur Verfügung, um gemeldete Bugs anzuzeigen. In den Parametern der Komponente kann zusätzlich eine Verbindung zu einem Redmine Ticketing System hergestellt werden. Die Komponente stellt die Funktionen zur Redmine Aktualisierung, Bearbeitung von Bugs und dem Löschen von Bugs zur Verfügung.

Die Gruppen

Gruppe 1:
Die Gruppe bestand aus 4 Studenten der Technischen Hochschule Mittelhessen, Bereich Gießen. Namentlich bestand die Gruppe aus: Benjamin Reindel, Dominik Bassing, Artjom Kahlkopf und Stefanie Pfeiffer. Diese sind Studenten des Fachbereichs Mathematik, Naturwissenschaft und Informatik, davon 3 mit der Studienrichtung Informatik, eine mit der Studienrichtung Medizin-Informatik.
Gruppe 1 hat das Projekt in den vorherigen Web Programming Weeks ins Leben gerufen und damit angefangen Komponente und Modul zu entwickeln.

Gruppe 2:
Die zweite Gruppe besteht aus 3 Studenten der Technischen Hochschule Mittelhessen, Bereich Gießen.Namentlich besteht die Gruppe aus: Dominik Eller, Peter Janauschek und Benjamin Schlosser. Diese sind Studenten des Fachbereichs Mathematik, Naturwissenschaft und Informatik, alle mit der Studienrichtung Informatik.
Gruppe 2 hat in den Web Programming Weeks 2013 die Arbeit an dem Projekt wieder aufgenommen und ein neues Konzept entwickelt. Hierzu war ein Refactoring des Moduls nötig. Anschließend wurde das Projekt von Gruppe 2 komplett überarbeitet und um einige Funktionen erweitert.

Installation

Die Komponente "THM Catch The Bug" wird wie jede andere Komponente in Joomla! installiert. Im Backend wählt der Administrator den Reiter Extensions -> Extension Manager. Dort ist standardmäßig der Reiter "Install" ausgewählt.
Nun gibt es mehrere Möglichkeiten die Komponente zu installieren.

Erste Möglichkeit:
Im Feld "Package File" unter "Upload Package File" den Pfad ausgewählen, unter dem das Paket com_thm_catchthebug (als zip) zu finden ist und anschließend auf "Upload & Install" klicken. Danach ist die Komponente "THM Catch The Bug" im Backend Menu unter "Komponenten" zu finden.

Zweite Möglichkeit:
Die heruntergeladene com_thm_catchthebug.zip in einen neuen Order entpacken. Im Feld "Install Directory" unter "Install from Directory" den Pfad zum Ordner mit der entpackten com_thm_catchthebug.zip angegeben und anschließend auf "Install" klicken. Danach ist die Komponente "THM Catch The Bug" im Backend Menu unter "Komponenten" zu finden.

Einstellungen

Über die Komponenten Parameter können Einstellungen für den Bugreport und für die Screenshots vorgenommen werden. Die Komponenten Parameter ruft man im Backend wie folgt auf:
Menu -> Komponenten -> Catch the Bug!
und anschließend ganz oben rechts auf >Optionen< klicken.

Nun öffnet sich ein Fenster, in dem man alle weiteren Einstellungen vornehmen kann. Mehr dazu im nächsten Abschnitt.

Bugreport

In den Einstellungen zum Bugreport kann konfiguriert werden ob man die Joomla!-Datenbank nutzen möchte, um Bugs zu verwalten oder das Redmine Ticketing System oder beides.

Sobald die Joomla!-Datenbank aktiviert ist, können im Frontend über das Modul Bugs gemeldet werden. Diese werden dann in die von der Komponente bei der Installation erzeugte Tabelle in der Datenbank eingetragen. Die Bugs erscheinen nun im view der Komponente im Backend.
Wählt man das Redmine Ticketing System zusätzlich aus, muss man noch diverse Einstellungen vornehmen: Falls "Redmine" genutzt wird ist die Optionen Redmine API Key eine Pflicht-Option.

  • Redmine URL (Pflicht-Feld)
die Redmine URL https://scm.thm.de/redmine/


  • Redmine API Key(Pflicht-Feld)
API Key eines Benutzers. Unter diesem Benutzer werden die Tickets angelegt. Kann unter Mein Konto auf der Redmine Seite eingesehen werden.


  • Projekt ID (Pflicht-Feld)
Die Tickets werden unter der ID des angegebenen Projektes angelegt. Die ProjektID findet man in der URL des Projektes. Z.B. https://scm.thm.de/redmine/projects/wpwquality hier wäre die Projekt-Id wpwquality.


  • Zugewiesene UserID (Pflicht-Feld)
Die Tickets werden diesem User zugewiesen. Die User-Id entnimmt man ebenfalls der URL indem man auf seine Benutzerkennung klickt und sie dann aus der URL rausschreiben.


  • Kategorie ID
Die Tickets werden dieser Kategorie zugewiesen.


  • Übergeordnete Aufgabe ID
Die Tickets werden der übergeordneten Aufgabe zugewiesen.



Sind die Einstellungen vorgenommen und korrekt, wird beim melden eines Bugs über das Modul im Frontend automatisch ein Ticket im Redmine Ticketing System angelegt und mit in der Joomla!-Datenbank abgespeichert.

Screenshot

In den Einstellungen zum Screenshot kann man auswählen, ob bei einer Bug-Meldung automatisch ein Screenshot erstellt werden soll. Zudem lässt sich das Raster konfigurieren, welches über den Screenshot gelegt ist und dazu dient einen Bug zu markieren. Hier kann man einfach die Spalten- bzw. Zeilenanzahl angeben
Es empfielt sich das Raster nicht zu groß zu machen (10 Spalten x 10 Zeilen) sind bereits 100 Quadranten.

Das Backend

Das Backend der Komponente erreicht man, indem man sich mit seinen Zugangsdaten im Joomla!-Backend anmeldet und dann im Menu unter Komponenten -> CatchTheBug! auswählt. Nun sieht man folgende Ansicht, wenn bereits Bugs eingetragen sind:

Es werden folgende Informationen festgehalten, wenn ein Bug gemeldet wird:

  • ID - Eindeutige Bug ID
  • Benutzername - Des angemeldeten Users oder Gast
  • Bugbeschreibung - Beschreibung des Users
  • Modulname - Fehlerhaftes Modul
  • URL - Genaue URL zur Seite mit dem Bug
  • Browser - Informationen zum verwendeten Browser des Users
  • Server
  • Datum
    • Tag
    • Uhrzeit
  • Status - Status des Bugs (Neu, in Bearbeitung, erledigt, ...)
  • Redmine - (link) Falls im Backend aktiviert
  • Screenshot - (link) Falls im Backend aktiviert

Man hat im Backend die Möglichkeit einen Bug zu bearbeiten (Status ändern), einen Bug zu löschen, oder seinen Status zu aktualisieren (Abfrage Redmine). Zudem kann man mit einem Klick auf das Redmine Ticket (falls aktiviert) direkt zum Ticket im Redmine springen. Mit einem Klick auf den Screenshot-Link (falls aktiviert) kommt man direkt zum Screenshot und sieht wo auf der Seite der User einen Bug markiert hat.