Login
Newsletter
Werbung

Do, 9. August 2012, 15:00

C.U.O.N., GTK3 und Broadway

Das C.U.O.N.-System sowie der Client pyCuon sind eine Auftragsbearbeitung, Warenwirtschaft und allgemeine Datenverwaltung. Außerdem beinhaltet es ein Dokumenten-Management-System (DMS). Das komplette System steht unter der GPLv3. Gerade das DMS kann sehr vielseitig angewendet werden.

Vorwort

Kaufmännische Anwendungen gibt es unter Linux nicht allzu viele, C.U.O.N. ist eine davon. Es eignet sich für kleine (zwei bis drei Bildschirm-Arbeitsplätze sollten es schon sein) bis hin zu größeren Unternehmen. Das C.U.O.N.-System hat im letzten Jahr wieder zahlreiche Verbesserungen und Erweiterungen erlebt. Nun steht eine große Migration von GTK2 auf GTK3 an.

Komponenten

Das C.U.O.N.-System ist in drei Komponenten unterteilt. Der Server kann nur auf Linux installiert werden, benötigt aber keine GUI. Das Setup -, Konfigurations- und Pflegeprogramm ist eine Python-GTK-Komponente und läuft am besten auf einen Linux-System mit GUI. Die Clients laufen in vielen möglichen Systemen, z.B. Linux oder Windows.

Der Server

Der Server ist als Komponente voll auf ein Linux-System abgestimmt. Er basiert auf einen Postgresql-Server sowie diversen Python-Modulen. Ebenfalls wird in der Regel ein Loadbalancer empfohlen; der cuond ist für den TXLB Loadbalancer vorkonfiguriert. Jede Änderung der SQL-Daten wird in History-Tabellen vorgehalten; damit können relativ schmerzfrei z.B. versehentlich überschriebene Dokumente aus der History-Tabelle wiederhergestellt werden, ohne ein Monate altes Backup einzuspielen.

Die Kommunikation mit den Clients wird über XMLRPC abgewickelt. Ein Report-Server-Modul generiert PDF Dokumente für Listen, Rechnungen, etc.

Das Setup-Tool

Dieses Programm benötigt eine GUI und im Prinzip Linux, da viele Befehle in Linux problemlos vorhanden sind. Es wären da u.a. rsync, scp und ssh zu nennen. Dieses Tool verwaltet die Benutzer und deren Rechte, Mandanten und Hunderte von Einstellungen. Darüber hinaus dient es der Serveraktualisierung. Als Besonderheit kann in kleineren Firmen das Setup-Tool auf dem Server oder einem Linux-Client laufen.

Die Clients

Hier gibt es vornehmlich den pyCuon-Hauptclient. Dieser läuft auf verschiedenen Umgebungen. Er benötigt im Prinzip Python, GTK und python-twisted und kann sehr umfangreich angepasst werden. Zum einen kann der Administrator festlegen, welche Menüs für jeden Benutzer aktiviert sind, zum anderen kann die GUI vollständig für jede Firma, ja sogar für einzelne Benutzer angepasst werden.

Glade mit Layout

Jürgen Hamel

Glade mit Layout

Die GUI kann unter Linux mit dem Programm Glade verändert werden. Daneben können auch noch andere Clients benutzt werden (siehe unten).

Die Migration zu GTK-3

Seit einiger Zeit gibt es die neuen GTK+-Bibliotheken und immer mehr Programme nutzen diese. Nun sollte auch C.U.O.N. diese neuen Libraries benutzen und evtl. damit verbundene neue Technologien. Da C.U.O.N. das »rolling«-Prinzip nutzt, also regelmäßig direkt aus dem SVN-Zweig erneuert wird, muss Rücksicht auf die »Early Tester« genommen werden. Außerdem gibt es das Problem mit alternativen Glade-Dateien. Also sind vorab die Firmen, Benutzer und Designer informiert worden, aber trotzdem kann es immer wieder Überraschungen geben.

Glade-Dateien

Im ersten Schritt werden alle Glade-Dateien überprüft. Da C.U.O.N. seit über 10 Jahren entwickelt wird, hat es entsprechende überholte Widgets in den Glade-Masken. z.B. müssen alle GtkComboBoxEntry-Widgets in entsprechende GtkComboBox-Widgets umgewandelt werden. Allerdings kann das immer nur Schritt für Schritt erfolgen, da entsprechend die Designer von alternativen Skins immer passend informiert werden müssen. Und die Masken müssen alle von Libglade auf GtkBuilder konvertiert werden, denn das neue System verwendet dann statt der alten Libglade den neuen GtkBuilder. In der Übergangszeit soll beides beherrscht werden.

Python Code

Der größte Teil der Anpassung kann mit dem folgenden Tool gemacht werden: Das Skript pygi-convert.sh ersetzt eine Menge der Imports und Direktiven in allen Programm-Dateien. Leider bleiben auch eine Menge von Nachbesserungen übrig. Um z.B. die Übersetzungen in den lokalen Verzeichnissen zu benutzen, muss

import locale, gettext

in Folgendes umgeändert werden:

import locale
from locale import gettext as _

Ein paar weitere Änderungen müssen noch folgen, aber voraussichtlich im Sommer 2012 wird die Umstellung auf GTK-3 erfolgreich abgeschlossen sein.

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung