Skip to main content

2021.1

· 38 min read

The 2021.1 release of the Thinkwise Platform features a lot of improvements and additions, and over 50 feature requests and issues have been addressed. The most important changes are listed in this post.

Table of contents


Upgrade notes

SQL Server and .NET Framework support

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

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

Upgrading from 2020.1 or earlier

If you're upgrading from version 2020.1 or earlier, it is required to upload all image and report files to the database once. More information about uploading images and reports can be found here: Images and reports should be uploaded

Upgrade validations

An option to approve or disapprove translations has been added. To avoid a lot of work after the upgrade because translations are disapproved, all existing translations will be approved once during the upgrade. An upgrade validation has been added to point this out. This can be approved after which it disappears.


Breaking changes

⚠ The two breaking changes as announced in the following two paragraphs will result in almost all tables being affected during the upgrade, which causes a large amount of data that must be transferred. The duration of the upgrade therefore scales linearly with the number of project versions. Before upgrading, it is advisable to first assess which project versions should actually be retained and delete obsolete projects and project versions.

Cube field authorization

In 2020.2 and earlier, a cube field would be available if selection on the table was allowed and the underlying column would be at least read-only in column rights. The model access type would not be taken into account. A formula cube field would always be available if selection on the table was allowed.

In 2021.1, cube fields can be individually granted. When upgrading from 2020.2, rights will be provisioned using the rules as described above. When introducing new roles or cubes, keep in mind that configuring cube field rights is now required.

Cube fields can be accessed from two locations:

  • To quickly configure cube field rights for a single role: Access Control > Roles > Tables > Cube > Cube fields
  • To quickly configure a single cube field for multiple roles: Access Control > Model Rights > Tables > Cube > Cube fields > Roles.

Behavior when it comes to column access types:

  • No column rights are required for a cube field to be available
  • A column set to hidden will not become unauthorized when the same role grants a cube field based on the column.

Regarding grouping:

  • Grouping of cube fields may include cube fields that have been granted by different roles. It is not required to have the cube field that's being grouped on granted in the same role.
  • When the grouping cube field of a cube field is not authorized, it will not automatically inherit the parent grouping of the unauthorized field. For instance, when 3 cube fields are arranged in a year-quarter-month grouping, having the quarter unauthorized will not cause the month to fall back on the year grouping.

Regarding cube views:

  • A granted cube view will include cube view fields from all granted roles. It is not required to grant the cube fields and the cube view in the same role in order to have them included as cube view fields.
  • Sorting of cube view fields may include cube fields that have been granted by different roles. It is not required to have the cube view and cube field that's being sorted on in a cube view granted in the same role.

Source for generated objects

A new field named Generated by control procedure has been added to almost all objects in the model. When using the dynamic model, this new field can be used to fill the source for the objects that the meta control procedure creates, and make it responsible for these objects. This can be done by using the parameter @control_proc_id. This was already available for regular control procedures, but now also exists for meta control procedures.

The Generated by control procedure field should not be confused with the Generated checkbox. When using the Generated checkbox, the object will automatically be deleted and recreated when generating definitions. When using the Generated by control procedure field, you'll have better control on how and when the object should be recreated.


Software Factory

New

Quality Dashboard

We've added a quality dashboard. This dashboard gives an overview of the quality of all projects in the Software Factory. You'll find it under the Quality menu. To view the quality for only one project, you can open the dashboard in a tab under menu Projects - Project overview.

The overall quality is based on active versions of all non-base work projects. Branch-snapshots (for branching/merging) are excluded.

The project version quality is calculated based on:

  • Model quality: the amount of validations with unsolved messages.
  • Code quality: the control procedures that are in development and review per developer, the overall code reduction ratio and the ratio comment/code.
  • Test quality: the amount of unit tests and process tests.
  • Role quality: how well roles are used. A role should contain only 1 menu item.

Your sensitive data safer with unauthorized columns

Data security and privacy remain important aspects of everyday life and in the Thinkwise Platform. Therefore, we created a new access type: Unauthorized. It can be used for columns, task parameters and report parameters.

Let's first set out the difference between Hidden and Unauthorized. A hidden column was already available in the Software Factory. It means that the column is hidden visually from the user interface. That's quite safe already, but it some cases the data might still be approached through Indicium. Unauthorized columns on the other hand can't be approached in any way. The user interface or any API won't even know the column exists, so that's an even safer wayto protect your sensitive data.

To save you a lot of work, the Software Factory combines the Column type and Access type settings to decide whether a column has to be unauthorized. If either the Column type or the Access type are hidden, the column will automatically get Unauthorized as Effective access type. The same system applies to task and report parameters.

There are a few exceptions to these rules however. In some instances a column will never be unauthorized but only hidden because making data unauthorized would break the user interface.

For more details on when a column or parameter is set to unauthorized, see Hidden, read-only, full rights or unauthorized.

Expressions in default values

It is now possible to add expressions as default value. The default expressions can be specified for domains and be used for columns, task parameters, report parameters and process variables. A new Default value type field has been added to be able to toggle between a constant value and an expression.

Default expressions that are used for columns will be effected on the database. In other cases the expression will be executed by the GUI or Indicium.

Like the constant default values, the expressions are also used as default value within data sets.

Use existing diagram as personal diagram

