Meine IPA

SQL Ledger ist eine OpenSource ERP-Lösung, welche seit Jahren von der Firma leanux.ch aktiv weiterentwickelt wird. Auf Grund gegebener Lizenzgründen, ist der weiterentwickelte Code von den neuen Versionen nicht öffentlich einsichtlich. Daher keine GitHub-Verlinkung an dieser Stelle.

In meiner Ausbildungszeit waren Korrekturen und Erweiterungen von Funktionen für das ERP-System Bestandteile meiner primären Tätigkeiten. So ergab es sich, dass auch meine Abschlussarbeit eine Funktionserweiterung für SQL-Ledger sein sollte - eine automatisierte Registration für Benutzer.

Die IPA (Individuelle Praktische Arbeit) ist ein Bestandteil des Qualifikationsverfahrens für die Ausbildung zum Informatiker mit eidg. Fähigkeitszeugnis. In dem zehntägigen Projekt gilt es zu zeigen, was man in den vier Jahren seiner Ausbildungszeit gelernt hat. Meine Projektarbeit - und natürlich auch meine Ausbildung - habe ich erfolgreich absolviert und meine Abschlussarbeit wurde sogar als eine der 10 besten Informatik-Praxisfacharbeiten der Schweiz ausgezeichnet.

Die Facharbeit

Das von mir am Ende der IPA geschriebene Websummary, welches man auch auf der Website von pk19 finden kann, habe ich nachfolgend eingefügt. Es gibt eine kurze Übersicht in das Projekt. Der vollständige Titel meiner IPA lautete: "Vollautomatischer Registrierungsprozess für Cloud ERP-Lösung (SQL-Ledger)".

Umfeld und Ziel

Die Open-Source-Lösung SQL-Ledger, ein komplett webbasiertes ERP System zur Buchhaltung, wird von der Firma leanux.ch stets weiterentwickelt. SQL-Ledger wird nicht nur intern genutzt, sondern wir bieten auch Zugänge auf von uns gehosteten Installationen an. Mittlerweile sind verschiedenste Lösungen realisiert worden und alle haben unterschiedliche Konfigurationsaufwände für uns.

Für das Projekt ESRlight, welche für Postfinance realisiert wurde, hat man einen eigenständigen Registrierungsprozess implementiert. Dies wurde jedoch komplett gebunden an Postkunden über die ESR-Teilnehmernummer und über Shell-Skripte realisiert. Daher war dies nicht allgemein wiederverwendbar.

Registration

FacturaPlus, ein Projekt für Raiffeisen, erhielt eine Perl-Erweiterung, in welcher eine automatische Registrierung implementiert wurde. Dafür muss jedoch dem System eine Bankenliste aller verfügbaren Banken übergeben werden. So wurde das Produkt erneut kundengruppengebunden umgesetzt.

Das Produkt ClubLight, welches für Vereine angeboten wird, kann in verschiedenen Paketangeboten erworben werden. Um dafür die Zugangsdaten zu erhalten, muss der Benutzer ein Webformular ausfüllen. Dieses wird als Mail an uns, leanux.ch, übermittelt. Wir konfigurieren das gewünschte Paket und schicken dem Kunden anschliessend die Zugangsdaten.

Dies kostet Zeit und ist fehleranfällig. In einer neuen Version soll für SQL-Ledger die automatische Registrierung so erweitert werden, dass verschiedene Pakete konfigurieren werden können. Für diese kann man bestimmen, welche Funktionen sie beinhalten und für welche Zielgruppe sie verfügbar sind. So wird eine Registrierung für Kunden aller Schweizerischen Finanzinstitute ermöglicht. Wird eine Registrierung abgeschlossen, wird eine Datenbank mit den entsprechenden Benutzern automatisch erstellt und der Kunde erhält seine Zugangsdaten binnen wenigen Minuten.

Lösung

Um diese neue Art des Registrierungsprozesses zu ermöglichen, musste erst eine Paketverwaltung designt und implementiert werden. Diese dient neu als zentrale Konfigurationsstelle, bei welcher neu alle Einstellungsangaben übersichtlich pro Paket ermöglichen werden können. So werden zusätzliche Benutzereinstellungen oder Druckvorlagenbereitstellungen überflüssig.

Die Paketinformationen, sowie die Möglichkeit für Benutzerangeben, wurden über eine neu gestaltete Registrationsoberfläche zur Verfügung gestellt. Der anschliessende Registrierungsprozess setzt eine komplette Datenbank mit definierten Druckvorlagen, Kontenpläne und Benutzerdaten zur Verfügung. Dabei kann pro Paket definiert werden, ob ein Benutzer einen Benutzernamen oder Passwort definieren darf, oder diese Informationen vom System generiert werden sollen.

Fazit

Die Zeit während meiner individuellen Praxisarbeit war zum einen sehr stresserfüllt unter dem stetigen Zeitdruck, auf der anderen Seite jedoch auch sehr lehrreich. Seinen Fokus komplett auf ein Projekt - ohne äussere Einflüsse oder Ablenkungen im Sinne von zwischeneingeschobenen Kleinarbeiten - legen zu können, war eine schöne Erfahrung, welche mir viel Spass gemacht hat. Während der Umsetzung meines Projekts kamen viele Themeninformationen der vergangenen vier Jahre zusammen, was für eine angenehme Auffrischung von gewissen Bereichen sorgte. Namentlich beispielsweise der Programmablaufplan. Am meisten profitiert habe ich rückblickend betrachtet in puncto Methodenkompetenz. Ich habe meine Schlüsse bereits jetzt aus einzelnen Fehlern gezogen und blicke positiv dem nächsten Projekt entgegen.

Ich freue mich darauf, die neue Funktionalität bei unseren Kunden einzuführen und dessen Rückmeldungen zu erfahren. Beim ersten Kunden ist die Aktualisierung auf die neuste Version bereits wenige Tage nach Abschluss der Praxisarbeit erfolgt.

Funktionsüberblick

Für einen groben Überblick meiner gemachten Erweiterungen habe ich ein kleines Video für meine IPA-Präsentation erstellt. Mit Einverständnis des damaligen Arbeitgebers kannst Du es nachfolgend abspielen. Klar, es ist nicht perfekt, aber bedenke, dass das Video lediglich ein "kleines Präsentationsextra" darstellte und die Zeit stark begrenzt war.