Installation

Installation section describes all steps, that are necessary for install and setup Portal. If you install your application first time then it’s important to start with Basic installation. It describes all initial steps that must be done for first installation. If application is already installed and initial prepared, refer to Migration notes to migrate it.

Basic installation

Project modules

The application consists of 4 process modules. For detailed information of each module, refer to Architecture.

  • PortalStyle

  • PortalKit

  • PortalTemplate

  • AxonIvyExpress

The project deployment of Ivy project are described in project deployment .

Installation

Designer

Import Portal modules to Designer.

Engine without license (demo mode)

The engine automatically deploys the Portal application with default users.

Username

Password

Description

admin

admin

This user has all Portal permissions, can access to Portal Admin Settings.

demo

demo

This user has permission to manage user absences.

guest

guest

Default normal user of portal.

Engine with license (production mode)

The engine does not deploy anything, you need to deploy and configure Portal application manually.

Migration notes

This document informs you in detail about incompatibilities that were introduced between Portal versions and tells you what needs to be done to make your existing Portal working with current Axon Ivy engine.

How to migrate

Important

If you call any Portal API which is not mentioned in the document. It could be changed or removed without inform. Don’t forget to re-implement the concerning API in your own project.

In order to migrate Portal, you need to migrate Axon Ivy, refer Axon Ivy migration notes. Changes in Axon Ivy could lead to problems if customer project is not migrated properly.

In designer

  1. Replace all Portal projects

  2. Update PortalTemplate dependency of customer project in pom.xml.

  3. If PortalStyle is customized, copy logo, customization.scss, font-faces.scss, customized stuff from old to new PortalStyle, run maven to compile CSS.

  4. Follow detailed migration notes for each version below.

  5. If customization needs copying code from Portal, merge changes between two versions of Portal for copied code.

In engine

  1. Convert database schema if needed.

  2. Redeploy Portal projects and customer project.

  3. Follow detailed migration notes for each version below.

Migrate 9.1 to 9.2

  1. Deploy MigrateData.iar project to your ivy application and run it by access link your_host/your_application/pro/MigrateData/175F92F71BC45295/startMigrateConfiguration.ivp

    If you have many applications, deploy to only one application and run it by access link your_host/your_application/pro/MigrateData/175F92F71BC45295/startMigrateConfiguration.ivp

    Example: https://portal.io/Portal/pro/MigrateData/175F92F71BC45295/startMigrateConfiguration.ivp

    Important

    Run migration process only once

  2. We remove implementation of Portal multiple applications. So that you need to adapt some points below:

    • Adapt start process signature of PasswordService in ChangePassword.mod if you overrode this callable.

    • If you are using ProcessStartCollector, replace constructor ProcessStartCollector(application) with ProcessStartCollector().

    • If you have TaskLazyDataModel, CaseLazyDataModel customization, remove setInvolvedApplications() method, setInvolvedUsername in search criteria.

  3. In PortalNavigatorInFrame.java, change the methods from non-static to static.

  4. CaseDetails component in PortalTemplate is removed.

  5. If you have TaskLazyDataModel, CaseLazyDataModel customization, follow How to override export feature of Task list and How to override export feature of Case list to customize label and value of custom columns that will be exported.

  6. Deprecated callable processes: OpenPortalSearch.mod, OpenPortalTasks.mod, OpenPortalTaskDetails.mod, OpenPortalCases.mod, OpenPortalCaseDetails.mod process.

    Portal recommends using Axon Ivy HtmlOverride wizard to customize Portal HTML Dialog

    Important

    The callable process which is supporting to open customization dialog will be removed in the future, do not use it in the new project

  7. We remove ivy-icon.css and replace current classes with new classes from Streamline icons. So that you need to update your files that are using classes in ivy-icon.css.

  8. If you have taskItemDetailCustomPanelTop, taskItemDetailCustomPanelBottom customization, follow How to override TaskItemDetail to add custom widgets.

  1. If you have caseItemDetailCustomTop or caseItemDetailCustomMiddle or caseItemDetailCustomBottom customization, follow How to override CaseItemDetail to add these custom widgets.

