Configuring a Server for Campaign Management
Server configuration in the sormas.properties file
The whole configuration is described here: https://github.com/hzi-braunschweig/SORMAS-Project/blob/development/SERVER_CUSTOMIZATION.md#server-configuration Most important are the following two settings:
Default locale
country.locale
: This is the locale your server is using as long as the user has not overwritten it in their settings. It impacts both the language that SORMAS is displayed in as well as e.g. date formats.Custom branding: Properties used to apply a custom branding to SORMAS that overrides its name and default logo. Using these properties also alters the sidebar and adds another customizable area to it. If you want to use this feature, set
custombranding
totrue
.custombranding.name
is the name that you want to use,custombranding.logo.path
is the path to the logo that should be used.
Custom login page
Custom download files in about section
Customizing the name and icon of the Android app
Feature configuration
https://github.com/hzi-braunschweig/SORMAS-Project/blob/development/SERVER_CUSTOMIZATION.md#feature-configuration You will need to enabled the following two features:
Campaigns
CAMPAIGNS
: The campaigns module allows collecting flexible data which can be customized using the JSON format. Currently this is heavily geared towards vaccination campaigns in Afghanistan, but will be usable in a more generic way in the future for other countries as well.Area Infrastructure
INFRASTRUCTURE_TYPE_AREA
: Enables an additional infrastructure level above region that is called area by default. Currently only used in the campaigns module.
All other features should be disabled.
User roles
It is possible to limit the available user roles that an admin can assign to a created user. To do so, user role config entries have to be created in the database. You can adjust this SQL script to do so:
DO $$
DECLARE
_roleEnabled boolean := false;
_roleId bigint;
_uuid varchar;
_userRole varchar;
_userRoles varchar[] := array['USER_ROLE_NAME_A', 'USER_ROLE_NAME_B'];
BEGIN
FOREACH _userRole IN ARRAY _userRoles
LOOP
SELECT id FROM userrolesconfig WHERE userrole = _userRole INTO _roleId;
IF(_roleId is null)
THEN
_uuid = overlay(overlay(overlay(
substring(upper(REPLACE(CAST(CAST(md5(CAST(random() AS text) || CAST(clock_timestamp() AS text)) AS uuid) AS text), '-', '')), 0, 30)
placing '-' from 7) placing '-' from 14) placing '-' from 21);
INSERT INTO userrolesconfig (id, uuid, changedate, creationdate, userrole, sys_period, enabled)
VALUES (nextval('entity_seq'), _uuid, now(), now(),_userRole, NULL, _roleEnabled);
ELSE
UPDATE userrolesconfig SET changedate = now(), enabled = _roleEnabled WHERE id = _roleId;
END IF;
END LOOP;
END
$$ LANGUAGE plpgsql