Download

  1. Download und Entpacken: Laden Sie die Software von der Download-Seite. Die Software ist in ein zip-Archiv verpackt, welches Sie mit dem Windows-Explorer (ab Windows 7), mit Winzip, 7-Zip und vielen anderen Programmen öffnen und dessen Inhalt extrahieren können. In diesem Archiv gibt es zwei Verzeichnisse: webapp und printserver.

    Webapp

  2. Wahl des Webservers: Das webapp-Verzeichnis stellt den Kern von OrderSprinter dar und muss zwingend installiert werden. Sie benötigen einen Webserver mit PHP8-Unterstützung und eine MySQL-Datenbank. Das ist eine Standardkonfiguration. Transaktionssicherheit erhalten Sie, wenn die MySQL-Datenbank mit dem Speichersubsystem innoDB betrieben wird. (Hinweis: Benutzer haben mir berichtet, dass es Inkompatibilitäten mit Ubuntu/MySQL geben soll, wenn später die Funktion Datensicherung aufgerufen wird. Eine nähere Untersuchung steht noch aus.) Möchten Sie den Webserver nicht selbst betreiben, können Sie die Angebote unzähliger Webprovider nutzen (z.B. Suche nach Webprovider, oder Homepage-Anbieter). Sie sollten darauf achten, dass die PHP-Ausführungsgeschwindigkeit nicht zu langsam ist - das ist häufig bei den kostenlosen Angeboten der Fall. Leider hilft hier nur Ausprobieren - wenn die Software später zu träge reagiert, ist wahrscheinlich die Abarbeitung von PHP zu langsam. Ebenso ist die innoDB-Engine bei einigen Webhostern leider aufpreispflichtig.

  3. Upload: Gehen wir davon aus, dass Sie das Angebot eines kommerziellen Webproviders nutzen wollen. Nach der Registrierung wird Ihnen der Webprovider einen Zugang ermöglichen, mit dem Sie Dateien auf den Webspace hochladen können. In der Regel nutzt man dafür ein ftp-Programm (z.B. filezilla). Wenn sich im Webspace ein Verzeichnis www befindet, speichern Sie den Inhalt des webapp-Unterverzeichnisses (das Sie im Schritt 1 extrahiert haben) in das www-Verzeichnis, anderenfalls direkt ins Wurzelverzeichnis.

  4. Schreibberechtigungen: Die Datei config.php im Unterverzeichnis php auf dem Webserver muss schreibberechtigt werden. Auch das lässt sich mit jedem ftp-Programm bewerkstelligen.

  5. Aufruf der Webseite: Vom Webprovider werden Sie bei der Registrierung eine Webadresse bekommen haben, mit der Sie auf "Ihre" Seite zugreifen können. Oft haben die Adressen ein Format nach dem Muster http://www.der-webprovider.de/kundenkonto. Geben Sie diese Adresse in einem Internetbrowser ein und es sollte diese Seite erscheinen:



    Wählen Sie die Sprache aus. Anschließend werden Sie aufgefordert, die Zeitzone festzulegen. Voreingestellt ist Europe/Berlin. Der grüne Pfeil führt zum nächsten Installationsschritt:

    Zeitzone auswählen

    Damit gelangt man zur Seite, auf der man einige Grundeinstellungen vorgeben kann. Diese sind auch später jederzeit änderbar:

    Grundeinstellungen zur Applikation

    Auf der nächsten Seite muss man die Datenbank-Verbindungsangaben vornehmen, das Administratorpasswort für OrderSprinter festlegen und die Währungsangabe eingeben. Die Angaben auf dieser Seite sind später nicht mehr über die Benutzeroberfläche änderbar:

    Grundeinstellungen zur DB

  6. Datenbankdaten: Vom Anbieter werden Sie Zugangsdaten zu der MySQL-Datenbank erhalten haben. Geben Sie diese nun in die Maske im Bereich Datenbank ein. Die Korrektheit der Zugangsdaten können Sie über einen Klick auf Teste DB-Zugriff feststellen. Es ist wichtig, dass der Datenbankbenutzer über die Rechte CREATE, SELECT, INSERT, ALTER, DROP verfügt.

  7. Adminpasswort: Wählen Sie ein Passwort, welches Sie sich gut merken können und einigermaßen sicher sein sollte. Geben Sie dieses in die Maske zweimal im Bereich Applikation ein.

  8. Währungsangabe und Dezimaltrennzeichen: Benutzer außerhalb Deutschland müssen die voreingestellten Werte ggfs. in der Maske ändern.

  9. Installation starten: Ein Klick auf den Button Installation starten beginnt die Installation auf dem Webserver. Je nach Geschwindigkeit des Webservers dauert die Installation wenige Sekunden bis zu einer Minute. Nun werden einige Voreinstellungen abgefragt, die für den späteren Betrieb wichtig sind. (Diese Einstellungen können später jederzeit in der Administrations- und Artikelansicht verändert werden.). Im ersten Schritt ist auszuwählen, ob ein rein digitaler Ablauf vorkonfiguriert werden soll. In diesem Fall werden Bestellungen für alle Produkte, die nach Konfiguration die Ansichten Küche, Bar und Bereitstellung durchlaufen sollen, derart digital behandelt. Alternativ lässt sich auch ein traditioneller Ablauf über den Druck von Arbeitsbons einstellen. Es ist zwar eine Kombination möglich, bei der der Kellner sich bei der Bestellung selbst entscheiden kann, jedoch wird von einer solchen Konfiguration abgeraten.



    Im letzten Schritt kann die Datenbank mit Beispieldaten gefüllt werden. Folgender Auswahlmöglichkeiten werden dazu eingeblendet:



    Die Minimalkonfiguration besteht aus einer leeren Datenbank, in der nur ein Administrator-Account angelegt ist. Die anderen beiden Optionen bieten verschiedene Startkonfigurationen. Nach der Auswahl werden die Inhalte in die Datenbank geschrieben. War dies erfolgreich, erscheint eine Seite zum Einloggen:



  10. Einloggen: Geben Sie das Passwort ein, welches Sie im Schritt 7 vorgegeben haben, und drücken Sie auf Anmelden. Es erscheint eine Seite, auf der die persönlichen Einstellungen des Administratorkontos festgelegt werden können.

    Die folgenden Schritte (Raumplan, Speisekarte, Benutzer) sind erforderlich, wenn Sie während der Installation keine Musterdaten haben einlesen lassen und/oder Sie die Konfiguration ändern wollen.

  11. Raumplan festlegen: Oben rechts finden Sie den Module-Button. Klicken Sie ihn an und wählen Administration aus. Die Administrationsansicht wird dargestellt. Der letzte Punkt ist Datenbank, klappen Sie diese Schaltfläche durch Anklicken auf. Darin findet sich der Unterpunkt Raumplan, auch diesen bitte anklicken. Legen Sie die Anzahl der Räume oder Bereiche fest, auf die sich die Tische verteilen sowie die maximal mögliche Anzahl der Tische pro Bereich und klicken Raumgröße ändern an. Nun können Sie in der Tabelle die Räume und Tische beschriften. Freigelassene Felder werde nicht als Tisch mitgezählt:



    Klicken Sie Anwenden an.

  12. Speisekarte festlegen: Ebenso findet sich in der Administrationsansicht unter Datenbank die Schaltfläche Speisekarte. Nach der Installation befindet sich hier eine Beispielspeisekarte, die als Vorlage für die eigene Speisekarte dienen kann. Die am tiefsten eingerückten Zeilen stellen jeweils Produkte dar, alle anderen Zeilen Kategorien bzw. Unterkategorien, je nach Einrückungstiefe. Jede Produktzeile hat einige obligatorische und einige optionale Angaben. Mindestens anzugeben sind im Format Kurzname zur Darstellung auf der Bestellansicht; Normalpreis; Produktname für Küche, Bar, Kassenbon. Zum Testen können Sie die angegebene Speisekarte übernehmen.

    Klicken Sie auf Anwenden. Damit wird die Speisekarte in die Datenbank gespeichert.

  13. Benutzer einrichten: Der Administrator hat bewusst nur Zugriff auf die Ansichten zur Administration und Einrichtung. Je nach Rolle (Kellner, Koch etc.) sollten Sie nun Benutzer anlegen und ihnen die benötigten Rechte zuweisen. In der Administrationsansicht unter Benutzer können Sie neue Benutzer anlegen und bestehende Benutzer ändern. (Nach dem Ausloggen und dem erneuten Aufruf der Startseite im Browser steht der neue Benutzer zur Auswahl.) Es ist ratsam, dass alle anderen Benutzer außer dem Admin keinen Zugriff auf die Administrationsansicht haben.

  14. Konfiguration: Ebenfalls in der Administrationsansicht findet sich die Schaltfläche Konfiguration.

    Konfigurationseinstellungen

    Die Einstellungen sind in aufklappbare Gruppen sortiert. Hier können Sie relevante Einstellungen vornehmen, insbesondere sei auf folgende Einstellungen hingewiesen:

    • Betriebsinfo: Diese Info erscheint später auf den Kassenbons.
    • Logo-URL: Der Link zum Logo, das später auf den Kassenbon gedruckt werden soll. Hier muss eine komplette URL (http://www...) angegeben werden, wenn der Printserver verwendet werden soll. Ist das Feld leer, so wird kein Logo auf den Bon gedruckt.
    • Email-Absender: Wenn OrderSprinter in der Lage sein soll, Emails zu versenden, muss hier eine gültige und auf dem Webserver bekannte Email angegeben werden. Möglicherweise müssen Sie die Email-Adresse erst im Webpaket anlegen. Im Zweifel fragen Sie Ihren Webprovider.
    • Standard-Email-Empfänger: Wird dieses Feld mit einer Email-Adresse ausgefüllt, so werden die Details eines jeden Tagesabschlusses bei dessen Erzeugung automatisch an diese Email-Adresse gesendet.

  15. Session-Timeout vergrößern: Viele Standard-PHP-Installationen haben einen Timeout von 24 Minuten, so dass man sich nach jeweils 24 Minuten wieder anmelden muss. Sie können diesen Wert in der php.ini (meist in /etc/php5/apache2/php.ini) auf einen größeren Wert einstellen (bzw. einige Webhoster bieten eine eigene Konfigurationsschnittstelle für PHP an).

    Printserver

  16. Erforderlich? Der Printserver ist als Windows- und als Java-Programm verfügbar. In dieser Kurzanleitung wird der Windows-Printserver betrachtet, für Hinweise zum Java-Printserver siehe das PDF-Dokument auf der Download-Seite. Der Einsatz des Printservers wird gegenüber dem lokalen Printen empfohlen. Er ist auf jeden Fall zwingend erforderlich, wenn
    • der Druck von Bons über mobile Endgeräte (z.B. Abrechnung am Tisch) angestoßen werden soll, oder
    • der Druck von Kassenbons von verschiedenen Endgeräten aus initiiert werden soll, oder
    • mehrere Bondrucker zur Verfügung stehen und je nach Typ und Benutzer die Ausdrücke auf die verschiedenen Drucker verteilt werden sollen

  17. Printcode: Legen Sie auf der OrderSprinter-Weboberfläche in der Administrationsansicht unter Konfiguration einen Printcode fest (ein Passwort).

  18. Start auf einem Windows-Rechner: Für den Printserver benötigen Sie einen Windows-Rechner, auf dem .Net 3.5 und die anzusteuernden Drucker installiert sind. Der Printserver sollte mit einem Argument gestartet werden, welches eine Konfigurationsdatei angibt - in diese wird die Zuordnung der Druckerwarteschlangen geschrieben. Wenn die Konfigurationsdatei nicht existiert, wird sie beim erstmaligen Start des Programms erzeugt. Rufen Sie den Printserver auf über beispielsweise OrderSprinterPrintserver.exe /config:"c:\config.cfg" oder einem anderen Speicherort, auf dem Sie Schreibberechtigung besitzen.

  19. Drucker zuweisen: Weisen Sie den Druckerslots die entsprechenden Bondrucker zu. Zusätzlich müssen Sie die Webadresse angeben, über die der Webserver erreichbar ist. Im Feld Printcode müssen Sie den Printcode eingeben (siehe zwei Schritte vorher). Mit dem Druck auf den Start-Button fragt der Printserver in regelmäßigen Abständen den Webserver nach eingehenden Druckjobs ab und führt diese aus.

  20. Benutzerspezifische Zuweisung: Jeder Benutzer kann in seinen persönlichen Einstellungen auf der Weboberfläche festlegen, auf welchem Bondrucker seine Kassenbons ausgegeben werden sollen.

  21. Autostart: Wenn das Drucken korrekt funktioniert, können Sie den Printserver als Autostart konfigurieren. Erzeugen Sie eine Textdatei mit dem Inhalt OrderSprinterPrintserver.exe /start /config:"c:\config.cfg" und speichern diese (z.B. als c:\printserverstart.bat). Nun öffnen Sie den Windows Task Scheduler. Unter Windows 10 geschieht dies beispielsweise, indem Sie in der Taskleiste auf das Windows-Symbol tippen und in die Suchleiste "Aufgabenplanung" eingeben. Wenn Sie Windows 7 verwenden, ist das der Weg: Systemsteuerung > System und Sicherheit > Verwaltung > Aufgabenplanung. Erstellen Sie nun eine Aufgabe, die das File printserverstart.bat aufruft, beim Trigger geben Sie an "Beim Start des Computers". Damit wird bei jedem Start von Windows der Printserver gestartet und in den Lauschmodus versetzt.

Backup

Regelmäßige Datensicherungen sind nicht nur sehr sinnvoll, sondern auch von der GoBD vorgeschrieben. Es gibt verschiedene Lösungen:

  • Manuelles Backup über die Weboberfläche im OrderSprinter-Format
  • Automatisches Backup über ein Skript im OrderSprinter-Format
  • Backup der Datenbank mit den Werkzeugen der Datenbank (DB-Dump)
  • Filesystem-Dump

Während Sicherungen im OrderSprinter-Format in alle OrderSprinter-Instanzen zurückgespielt werden können, deren Version mindestens so neu wie die Version ist, mit der das Backup erzeugt wurden, müssen bei DB-Dumps Quell- und Zielversion der OrderSprinter-Instanzen zwingend die gleich sein. Ein Filesystem-Dump ist eine einfache Variante, hat aber andere Nachteile.

Variante: Manuelles Backup

Wenn man sich als ein Benutzer mit Administrationsrechten anmeldet, sieht man in der Administrationsansicht das aufklappbare Panel Datenbank, in dem sich unter Sicherung und Wiederherstellug verschiedene Backup-Varianten befinden. Für eine ausreichende Sicherung ist die Variante Alles ohne Logs ausreichend.

Variante: Automatisches Backup

Es macht Sinn, ein Backup jede Nacht über ein automatisch startendes Skript vorzunehmen. Nachdem man in der Konfiguration der Administrationsansicht einen Fernzugriffscode festgelegt hat, lässt sich ein Backup skriptgesteuert und sogar von einem entfernten Rechner aus vornehmen. Das geht zum Beispiel mit dem kostenlosen Tool wget

wget --post-data "remoteaccesscode=$code" -O c:\...\backup.json "http://$serverbase/php/contenthandler.php?module=admin&command=autobackup"

Die mit einem Dollar versehenen Angaben sind Variablen. $remoteaccesscode muss durch den Fernzugriffscode und $serverbase muss durch die URL des Kassensystems ersetzt werden.

Ein Skript für Linux-Rechner liegt dem Download-Zip bei. Dieses sichert auf einen angesteckten USB-Stick und hebt immer die letzten drei Sicherungen auf.

Übrigens lässt sich auch die PDF-Zusammenfassung der Umsätze skriptgesteuert sichern:

wget --post-data "remoteaccesscode=$remoteaccesscode" -O c:\...\kassenbuch.pdf "\$serverbase/php/contenthandler.php?module=bill&command=autoBackupPdfSummary&lang=0"

Variante: Backup über DB-Werkzeuge

Mit den Werkzeugen der eingesetzten Datenbank kann man Datenbank-Dumps erstellenn (mysqldump, source). Solche Sicherungen sind sehr schnell, aber werden nur als Zusatz zur Sicherung im OrderSprinter-Format empfohlen, da Quell- und Zielversion der Applikation immer identisch sein müssen.

Variante: Filesystem-Dump

Zum Betrieb einer lokal laufenden OrderSprinter-Servers ist auf dem System zwingend ein Webserver und vermutlich auf dem gleichen Rechner die erforderliche Datenbank installiert. Auf einem Windows-System nutzen viele Anwender das xampp-Paket, welches sich unter c:\xampp installiert, wenn kein anderer Pfad angegeben wurde.

Es ist natürlich auch möglich, mit einem copy-Kommando das gesamte Verzeichnis (Installation und Datenbank, d.h. c:\xampp) zu sichern. Damit die Sicherung alle Files umfasst, müssen zuvor der Webserver und der Datenbank-Service gestoppt werden (z.B. über das xampp Kontrollzentrum oder auf der Kommandozeile).

Diese Sicherungsart ist einfach zu automatisieren und besser als gar keine Sicherung, aber besser sind die anderen zuvor beschriebenen Varianten (gerne auch kombiniert). Das Problem bei dieser Sicherungsvariante: Wenn der Rechner komplett ausfällt und auf einen anderen Rechner umgestiegen werden muss, ist das Zurückspielen etwas komplizierter (Versionsgleichheit, Umstieg auf anderes Betriebssystems oder komlette Neuinstallation erfordert zusätzliche Schritte).

Prinzipiell ist man nicht auf die Sicherung des Installations/DB-Verzeichnisses beschränkt, sondern kann auch eine komplette Sicherung der Festplatte regelmäßig machen. Dazu gibt es auf dem Markt die verschiedensten Backup-Programme und auch die Betriebssysteme haben entsprechende Werkzeuge an Bord. Das ist die zeitintensivste Sicherungsmaßnahme, aber bei einem Festplattencrash ist eine Wiederaufsetzen auf dem gleichen Rechner (mit neuer Festplatte) relativ einfach.

Abschließende Bemerkung

Jede Sicherungsvariante ist besser als gar keine Sicherung durchzuführen. Wie anfangs geschrieben sind regelmäßige Sicherungen auch gesetzlich vorgeschrieben. Technik kann ausfallen, Computer gehackt werden, ein Virus kann Daten korrumpieren. Wer ohne doppelten Boden unterwegs ist, hat bei einem Ausfall ein ernstes Problem. Ich habe mich entschlossen, in Zukunft keinen Support mehr für kaputte Systeme zu leisten, wenn kein einigermaßen aktuelles Backup verfügbar ist!


Noch Fragen?

Sprechen Sie mich an und vielleicht kann ich weiterhelfen... s.pichel@ordersprinter.de

Über Rückmeldungen, ob positiv oder auch negativ, freue ich mich immer!