Advanced Setup
This page describes how the client can be customized just from the ./src/client_settings.js
file. When any changes are made to the client codebase, the client must be re-compiled for the changed to take affect.
cd /opt/sealog-client
npm run build
Enable ReCaptcha bot Protection
Update the RECAPTCHA_SITE_KEY
variable in the ./src/client_settings.js
file to enable server-side ReCaptcha integration. This requires configuring the server to use also ReCaptcha.
Customize the page header text
Use the HEADER_TITLE
variable in the ./src/client_settings.js
to specify the branding text displayed in the top-navigation bar.
Customize the login page
Use the LOGIN_SCREEN_TXT
variable in the ./src/client_settings.js
to specify the text displayed on the login page.
Use the LOGIN_IMAGE
variable in the ./src/client_settings.js
file to specify an image to show on the login page. The image will be displayed above the LOGIN_SCREEN_TXT
. This image must end in “.jpg”, “jpeg”, “.png” and located in the ./assets/images
folder.
Customize the cruise review page
Use the MAIN_SCREEN_HEADER
variable in the ./src/client_settings.js
to specify the title text displayed on the Cruise Review page.
Use the MAIN_SCREEN_TXT
variable in the ./src/client_settings.js
to specify the text displayed on the Cruise Review page.
Read-only client and advanced user permissions
Use the USE_ACCESS_CONTROL
variable in the ./src/client_settings.js
to enable per-user/pre-cruise/lowering permissions. Enabling this option will allow admins to define exaclt what cruises/lowerings that users can access. This requres setting the corresponding option on the server. It’s set to false
by default.
Use the DISABLE_EVENT_LOGGING
variable in the ./src/client_settings.js
to disable the client’s event-logging functionality. This is commonly used when serving a shore-side copy of Sealog for post-cruise viewing. It’s set to false
by default.
Set the defaults for creating new cruise and lowering records
The DEFAULT_VESSEL
variable in ./src/client_settings
will be the default “Vessel” value when adding new cruise records
The CRUISE_ID_PLACEHOLDER
variable in ./src/client_settings
will be the hint text in the “Cruise ID” field when adding new cruise records.
The CRUISE_ID_REGEX
variable in ./src/client_settings
will be the validation function for the “Cruise ID” field when adding/updating cruise records. Standard practice is to use the JavaScript RegEx object. If the text entered for the Cruise ID returns false for the function then a warning message will be displayed under the Cruise ID text field but the form will still submit.
The CUSTOM_CRUISE_NAME
variable in ./src/client_settings
is what a cruise should be called. Some organizations refer to cruises with different nomiclatures such as “Expedition” or “Voyage”. This variable allows the operator to customize the text used to represent a sealog cruise. The format of the variable needs to be a list containing the singular and plural forms of the term (i.e. [‘voyage’, ‘voyages’]). The default value is [‘cruise’, ‘cruises’].
The LOWERING_ID_PLACEHOLDER
variable in ./src/client_settings
will be the hint text in the “Lowering ID” field when adding new cruise records.
The LOWERING_ID_REGEX
variable in ./src/client_settings
will be the validation function for the “Lowering ID” field when adding/updating cruise records. Standard practice is to use the JavaScript RegEx object. If the text entered for the Lowering ID returns false for the function then a warning message will be displayed under the Lowering ID text field but the form will still submit.
The CUSTOM_LOWERING_NAME
variable in ./src/client_settings
is what a lowering should be called. Some organizations refer to lowerings with different nomiclatures such as “Expedition” or “Voyage”. This variable allows the operator to customize the text used to represent a sealog lowering. The format of the variable needs to be a list containing the singular and plural forms of the term (i.e. [‘dive’, ‘dives’]). The default value is [‘lowering’, ‘lowerings’].
Customized how the client interprets ancillary data
The POSITION_DATASOURCES
variable in ./src/client_settings
lists the aux_data record data_source names that should be interpreted and postion data. This information is used in the sections of the client with maps showing vessel/vehicle positions. The values in the list should be in the preferred order of use. The default value is: [‘vehicleRealtimeNavData’].
The EXCLUDE_AUX_DATA_SOURCES
variable in ./src/client_settings
lists the aux_data record data_source names that should NOT be displayed in the client. The default value is: []
The IMAGES_AUX_DATA_SOURCES
variable in ./src/client_settings
lists the aux_data record data_source names that should be interpreted as imagery data. The client will try to show the referenced image file instead of just the image filename. The default value is: [‘framegrabber’]
The AUX_DATA_SORT_ORDER
variable in ./src/client_settings
lists the aux_data record data_source names in the order they should be displayed on pages show event details. The default value is: [‘vehicleRealtimeNavData’]
The AUX_DATA_DATASOURCE_REPLACE
variable in ./src/client_settings
is used to define how to display the aux_data data_source name on pages showing event details. The default behavior is to split the native camel-case data_source variable names to individual words (vehicleRealtimeNavData -> Vehicle Realtime Nav Data). This can produce unintented results where capital letters are intentionally placed next to each other (vehicleRealtimeCTDData -> Vehicle Realtime C T D Data’). The AUX_DATA_DATASOURCE_REPLACE
needs to be a JSON-formated object of key/value pairs where the key is the raw data_source name and the value is the string to display in the client: { ‘vehicleRealtimeCTDData’: ‘Vehicle Realtime CTD Data’, … }. The default value is: null