Zum Inhalt

Befehlszeile

Die Anwendung lässt sich auch über die Befehlszeile steuern. Dazu muss die Befehlszeilen-App angesprochen werden. Dies erfolgt über den Aufruf:

/opt/alvine-platform/bin/alvine 

Mittels --help wird eine Hilfe mit allen Befehlen angezeigt.

Legacy-Befehle ausführen

Befehle (cmd) des Legacy-Backends lassen sich über das Argument legacy:run aufrufen. Über die Optionen können verschiedene Werte übergeben werden.

Argument Kurzform Beschreibung Beispiel
--argument -a URL-Encoded Zeichenkette mit den an das System zu übergebenden Variablenwerten. a=4&b=5
--cmd -c CMD des Alvine Backends 5
--uid -u Die für den Befehl zu verwendende User-ID 100
--debug -d Debugausgabe ausgeben
/opt/alvine-platform/bin/alvine legacy:run --uid=1 --cmd=5 -d --argument="sxx_export=true&submit=true&sxx_cli_systemintern=true"

Dateiänderungen prüfen

Mit diesem Befehl lassen sich Änderungen im Dateisystem in regelmässigen Abständen prüfen. Beim ersten Durchlauf

Argument Kurzform Beschreibung Beispiel
--path -p Das zu prüfende Verzeichnis /srv/images/
--md5file -m Der Dateiname der MD5-Prüfdatei (die Datei sollte nicht im zu prüfenden Verzeichnis liegen /srv/img.md5
--format -f Das Ausgabeformat (Unterstützt werden text (default), json und XML xml
--host -h Parameter für den Hostname für den Zugriff auf eine externe Ressource sftp.example.com
--user -u Parameter für den Benutzer für den Zugriff auf eine externe Ressource sftpuser
--login -l Parameter für den Password für den Zugriff auf eine externe Ressource sftppassword
/opt/alvine-platform/bin/alvine  devop:changedfiles --path=/srv/www/images \
      --md5file=/srv/www/images.md5 --format=json

Die Ausgabe ist im Fall von JSON sieht folgendermaßen aus:

{
  "changed": [],   // geänderte Dateien
  "created": [],   // neue Dateien
  "removed": [],   // entfernete Dateien
  "files": [],     // Alle geänderten, neuen und entfernten Dateien
  "errors": [],    // Fehler im Script
  "totals": { 
    "created": 0,  // Anzahl der neuen Dateien
    "changed": 0,  // Anzahl der geänderten Dateien
    "removed": 0,  // Anzahl der entferneten Dateien
    "files": 0,    // Anzahl aller geänderten Dateien
    "total": 0     // Anzahl aller Dateien im Verzeichnis
  }
}

Legacy-Scripte ausführen

Neben dem Standardmodus können über devop:run-script auch Scripte im Legacy-Modus ausgeführt werden. Dieser Modus sollte allerdings nicht mehr für neue Scripte verwendet werden. Über die Optionen können verschiedene Werte übergeben werden.

Argument Kurzform Beschreibung Beispiel
--argument -a URL-Encoded Zeichenkette mit den an das System zu übergebenden Variablenwerten. a=4&b=5
--legacy -l Use legacy Environment 1
--uid -u Die für den Befehl zu verwendende User-ID 100
--debug -d Debugausgabe ausgeben
--path -p Verzeichnis in dem das Script liegt, ansonsten das aktuelle Verzeichnis. /Pfad/zum/Script
--script -s Name des Scripts testscript.php
/opt/alvine-platform/bin/alvine devop:run-script --legacy=1 \
      --uid=1 -d --path=/Pfad/zum/Script -s=testscript.php 

Die einzubindenden Scriptdatei wird im Kontext einer Funktion aufgerufen. In dieser Funktion kann zum Beispiel über Assembly::getInstance() auf die Anwendung und darüber auf die Datenbankverbindung zugegriffen werden.

UML-Diagramm erstellen

Mit diesem Befehl dev:createuml können für Klassen UML-Diagramme im plantUML Format erzeugt werden.

Argument Kurzform Beschreibung Beispiel
--class -c Name der Klasse inklusive Namespace /A/B/C
--output -o Ausgabe des Ergebnisses in eine Datei und nicht auf die Konsole c:\temp\a.puml

Phars herunterladen

Mit dem Befehl dev:downloadphars werden die aktuell in der assembly.ini definierten Phars heruntergeladen.

Argument Kurzform Beschreibung Beispiel
--output -o Verzeichnis in das die Phars gespeichert werden sollen. c:\temp
--verbose -v Namen der Phar-Archive ausgeben

Wird kein Pfad angegeben, so werden die Dateien in das in der Konfiguration definierte Vendor-Verzeichnis geschrieben.

Webkomponenten erstellen

Vorlagen für neue Webkomponenten zur Darstellung in der Benutzerschnittstellen lassen sich über dev:createwebcomponent erstellen.

Argument Kurzform Beschreibung Beispiel
--namespace Namensraum a.b.c
--version -v Version 1.0.0
--name -n Name der Komponente myComponent

Klassen erstellen

Neue Klassen können über das Argument dev:createclass erstellt, bzw aktualisiert werden.

Argument Kurzform Beschreibung Beispiel
--class -c Name der Klasse inklusive Namespace /A/B/C
--type -t Typ der Klasse (model) model

Weitere Konfigurationsoptionen hängen vom Typ ab.

Modelklassen (Typ model)

Argument Kurzform Beschreibung Beispiel
--table Name der Tabelle, die das Model repräsentiert co_user
--exclude -e Felder, die nicht in die Objektmap übernommen werden sollen sys_erpID
--use -u Zu verwendende Traits (erp, archived, ranking) archive

Delta SQL Statements erstellen

Ein Delta Statement kann über das Argument dev:createdeltasql erstellt, bzw aktualisiert werden.

Argument Kurzform Pflicht Beschreibung Beispiel
--name -n ja Name der Tabelle sh_order
--id -i ja ID der Tabelle 7
--output -o ja Ausgabe des Statements (print, file, database) print
--file -f nein Ausgabe in einer Datei
--print -p nein Ausgabe in der Console
--database -d nein Ausgabe in der Datenbank
--primarykey -k nein Primary Key der Tabelle wird automatisch ermittelt OID
--exclude -e nein Felder, die nicht für den MD5 verwendet werden sollen sys_erpLastUpdate
--dateto nein Feld für Gültig ab date_from
--datefrom nein Feld für Gültig bis date_to
/opt/alvine-platform/bin/alvine createdeltasql --name=sh_order -i 7 -o print -e sys_erpLastUpdate -e sys_erpCreation

id

Die ID muss in der Delta Route definiert und hier übergeben werden. Der Nummernraum der IDs ist im Standard ab der ID '1' und Benutzerdefinierte IDs ab der ID '1000'

Beipsiel : Hier wurde die ID 1 für die Items vergeben.

<configuration>
     <urls>
        <url name="item" id="1" ><![CDATA[/api/commerce/item/search?q=item.iid%20IN%20%22${idlist}%22]]></url>
     </urls>   
</configuration>

exclude

Die Felder, die nicht für den MD5 verwendet werden sollen zum Beispiel:-e sys_erpLastUpdate -e sys_erpCreation

output

Die Ausgabe kann kommagetrennt -o print, file oder einzeln -o print -o file oder mit --print -- file übergeben werden

print

Bei der Ausgabe print werden die Statements direkt in der Console ausgegeben und können kopiert werden.

file

Bei der Ausgabe file werden die Statements in eine sql Datei geschrieben \deployment\database\trigger_[Name der Tabelle].sql

database

Bei der Ausgabe database werden die Statements in der Datenbank ausgeführt.

datefrom / dateto

Datensätze die eine Gültigkeit haben , die evtl. in der Zukunft erst gültig werden oder die Gültigkeit verlieren. Müssen zu den Entsprechenden Zeitpunkten wieder getriggert werden damit das Delta erkannt wird. Hierzu wird der Trigger erweitert mit einem Insert in die ´co_delta_schedule_event´ Tabelle.