Einleitung

OrderSprinter ist mittlerweile so umfangreich und anpassbar geworden, dass es gerade für Anfänger schwierig ist, den Überblick zu behalten. Die vielen Fragen und Emails haben mir gezeigt, dass vor allem eine einfache Installationsanleitung fehlt, die nicht voraussetzt, dass man bereits das Konzept einer Web-Anwendung kennt. Ich möchte daher im Folgenden einen möglichst einfachen Installationsweg beschreiben, an dessen Ende ein funktionierendes 1-Platz-Kassensystem steht, bei dem ein einziger Drucker alle Druckaufträge abwickeln soll. Natürlich ist OrderSprinter so flexibel, dass man beliebige Topologien abdecken kann, aber das Ziel ist hier nur der Aufbau eines ganz simplen Systems. Erweitern oder verändern lässt es sich später immer noch.

Ich habe auch ein Video auf Youtube hochgeladen, welches die Installation, wie ich sie im Folgenden beschreibe, auch visuell zeigt.

ACHTUNG: Anders als im Video empfehle ich nun den Einsatz vpn PHP 8!

Bestandteile der Programmsuite

Die Programmsuite OrderSprinter besteht aus verschiedenen Komponenten, die nicht zwingend alle benutzt (und installiert) werden müssen:
  • Kernkomponente: Diese stellt das eigentliche Kassensystem bereit, über die die Clients (Webbrowser) Bestellungen aufnehmen, abrechnen usw. können
  • Printserver: Der Printserver liegt in einer Windows- und einer Java-Variante (für Linux-Rechner) vor. Er nimmt die Druckaufträge von der Kernkomponente entgegen und druckt sie auf den Zieldruckern aus. Es kann mehrere Printserver geben, jedoch muss jedem Printserver eine eindeutige Instanznumer zugewiesen werden.
  • Gastbestellsystem: Über diese Komponente sollen Gäste von ihrem Platz aus Bestellungen aufgeben können. Die Gastbestellkomponente ist idealerweise so aufgesetzt, dass die Gäste diese leicht erreichen können, z.B. eingebettet in die Homepage des Cafés.
  • TSEConnector: Wrapper-Programm zum Anbinden der TSE
  • Filialsystem Spider: erlaubt die Ünbersicht über verschiedene Kernsysteminstanzen aus der Ferne zu behalten und mit dem Bedienpersonal vor Ort direkt zu kommunizieren.
Viele der Komponenten sind als Webapplikation konzipiert bzw. nutzen http als Kommunikationsprotokoll, um miteinander Daten auszutauschen.

Die Programmsuite besteht auf verschiedenen Komponenten

Systemvoraussetzungen

Da sich diese Anleitung an Anwender richtet, die ihren beruflichen Schwerpunkt nicht in der IT haben, gehe ich davon aus, dass die Zielplattform ein Windows sein soll. Eine Installation auf einem Linux-System ist zwar ebenso möglich (für Ubuntu und Linux Mint gibt es ein einfaches Installer-Skript, siehe Info an anderer Stelle), wird aber hier nicht betrachtet.

Ich nehme also an, dass ein Rechner mit Windows 7 oder neuer zur Verfügung steht.

Außerdem wird ein Bondrucker benötigt. Bondrucker kommunizieren über ein spezielles Protokoll, d.h. ein üblicher Desktop Laser- oder Tintenstrahl-Drucker ist nicht ausreichend!



Schritt 1: Xampp installieren

OrderSprinter ist eine Webapplikation, d.h. sie benötigt zwingend einen Webserver und eine Datenbank. Beides und noch mehr ist im kostenlosen Programm Xampp enthalten. Installieren Sie xampp ohne Änderungen, so wird es unter c:\xampp installiert.

Hinweis: Bitte verwenden Sie eine xampp-Version mit PHP 8.x!

Nach der Installation sehen Sie können Sie das Xampp Control Panel aufrufen, entweder über das Start-Menü oder über den Try-Icon in der Taskbar:

Aufruf der Xampp Oberfläche

Schritt 2: Webserver und Datenbank initialisieren

OrderSprinter benötigt einen Webserver und eine Datenbanksoftware, xampp enthält für beide Anforderungen ein Programm bereit: für den Webserver die Software Apache und als Datenbanksystem MySQL bzw. die Alternative MariaDB. Beide Programme sind oben im Control Panel aufgeführt.

