Settings

This section covers Portal role, permissions and some settings.

portal-header

Setup Portal settings by configuration file in Designer

To manually configure Portal settings, refer to HowTo: Update Portal settings.

In development, it is a quite tedious task to configure Portal settings after restarting Designer. Therefore, Portal supports modification of Portal settings in Designer by configuration file, it could survive after restarting Designer.

Process developer can set up Portal settings of Portal in file portal_settings_config.properties which put in PortalKit.

# This file is for developer configure values for Portal settings.
# As developer, you only need to remove comment mark of corresponding settings and modify their values.
# Portal will apply setting values once you start designer.

# System tasks visibility
#HIDE_SYSTEM_TASKS_FROM_HISTORY = true
#HIDE_SYSTEM_TASKS_FROM_HISTORY_ADMINISTRATOR = false

#System notes visibility
#HIDE_SYSTEM_NOTES_FROM_HISTORY = true
#HIDE_SYSTEM_NOTES_FROM_HISTORY_ADMINISTRATOR = false

# Portal chat settings
#ENABLE_GROUP_CHAT = false
#ENABLE_PRIVATE_CHAT = false
#CHAT_RESPONSE_TIMEOUT =
#CHAT_MAX_CONNECTION = 3

# Documents security settings
#ENABLE_SCRIPT_CHECKING_FOR_UPLOADED_DOCUMENT = false
#ENABLE_VIRUS_SCANNER_FOR_UPLOADED_DOCUMENT = false
#UPLOAD_DOCUMENT_WHITELIST_EXTENSION = doc, docx, xls, xlsx, xlsm, csv, pdf, ppt, pptx, txt, zip, jpg, jpeg, bmp, png

# Time settings
#HIDE_TIME = false
#CLIENT_SIDE_TIMEOUT =
#REFRESH_TASK_LIST_INTERVAL = 10000

# Year settings
#HIDE_YEAR = false

# Task/case counting functions
#DISABLE_CASE_COUNT = false
#DISABLE_TASK_COUNT = false

# IFrame setting
#EMBED_IN_FRAME = true

# Logged in user format, available values: USERNAME, DISPLAY_NAME, DISPLAY_NAME_USERNAME, USERNAME_DISPLAYNAME
#LOGGED_IN_USER_FORMAT = DISPLAY_NAME

# Task/case detail document component setting
#HIDE_TASK_DOCUMENT = false
#HIDE_CASE_DOCUMENT = false

# Available standard values: dashboard, process, task, case, statistics.
# If you want your customized SubMenuIitem to be the default homepage, fill its name which is set in the overridden LoadSubMenuItems process.
#DEFAULT_HOMEPAGE =

# Others
#SHOW_ENVIRONMENT_INFO = false
#ENABLE_CASE_OWNER = false
#EXPRESS_END_PAGE = true
#HIDE_CHANGE_PASSWORD_BUTTON = false
#HIDE_LOGOUT_BUTTON = false
#HIDE_UPLOAD_DOCUMENT_FOR_DONE_CASE = false
#HIDE_STATISTIC_WIDGET = false
#ENABLE_USER_FAVORITES = true
#DISPLAY_MESSAGE_AFTER_FINISH_TASK = true
#SHOW_USER_GUIDE = true
#SHOW_GLOBAL_SEARCH = true
#SHOW_BUTTON_ICON = true
#SHOW_TASK_DURATION_TIME = true
#SHOW_CASE_DURATION_TIME = true

This file already contains list of settings with their default values. These settings will be applied once you start Portal.

If you change configuration file while coding, please stop engine in designer and start engine again to apply changes.

Language settings

  • Below is applied language setting precedence:

    language-precedence

If user email language setting is application default, language would be applied by application email language setting.

If user selects a language in email setting, language would be appplied by this selection.

