Secutest-Protokolle für Bugzilla 3.6.2

Es sollte eigentlich kein Problem sein, Protokolle in Form von RTF-Dateien zu “parsen”, in eine SQL-Datenbank zu schreiben und dann mit einem einfachen PHP-Script jene übersichtlich in einer Tabelle darzustellen. Auch praktische Filteroptionen oder Suchfelder sind schnell implementiert. In meiner Zivildienststelle wird jetzt genau so eine tabellarische Übersicht für Protokolle benötigt. Der Vorteil einer webbasierten Anwendung liegt hierbei klar auf der Hand: Mehrere Angestellte können gleichzeitig, Betriebssystem unabhängig, kollaborativ auf die Daten zugreifen und diese bearbeiten. Von Vorteil wäre in diesem Fall auch eine Benutzerverwaltung, die in der Lage ist, anstehende VDE-Prüfungen ordsveränderlicher Geräte an verschiedene Benutzer zeitlich korrekt zu verteilen und ggf. diese über Mail informiert.
Die Opensource-Anwendung Bugzilla ist für diese Aufgabe vielleicht zu umfangreich, aber zum Glück lässt sich diese Bugtracking-Software gut anpassen, sodass sie auch für solche Einsatzgebiete praktikabel erscheint.
Die Installation von Bugzilla ist nicht ganz einfach, dafür aber gut auf bugzilla.org dokumentiert. Der Download des Archives http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-3.6.2.tar.gz sowie die Installation eines MySQL- und Apache-Servers mit mod_perl (perl-apache-mod) sind hierbei notwendig. Desweiteren muss der Mod in die Apache-Conf eingetragen werden, danach erfolgt die Installation einiger Perl-Module über CPAN. Z.B.:

cd /var/www/bugzilla
./install-module --all
# edit localconfig
groupadd apache
# rerun checksetup

Das original GermZilla-Template habe ich noch ein wenig angepasst, damit Cookies für die Extraspalten automatisch gesetzt werden und dass Zeitangaben in der “Buglist” nach ihrer Priorität farblich markiert werden (modifiziert: bugzilla/template/de/default/list/table.html.tmpl sowie bugzilla/template/de/default/global/header.html.tmpl).

“Produkte” (Prüfungskategorien) und Protokollkategorien werden mit folgendem MySQL-Befehl in die Datenbank hinzugefügt:

ALTER TABLE bugs ADD cf_hersteller VARCHAR(255);
ALTER TABLE bugs ADD cf_geraeteart VARCHAR(255);
ALTER TABLE bugs ADD cf_type VARCHAR(255);
ALTER TABLE bugs ADD cf_ergebnis VARCHAR(255);
ALTER TABLE bugs ADD cf_kategorie VARCHAR(255);
ALTER TABLE bugs ADD cf_pruefung DATE;
ALTER TABLE bugs ADD cf_gedruckt DATE;
ALTER TABLE bugs ADD cf_schutzklasse VARCHAR(255);
ALTER TABLE bugs ADD cf_baujahr VARCHAR(255);
ALTER TABLE bugs ADD cf_naechstepruefung DATE;
ALTER TABLE bugs ADD cf_auftragnummer VARCHAR(255);
ALTER TABLE bugs ADD cf_fabrnr VARCHAR(255);
ALTER TABLE bugs ADD cf_nennstr VARCHAR(255);
ALTER TABLE bugs ADD cf_nennspg VARCHAR(255);
ALTER TABLE bugs ADD cf_nennleistg VARCHAR(255);
ALTER TABLE bugs ADD cf_pruefungnach VARCHAR(255);
ALTER TABLE bugs ADD cf_rtfpath VARCHAR(255);

Das sieht dann ungefähr so aus (show columns from bugs;):