Next to creating a new empty personal diagram, it is now also possible to copy an existing diagram as your new personal diagram.

Tags for domains and elements

The Tag tab page has been made visible in the Domain modeler and underlying Elements tab page.

Description in Test suite and Test step

A Description field has been added to Test suite and Test step, making it consistent with Test case.

Copying work, requirements and business processes

New tasks have been added to copy work, requirements and business processes.

The task allows the user to decide which linked items will also be copied. When an item is copied by this task the status of the new item will be set to the default status.

Requirements and design items containing an open discussion

A prefilter Contains unresolved comments has been added to the Requirement, Work and Business process screens.

Estimations are added to the requirements and design

It is now possible to add effort to work. Under menu Specification - Work overview you can add hours to the new fields Original estimated, Remaining and Completed.

It is also possible to add estimated story points to requirements and sum the total remaining hours of linked work. T-shirt sizes are used as default, but these values are editable. Under menu Specification - Requirement overview you'll find the new fields Story points and Total remaining hours.

The total remaining hours and total story points are also visible within the linked iteration (menu Specification - Iterations).

Possibility to add relationship between work items

It is now possible to configure arbitrary relationships between work items.

The types of relationships can be configured. By default, a handful of relationship types are shipped with the Software Factory.

In all overviews containing work, when work is selected the number of linked work items will be shown on the tab page as a badge. Linked work will show up in both the linking and linked work here. The description can be directional if the reverse description is filled in the work relationship type.

When adding a new relationship, the user is presented with a list that contains both directions.

Work description HTML editor

Work description now uses an HTML editor to display rich text. This creates more options to format the text as you please.

Create branch of branch

It is now possible to create a branch of another branch, to support more advanced development workflows.

Flag icon for languages in the model

You can now set-up what flag you want to use for a language in the model. This can be done in the advanced menu: Master data - Model - Application languages

When a flag of the application language is changed or omitted, while there are already other applications with this language synchronized with IAM, an application under IAM could report two languages, with different flags for one application. To prevent this, only the last known synchronized language and its flag are shown.

AWS S3 filestorage support

File storage support for AWS S3 (Amazon Web Services, Simple Storage Service) has been added. The bucket name, region, access key and secret can be configured with the file storage.

Schedule execute merge session task

It is now possible to schedule the Execute merge session task in the screen Merging. This may be desirable, for example, if you want to merge outside working hours.

To achieve this, a new system flow is introduced which starts the scheduling task. The actual scheduling can be done in IAM.

Add select from scalar function as unit test

Subroutines of the type Function with a return value Scalar can be unit tested now.

Option to approve and disapprove translations

An option to approve or disapprove translations has been added. A reviewer can now check the translation for any spelling or grammatical errors and approve the translation or disapprove it and leave feedback. Disapproving a translation will create a validation that can be assigned to a developer.

Tab pages in Full model for parameters and process variables

The following tab pages have been added to the Full model:

  • Task parameters
  • Report parameters
  • Subroutine parameters
  • Process variables

In this way it is easy to check, for example, in which tasks the same parameter occurs. The tab pages are placed directly behind their parent tab pages:

Added conditional layout to task and report reference tasks

Conditional layout was added to the tasks to create and modify lookup references for tasks and reports, to indicate new columns that will be created in the lookup table.

AutoML features

  • Multivariate adaptive regression spline (MARS) algorithm for regression and binary classification
  • Support Vector Machine (SVM) for regression, binary classification and multiclass classification
  • An advanced caching mechanism which prevents repeating the same data preprocessing steps for each algorithm
  • Date and time feature engineering.
    • For a date(time) column new variables are added, such as day, week, month, day of the week, day of the month, quarter.
    • For a time only column, features such as hour, minute, second, am/pm.

Changed

  • Prefilters for default theme fonts - Two prefilters have been added to the Fonts screen. These prefilters show the form or grid font used in the default theme. This is useful if, for example, the default font should be used in a conditional layout. Previously the default font had to be traced manually (menu User interface - Themes), now it's directly available in every Font field's lookup. Since every platform can use a different default theme, more fonts can be shown in the prefilter.
  • Task delete empty references/indexes/prefilters - The Delete column task will now check if a reference, index or prefilter will become empty as a result of the deletion and then show the Delete empty reference/index/prefilters task popup. Before, the task popup was always shown when a column was deleted while already empty references were present.
  • Product info always available - In an upgrade, product info was only added in case of datamodel changes. However, the correct version of the database should always be available, not just the version of the database struture. Therefore, from now on the product info will always be updated (by adding an insert to the upgrade script). And since there's always an upgrade script available now, this also fixes a deployment package issue where the generation stopped if the upgrade script was missing.
  • Dynamic model location in menu - The dynamic model has been removed from the Data group and has been placed in a separate group. This is called Enrichment and is located between Access Control and Deployment.
  • Allow deployment package creation when code archive is outdated - The task to create a deployment package now only checks the archive when the option Smart upgrade is chosen. An up to date code archive is needed to be able to do a smart upgrade. For a full upgrade, this is not necessary.
  • Additional code documentation in base projects - For clarification, additional code documentation is included in base project control procedures. This can affect the impact in case of smart upgrades.
  • AutoML changes - Faster missing values imputation and faster feature selection.
  • Deployment documentation - The documentation regarding deployment to Azure and AWS has been expanded.