To configure languages of Portal applications, refer to Language settings.

  • For multiple languages, the CMS key /AppInfo/SupportedLanguages must exist in your application. This CMS entry is in Portal Style. It contains list of all languages supported by your application, separated by comma.

    • Must not contain spaces

    • Same as display name of Locale

    • Separated by comma

    • Process model version, which has this CMS, must active

  • To add new language to Portal, what you have to do is

    • Add new language locale to cms entry of Portal Style /AppInfo/SupportedLanguages

    • Export all CMS entries of Portal Style to excel file

    • Add translation of new language for all CMS entries

    • Import file excel back, then redeploy Portal Style

    • This is sample how to add new Spanish to portal

add-new-language

Role configuration

PortalKit roles

Rights

AXONIVY_PORTAL_ADMIN

User belong to this role can handle AdminUI page, configure the internal role properties, create public filters. Users who own this role need some permissions.

Permission settings

Permissions can be configured in Cockpit. In the security area, you will find all these permission in the Group “PortalPermissions”

Task permission

  • Add note

    User needs permission: PortalPermission.TASK_CASE_ADD_NOTE.

  • Delegate

    To show delegate action, user needs permission: PortalPermission.TASK_DISPLAY_DELEGATE_ACTION.

    To delegate personal or group tasks, user needs permission: TaskWriteActivatorOwnTasks (This permission belongs to Portal permission group and it is not assigned to role Everybody by default).

    To delegate all tasks in task list, user needs permission: IPermission.TASK_WRITE_ACTIVATOR.

    Important

    Task state cannot be one of the following values: CREATED, DONE, DESTROYED, RESUMED, FAILED.

  • Reset

    To show reset action, user needs permission: PortalPermission.TASK_DISPLAY_RESET_ACTION.

    To reset task, user needs permission: IPermission.TASK_RESET_OWN_WORKING_TASK or PortalPermission.TASK_RESET_READY_FOR_JOIN or IPermission.TASK_RESET.

    Important

    Task state has to be one of following values: RESUMED, PARKED, READY_FOR_JOIN, FAILED.

  • Delete

    User needs permission: IPermission.TASK_DESTROY.

    Important

    Task state isn’t DESTROYED or DONE.

  • Reserve

    To show reserve action, user needs permission: PortalPermission.TASK_DISPLAY_RESERVE_ACTION.

    To reserve task, user needs permission: IPermission.TASK_PARK_OWN_WORKING_TASK.

    Important

    Task state has to be one of following values: CREATED, RESUMED, SUSPENDED.

  • Change description

    User needs permission: IPermission.TASK_WRITE_DESCRIPTION.

    Important

    Task state cannot be one of following values: DONE, DESTROYED, FAILED.

  • Change deadline

    User needs permission: IPermission.TASK_WRITE_EXPIRY_TIMESTAMP.

    Important

    Task state cannot be one of following values: DONE, DESTROYED, FAILED.

  • Change priority

    User needs permission: IPermission.TASK_WRITE_ORIGINAL_PRIORITY.

    Important

    Task state cannot be one of following values: DONE, DESTROYED, FAILED.

  • Display additional options

    To show additional action, user needs permission: PortalPermission.TASK_DISPLAY_ADDITIONAL_OPTIONS.

Case permission

  • Add note

    User needs permission: PortalPermission.TASK_CASE_ADD_NOTE.

  • Delete

    User needs permission: IPermission.CASE_DESTROY.

    Important

    Case state must be RUNNING.

  • Change description

    User needs permission: IPermission.CASE_WRITE_DESCRIPTION.

    Important

    Case state cannot be DESTROYED.

  • See related tasks of case

    To show related tasks action, user needs permission: PortalPermission.SHOW_ALL_TASKS_OF_CASE.

    To see related tasks, user needs permission: IPermission.TASK_READ_OWN_CASE_TASKS or IPermission.TASK_READ_ALL.

    Important

    Case state cannot be DESTROYED.

  • Display show detail link

    User needs permission: PortalPermission.SHOW_CASE_DETAILS. This permission is not assigned to role Everybody by default.

Administrator permission can see all tasks/cases in the application

Normal users can only see their tasks/cases they can work on.

Administrator can see all tasks/cases in the application.

Permissions needed: IPermission.TASK_READ_ALL, IPermission.CASE_READ_ALL .

Administrator permission can interact with all workflows in the application

