Wie führe ich ein Script aus? Anleitung eines Nicht-Programmierers am Beispiel des Orgsync Scripts von CashCtrl

Tutorial: Zwei Organisationen / Mandanten mit einem Java Script über die Kommandozeile synchronisieren.

  1. Vorbereitung: Java installieren, Script herunterladen
  2. Parameter setzen
  3. Script ausführen mit Windows
  4. Script ausführen mit Mac OS
  5. Gut zu wissen / Weitere optionale Parameter

1. Vorbereitung

Bevor das Java Script ausgeführt werden kann, muss auf dem Computer Java installiert werden. Falls Java bereits vorhanden ist, kann dieser Schritt übersprungen werden.
Zur Java Installation auf die Webseite von Oracle gehen und dort das Java Development Kit (JDK) Version 17 (für Windows / MacOS / Linux) herunterladen. Den Anweisungen zur Installation folgen.

Des Weiteren das Orgsync Script herunterladen und entzippen. Darin enthalten ist das Readme.txt, in dem die Parameter erklärt werden.

Screenshot der Java Downloads
Zuletzt aktualisiert: 24.07.2022

2. Das Script erklärt

java -jar orgsync.jar -p -orga mariamuster -keya Hu4hpRl7zT40uUbdb4Eed4dBbf20Ff87 -orgb hansmuster -keyb aF3cb2Uu9f304dD3f8o5ce81Oo28Pe1E
 

java -jar orgsync.jar wird benötigt um das Script zu starten.
-p wird verwendet um Personen zu synchronisieren, zusätzlich oder alternativ kann hier -a für Artikel verwendet werden.
orga steht für Organisation A.
keya steht für den API Key der Organisation A (dieser kann über Einstellungen Benutzer & Rollen kopiert bzw. erstellt werden).
orgb steht für Organisation B.
keyb steht für den API Key der Organisation B.

Screenshot eines Code Snippets des Orgsync Scripts con CashCtrl

3. Ausführen des Scripts im Mac Terminal (MacOS)

Zuerst über das Launchpad das Mac Terminal öffnen und in den Ordner navigieren, in dem das Script gespeichert ist. Dies funktioniert in der Kommandozeile mit dem Befehl cd (cd steht für change directory). Im Beispiel liegt die Script Datei orgsync.jar im Ordner orgsync-binary, welcher im Ordner Downloads liegt, also wird über den Befehl cd downloads in den Download Ordner gewechselt und dann über cd orgsync-binary in den Unterorder orgsync-binary.

So dann kann das Script mit den gewünschten Parametern ausgeführt werden:

java -jar orgsync.jar -p -orga mariamuster -keya Hu4hpRl7zT40uUbdb4Eed4dBbf20Ff87 -orgb hansmuster -keyb aF3cb2Uu9f304dD3f8o5ce81Oo28Pe1E

 

Screenshot des Mac Terminals mit dem Befehl zum Ausführen des Orgsync Scripts

4. Ausführen des Scripts im Terminal (Windows 11) oder in der Eingabeaufforderung (Windows 10)

Das Windows Terminal über Klick auf das Windows Symbol und die Suche öffnen. Mittels Befehl cd (cd steht für change directory) in den Ordner navigieren, in welchem die Script Datei orgsync.jar liegt. Im Beispiel liegt die Datei im Ordner orgsync-binary, welcher im Ordner Downloads liegt, also wird über den Befehl cd downloads in den Download Ordner gewechselt und dann über cd orgsync-binary in den Unterorder orgsync-binary.

So dann kann das Script mit den gewünschten Parametern ausgeführt werden:

java -jar orgsync.jar -p -orga mariamuster -keya Hu4hpRl7zT40uUbdb4Eed4dBbf20Ff87 -orgb hansmuster -keyb aF3cb2Uu9f304dD3f8o5ce81Oo28Pe1E

Screenshot des Windows Terminals mit dem Befehl zum Ausführen des Orgsync Scripts

5. Gut zu Wissen / Weitere optionale Parameter

  • Bei Mac muss der Festplattenvollzugriff fürs Terminal gewährt werden, da ansonsten eine Fehlermeldung kommt.
  • Auf die Synchronisierung können verschiedene Filter angewendet werden. Z.B. für Personen mit -pf (Personenfilter) oder -af (Artikel-Filter). Die möglichen Schlüssel sind z.B.
    category - Der Name der zu synchronisierenden Stammkategorie. Diese Kategorie muss in beiden Organisationen vorhanden sein.
    onlyActive - Kennzeichen, um nur aktive Artikel/ Personen einzuschließen. Mögliche Werte: true, false
    onlyNotes - Kennzeichen, um nur Einträge mit Notizen einzuschließen (true, false)
    onlyWithImages - Markierung, um nur Artikel/ Personen mit Bildern zu berücksichtigen (true, false)
    onlyWithoutCategory - Markierung, um nur Einträge ohne Kategorie einzuschließen (true, false)
    query - Volltext-Suchanfrage (Text)
    onlyCostCenters - Kennzeichen, um nur Einträge mit Kostenstellen einzuschließen (true, false)
    onlyRestock - Kennzeichen, um nur Artikel zu berücksichtigen, die wieder aufgefüllt werden müssen (true, false)
    Beispiel: -pf category=Mitarbeiter onlyActive=true -af category=Dienstleistungen onlyWithImages=true
  • Den Modus der Synchronisation kann festgelegt werden über den Befehl -fsm. Möglich sind hier die Werte 'none', 'all' oder 'onlyAttached', Standardwert ist 'onlyAttached'.
    Beispiel: -fsm all
  • Eine weitere optionale Einstellung ist das letzte Synchronisationsdelta mit dem Befehl -lsd. Dabei wird die Zeit in Millisekunden angegeben, die seit der letzten Synchronisation und dem letzten bearbeiteten Datensatz vergehen muss, bevor dieser erneut synchronisiert wird, Standardwert ist 10 Sekunden (Entspricht 10000 Millisekunden).
    Beispiel: -lsd 60000 (Entspricht einer Minute).
Portrait von CashCtrl Community Manager Moritz

Hintergrund des Tutorials

Die Idee hinter diesem Tutorial ist es aufzuzeigen, wie CashCtrl erweitert und individualisiert werden kann. Ausserdem möchten wir zeigen wie jemensch ein Script ausführen kann, der kein Entwickler ist.

Daher hat unser Community Manager sich an diese Aufgabe gewagt - und Lust bekommen auf mehr! So schwierig ist es eigentlich nicht :-)