Package com.mayam.wf.siteconfig
Class SiteConfig
java.lang.Object
com.mayam.wf.siteconfig.AbstractSiteConfig
com.mayam.wf.siteconfig.SiteConfig
- All Implemented Interfaces:
MqConfig
Main site configuration class for Mayam Tasks.
- Author:
- jonas
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic enum
Determines if the BPMN Editor is available (given that bpms.enabled is also true).static enum
Determines whether elastic search should always be used (if enabled), or if the regular search manager should be used most of the time (so as not to confuse users).static enum
Allows for alternative Single Sign-On types to be used.Nested classes/interfaces inherited from class com.mayam.wf.siteconfig.AbstractSiteConfig
AbstractSiteConfig.Config, AbstractSiteConfig.Reloadable
-
Method Summary
Modifier and TypeMethodDescriptionCreates aClassLoader
which is aware of the additional configured classpath.The Maven artifact containing the running core web application or, if not applicable, that of the wf-siteconfig found in classpath.static SiteConfig
static SiteConfig
fromProperties
(Properties properties) static SiteConfig
fromPropertiesFile
(String filePath) License key for Accurate Player, or left empty if no such license exists.Name of Guice module class that binds site specific code run as part of server activities.The URL up to and including FederationMetadata.xml of the ADFS server (typically https://adfsserver/FederationMetadata/2007-06/FederationMetadata.xml).Comma separated list of groups that will provide an ADMIN role for their users.Time that an alert is in the cache.Comma separated list of account tokens (convention is user:password) that are valid for accessing Mayam APIs.Password for the auto qc systemUsed for auto qcUsername for the auto qc systemPassword of the AUX user.Name of the user used to communicate with the AUX system when not reusing an existing session.Base URL of the BPMS webservices.Enables BPMS functionality within the Mayam Tasks interface and backends.Bpms Module to use.Bpms User PasswordBPMN Editor availability, given enabled BPMS subsystem.Base URL of the BPMS web user interface.Bpms UsernamePassword for the cacheURL to the cache, currently only redis is supported Unset = unused Syntax redis://host:port/Username for the cache, not needed for redisValue of 0 means the child counters are never increased or decreased
Value of 1 means the child counters are inc/dec but no MQ messages are sent on (grand)parent updates
Value of 2 means the same as 1, but MQ messages are sentAdditions to be made to the system classpath as a colon separated list of jar files.Enables database retrieval of task configuration.Class
<?> Configuration preset class to use as a factory default.Task configuration domain.The isolation level for the DB connection.The default schema property for the DB connectionIdentifier database structure naming strategy.Lock timeout for update locksPassword used to connect to the Tasks database.The Show SQL property for the DB connectionThe type of DB lock to use for entity updates.getDbUrl()
The JDBC connection URL of the Tasks database.Name of the user used to connect to the Tasks database.The default dark theme for the UI.The default light theme for the UI.This can be used as the value for ManagedFolder hostsThis can be used as the rootPath for ManagedFile absolutePath()Comma separated list of groups that will provide a DEVELOPER role for their users.Elastic search analyzer filters, comma-separated.Elastic api compability mode.Elastic search TaskFilterManager.Elastic search filtering mode (CONDITIONAL / ALWAYS).Comma separated list of hostname:port pairs for elasticsearch nodes (http port; typically 9200).Elastic search password.Elastic search scheme.Elastic search user name, or empty if authentication is not configured (typically via x-pack).How long fileinfo should wait to check if a file is growingDefault fileop api account.This is the destination where vme-daemon will send the hasmedia events.Base URL for Kibana.LDAP Bind DN (user to connect as )LDAP Bind passwordDomain that user needs to belong to for ldap lookup This is the part of the username before + in case of vmeLDAP group search baseLDAP host to connect toLDAP port to connect toLDAP search baseDefines domains to login to.DO NOT ENABLE! Unless to work around issues resulting from LdapSystem not appending a domain to the user ids returned (as happened at DPO).Asset ACL settings for default placeholdersMedia ACL settings for default placeholdersAsset ACL settings for delivery placeholdersMedia ACL settings for delivery placeholdersBase URL of the MAM webservices/rest endpoints.Enables a cache for mam entities This cache can be either shared or local.Enables a crawler that polls information from the MAM system.Name of the Guice module class that binds Mambrella interfaces.URL pointing to the MAM MQ service (if different from the MQ used by Tasks)Password of the MAM user.Determine if we use extra strict metadata verification when creating item metadata.Base URL of the MAM web user interface.Name of the user used to communicate with the MAM when not reusing an existing session.URL of the MQ broker.Mq Module to use.Password used to access the MQ.Name of the user used to access the MQ.Comma separated list of groups that will provide an OPERATOR role for their users.Remote rules api to talk to.Comma separated list of security zones for which the deployment should have access rights.Security zone to add for all tasks created by this deployment.User groups for which default settings (including search views) can be stored.Used for site specific auxiliary urlbaseFolders for attachmentsHost for outgoing email.Local host name used in the SMTP HELO or EHLO command.Optional password for outgoing email.Port for outgoing email.Transport protocol for outgoing email.Enable smtp sslTrust for smtp sslEnable transport layer security for mail.Optional user for outgoing email.If non-empty, this specifies the type of Single sign-on solution in use.The delay, in days, between a task being set to closed state and it being deleted from the task list and henceforth only available through audit.Used as override of acls per tasklist and group Syntax list1:group1,group2;list2:groupA,groupBBase URL for the Mayam Tasks webservices, up to and includingtasks-ws
.Custom background CSS for use on the login screen.Custom dialog title for use on the login screen.Custom logo shown instead of the Mayam Tasks logo in the Tasks UI.Base URL for the the Mayam Tasks web user interfaces.Causes random tasklist data to be generated.Causes user authentication to be disabled.If the UI should defalut to light/dark or follow the system The valid values should be light/dark/systemMAM target service for down-convert operations mapped to file transfers.MAM target service for export operations mapped to file transfers.MAM target service for QC operations mapped to file transfers.If the filters should be merged in the column headers in the UIComma separated list of tags to use when importing to vidispine This controls what formats should be created / transcoded into on import All tags are usedComma separated list of tags to use when initializing a player (accurateplayer) If this is unset, the import tags are used First tag matching a shape will be usedvoid
setAccuratePlayerLicense
(String accuratePlayerLicense) void
setAdfsMetadataUrl
(String adfsMetadataUrl) void
setAlertsCacheMinutes
(Integer alertsCacheMinutes) void
setBpmsModule
(String bpmsModule) void
setBpmsPassword
(String bpmsPassword) void
setBpmsUsername
(String bpmsUsername) void
setCachePassword
(String cachePassword) void
setCacheUrl
(String cacheUrl) void
setCacheUserName
(String cacheUserName) void
setDefaultStorageHost
(String defaultStorageHost) void
setDefaultStorageRootPath
(String defaultStorageRootPath) void
setFileInfoGrowCheckInterval
(Integer fileInfoGrowCheckInterval) void
setHasMediaMqDestination
(String hasMediaMqDestination) void
setMamCacheTtl
(Integer mamCacheTtl) void
setMamMqUrl
(String mamMqUrl) void
setMamStrictMetadata
(Boolean mamStrictMetadata) void
setSettingsGroups
(String settingsGroups) void
setSmtpAttachmentFolders
(String smtpAttachmentFolders) void
setSmtpLocalhost
(String smtpLocalhost) void
setSmtpSsl
(Boolean smtpSsl) void
setSmtpSslTrust
(String smtpSslTrust) void
setSsoType
(String text) void
setVidispineImportTags
(String vidispineImportTags) void
setVidispinePlayerTags
(String vidispinePlayerTags) The Maven artifact used as site library containing configuration and additional logic.Folders for attachments as a List of PathMethods inherited from class com.mayam.wf.siteconfig.AbstractSiteConfig
ensureSlashSuffix, fromProperties, fromPropertiesFile, haveReloadable, setSiteConfigValue
-
Method Details
-
fromDefaultPropertiesFile
-
fromPropertiesFile
-
fromProperties
-
getDbUserName
Name of the user used to connect to the Tasks database. -
getDbPassword
Password used to connect to the Tasks database. -
getDbUrl
The JDBC connection URL of the Tasks database. -
getDbShowSql
The Show SQL property for the DB connection -
getDbDefaultSchema
The default schema property for the DB connection -
getDbConnectionIsolation
The isolation level for the DB connection. This property should only be set in the case of DB2 deadlocks, where the value should be set to 1. The default value is zero, which states don't assign a value -
getDbUpdateLock
The type of DB lock to use for entity updates. The default is PESSIMISTIC_WRITE (see Hibernate LockMode for details). Other supported values are: NONE, READ, WRITE, OPTIMISTIC_WRITE -
getDbLockTimeout
Lock timeout for update locks -
getDbIdStrategy
Identifier database structure naming strategy. Should belegacy
to allow upgrade of pre 3.4 systems. While systems starting at 3.4, could usestandard
instead, there is little to be gained. Migration from Classic to NextGen persistence will initially only support the legacy strategy. -
getMamUserName
Name of the user used to communicate with the MAM when not reusing an existing session. -
getMamPassword
Password of the MAM user. -
getMamModule
@Config(key="mam.module", defaultValue="com.mayam.mambrella.mock.MockModule") public Class<? extends Module> getMamModule()Name of the Guice module class that binds Mambrella interfaces. -
getMamUiUrlBase
Base URL of the MAM web user interface. -
getMamApiUrlBase
@Config(key="mam.api.urlbase", defaultValue="https://localhost/api/") public String getMamApiUrlBase()Base URL of the MAM webservices/rest endpoints. -
getMamMqUrl
URL pointing to the MAM MQ service (if different from the MQ used by Tasks) -
setMamMqUrl
-
getMamCacheTtl
Enables a cache for mam entities This cache can be either shared or local. The cache will have a ttl of the given number of seconds after read Default is zero and cache is disabled- Returns:
-
setMamCacheTtl
-
getMamAclDefaultAssetGroups
@Config(key="mam.acl.default.asset.groups", defaultValue="") public String getMamAclDefaultAssetGroups()Asset ACL settings for default placeholders -
getMamAclDefaultMediaGroups
@Config(key="mam.acl.default.media.groups", defaultValue="") public String getMamAclDefaultMediaGroups()Media ACL settings for default placeholders -
getMamAclDeliveryAssetGroups
@Config(key="mam.acl.delivery.asset.groups", defaultValue="") public String getMamAclDeliveryAssetGroups()Asset ACL settings for delivery placeholders -
getMamAclDeliveryMediaGroups
@Config(key="mam.acl.delivery.media.groups", defaultValue="") public String getMamAclDeliveryMediaGroups()Media ACL settings for delivery placeholders -
getMamCrawlerEnable
Enables a crawler that polls information from the MAM system. -
getConfigDomain
Task configuration domain. Each domain will have one and only one active configuration instance. -
getConfigDefaultPreset
@Config(key="config.defaultpreset", defaultValue="com.mayam.wf.config.server.preset.DemoConfigPreset") public Class<?> getConfigDefaultPreset()Configuration preset class to use as a factory default. -
getConfigDbEnable
Enables database retrieval of task configuration. In-memory fallbacks will still be used for domains not found in the database. -
getTestGenData
Causes random tasklist data to be generated. -
getTestNoAuth
Causes user authentication to be disabled. -
getActivitiesSiteModule
@Config(key="tasks.activities.site.module", defaultValue="") public Class<? extends Module> getActivitiesSiteModule()Name of Guice module class that binds site specific code run as part of server activities. The module is optional (can be set to empty string). -
getTaskDeletionDelay
The delay, in days, between a task being set to closed state and it being deleted from the task list and henceforth only available through audit. A closed task is up until this point available as a history task. The default value of -1 disables deletion, perpetually keeping history tasks. Setting the delay to zero will cause a task to be deleted as part of the sameActivityWorkOrder
that contained itsCLOSE_TASK
activity. -
getTasksUiUrlBase
@Config(key="tasks.ui.urlbase", defaultValue="http://localhost:8084/") public String getTasksUiUrlBase()Base URL for the the Mayam Tasks web user interfaces. Used to generate callback URL for ADFS. -
getTasksUiLoginBackground
Custom background CSS for use on the login screen. -
getTasksUiLoginTitle
Custom dialog title for use on the login screen. -
getTasksUiLogo
Custom logo shown instead of the Mayam Tasks logo in the Tasks UI. Should be a data-url or an http-url (preferably same network). -
getTasksApiUrlBase
@Config(key="tasks.api.urlbase", defaultValue="http://localhost:8084/tasks-ws/") public String getTasksApiUrlBase()Base URL for the Mayam Tasks webservices, up to and includingtasks-ws
. -
getBpmsEnable
Enables BPMS functionality within the Mayam Tasks interface and backends. -
getBpmsUiUrlBase
@Config(key="bpms.ui.urlbase", defaultValue="http://localhost:8083/") public String getBpmsUiUrlBase()Base URL of the BPMS web user interface. -
getBpmsUiEditor
@Config(key="bpms.ui.editor", defaultValue="ENABLED") public SiteConfig.BpmnEditorMode getBpmsUiEditor()BPMN Editor availability, given enabled BPMS subsystem.- See Also:
-
getBpmsApiUrlBase
@Config(key="bpms.api.urlbase", defaultValue="http://localhost:8083/") public String getBpmsApiUrlBase()Base URL of the BPMS webservices. -
getBpmsModule
@Config(key="bpms.module", defaultValue="com.mayam.wf.activity.server.bpms.ActivitiBpmsModule") public Class<? extends Module> getBpmsModule()Bpms Module to use. For example com.mayam.wf.activity.server.bpms.ActivitiBpmsModule (default) com.mayam.wf.activity.server.bpms.IntalioBpmsModule -
setBpmsModule
-
getBpmsUsername
Bpms Username -
setBpmsUsername
-
getBpmsPassword
Bpms User Password -
setBpmsPassword
-
getApiAccounts
Comma separated list of account tokens (convention is user:password) that are valid for accessing Mayam APIs. -
getMqUserName
Name of the user used to access the MQ.- Specified by:
getMqUserName
in interfaceMqConfig
-
getMqPassword
Password used to access the MQ.- Specified by:
getMqPassword
in interfaceMqConfig
-
getMqBrokerUrl
URL of the MQ broker.- Specified by:
getMqBrokerUrl
in interfaceMqConfig
-
getMqModule
@Config(key="mq.module", defaultValue="com.mayam.wf.mq.MqModule") public Class<? extends Module> getMqModule()Mq Module to use. For example com.mayam.wf.mq.MqModule (default, for ActiveMq) com.mayam.wf.mq.RabbitMqModule- Specified by:
getMqModule
in interfaceMqConfig
-
getTransferDestQc
MAM target service for QC operations mapped to file transfers. -
getTransferDestDownconvert
@Config(key="transfer.dest.downconvert", defaultValue="") public String getTransferDestDownconvert()MAM target service for down-convert operations mapped to file transfers. -
getTransferDestExport
MAM target service for export operations mapped to file transfers. -
getRemoteRulesApiUrlBase
@Config(key="remote.rules.api.urlbase", defaultValue="http://localhost:8084/tasks-ws/rest/test") public String getRemoteRulesApiUrlBase()Remote rules api to talk to. Used in for example foxtel to talk to the workflow engine -
getChildTaskCounterLevel
Value of 0 means the child counters are never increased or decreased
Value of 1 means the child counters are inc/dec but no MQ messages are sent on (grand)parent updates
Value of 2 means the same as 1, but MQ messages are sent -
getAutoQcUrl
Used for auto qc -
getAutoQcUserName
Username for the auto qc system -
getAutoQcPassword
Password for the auto qc system -
getSiteAuxBaseUrl
Used for site specific auxiliary urlbase -
getAuxUserName
Name of the user used to communicate with the AUX system when not reusing an existing session. -
getAuxPassword
Password of the AUX user. -
getTasklistsGroupsAclOverride
@Config(key="tasks.lists.group.acl.override", defaultValue="") public String getTasklistsGroupsAclOverride()Used as override of acls per tasklist and group Syntax list1:group1,group2;list2:groupA,groupB -
getLoginDomains
@Config(key="login.domains", defaultValue="Internal accounts:SYSTEM") public String getLoginDomains()Defines domains to login to. Syntax: key:value,key:value where key is what's shown to the user and value the internal -
getOperatorGroups
Comma separated list of groups that will provide an OPERATOR role for their users. This (or its ADMIN/DEVELOPER counterparts) need to contain all groups that are to be supported in wf-config features such as viewGroup since the groups kept in UserAccess may be filtered based on these lists. -
getAdminGroups
Comma separated list of groups that will provide an ADMIN role for their users. -
getDeveloperGroups
Comma separated list of groups that will provide a DEVELOPER role for their users. -
getLoginSkipDomain
DO NOT ENABLE! Unless to work around issues resulting from LdapSystem not appending a domain to the user ids returned (as happened at DPO). -
getLdapHost
LDAP host to connect to -
getLdapPort
LDAP port to connect to -
getLdapBindDn
LDAP Bind DN (user to connect as ) -
getLdapBindPassword
LDAP Bind password -
getLdapSearchbase
LDAP search base -
getLdapGroupSearchbase
LDAP group search base -
getLdapDomain
Domain that user needs to belong to for ldap lookup This is the part of the username before + in case of vme -
getLoginDomainsAsMap
-
getClassPath
Additions to be made to the system classpath as a colon separated list of jar files. Typically used to point out the tasks-site-*.jar. -
getSecurityCreateZone
Security zone to add for all tasks created by this deployment. Zone must also be listed among the accessible zones. If empty, no zone will be specified on create. -
getSecurityAccessZones
Comma separated list of security zones for which the deployment should have access rights. Leave empty for access to all zones. -
classLoader
Creates aClassLoader
which is aware of the additional configured classpath. This loader remains cached, so future lookups will return the same object. -
siteArtifact
The Maven artifact used as site library containing configuration and additional logic. -
coreArtifact
The Maven artifact containing the running core web application or, if not applicable, that of the wf-siteconfig found in classpath. -
getSmtpProtocol
Transport protocol for outgoing email. -
getSmtpHost
Host for outgoing email. -
getSmtpPort
Port for outgoing email. -
getSmtpLocalhost
Local host name used in the SMTP HELO or EHLO command. Defaults to InetAddress.getLocalHost().getHostName(). Needs to be set if running in a docker container since it will not exist on the network.- Returns:
-
setSmtpLocalhost
-
getSmtpUser
Optional user for outgoing email. -
getSmtpPassword
Optional password for outgoing email. -
getSmtpTls
Enable transport layer security for mail. -
getSmtpSsl
Enable smtp ssl -
setSmtpSsl
-
getSmtpSslTrust
Trust for smtp ssl -
setSmtpSslTrust
-
getSmtpAttachmentFolders
Folders for attachments -
smtpAttachmentFoldersAsList
Folders for attachments as a List of Path -
setSmtpAttachmentFolders
-
getElasticsearchNodes
@Config(key="elasticsearch.nodes", defaultValue="127.0.0.1:9200") public String getElasticsearchNodes()Comma separated list of hostname:port pairs for elasticsearch nodes (http port; typically 9200). -
getElasticsearchUserName
Elastic search user name, or empty if authentication is not configured (typically via x-pack). -
getElasticsearchPassword
Elastic search password. -
getElasticsearchScheme
Elastic search scheme. -
getElasticsearchApiCompabilityMode
@Config(key="elasticsearch.api.compat", defaultValue="false") public Boolean getElasticsearchApiCompabilityMode()Elastic api compability mode. -
getElasticsearchAnalyzerFilters
@Config(key="elasticsearch.analyzer.filters", defaultValue="") public String getElasticsearchAnalyzerFilters()Elastic search analyzer filters, comma-separated. Useful examples include "lowercase" and "asciifolding". Leave empty for default analyzer. -
getElasticsearchFiltering
@Config(key="elasticsearch.filtering", defaultValue="false") public Boolean getElasticsearchFiltering()Elastic search TaskFilterManager. -
getElasticsearchFilteringMode
@Config(key="elasticsearch.filtering.mode", defaultValue="ALWAYS") public SiteConfig.ElasticsearchFilteringMode getElasticsearchFilteringMode()Elastic search filtering mode (CONDITIONAL / ALWAYS). -
getKibanaUrlBase
Base URL for Kibana. Typical value is http://localhost:5601/, but default value is unspecified so as to be able to determine if Kibana is available or not. -
getDefaultLightTheme
The default light theme for the UI. -
getDefaultDarkTheme
The default dark theme for the UI. -
getThemeMode
If the UI should defalut to light/dark or follow the system The valid values should be light/dark/system -
getUseColumnFilters
If the filters should be merged in the column headers in the UI -
getFileInfoGrowCheckInterval
@Config(key="fileinfo.grow.check.interval", defaultValue="10") public Integer getFileInfoGrowCheckInterval()How long fileinfo should wait to check if a file is growing -
setFileInfoGrowCheckInterval
-
getMamStrictMetadata
Determine if we use extra strict metadata verification when creating item metadata. We might want to do this default true in the future (and remove config) (false; default). -
setMamStrictMetadata
-
getFileOpApiAccount
Default fileop api account. Needs to be added to the `apiAccounts` of all fileop-config.yaml files. -
getDefaultStorageHost
This can be used as the value for ManagedFolder hosts -
setDefaultStorageHost
-
getDefaultStorageRootPath
This can be used as the rootPath for ManagedFile absolutePath() -
setDefaultStorageRootPath
-
getSettingsGroups
User groups for which default settings (including search views) can be stored. The syntax is comma separated list of names that are either safe (guaranteed to have no comma in the name) and readable (30 characters or less; not an LDAP DN) or a safe+readable name directly followed by {{ and the full group name suffixed by }}. Example: Rapportage{{CN=FG_SIEN_rapportage;OU=Groups;OU=Sien;OU=Service Accounts;DC=nos-mc;DC=local}},... -
setSettingsGroups
-
settingsGroups
-
getAdfsMetadataUrl
The URL up to and including FederationMetadata.xml of the ADFS server (typically https://adfsserver/FederationMetadata/2007-06/FederationMetadata.xml). If kept as empty string, ADFS support is considered disabled. -
setAdfsMetadataUrl
-
getSsoType
If non-empty, this specifies the type of Single sign-on solution in use. -
setSsoType
-
getVidispineImportTags
Comma separated list of tags to use when importing to vidispine This controls what formats should be created / transcoded into on import All tags are used- Returns:
-
setVidispineImportTags
-
getVidispinePlayerTags
Comma separated list of tags to use when initializing a player (accurateplayer) If this is unset, the import tags are used First tag matching a shape will be used- Returns:
-
setVidispinePlayerTags
-
getAccuratePlayerLicense
License key for Accurate Player, or left empty if no such license exists. Specifying a license may implicitly enable code that makes use of the player. -
setAccuratePlayerLicense
-
getHasMediaMqDestination
@Config(key="mq.hasmedia.destination", defaultValue="topic://mayam.asset.update") public String getHasMediaMqDestination()This is the destination where vme-daemon will send the hasmedia events. The issue is that normally the events are sent to the same topic has asset updates so for backwards compatibility this also does that. It can however be overwritten here for better separation -
setHasMediaMqDestination
-
getCacheUrl
URL to the cache, currently only redis is supported Unset = unused Syntax redis://host:port/ -
setCacheUrl
-
getCacheUserName
Username for the cache, not needed for redis- Returns:
-
setCacheUserName
-
getCachePassword
Password for the cache- Returns:
-
setCachePassword
-
getAlertsCacheMinutes
Time that an alert is in the cache. In minutes- Returns:
-
setAlertsCacheMinutes
-