Es ist wichtig, dass beide Programme laufen, damit die Installation fortgesetzt werden kann. Das kann man mit den Start-Buttons erreichen. Damit die Programme aber automatisch bei jedem Neustart des Computers laufen, kann man sie als Services einrichten.

Um Apache und MySQL als Services einzurichten, muss das xampp Control Center allerdings als Administrator gestartet werden. Das machen Sie, indem Sie das Windows-Start-Symbol unten links anklicken, xampp eintippen (es erscheint eine Programmliste mit xampp) und anschließend mit der rechten Maustaste auf dem Eintrag xampp Control Center die Option Als Administrator starten anklicken:

Programm als Administrator starten

Es wird ein Bestätigungsdialog erscheinen, der nachfragt, ob man das Programm tatsächlich als Administrator starten möchte. Sobald Sie diese Frage bestätigt haben, erscheint das Kontrollfenster und der Haken für die Services kann gesetzt werden.

Starten der Programme und Einrichten als Services.

Die Grundkonfiguration des Webservers sollten Sie noch ein wenig anpassen, um später, wenn OrderSprinter einen umfangreichen Datenbestand an Umsatzdaten aufgebaut hat, nicht Probleme mit zu wenig Speicher zu bekommen. Hierzu gibt es zwei Möglichkeiten: Für Windows-Anwender gibt es im im scripts-Verzeichnis ein PowerShell-Skript set-php-ini.ps1, welches man auf der Kommandozeile (cmd.exe) ausgeführen kann. Im Skript muss lediglich der Pfad zur php.ini angepasst werden, wenn man nicht eine xampp-Installation mit Standardsettings verwendet hat.

Wer die Änderungen jedoch händisch machen möchte, kann dies über das Control Panel von xampp machen und sich an folgenden Empfehlungen zur Anpassung der Konfigurationswerte von PHP für die Einrichtung des Kernsystems halten: In der xampp-Oberfläche kann man über den Config-Button des Servers die Konfiguration der php.ini anpassen. Es wird sich ein Editor öffnen, in dem die Werte angepasst werden können:

PHP.ini Werte ändern

Ich empfehle folgende Werte zu anzupassen:

  • memory_limit: 1280M (oder ein anderer großer Wert, maximal 70 Prozent vom RAM)
  • max_execution_time: 6000
  • post_max_size: 8000M
  • upload_max_filesize: 8000M
  • max_input_vars = 10000

Es kann sein, dass einige der Variablen einkommentiert sind. Durch Wegnahme des Semikolons am Zeilenanfang werden diese aktiviert. Damit die Werte übernommen werden, ist ein Stoppen und Starten des Webservers Apache erforderlich.

In einigen xampp-Versionen wurde die Erweiterung gd deaktiviert. Diese Extension wird jedoch von OrderSprinter benötigt und muss in der Konfiguration php.ini aktiviert werden, indem das Semikolon vor den gd-extension entfernt wird. Neuere xampp-Versionen kommen mit aktivierter gd2-Extension daher, die auch in Ordnung ist. Änderungen in der php.ini werden erst appliziert, wenn der Webserver neu gestartet wird.

gd-extension ist in neueren Xampp-Versionen standardmäßig deaktiviert und muss manuell eingeschaltet werden.

Auch das Datenbankverhalten kann über eine Konfigurationsdatei (my.ini bzw. my.cnf) für OrderSprinter optimiert werden. Es empfiehlt sich folgende Werte bei Bedarf zu vergrößern:

  • innodb_buffer_pool_size: 134217728 (d.h. 128MB) sind ein guter Wert.
  • max_allowed_packet: 16M sollten es mindestens sein.


Schritt 3: Datenbank anlegen

Die erforderliche Software ist zwar installiert, aber es fehlt noch eine konkrete Datenbank, die das Datenbankprogramm verwalten kann und OrderSprinter als Speicherort dienen wird. Zum Anlegen der Datenbank muss zunächst das Datenbanksystem laufen. Mit einem Klick auf Shell öffnen Sie ein Kommandozeilenfenster. In dieses geben Sie bitte die Kommandos ein, wie sie im Screenshot zu sehen sind (Bild anklicken für Vergrößerung) - bei der Passwortabfrage drücken Sie nur die Return-Taste:

Datenbank anlegen

Kurze Erläuterung: Es wurde mit den Kommandos eine Datenbank angelegt, die die deutschen Sonderzeichen verarbeiten kann und Zugriffe vom Rechner erlaubt, auf dem sie installiert wurde. Der Administrationsbenutzer des Datenbanksystems (root) hat das Passwort 123 zugewiesen bekommen, der Benutzer os der Datenbank orderSprinter das Passwort secret. Der Benutzer os hat alle Rechte auf der Datenbank ordersprinter bekommen, kann aber im Gegensatz zu root nur auf eben diese Datenbank zugreifen.

