2021.1
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
- Breaking changes
- Software Factory
- New
- Quality Dashboard
- Your sensitive data safer with unauthorized columns
- Expressions in default values
- Use existing diagram as personal diagram
- Tags for domains and elements
- Description in Test suite and Test step
- Copying work, requirements and business processes
- Requirements and design items containing an open discussion
- Estimations are added to the requirements and design
- Possibility to add relationship between work items
- Work description HTML editor
- Create branch of branch
- Flag icon for languages in the model
- AWS S3 filestorage support
- Schedule execute merge session task
- Add select from scalar function as unit test
- Option to approve and disapprove translations
- Tab pages in Full model for parameters and process variables
- Added conditional layout to task and report reference tasks
- AutoML features
- Changed
- Fixed
- New
- Intelligent Application Manager
- Data model changes
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 table | SF - To table |
---|---|
- | merge_session_execution_log |
- | role_cube_field |
- | story_point |
- | work_link |
- | work_link_type |
Column changes
SF - From table | SF - From column | SF - To table | SF - To column |
---|---|---|---|
ambiguous_expression | - | ambiguous_expression | generated_by_control_proc_id |
appl_lang | - | appl_lang | icon |
appl_lang | - | appl_lang | icon_data |
automl_model | - | automl_model | generated_by_control_proc_id |
automl_model_fitted | - | automl_model_fitted | generated_by_control_proc_id |
automl_model_predictor | - | automl_model_predictor | generated_by_control_proc_id |
automl_model_target | - | automl_model_target | generated_by_control_proc_id |
automl_model_training_data | - | automl_model_training_data | generated_by_control_proc_id |
change_log | - | change_log | generated_by_control_proc_id |
change_log_comment | - | change_log_comment | generated_by_control_proc_id |
change_log_template | - | change_log_template | generated_by_control_proc_id |
code_file | - | code_file | generated_by_control_proc_id |
code_grp | - | code_grp | generated_by_control_proc_id |
code_grp_tag | - | code_grp_tag | generated_by_control_proc_id |
code_search | - | code_search | generated_by_control_proc_id |
code_search_result | - | code_search_result | generated_by_control_proc_id |
col | - | col | type_of_default_value |
col | - | col | default_value_query |
col | - | col | generated_by_control_proc_id |
col_data_sensitivity | - | col_data_sensitivity | generated_by_control_proc_id |
col_tag | - | col_tag | generated_by_control_proc_id |
concept_abbr | - | concept_abbr | generated_by_control_proc_id |
conditional_layout | - | conditional_layout | generated_by_control_proc_id |
conditional_layout_condition | - | conditional_layout_condition | generated_by_control_proc_id |
conditional_layout_tag | - | conditional_layout_tag | generated_by_control_proc_id |
control_proc | - | control_proc | generated_by_control_proc_id |
control_proc_history | - | control_proc_history | generated_by_control_proc_id |
control_proc_log | - | control_proc_log | generated_by_control_proc_id |
control_proc_tag | - | control_proc_tag | generated_by_control_proc_id |
control_proc_template | - | control_proc_template | generated_by_control_proc_id |
control_proc_template_history | - | control_proc_template_history | generated_by_control_proc_id |
cube | - | cube | generated_by_control_proc_id |
cube_field | - | cube_field | generated_by_control_proc_id |
cube_tag | - | cube_tag | generated_by_control_proc_id |
cube_view | - | cube_view | generated_by_control_proc_id |
cube_view_constant_line | - | cube_view_constant_line | generated_by_control_proc_id |
cube_view_field | - | cube_view_field | generated_by_control_proc_id |
cube_view_field_conditional_layout | - | cube_view_field_conditional_layout | generated_by_control_proc_id |
cube_view_field_filter | - | cube_view_field_filter | generated_by_control_proc_id |
cube_view_field_total | - | cube_view_field_total | generated_by_control_proc_id |
cube_view_grp | - | cube_view_grp | generated_by_control_proc_id |
cube_view_tag | - | cube_view_tag | generated_by_control_proc_id |
data_set | - | data_set | generated_by_control_proc_id |
data_set_tab | - | data_set_tab | generated_by_control_proc_id |
database_file | - | database_file | generated_by_control_proc_id |
deployment_module | - | deployment_module | generated_by_control_proc_id |
deployment_module_role | - | deployment_module_role | generated_by_control_proc_id |
design_module | - | design_module | generated_by_control_proc_id |
diagram | - | diagram | generated_by_control_proc_id |
diagram_ref | - | diagram_ref | generated_by_control_proc_id |
diagram_ref_control_point | - | diagram_ref_control_point | generated_by_control_proc_id |
diagram_tab | - | diagram_tab | generated_by_control_proc_id |
document | - | document | generated_by_control_proc_id |
dom | - | dom | type_of_default_value |
dom | - | dom | default_value_query |
dom | - | dom | generated_by_control_proc_id |
dom_tag | - | dom_tag | generated_by_control_proc_id |
drag_drop | - | drag_drop | generated_by_control_proc_id |
drag_drop_parmtr | - | drag_drop_parmtr | generated_by_control_proc_id |
elemnt | - | elemnt | generated_by_control_proc_id |
elemnt_tag | - | elemnt_tag | generated_by_control_proc_id |
execution_run | - | execution_run | start_execution_run_on |
execution_run | - | execution_run | generated_by_control_proc_id |
execution_run_step | - | execution_run_step | generated_by_control_proc_id |
extender | - | extender | generated_by_control_proc_id |
external_object | - | external_object | generated_by_control_proc_id |
external_object_tag | - | external_object_tag | generated_by_control_proc_id |
file_storage | - | file_storage | aws_s3_bucket_name |
file_storage | - | file_storage | aws_region |
file_storage | - | file_storage | aws_access_key_id |
file_storage | - | file_storage | aws_secret_access_key |
file_storage | - | file_storage | generated_by_control_proc_id |
file_storage_configuration | - | file_storage_configuration | aws_s3_bucket_name |
file_storage_configuration | - | file_storage_configuration | aws_region |
file_storage_configuration | - | file_storage_configuration | aws_access_key_id |
file_storage_configuration | - | file_storage_configuration | aws_secret_access_key |
file_storage_configuration | - | file_storage_configuration | generated_by_control_proc_id |
font | - | font | generated_by_control_proc_id |
function_point_analysis | - | function_point_analysis | generated_by_control_proc_id |
function_point_analysis_function | - | function_point_analysis_function | generated_by_control_proc_id |
help_index | - | help_index | generated_by_control_proc_id |
indx | - | indx | generated_by_control_proc_id |
indx_col | - | indx_col | generated_by_control_proc_id |
indx_tag | - | indx_tag | generated_by_control_proc_id |
iteration | - | iteration | total_story_points |
iteration | - | iteration | total_remaining_hours |
list_bar_grp | - | list_bar_grp | generated_by_control_proc_id |
list_bar_grp_tag | - | list_bar_grp_tag | generated_by_control_proc_id |
list_bar_item | - | list_bar_item | generated_by_control_proc_id |
list_bar_item_tag | - | list_bar_item_tag | generated_by_control_proc_id |
menu | - | menu | show_open_documents |
menu | - | menu | generated_by_control_proc_id |
merge_session | - | merge_session | start_execute_on |
module_grp | - | module_grp | generated_by_control_proc_id |
module_grp_tag | - | module_grp_tag | generated_by_control_proc_id |
module_item | - | module_item | generated_by_control_proc_id |
module_item_tag | - | module_item_tag | generated_by_control_proc_id |
msg | - | msg | generated_by_control_proc_id |
msg_option | - | msg_option | generated_by_control_proc_id |
object_name | - | object_name | generated_by_control_proc_id |
offline_code_file | - | offline_code_file | generated_by_control_proc_id |
platform | - | platform | generated_by_control_proc_id |
platform_excluded_menu | - | platform_excluded_menu | generated_by_control_proc_id |
platform_excluded_process_flow | - | platform_excluded_process_flow | generated_by_control_proc_id |
post_sync_code | - | post_sync_code | generated_by_control_proc_id |
process | - | process | generated_by_control_proc_id |
process_action | - | process_action | generated_by_control_proc_id |
process_action_automl_model_predictor_input_parmtr | - | process_action_automl_model_predictor_input_parmtr | generated_by_control_proc_id |
process_action_automl_model_target_output_parmtr | - | process_action_automl_model_target_output_parmtr | generated_by_control_proc_id |
process_action_col_input_parmtr | - | process_action_col_input_parmtr | generated_by_control_proc_id |
process_action_col_output_parmtr | - | process_action_col_output_parmtr | generated_by_control_proc_id |
process_action_fixed_input_parmtr | - | process_action_fixed_input_parmtr | generated_by_control_proc_id |
process_action_fixed_output_parmtr | - | process_action_fixed_output_parmtr | generated_by_control_proc_id |
process_action_report_parmtr_input_parmtr | - | process_action_report_parmtr_input_parmtr | generated_by_control_proc_id |
process_action_report_parmtr_output_parmtr | - | process_action_report_parmtr_output_parmtr | generated_by_control_proc_id |
process_action_start_report | - | process_action_start_report | generated_by_control_proc_id |
process_action_start_report_variant | - | process_action_start_report_variant | generated_by_control_proc_id |
process_action_start_tab | - | process_action_start_tab | generated_by_control_proc_id |
process_action_start_tab_variant | - | process_action_start_tab_variant | generated_by_control_proc_id |
process_action_start_task | - | process_action_start_task | generated_by_control_proc_id |
process_action_start_task_variant | - | process_action_start_task_variant | generated_by_control_proc_id |
process_action_tab_prefilter_input_parmtr | - | process_action_tab_prefilter_input_parmtr | generated_by_control_proc_id |
process_action_tag | - | process_action_tag | generated_by_control_proc_id |
process_action_task_parmtr_input_parmtr | - | process_action_task_parmtr_input_parmtr | generated_by_control_proc_id |
process_action_task_parmtr_output_parmtr | - | process_action_task_parmtr_output_parmtr | generated_by_control_proc_id |
process_flow | - | process_flow | api |
process_flow | - | process_flow | api_alias |
process_flow | - | process_flow | generated_by_control_proc_id |
process_flow_schedule | - | process_flow_schedule | generated_by_control_proc_id |
process_flow_tag | - | process_flow_tag | generated_by_control_proc_id |
process_step | - | process_step | generated_by_control_proc_id |
process_step_control_point | - | process_step_control_point | generated_by_control_proc_id |
process_step_tag | - | process_step_tag | generated_by_control_proc_id |
process_tag | - | process_tag | generated_by_control_proc_id |
process_variable | - | process_variable | type_of_default_value |
process_variable | - | process_variable | default_value_query |
process_variable | - | process_variable | process_property |
process_variable | - | process_variable | generated_by_control_proc_id |
prog_object_archive | - | prog_object_archive | generated_by_control_proc_id |
project_vrs | - | project_vrs | generated_by_control_proc_id |
project_vrs_appl_lang | - | project_vrs_appl_lang | generated_by_control_proc_id |
project_vrs_tag | - | project_vrs_tag | generated_by_control_proc_id |
reachable_object | - | reachable_object | generated_by_control_proc_id |
reachable_report | - | reachable_report | generated_by_control_proc_id |
reachable_tab | - | reachable_tab | generated_by_control_proc_id |
reachable_task | - | reachable_task | generated_by_control_proc_id |
ref | - | ref | generated_by_control_proc_id |
ref_col | - | ref_col | generated_by_control_proc_id |
ref_col_tag | - | ref_col_tag | generated_by_control_proc_id |
ref_tag | - | ref_tag | generated_by_control_proc_id |
refresh_grp | - | refresh_grp | generated_by_control_proc_id |
report | - | report | generated_by_control_proc_id |
report_conditional_layout | - | report_conditional_layout | generated_by_control_proc_id |
report_conditional_layout_condition | - | report_conditional_layout_condition | generated_by_control_proc_id |
report_conditional_layout_tag | - | report_conditional_layout_tag | generated_by_control_proc_id |
report_parmtr | - | report_parmtr | type_of_default_value |
report_parmtr | - | report_parmtr | default_value_query |
report_parmtr | - | report_parmtr | generated_by_control_proc_id |
report_parmtr_tag | - | report_parmtr_tag | generated_by_control_proc_id |
report_ref | - | report_ref | generated_by_control_proc_id |
report_ref_col | - | report_ref_col | generated_by_control_proc_id |
report_ref_col_tag | - | report_ref_col_tag | generated_by_control_proc_id |
report_ref_tag | - | report_ref_tag | generated_by_control_proc_id |
report_tag | - | report_tag | generated_by_control_proc_id |
report_variant | - | report_variant | generated_by_control_proc_id |
report_variant_form | - | report_variant_form | generated_by_control_proc_id |
report_variant_look_up | - | report_variant_look_up | generated_by_control_proc_id |
report_variant_parmtr | - | report_variant_parmtr | type_of_default_value |
report_variant_parmtr | - | report_variant_parmtr | default_value_query |
report_variant_parmtr | - | report_variant_parmtr | generated_by_control_proc_id |
report_variant_report_conditional_layout | - | report_variant_report_conditional_layout | generated_by_control_proc_id |
report_variant_tag | - | report_variant_tag | generated_by_control_proc_id |
requirement | - | requirement | story_point_id |
requirement | - | requirement | total_remaining_hours |
requirement_log | - | requirement_log | order_no |
requirement_log | - | requirement_log | story_point_id |
role | - | role | generated_by_control_proc_id |
role_col | - | role_col | generated_by_control_proc_id |
role_cube_view | - | role_cube_view | generated_by_control_proc_id |
role_list_bar_grp | - | role_list_bar_grp | generated_by_control_proc_id |
role_list_bar_item | - | role_list_bar_item | generated_by_control_proc_id |
role_menu | - | role_menu | generated_by_control_proc_id |
role_module_grp | - | role_module_grp | generated_by_control_proc_id |
role_module_item | - | role_module_item | generated_by_control_proc_id |
role_process | - | role_process | generated_by_control_proc_id |
role_process_flow | - | role_process_flow | generated_by_control_proc_id |
role_ref | - | role_ref | generated_by_control_proc_id |
role_report | - | role_report | generated_by_control_proc_id |
role_report_parmtr | - | role_report_parmtr | generated_by_control_proc_id |
role_subroutine | - | role_subroutine | generated_by_control_proc_id |
role_tab | - | role_tab | generated_by_control_proc_id |
role_tab_prefilter | - | role_tab_prefilter | generated_by_control_proc_id |
role_tab_report | - | role_tab_report | generated_by_control_proc_id |
role_tab_task | - | role_tab_task | generated_by_control_proc_id |
role_task | - | role_task | generated_by_control_proc_id |
role_task_parmtr | - | role_task_parmtr | generated_by_control_proc_id |
role_tile | - | role_tile | generated_by_control_proc_id |
role_tile_grp | - | role_tile_grp | generated_by_control_proc_id |
runtime_configuration | - | runtime_configuration | generated_by_control_proc_id |
runtime_extended_property | - | runtime_extended_property | generated_by_control_proc_id |
screen_component | - | screen_component | generated_by_control_proc_id |
screen_component_property | - | screen_component_property | generated_by_control_proc_id |
screen_component_tag | - | screen_component_tag | generated_by_control_proc_id |
screen_type | - | screen_type | hide_bread_crumb_on_main_screen |
screen_type | - | screen_type | generated_by_control_proc_id |
screen_type_breakpoint | - | screen_type_breakpoint | generated_by_control_proc_id |
sf_upgrade_validation_msg | - | sf_upgrade_validation_msg | generated_by_control_proc_id |
sql_analysis_issue | - | sql_analysis_issue | generated_by_control_proc_id |
storage | - | storage | generated_by_control_proc_id |
sub_name_excluded_object | - | sub_name_excluded_object | generated_by_control_proc_id |
subroutine | - | subroutine | generated_by_control_proc_id |
subroutine | operation | subroutine | api |
subroutine | operation_alias | subroutine | api_alias |
subroutine_option | - | subroutine_option | generated_by_control_proc_id |
subroutine_parmtr | - | subroutine_parmtr | generated_by_control_proc_id |
subroutine_parmtr | subroutine_parmtr_operation_alias | subroutine_parmtr | api_alias |
subroutine_return_col | - | subroutine_return_col | generated_by_control_proc_id |
subroutine_tag | - | subroutine_tag | generated_by_control_proc_id |
subroutine_type | - | subroutine_type | generated_by_control_proc_id |
subroutine_type_option | - | subroutine_type_option | generated_by_control_proc_id |
subroutine_type_option_value | - | subroutine_type_option_value | generated_by_control_proc_id |
tab | - | tab | generated_by_control_proc_id |
tab_check_constraint | - | tab_check_constraint | generated_by_control_proc_id |
tab_data | - | tab_data | generated_by_control_proc_id |
tab_data_col | - | tab_data_col | generated_by_control_proc_id |
tab_page_control | - | tab_page_control | generated_by_control_proc_id |
tab_prefilter | - | tab_prefilter | generated_by_control_proc_id |
tab_prefilter_col | - | tab_prefilter_col | generated_by_control_proc_id |
tab_prefilter_grp | - | tab_prefilter_grp | generated_by_control_proc_id |
tab_prefilter_tag | - | tab_prefilter_tag | generated_by_control_proc_id |
tab_report | - | tab_report | generated_by_control_proc_id |
tab_report_grp | - | tab_report_grp | generated_by_control_proc_id |
tab_report_parmtr | - | tab_report_parmtr | generated_by_control_proc_id |
tab_tab_drag_drop | - | tab_tab_drag_drop | generated_by_control_proc_id |
tab_tab_variant_drag_drop | - | tab_tab_variant_drag_drop | generated_by_control_proc_id |
tab_tag | - | tab_tag | generated_by_control_proc_id |
tab_task | - | tab_task | generated_by_control_proc_id |
tab_task_grp | - | tab_task_grp | generated_by_control_proc_id |
tab_task_parmtr | - | tab_task_parmtr | generated_by_control_proc_id |
tab_variant | - | tab_variant | generated_by_control_proc_id |
tab_variant_card_list | - | tab_variant_card_list | generated_by_control_proc_id |
tab_variant_col | - | tab_variant_col | type_of_default_value |
tab_variant_col | - | tab_variant_col | default_value_query |
tab_variant_col | - | tab_variant_col | generated_by_control_proc_id |
tab_variant_conditional_layout | - | tab_variant_conditional_layout | generated_by_control_proc_id |
tab_variant_cube | - | tab_variant_cube | generated_by_control_proc_id |
tab_variant_cube_view | - | tab_variant_cube_view | generated_by_control_proc_id |
tab_variant_detail | - | tab_variant_detail | generated_by_control_proc_id |
tab_variant_filter | - | tab_variant_filter | generated_by_control_proc_id |
tab_variant_form | - | tab_variant_form | generated_by_control_proc_id |
tab_variant_grid | - | tab_variant_grid | generated_by_control_proc_id |
tab_variant_look_up | - | tab_variant_look_up | generated_by_control_proc_id |
tab_variant_prefilter | - | tab_variant_prefilter | generated_by_control_proc_id |
tab_variant_report | - | tab_variant_report | generated_by_control_proc_id |
tab_variant_search | - | tab_variant_search | generated_by_control_proc_id |
tab_variant_sort | - | tab_variant_sort | generated_by_control_proc_id |
tab_variant_tab_drag_drop | - | tab_variant_tab_drag_drop | generated_by_control_proc_id |
tab_variant_tab_variant_drag_drop | - | tab_variant_tab_variant_drag_drop | generated_by_control_proc_id |
tab_variant_tag | - | tab_variant_tag | generated_by_control_proc_id |
tab_variant_task | - | tab_variant_task | generated_by_control_proc_id |
tab_variant_tree | - | tab_variant_tree | generated_by_control_proc_id |
tag | - | tag | generated_by_control_proc_id |
task | - | task | generated_by_control_proc_id |
task_conditional_layout | - | task_conditional_layout | generated_by_control_proc_id |
task_conditional_layout_condition | - | task_conditional_layout_condition | generated_by_control_proc_id |
task_conditional_layout_tag | - | task_conditional_layout_tag | generated_by_control_proc_id |
task_parmtr | - | task_parmtr | type_of_default_value |
task_parmtr | - | task_parmtr | default_value_query |
task_parmtr | - | task_parmtr | generated_by_control_proc_id |
task_parmtr_tag | - | task_parmtr_tag | generated_by_control_proc_id |
task_ref | - | task_ref | generated_by_control_proc_id |
task_ref_col | - | task_ref_col | generated_by_control_proc_id |
task_ref_col_tag | - | task_ref_col_tag | generated_by_control_proc_id |
task_ref_tag | - | task_ref_tag | generated_by_control_proc_id |
task_tag | - | task_tag | generated_by_control_proc_id |
task_variant | - | task_variant | generated_by_control_proc_id |
task_variant_form | - | task_variant_form | generated_by_control_proc_id |
task_variant_look_up | - | task_variant_look_up | generated_by_control_proc_id |
task_variant_parmtr | - | task_variant_parmtr | type_of_default_value |
task_variant_parmtr | - | task_variant_parmtr | default_value_query |
task_variant_parmtr | - | task_variant_parmtr | generated_by_control_proc_id |
task_variant_tag | - | task_variant_tag | generated_by_control_proc_id |
task_variant_task_conditional_layout | - | task_variant_task_conditional_layout | generated_by_control_proc_id |
template_prog_object_item | - | template_prog_object_item | generated_by_control_proc_id |
template_prog_object_item_parmtr | - | template_prog_object_item_parmtr | generated_by_control_proc_id |
test_case | - | test_case | generated_by_control_proc_id |
test_case_control_proc | - | test_case_control_proc | generated_by_control_proc_id |
test_case_run | - | test_case_run | generated_by_control_proc_id |
test_msg | - | test_msg | generated_by_control_proc_id |
test_run | - | test_run | generated_by_control_proc_id |
test_step | - | test_step | test_step_description |
test_step | - | test_step | generated_by_control_proc_id |
test_step_check | - | test_step_check | generated_by_control_proc_id |
test_step_result | - | test_step_result | generated_by_control_proc_id |
test_step_run | - | test_step_run | generated_by_control_proc_id |
test_suite | - | test_suite | test_suite_description |
test_suite | - | test_suite | generated_by_control_proc_id |
theme | - | theme | generated_by_control_proc_id |
theme_tag | - | theme_tag | generated_by_control_proc_id |
tile | - | tile | generated_by_control_proc_id |
tile_grp | - | tile_grp | generated_by_control_proc_id |
tile_grp_tag | - | tile_grp_tag | generated_by_control_proc_id |
tile_tag | - | tile_tag | generated_by_control_proc_id |
transl_object | - | transl_object | generated_by_control_proc_id |
transl_object | universal_transl | transl_object | - |
transl_object_transl | - | transl_object_transl | feedback |
transl_object_transl | - | transl_object_transl | generated_by_control_proc_id |
unit_test | - | unit_test | generated_by_control_proc_id |
unit_test_col_filter | - | unit_test_col_filter | generated_by_control_proc_id |
unit_test_col_input | - | unit_test_col_input | generated_by_control_proc_id |
unit_test_col_output | - | unit_test_col_output | generated_by_control_proc_id |
unit_test_col_type | - | unit_test_col_type | generated_by_control_proc_id |
unit_test_data_set | - | unit_test_data_set | generated_by_control_proc_id |
unit_test_fixed_parmtr_input | - | unit_test_fixed_parmtr_input | generated_by_control_proc_id |
unit_test_fixed_parmtr_output | - | unit_test_fixed_parmtr_output | generated_by_control_proc_id |
unit_test_msg | - | unit_test_msg | generated_by_control_proc_id |
unit_test_process_step_input | - | unit_test_process_step_input | generated_by_control_proc_id |
unit_test_process_step_output | - | unit_test_process_step_output | generated_by_control_proc_id |
unit_test_process_variable_input | - | unit_test_process_variable_input | generated_by_control_proc_id |
unit_test_process_variable_output | - | unit_test_process_variable_output | generated_by_control_proc_id |
unit_test_ref_output | - | unit_test_ref_output | generated_by_control_proc_id |
unit_test_report_parmtr_input | - | unit_test_report_parmtr_input | generated_by_control_proc_id |
unit_test_report_parmtr_output | - | unit_test_report_parmtr_output | generated_by_control_proc_id |
unit_test_report_parmtr_type | - | unit_test_report_parmtr_type | generated_by_control_proc_id |
unit_test_result | - | unit_test_result | generated_by_control_proc_id |
unit_test_result_assertion | - | unit_test_result_assertion | generated_by_control_proc_id |
unit_test_result_mismatch | - | unit_test_result_mismatch | generated_by_control_proc_id |
unit_test_result_msg | - | unit_test_result_msg | generated_by_control_proc_id |
unit_test_result_parmtr | - | unit_test_result_parmtr | generated_by_control_proc_id |
unit_test_result_parmtr_type | - | unit_test_result_parmtr_type | generated_by_control_proc_id |
unit_test_subroutine_parmtr_input | - | unit_test_subroutine_parmtr_input | generated_by_control_proc_id |
unit_test_subroutine_parmtr_output | - | unit_test_subroutine_parmtr_output | generated_by_control_proc_id |
unit_test_tab_report_output | - | unit_test_tab_report_output | generated_by_control_proc_id |
unit_test_tab_task_output | - | unit_test_tab_task_output | generated_by_control_proc_id |
unit_test_task_parmtr_input | - | unit_test_task_parmtr_input | generated_by_control_proc_id |
unit_test_task_parmtr_output | - | unit_test_task_parmtr_output | generated_by_control_proc_id |
unit_test_task_parmtr_type | - | unit_test_task_parmtr_type | generated_by_control_proc_id |
usr_role_simulation | - | usr_role_simulation | generated_by_control_proc_id |
usr_runtime_configuration | - | usr_runtime_configuration | generated_by_control_proc_id |
validation | - | validation | generated_by_control_proc_id |
validation_grp | - | validation_grp | generated_by_control_proc_id |
validation_log | - | validation_log | generated_by_control_proc_id |
validation_modeler | - | validation_modeler | generated_by_control_proc_id |
validation_msg_approved | - | validation_msg_approved | generated_by_control_proc_id |
validation_msg_approved_project_vrs | - | validation_msg_approved_project_vrs | generated_by_control_proc_id |
validation_msg_assigned | - | validation_msg_assigned | generated_by_control_proc_id |
work | - | work | original_estimated_hours |
work | - | work | remaining_hours |
work | - | work | completed_hours |
work_log | - | work_log | order_no |
work_log | - | work_log | original_estimated_hours |
work_log | - | work_log | remaining_hours |
work_log | - | work_log | completed_hours |
Changes Intelligent Application Manager
Table changes
IAM - From table | IAM - To table |
---|---|
role_cube_field |
Column changes
IAM - From table | IAM - From column | IAM - To table | IAM - To column |
---|---|---|---|
appl_lang | - | appl_lang | icon |
appl_lang | - | appl_lang | icon_data |
col | - | col | type_of_default_value |
col | - | col | default_value_query |
iam_file_storage | - | iam_file_storage | aws_s3_bucket_name |
iam_file_storage | - | iam_file_storage | aws_region |
iam_file_storage | - | iam_file_storage | aws_access_key_id |
iam_file_storage | - | iam_file_storage | aws_secret_access_key |
list_bar_item | - | list_bar_item | show_open_documents |
menu | - | menu | show_open_documents |
module_grp | - | module_grp | show_open_documents |
process_variable | - | process_variable | type_of_default_value |
process_variable | - | process_variable | default_value_query |
process_variable | - | process_variable | process_property |
ref | - | ref | transl_tab_id |
ref | - | ref | transl_col_id |
report_parmtr | - | report_parmtr | type_of_default_value |
report_parmtr | - | report_parmtr | default_value_query |
report_ref | - | report_ref | transl_tab_id |
report_ref | - | report_ref | transl_col_id |
report_variant_parmtr | - | report_variant_parmtr | type_of_default_value |
report_variant_parmtr | - | report_variant_parmtr | default_value_query |
screen_type | - | screen_type | hide_bread_crumb_on_main_screen |
sf_file_storage | - | sf_file_storage | aws_s3_bucket_name |
sf_file_storage | - | sf_file_storage | aws_region |
sf_file_storage | - | sf_file_storage | aws_access_key_id |
sf_file_storage | - | sf_file_storage | aws_secret_access_key |
sf_process_flow | - | sf_process_flow | api |
sf_process_flow | - | sf_process_flow | api_alias |
subroutine | operation | subroutine | api |
subroutine | operation_alias | subroutine | api_alias |
subroutine_parmtr | subroutine_parmtr_operation_alias | subroutine_parmtr | api_alias |
tab_variant_col | - | tab_variant_col | type_of_default_value |
tab_variant_col | - | tab_variant_col | default_value_query |
task_parmtr | - | task_parmtr | type_of_default_value |
task_parmtr | - | task_parmtr | default_value_query |
task_ref | - | task_ref | transl_tab_id |
task_ref | - | task_ref | transl_col_id |
task_variant_parmtr | - | task_variant_parmtr | type_of_default_value |
task_variant_parmtr | - | task_variant_parmtr | default_value_query |
transl | universal_transl | transl | - |