Initial Configuration Guide
This guide will walk through all of the available configurations properties that a system administrator can adjust in OpenBoxes on startup.
Configuration Locations
File and classpath locations to search for config files that get merged into the main config. Config files can either be Java properties files (.properties) or ConfigSlurper scripts (.groovy)
The default configuration locations include the following four entries. If there are no files found on the file system / classpath for these entries, the system will use the default configuration properties specified in the source code (Config.groovy). This will likely lead to issues connecting to the database as the default configuration will most likely not match what was used when creating the database.
You can also set a custom configuration location using a command line argument set in the tomcat.service file
OR an environment variable set from the command line
Database Properties
The database properties are the most important configuration in the entire system. Without a proper value for these three settings, OpenBoxes will likely fail to start.
There are a few more optional properties that can be used to customize the data source.
You should only ever use dataSource.dbCreate if you are a developer wanting to generate DDL statements for new domain classes or new properties added to existing domain classes. This can be useful when trying to figure out what to add to the Liquibase migrations that are executed automatically on system startup.
Connection Pool
Most of the connection pool properties are set in the source code (DataSource.groovy), but we’ve externalized the properties to ensure system administrators can customize the connection pool to meet the demands of their users.
Detailed documentation for all of these properties can be found at the c3p0 website
https://www.mchange.com/projects/c3p0/index.html
Grails Properties
Another important property is the Grails Server URL. This property is used whenever we generate external links to an OpenBoxes resource. That includes some documents and reports. Therefore, it’s important to ensure that this property is configured correctly.
Mail Properties
Add the following properties if you want to use a service like Mailgun, Sendgrid, or Mandrillapp as your SMTP server.
Sendgrid
Gmail
Default System Logos
These properties allow users to customize the logo image url for the main web application as well as documents / reports generated by the system. There’s also an optional label that can be appended to the end of the logo image. This can be used to indicate the environment (dev, test) to better orient the user in cases where multiple environments exist.
Supported Locales
Supported Currencies
Uploads Directory
This property allows a system administrator to override the default default location for file uploads. This is temporary file system storage for uploading and processing files.
Forecasting
Bill of Materials
User Signup
Sentry Configuration
Default configuration properties for the Grails Raven plugin. This plugin allows the system to send errors and exceptions to Sentry (https://sentry.io).
Here’s a link to the documentation for version 0.5.8 of the Raven plugin. https://github.com/agorapulse/grails-sentry/tree/0.5.8
Anonymize User Data
The anonymize property allows users to anonymize user data to prevent it from being accessed by unauthorized users.
Cycle Count Report
This property allows a system administrator to define additional columns for cycle count report
Identifiers
These properties allow a system administer to define a format for the identifiers that openboxes automatically generates for objects.
Purchasing
The following properties allow a system administrator to configure the approval requirements for purchase orders.
There’s also an experimental feature that approximates a costing method to provide a crude unit price used for inventory valuation that is triggered once a purchase order has been placed. This features is disabled by default.
Barcode Printing
The easiest way to test out the barcode printing capabilities is to install the ZPL Emulator https://chrome.google.com/webstore/detail/zpl-printer/phoidlklenidapnijkabnfdgmadlcmjo?hl=en-US and configure OpenBoxes to use your IP address
Then set the ZPL Printer to listen on that IP address and port.