Fixed

  • Copying a test suite - When copying a test suite, all childs are now copied: test cases, test steps and test step checks.
  • Reserved keywords for indexes - It was not possible to create an index on the database when it contained a reserved keyword. To avoid this problem, quotes are added around the index name.
  • Delete platform task - It was not possible to delete a platform when an underlying menu or process flow was excluded. The following error message would appear: "Cannot delete this row to related Excluded menus". This is now solved by using a delete task so you can delete the platform anyway, despite the presence of an underlying child record.
  • Don't include expression columns in view from clause - When a view with creation method *meta/*auto has a reference with an expression column, the expression column will no longer be used in the Generated from clause. A validation has been created to alert you when this situation occurs.
  • Checks before synchronization - Sometimes synchronization cannot be started because a check did not succeed. For example, when the model is not (fully) validated before the synchronization. In this case, the connection popup would still be displayed. This is now prevented; when a message occurs the popup is not shown anymore.
  • Offline functionality is removed from the manifest - The offline functionality files are no longer present in the deployer manifest (Thinkwise Deployment Center).
  • Expanded validation Table does not have any reference - This validation not only just checks table references, but also task references and report references.
  • Truncation during deployment - When deploying an end product, several synchronisation procedures are executed. When one of these procedures contained more than 100,000 characters during deployment, it was automatically truncated. The check has therefore been removed from the code and has been replaced by a validation with severity warning. You can choose to solve or ignore this warning.
  • Merging: conflicts on changelog template history id - When merging, conflicts could arise on Template history id and Originated in project (version). This was unjustified and led to a lot of extra work in reviewing merge sessions. It has now been ensured that they are seen as equal.
  • Unit test will fail if results cannot be processed - If the unit test results cannot be processed, a unit test error message will appear, causing the unit test to fail.
  • Large strings in code search will no longer cause a truncate error - Entering a large string in code search was causing a truncate error. This is now fixed.
  • Usage of temporary tables with a primary key in multiple sessions - Multiple sessions can have the same local temporary table at the same time in tempdb. SQL Server solves this by saving the table names uniquely internally. However, when using a named primary key on this table that may exist in multiple sessions simultaneously, SQL Server doesn't save the PK constraint name uniquely internally. The solution is to not name the PK constraint. Therefore, we “unnamed” the named primary keys for temporary tables.
  • Character check for process variables - Invalid characters are now also checked for process variables. When a space is used in the process variable name, it will be replaced with an underscore.
  • Update icon task fix - We fixed an issue with the update icon task where the icon wouldn't update if the icon title was too long.
  • Difference analysis performance fix - A change has been made to the difference analysis task. This will lead to a significantly lower number of table locks during execution.
  • Linking multiple work items to a developer - If you wanted to link multiple work items to a developer, this was only done for 1 work item. The other work items remained unchanged. This has been fixed.
  • Translation tab pages - Where the Tile group screen did contain a Translations tab page already, this was not the case for the List bar item groups and Treeview groups. Here tab pages have now been added, too.
  • Object and type not filled when adding a unit test for a control proc - It is possible to make a unit test for a control procedure (menu Business logic - Functionality). However, the Object and Unit test type fields remained empty. This has been fixed. Now these fields are automatically derived from the control procedure's program object, type of program object and code group. When there's more than one object, you can choose from the dropdown or the look-up.
  • Wrong sequence no for new requirements/work in overviews - An issue has been fixed where the Sequence no of requirements and work was not correctly calculated. The sequence no will now be calculated correctly from the number of items within the same parent, instead of the highest sequence no in all requirements and work items.
  • The unit tests should use default values - If an input parameter for an insert trigger unit test is not set, but the corresponding column contains a default value, this value will be inserted.

Intelligent Application Manager

New

Support IAM on Universal

Using IAM in the Universal GUI is now supported. A number of screens have been optimized so that they are even better displayed in the Universal GUI.

Changed

  • Menu in Universal - The menus without rights will not be shown anymore in Universal.

Fixed

  • Length of process flow names in IAM - Process flow names were truncated in IAM because the domain was too short. It did not match the length of the domain in the Software Factory. This led to errors in the end product. The problem has been solved by making the length of the domain in IAM equal to the length in SF.

Data model changes

Data model changes for the Software Factory and IAM meta-models are listed here. This overview can be used as a reference to fix dynamic control procedures, dynamic model code or custom validations after an upgrade.

Changes Software Factory

Table changes

SF - From tableSF - To table
-merge_session_execution_log
-role_cube_field
-story_point
-work_link
-work_link_type

Column changes