Natürlich kann man die Passwörter anders wählen.

Schritt 4: Dateien in den Webordner kopieren

Im Installationsordner von xampp (c:\xampp, wenn die Installationsvorgabe nicht geändert wurden) befindet sich ein Ordner htdocs:

Webordner

In diesem Ordner werden bereits einige Dateien enthalten sein, die Sie löschen können. Downloaden Sie die neueste Version von OrderSprinter und entpacken Sie die zip-Datei an eine beliebige Stelle, z.B. in einen Ordner auf dem Desktop. Sie werden einen Ordner webapp finden. Dessen Inhalt muss in den Unterordner htdocs kopiert werden.

Schritt 5: Starten der Installation

Starten Sie einen Firefox-Browser und rufen Sie die Webseite http://localhost auf. Sie werden auf die Installationsseite gelenkt:

Starten der Installation

Nach der Auswahl von Sprache und Zeitzone können Sie ganz grundsätzliche Parameter zur Arbeitsweise der Installation festlegen:

Grundsätzliche Einstellungen

Diese Angaben lassen sich jederzeit später in der fertigen Installation und sogar im laufenden Betrieb ändern. Die Einstellungen haben folgende Bedeutung:

  • Restaurantmodus: Ist der Restaurantmodus eingeschaltet, so ist einer Bestellung stets eine Tischauswahl vorgeschaltet.
  • Betriebsinfo: Der an dieser Stelle angegebene Text erscheint auf dem Kassenbon und im Webimpressum
  • Standard-Kellneransicht: Wird hier Mobil ausgewählt, so ist die Voreinstellung die Ansicht für die Benutzung auf mobilen Geräten (Handy, Smartphone, Tablet). Im Desktop-Modus dagegen wird die Kellneransicht für Bestellung und Abrechnung für die Darstellung auf größeren Bildschirmen optimiert.
  • Bon-Stornocode: Dies ist der Code, der eingegeben werden muss, wenn ein Kassenbon storniert werden soll.
  • Printcode: Dieser hier festlegbare Code muss beim Printserver eingetragen werden, damit der Printserver die Druckjobs abfragen darf.


Schritt 6: Installationsparameter einstellen

Nach dem Eintragen der allgemeinen Betriebsparameter müssen Sie die Zugangsparameter für die Datenbank eintragen, die beim Anlegen der Datenbank festgelegt wurden (1). Mit einem Druck auf den Button Teste DB-Zugriff (2) überprüfen Sie, ob die Werte korrekt sind. Geben Sie nun ein Passwort (lässt sich später ändern) für die Beispielbenutzer ein (3) und drücken auf den Button Starte Installation.

Installationsparameter

Während der Installation können Sie auswählen, ob bereits Beispielbenutzer, -speiseplan und -raumplan angelegt werden sollen. Das empfehle ich für den Beginn.

Wenn die Installation erfolgreich war, bekommen Sie eine entsprechende Nachricht angezeigt. Sobald die Nachricht bestätigt wird, erscheint das Anmeldefenster. Sie sollten den Unterordner install im Ordner htdocs nun löschen.

Schritt 7: Computername ändern

Geben Sie Ihrem Computer einen leicht zu merkenden Namen, damit er später im Netzwerk gefunden werden kann, falls Sie planen, Bestellungen auch mobil aufzunehmen. Im Dateibrowser öffnen Sie mit einem Rechtsklick das Kontextmenü auf dem Eintrag Computer. Anschließend wählen Sie die Erweiterten Einstellungen und ändern über diesen Weg den Computername.

Computername ändern

Bisher haben Sie die Weboberfläche von OrderSprinter über http://localhost aufgerufen. Der Name localhost lässt sich vielleicht mit ich übersetzen. Auf dem Arbeitsplatzrechner haben Sie also über localhost den eigenen Apache-Webserver angefragt, der über xampp eingerichtet wurde. Für eine stationäre Kasse ist das sicherlich gut, aber das Ziel ist es meist, Bestellungen über mobile Endgeräte im gleichen Netzwerk aufzunehmen. Ersetzen Sie also localhost durch den Rechnername, den Sie gerade festgelegt haben, so sollte die OrderSprinter-Weboberfläche auch auf anderen Geräten (im gleichen Netzwerk) aufgerufen werden können.