+---------------------+--------------+------+-----+---------+----------------+
| cf_hersteller | mediumtext | YES | | NULL | |
| cf_geraeteart | varchar(255) | YES | | NULL | |
| cf_type | varchar(255) | YES | | NULL | |
| cf_ergebnis | varchar(255) | YES | | NULL | |
| cf_kategorie | varchar(255) | YES | | NULL | |
| cf_pruefung | date | YES | | NULL | |
| cf_gedruckt | date | YES | | NULL | |
| cf_schutzklasse | varchar(255) | YES | | NULL | |
| cf_baujahr | varchar(255) | YES | | NULL | |
| cf_naechstepruefung | date | YES | | NULL | |
| cf_auftragnummer | varchar(255) | YES | | NULL | |
| cf_fabrnr | varchar(255) | YES | | NULL | |
| cf_nennstr | varchar(255) | YES | | NULL | |
| cf_nennspg | varchar(255) | YES | | NULL | |
| cf_nennleistg | varchar(255) | YES | | NULL | |
| cf_pruefungnach | varchar(255) | YES | | NULL | |
| cf_rtfpath | varchar(255) | YES | | NULL | |
+---------------------+--------------+------+-----+---------+----------------+

Damit Bugzilla gleich die Übersicht verschiedener Protokolle anzeigt, wird in der Datei bugzilla/index.cgi “welcome-admin.html.tmpl” und “index.html.tmpl” mit “redirect.php” ersetzt. Redirect.php wird wiederum in bugzilla/template/en/default/ angelegt mit folgendem Inhalt:

<meta HTTP-EQUIV="REFRESH" content="0; url=describecomponents.cgi">

Das englische Template soll automatisch alle Benutzer auf das deutsche Template umleiten und dabei noch die wichtigsten Cookies, für die richtige Darstellung der Buglist, setzen. An einer passenden Stelle muss dazu in bugzilla/template/en/default/global/head.html.tmlp folgender Javascript-Code hinzugefügt werden:

<script type="text/javascript">
document.cookie = "LASTORDER=cf_naechstepruefung";
document.cookie = "COLUMNLIST=cf_kategorie cf_geraeteart cf_hersteller cf_type cf_ergebnis cf_pruefung cf_naechstepruefung";
document.cookie = "TUI=expert_fields=1";
document.cookie = "DEFAULTFORMAT=specific";
document.cookie = "style=default";
set_language('DE');
</script>

Die Sprachvariablen “Bugs” und “Bug” ersetzt man mit “Protokoll” und “Protokolle” in der Datei template/de/default/global/variables.none.tmpl. Jetzt sollte Bugzilla nach hinzugefügten Protokollen ungefähr so aussehen:

Das Programm, welches die SecuTest-Protokolldateien einliest und im richtigen Format in die Bugzilla-Datenbank schiebt (zurzeit noch automatisch zu Produkt Nr. 1), kann hier heruntergeladen werden: vdeprotadd.exe.

In den kommenden Tagen wird sich zeigen, ob das Programm gut für den dauerhaften Einsatz zur erfassung zahlreicher elektrischer Geräte geeignet ist. Ggf. muss noch einiges angepasst werden …

No Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

* Checkbox GDPR is required

*

I agree

Hardware
Aus dem Archiv: keyComfort – Der besondere Fahrradsattel

An dieser Stelle möchte in unserem Sommer-Format “Aus dem Archiv” ein besonders kreatives und ausgefallenes Projekt vorstellen: keyComfort. Um garnicht erst viel Worte zu verlieren, lasse ich einfach das großartige Video unserer Indiegogo Crowdfunding-Kampagne (Web-Archiv 1,2) sprechen: Trotz seiner ansprechenden Ästhetik und professionellen Machart ging die Kampagne weder dort noch …

Hardware
Aus dem Archiv: CNC-Fräse Lightning Talk GPN10

Eigentlich hatten wir, Benibr, ST und ich damals 2010 schon verschiedene Texte zur GPN10, der Gulaschprogrammiernacht des Entropias in Karlsruhe, veröffentlicht. Auch der Talk von ST und Robert hatte erwähnung gefunden. Die Aufzeichnung zu dem Vortrag über die erste, selbstgebaute CNC-Fräse wurde aber leider noch nicht verlinkt oder hier hochgeladen. …

Software
Officepad – Etherpad alternative based on Onlyoffice

During the Chaos Communication Camp 2019 I was working on a project called Officepad. The aim was to build a web interface comparable to Etherpad. Etherpad is a well established tool for online text collaboration used by software developers, activists and so on. Etherpad is relatively stable and works well …