Version 0.4

Ja, es geht wirklich immer weiter!

Mit Version 0.4 ist nun die erste nutzbare Version fertig. Alle grundlegende Funktionen sind enthalten und funktionieren!

Im Hauptfenster ist die Dokumenten-Liste hinzugekommen. Hier handelt es sich wieder um eine Baum-Liste, da ich mir noch nicht sicher bin, ob ich vielleicht irgendwann die Möglichkeit einbauen möchte, alle referenzierten Dokumente im Baum anzeigen zu lassen. So weite bin ich aber noch nicht, steht also in den Sternen!

Es sind auch zwei neue Punkte in der Menüleiste hinzugekommen. Dokument und Hilfe.

Unter Hilfe finden sich zwei Einträge. Mittels Handbuch kann man sich das PDF des Handbuchs anzeigen lassen. Ich habe mich dafür entschieden, den vom System vorgegebene Betrachter zu wählen. Es ist also nicht möglich, in dU-DA selbst einen Betrachter auszuwählen! Auch habe ich mich gegen den Einbau eines eigenen PDF-Betrachters entschieden. Qt bietet zwar ein paar Möglichkeiten, doch leider war das alles nicht so schnell zu realisieren, wie ich mir das erhofft hatte.

Ich selbst verwende Atril zum betrachten von PDFs. Das dürfte aber Geschmackssache sein.

Hat man da Worte? Mit dem Menüpunkt Über erscheint ein kleines Fenster und zeigt die aktuelle Versionsnummer an. Ich bin erschüttert! Darüber hinaus, wenn man in der Kommandozeile

duda --version

eingibt, bekommt man ebenfalls die Versionsnummer angezeigt.

Dokument

Spannender ist natürlich der Menüpunkt Dokument.

Man kann ein Dokument anlegen, bearbeiten und löschen.

Löschen sollte selbsterklärend sein. Es erscheint eine Sicherheitsabfrage, danach wird das Dokument vollständig aus der Datenbank entfernt.

Anlegen und bearbeiten wird über das Dokument-Fenster abgewickelt. Legt man ein neues Dokument an, so sind alle Felder leer, die Daten stehen auf 01.01.2021 und hinter ID steht “Wird zugewiesen!“. Die Datenbank vergibt die ID für neue Dokumente, weshalb hier nichts eingegeben werden kann.

Wird ein Dokument editiert, erscheinen hier die zuvor eingegebenen Daten mit Ausnahme der PDF-Datei. Bleibt dieses Feld beim ändern leer, wird auch an der PDF-Datei in der Datenbank nichts verändert. Wird hier ein neues PDF angegeben, wird jenes in der Datenbank dadurch ersetzt!

Bei Referenz kann man die ID eines anderen Dokuments einfügen, auf welches sich dieses Dokument bezieht. Hier muss eine Auswahlmöglichkeit her! So gefällt mir das noch nicht.

Nach dem speichern wird das neue Dokument mit neuer ID angelegt, oder ein bestehendes Dokument aktualisiert.

Dokument-Liste

Derzeit führt ein Doppelklick auf ein gespeichertes Dokument dazu, dass die entsprechende PDF aus der Datenbank geladen und gespeichert wird, um sie anschliessend mit dem vom System vorgegebenen Betrachter anzuzeigen.

Hier, genau wie bei der Archiv-Liste, muss die Möglichkeit zur Sortierung eingefügt werden!

Version 0.5

In dieser Version habe ich vor, sämtliche bei der Nutzung auftretende Unzulänglichkeiten zu beseitigen. Neue Funktionen werden keine eingebaut, es geht einzig darum, die Schwächen, welche bei der Entwicklung wenig auffallen, aufzuspüren und zu beseitigen. Dafür eignet sich meiner Meinung nach der laufende Betrieb am besten!

Version 0.3

Und es geht weiter! Das Projekt ist schon so jung und dennoch gibt es deutliche Veränderungen zur Version 0.2.

Das Passwort ist aus den Einstellungen geflogen. Da PostgreSQL die Übertragung eines Passwort in “Plain Text” verlangt, wäre die Verschlüssung auf Seiten des Clients lediglich für die Konfiguration notwendig. Diesen Aufwand wollte ich dafür jedoch nicht betreiben. Vielleicht in einer späteren Version.

Aus diesem Grund habe ich mich dafür entschieden, dass man das Passwort zum Programmstart eingeben muss. Das wird dann intern gespeichert und über die ganze Sitzung verwendet. Findet das Programm jedoch keine gültige Konfigurationsdatei, zum Beispiel beim ersten Programmstart, erfolgt diese Abfrage nicht und beim Start wird auch keine Abfrage an die Datenbank geschickt. Nachdem die Konfiguration korrekt ausgefüllt wurde, kann über den Menüpunkt Datenbank->Abrufen manuell ein Abfrage losgeschickt werden. Diese fragt dann erneut nach dem Passwort, solange noch keines gesetzt wurde.

Darüber hinaus ist es nun auch möglich, Archive anzulegen, diese umzubenennen und auch wieder zu löschen.

Im Hauptfenster werden alle angelegten Archive in einer Baumliste angezeigt. Das hat derzeit noch keinen wirklichen Nutzen, doch für spätere Versionen will ich mir diese Möglichkeit einfach offen halten.

Eine Sortierung der Liste nehme ich auch in einer späteren Version vor.

Schlussendlich habe ich auch ein Handbuch in HTML und PDF erstellt. Dieses wird mit jeder neuen Version kontinuierlich mitwachsen.

Version 0.4