Zugriff aus dem Netzwerk

Ist das nicht der Fall, so liegt oft einer oder mehrere der folgenden Gründe vor:

  • Der Computer glaubt, in einem öffentlichen Netz zu sein und schützt sich vor Zugriffen von außen. Konfigurieren Sie das Netzwerk auf privat um.
  • Der Router, über den die Geräte im Netzwerk eingebunden sind, verhindert eine Kommunikation zwischen den Geräten. Das ist oft die Standardeinstellung bei Gast-WLANs.
  • Ein Virenscanner blockiert die Kommunikation. In diesem Fall muss der Virenscanner so eingestellt werden, dass die Blockade aufgehoben wird.

Es gibt noch viele weitere Gründe, aber das sind die häufigsten Ursachen, wenn ein Zugriff über andere Geräte auf die eingerichtete OrderSprinter-Instanz fehlschlagen.

Schritt 8: Drucker konfigurieren

Melden Sie sich als Admin-Benutzer mit dem Passwort an, welches Sie zuvor festgelegt haben. Jeder Benutzer wird bei der erstmaligen Anmeldung auf die Seite mit den persönlichen Einstellungen umgeleitet, das erlaubt das schnelle Umschalten auf eine andere Sprache. Wählen Sie im Hauptmenü oben rechts Administrationsansicht aus und klappen Sie den Bereich Konfiguration auf. Sie werden eine Einstellung für den Printcode finden. Geben Sie hier einen beliebigen Wert ein, z.B. 123.

Printcode festlegen

Scrollen Sie weit nach unten und drücken auf den Speichern-Button.

Schritt 9: Druckserver einrichten

Installieren Sie den Bondrucker gemäß der Anleitung des Druckerherstellers, so dass der Drucker als Gerät in der Druckerliste in Windows aufgeführt wird.

Der Windows-Druckserver liegt in zwei Ausführungen vor: einmal mit grafischer Benutzeroberfläche (GUI) und einmal als reines Kommandozeilentool. Mit dem GUI-Programm lässt sich sowohl die Konfiguration einstellen als auch die Abarbeitung erreichen. Das Kommandozeilentool liest eine mit dem GUI-Tool erstellte Konfiguration und arbeitet fortan versteckt im Hintergrund die Druckaufträge ab. Daher bietet sich das Kommandozeilentool für die Einbindung in einen Autostart an, bei dem der Benutzer nicht durch versehentliches Schließen der Oberfläche die Abarbeitung von Druckaufträgen stoppen kann.

Trotzdem wird hier nur die Nutzung der GUI-Variante beschrieben, um es einfach zu halten. Im ausführlichen Bedienhandbuch ist auch die Verwendung des Kommandozeilentools beschrieben.

Im entpackten OrderSprinter-Download finden Sie das Verzeichnis printserver/windows. Darin befinden sich die beiden Versionen des Printservers: OrderSprinterPrintserver.exe ist di9e GUI-Version, OrderSprinterPrintserverCli.exe ist die Kommandozeilenversion. Kopieren Sie die Windows-GUI-Variante (OrderSprinterPrintserver.exe) an eine beliebige Stelle, z.B. c:\

Erstellen Sie mit einem Texteditor eine Datei startprintserver.cmd mit folgendem Inhalt:

C:\OrderSprinterPrintserver.exe /config:"c:\config.cfg"

Doppelklicken Sie auf startprintserver.cmd. Die Oberfläche des Printservers wird erscheinen. Wählen Sie den Bondrucker für alle Drucktypen aus. Tragen Sie die Zugangsdaten im Printserver ein, d.h. in das Feld für

  • Webseite die URL des Rechners, d.h. http:// gefolgt vom Rechnername,
  • Printcode den Printcode, der in der Konfiguration innerhalb der Administrationsansicht festgelegt wurde (hier wurde als Beispiel 123 genannt).

Klicken Sie auf den Test-Button, um zu prüfen, ob der Zugang erfolgreich ist.

Tragen Sie Ihren Drucker für alle Drucktypen ein (im Screenshot unten ist es ein Epson-Drucker TM-T88IV). Wenn Sie einen 58mm-Drucker haben, können Sie die voreingestellte Breite übernehmen, bei einem 80mm Drucker sollten Sie den Wert auf 42 ändern (oder später auf einen kleineren Wert, falls sich herausstellt, dass der Drucker doch nicht so viele Zeichen pro Zeile drucken kann).

Druckserver-Konfiguration

Wenn Sie jetzt den Start-Button drücken, so können Sie das System schon testen, indem Sie einen Kassenbon erstellen und drucken lassen. Anpassungen in der Konfiguration sind erst wieder nach einem Druck auf den Stop-Button möglich.

Schritt 10: Druckserver automatisch starten

Ändern Sie die Datei startprintserver.cmd mit einem Texteditor so ab, dass der Parameter /start mitgegeben wird:

OrderSprinterPrintserver.exe /start /config:"c:\config.cfg"

Damit der Printserver automatisch bei jedem Rechnerneustart gestartet wird, rufen Sie nun Sytemsteuerung, dann Verwaltung, dann Aufgabenplanung auf. Klicken Sie die Aufgabenplanungsbibliothek im Baum an und erstellen Sie eine neue Aufgabe über Aufgabe erstellen (nicht Einfache Aufgabe erstellen!!!). Wählen Sie aus, dass die Aufgabe auch gestartet werden soll, wenn der Benutzer nicht angemeldet ist:

Aufgabe erstellen

Erstellen Sie einen neuen Trigger und wählen Sie dabei aus, dass der Start des Systems dabei der Auslöser sein soll:

Trigger erstellen

Erstellen Sie eine neue Aktion, die das zuvor erstelle Skript startprintserver.cmd aufruft:

Trigger erstellen

Die restlichen Einstellungen können Sie so belassen. Schließen Sie die Aufgabenerstellung ab. Beim nächsten Start des Rechners sollte der Druckserver automatisch starten.

App auf Android

Bei OrderSprinter handelt es sich um eine Webapplikation. Es ist allerdings möglich, die Applikation wie eine native App auf Android-Geräten bedienbar zu machen. Zu diesem Zweck reicht es aus, wenn man die Anmeldeseite aufruft der Webapplikation aufruft und im Menü den Eintrag Auf Startseite hinzufügen anklickt.

OrderSprinter wie eine App installieren

Dadurch lässt sich ein OrderSprinter-Icon auf der Startseite eines Android-Geräts platzieren, über das man OrderSprinter wie eine native App bedienen kann, d.h. der Benutzer sieht nicht mehr die Browserumgebung. Das verhindert auch das versehentliche Drücken des Zurück-Buttons des Browsers.

Aufruf

Nun haben Sie ein System, mit dem Sie mithilfe des Webbrowsers über den Aufruf der Adresse http://{Rechnername} (Rechnername ersetzen durch den Namen, der im Schritt 8 festgelegt wurde) das Kassensystem OrderSprinter bedienen können.

Soll die Bedienung über ein mobiles Gerät wie Tablet oder Smartphone möglich sein, muss die gleiche Webadresse dort aufgerufen werden. Möglicherweise müssen Sie dazu eine Firewall auf dem Windows-Gerät deaktivieren und den WLAN-Router so einstellen, dass auch Zugriffe innerhalb des gleichen Netzes auf andere Geräte erlaubt sind.

TSE

In Deutschland gilt die Kassensicherungsverordnung. Das bedeutet, dass alle umsatzrelevangen Vorgänge (und dazu gehören sogar alle Bestellvorgänge!) von einer Tschnischen Sicherheitseinrichtung (TSE) signiert werden müssen. Die TSE ist eine Vorrichtung, die in Form einer kleinen SD-Karte oder eines USB-Sticks käuflich zu erwerben ist. Es gibt bereits auch Cloud-Lösungen, aber OrderSprinter unterstützt diese noch nicht. Konkret unterstützt OrderSprinter derzeit nur TSE der Firma Swissbit!

Zur weiteren Einrichtung verweise ich auf das oben eingebettete Youtube-Video sowieso das entsprechende Kapitel im Handbuch.

Seit Version 2.6.0 ist es nicht mehr erforderlich, dass der Pfad zur TSE (mountpoint) beim Aufruf angegeben werden muss.

Abschluss

OrderSprinter ist natürlich viel flexibler. Drucker können an verschiedenen Standorten aufgestellt und angesprochen werden. Man kann über ein Gastbestellsystem erlauben, dass auch Gäste Bestellungen selbstständig vornehmen. Über ein Filialsystem lassen sich OrderSprinter-Instanzen auch aus der Ferne überwachen und in bestimmten Grenzen steuern. All dies war aber nicht Fokus dieser Installationsanleitung. Dafür wie auch für die Bedienung im Allgemeinen verweise ich auf die restliche Dokumentation.



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!