Toolbox is a command line tool for performing administrative functions in OpenVPMS.
It is invoked using the toolbox command in the <OPENVPMS_HOME>/bin directory. e.g.:
> cd <OPENVPMS_HOME>/bin > toolbox Usage: toolbox [COMMAND] Commands: configure Configure openvpms.properties database Create or update the database archetype Load or compare archetypes war Create the web archive template Load report templates user Set passwords, enable/disable users plugin Enable/disable plugins ssl Check SSL connectivity
The options are as follows:
Configure openvpms.properties.
This:
E.g.:
> toolbox configure Database URL [jdbc:mysql://localhost:3306/openvpms?useSSL=false]: Database user [openvpms]: Database password: apasswd Reporting database URL [jdbc:mysql://localhost:3306/openvpms?useSSL=false]: Reporting database user [openvpms]: Reporting database password [apasswd]: The file ../conf/openvpms.properties should have restrictive permissions to protect passwords Take a secure backup of the file ../conf/openvpms.properties This needs to be kept for subsequent updates.
If the MySQL database is on a different host to that running Tomcat, replace localhost in the Database URL with the correct host name or IP address.
Create the database.
This:
E.g:
> toolbox database --create -u <admin-user> -p <admin-password> Created openvpms Archetypes successfully loaded
Updates the database to the latest version.
E.g:
> toolbox database --update Has the database been backed up? [Y/n] Y Updating to 2.1.0.6 - OVPMS-2223 ... 00:00.077s Updating to 2.1.0.7 - OBF-257 ... 00:00.015s Updating to 2.1.0.8 - OBF-258 ... 00:00.004s Updating to 2.1.0.9 - OVPMS-2082 ... 00:00.084s Updating to 2.1.0.10 - OVPMS 2233 ... 00:00.025s Updating to 2.1.0.11 - OVPMS-428 ... 00:00.085s Updating to 2.1.0.12 - OVPMS 428 ... 00:00.836s Updating to 2.1.0.13 - OVPMS-2241 ... 00:02.175s Updating to 2.1.0.14 - OVPMS-2194 ... 00:00.007s Updating to 2.1.0.15 - OBF-266 ... 00:00.073s Updating to 2.1.0.16 - OBF-264 ... 00:00.032s Updating to 2.1.0.17 - OVPMS-2292 ... 00:00.003s Updating to 2.1.0.18 - OVPMS-2048 ... 00:00.004s Updating to 2.1.0.19 - OVPMS-2346 ... 00:00.006s Updating to 2.1.0.20 - OBF-269 ... 00:00.004s Updating to 2.1.0.21 - OVPMS-2354 ... 00:00.004s Database 'openvpms' updated from version 2.1.0.5 to 2.1.0.21 in 00:00:05.108
Displays the database version.
E.g.:
> toolbox database --version Database 'openvpms' is at version 2.0.0.6
Displays database migration information.
E.g.
> toolbox database --info +----------+-------------+---------------------+---------+ | Version | Description | Installed on | State | +----------+-------------+---------------------+---------+ | 2.0.0.1 | OVPMS-2045 | | <Baseln | | 2.0.0.2 | OVPMS-2114 | 2019-07-25 14:18:45 | Success | | 2.0.0.3 | OVPMS-2121 | 2019-07-25 14:18:45 | Success | | 2.0.0.4 | OVPMS-2128 | 2019-07-25 14:18:45 | Success | | 2.0.0.5 | OVPMS-2134 | 2019-07-25 14:18:45 | Success | | 2.0.0.6 | OVPMS-2151 | 2019-07-25 14:18:45 | Success | | 2.1.0.1 | OVPMS-2159 | | Pending | | 2.1.0.2 | OVPMS-2188 | | Pending | +----------+-------------+---------------------+---------+
The above indicates that:
By convention, the Description column refers to the JIRA related to the migration.
The toolbox archetype --load command loads archetypes from the <OPENVPMS_HOME>/archetypes directory.
E.g.:
> toolbox archetype --load
The OpenVPMS web application must be restarted after running this command.
List archetypes.
> toolbox archetype --list
This is the same as running:
> toolbox archetype --list db
> toolbox archetype --list ../archetypes
By default, this will recurse subdirectories. Recursion can be disabled by specifying --no-recurse
Verbose output
To get more information, add the --verbose flag:
> toolbox archetype --list --verbose Retrieving archetype descriptors from: database Found 564 descriptors ...
Compare archetypes.
> toolbox archetype --diff ../archetypes db
> toolbox archetype --diff --verbose db ../archetype/org/openvpms/archetype/contact/contact.location.adl
> toolbox archetype --diff 2.1/archetypes 2.2/archetypes
Create the web archive.
This generates openvpms.war using the openvpms.properties located in <OPENVPMS_HOME>/conf/
E.g.:
> toolbox war Created ..\webapps\openvpms.war The file ..\webapps\openvpms.war should have restrictive permissions to protect passwords
By default, the war will be named openvpms.war. This can be changed using the --name argument. E.g.:
> toolbox war --name demo Created ..\webapps\demo.war
Logging output will be directed to files based on the specified name. Given the name "demo", logging output will be written to:
Load templates.
Templates are divided into two types:
• document templates - Invoices, Receipts etc
• report templates - reports run from Reporting - Reports
These are located in the <OPENVPMS_HOME>/reports directory.
There are 3 sizes of templates supported: A4, A5 and Letter (i.e. US-Letter).
Reports are only available in A4 and Letter size.
E.g.:
> toolbox template --load --size A4 --all Loaded 'Counter Sale' Loaded 'Credit' Loaded 'Credit Adjustment' Loaded 'Debit Adjustment' Loaded 'Estimate' Loaded 'Estimate Items' Loaded 'Estimate Items-PT' Loaded 'Invoice' Loaded 'Invoice Items' ... Loaded 'Stocktake List Report' Loaded 'HL7 Messages Report' Loaded 'Insurance Claims Report'
> toolbox template --load --all --size A4
Reports aren't available in A5 format, so reports must be loaded in A4 or Letter format.
> toolbox template --load documents --size A5 > toolbox template --load reports --size A4
> toolbox template --load --all --size Letter
> toolbox template --load documents --size A4
> toolbox template --load documents --size A5
> toolbox template --load documents --size Letter
> toolbox template --load reports --size A4
> toolbox template --load reports --size Letter
> toolbox template --load 'Invoice' 'Invoice Items' 'Invoice Items-PT' --size A4
> toolbox template --load 'Invoice' 'Invoice Items' 'Invoice Items-PT' --size A5
> toolbox template --load 'Invoice' 'Invoice Items' 'Invoice Items-PT' --size Letter
User operations.
Sets the password for the specified user.
E.g.:
toolbox user --setpassword admin -p Enter value for -p (password): Password updated
The password can be specified on the command line after the -p option, but for security should be input at the prompt.
Enables the specified user.
E.g.:
> toolbox user --enable vet User enabled
Disables a user.
This prevents login. E.g.:
> toolbox user --disable vet User disabled
Note that disabling users that are required for background jobs (i.e. the Practice Service User), can prevent OpenVPMS from starting up.
Enable plugins. E.g.:
> toolbox plugin --enable Plugins enabled. If OpenVPMS is already running it needs to be restarted.
Disable plugins. E.g.:
> toolbox plugin --disable Plugins disabled. If OpenVPMS is already running it needs to be restarted.
Check SSL connectivity.
This can be used to diagnose SSL certificate issues for external services.
E.g.:
> toolbox ssl --check smtp.gmail.com 465 Connecting to smtp.gmail.com port 465 Successfully connected
To run the check multiple times, use the -n argument. E.g.:
> toolbox ssl --check smtp.gmail.com 465 -n 5 Connecting to smtp.gmail.com port 465 1... Successfully connected 2... Successfully connected 3... Successfully connected 4... Successfully connected 5... Successfully connected 5 of 5 calls were successful (100.0%)