Skip to main content

2019.2

ยท 18 min read

The 2019.2 release of the Thinkwise Platform features a lot of improvements and additions, and over 70 feature requests and issues have been addressed. The most important changes are listed in this post. A complete list of all changes can be found in the Thinkwise Community Portal.

Upgrade notes

SQL Server and .NET Framework support

No changes were made here, so the required SQL Server and .NET Framework support remain the same as in the 2019.1 version.

  • The Software Factory development environment and the Intelligent Application Manager require SQL Server 2012 or higher.
  • This also applies to the Windows and Web userinterfaces, which additionally need version 4.7 of the .NET Framework (4.7.2 is advised for Web).
  • The Indicium application tier requires SQL Server 2012 or higher, .NET 4.7.2 and .NET Core 2.1.5.

For more information about supported technologies, see the Thinkwise Lifecycle Policy.

Support for multilingual data

The datatype of first name, surname, name and email adress are changed from varchar to nvarchar to support multilingual names. This change may affect custom interfaces with IAM. Keep in mind to check and/or test interfaces after a Thinkwise Platform upgrade.


Projects

Requirements and Design 3.0

Requirements & Design got a massive overhaul. A couple of highlights:

  • User requirements are formally changed to a process overview
  • An overview is added to categorize requirements and work into features
  • An overview is added to categorize requirements and work into iterations
  • Requirements can be placed anywhere in these views and are categorized into various types
  • Design specifications are split into either requirements or work
  • Logging and tracing is added without the need to create baselines
  • All specifications and work reside outside of the project versions

Business processes

Unit testing and Mock data

Unit testing now supports processes and tasks. Data sets can be selected as mock data for the unit test. The mock data can be created in the Data sets screen. In this screen tables can be chosen to be mocked, and rows can be filled as test data.

Unit test mock data

It is now also possible to use an Assertion query to check the unit test results for expected outcome.

Unit test assertions


Software Factory

New

Tags in modelers

Tags are now visible in the modelers for tables, columns, tasks, task parameters, reports and report parameters.

Conditional layout help text

The explanation of conditional layout can now be shown in the help, by generating translation objects for conditional layout. When the help text is filled with an explanation of the conditional layout, it will be shown in the help.

Conditional layout help text

Module authorization

This is a new feature that allows the creation of modules comprised of one or more roles, that can be deployed individually. Modules can be defined in the role moduler under the Module menu item under Access control. Roles can be added to modules by dragging and dropping them onto the modules. Once created, a module can be selected on the Synchronize to IAM or Deployment package screens. This will synchronize or deploy only the roles in the selected modules.

Module authorization

Show the number of parameters for assigned templates

When there are parameters present for assigned templates, a badge will be shown with the amount of parameters.

Mandatory exclusive prefilter groups

Exclusive prefilter groups can now be marked as mandatory. One prefilter within this prefilter group must be enabled in order to see data. The user cannot turn off the active prefilter manually and can only activate a different prefilter instead.

Mandatory exclusive prefilter groups

Exclusive prefilter groups have also been improved:

  • When a locked/hidden prefilter is active, other regular prefilters will be turned off and locked or hidden.
  • When multiple locked/hidden prefilters are active, no data will be returned.
  • When multiple regular prefilters are active, only the first prefilter will be activated (based on the order number)

It is possible that the user adds a record that is not present within the current mandatory exclusive prefilter group selection. The GUI will then not change the currently activated mandatory exclusive prefilters. The GUI is not yet able to determine which one of the available mandatory exclusive prefilters should be activated to find the record. This will be added in a future release. Keep this in mind when designing process flows that assume the record is selected after adding or updating the record.

Cubes in menu

Based on feedback from our users, we dediced to reintroduce the cube modeler in the menu. The screen is placed on its old place in User Interface.

Validation and review assignments tab page

An Assignments tab page is added in the Validations and Code review screen. Here the statistics are shown of how many validations or code reviews are assigned to a developer.

Validations assignments tab page