Migrate 8.x to 9.1

  1. Remove the views field in SubMenuItem.java. Adapt it if you overrode the LoadSubMenuItems callable process

  2. Add parameter <ui:param name="viewName" value="TASK" /> to your customized PortalTasksTemplate to displayed breadcrumb of Task list.

  3. Add parameter <ui:param name="viewName" value="CASE" /> to your customized PortalCasesTemplate to displayed breadcrumb of Case list.

  4. Ivy core enhanced the Ivy URI, so Portal needs to make a migration. Deploy PortalUrlMigration.iar project to any Ivy Application then run migratePortalUrl.ivp once and wait until it is redirected to another page without error (E.g: Homepage). It is recommended to remove it after the migration.

  5. HOMEPAGE_URL (single Portal app mode) and registered application link (multi Portal app mode) are not available anymore. To let portal know about your new portal home, you have to set default pages to your project, follow this chapter to customize standard processes: Standard Processes

  6. Portal now uses CSS Variable instead of SASS. Therefore you must convert SASS syntax to new CSS variable or use online tool such as SASS to CSS Variables to convert it.

  7. If administrator activate the ENABLE_CASE_OWNER Portal settings and there is a customized case list, customize this field to this case list, e.g. add filter, column configuration, header.

  8. From 9.1, Ivy engine use new mechanism to synchronize user data, therefore Portal must adapt some data related to users. Some data must be migrated to work properly. Please follow these steps to migrate data of your application:

    • Deploy MigrateRelatedDataOfUserTo9.iar project to your Ivy application.

    • Run migratePrivateChat.ivp to migrate private chat messages.

    • Run migrateGroupChat.ivp to migrate group chat.

    • Run migrateUserProcessesAndExternalLinks.ivp to migrate user processes and external links.

    • Run migrateExpressProcesses.ivp to migrate Express processes, please skip this step if your application does not have Express.

    • Restart Ivy engine.

  9. Use pageContent to define your section in BasicTemplate.xhtml instead of simplePageContent.

  10. TaskTemplate-7 is removed, change it to TaskTemplate-8. TaskTemplate is also removed, change it to frame-8 (provided by Ivy).

  11. The MenuKind enum has one more entry: EXTERNAL_LINK, use it if your item is an external link, and use CUSTOM if yours is an internal link.

Migrate 8.x to 9.2

You need to do all steps in Migrate 8.x to 9.1 and Migrate 9.1 to 9.2

Release notes

This part lists all relevant changes since the last official product releases of Axon Ivy.

Changes in 9.2

  • Include new TaskState such as Destroyed, Failed, Join failed and Waiting for event in Portal Task list, also in Task State filter.

  • Include new CaseState Destroyed in Portal Case list, also in Case State filter.

  • Introduce Workflow Events table, user who has permission WORKFLOW_EVENT_READ_ALL can see all WORKFLOW_EVENTS.

  • Introduce the DEFAULT_HOMEPAGE Portal setting to set the default homepage, each user can change it via user profile.

  • Introduce new approach to customize Portal Case Item details. Now, your case information in Case details page and Case Info dialog is the same

  • Introduce new approach to customize Portal Task item details.

  • Introduce new Portal Setting SHOW_BUTTON_ICON to control visibility of icon of button in Portal.

  • Introduce new global variable named PortalLoginPageDisplay to show Login page or hide it then show error page instead.

  • No multiple applications anymore, Portal now only works in current application. It means administrator can not add new Ivy application.

  • Statistic charts support multiple names for each supported languages.

  • Portal supports multilingual user favorites

  • Portal supports logos in SVG format.

Changes in 9.1

  • Refactor style customization approach. From now on, Portal use CSS Variable as technology to customize CSS.

  • Introduce the User Guide feature, using the SHOW_USER_GUIDE Portal Setting to activate/deactivate it, and follow Customize user guide for your customization.

  • Introduce new Portal Setting SHOW_BUTTON_ICON to control visibility of icon of button in Portal.

  • Introduce new Portal dialog with icon decorator. Refer to this section for more detail.

  • TaskTemplate-7, TaskTemplate and TwoColumnTemplate are removed.