Command Line Switches

From Lianjapedia
Jump to: navigation, search

When creating a desktop shortcut for running the Lianja App Builder or for runtime Lianja Apps there are several command line options that can be specified.

The following table provides details of the currently available command line options. These can be combined to customize the running of an App e.g.

lianja --app orderprocessing --maximized
lianja myprogram.dbo
lianjaruntime --kiosk --fullscreen --runtimecaption "Our company Apps"
lianjarun --kiosk --fullscreen --runtimecaption "Our company Apps"

Lianja Command Line Options

Option Arguments Description
Filename A filename to run. If no file extension is specified. '.dbo' is assumed. See below for an example.
--app | -a App name Run the specified App.
--appinspector None Show the App Inspector whenever the Pages workspace is selected.
--args Arguments If used with a runtime script (see filename below), Arguments is a comma separated list of arguments to be passed to the script. Enclose Arguments in "..." and use single quotes for individual character arguments e.g.
--args "'hello','world',2600,{04/04/1953}"
If used with --app (see above), Arguments is an 'action'. For supported 'actions', see SHOWDOCUMENT().
--buttonfontsize Font size Adjust the button font size for the App if you are using very high resolution displays and the default button font size is too big or too small.
--codepage Locale Set the locale for the App. Same as --locale.
--codepagedata None For use of imported VFP data stored via a codepage
--command | -c "command1;command2;"... Execute the list of commands e.g. lianja -c "open database southwind;pack database;"
--customer Name This will be used as the suffix to display a customized login file and a customized appcenter file. You can copy the existing login.rsp and appcenter.rsp in the cloudserver\appcenter directory and customize these with your own login captions and icons. The name is a suffix that will be appended onto the login.rsp and appcenter.rsp filenames e.g. --customer myco will look for login_myco.rsp and appcenter_myco.rsp respectively.
--debug None Run in debug mode.
--debugfile Debug file name Send debug logging to the specified file.
--deferredload None Forces all App pages to handle deferred loading.
--dir Directory Default directory.
--file | --input | --run | -i Filename.ext A filename to run. Filename can be a .dbo, .py, .php or .js file.
--fontsize Font size Adjust the base font size of the App if you are using very high resolution displays and the default font size is too big or too small.
--fullscreen None Run the App fullscreen.
--geometry x,y,width,height Specify the geometry of the window, e.g. C:\lianja\bin\lianja.exe --geometry 10,10,1598,868
--homepageapp App name After logging in, the specified App will be displayed rather than the App Center.
Similarly, clicking the "Home" icon displays the login screen then the specified App rather than the App Center.
--icon Window icon Specify an App specific window icon at runtime.
--kiosk None This will run the Lianja App Center (and login) in full screen kiosk mode with no window frame or title bar. This prevents users from minimizing the window and breaking out of your App in RDP sessions and information kiosks.
--locale Locale Set the locale for the App.
--loginapp App name This will load the App immediately after login without displaying the Lianja App Center. This provides you with the ability to replace the Lianja App Center with your own that you have written as a Lianja App or alternatively run an App directly after login bypassing the App Center.
--maximized None Maximize the window.
--networkshare None Path inside the database catalog is ignored and the tables are always accessed inside the database directory. This simplifies the sharing of data across a LAN between Windows and Linux. The SET NETWORKSHARE command can also be set ON to provide the same behavior.
Note: To share databases between Windows and Linux, lowercase names should always be used for the tables as Linux filenames are case sensitive.
--nodeferredload None Disables deferred loading.
--noguests None Prevents readonly access to the Apps using the guest/guest login (disables guest login).
--nosplashscreen None Disable splashscreen at runtime.
--noutf8 None Use system locale.
--output | -o Filename.ext A filename to redirect output to from an input script.
--parentpid Parent PID Specify the parent PID.
--password Password Specify a password for automatic login.
--path Path Comma separated list of directories to be used as the file search path.
--pgdebug None Enable PhoneGap debugging information when SET DEBUG is ON.
--rdp None This will display the login screen with a plain background (no image) and no progress bar when loading an App.
--reset None Run Lianja App Builder without restoring previous App state.
--runtime None Runs the Lianja App Center.
--runtimecaption Caption text Replaces the "Lianja App Center" caption text in the App Center Home workspace with the specified caption text.
--runtimedatadir Runtime data directory Specify the shared LAN directory where databases reside. You can alternatively set the environment variable LIANJA_RUNTIMEDATADIR. Note that when a "runtimedatadir" is specified then --networkshare is also implied and turned on. Introduced in Lianja v1.3.1.
--runtimedir Runtime directory Windows: root drive or directory where lianja sub-directory contains runtime path for Apps, Library and Data, e.g. F: (where files are located in F:\lianja\cloudserver\tenants\public\...). Linux: root directory for Lianja, e.g. /opt/lianja/. This is the equivalent of setting the LIANJA_RUNTIMEDIR environment variable. Note that when a "runtimedir" is specified then --networkshare is also implied and turned on. See also: Deploying to LAN - Desktop and Web Clients.
--splashscreen Path to a custom splashscreen or "None" to disable Specify an App specific splashscreen at runtime. Note that if --app is specified no splashscreen is displayed unless specified.
--tenancy Mapped drive Mapped drive to tenancy, e.g. P: (where P: is a mapped drive to the tenancy share point S:\lianja\cloudserver\tenants\public). This is the equivalent of setting the LIANJA_TENANCY environment variable. See also: Deploying to LAN - Desktop and Web Clients.
--title Window title Specify an App specific window title at runtime.
--username Username Specify a username for automatic login.
--utf8 None Same as --locale utf-8. This is the default.
To use a non UTF-8 locale, specify --noutf8 or use a --codepage <locale> or --locale <locale>.

Filename

When running a custom program, if no file extension is specified, '.dbo' is assumed (.dbo files are pre-compiled .prg script files). If your program is not controlled by a Form object along with form.show(1), remember to add READ EVENTS at the end of the program file otherwise it will just exit and no UI will be displayed.

Shortcut



For example, here a desktop shortcut has been created for 'My App'. The myapp App includes the program start.prg which displays a Form and its controls using form.show(1).

The App has been deployed to the default deployment directory on Windows: C:\lianja\cloudserver\tenants\public\apps.

The shortcut specifies the filename to call: C:\lianja\cloudserver\tenants\public\apps\myapp\start


It also disables the splashscreen: --nosplashscreen


The full Target is:

C:\lianja\bin\lianjaruntime.exe 
C:\lianja\cloudserver\tenants\public\apps\myapp\start
--nosplashscreen

Note: If you are running some custom program code that is going to take a long time to complete e.g. consolidating inventory, then you can provide feedback to the user via a system tray icon on the desktop e.g.

tray = createObject("SystemTrayIcon")
tray.icon = "app:/myapp.png"
tray.showMessage("Message", "Consolidating inventory...")
// perform some long running operation to consolidate inventory
tray.showMessage("Message", "Consolidation completed...")