Change path to UNIX format

UNIX format is now supported for the task to change a path.

Create task to claim a code review

A task is added to the Code review screen to claim a changelog as reviewer. It is also possible to appoint a reviewer other than yourself.

Universal Theme

A new type of theme is introduced for Universal applications. This theme is very lean and easy to use.

Universal Themes can start dark or light. Users are then able to switch from the default to the other style. Therefore background picture, main color, accent color and warn color is set for both Dark theme and Light theme.

Universal theme

Universal Theme - Conditional layout

The definition of conditional layouts is extended to support colors for Universal. For Universal applications, it is no longer possible to set a complete font. It is only possible to modify the color, bold or italic of the font. This makes it easier to create a uniform application with the same font face and font size.
A user can choose between the Light theme or the Dark theme.

Universal theme - Conditional layout

New icons in SF

The Software Factory has got a new look by replacing all used icons for new SVG icons. These icons are in the Material style to better suit the Universal GUI in the future.

New icon set in SF

Validations

We have added the following validations to help you further improve the quality of your applications:

  • Thinkwise concepts
    • The default main, detail or popup screen type is empty
    • Dark/light theme picture is outside the project folder
  • Datamodel
    • Domain length is smaller than the scale
    • Primary key column is a file storage column
  • GUI definitions
    • The look-up chain is circular
    • The cardinality of the look-up is invalid
    • Mandatory prefilter group does not have a main/detail/look-up subject prefilter active by default/by default in a variant
    • Table with a prefilter/task/report uses a main/detail screen type without the corresponding component
  • Process flows
    • Combined length of process flow and process action is too long (may not exceed the maximum length of 120 characters)
    • Process action tries to activate or zoom in on an unreachable detail
  • Performance
    • HTML or RTF column in variant is used for default sorting
    • HTML or RTF column with default/layout/context input/output is not used in corresponding logic
  • Logic layer
    • Unit test failed
    • Unit test is not executed
    • Unit test is not linked to a control procedure
  • Access control
    • All process actions are available, but the process flow is not granted
    • API subroutine/List bar item/Process flow/Report/Table/Task/Tile/Treeview item is not assigned to a role
    • Exclusive prefilters group with data authorization prefilter
    • Module has no assigned roles
    • Process flow is granted, but not all process actions are available
    • Report is available and granted, but no visible parameters are available or granted
    • Role contains multiple menu items
    • Role is not assigned to any objects
    • Table selection is granted, but no visible columns are editable or read only
    • Task is available and granted, but no visible parameters are available or granted

Changed

  • Longer processflow name possible - Processflow names can now be 100 characters long instead of 50. What is important to keep in mind is that the combined length of the process flow and process action may not exceed the maximum length of 120 characters. We have also added a validation to check this.
  • Push code changes directly to the changelog - While a control procedure status is equal to Ready for review, all changes made to the code will now be pushed directly to the changelog and a changelog comment will be added as an update message.
  • Restrictions on role names in SF - Illegal characters in role names are replaced by an underscore (_) because these characters cause problems when the roles are effectuated on the database.
  • Linked base project version for branches - When deleting a branch also delete the linked base project version if it is not used by other branches.
  • Data conversion - identity seed - The identity seed in a table will now always remain the same, or will be set to a higher value, after an upgrade of the table on the SQL Server database platform. This prevents identity values of deleted rows from being reused. This could occur when a record with the highest identity value was deleted before the upgrade.
  • Validations - Changed the following validations:
    • HTML or RTF column in variant is visible in the grid - The validation has been adjusted so that it checks whether the basis is stricter than in the variant. This means that if the column is hidden in the main table, but regular in the variant, it will not be a result in the validation. After all, the column will not be shown in the GUI.
    • Accessible task has no icon (drag & drop) - The validation that a accesible task has no icon, will no longer look for drag & drop tasks. These are automatically hidden by the GUI.

