EmailStatusSender – Benachrichtigungen bei Mantis Events
Wir hatten den Wunsch bei neuen Issues in diversen Projekten immer benachrichtet zu werden. Die Einstellungen in Mantis erlaubten uns leider nur alle Administratoren auf einmal zu informieren. Unsere Intention bestand aber darin, die Benutzer für jedes Projekt einzeln konfigurieren zu können. So entstand die Idee das Pluginsystem von Mantis dafür zu verwenden. Es ist eventbasiert und sendet diese an alle Plugins, die sich für dieses Event angemeldet haben.
Im Moment werden nur bei neuen Issues alle konfigurierten Benutzer informiert. Dabei ist es durch Konfigurationsoptionen auch möglich den Reporter und den Bearbeitenden auszusparen. Es wird sicherlich mit neuen Anforderungen wachsen und genereller werden. Das aktuelle Plugin ist bei GitHub zu finden. Über Patches, Kommentare und Feedback würden wir uns natürlich freuen.
Magento Query Builder
Wenn man mal bei Magento schnell in der Datenbank nachschauen will, dann ist das sehr umständlich durch die EAV Datenbankstruktur. Ab und zu tauchen ein paar fertige SQL-Querys auf, die aber nicht auf jeden Shop passen. Da es ziemlich aufwändig ist, sich immer per Hand die entsprechenden Statements zusammenzubauen, haben wir ein kleines Tool geschrieben, mit dem man sich die SQL-Querys bauen lassen kann. Dafür braucht man nur PHP + Verbindung zur Datenbank.
Dieses Tool findet ihr auf GitHub:
https://github.com/OSguard/Magento-Query-Builder
Das Beispiel:
https://github.com/OSguard/Magento-Query-Builder/blob/master/example_export_all_products.php
erklärt im Wesentlichen, wie man das Script benutzen kann. Man erzeugt sich ein Objekt, auf das man zugreifen will und lädt die Attribute:
$builder = new QueryBuilder('catalog/product', array(0,1)); $builder->loadAllAttributes();
Danach wählt man aus, welche Attribute man ausgeben will:
$attr = array( "entity_id", "sku", "name", "price", "url_path", "url_key", "attribute_set", "status", "created_at", "updated_at" ); $builder->selectAttributes( $attr );
Man kann z.B. noch die Bedienung einschränken, damit eine WHERE-Klausel gebaut wird:
$builder->setCond( 'type_id', '=', '"simple"');
Dann kann man sich das Query ausgeben lassen:
$builder->getQuery();
In unserem Beispiel wird dann folgender SQL-Befehl erzeugt:
SELECT a.entity_id AS entity_id, a.sku AS sku, t0.VALUE AS name , t1.VALUE AS price , t2.VALUE AS url_path , t3.VALUE AS url_key , b.attribute_set_name AS attribute_set, t4.VALUE AS STATUS , a.created_at AS created_at, a.updated_at AS updated_at FROM ( SELECT entity.* FROM catalog_product_entity entity WHERE entity.type_id = "simple" ) a LEFT JOIN eav_attribute_set b ON b.attribute_set_id=a.attribute_set_id LEFT JOIN catalog_product_entity_varchar t0 ON t0.attribute_id= 96 AND t0.entity_id=a.entity_id AND t0.store_id = 0 LEFT JOIN catalog_product_entity_decimal t1 ON t1.attribute_id= 99 AND t1.entity_id=a.entity_id AND t1.store_id = 0 LEFT JOIN catalog_product_entity_varchar t2 ON t2.attribute_id= 570 AND t2.entity_id=a.entity_id AND t2.store_id = 0 LEFT JOIN catalog_product_entity_varchar t3 ON t3.attribute_id= 481 AND t3.entity_id=a.entity_id AND t3.store_id = 0 LEFT JOIN catalog_product_entity_int t4 ON t4.attribute_id= 273 AND t4.entity_id=a.entity_id AND t4.store_id = 0
Das ist keine fertige Bibliothek, die man in ein Modul einbauen kann. Aber mann kann damit z.B. Export-Scripte bauen, die auch sehr viele Produkte in Sekunden exportieren, da hier der Magento-Weg sehr langsam ist. Oder es erleichtert das Arbeiten auf der Datenbank-Konsole. Zur Zeit ist das noch eine Rohfassung, vielleicht findet sich ja der ein oder andere, der bei der Entwicklung hilft. Der Code steht unter BSD-Lizenz.
Ein Wochenende Datev-Migration, ein Erfahrungsbericht
Wenn man in der IT-Branche arbeitet ist es keine Besonderheit, dass gerade die Einsätze am Wochenende lange dauern. Dies liegt weniger daran, dass am Wochenende weniger helfende Hände zu Verfügung stehen, als viel mehr an der Tatsache, dass gerade am Wochenende zusammenhängende und aufwendige Arbeiten, wie etwa eine Datenmigration bzw. die Substitution von Anwendungssystemen durchgeführt werden müssen. Dieses Wochenende war es mal wieder soweit. Bei einem unserer Kunden, einer mittelständischen Steuerberatungskanzlei mit Sitz in Buchholz i.d.N. bei Hamburg sollte dass deutlich in die Jahre gekommene Anwendungssystemkonglomerat DATEV durch die evolutionäre Variante Datev Pro ersetzt werden.
Vorwort
Mit viel Aufwand hat die Firma DATEV e.G. mit Hauptsitz in Nürnberg, das deutschlandweit erste Unternehmen, das überhaupt derartige Software angeboten hat, den Schritt in das Zeitalter voll-integrierter Anwendungssysteme gemacht. Bis dato bestand Datev aus wenig bis gar nicht integrierten Insellösungen für die unterschiedlichen Geschäftsprozesse, darunter Programme für die Lohnbuchhaltung (LODAS), Einkommenssteuererklärung (ESt), die Kanzleiorganisation (Eigenorganisation) und das Rechnungswesen (Kanzlei ReWe).
Bereits mit Beginn des Jahres 2010 hatte Datev angefangen, die Vorzüge des neues Produktes in entsprechender Weise zu präsentieren und die Kunden zu einer Umstellung zu bewegen. Eine im Rahmen der Einführung dieses Wochenende durchgeführte Befragung des First und Second Level Support von Datev zeigt jedoch, dass allen Bemühungen zum trotz vermutlich erst 1/3 aller Steuerberater, die Datev nutzen umgestellt haben. Dies ist insofern bedenklich, als dass ab dem 1.1.2012 keine Transaktionen der alten Programme mit den Rechenzentren von Datev und den Finanzbehörden mehr möglich sein wird. Datev hat hierzu mit bereits einjähriger Vorlaufzeit den Support abgekündigt.
Verlauf der Migration
Der Betrieb von 10 Arbeitsplätzen in der Kanzlei und 2 Remotenutzern (über VPN angeschlossen) bei unserem Kunden, läuft auf einem leistungsfähigen Hostserver der Marke Dell mit Windows 2008 Small Business Server, sowie einem darauf installierten Windows 2008 SBS Terminal Server. Dieser lößte bereits in einem letzten Ausbauschritt die früherer Client / Server Installation mit Servern und einer Vielzahl eigener Clients ab. Die Maintainance und Wartungskosten der Clientsysteme sind mit dieser Maßnahme erheblich gesenkt worden. Die Stabilität und Konistenz der Anwendungsnutzung konnte zudem durch die WTS-Umgebung gesteigert werden. Da in diesem Setup sowohl der Hostserver (der auch als Datenbankserver fungiert) alsauch der WTS-Server sogenannte “single points of failure” darstellen, wurde zur Migrationsvorbereitung beschlossen, ein komplett separates Offline Backup der Hostmaschine zu fahren. Nachdem alle Vorarbeiten erledigt waren und alles aktuellen Sicherheitsupdates der Plattform eingespielt waren, wurde deshalb eine vollständiges Backup der etwa 250GB Kanzleidaten durchgeführt. Da es sich bei derart großen Datenbeständen in Datenbanken zumeist um recht fragmentierte Daten handelt, dauerte diese Maßnahme gut 6 Stunden und erfolgte am Freitag Nachmittag und in der Nacht zum Samstag.
Am Samstag wurde dann morgens mit der Basisinstallation des Fileservers begonnen. Zu diesem Zweck stellt Datev eine Reihe von Leitfäden bereit, deren Lektüre zur Fehlervermeidung dringend anzuraten ist. Besonders hilfreich war, dass die Firma Datev e.G. als einer der letzten Softwarehäuser in Europa dazu durchringen konnte ihren Support zumindest zeitlich an die üblichen Zeitfenster für Updates und Migrationen anzupassen und eine Hotline auch am Wochenende anzubieten. Dies war besonders bei der notwendigen Datenbereinigung der Nummernzusammenhänge im Vorfelde der Datenübernahme sehr hilfreich.
So konnte sichergestellt werden, dass die circa 1500 Mandantenstammdatensätze ohne ein gravierendes Problem übernommen werden konnten. Ein ewiger Problempunkt bei Datev ist das Softwareschutzmodul und die damit recht eng verzahnte Nutzungskontrolle sowie DFÜ-Übertragung. Auch hier war jedoch ein Supporttechniker sehr hilfreich. Sehr kritisch anzumerken ist, dass die Wartezeiten der Supporthotline von Datev nach wie vor unzumutbar sind. Die Qualität des Services und die Kompetenz mit der beraten wurde waren jedoch vorbildlich
Nach der Migration
Die Kanzlei hat bereits mit der letzten Version von Datev Classic die Officelösung Open Office eingesetzt und damals eine Menge Aufwand betrieben, die offensichtlich unzureichend getestete Schnittstelle zur korrekten Arbeit mit Datev zu bewegen. Nach einer schwierigen Anlaufphase (Laufzeitproblemen) konnte das Produkt jedoch erfolgreich mit Datev Classic genutzt werden. Umso ärgerlicher ist es daher, dass die Installationsroutine von Datev Pro oder besser die stets vorher durchlaufende Anforderungsprüfung ein rote Ampel liefert, wenn kein Microsoft Office installiert ist, obwohl Open Office in der Version 3.3 zumindest für die wichtigsten Schriftwechsel offiziell freigegeben ist.
Die deuten wir als Zeichen dafür, dass Datev nach wie vor Open Office bzw. seinen Fork (LibreOffice) unzureichend bzw. gar nicht unterstützen. Hier ist nach wie vor erhebliches Verbesserungspotential. Ebenso ärgerlich ist, dass nach der Fertigstellung der Installation eine Neuanlage von Dokumenten mit Open Office fehlschlägt und eine Fehlermeldung geworfen wird. Daran ändert auch eine Prüfung der Einstellungen mit dem Office Konfigurationsdialog von Datev “OfficeDiag.exe” nichts. Es bleibt abzuwarten ob der Fehler am Montag morgen zeitnah bereinigt werden kann.
Erster Eindruck
Sowohl der Kunde, als auch wir als IT-Dienstleister konnten direkt im Anschluss der Installation und Erstbestückung des Arbeitsplatzes Pro von Datev (hierbei ist darauf zu achten, dass der installierende Nutzer auch Nuko Admin ist) das deutlich intuitiver zu bedienende Dashboard von Datev Pro bewundern. Die Kommunikation (Email und CTI) ist jetzt nahtlos integriert und erlaubt eine schnelle Kontaktaufnahme mit den Mandanten. Die Termin- und Aufgabenverwaltung ersetzt einen Exchangeserver weitgehend (obwohl der Datenabgleich möglich wäre) und verringert so die Umstiegshürden von MS-Office auf Open Office, da letzteres leider nicht über einen Rich Mail Client verfügt. Auch die Dokumentenorganisation ist recht intuitiv zu bedienen und kann direkt am Kunden abgelegt werden. Im Anschluss an die Installation wurde beschlossen die Anbindung der Email-Kommunikation künftig über Thunderbird und die IMAP Funktion des installierten Exchange 2007 Servers zu realisieren. Damit ist sichergestellt, dass der Mailverkehr in einem zentralen Mailstore gespeichert wird und so auditsicher verwahrt werden kann. Zeitgleich können so Handlingproblem insbesondere bei den zum Teil großen Attachements deutlich reduziert werden, da der Webclient von Exchange 2007 hier nach wie vor Schwächen hat.
Fazit und Resümee
Die Tatsache dass der Arbeitsplatz Pro der zentrale Anlaufpunkt für alle kanzleispezifischen Prozesse geworden ist, hängt für die nun folgende Schulungs- und Einführungsphase die Erwartungshaltung sehr hoch. Wermutstropfen ist und bleibt die schlechte Perfomance vieler auf .NET Basis entwickelter Anwendungen. Dieses bereits von Sage Office Line Evolution bekannte schleppende Laufzeitverhalten, scheint ein grundsätzliches Problem auch von Datev Pro zu sein bzw. zu werden. Dennoch erwarten der Steuerberater als auch wir einen deutliche Effizienzsteigerung der Kanzleiprozesse nach dieser Umstellung. Wir ziehen insgesamt ein positive Resümee der Migration und konnten zumindest die auch von uns vorher geäußerten Vorbehalte weitgehend ausräumen. Bewahrheitet sich der erste Eindruck auch in der Praxis und gelingt es der Datev insbesondere beim Support und dem Laufzeitverhalten sowie der Unterstützung offener Standards noch ein deutliches Quäntchen nachzulegen, dürften DATEV neuerlicher Erfolg beschieden sein. Ein kritischer Punkt werden sicherlich die geballten noch ausstehenden Migrationen zum Jahreswechsel 2011/2012.
