Skip to main content

2020.2

· 39 min read

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

warning

Starting with version 2020.2 of the Thinkwise Platform, it is required that Indicium is installed for both development, test, acceptance and production environments. Please refer to the following blog posts for more information:

Without Indicium installed the Software Factory and applications will not receive a valid license and will fail to start.

Upgrade notes

Images and reports should be uploaded

Images and reports are now stored in the database instead of the file system. After upgrading, images and reports for active project versions must first be uploaded to the database. An upgrade validation for this situation is added that should be solved after the upgrade.

Solution:

  1. Run the task Upload images and reports to database in the advanced menu under Master data and Software Factory.
  2. Approve the validation message.

Before running the upload task, check that the file location of the project version is set correctly. It is then still possible to adjust this location, which will affect all paths in the entire project version. Once the upload task has been run and the metafiles are stored in the database, this option no longer exists.

Images should be synchronized to or uploaded in IAM

Images and reports are now stored in the IAM database. These files cannot be imported automatically during the upgrade and therefore have to be imported by hand for all active IAM instances. An upgrade validation for this situation is added that should be solved after the upgrade.

Solution:

  1. Make sure that the following validation has been solved: Images and reports should be uploaded.
  2. Start IAM and run the task Upload images and reports to database in the advanced menu under Administration.
  3. Approve the validation message.

Effective role rights behaviour (on the database)

From the 2020.2 version of the Thinkwise suite, the way of determining effective role rights has changed. This may have consequences, especially when you use the IAM feature to apply user rights to the database. To read what may have changed for you, and how to deal with these changes, see this link: https://community.thinkwisesoftware.com/updates-and-releases-31/effective-role-rights-behaviour-on-the-database-1309.

SQL Server support

The Thinkwise Platform version 2020.2 will no longer officially support SQL Server 2012 and SQL Server 2014. The official minimum supported version of SQL Server will be 2016.

As of version 2020.1 of the Thinkwise Platform, the minimum version of SQL Server was already version 2016 for the Software Factory development environment.

The Intelligent Application Manager, Indicium service tier and the GUI's did not leverage SQL Server 2016 features with the 2020.1 release. With the release of Thinkwise Platform version 2020.2, this will change, and therefore the entire platform will require SQL Server 2016 or higher.

Impact on development environments

As of version 2020.1 of the Thinkwise Platform, the minimum version of SQL Server was already version 2016 for the Software Factory development environment.

Impact on production environments

Version 2020.2 of the Intelligent Application Manager will leverage temporal tables. This immediately brings the minimum required version of SQL Server to 2016 upon release.

The Deployment Center will prevent installation or upgrade of the Intelligent Application Manager to version 2020.2 when the SQL Server version is below 2016 or the database compatibility of the Intelligent Application Manager database is below SQL Server 2016.

Existing products will no longer work on SQL Server 2012 and SQL Server 2014. We advice to upgrade your production environments to SQL Server 2016, before upgrading the Thinkwise Platform to 2020.2.

For more information, see this blog: https://community.thinkwisesoftware.com/blogs-21/end-of-sql-server-2012-2014-support-for-entire-thinkwise-platform-1021.

.NET Framework support

The required .NET Framework support remains the same as in the 2020.1 version.

Indicium Universal

Having Indicium Universal running in an environment has been optional since Thinkwise Platform version 2019.2, to be able to run the Universal GUI.

For Thinkwise Platform version 2020.1, Indicium Universal was also required to be able to leverage the scheduling feature.

Starting with Thinkwise Platform version 2020.2, an active Indicium Universal will be mandatory for the platform to function correctly.

For more information, see this blog: https://community.thinkwisesoftware.com/blogs-21/heads-up-indicium-universal-soon-mandatory-2020-2-1159

Lifecycle Policy

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

Projects

Breakpoints

Responsive screen type design means to design screen types that work well on mobile, tablet, and desktop devices. Using breakpoints in combination with screen types, a responsive screen can be setup. Breakpoints are the point at which your GUI will respond by changing the screen type to present the data with the best possible layout.

For every screen type one or more breakpoints can be defined. A breakpoint consists of a breakpoint in pixels and a breakpoint screen type. When the width of a screen type becomes smaller than the defined number of pixels in breakpoint, the screen type will then change to the breakpoint screen type.

Example of a breakpoint set-up

A task is created that will help in setting up quickly new breakpoint screen types for smaller user interfaces. If screen types are present that make use of vertical splitters, the task Create horizontal screen type as breakpoint can be used to automatically create a new screen type that incorporates horizontal splitters instead. This will make the screen type easier to use on smaller devices where horizontal space is limited. The only input required by the task is the pixel width for the breakpoint. It will then also automatically be added to the main screen type as a breakpoint.

This will replace the previous way of creating breakpoint screen types by including "<" in the screen type name. During the upgrade the following will be converted:

  • The "<" character will be replaced with "breakpoint_" during the upgrade. Example: masterdetail<500 will become master_detail_breakpoint_500.
  • Breakpoint screentypes with the correct breakpoint width will be added to the new breakpoint tab page.