Fixed

  • New project versions now contain the last code history - The last code history will now be copied to the new project version with the copy project version task.
  • Performance validation drag-drop link enabled - Improved the performance of the validation which checks whether a drag-drop is enabled.
  • Changed validation - Domain is not used (performance) - Fixed performance by excluding references with ref_add all_projects. These are references that are not in context of a project/project_version. They should not be present in this function.
  • Rename table fix when linked to process action - When renaming a table, the reference will also be renamed. This means that the places where this reference is used also must be renamed. This is fixed for the table Process actions which uses Reference id.
  • Create cube - Table ID - When using the create cube task, the table id will now be set correctly.
  • Recreate deleted task with the same name - It is made possible again, that after deleting a task, the task can be recreated using the same name as it did before.

Intelligent Application Manager

New

Concurrent access limitations

A new feature is added to restrict the number of concurrent sessions per account. This can be set per application.

Concurrent access limitations

Current users with sessions can still use the application. Only new sessions are blocked when the maximum number of sessions is exceeded.

New icons in IAM

IAM has got a new look by replacing all used icons for new SVG icons. These icons are in the Material style to better suit the Universal GUI in the future.

New icon set in IAM

Grouped tab pages for Applications

The Preferences and Effective rights tab pages in the Applications screen are now grouped tab pages. Both show a Group tab page (new for Effective rights) and a User tab page (new for Preferences).

Grouped tab pages

Changed

  • Show newest project version first - In the combo of the task to copy applications, the list of project versions is sorted based on the newest version first.
  • Enlarged log fields - The maximum capacity of log fields has changed from 1000 to 4000, so changes on users with long first names, last names, etc can be correctly facilitated.
  • IAM Sync dates - IAM now tracks deployment date and deployment package creation date seperately for project versions.
  • Replaced icons in IAM - The Intelligent Application Manager has got a new look by replacing all used icons for new SVG icons. These icons are in the Material style to better suit the Universal GUI in the future.

Fixed

  • Custom prefilters and status issues resolved - Issues regarding table prefilter status in IAM are resolved, as well as conversion errors while modifying custom user prefilters.
  • Task to set theme (at group preferences) - The task Set theme (at group preferences) would give an error when the application supports more than one platform. This error is fixed to support multiple platforms as well.

Data model changes

Changes Software Factory

Table changes

SF - From tableSF - To table
-acceptance_status
-business_process
-business_process_diagram_link
-business_process_diagram_link_control_point
-business_process_diagram_node
-business_process_html
-business_process_tag
-data_set
-data_set_tab
-deployment_module
-deployment_module_role
-feature
-feature_tag
-forbidden_word
-iteration
-iteration_tag
-process_flow_schedule
-report_parmtr_tag
-requirement
-requirement_attachment
-requirement_comment
-requirement_log
-requirement_tag
-specification_status
-tab_data
-tab_data_col
-task_parmtr_tag
-unit_test_data_set
-unit_test_process_step_input
-unit_test_process_step_output
-unit_test_process_variable_input
-unit_test_process_variable_output
-unit_test_result_assertion
-unit_test_result_mismatch
-work
-work_attachment
-work_log
-work_status
-work_tag
role_platform-
unit_test_preparation-

Column changes

