Skip to main content
featured-image
featured-image

Thinkstore model updates (2024.3)

Hello everyone,In this release, we have added one new model, called Columnstore index and AI search. We also merged two existing models, Maps (mymappi) and Google Maps, into a new model called Maps and Routes.Fourteen models have been updated, and one model has been removed.The changes in this release are available for Thinkwise Platform version 2024.3 and higher. About the ThinkstoreThe Thinkstore is a fully integrated way for downloading and installing ready-made solutions directly into your models right from the Thinkwise IDE. It contains a collection of scripts and samples to help you get the most out of the Thinkwise Platform. You can find the Thinkstore in the Software Factory, in the menu Enrichment > Thinkstore.The Thinkstore only contains solutions specifically for the Software Factory version you are using. Therefore, the Thinkstore will be cleared before every platform upgrade. After the upgrade, if you open the Thinkstore in the new Software Factory version, it will initiate a refresh and retrieve all the available solutions for that version. This process runs in the background. It can take up to ten minutes before the solutions are available.You can read more about the Thinkstore in the Thinkstore guide. ContentsAbout the Thinkstore Contents New Thinkstore models Columnstore index and AI search Maps and Routes Updated Thinkstore models Currencies API Check constraints for easy user input validation Differences in data between two databases Friendly error msg for database connector Date prefilters RDW car info / KVK info / Webservice example to retrieve address info from zip code Using OAuth to get data from external applications Default tooltip Make sure your display values are unique Turn off enable tab task when empty Find a certain char in a string Generate a unique randomized token Thinkwise Guideline Validations Removed models Use T-SQL OPENJSON for accessing JSON data Questions or suggestions? New Thinkstore modelsColumnstore index and AI searchnewThis new solution contains an example of how to use a columnstore index in the Software Factory, combined with AI search. The data model consists of a product table that can compare itself to other products within that table and provide a matching score. A higher score indicates that the product is more similar to the selected product.The columnstore index ensures that this functionality is extremely fast. Columnstore indexes store data by column instead of row, offering significant data compression and reducing storage needs. This leads to faster queries because less data is accessed during query execution.More general information about columstore indexes: Microsoft More information about columnstore indexes in the Software Factory: Indexes Maps and Routesnew Universal GUIThe models Maps (mymappi) and Google Maps have been merged into a new model named Maps and Routes. This new model serves the purpose of teaching how to work with the Maps component in the Universal GUI. It also uses two Web connection endpoints for retrieving the GPS coordinates and routes.You need to get your own API key from Google and enter it into the Web connection.The model includes a menu for addresses and routes:Adding an address initiates a process flow that uses the Web connection to retrieve and display the GPS coordinates on the Maps component. Once you have at least two addresses, you can add a route. The Web connection retrieves and displays the fastest route on the Maps component. Updated Thinkstore modelsCurrencies APIchangeWe have removed the currency tables because this solution only provides a web connection and a task to start the API call and show the response. If you want to process the JSON response, this blog post with JSON examples might be useful. Check constraints for easy user input validationchangeWe changed the strategy for the control procedure check_constraint_message_add from delete to staged.For more information about the custom check constraints, see the blog Check constraints using the Software Factory. Differences in data between two databaseschangeWe removed unnecessary parts of the model, reducing the size of the export file model.dat, without any other changes. Friendly error msg for database connectorchangeWe changed the strategy for the meta control procedure database_connector_process_action from delete to fully controlled. We also modified the insert statement for the table process_action_output_parmtr table to include the column output_parmtr_type with a value of fixed_option.We changed the strategy for the control procedure error_log_code from delete to staged. We also removed the parameter @error_log_code from the error handling code in the template error_log_code, as it was not declared. Date prefilterschangePreviously, this model included a table named date_of and a prefilter group called date_filters with 4 prefilters. Now, it only contains a meta control procedure tab_date_prefilter that adds the prefilter group and prefilters to all tables linked with the tag tab_date_prefilter. In the tag value, you must specify a column with a domain of data type DATE, DATETIME, or DATETIME2.The 5 prefilters created are:Current week Year to date (new compared to the previous model) Current month Current quarter Current yearThese prefilters can be adjusted within the dynamic code if you desire more or fewer prefilters or if you wish to modify any details of the prefilters. We set the strategy for the meta control procedure tab_date_prefilter to fully controlled, giving you the freedom to change the details after creation. Note that changes to the dynamic code will not modify the already created prefilters. RDW car info / KVK info / Webservice example to retrieve address info from zip codechangeWe have replaced the last message with a task pop-up to make it easier to show the given JSON and process the information. Using OAuth to get data from external applicationschangeThe model Using OAuth to get data from external applications has been renamed to Using OAuth to get data from Exact Online. In addition:The MS Graph connection has been removed. This is a separate Thinkstore model. Instead of an HTTP connector, a Web connection is now used. Default tooltipchangeThe model Default tooltip has been updated:The generation strategy has been changed to Fully Controlled. The code has been changed so the trace columns are updated. The code has been changed, so the tooltip translation is also updated when the translation is updated. Make sure your display values are uniquechangeThe generation strategy has been changed to Staged. Turn off enable tab task when emptychangeThe generation strategy has been changed to Fully Controlled. The code has been changed to a where not exists. The code has been changed to create the tag when it does not exist yet. Find a certain char in a stringchangeWe have added a table-valued function, which makes the functionality easier to use. Generate a unique randomized tokenchangeWe created a subroutine (procedure) for the functionality. Previously, it was only an example script. Thinkwise Guideline ValidationschangeWe renamed the validation column_name_starts_with_the_table_name to tsf_guideline_column_name_starts_with_the_table_name. This is to be in line with the rest of the naming of the validations. In the validation tsf_guideline_column_name_starts_with_the_table_name, the like missed the '%', this has been corrected. tsf_guideline_domain_which_contains_the_name_of_an_rdbms_datatype now only checks for the RDBMS type of the model. All the validations that use a cursor with a table variable have been changed to a temporary table to improve performance and stability. See this Community post. Removed modelsUse T-SQL OPENJSON for accessing JSON datachangeThe model "Use T-SQL OPENJSON for accessing JSON data" has been removed from the Thinkstore. This blog post with JSON examples should give you enough information to work with JSON in T-SQL. Questions or suggestions?Questions or suggestions about the release notes? Let us know in the Thinkwise Community!  

Related products:Thinkstore
featured-image

Thinkstore model updates 2024.2.11

Hello everyone,In this sprint, we have updated a number of Thinkstore models with the new Web connections .The changes in this release are available for Thinkwise Platform version 2024.2 and higher. About the ThinkstoreThe Thinkstore is a fully integrated way for downloading and installing ready-made solutions directly into your models right from the Thinkwise IDE. It contains a collection of scripts and samples to help you get the most out of the Thinkwise Platform. You can find the Thinkstore in the Software Factory, in the menu Enrichment > Thinkstore.The Thinkstore only contains solutions specifically for the Software Factory version you are using. Therefore, the Thinkstore will be cleared before every platform upgrade. After the upgrade, if you open the Thinkstore in the new Software Factory version, it will initiate a refresh and retrieve all the available solutions for that version. This process runs in the background. It can take up to ten minutes before the solutions are available.You can read more about the Thinkstore in the Thinkstore guide . ContentsAbout the Thinkstore New, changed, and fixed in the Thinkstore models Updated the model "Currencies API" Updated the models "RDW car info", "KVK info", and "Webservice example to retrieve address info from zipcode" Removed the model "Use T-SQL OPENJSON for accessing JSON data" Questions or suggestions? New, changed, and fixed in the Thinkstore modelsUpdated the model "Currencies API"changeWe have removed the currency tables because this solution only provides a web connection and a task to start the API call and show the response. If you want to process the JSON response, this blog post with JSON examples might be useful. Updated the models "RDW car info", "KVK info", and "Webservice example to retrieve address info from zipcode"changeWe have replaced the last message with a task pop-up to make it easier to show the given JSON and process the information. Removed the model "Use T-SQL OPENJSON for accessing JSON data"changeThe model "Use T-SQL OPENJSON for accessing JSON data" has been removed from the Thinkstore. This blog post with JSON examples should give you enough information to work with JSON in T-SQL. Questions or suggestions?Questions or suggestions about the release notes? Let us know in the Thinkwise Community!

Related products:Thinkstore
featured-image

Thinkstore model updates (2024.2)

Hello everyone,In this release, we have improved a couple of models and removed models that had become obsolete. About the ThinkstoreThe Thinkstore is a fully integrated way for downloading and installing ready-made solutions directly into your models right from the Thinkwise IDE.It contains a collection of scripts and samples to help you get the most out of the Thinkwise Platform.You can find the Thinkstore in the Software Factory, in the menu Enrichment > Thinkstore.The Thinkstore only contains solutions specifically for the Software Factory version you are using.Therefore, the Thinkstore will be cleared before every platform upgrade.After the upgrade, if you open the Thinkstore in the new Software Factory version, it will initiate a refresh and retrieve all the available solutions for that version.This process runs in the background. It can take up to ten minutes before the solutions are available.You can read more about the Thinkstore in the Thinkstore guide. ContentsAbout the Thinkstore Improved Improved the model Logging data available in the GUI Improved the model "Trace tasks" Improved the model "Illegal XML characters" Improved the model "Facts" Improved the model "Logging data available in the GUI" Improved the model "Auto create a function for system versioning" Improved the model "Working with dates in SQL" Improved the model "Getting domain elements in SSMS shortcut" Improved the model "Extract a file name from a file path" Improved the model "Translating model objects in business logic" Combined and improved the models "Convert UTC marked dates to locale dates" and "UTC and local time conversion" Removed Removed the model "Auto refresh" Removed "Auto generate reports" Removed the model "Knowledge application" Removed the model "Change detection" Removed the model "Replace HTML font family" Removed the model "Change font of html fields from Segui ui to Arial" Removed the model "Session variables" Removed the model "Default error handling on SQL Server" Removed the model "Drag and drop between subjects example" Fixed Fixed the model "SAP API stock, consumption and production booking" Fixed the model "Multi lang data" Questions or suggestions?   ImprovedImproved the model Logging data available in the GUIchangeWe have updated the Thinkstore model Logging data available in the GUI to improve performance and readability.The control procedure that generates tables, columns, and references no longer uses temporary tables.It now uses staged tables.Improved the model "Trace tasks"changeWe have made the following changes:Adjusted the dynamic model "Trace tasks" to be fully controlled. Added "where not exists" to the columns. Changed that the table and columns are no longer set as "generated". Changed the strategy to "Staged". Changed the order of the assigning. We now weave the functionality into the program object in step 3 instead of step 2. If a task has a transaction, the code is now within the transaction.Improved the model "Illegal XML characters"changeWe have made the following changes:Adjusted the dynamic model "Illegal XML characters" to be fully controlled. Added "where not exists" to the subroutine and parameters. Changed that the subroutine is no longer set as "generated". Changed the strategy to "Staged".Improved the model "Facts"changeWe have added roles for each base table to the model "Facts". We have also created unique indexes for the names per table.Improved the model "Logging data available in the GUI"new changeIn the model "Logging data available in the GUI", we have created the needed domains in case they are not yet in the model via the dynamic model code.We have also added the following fixes:There was an issue with the row_number when determining the conditional layout code values. This has been fixed. If the total length of combined tab_ids exceeds 1000, the extended property will now give an error since this column is a varchar(1000). If there is a reference on the computed column, the ref was deleted from #ref but not #ref_col, which would give an error. This has been fixed.Improved the model "Auto create a function for system versioning"changeFor the model "Auto create a function for system versioning", we have made the following improvements:Changed the dynamic model strategy to 'staged'. Added the creation of the domain. Aligned the code with our Code guidelines. Changed the control_procedure strategy to 'staged'.Improved the model "Working with dates in SQL"changeFor the model "Working with dates in SQL", we have made the following improvements:Revised the table and removed some columns. Changed the control procedure to 'staged' so the assigning will be done automatically. Changed the code for the insertion of the date_helper to be able to update and insert new records where needed. Note: Feel free to add extra columns and functionality where needed, for example:is_working_day / production_week / number_of_days_in_month This is merely a first setup for a date_helper table.Improved the model "Getting domain elements in SSMS shortcut"changeWe have made the following improvements to the model "Getting domain elements in SSMS shortcut":Changed the control_procedure strategy to 'staged'. Changed the dom_id domain to varchar(128) (was 200) to be aligned with the dom_id of the Software Factory. Changed the template with all the domains to contain elements from the Software Factory instead of checking IAM, which is not desirable and costs more performance.Improved the model "Extract a file name from a file path"We have made the following improvements to the model "Extract a file name from a file path":Added 2 domains and a function.   Changed the control procedure strategy to 'staged'. Added 2 unit tests. Fixed that an error would occur when a file path without a backslash ('') was given as input.Improved the model "Translating model objects in business logic"We have made the following improvements to the model "Translating model objects in business logic":Added the function get_dom_elemnt_id to be able to retrieve the element_id of a domain value. For example: order_status with database value 1 can be retrieved with select dbo.get_dom_elemnt_id('order_status',1). Added some more examples of type_of_objects in the control procedure code.Combined and improved the models "Convert UTC marked dates to locale dates" and "UTC and local time conversion"changeWe have merged the models "Convert UTC marked dates to locale dates" and "UTC and local time conversion" into one model.The resulting model has only one function, with an input date time, from_time_zone, and to_time_zone.This way, you are flexible in how you use the function.When you are always in the same timezone, you could create your own function:convert_local_to_utcconvert_utc_to_localYou can then define your own timezone as convert_local_to_utc and convert_utc_to_local. RemovedRemoved the model "Auto refresh"changeWe have removed the model "Auto refresh". Auto refresh can be done by an extended property.For more information, see the Extended properties,RefreshOnDocumentSwitch and RefreshOnTabSwitch.Removed "Auto generate reports"changeWe have removed the model "Auto generate reports".In version 2022.1 of the Thinkwise Platform, we introduced the generate report connector. See Generate report.This connector covers the functionality of the model that was removed.Connecting it to a write file / SMTP connector is explained in this Community post.Use these resources for creating a system flow.Removed the model "Knowledge application"changeWe have removed the model "Knowledge application" from the Thinkstore.Removed the model "Change detection"changeWe have removed model "Change detection". The documentation has the same example: https://docs.thinkwisesoftware.com/docs/sf/business_logic#change-detectionRemoved the model "Replace HTML font family"changeThe model "Replace HTML font family" is outdated and no longer relevant, so we have removed it.Removed the model "Change font of html fields from Segui ui to Arial"changeWe have removed the model "Change font of html fields from Segui ui to Arial". This model did not add anything functional. It only replaced a tag with another span tag that included a font in HTML.Removed the model "Session variables"changeWe have removed the model "Session variables".See the documentation for how to use the session variables:Extended propertiesGenerated session variableshttps://learn.microsoft.com/en-us/sql/t-sql/functions/session-context-transact-sql?view=sql-server-ver16Removed the model "Default error handling on SQL Server"changeWe have removed the model "Default error handling on SQL Server" because the Software Factory handles the most common errors with atomic transactions.See the documentation:Atomic transactionsWeave code into atomic tasksRemoved the model "Drag and drop between subjects example"changeWe have removed the model "Drag and drop between subjects example" which demonstrated drag and drop between subjects.In version 2024.2 of the Software Factory, an enrichment is available to create a drag-and-drop task between two subjects.See Available model enrichments. FixedFixed the model "SAP API stock, consumption and production booking"fixWe removed broken prefilters from the model "SAP API stock, consumption and production booking" and fixed some broken prefilter queries missing the t1. prefix.Fixed the model "Multi lang data"fixWe have changed the error handling. Before, if the table was not in the model, there would be an error.Now, the code will not be executed in that case. Questions or suggestions?Questions or suggestions about the release notes? Let us know in the Thinkwise Community! 

Related products:Thinkstore
featured-image

Release notes Thinkstore (2024.1)

Hello everyone,As of this release, data verification is available in the Thinkstore instead of in the Software Factory. We have also enhanced the functionality for Trace fields, Logging data available in the GUI, and Active prefilter. About the ThinkstoreThe Thinkstore is a fully integrated way for downloading and installing ready-made solutions directly into your models right from the Thinkwise IDE. It contains a collection of scripts and samples to help you get the most out of the Thinkwise Platform. You can find the Thinkstore in the Software Factory, in the menu Enrichment > Thinkstore.The Thinkstore only contains solutions specifically for the Software Factory version you are using. Therefore, the Thinkstore will be cleared before every platform upgrade. After the upgrade, if you open the Thinkstore in the new Software Factory version, it will initiate a refresh and retrieve all the available solutions for that version. This process runs in the background. It can take up to ten minutes before the solutions are available.You can read more about the Thinkstore in the Thinkstore guide. ContentsAbout the Thinkstore Contents New, changed, and fixed in the Thinkstore models Data verification moved to the Thinkstore Trace fields Logging data available in the GUI Active prefilter Questions or suggestions? New, changed, and fixed in the Thinkstore modelsData verification moved to the ThinkstorenewThe base models SQLSERVER_VERIFICATION, ORACLE_VERIFICATION, and DB_VERIFICATION have been relocated to the Thinkstore. Previously, they were included in the initial installation of the Thinkwise Platform.If you need an update for these models, download a new version from the Thinkstore. Trace fieldsWe have converted the Trace fields functionality to align with the latest version of the Dynamic model.new changedThe script now uses a temporary table to identify the set of tables for which you want to generate the trace fields. This change significantly enhances the script's maintainability. The script now has settings at the top for the names of the trace columns. Note: If you change the name of a trace column, you must also adjust the template in the control procedure. The script now generates the tag automatically if it does not exist. Use this tag to exclude trace columns from a specific table. The script now creates the necessary domains automatically if they are not already present. The strategy is now set to Staged, which means trace columns are no longer deleted and re-generated when created. The insert user and insert datetime columns now have a default expression that automatically gets an insert from the database if you do not specify them. This change simplifies the insert statements. The DATETIME domain control now uses the Time zone setting Local to store the trace information in UTC format. You can manually adjust this in the scripts to store the DATETIME control as non-UTC. Note: if you are already using a DATETIME control and the script is not in charge of that domain (i.e., the Generated by control_proc_id is not the same as from the dynamic model trace_fields), this will not be set automatically. Instead of tsf_user(), we now use tsf_original_login() to represent who changed or inserted data, even when user simulation is used. See also User name. The template no longer sets the update trace functionality when adding a record. These lines are now in a comment. You can uncomment them if you wish to keep this functionality. Data sensitivity is now automatically applied to the add and update user columns. The data will be replaced by Added user and Updated user. This prevents showing user names to third parties. The date fields are set to Not sensitive. Data sensitivity is a setting at the top of the script; set it to 0 if you do not want it to be set automatically. We have introduced the Use for optimistic locking setting for the update_date_time trace field. This is a setting at the top of the script; set it to 0 if you do not want to use optimistic locking on the trace field.fixedThe missing commas in the template functionality, which caused the script to break, have been corrected. The length of the user_name domain is now set to 128 to match the tsf_original_login. Logging data available in the GUInewNew settings are available:Exclude trace cols - You can exclude 4 trace columns (by default, insert_user, insert_date_time, update_user, and update_date_time) if you prefer not to show them in your history views. view_suffix- Specify your desired suffix for the history view. Note: the suffix cannot be _history as this is reserved for temporal tables. Previously, it could be a prefix or suffix, but now only a suffix is allowed. show_as_detail - Indicate whether the history should be shown as a detail of the subject. Set it to 0 if this is not required. setup_roles- Set up roles based on the base tables. force_recompile_extended_property_id - In the views, the query hint "Use force recompile" is used now. This hint is beneficial when the view is used as a screen in your application. SQL server uses it to optimize the query plan.changedWe have updated the names of the generated views to history_overview to align them with our naming guidelines. In addition to the regular primary keys, we have added valid_from and valid_to as primary keys to the generated views. We have changed the default sort order to only sort based on the valid_from and valid_to columns. Optimistic locking has been deactivated for all columns in the generated views. The use of handlers has been disabled for the generated views. Previously, this information was derived from the base table for which the view was generated.fixedThe naming of the created references was not always correct. This has been adjusted. The column generated_by_control_proc_id was not correctly filled in every place. Note: when this model causes generation errors, update the objects with the correct generated_by_control_proc_id or remove the existing views and generate them again. The value of the conditional layout has been changed from grid_order_no to abs_order_no since the abs_order_no is always unique within the table. Active prefilternew changedWe have revised the code for creating active prefilters.This dynamic model is based on the strategy Delete because it only assists in creating prefilters and does not maintain them. Once the prefilters are created, you can modify their settings without being overwritten by the dynamic model.Settings in the scripts are available for adjustment to your preferences. It is now possible to use an icon. First, upload it to the icon table. A tag is now available to exclude a prefilter from a table. If you add the tag when the prefilter has already been added, you must manually delete the prefilter. The prefilter is now column-based instead of query-based. You will no longer get a prefilter for generated tables (for example, history views). Questions or suggestions?Questions or suggestions about the release notes? Let us know in the Thinkwise Community! 

Related products:Thinkstore
featured-image

Thinkwise Platform release 2022.1

We are very excited to announce version 2022.1 of the Thinkwise Platform. It is available for download in TCP now!Here, we would like to highlight two features: the full integration of the Thinkstore into the Software Factory and the redesigned deployment processes.For an overview of everything new, improved, and fixed in this release, please consult the release notes in the Thinkwise Docs.  Thinkstore fully integratedLet's start with the Thinkstore. Perhaps you have tried it already in the Community? It has been fully integrated into the Software Factory to improve its ease of use.What is the Thinkstore?The Thinkstore is already available in the Community. It contains a collection of scripts and samples to help you get the most out of the Thinkwise Platform.In the Community, solutions can only be downloaded and installed manually. To improve this, you can now access the Thinkstore in the Software Factory from the menu Enrichment > Thinkstore. Here, you can select, download, and install samples and models right from the Thinkwise IDE into your projects. You can install a solution multiple times under different project names and project versions.Thinkstore fully integrated into the Software Factory Redesigned deployment processesIn the previous release (2021.3), we have redesigned the Creation process. In this release, we have continued improving the entire Deployment process. In the Creation process, writing program objects to disk is available again in the Generate source code step. In the Execute source code step, we have improved the information on the user input that is sometimes required when the execution is aborted. The icons for the available tasks to continue the execution have also been improved. New in the Execute source code step is the possibility to determine the error handling behavior in API calls via Indicium for the tasks Connect to database and Execute source code. Finally, we have improved the error log when the source code is executed via the user interface or Indicium's API.As a follow-up to the redesigned Creation process, the Deployment processes Synchronization to IAM and Deployment package have also been redesigned. Both the processes now run through Indicium, so automation via the Indicium API is possible.In the task Synchronize to IAM, you no longer need to enter a host, database, or authentication. Instead, you only need to select a Target IAM (as set in menu Maintenance > IAM configurations). In the task Synchronize to disk (previously: Write to disk), you no longer need to enter a file location. A location field is displayed on the screen. You can easily navigate to this file or folder using the buttons next to it. In both tasks, the new Note field allows you to place a comment, like the reason for synchronizing. This comment is visible in the History tab's grid.Synchronization to IAM redesignedIn the Deployment package process, you no longer need to enter a file location. After a successful run, all deployment package files are written to the project folder. A field containing the exact location appears on the screen. You can easily navigate to this folder using the button next to it. The new Note field allows you to place a comment, like the reason for creating the deployment package. This comment is visible in the History tab's grid.Deployment package redesigned Other highlightsOf course, this release brings many more new features and changes. Some other highlights are:Expandable validation messages in the tree - Now, validations only show the first 25 messages. This benefits the performance and overview of the screen. When there are more than 25 messages, a node to expand the validation is added to the tree. Import and export projects for reuse - You can now share a project between different environments by exporting it. This is a fast and easy way to enrich your projects. A new logic concept: Change detection - This logic concept allows you to inform the user interfaces during certain events whether or not a subject has been changed and needs a refresh. Task to copy user and group preferences - In IAM, it is now possible to copy all preferences to selected users or user groups.   

Related products:Software FactoryIntelligent Application ManagerThinkstoreUpcycler