Bioruebe.com Development done right.

Mittagsangebot-Einsteller

Mittagsangebot-Einsteller
Click image for a live preview

English Summary

This is a proprietary tool created for a local store in my home town to automatise several tasks. Its main purpose is to provide an easy way to upload a weekly changing daily menu. After filling out the input fields using a simple GUI all upload processes are done automatically. The online database is updated, menu sub-page and site header are created dynamically on a page view. As additional features the program provides a HTML preview, spell check and auto-update functionality and can automatically create a ready-to-send e-mail template and  a printable office document file using a predefined template.

Used technologies are AutoIt, HTML, PHP, SQL and the Hunspell library.

Über

Dieses kleine Programm dient dazu, die Einstellung des täglich wechselnden Mittagsangebotes der Fleischerei Hanisch zu erleichtern bzw. zu automatisieren. Die täglich aktuellen Angebote werden auf der Webseite im Header, sowie als Wochenübersicht auf einer speziellen Unterseite angezeigt. Die Daten sind dabei einzeln in einer MySQL-Datenbank gespeichert und werden von einem PHP-Skript abgerufen.

Damit bei der Einstellung neuer Angebote nicht versehentlich Schäden an der Datenbank entstehen und gleichzeitig der umständlichere Weg über den Browser () vermieden wird, erstellte ich diese Softwarelösung.

Funktionsumfang

Das Programm bietet eine einfache, selbsterklärende Eingabemaske für alle vier Tage, an denen ein Mittagsangebot erhältlich ist. Die Daten werden anhand des aktuellen Tages automatisch ermittelt, können aber auch manuell gewählt werden, um mehrere Wochen im Voraus einzustellen. Dies ist möglich, da alle Angebote lokal in einere SQLite-Datenbank zwischengespeichert werden. Dadurch kann auch auf ältere Daten zurückgegriffen werden, um beispielsweise wiederkehrende Angebote zu ermöglichen.

Für jeden Tag lässt sich ein Titel angeben; bei jedem Angebot kann eine Meldung mit der Bitte um Vorbestellung eingeblendet werden. Optional ist weiterhin eine Überschrift, z.B. für Aktionswochen angebbar. Ein größeres Eingabefeld bietet Platz für immer erhältliche Angebote.

Eine Vorschau-Funktion zeigt das HTML-formatierte Resultat an (inklusive der statischen Informationen  wie Adresse des Ladengeschäfts o.ä.), um Fehler zu finden und damit ein erster Eindruck der visuellen Wirkung möglich ist.

Aus dem Vorschau-Fenster heraus kann das Angebot auf den Server übertragen werden. Als weitere Funktiionen habe ich einige Komfortfunktionen implementiert: So besteht die Möglichkeit, ein druckbares Dokument zu erstellen, den Speiseplan per E-Mail zu versenden oder die Homepage zu öffnen, um den Speiseplan anzuzeigen.

Technik

Das Programm basiert auf der Skriptsprache Autoit, da verschiedene Windows-Anforderungen damit am einfachsten umgesetzt werden können, wie z.B. das Öffnen der Standardprogramme (E-Mail, Office) oder die Datumsauswahl.

Die über die Eingabemaske eingegebenen Daten werden lokal in einer SQLite-Datenbank zwischengespeichert und beim Start aus dieser automatisch geladen.Dazu wird anhand des Systemdatums der nächste Angebotstag errechnet , woraufhin die Abfragen an die Datenbank gestellt werden.

Beim Speichern werden die Daten sowohl in  der lokalen, als auch in der serverseitigen Datenbank gespeichert. Dazu wird ein PHP-Skript erstellt, per FTP zum Server übertragen und innerhalb des Programms aufgerufen und anschließend wieder gelöscht. Die lokale Datenbank-Datei wird zusätzlich auf dem Server gespeichert, um portabel von jedem Standort darauf zugreifen zu können. Beim Start des Programms wird automatisch ein Updateprozess gestartet, welcher auch die lokale Datenbank-Datei mit der auf dem Server befindlichen abgeglichen.

Beim Versenden des Angebotes wird zuerst nach den E-Mail-Adressen gefragt (als Vorschlag werden die zuletzt verwendeten Adresse angegeben; bei einer Änderung werden die geänderten Daten gespeichert, dann das Standard-E-Mail-Proramm (wie in der Registry angegeben) geöffnet und die Daten (Adressen, HTML-Angebot, Betreff) übergeben. Dem Benutzer bleibt somit die Möglichkeit, Änderungen vorzunehmen, da noch nicht automatisch versendet wird.

Für das Erstellen eines druckfreundlichen Office-Dokuments wird ein Template verwendet, in das die jeweiligen Daten eingefügt werden. Es handelt sich dabei um ein ODT-Dokument, d.h. die Container-Datei wird zuerst entpackt, dann die XML-Beschreibungsdateien entsprechend verändert und alles wieder gepackt. Abschließend öffnet sich das Standard-Office-Programm mit der Datei.

Das Programm wurde von mir unentgeldlich für die befreundete Fleischerei Hanisch entwickelt. Copyright 2011-2012 by Bioruebe