SF - From tableSF - From columnSF - To tableSF - To column
conditional_layout-conditional_layoutbackground_type
conditional_layout-conditional_layoutbackground_color_light
conditional_layout-conditional_layoutbackground_color_dark
conditional_layout-conditional_layoutfont_color_light
conditional_layout-conditional_layoutfont_color_dark
conditional_layout-conditional_layoutbold
conditional_layout-conditional_layoutitalic
design_module-design_modulefeature_id
design_spec-design_specwork_id
report_conditional_layout-report_conditional_layoutbackground_type
report_conditional_layout-report_conditional_layoutbackground_color_light
report_conditional_layout-report_conditional_layoutbackground_color_dark
report_conditional_layout-report_conditional_layoutfont_color_light
report_conditional_layout-report_conditional_layoutfont_color_dark
report_conditional_layout-report_conditional_layoutbold
report_conditional_layout-report_conditional_layoutitalic
req-reqbusiness_process_id
req-reqrequirement_id
sf_configuration-sf_configurationdefault_cmpy_name
sf_upgrade_validation_msg-sf_upgrade_validation_msgpk_hash
tab_prefilter_grp-tab_prefilter_grpmand
task_conditional_layout-task_conditional_layoutbackground_type
task_conditional_layout-task_conditional_layoutbackground_color_light
task_conditional_layout-task_conditional_layoutbackground_color_dark
task_conditional_layout-task_conditional_layoutfont_color_light
task_conditional_layout-task_conditional_layoutfont_color_dark
task_conditional_layout-task_conditional_layoutbold
task_conditional_layout-task_conditional_layoutitalic
test_runrunned_by_usertest_run-
theme-themetheme_type
theme-themeuniversal_theme_type
theme-themeuniversal_header_font
theme-themeuniversal_body_font
theme-themeuniversal_main_color_light
theme-themeuniversal_main_color_dark
theme-themeuniversal_accent_color_light
theme-themeuniversal_accent_color_dark
theme-themeuniversal_warn_color_light
theme-themeuniversal_warn_color_dark
theme-themeuniversal_background_picture_light
theme-themeuniversal_background_picture_dark
unit_test-unit_testuse_assertion_query
unit_test-unit_testassertion_query
unit_testunit_test_preparation_idunit_test-
unit_test_msgmsg_idunit_test_msgexpected_msg_id
unit_test_result_msgmsg_idunit_test_result_msgexpected_msg_id

Changes Intelligent Application Manager

Table changes

IAM - From tableIAM - To table
-appl_claim
-process_flow_schedule
-process_flow_schedule_log
-usr_pref_model_tab_prefilter_status
-usr_pref_tab_prefilter_status
role_platform-
usr_pref_tab_prefilter_status-

Column changes

IAM - From tableIAM - From columnIAM - To tableIAM - To column
conditional_layout-conditional_layoutbackground_type
conditional_layout-conditional_layoutbackground_color_light
conditional_layout-conditional_layoutbackground_color_dark
conditional_layout-conditional_layoutfont_color_light
conditional_layout-conditional_layoutfont_color_dark
conditional_layout-conditional_layoutbold
conditional_layout-conditional_layoutitalic
gui_appl-gui_applmax_concurrent_sessions_per_account
gui_appl-gui_applclaim_timeout
project_vrs-project_vrssync_date_time
project_vrslast_sync_date_timeproject_vrssync_creation_date_time
report_conditional_layout-report_conditional_layoutbackground_type
report_conditional_layout-report_conditional_layoutbackground_color_light
report_conditional_layout-report_conditional_layoutbackground_color_dark
report_conditional_layout-report_conditional_layoutfont_color_light
report_conditional_layout-report_conditional_layoutfont_color_dark
report_conditional_layout-report_conditional_layoutbold
report_conditional_layout-report_conditional_layoutitalic
tab_prefilter-tab_prefiltergrp_prefilter_mand
task_conditional_layout-task_conditional_layoutbackground_type
task_conditional_layout-task_conditional_layoutbackground_color_light
task_conditional_layout-task_conditional_layoutbackground_color_dark
task_conditional_layout-task_conditional_layoutfont_color_light
task_conditional_layout-task_conditional_layoutfont_color_dark
task_conditional_layout-task_conditional_layoutbold
task_conditional_layout-task_conditional_layoutitalic
theme-themeuniversal_theme_type
theme-themeuniversal_header_font
theme-themeuniversal_body_font
theme-themeuniversal_main_color_light
theme-themeuniversal_main_color_dark
theme-themeuniversal_accent_color_light
theme-themeuniversal_accent_color_dark
theme-themeuniversal_warn_color_light
theme-themeuniversal_warn_color_dark
theme-themeuniversal_background_picture_light
theme-themeuniversal_background_picture_dark
usr-usrgender
usr-usrprofile_picture