SF - From tableSF - From columnSF - To tableSF - To column
ambiguous_expression-ambiguous_expressiongenerated_by_control_proc_id
appl_lang-appl_langicon
appl_lang-appl_langicon_data
automl_model-automl_modelgenerated_by_control_proc_id
automl_model_fitted-automl_model_fittedgenerated_by_control_proc_id
automl_model_predictor-automl_model_predictorgenerated_by_control_proc_id
automl_model_target-automl_model_targetgenerated_by_control_proc_id
automl_model_training_data-automl_model_training_datagenerated_by_control_proc_id
change_log-change_loggenerated_by_control_proc_id
change_log_comment-change_log_commentgenerated_by_control_proc_id
change_log_template-change_log_templategenerated_by_control_proc_id
code_file-code_filegenerated_by_control_proc_id
code_grp-code_grpgenerated_by_control_proc_id
code_grp_tag-code_grp_taggenerated_by_control_proc_id
code_search-code_searchgenerated_by_control_proc_id
code_search_result-code_search_resultgenerated_by_control_proc_id
col-coltype_of_default_value
col-coldefault_value_query
col-colgenerated_by_control_proc_id
col_data_sensitivity-col_data_sensitivitygenerated_by_control_proc_id
col_tag-col_taggenerated_by_control_proc_id
concept_abbr-concept_abbrgenerated_by_control_proc_id
conditional_layout-conditional_layoutgenerated_by_control_proc_id
conditional_layout_condition-conditional_layout_conditiongenerated_by_control_proc_id
conditional_layout_tag-conditional_layout_taggenerated_by_control_proc_id
control_proc-control_procgenerated_by_control_proc_id
control_proc_history-control_proc_historygenerated_by_control_proc_id
control_proc_log-control_proc_loggenerated_by_control_proc_id
control_proc_tag-control_proc_taggenerated_by_control_proc_id
control_proc_template-control_proc_templategenerated_by_control_proc_id
control_proc_template_history-control_proc_template_historygenerated_by_control_proc_id
cube-cubegenerated_by_control_proc_id
cube_field-cube_fieldgenerated_by_control_proc_id
cube_tag-cube_taggenerated_by_control_proc_id
cube_view-cube_viewgenerated_by_control_proc_id
cube_view_constant_line-cube_view_constant_linegenerated_by_control_proc_id
cube_view_field-cube_view_fieldgenerated_by_control_proc_id
cube_view_field_conditional_layout-cube_view_field_conditional_layoutgenerated_by_control_proc_id
cube_view_field_filter-cube_view_field_filtergenerated_by_control_proc_id
cube_view_field_total-cube_view_field_totalgenerated_by_control_proc_id
cube_view_grp-cube_view_grpgenerated_by_control_proc_id
cube_view_tag-cube_view_taggenerated_by_control_proc_id
data_set-data_setgenerated_by_control_proc_id
data_set_tab-data_set_tabgenerated_by_control_proc_id
database_file-database_filegenerated_by_control_proc_id
deployment_module-deployment_modulegenerated_by_control_proc_id
deployment_module_role-deployment_module_rolegenerated_by_control_proc_id
design_module-design_modulegenerated_by_control_proc_id
diagram-diagramgenerated_by_control_proc_id
diagram_ref-diagram_refgenerated_by_control_proc_id
diagram_ref_control_point-diagram_ref_control_pointgenerated_by_control_proc_id
diagram_tab-diagram_tabgenerated_by_control_proc_id
document-documentgenerated_by_control_proc_id
dom-domtype_of_default_value
dom-domdefault_value_query
dom-domgenerated_by_control_proc_id
dom_tag-dom_taggenerated_by_control_proc_id
drag_drop-drag_dropgenerated_by_control_proc_id
drag_drop_parmtr-drag_drop_parmtrgenerated_by_control_proc_id
elemnt-elemntgenerated_by_control_proc_id
elemnt_tag-elemnt_taggenerated_by_control_proc_id
execution_run-execution_runstart_execution_run_on
execution_run-execution_rungenerated_by_control_proc_id
execution_run_step-execution_run_stepgenerated_by_control_proc_id
extender-extendergenerated_by_control_proc_id
external_object-external_objectgenerated_by_control_proc_id
external_object_tag-external_object_taggenerated_by_control_proc_id
file_storage-file_storageaws_s3_bucket_name
file_storage-file_storageaws_region
file_storage-file_storageaws_access_key_id
file_storage-file_storageaws_secret_access_key
file_storage-file_storagegenerated_by_control_proc_id
file_storage_configuration-file_storage_configurationaws_s3_bucket_name
file_storage_configuration-file_storage_configurationaws_region
file_storage_configuration-file_storage_configurationaws_access_key_id
file_storage_configuration-file_storage_configurationaws_secret_access_key
file_storage_configuration-file_storage_configurationgenerated_by_control_proc_id
font-fontgenerated_by_control_proc_id
function_point_analysis-function_point_analysisgenerated_by_control_proc_id
function_point_analysis_function-function_point_analysis_functiongenerated_by_control_proc_id
help_index-help_indexgenerated_by_control_proc_id
indx-indxgenerated_by_control_proc_id
indx_col-indx_colgenerated_by_control_proc_id
indx_tag-indx_taggenerated_by_control_proc_id
iteration-iterationtotal_story_points
iteration-iterationtotal_remaining_hours
list_bar_grp-list_bar_grpgenerated_by_control_proc_id
list_bar_grp_tag-list_bar_grp_taggenerated_by_control_proc_id
list_bar_item-list_bar_itemgenerated_by_control_proc_id
list_bar_item_tag-list_bar_item_taggenerated_by_control_proc_id
menu-menushow_open_documents
menu-menugenerated_by_control_proc_id
merge_session-merge_sessionstart_execute_on
module_grp-module_grpgenerated_by_control_proc_id
module_grp_tag-module_grp_taggenerated_by_control_proc_id
module_item-module_itemgenerated_by_control_proc_id
module_item_tag-module_item_taggenerated_by_control_proc_id
msg-msggenerated_by_control_proc_id
msg_option-msg_optiongenerated_by_control_proc_id
object_name-object_namegenerated_by_control_proc_id
offline_code_file-offline_code_filegenerated_by_control_proc_id
platform-platformgenerated_by_control_proc_id
platform_excluded_menu-platform_excluded_menugenerated_by_control_proc_id
platform_excluded_process_flow-platform_excluded_process_flowgenerated_by_control_proc_id
post_sync_code-post_sync_codegenerated_by_control_proc_id
process-processgenerated_by_control_proc_id
process_action-process_actiongenerated_by_control_proc_id
process_action_automl_model_predictor_input_parmtr-process_action_automl_model_predictor_input_parmtrgenerated_by_control_proc_id
process_action_automl_model_target_output_parmtr-process_action_automl_model_target_output_parmtrgenerated_by_control_proc_id
process_action_col_input_parmtr-process_action_col_input_parmtrgenerated_by_control_proc_id
process_action_col_output_parmtr-process_action_col_output_parmtrgenerated_by_control_proc_id
process_action_fixed_input_parmtr-process_action_fixed_input_parmtrgenerated_by_control_proc_id
process_action_fixed_output_parmtr-process_action_fixed_output_parmtrgenerated_by_control_proc_id
process_action_report_parmtr_input_parmtr-process_action_report_parmtr_input_parmtrgenerated_by_control_proc_id
process_action_report_parmtr_output_parmtr-process_action_report_parmtr_output_parmtrgenerated_by_control_proc_id
process_action_start_report-process_action_start_reportgenerated_by_control_proc_id
process_action_start_report_variant-process_action_start_report_variantgenerated_by_control_proc_id
process_action_start_tab-process_action_start_tabgenerated_by_control_proc_id
process_action_start_tab_variant-process_action_start_tab_variantgenerated_by_control_proc_id
process_action_start_task-process_action_start_taskgenerated_by_control_proc_id
process_action_start_task_variant-process_action_start_task_variantgenerated_by_control_proc_id
process_action_tab_prefilter_input_parmtr-process_action_tab_prefilter_input_parmtrgenerated_by_control_proc_id
process_action_tag-process_action_taggenerated_by_control_proc_id
process_action_task_parmtr_input_parmtr-process_action_task_parmtr_input_parmtrgenerated_by_control_proc_id
process_action_task_parmtr_output_parmtr-process_action_task_parmtr_output_parmtrgenerated_by_control_proc_id
process_flow-process_flowapi
process_flow-process_flowapi_alias
process_flow-process_flowgenerated_by_control_proc_id
process_flow_schedule-process_flow_schedulegenerated_by_control_proc_id
process_flow_tag-process_flow_taggenerated_by_control_proc_id
process_step-process_stepgenerated_by_control_proc_id
process_step_control_point-process_step_control_pointgenerated_by_control_proc_id
process_step_tag-process_step_taggenerated_by_control_proc_id
process_tag-process_taggenerated_by_control_proc_id
process_variable-process_variabletype_of_default_value
process_variable-process_variabledefault_value_query
process_variable-process_variableprocess_property
process_variable-process_variablegenerated_by_control_proc_id
prog_object_archive-prog_object_archivegenerated_by_control_proc_id
project_vrs-project_vrsgenerated_by_control_proc_id
project_vrs_appl_lang-project_vrs_appl_langgenerated_by_control_proc_id
project_vrs_tag-project_vrs_taggenerated_by_control_proc_id
reachable_object-reachable_objectgenerated_by_control_proc_id
reachable_report-reachable_reportgenerated_by_control_proc_id
reachable_tab-reachable_tabgenerated_by_control_proc_id
reachable_task-reachable_taskgenerated_by_control_proc_id
ref-refgenerated_by_control_proc_id
ref_col-ref_colgenerated_by_control_proc_id
ref_col_tag-ref_col_taggenerated_by_control_proc_id
ref_tag-ref_taggenerated_by_control_proc_id
refresh_grp-refresh_grpgenerated_by_control_proc_id
report-reportgenerated_by_control_proc_id
report_conditional_layout-report_conditional_layoutgenerated_by_control_proc_id
report_conditional_layout_condition-report_conditional_layout_conditiongenerated_by_control_proc_id
report_conditional_layout_tag-report_conditional_layout_taggenerated_by_control_proc_id
report_parmtr-report_parmtrtype_of_default_value
report_parmtr-report_parmtrdefault_value_query
report_parmtr-report_parmtrgenerated_by_control_proc_id
report_parmtr_tag-report_parmtr_taggenerated_by_control_proc_id
report_ref-report_refgenerated_by_control_proc_id
report_ref_col-report_ref_colgenerated_by_control_proc_id
report_ref_col_tag-report_ref_col_taggenerated_by_control_proc_id
report_ref_tag-report_ref_taggenerated_by_control_proc_id
report_tag-report_taggenerated_by_control_proc_id
report_variant-report_variantgenerated_by_control_proc_id
report_variant_form-report_variant_formgenerated_by_control_proc_id
report_variant_look_up-report_variant_look_upgenerated_by_control_proc_id
report_variant_parmtr-report_variant_parmtrtype_of_default_value
report_variant_parmtr-report_variant_parmtrdefault_value_query
report_variant_parmtr-report_variant_parmtrgenerated_by_control_proc_id
report_variant_report_conditional_layout-report_variant_report_conditional_layoutgenerated_by_control_proc_id
report_variant_tag-report_variant_taggenerated_by_control_proc_id
requirement-requirementstory_point_id
requirement-requirementtotal_remaining_hours
requirement_log-requirement_logorder_no
requirement_log-requirement_logstory_point_id
role-rolegenerated_by_control_proc_id
role_col-role_colgenerated_by_control_proc_id
role_cube_view-role_cube_viewgenerated_by_control_proc_id
role_list_bar_grp-role_list_bar_grpgenerated_by_control_proc_id
role_list_bar_item-role_list_bar_itemgenerated_by_control_proc_id
role_menu-role_menugenerated_by_control_proc_id
role_module_grp-role_module_grpgenerated_by_control_proc_id
role_module_item-role_module_itemgenerated_by_control_proc_id
role_process-role_processgenerated_by_control_proc_id
role_process_flow-role_process_flowgenerated_by_control_proc_id
role_ref-role_refgenerated_by_control_proc_id
role_report-role_reportgenerated_by_control_proc_id
role_report_parmtr-role_report_parmtrgenerated_by_control_proc_id
role_subroutine-role_subroutinegenerated_by_control_proc_id
role_tab-role_tabgenerated_by_control_proc_id
role_tab_prefilter-role_tab_prefiltergenerated_by_control_proc_id
role_tab_report-role_tab_reportgenerated_by_control_proc_id
role_tab_task-role_tab_taskgenerated_by_control_proc_id
role_task-role_taskgenerated_by_control_proc_id
role_task_parmtr-role_task_parmtrgenerated_by_control_proc_id
role_tile-role_tilegenerated_by_control_proc_id
role_tile_grp-role_tile_grpgenerated_by_control_proc_id
runtime_configuration-runtime_configurationgenerated_by_control_proc_id
runtime_extended_property-runtime_extended_propertygenerated_by_control_proc_id
screen_component-screen_componentgenerated_by_control_proc_id
screen_component_property-screen_component_propertygenerated_by_control_proc_id
screen_component_tag-screen_component_taggenerated_by_control_proc_id
screen_type-screen_typehide_bread_crumb_on_main_screen
screen_type-screen_typegenerated_by_control_proc_id
screen_type_breakpoint-screen_type_breakpointgenerated_by_control_proc_id
sf_upgrade_validation_msg-sf_upgrade_validation_msggenerated_by_control_proc_id
sql_analysis_issue-sql_analysis_issuegenerated_by_control_proc_id
storage-storagegenerated_by_control_proc_id
sub_name_excluded_object-sub_name_excluded_objectgenerated_by_control_proc_id
subroutine-subroutinegenerated_by_control_proc_id
subroutineoperationsubroutineapi
subroutineoperation_aliassubroutineapi_alias
subroutine_option-subroutine_optiongenerated_by_control_proc_id
subroutine_parmtr-subroutine_parmtrgenerated_by_control_proc_id
subroutine_parmtrsubroutine_parmtr_operation_aliassubroutine_parmtrapi_alias
subroutine_return_col-subroutine_return_colgenerated_by_control_proc_id
subroutine_tag-subroutine_taggenerated_by_control_proc_id
subroutine_type-subroutine_typegenerated_by_control_proc_id
subroutine_type_option-subroutine_type_optiongenerated_by_control_proc_id
subroutine_type_option_value-subroutine_type_option_valuegenerated_by_control_proc_id
tab-tabgenerated_by_control_proc_id
tab_check_constraint-tab_check_constraintgenerated_by_control_proc_id
tab_data-tab_datagenerated_by_control_proc_id
tab_data_col-tab_data_colgenerated_by_control_proc_id
tab_page_control-tab_page_controlgenerated_by_control_proc_id
tab_prefilter-tab_prefiltergenerated_by_control_proc_id
tab_prefilter_col-tab_prefilter_colgenerated_by_control_proc_id
tab_prefilter_grp-tab_prefilter_grpgenerated_by_control_proc_id
tab_prefilter_tag-tab_prefilter_taggenerated_by_control_proc_id
tab_report-tab_reportgenerated_by_control_proc_id
tab_report_grp-tab_report_grpgenerated_by_control_proc_id
tab_report_parmtr-tab_report_parmtrgenerated_by_control_proc_id
tab_tab_drag_drop-tab_tab_drag_dropgenerated_by_control_proc_id
tab_tab_variant_drag_drop-tab_tab_variant_drag_dropgenerated_by_control_proc_id
tab_tag-tab_taggenerated_by_control_proc_id
tab_task-tab_taskgenerated_by_control_proc_id
tab_task_grp-tab_task_grpgenerated_by_control_proc_id
tab_task_parmtr-tab_task_parmtrgenerated_by_control_proc_id
tab_variant-tab_variantgenerated_by_control_proc_id
tab_variant_card_list-tab_variant_card_listgenerated_by_control_proc_id
tab_variant_col-tab_variant_coltype_of_default_value
tab_variant_col-tab_variant_coldefault_value_query
tab_variant_col-tab_variant_colgenerated_by_control_proc_id
tab_variant_conditional_layout-tab_variant_conditional_layoutgenerated_by_control_proc_id
tab_variant_cube-tab_variant_cubegenerated_by_control_proc_id
tab_variant_cube_view-tab_variant_cube_viewgenerated_by_control_proc_id
tab_variant_detail-tab_variant_detailgenerated_by_control_proc_id
tab_variant_filter-tab_variant_filtergenerated_by_control_proc_id
tab_variant_form-tab_variant_formgenerated_by_control_proc_id
tab_variant_grid-tab_variant_gridgenerated_by_control_proc_id
tab_variant_look_up-tab_variant_look_upgenerated_by_control_proc_id
tab_variant_prefilter-tab_variant_prefiltergenerated_by_control_proc_id
tab_variant_report-tab_variant_reportgenerated_by_control_proc_id
tab_variant_search-tab_variant_searchgenerated_by_control_proc_id
tab_variant_sort-tab_variant_sortgenerated_by_control_proc_id
tab_variant_tab_drag_drop-tab_variant_tab_drag_dropgenerated_by_control_proc_id
tab_variant_tab_variant_drag_drop-tab_variant_tab_variant_drag_dropgenerated_by_control_proc_id
tab_variant_tag-tab_variant_taggenerated_by_control_proc_id
tab_variant_task-tab_variant_taskgenerated_by_control_proc_id
tab_variant_tree-tab_variant_treegenerated_by_control_proc_id
tag-taggenerated_by_control_proc_id
task-taskgenerated_by_control_proc_id
task_conditional_layout-task_conditional_layoutgenerated_by_control_proc_id
task_conditional_layout_condition-task_conditional_layout_conditiongenerated_by_control_proc_id
task_conditional_layout_tag-task_conditional_layout_taggenerated_by_control_proc_id
task_parmtr-task_parmtrtype_of_default_value
task_parmtr-task_parmtrdefault_value_query
task_parmtr-task_parmtrgenerated_by_control_proc_id
task_parmtr_tag-task_parmtr_taggenerated_by_control_proc_id
task_ref-task_refgenerated_by_control_proc_id
task_ref_col-task_ref_colgenerated_by_control_proc_id
task_ref_col_tag-task_ref_col_taggenerated_by_control_proc_id
task_ref_tag-task_ref_taggenerated_by_control_proc_id
task_tag-task_taggenerated_by_control_proc_id
task_variant-task_variantgenerated_by_control_proc_id
task_variant_form-task_variant_formgenerated_by_control_proc_id
task_variant_look_up-task_variant_look_upgenerated_by_control_proc_id
task_variant_parmtr-task_variant_parmtrtype_of_default_value
task_variant_parmtr-task_variant_parmtrdefault_value_query
task_variant_parmtr-task_variant_parmtrgenerated_by_control_proc_id
task_variant_tag-task_variant_taggenerated_by_control_proc_id
task_variant_task_conditional_layout-task_variant_task_conditional_layoutgenerated_by_control_proc_id
template_prog_object_item-template_prog_object_itemgenerated_by_control_proc_id
template_prog_object_item_parmtr-template_prog_object_item_parmtrgenerated_by_control_proc_id
test_case-test_casegenerated_by_control_proc_id
test_case_control_proc-test_case_control_procgenerated_by_control_proc_id
test_case_run-test_case_rungenerated_by_control_proc_id
test_msg-test_msggenerated_by_control_proc_id
test_run-test_rungenerated_by_control_proc_id
test_step-test_steptest_step_description
test_step-test_stepgenerated_by_control_proc_id
test_step_check-test_step_checkgenerated_by_control_proc_id
test_step_result-test_step_resultgenerated_by_control_proc_id
test_step_run-test_step_rungenerated_by_control_proc_id
test_suite-test_suitetest_suite_description
test_suite-test_suitegenerated_by_control_proc_id
theme-themegenerated_by_control_proc_id
theme_tag-theme_taggenerated_by_control_proc_id
tile-tilegenerated_by_control_proc_id
tile_grp-tile_grpgenerated_by_control_proc_id
tile_grp_tag-tile_grp_taggenerated_by_control_proc_id
tile_tag-tile_taggenerated_by_control_proc_id
transl_object-transl_objectgenerated_by_control_proc_id
transl_objectuniversal_transltransl_object-
transl_object_transl-transl_object_translfeedback
transl_object_transl-transl_object_translgenerated_by_control_proc_id
unit_test-unit_testgenerated_by_control_proc_id
unit_test_col_filter-unit_test_col_filtergenerated_by_control_proc_id
unit_test_col_input-unit_test_col_inputgenerated_by_control_proc_id
unit_test_col_output-unit_test_col_outputgenerated_by_control_proc_id
unit_test_col_type-unit_test_col_typegenerated_by_control_proc_id
unit_test_data_set-unit_test_data_setgenerated_by_control_proc_id
unit_test_fixed_parmtr_input-unit_test_fixed_parmtr_inputgenerated_by_control_proc_id
unit_test_fixed_parmtr_output-unit_test_fixed_parmtr_outputgenerated_by_control_proc_id
unit_test_msg-unit_test_msggenerated_by_control_proc_id
unit_test_process_step_input-unit_test_process_step_inputgenerated_by_control_proc_id
unit_test_process_step_output-unit_test_process_step_outputgenerated_by_control_proc_id
unit_test_process_variable_input-unit_test_process_variable_inputgenerated_by_control_proc_id
unit_test_process_variable_output-unit_test_process_variable_outputgenerated_by_control_proc_id
unit_test_ref_output-unit_test_ref_outputgenerated_by_control_proc_id
unit_test_report_parmtr_input-unit_test_report_parmtr_inputgenerated_by_control_proc_id
unit_test_report_parmtr_output-unit_test_report_parmtr_outputgenerated_by_control_proc_id
unit_test_report_parmtr_type-unit_test_report_parmtr_typegenerated_by_control_proc_id
unit_test_result-unit_test_resultgenerated_by_control_proc_id
unit_test_result_assertion-unit_test_result_assertiongenerated_by_control_proc_id
unit_test_result_mismatch-unit_test_result_mismatchgenerated_by_control_proc_id
unit_test_result_msg-unit_test_result_msggenerated_by_control_proc_id
unit_test_result_parmtr-unit_test_result_parmtrgenerated_by_control_proc_id
unit_test_result_parmtr_type-unit_test_result_parmtr_typegenerated_by_control_proc_id
unit_test_subroutine_parmtr_input-unit_test_subroutine_parmtr_inputgenerated_by_control_proc_id
unit_test_subroutine_parmtr_output-unit_test_subroutine_parmtr_outputgenerated_by_control_proc_id
unit_test_tab_report_output-unit_test_tab_report_outputgenerated_by_control_proc_id
unit_test_tab_task_output-unit_test_tab_task_outputgenerated_by_control_proc_id
unit_test_task_parmtr_input-unit_test_task_parmtr_inputgenerated_by_control_proc_id
unit_test_task_parmtr_output-unit_test_task_parmtr_outputgenerated_by_control_proc_id
unit_test_task_parmtr_type-unit_test_task_parmtr_typegenerated_by_control_proc_id
usr_role_simulation-usr_role_simulationgenerated_by_control_proc_id
usr_runtime_configuration-usr_runtime_configurationgenerated_by_control_proc_id
validation-validationgenerated_by_control_proc_id
validation_grp-validation_grpgenerated_by_control_proc_id
validation_log-validation_loggenerated_by_control_proc_id
validation_modeler-validation_modelergenerated_by_control_proc_id
validation_msg_approved-validation_msg_approvedgenerated_by_control_proc_id
validation_msg_approved_project_vrs-validation_msg_approved_project_vrsgenerated_by_control_proc_id
validation_msg_assigned-validation_msg_assignedgenerated_by_control_proc_id
work-workoriginal_estimated_hours
work-workremaining_hours
work-workcompleted_hours
work_log-work_logorder_no
work_log-work_logoriginal_estimated_hours
work_log-work_logremaining_hours
work_log-work_logcompleted_hours