Normal user can update and delete workflow which created by him and can interact with workflow’s task which assigned to him.

Administrator can create, update and deletes all workflows in the application.

Other permissions

Action

Permission required

Absence

Read

IPermission.USER_READ_OWN_ABSENCES or IPermission.USER_READ_ABSENCES

Create, edit

IPermission.USER_CREATE_OWN_ABSENCE or IPermission.USER_CREATE_ABSENCE

Delete

IPermission.USER_DELETE_OWN_ABSENCE or IPermission.USER_DELETE_ABSENCE

Read, add, delete absences of all users

IPermission.USER_CREATE_ABSENCE and IPermission.USER_DELETE_ABSENCE and IPermission.USER_READ_ABSENCES

Substitute

Manage substitute

IPermission.USER_CREATE_SUBSTITUTE and IPermission.USER_READ_SUBSTITUTES

Document

Upload, delete

IPermission.DOCUMENT_WRITE or IPermission.DOCUMENT_OF_INVOLVED_CASE_WRITE

Express

Create Express workflow

PortalPermission.EXPRESS_CREATE_WORKFLOW (assigned to role Everybody by default)

Statistics

Add dashboard

PortalPermission.STATISTIC_ADD_DASHBOARD_CHART (assigned to role Everybody by default)

Analyze, filter tasks and export data to excel for advanced analysis

PortalPermission.STATISTIC_ANALYZE_TASK

Portal permission

Access to full process list, it’s “Processes” on the left menu and link “Show all processes” on Dashboard

PortalPermission.ACCESS_FULL_PROCESS_LIST

Access to full task list, it’s “Tasks” on the left menu and link “Show full task list” on Dashboard

PortalPermission.ACCESS_FULL_TASK_LIST

Access to full case list, it’s “Cases” on the left menu

PortalPermission.ACCESS_FULL_CASE_LIST

Access to statistic, it’s “Statistics” on the left menu and link “Show all charts” on Dashboard

PortalPermission.ACCESS_FULL_STATISTICS_LIST

Add note to task/case

PortalPermission.TASK_CASE_ADD_NOTE

Display show more note

PortalPermission.TASK_CASE_SHOW_MORE_NOTE

Create public external link, all other users can see that link in full process list and can also add it to User Favorite

PortalPermission.CREATE_PUBLIC_EXTERNAL_LINK

Virus Scanning Setting

PrimeFaces is delivered with one implementation of that interface that uses VirusTotal. To enable VirusTotal you need to create a community account at the VirusTotal website. You receive an API key once you have an account. To configure the API key add the following snippet to the configuration/web.xml file:

<context-param>
<param-name>primefaces.virusscan.VIRUSTOTAL_KEY</param-name>
<param-value>PUT YOUR API KEY HERE</param-value>
</context-param>

By default after configured context-param in the web XML file, the Virus Scanning is disabled. You could update the value of the variable ENABLE_VIRUS_SCANNER_FOR_UPLOADED_DOCUMENT to true in portal_settings_config.properties that you want to enable.

Reference: How to check if uploaded files contain a virus.

Global variables

Variable

Default value

Description

PortalStartTimeCleanObsoletedDataExpression

0 0 6 * * ?

Cron expression define the time to clean up data of obsoleted users. E.g.: expression for at 6AM every day is 0 0 6 * * ? . Refer to crontrigger . Restart Ivy engine after changing this variable.

PortalDeleteAllFinishedHiddenCases

false

If set to true, the cron job runs daily (at 6.AM as default) will clean all finished hidden cases in engine. Otherwise, just hidden cases which were generated by Portal will be deleted.

PortalGroupId

ch.ivyteam. ivy.project .portal

Maven group id of Portal.

PortalHiddenTaskCaseExcluded

true

By default, Portal will query tasks and cases which don’t have hide information. Set it to false, portal will ignore this additional property.

PortalLoginPageDisplay

true

By default, Portal will redirect to Login Page if login is required and user is unknown. Set it to false to redirect to login error page and hide Logout in User menu when you are using external authentication and the user is not created in your application user list.