For more information, see this blog: https://community.thinkwisesoftware.com/blogs-21/breakpoints-for-a-responsive-user-experience-on-every-platform-1229

Meta-files in the database

More and more Thinkwise customers and partners deploy their Thinkwise applications in the cloud. We also offer (trial) PaaS versions of our platform more often ourselves, for example to prospects and students. This is already perfectly possible, but setting up an online environment requires some configuration effort, in particular on how the platform deals with meta files like icons and reports.

A few years ago we added the possibility to store application files in the database, using binary fields (blob) or, on SQL Server, filestreams. However, this was not yet possible for the files that are part of an application's meta model, such as icons, theme images, and reports.

This is now changed. By also storing the meta files in the model, deploying an application in the cloud becomes even easier. And for on-premise installations, it will no longer be necessary to adjust file storage locations when deploying to a different (DTAP) environment.

For more information, see this blog: https://community.thinkwisesoftware.com/blogs-21/storing-icons-and-reports-in-the-database-1209

AutoML

Automated Machine Learning is now available as a feature in the Software Factory. Train Machine Learning models and deploy them in scheduled process flows to predict and estimate values based on historic data.

For more information, see this blog: https://community.thinkwisesoftware.com/blogs-21/introducing-automl-1241

Logging and auditing in IAM

A logging mechanism and two screens (in the advanced menu) are added:

  • History analysis: all changes in data can be found here, which are done in logged tables. These are the gui_appl tables, project tables, role tables, openid tables and the user tables.
  • Access analysis: here it is possible to analyze per object which user had access to a certain object in a certain period.

For more information, see this blog: https://community.thinkwisesoftware.com/blogs-21/iam-2020-2-auditing-and-logging-1204

Automatic license renewal

Downloading a license from TCP and uploading or copying it in IAM is no longer required. Indicium Universal (which is mandatory since this 2020.2 release) will automatically renew the license.

For more information, see this blog: https://community.thinkwisesoftware.com/blogs-21/automatic-license-renewal-1252

Software Factory

New

Reason for change in data conversion screen

The Data conversion screen shows which tables and columns have been changed, and therefore appear in the upgrade. It now also shows what has been changed for these colums in the tabpage Changes.

Developer mode for Indicium users

A tab page Developer mode is added in the Users screen, that allows the user to run in developer mode.

Added two unit test coverage analysis cubes

The Analysis menu group now provides two cubes to monitor the unit test code coverage:

These cubes rely on the presence of program objects in the model, ensure the definition of the model is fully generated.

  • Unit test control procedure coverage: this cube shows the ratio of control procedures covered by a unit test. Only control procedures of code groups that allow for unit tests are measured. There are three cube views available:
    • Coverage per code group
    • Coverage per developer
    • General coverage
  • Unit test program object coverage: this cube is similar to the control procedure coverage cube but measures the number of program objects instead. Only program objects of code groups that can have unit tests are measured. There are two cube views available:
    • Coverage per code group
    • General coverage

The coverage status is determined as follows. A control procedure can be either:

  • Covered: a control procedure counts as covered when a program object item created by the control procedure is present in a program object involved directly in any active unit test.
  • Covered (linked only): this indicates that the control procedure is linked to an active unit test, but the program object items of this control procedure are not in any program object directly involed in an active unit test.
  • Not covered: this means the program object items created by this control procedure are part of program objects not directy involved in any unit test, nor is the control procedure linked to an active unit test.

For more information, see Unit testing

Testing subroutines

Unit testing is expanded with the possibility to test subroutines of type Procedure.

Send e-mail after generating

It is now possible to be notified when generation has been started and finished. This can be done by adding an e-mail address in the project overview.

This can be a personal e-mail address, but also a Microsoft Teams e-mail address to inform the whole team about this status update. The Teams e-mail address can be retrieved by right-clicking on a channel and then selecting the option Get email address.

The e-mail will be sent by a system flow. In IAM, it is possible to choose between the schedules:

  • alldays_regular - Occurs every day every 30 seconds between 05:00:00 UTC and 20:00:00 UTC
  • weekdays_fast - Occurs every week on Monday, Tuesday, Wednesday, Thursday, Friday every 10 seconds between 07:00:00 UTC and 20:00:00 UTC
  • weekdays_regular - Occurs every week on Monday, Tuesday, Wednesday, Thursday, Friday every 30 seconds between 07:00:00 UTC and 20:00:00 UTC

This feature can only be used when the notification e-mail settings are configured correctly in the Configuration screen in the Settings menu group.

Code search on whole words

It is now possible to perform a code search on whole words only. This can be done by setting the corresponding checkbox.

Post synchronization code

It is possible to add arbitrary SQL code to a synchronisation run. This code will be executed after the synchronisation to IAM is finished. The current project_id and project_vrs_id are available as variables, as long as there are no "GO" statements encountered.

Load multiple runtime configurations

If no project, project version and runtime configuration is provided in the INI-file, the Windows or Web GUI will now load all active runtime configurations for the current user from the Software Factory. Switching applications is done using the options in the menu:

Runtime configurations can be configured from the Users screen:

Renumber columns after copying

After copying columns in the Data modeler, all columns in the target table are renumbered.

Iterations timeline

A scheduler is added to show the (sub)iterations and when they are planned. It is also possible to drag/drop, shorten or extend an iteration. By double clicking an iteration, it is possible to navigate to it in the Iterations screen.

Retrieve number of rows for tables

The task Retrieve number of rows is added to the Project version tab page to query the number of rows for all tables in an end-product database.

This number is stored in the NO_OF_ROWS table tag and can be used to automatically enrich the model. For example by changing the look-up control or screen type of an entity based on the number of rows in the database, to optimize the performance or user experience.

The next release of the Software Factory will feature a series of these model enrichment queries.

New icons for the process flow and screen type modeler

The icons in the process flow and screen type modeler are updated to match the new icon style.

Mark a unit test as inactive

Unit tests were always active, which means that they were always executed. Sometimes a unit test is temporarily unnecessary and it shouldn't be executed. Therefore, unit tests can now be deactivated and activated again by executing two new tasks in the 'Unit tests* screen:

  • Activate unit test
  • Deactivate unit test

New validations

The following validations have been created:

  • datamodel - Column contains a non existing file storage column
  • gui_defs - Task/report parameter contains a non existing storage parameter
  • gui_universal - Numerous breakpoint validations
  • logic_layer - Data set is not used by active unit tests
  • logic_layer - Unit test does not have an output assertion

Changed

  • Extra renumber tasks for several screens - The renumber tasks are now no longer created manually, but dynamically. As a result, a renumber task is now present on several extra screens such as Table tasks, Prefilters and Reference columns.
  • Generate indexes for view references - FK indexes for detail references between views and tables will now automatically be created.
  • The process flow to add configuration is changed - Created a task for the process flow to add configuration. Within the task, the configuration settings, platform settings and a main application language can be set up. In the final step of the process, the user will be guided to the application languages screen to add more languages.
  • Specification filtering on id's - The specification trees can now be filtered on the id of the specification nodes in the tree via the combined filter.
  • For a user it's difficult to see why certain outputs aren't as expected - When a unit test was executed, only the expected output was shown as a result. The non-expected outputs can now also be shown in grey and italic, by disabling the prefilter Expected output parameters. This way, it is easier to see why the expected output isn't as expected.
  • Requirements & design improvements - The following improvements have been made:
    • Specification id's are added to the combined filters.
    • Requirements and Work¬†are placed at the bottom of the Specification menu, and are renamed to¬†Requirement overview¬†en¬†Work overview.
    • The Kanban board¬†is renamed to¬†Taskboard¬†to remain independent of development methodology.
  • Delete tasks, without transaction - The tasks to delete an object, like a project, a version, a table, etc. are no longer executed in a transaction. This will increase performance and will avoid locking issues. Please note that when a delete action fails, some of the underlying items are deleted and some still exist. The delete task should be executed again, because the object is no longer correct.
  • Task Create project version will be hidden if there is already a project version available - This task is called automatically after creating a new project, and there are not many use cases to create an empty project version in an existing project.¬†However, the task was often confused with the task to copy a project version. Therefore, this task will be hidden if there is already a project version available.
  • Tab page Functionality added as detail in the Subjects screen - For¬†consistency¬†with¬†the¬†other¬†screens the tabpage Functionality is now also added as a detail in the Subjects screen.
  • Table task/report parameter: changed order of the columns - In the table task/report parameter screen the order is column and then task/report parameter. However, it makes more sense to set a value to the parameter, instead of choosing a column to assign to the parameter. This has two advantages:
  • The parameter list is a shorter list to work with.
  • If a column exists that has the same name as the specified parameter, it will be selected automatically.
  • New reserved keywords - The list of reserved keywords is extended to include, for example, missing data type identifiers and new function names.
  • Size of fields with SQLEDITOR control - Fields with a SQLEDITOR control have been enlarged.¬†By using a group label instead of a regular field label, this gained space could be used to increase the field size. The field width is now equal to the column width, the field height is set to five rows.
  • Tasks to create reference automatically fills source or target - The¬†tasks¬†to¬†create¬†detail¬†or¬†look-up¬†references¬†for¬†tables, tasks and reports now automatically fills the source or target table/task/report.
  • Import roles failure - When the import of roles failed because of an empty result set for a role, no indication was given. Now a message is shown.
  • End date not allowed before start date - All places where start and end dates/times are used, now have a check that the end date/time cannot occur before the start date/time.

Fixed

  • Trim the project version when copying or renaming - The project version id will now be trimmed when copying or renaming a project version
  • Indexes are now created correctly for references with long names - Set domain from 100 to 128 to make the reference fit in the index name.
  • Sequence no for reference columns - When adding a reference column manually, the value for Sequence no always remained at 10, regardless of whether reference columns were already present. This has now been corrected so that the sequence no per column increases by 10.
  • Check constraints for date datatype with min. and max. value - When deploying an application that used a date datatype with a min. and max. value, the source code was not generated properly. It caused the following error at execution: "Operand type clash: date is incompatible with int". This is now solved.
  • Fixed drop-functions script for contained databases - Contained databases will no longer cause collation errors when running the drop-functions script.
  • Translations tab page in cube fields screen - the Translations tabpage was no longer displayed in the Cube fields tabpage in the Subjects screen. The tabpage is added again.
  • In some situations filter value and filter value until should be emptied - The filter value and filter value until columns are now emptied in some situations. For example, when the prefilter condition is empty is chosen.
  • Assign table rights will throw a clear message when there are multiple look up references for a column - The assign table rights task will no longer continue if there are multiple look up references for a column, and the column rights box is checked. Instead, the task will throw a clear message, so that the user knows what's wrong in their model.
  • Deadlock prevention during generation - Added some behavioral changes to the Software Factory database to prevent deadlocks when generating multiple project versions at the same time.
  • Prevent comments during merge execution - When a merge is executed with deleted control procedures, comments were added for control procedures that were in review. This is now prevented by deleting code changelogs before control procedure templates.
  • Keep list bar group tags intact - List bar group tags will no longer be removed when the list bar group is empty after removing generated objects.
  • Performance validation screen - The performance of the validation screen is improved. Also, the validation screen will be emptied after generating the entire model.
  • Reference constraint error when deleting a project version - Deleting a project version that was a part of the work linking chain led to a reference constraint error.
  • Code overview not usable for process flows - When selecting process flows in the Code overview screen, nothing was shown. The process actions are now visible.
  • Role prefilter icon wrong - When a prefilter is available but not visible, the user will not see this prefilter. The rights-icon should therefore only be green when the prefilter is visible as well.
  • Data conversion (all columns) is missing prefilter - The prefilter Current data conversion version that is present in the Data conversion screen was not present on the tabpage Data conversion (all columns). This has now been added.
  • Check end_date of user admin in i_api_usr - The log_access column in i_api_usr checked whether the user is administrator, but did not check whether the admin status had expired. Log access and developer mode will now only be granted to users if the date falls between the begin and end date specified at the rights record.
  • Views don't belong in data sets - The data used by the views is stored in the underlying tables. Therefore, the views are excluded from the table selection for data sets.
  • Date formatting - All dates in the Software Factory and IAM are now formatted consistently.

IAM

New

Icon for IAM containing a Software Factory

An IAM that has a Software Factory inside will now get another icon so developers can distinguish the Software Factory and their end products.

System flow schedule error logging

An error log field is added to the Schedule log tab page under System flows.

Redirect whitelist

Added a whitelist for redirect URL's, as a tabpage for Global Settings in IAM. The redirect URL's may be used after (non-openid) account-related actions, such as login, logout or resetpassword. This is a flat list of url's that can be used in e-mails to redirect the user when the e-mail points to one of the account operations in indicium. This needs to be limited as not to be able to redirect a user to a fake login page after clicking a link.

System flows polling interval

The polling interval for Indicium to check for scheduled system flows can no be set in the Global Settings.

Changed

  • End date not allowed before start date - All places where start and end dates/times are used, now have a check that the end date/time cannot occur before the start date/time.

Fixed

  • Constraint error on cube field filters when synchronizing to IAM - When cube fields were synchronized to IAM that contained cube field filters, this resulted in a reference constraint error. This has now been solved.
  • Name column in the IAM user table - Fixed the size of the name column in the user table to support the combination of first name, surname and user id.
  • [Breaking] E-mail address in IAM must now be unique - Due to login constraints, it is not possible to use an e-mail address for multiple accounts. This will now be enforced in IAM.

When upgrading to version 2020.2, duplicate e-mail addresses will be emptied. The account that retains the e-mail address is chosen using a priority ranking as follows:

  • Accounts using e-mail 2FA
  • Accounts using totp 2FA with e-mail fallback
  • Active accounts
  • IAM accounts
  • Alphabetical user id

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.

The Desc subname is changed to description. Please check if any proprietary code makes use of desc fields and adjust accordingly. Description domains are consolidated into the following domains:

  • SF:
    • description_short (nvarchar(1000))
    • description_multiline (nvarchar(1000) multiline control)
    • description_large (nvarchar(max) multiline control)
  • IAM:
    • description_short (nvarchar(200))
    • description_multiline (nvarchar(1000) multiline control)
    • description_large (nvarchar(4000) multiline control)

Changes Software Factory

Table changes