Changes Intelligent Application Manager

Table changes

IAM - From tableIAM - To table
role_cube_field

Column changes

IAM - From tableIAM - From columnIAM - To tableIAM - To column
appl_lang-appl_langicon
appl_lang-appl_langicon_data
col-coltype_of_default_value
col-coldefault_value_query
iam_file_storage-iam_file_storageaws_s3_bucket_name
iam_file_storage-iam_file_storageaws_region
iam_file_storage-iam_file_storageaws_access_key_id
iam_file_storage-iam_file_storageaws_secret_access_key
list_bar_item-list_bar_itemshow_open_documents
menu-menushow_open_documents
module_grp-module_grpshow_open_documents
process_variable-process_variabletype_of_default_value
process_variable-process_variabledefault_value_query
process_variable-process_variableprocess_property
ref-reftransl_tab_id
ref-reftransl_col_id
report_parmtr-report_parmtrtype_of_default_value
report_parmtr-report_parmtrdefault_value_query
report_ref-report_reftransl_tab_id
report_ref-report_reftransl_col_id
report_variant_parmtr-report_variant_parmtrtype_of_default_value
report_variant_parmtr-report_variant_parmtrdefault_value_query
screen_type-screen_typehide_bread_crumb_on_main_screen
sf_file_storage-sf_file_storageaws_s3_bucket_name
sf_file_storage-sf_file_storageaws_region
sf_file_storage-sf_file_storageaws_access_key_id
sf_file_storage-sf_file_storageaws_secret_access_key
sf_process_flow-sf_process_flowapi
sf_process_flow-sf_process_flowapi_alias
subroutineoperationsubroutineapi
subroutineoperation_aliassubroutineapi_alias
subroutine_parmtrsubroutine_parmtr_operation_aliassubroutine_parmtrapi_alias
tab_variant_col-tab_variant_coltype_of_default_value
tab_variant_col-tab_variant_coldefault_value_query
task_parmtr-task_parmtrtype_of_default_value
task_parmtr-task_parmtrdefault_value_query
task_ref-task_reftransl_tab_id
task_ref-task_reftransl_col_id
task_variant_parmtr-task_variant_parmtrtype_of_default_value
task_variant_parmtr-task_variant_parmtrdefault_value_query
transluniversal_transltransl-