In der nächsten Version werde ich das einfügen, bearbeiten, anzeigen und löschen der Dokumente in Angriff nehmen. Dafür wird es eine neue Liste neben der Archiv-Liste geben.

Zu den eigentlichen PDFs wird es auch die Möglichkeit geben, dass Datum des Dokuments zu speichern, es wird automatisch gespeichert, wann das Dokument in die Datenbank eingefügt wurde, man kann dem Dokument ein Kommentar hinzufügen und eine Referenz zu einem anderen, gespeicherten Dokument anlegen.

Mit dem letzten Punkt hoffe ich, einen Schriftverkehr nachvollziehbar zu machen. Je nach Möglichkeiten soll man alle zum Dokument gehörigen PDFs, möglichst nach Datum sortiert, gleichzeitig anzeigen können.

Hinzukommen wird auch eine Auswahlmöglichkeit für PDF-Betrachter in den Einstellungen. Ich spiele jedoch auch mit dem Gedanken, einen eigenen PDF-Betrachter direkt ins Programm einzubauen. Das steht jedoch noch nicht fest. Unter Umständen arbeite ich auch zuerst mit einem externen Programm.

Die Version 0.2

Ach ja, die liebe Zeit! So schnell geht sie dahin und so wenig habe ich an meinem Projekt getan :(.

Aber, ganz untätig war ich auch nicht. Derzeit liegt dU-DA in Version 0.2 vor. Das heisst, ich habe das Hauptfenster erstellt

und das Konfigurationsfenster.

Die Konfiguration kann auch bereits gespeichert und geladen werden. Das Passwort wird derzeit jedoch noch in Klartext angezeigt und abgespeichert. Um eine entsprechende Verschlüsslung kümmere ich mich später. Wer da vielleicht Ratschläge hat, wie man eine gute Verschlüsslung in C++ implementiert, ich würde mich sicher nicht beklagen!

Was mich jedoch auch etwas gebremst hat war, ich habe mich näher mit git auseinander gesetzt. Bislang habe ich git nur benutzt, um quasi ein Backup zu haben und bei Bedarf mit meine Projekte auch auf den Laptop zu holen und dort zu arbeiten. Nebenbei, ich benutze nicht github! Meine Projekte liegen auf meinem eigenen Server und werden derzeit über ssh geklont und gepflegt! Allerdings habe ich auch vor, mir Gitlab auf den Server zu legen. Falls ich denn mal ein Projekt veröffentliche. Wer bereits Erfahrung mit Gitlab auf einem eigenen Server hat, darf sich auch gerne bei mir melden.

Das war mir jedoch nicht mehr gut genug. Git kann schliesslich so viel mehr. Also habe ich mich mal eingearbeitet, wie man mit Git branches erstellen und diese später in den master-branch mergen kann. Das geht zwar ziemlich einfach, aber ich wollte mir das trotzdem mal im Detail anschauen. Demnach ist dU-DA mein erstes Programm, welches ich mit branches für die einzelnen Versionen versehe. Klappt ziemlich gut und einfach!

Darüber hinaus habe ich auch angefangen, zusammen mit dem Programm eine Dokumentation mittels docbook zu erstellen. Auch da musste ich mich erst einmal einarbeiten und so ganz zufrieden bin ich mit dem, was ich bislang da zustande bringen, noch nicht. Aber, es wird. Die Dokumentation organisiere ich dabei mit den branches einfach mit und habe dann auch da immer die richtige Dokumentation zum jeweiligen branch zur Hand.

Mit der Version 0.3 werde ich jetzt die Datenbank ansprechen. Ich schätze mal, der schwierigste Teil dürfte es werden, die gespeicherten PDF als Tumbnail anzuzeigen. Falls ich das überhaupt machen werde. Unter Umständen baue ich auch einfach nur eine Liste, in welcher ich schliesslich die gespeicherten Dokumente anzeige. Oder, ich baue zuerst eine Liste und später dann die Möglichkeit, zwischen einer Liste und einer Tumbnail-Ansicht zu wechseln. Mal abwarten.

dU-DA (Dokument Archiv)

Ach ja, wieder ein neues Projekt, während die ganzen anderen Projekte noch gar nicht abgeschlossen sind. Nennen wir es einfach mal, manchmal muss man eben Prioritäten setzen!

Aus Gründen habe ich mich nun dazu entschieden, eine Datenbank für PDF-Dokumente zu schreiben. Gibt es schon, weiss ich, aber irgendwie hat sich in meinem Kopf ein bisschen anderes Prinzip etabliert, was ich gerne umsetzen würde.

Die Idee dahinter ist, auf einem Server eine PostgreSQL-Datenbank laufen zu haben, in der die ganzen PDF gespeichert sind. Mit Zeitpunkt des Uploads, gegebenenfalls Datum eines Schriftstücks, Titel und was weiss ich. Man soll Kategorien und Unterkategorien erstellen können, würde ich mal so sagen, vielleicht auch Kommentare und was mir noch so einfällt.

Ziel des Ganzen soll sein, möglichst schnell und effizient Unterlagen auffinden zu können. Sei es eine Rechnung, ein wichtiges Schriftstück, oder was auch immer.

Eingesetzt wird C++ mit Qt. Qt bietet ja netterweise auch eine SQL Anbindung und ich werde auch schauen, dass es sowohl Linux wie auch Windows kompatibel ist.

Start ist der 15. Dezember 2020 und ich würde mich freuen, wenn ich es bis ende des Jahres noch auf die Reihe bringen würde. Zumindest mal die Grundversion.