SF - From tableSF - To table
-automl_model
-automl_model_fitted
-automl_model_predictor
-automl_model_target
-automl_model_training_data
-generation_email
-post_sync_code
-process_action_automl_model_predictor_input_parmtr
-process_action_automl_model_target_output_parmtr
-screen_type_breakpoint
-unit_test_subroutine_parmtr_input
-unit_test_subroutine_parmtr_output
-validation_modeler
-validation_status

Column changes

SF - From tableSF - From columnSF - To tableSF - To column
ambiguous_expressionambiguous_expression_descambiguous_expressionambiguous_expression_description
appl_langappl_lang_descappl_langappl_lang_description
business_processbusiness_process_descbusiness_processbusiness_process_description
business_process_attachmentattachment_databusiness_process_attachmentbusiness_process_attachment_name_data
change_logdescriptionchange_logchange_log_description
chart_palettechart_palette_descchart_palettechart_palette_description
code_grpcode_grp_desccode_grpcode_grp_description
code_search-code_searchwhole_words_only
col-colform_next_grp_icon_data
col-colnext_tab_icon_data
colcol_desccolcol_description
concept_abbrconcept_abbr_descconcept_abbrconcept_abbr_description
controlcontrol_desccontrolcontrol_description
control_appearancecontrol_appearance_desccontrol_appearancecontrol_appearance_description
control_proccontrol_proc_desccontrol_proccontrol_proc_description
control_proc_templatetemplate_desccontrol_proc_templatetemplate_description
cubecube_desccubecube_description
cube_view-cube_viewcube_view_icon_data
cube_viewcube_view_desccube_viewcube_view_description
cube_view_field_conditional_layout-cube_view_field_conditional_layoutimage_data
cube_view_grpcube_view_grp_desccube_view_grpcube_view_grp_description
data_setdescriptiondata_setdata_set_description
database_filefile_specdatabase_filedatabase_file_spec
delta_action-delta_actionupdated_col_has_data_col
deployment_moduledescriptiondeployment_moduledeployment_module_description
design_moduledescriptiondesign_moduledesign_module_description
design_spec_model_linkaction_descdesign_spec_model_linkaction_description
diagramdiagram_descdiagramdiagram_description
diagramdiagram_imagediagram-
dttpdttp_descdttpdttp_description
elemnt-elemntpicture_file_data
extender_type_propertyproperty_descextender_type_propertyproperty_description
external_objectexternal_object_descexternal_objectexternal_object_description
featurefeature_descfeaturefeature_description
field_alignmentfield_alignment_descfield_alignmentfield_alignment_description
fontfont_descfontfont_description
font_facefont_face_descfont_facefont_face_description
future_projectproject_descfuture_projectproject_description
future_project_vrsproject_vrs_descfuture_project_vrsproject_vrs_description
indxindx_descindxindx_description
iterationiteration_desciterationiteration_description
list_bar_grp-list_bar_grpicon_data
list_bar_grplist_bar_grp_desclist_bar_grplist_bar_grp_description
list_bar_itemlist_bar_item_desclist_bar_itemlist_bar_item_description
menu-menuicon_data
merge_sessiondescriptionmerge_sessionmerge_session_description
module_grp-module_grpicon_data
module_grpmodule_grp_descmodule_grpmodule_grp_description
module_itemmodule_item_descmodule_itemmodule_item_description
msgmsg_descmsgmsg_description
msg_option-msg_optionicon_data
printerprinter_descprinterprinter_description
process-processicon_data
process-processtile_image_data
processprocess_descprocessprocess_description
process_action-process_actionautoml_model_id
process_actionprocess_action_descprocess_actionprocess_action_description
process_actionprocess_action_file_specprocess_action-
process_flowprocess_flow_descprocess_flowprocess_flow_description
process_flowprocess_flow_file_specprocess_flow-
process_flowprocess_flow_imageprocess_flow-
prog_langprog_lang_descprog_langprog_lang_description
prog_object_typeprog_object_type_descprog_object_typeprog_object_type_description
project-projectmodel_guid
project-projectnotification_email_address
projectproject_descprojectproject_description
project_vrs-project_vrsicon_data
project_vrsproject_vrs_descproject_vrsproject_vrs_description
project_vrsdefault_iconproject_vrsicon
rdbmsrdbms_descrdbmsrdbms_description
refref_descrefref_description
refresh_grprefresh_grp_descrefresh_grprefresh_grp_description
report-reportfile_spec_data
report-reportpath_spec
report-reporticon_data
report-reporttile_image_data
reportreport_descreportreport_description
report_parmtr-report_parmtrform_next_grp_icon_data
report_parmtr-report_parmtrnext_tab_icon_data
report_type-report_typeserver_hosted
report_typereport_type_descreport_typereport_type_description
report_variant-report_varianticon_data
report_variant-report_varianttile_image_data
report_variant_form-report_variant_formform_next_grp_icon_data
report_variant_form-report_variant_formnext_tab_icon_data
reqreq_descreqreq_description
req_baselinebaseline_descreq_baselinebaseline_description
req_baseline_reqreq_descreq_baseline_reqreq_description
requirementrequirement_descrequirementrequirement_description
requirementrequirement_desc_markedrequirementrequirement_description_marked
requirement_attachmentattachment_datarequirement_attachmentrequirement_attachment_name_data
requirement_logrequirement_descrequirement_logrequirement_description
requirement_logrequirement_desc_markedrequirement_logrequirement_description_marked
requirement_logattachment_datarequirement_logattachment_name_data
roledescriptionrolerole_description
screen_component-screen_componenttab_page_icon_data
screen_component_type-screen_component_typescreen_component_type_icon_data
screen_typescreen_type_descscreen_typescreen_type_description
sf_configuration-sf_configurationsmtp_server_address
sf_configuration-sf_configurationsmtp_server_port
sf_configuration-sf_configurationsmtp_server_usr_name
sf_configuration-sf_configurationsmtp_server_password
sf_configuration-sf_configurationsmtp_server_from_email_address
specification_baselinedescriptionspecification_baselinespecification_baseline_description
sql_analysis_issuedescriptionsql_analysis_issuesql_analysis_issue_description
storagestorage_descstoragestorage_description
sub_namesub_name_descsub_namesub_name_description
sub_name_grpsub_name_grp_descsub_name_grpsub_name_grp_description
subroutinesubroutine_descsubroutinesubroutine_description
subroutine_typesubroutine_type_descsubroutine_typesubroutine_type_description
tab-tabicon_data
tab-tabtile_image_data
tabtab_desctabtab_description
tab_prefilter-tab_prefiltericon_data
tab_prefilter_grp-tab_prefilter_grpicon_data
tab_prefilter_grptab_prefilter_grp_desctab_prefilter_grptab_prefilter_grp_description
tab_reportshow_buttontab_report-
tab_reportposition_button_manualtab_report-
tab_reportbutton_order_notab_report-
tab_reportbutton_x_coordinatetab_report-
tab_reportbutton_y_coordinatetab_report-
tab_reportbutton_heighttab_report-
tab_reportbutton_widthtab_report-
tab_reportbutton_picturetab_report-
tab_report_grptab_report_grp_desctab_report_grptab_report_grp_description
tab_taskshow_buttontab_task-
tab_taskposition_button_manualtab_task-
tab_taskbutton_order_notab_task-
tab_taskbutton_x_coordinatetab_task-
tab_taskbutton_y_coordinatetab_task-
tab_taskbutton_heighttab_task-
tab_taskbutton_widthtab_task-
tab_taskbutton_picturetab_task-
tab_task_grptab_task_grp_desctab_task_grptab_task_grp_description
tab_variant-tab_varianticon_data
tab_variant-tab_varianttile_image_data
tab_variant_form-tab_variant_formform_next_grp_icon_data
tab_variant_form-tab_variant_formnext_tab_icon_data
tagtag_desctagtag_description
task-taskicon_data
task-tasktile_image_data
tasktask_desctasktask_description
task_parmtr-task_parmtrform_next_grp_icon_data
task_parmtr-task_parmtrnext_tab_icon_data
task_typetask_type_desctask_typetask_type_description
task_variant-task_varianticon_data
task_variant-task_varianttile_image_data
task_variant_form-task_variant_formform_next_grp_icon_data
task_variant_form-task_variant_formnext_tab_icon_data
test_casedescriptiontest_casetest_case_description
theme-themebackground_picture_data
theme-themedocument_picture_data
theme-themelist_bar_picture_body_data
theme-themelist_bar_picture_header_data
theme-themelist_bar_picture_footer_data
theme-themetile_menu_background_picture_data
theme-themeuniversal_background_picture_light_data
theme-themeuniversal_background_picture_dark_data
themetheme_descthemetheme_description
thememodule_picture_headertheme-
thememodule_picture_bodytheme-
thememodule_picture_footertheme-
themehelp_text_font_idtheme-
themehelp_text_picture_home_backgroundtheme-
themehelp_text_picture_hometheme-
themehelp_text_picture_headertheme-
themehelp_text_header_gradient_color_1theme-
themehelp_text_header_gradient_color_2theme-
themehelp_text_header_gradient_directiontheme-
themehelp_text_header_1_font_idtheme-
themehelp_text_header_2_font_idtheme-
themehelp_text_header_3_font_idtheme-
themehelp_text_footer_gradient_color_1theme-
themehelp_text_footer_gradient_color_2theme-
themehelp_text_footer_gradient_directiontheme-
themehelp_text_footer_1_font_idtheme-
themehelp_text_footer_2_font_idtheme-
tiletile_desctiletile_description
tile_grp-tile_grpicon_data
tile_grptile_grp_desctile_grptile_grp_description
transl_object-transl_objectuniversal_transl
transl_objecttransl_object_desctransl_objecttransl_object_description
unit_test-unit_testactive
unit_testdescriptionunit_testunit_test_description
unit_test_col_filter-unit_test_col_filtertab_id
unit_test_col_filterunit_test_parmtr_idunit_test_col_filtercol_id
unit_test_col_input-unit_test_col_inputtab_id
unit_test_col_inputunit_test_parmtr_idunit_test_col_inputcol_id
unit_test_col_output-unit_test_col_outputtab_id
unit_test_col_outputunit_test_parmtr_idunit_test_col_outputcol_id
unit_test_col_type-unit_test_col_typetab_id
unit_test_col_typeunit_test_parmtr_idunit_test_col_typecol_id
unit_test_process_step_input-unit_test_process_step_inputprocess_flow_id
unit_test_process_step_inputunit_test_parmtr_idunit_test_process_step_inputprocess_step_id
unit_test_process_step_output-unit_test_process_step_outputprocess_flow_id
unit_test_process_step_outputunit_test_parmtr_idunit_test_process_step_outputprocess_step_id
unit_test_process_variable_input-unit_test_process_variable_inputprocess_flow_id
unit_test_process_variable_inputunit_test_parmtr_idunit_test_process_variable_inputprocess_variable_id
unit_test_process_variable_output-unit_test_process_variable_outputprocess_flow_id
unit_test_process_variable_outputunit_test_parmtr_idunit_test_process_variable_outputprocess_variable_id
unit_test_ref_outputunit_test_parmtr_idunit_test_ref_outputref_id
unit_test_report_parmtr_input-unit_test_report_parmtr_inputreport_id
unit_test_report_parmtr_inputunit_test_parmtr_idunit_test_report_parmtr_inputreport_parmtr_id
unit_test_report_parmtr_output-unit_test_report_parmtr_outputreport_id
unit_test_report_parmtr_outputunit_test_parmtr_idunit_test_report_parmtr_outputreport_parmtr_id
unit_test_report_parmtr_type-unit_test_report_parmtr_typereport_id
unit_test_report_parmtr_typeunit_test_parmtr_idunit_test_report_parmtr_typereport_parmtr_id
unit_test_result_parmtr-unit_test_result_parmtruse_output
unit_test_result_parmtr-unit_test_result_parmtrorder_no
unit_test_result_parmtr_type-unit_test_result_parmtr_typeuse_output
unit_test_result_parmtr_type-unit_test_result_parmtr_typeorder_no
unit_test_tab_report_output-unit_test_tab_report_outputtab_id
unit_test_tab_report_outputunit_test_parmtr_idunit_test_tab_report_outputreport_id
unit_test_tab_task_output-unit_test_tab_task_outputtab_id
unit_test_tab_task_outputunit_test_parmtr_idunit_test_tab_task_outputtask_id
unit_test_task_parmtr_input-unit_test_task_parmtr_inputtask_id
unit_test_task_parmtr_inputunit_test_parmtr_idunit_test_task_parmtr_inputtask_parmtr_id
unit_test_task_parmtr_output-unit_test_task_parmtr_outputtask_id
unit_test_task_parmtr_outputunit_test_parmtr_idunit_test_task_parmtr_outputtask_parmtr_id
unit_test_task_parmtr_type-unit_test_task_parmtr_typetask_id
unit_test_task_parmtr_typeunit_test_parmtr_idunit_test_task_parmtr_typetask_parmtr_id
unit_test_typeunit_test_type_descunit_test_typeunit_test_type_description
validationvalidation_descvalidationvalidation_description
validation_grpvalidation_grp_descvalidation_grpvalidation_grp_description
workwork_descworkwork_description
work_attachmentattachment_datawork_attachmentwork_attachment_name_data
work_log-work_logattachment_name_data
work_logwork_descwork_logwork_description

Changes Intelligent Application Manager

Table changes

IAM - From tableIAM - To table
-automl_model
-automl_model_predictor
-automl_model_target
-deployment_module_role
-global_client_redirect
-screen_type_breakpoint
-usr_audit_filter
-usr_authentication
-usr_developer_mode
openid_client_default_resource_translopenid_client_transl
openid_resourceopenid_custom_resource
openid_resource_claimopenid_custom_resource_claim
openid_resource_claim_value_usropenid_custom_resource_claim_value_usr
openid_resource_claim_value_usr_grpopenid_custom_resource_claim_value_usr_grp
openid_resource_translopenid_custom_resource_transl
usrusr_general

Column changes

IAM - From tableIAM - From columnIAM - To tableIAM - To column
advice_type-advice_typeicon_data
advice_typedescriptionadvice_typeadvice_type_description
advice_type_propertydescriptionadvice_type_propertyadvice_type_property_description
appl_claim-appl_claimusr_id
col-colform_next_grp_icon_data
col-colnext_tab_icon_data
countrycountry_desccountrycountry_description
cube_view-cube_viewcube_view_icon_data
cube_view_field_conditional_layout-cube_view_field_conditional_layoutimage_data
departmentdepartment_descdepartmentdepartment_description
elemnt-elemntpicture_file_data
font_facefont_face_descfont_facefont_face_description
global_settings-global_settingsappl_icon
global_settings-global_settingsappl_icon_data
global_settings-global_settingssplash_image_data
global_settings-global_settingslogin_page_logo_data
global_settings-global_settingslogin_page_background_image
global_settings-global_settingslogin_page_background_image_data
global_settings-global_settingsabout_background_image
global_settings-global_settingsabout_background_image_data
global_settings-global_settingsabout_icon
global_settings-global_settingsabout_icon_data
global_settings-global_settingsabout_logo
global_settings-global_settingsabout_logo_data
global_settings-global_settingspending_system_flow_interval
gui_appl-gui_applicon_data
gui_build_versiongui_build_version_descgui_build_versiongui_build_version_description
gui_usr_grpgui_usr_grp_descgui_usr_grpgui_usr_grp_description
list_bar_item-list_bar_itemlist_bar_grp_icon_data
list_bar_item-list_bar_itemicon_data
list_bar_item-list_bar_itemmenu_icon_data
locationlocation_desclocationlocation_description
log_actionaction_desclog_actionaction_description
menu-menuicon_data
module_grp-module_grpicon_data
module_grp-module_grpmenu_icon_data
module_item-module_itemicon_data
msg_option-msg_optionicon_data
process-processicon_data
process_action-process_actionautoml_model_id
process_flow_schedule_log-process_flow_schedule_loglog_msg
project-projectmodel_guid
project_vrs-project_vrsicon_data
project_vrsdefault_iconproject_vrsicon
report-reportfile_spec_data
report-reportpath_spec
report-reporticon_data
report_parmtr-report_parmtrform_next_grp_icon_data
report_parmtr-report_parmtrnext_tab_icon_data
report_variant-report_varianticon_data
report_variant_parmtr-report_variant_parmtrform_next_grp_icon_data
report_variant_parmtr-report_variant_parmtrnext_tab_icon_data
roledescriptionrolerole_description
role_tab_prefilter-role_tab_prefiltersf_visible
screen_component-screen_componenttab_page_icon_data
tab-tabicon_data
tab-tabtile_image_data
tab_prefilter-tab_prefiltertab_prefilter_icon_data
tab_prefilter-tab_prefiltertab_prefilter_grp_icon_data
tab_variant-tab_varianticon_data
tab_variant-tab_varianttile_image_data
tab_variant_col-tab_variant_colform_next_grp_icon_data
tab_variant_col-tab_variant_colnext_tab_icon_data
tagtag_desctagtag_description
task-taskicon_data
task_parmtr-task_parmtrform_next_grp_icon_data
task_parmtr-task_parmtrnext_tab_icon_data
task_variant-task_varianticon_data
task_variant_parmtr-task_variant_parmtrform_next_grp_icon_data
task_variant_parmtr-task_variant_parmtrnext_tab_icon_data
theme-themebackground_picture_data
theme-themedocument_picture_data
theme-themelist_bar_picture_body_data
theme-themelist_bar_picture_header_data
theme-themelist_bar_picture_footer_data
theme-themetile_menu_background_picture_data
theme-themeuniversal_background_picture_light_data
theme-themeuniversal_background_picture_dark_data
thememodule_picture_headertheme-
thememodule_picture_bodytheme-
thememodule_picture_footertheme-
themehelp_text_font_idtheme-
themehelp_text_picture_home_backgroundtheme-
themehelp_text_picture_hometheme-
themehelp_text_picture_headertheme-
themehelp_text_header_gradient_color_1theme-
themehelp_text_header_gradient_color_2theme-
themehelp_text_header_gradient_directiontheme-
themehelp_text_header_1_font_idtheme-
themehelp_text_header_2_font_idtheme-
themehelp_text_header_3_font_idtheme-
themehelp_text_footer_gradient_color_1theme-
themehelp_text_footer_gradient_color_2theme-
themehelp_text_footer_gradient_directiontheme-
themehelp_text_footer_1_font_idtheme-
themehelp_text_footer_2_font_idtheme-
tile-tileicon_data
tile-tilemenu_icon_data
tile-tiletile_grp_icon_data
transl-transluniversal_transl
type_guitype_gui_desctype_guitype_gui_description
use_log_usr_action_typedescriptionuse_log_usr_action_typeusr_action_type_description
use_log_usr_action_typeextra_info_1_descuse_log_usr_action_typeextra_info_1_description
use_log_usr_action_typeextra_info_2_descuse_log_usr_action_typeextra_info_2_description
use_log_usr_action_typeextra_info_3_descuse_log_usr_action_typeextra_info_3_description
use_log_usr_action_typeextra_info_4_descuse_log_usr_action_typeextra_info_4_description
use_log_usr_action_typeextra_info_5_descuse_log_usr_action_typeextra_info_5_description
usr_grpdescriptionusr_grpusr_grp_description
usr_pref_cube_viewdescriptionusr_pref_cube_viewcube_view_description