<?xml version="1.0"?>
<rss version="2.0">
    
                    <channel>
        <title>Join the conversation</title>
        <link>https://community.thinkwisesoftware.com</link>
        <description>Stay up to date on the latest official Thinkwise news and participate in discussions regarding Thinkwise services &amp; products</description>
                <item>
            <title>Deep Hyperlink in Form is not executed yet?</title>
            <link>https://community.thinkwisesoftware.com/questions-conversations-78/deep-hyperlink-in-form-is-not-executed-yet-6941</link>
            <description>Hi,I wanted to know if it is still the case as mentioned in Harm’s post that while deep hyperlinks to process flows work in Grid, they do not work in Forms. I have tried it myself and it only works in form if I hold CTRL and click it, but then it also opens a new tab. (Universal GUI  2026.2.12.0.0 )He created a TCP ticket. What is the status of this?We are using it to replace the “open folder” functionality. By changing the browser policy we have made it possible to open links to folders in your file explorer. So, we are close to recreating the folder link exactly as before. The only thing left is that deep hyperlinks do not seem to work in Forms. So then users would have to change to using a task button.</description>
            <category>Questions &amp; Conversations</category>
            <pubDate>Thu, 20 Aug 2026 16:43:32 +0200</pubDate>
        </item>
                <item>
            <title>Smoke test (primary key unique) performance</title>
            <link>https://community.thinkwisesoftware.com/questions-conversations-78/smoke-test-primary-key-unique-performance-6936</link>
            <description>In 2025.3 some smoke tests for a unique primary key on a view could be very slow (timeout). When I leave out the TOP 1 in the statement it performs much better.Is this a known issue?    </description>
            <category>Questions &amp; Conversations</category>
            <pubDate>Thu, 20 Aug 2026 15:59:23 +0200</pubDate>
        </item>
                <item>
            <title>Universal: Make combo value prefer exact match</title>
            <link>https://community.thinkwisesoftware.com/ideas/universal-make-combo-value-prefer-exact-match-6717</link>
            <description>When pasting a value in a combo box, it selects the first value that partly matches the text. This is very annoying when you pasted the exact value that you want to enter. It forces you to manually scroll to the right record and select it or use the lookup window.If there is an exact match, it should prefer that over the first matching value.For example:  </description>
            <category></category>
            <pubDate>Thu, 20 Aug 2026 09:40:46 +0200</pubDate>
        </item>
                <item>
            <title>Ability to configure selected rows color</title>
            <link>https://community.thinkwisesoftware.com/ideas/ability-to-configure-selected-rows-color-6937</link>
            <description>As discussed in topic:Also the users of my clients are requesting for more contrast between the selection and the non selected lines.It would be great if we can have some impact on this. A css solution is also acceptable, not ideal.</description>
            <category></category>
            <pubDate>Wed, 19 Aug 2026 13:33:09 +0200</pubDate>
        </item>
                <item>
            <title>Missing Core Functionality to Treeview</title>
            <link>https://community.thinkwisesoftware.com/ideas/missing-core-functionality-to-treeview-6940</link>
            <description>I would like to request the addition of several core capabilities that are currently missing in the Tree View component:Drag &amp;amp; Drop 	Add Expand All and Collapse All to (Custom-) Actionbar	HTML Tooltip	Lazy loading of child nodes to improve performance when working with large hierarchies</description>
            <category></category>
            <pubDate>Wed, 19 Aug 2026 10:54:14 +0200</pubDate>
        </item>
                <item>
            <title>Make input parameter definitions smarter to reduce the need for regeneration</title>
            <link>https://community.thinkwisesoftware.com/ideas/make-input-parameter-definitions-smarter-to-reduce-the-need-for-regeneration-6939</link>
            <description>Currently when adding a field to a table/task or linking a task to a table, the default logic is that the field is added as a input parameter in default/layout/context procedures. As a developer it is possible to disable this, which specially in the case of tab-tasks could lead to performance gain when the task is executed for multiple rows and there is a context procedure for the table that doesn’t do anything with the task.When developing in the SF, you often make small changes that you want to see/test immediately. And when it doesn’t involve any data model changes, you don’t want to wait for the full creation process to finish. However the default/layout/context easily break when a parameter is added, forcing the developer to regenerate each of them again manually. To improve these two points, it would be better if the software factory would automatically detect which parameters are actually being used in the program object and just comment the unused parameters out (leave them commented so a developer could still easily see which parameters are available).The settings under ‘Use concept’ could still be used if there ever is a need for a developer to force it, the options could then be changed to: Automatic (default), on, off.This would improve performance of applications and reduce actions a developer needs to take: Ideas to be 10X faster - which SF workaround to eliminate? | Thinkwise Community</description>
            <category></category>
            <pubDate>Tue, 18 Aug 2026 10:33:56 +0200</pubDate>
        </item>
                <item>
            <title>Support per-environment file overrides for subreports in IAM</title>
            <link>https://community.thinkwisesoftware.com/ideas/support-per-environment-file-overrides-for-subreports-in-iam-6938</link>
            <description>Since the 2024.3 release, it&#039;s possible to override a report&#039;s default file per (production) environment in IAM — very useful for supporting customer-specific layouts.Currently, this override only works on the top-level/main report; subreports attached to it cannot be overridden per environment. For customer-specific layouts where a report includes subreports (e.g. an invoice with a subreport for line items), this limits the feature&#039;s usefulness since the override stops at the top level.Idea:It would be useful if the per-environment file override functionality in IAM could also support subreports, consistent with how the main report already works.</description>
            <category></category>
            <pubDate>Tue, 18 Aug 2026 09:42:40 +0200</pubDate>
        </item>
                <item>
            <title>Dark mode in Debug Center</title>
            <link>https://community.thinkwisesoftware.com/ideas/dark-mode-in-debug-center-6792</link>
            <description>I use dark mode in the Software Factory and SSMS. It’s great that since the Software Factory is available via the Univeral GUI, that it supports dark mode.However, the Debug Center is missing this feaute and is always in ‘light’ mode:It would be great if the Debug Center gets dark mode as well since it’s used a lot during development.Yours sincerely,My eyes</description>
            <category></category>
            <pubDate>Tue, 18 Aug 2026 08:53:35 +0200</pubDate>
        </item>
                <item>
            <title>Parameterized form-tooltip translation</title>
            <link>https://community.thinkwisesoftware.com/ideas/parameterized-form-tooltip-translation-6935</link>
            <description>The parameterized translations is a great tool for making certain fields more understandable for the end-users of the application.Especially with the return of the HELP function in the Universal GUIwe have some great tools to ‘explain the application logic’ to the user. What would be great is when the form-tooltip would be separated from the grid-tooltip, allowing the form-tooltip to be parameterized. (Not showing an ‘ugly’ curly bracket translation in the grid).Why?Hoovering over a field would allow us to explain to the user how a certain value is filled in. Giving room to a explanation with the values of the current row.This would greatly improve the understanding of certain fields for our users, especially ones that are ‘filled in by the application’.It is a step closer to the application than reading a help page or documentation about it, and provides a ‘live’ explanation without having to ‘calculate’ it yourself.For example:We have a couple of fields in a sales order line:currency_id, quantity, quantity_unit, price_per_unit, total_priceIt would be great if the form-tooltip of the total_price could be explained by hoovering over it, allowing us to fill this translation with the following:{quantity} {quantity_unit} * {currency_id} {price_per_unit} = {currency_id}{total_price}As an exampe filling the values currency_id, quantity, quantity_unit, price_per_unit, total_price in as follows:$, 100, PCS, 2.50, 250Would result into a form-tooltip for the ‘Total price ($)’ being filled with 250 as:100 PCS * $2.50  = $250</description>
            <category></category>
            <pubDate>Fri, 14 Aug 2026 12:31:57 +0200</pubDate>
        </item>
                <item>
            <title>Make the activated detail tab smarter when switching rows to support different variants</title>
            <link>https://community.thinkwisesoftware.com/ideas/make-the-activated-detail-tab-smarter-when-switching-rows-to-support-different-variants-6810</link>
            <description>Often there are situations where you want to show a different tab-variant as a detail tab based on a specific property of the selected row in the main grid. This is possible by making multiple references and let the context procedure only show the detail tab with the tab-variant based on the property value.When there are multiple detail tabs for the main subject, this has one major downside though: Normally the GUI remembers the activated detail tab when the user switches rows in the main grid. However when the context procedure switches the reference for a different tab-variant, it activates the first visible detail tab.This creates inconsequent behaviour for the user when switching rows in the main grid because sometimes it does keep the same detail tab activated and sometimes it doesn’t. From the user perspective, the different references to the same detail tab are the same thing.To improve the behaviour of cases when the activated detail tab becomes hidden by a context procedure, the GUI/Indicium should prefer activating the first visible detail tab of the same target table as the previous activated detail tab (before activating the first visible detail tab).An alternative (instead of checking if it is the same target table) could be that it activates the first visible detail tab with the same translation value. </description>
            <category></category>
            <pubDate>Thu, 13 Aug 2026 13:43:23 +0200</pubDate>
        </item>
                <item>
            <title>Model insights window variable width or resizable?</title>
            <link>https://community.thinkwisesoftware.com/ideas/model-insights-window-variable-width-or-resizable-6934</link>
            <description>I would like to see the Model Insights window to be variable in size. We use very long names and can only see the first part of it.For example: </description>
            <category></category>
            <pubDate>Thu, 13 Aug 2026 13:16:31 +0200</pubDate>
        </item>
                <item>
            <title>Mitigate security risks by evaluating added permissions for existing objects in existing roles</title>
            <link>https://community.thinkwisesoftware.com/ideas/mitigate-security-risks-by-evaluating-added-permissions-for-existing-objects-in-existing-roles-6933</link>
            <description>When permissions are added to a role by a developer in a branch, there are 4 types of situations:The object is new for the branch and permission is added to a new role	The object is new for the branch and permission is added to an existing role	The object existed at the start of the branch and permission is added to a new role	The object existed at the start of the branch and permission is added to an existing roleI consider the first 3 situations happy-flow use-cases in which no extra risk is involved because either the role is new or the object is new. The 4th situation is different because the developer has changed permissions of something that already existing without creating it. This is mostly done as an exception when ‘fixing’ permissions that were initially forgotten. The risk for this situation is bigger because maybe the object permission was not forgotten but deliberately left out for that role. Specially for column rights this could be the case. Also a developer who added a new field could use the assign permissions task on table level with the checkbox for all columns, not noticing that there were columns left out previously. Currently it is hard to filter on just the 4th situation. When merging a branch it does give an impact overview of added permissions, but the other 3 situations generate the same type of mutations an thus a lot of noise to go through.For us a quick win with a new prefilter on the merge impact screen that would filter on all types of access rights mutations that are added to existing objects in existing roles would be enough to integrate this in our process. Of course a new role review screen would be even better of course.To clarify: with ‘existing’ I mean that it existed when the branch was created.</description>
            <category></category>
            <pubDate>Thu, 13 Aug 2026 12:00:47 +0200</pubDate>
        </item>
                <item>
            <title>Disable aggregations for groups for specific subjects</title>
            <link>https://community.thinkwisesoftware.com/ideas/disable-aggregations-for-groups-for-specific-subjects-6858</link>
            <description>In Release notes Thinkwise Platform 2026.1.11 | Thinkwise Community aggregations for groups were added. Unfortunately there is only an extended property to disable this for all subjects.Please make it possible to disable aggregations for groups on specific subjects.   </description>
            <category></category>
            <pubDate>Thu, 13 Aug 2026 09:45:38 +0200</pubDate>
        </item>
                <item>
            <title>Open document subtitles: option to use subtitle from active detail</title>
            <link>https://community.thinkwisesoftware.com/ideas/open-document-subtitles-option-to-use-subtitle-from-active-detail-6931</link>
            <description>The subtitles for open documents are great (Release notes Thinkwise Platform 2026.2.12 | Thinkwise Community), however there are some exceptions where you want to use the subtitle of the active detail (one level down) instead of the document itself. Most menu items in the SF are a good example for this. For instance in the Functionality screen you don’t want to show the branch name as subtitle, but you want to show the control procedure name. I am guessing this is the reason the subtitles are currently disabled for the SF.Therefor I would like a setting on the subject (+variant) level so that you can mark that subject to use subtitles of the active detail instead of the subject itself.  </description>
            <category></category>
            <pubDate>Wed, 12 Aug 2026 17:37:54 +0200</pubDate>
        </item>
                <item>
            <title>Workspace Listener for Linux &amp; macOS 🐧</title>
            <link>https://community.thinkwisesoftware.com/ideas/workspace-listener-for-linux-macos-6568</link>
            <description>At the moment, there are no plans to create a Workspace Listener for Linux (source).It would be great to not be limited to Windows and have support for automatic opening of your IDE on Linux. Context:Automatic opening of local code files  For additional convenience, Windows users can install the new Thinkwise Workspace Listener. This tool automatically opens the selected code file in your preferred IDE when clicking on the pencil icon. The Workspace Listener is optional. Without it, you can still edit and synchronize code locally (provided you use a browser that supports the Filesystem API), but you will need to manually open the files in your IDE. 			 									Browsers with File System Access API 			Chrome &amp;amp; Edge 									Browsers without File System Access API 			Safari &amp;amp; Firefox 								Windows 									 Automatic syncs 			 Automatic opening (using the Workspace Listener) 									 No automatic sync 			 No automatic opening 			 			Local code editing requires manual copy/paste 								MacOS 									 Automatic sync 			 No automatic opening 								Linux 									 Automatic sync 			 No automatic opening </description>
            <category></category>
            <pubDate>Wed, 12 Aug 2026 16:58:55 +0200</pubDate>
        </item>
                <item>
            <title>The option to use IN as filter in the form list</title>
            <link>https://community.thinkwisesoftware.com/ideas/the-option-to-use-in-as-filter-in-the-form-list-4052</link>
            <description>The last couple of days we receive multiple questions from our end users that the standard form list in the GUI doesn&#039;t give the option to use ‘IN’ to filter results. We are very curious why there is no option to put multiple different values comma separated in the standard GUI filter?This group of around 25 end users just moved from a 20+ years old ERP system to our Thinkwise ERP system but they showed us how they worked in the old system and to be honest, it looks easy to implement in the Thinkwise GUI and we actually are a bit curious why nobody seemed to noticed this ‘gap’ before. Maybe we overlooked something but it seems that it can&#039;t be done in the GUI in the current version (2023.1.12.0).Not sure how to call the standard filter in the GUI, but in SF they call this filter a form list. In blue there are the options to choose from, they look like this in our Dutch version of the GUI: We miss ‘IN’ as option in this listWhat we need is the option ‘IN’ and a possibility to fill in the values comma separated. For example if you want to see details from 3 different orders 123, 567 and 999 in the old ERP system we would easily filter like this:Filter 3 different sales orders in the &amp;gt;20 years old ERP systemAs a select query this would result in something like:Select details from sales_orders where sales_order_id in (123,567,999)So nothing really difficult about this, so we hope you can put this very soon as a filter option in the GUI?In our old system the filter can also be built like this (see also the different options like ‘and’ and ‘ or’ on the left side as well):Ways to build a selection filter in the &amp;gt;20 year old ERP systemWe read in some other posts on the community about using AND or OR as a prefilter, so maybe this last picture can be helpful. Nevertheless for us the most important thing is to give our end users the possibility to just fill in multiple values comma separated. Maybe this is already possible, if so, hopefully somebody can explain how and if not, we hope Thinkwise can provide this awesome option very soon. Thank you in advance!</description>
            <category></category>
            <pubDate>Wed, 12 Aug 2026 16:57:29 +0200</pubDate>
        </item>
                <item>
            <title>Disable any development in Finalized branches</title>
            <link>https://community.thinkwisesoftware.com/ideas/disable-any-development-in-finalized-branches-6901</link>
            <description>When a finished branch gets merged to it&#039;s origin (non-reciprocal). It becomes finalized and, depending on selection, archived. Further merging into and from this branch is thereafter no longer possible. Yet, active development is still possible in a finalized branch (even after unarchiving). Wouldn&#039;t it make sense to completely lock development in a finalized branch as well? I have experienced a scenario where an unsuspecting developer was actively developing in a finalized branch (without knowing it was a finalized branch) and then find out way too late all of his work is for naught.</description>
            <category></category>
            <pubDate>Wed, 12 Aug 2026 16:54:46 +0200</pubDate>
        </item>
                <item>
            <title>Give the developer more information when deleting a row in the Software Factory</title>
            <link>https://community.thinkwisesoftware.com/ideas/give-the-developer-more-information-when-deleting-a-row-in-the-software-factory-6751</link>
            <description>When deleting a row in the Software Factory, it currently shows the generic message:Usually you can see the selected row in the background, however, I’d like bit more assurance when deleting things in the Software Factory. It would be great if it showed for example (when deleting):Functionality: Are you sure you want to delete {control_proc_id}	Branch: Are you sure you want to delete {branch_id}	etc.</description>
            <category></category>
            <pubDate>Wed, 12 Aug 2026 16:39:28 +0200</pubDate>
        </item>
                <item>
            <title>Some improvements on visibility of open documents</title>
            <link>https://community.thinkwisesoftware.com/ideas/some-improvements-on-visibility-of-open-documents-185</link>
            <description>In the universal GUI opening (a lot of) documents can make the navigation panel cluttered and even push the menu out of sight:

Some suggestions to improve this:
 
Split the navigation panel in two panels with seperate vertical scroll-bars as soon as the number of open documents exceeds a certain treshold 
Add levels for detail-documents beneath open documents and collaps them the same as the menu tree with (automatic) collapsing and expanding 
Add context (part of the breadcrumb) to the title or mouse-over of detail-documents to prevent having to open a document to see wich one is the right one 

Another suggestion:
 
An option to lock an open document, so that it is available the next time I login to the application</description>
            <category></category>
            <pubDate>Wed, 12 Aug 2026 16:38:05 +0200</pubDate>
        </item>
                <item>
            <title>Ability to show table tasks on grid line</title>
            <link>https://community.thinkwisesoftware.com/ideas/ability-to-show-table-tasks-on-grid-line-518</link>
            <description>We would like to have the ability to show table tasks on a grid line. This is especially useful for the mobile GUI and when just a couple of table tasks are available.

Currently you can show tasks on the top or bottom of a grid in mobile. To start a task for a specific record you should select a line first and then select the concerning task. In the described case it is faster to select the task direct on the line.

See print screens for further explanation.

Task on top of grid (current situation)
Example tasks on grid line</description>
            <category></category>
            <pubDate>Wed, 12 Aug 2026 13:53:13 +0200</pubDate>
        </item>
                <item>
            <title>Prefilters and Tasks in group dropdown</title>
            <link>https://community.thinkwisesoftware.com/questions-conversations-78/prefilters-and-tasks-in-group-dropdown-6930</link>
            <description>I vaguely remember seeing something about that it was possible to have a drop down in the action bar with grouped filters or task. Kind of like the overflow menu.Can’t find anything about this, so did I remember this wrong or dream this up? Or is something like this actually available in one of the newer SF/Universal GUI versions?</description>
            <category>Questions &amp; Conversations</category>
            <pubDate>Wed, 12 Aug 2026 11:46:56 +0200</pubDate>
        </item>
                <item>
            <title>GUI does not support Hierarchyid</title>
            <link>https://community.thinkwisesoftware.com/ideas/gui-does-not-support-hierarchyid-2834</link>
            <description>Hi Thinkwise community, We want to use the data type Hierarchyid. Hierarchyid is very useful for multi-level structures and is better for our performance. Now we use recursive methods but the bigger they get the slower they become and every time something changes you have to recalculate the entire tree.Unfortunately, this is not possible because the GUI does not support Hierarchyid. I saw a topic with a great solution by Anne Buit. Is it possible that Thinkwise can implemented this mapping? Thanks! Solution:“The hierarchyid is a type that does not have a direct mapping to any internal datatypes used by the technology of the GUI so a conversion must be made to a mappable type whenever this value is loaded into the memory of the GUi (e.g. to nvarchar(4000) and back to hierarchyid).” Topic:Support for System Data type - Hierarchyid</description>
            <category></category>
            <pubDate>Mon, 10 Aug 2026 12:29:19 +0200</pubDate>
        </item>
                <item>
            <title>DEV express: Changing the tab name of an Excel</title>
            <link>https://community.thinkwisesoftware.com/questions-conversations-78/dev-express-changing-the-tab-name-of-an-excel-6739</link>
            <description>Hi, Within DEV express I have built a document that generates an Excel file with multiple tabs. The DEV express report looks like this:The problem I am running into is that in no way I am able to change the names of the tabs in the Excel file. The name is stays OHW overzicht(number) for each tab. I have changed the SheetName and Name of the subreport but the name doesn&#039;t change.I have tried adding a script to the Report, but that doesn&#039;t work either. My gut says that in some way the tab names are blocked or written over. How do I change the tabs names to the names that I need? Kind regards,Mark</description>
            <category>Questions &amp; Conversations</category>
            <pubDate>Fri, 07 Aug 2026 16:28:05 +0200</pubDate>
        </item>
                <item>
            <title>Have task confirmation messages use the lookup value of the parameter</title>
            <link>https://community.thinkwisesoftware.com/ideas/have-task-confirmation-messages-use-the-lookup-value-of-the-parameter-6929</link>
            <description>When I use a specific message and have it refer to a parameter with a lookup, it will show the “id” value instead of the “name” value of the lookup.Ex:translation of messageCurrent result:showing the “id” valueDesired result:using the actual “name” value of that parameterIt would be nice to have it use this “name” value, so I do not need to add another parameter to get the result I desire.</description>
            <category></category>
            <pubDate>Fri, 07 Aug 2026 14:41:39 +0200</pubDate>
        </item>
                <item>
            <title>new lines in message lines</title>
            <link>https://community.thinkwisesoftware.com/questions-conversations-78/new-lines-in-message-lines-6839</link>
            <description>Hi,I’m in the process of testing our Windows GUI apps in the Universal GUI and I noticed that messages seem to display differently: The text is done thru the translation: How can I fix this?</description>
            <category>Questions &amp; Conversations</category>
            <pubDate>Thu, 06 Aug 2026 15:45:20 +0200</pubDate>
        </item>
                <item>
            <title>Better filter control for source_branch_type_of_object on merge_conflict_overview</title>
            <link>https://community.thinkwisesoftware.com/ideas/better-filter-control-for-source-branch-type-of-object-on-merge-conflict-overview-6928</link>
            <description>Having countless of program object types makes it kind of a pain for filtering when dealing with merge conflicts (especially merge sessions with numerous conflicts).  Long long list of object typesIn my instance I know a majority from the conflicts originate from Translations. Now I have to manually scroll all the way down to the ‘T’ area and still look around there. Would be nice if I could just type and search instead.</description>
            <category></category>
            <pubDate>Thu, 06 Aug 2026 15:05:28 +0200</pubDate>
        </item>
                <item>
            <title>Direct Table Schema Modifications in Software Factory</title>
            <link>https://community.thinkwisesoftware.com/ideas/direct-table-schema-modifications-in-software-factory-6927</link>
            <description>During development, we wish it would be possible to make table schema changes directly in the active development database from within the Software Factory. For example, adding, modifying, or removing table indexes without requiring a complete creation routine.This will significantly accelerate the development process. </description>
            <category></category>
            <pubDate>Thu, 06 Aug 2026 13:45:27 +0200</pubDate>
        </item>
                <item>
            <title>Allow manual execution of inactive dynamic procedures</title>
            <link>https://community.thinkwisesoftware.com/ideas/allow-manual-execution-of-inactive-dynamic-procedures-6926</link>
            <description>We use several scripts that we run manually on the SF database. One example is a script that suppresses all validation messages for a branch. We run this immediately after creating a feature branch, so that open validation messages carried over from the development branch don&#039;t obscure new messages originating from the feature branch itself.We have included this script in our model as a dynamic procedure, which means it falls directly under model maintenance. The procedure has been marked as inactive, because it should not run during every deploy — we only want to execute it manually.However, for inactive procedures the execute button is also disabled. This means we have to activate the procedure first, run it, and then deactivate it again. A bit cumbersome.Idea: allow the execute button to remain available for inactive dynamic procedures, so they can be run manually regardless of their active/inactive status.</description>
            <category></category>
            <pubDate>Wed, 05 Aug 2026 19:45:53 +0200</pubDate>
        </item>
                <item>
            <title>Clear filters on detail when the main row is switched</title>
            <link>https://community.thinkwisesoftware.com/ideas/clear-filters-on-detail-when-the-main-row-is-switched-6900</link>
            <description>Sometimes you apply filtering to a detail to get a certain result. Then you switch rows on the main list. And go to the same detail but the detail is still filtered on the previously used filtering so you don’t see any rows until you remove the previously used filtering. I find this very confusing please clear the filtering on a detail when the main row is switched. </description>
            <category></category>
            <pubDate>Tue, 04 Aug 2026 16:38:36 +0200</pubDate>
        </item>
                <item>
            <title>multiple menu themes</title>
            <link>https://community.thinkwisesoftware.com/ideas/multiple-menu-themes-6925</link>
            <description>I would like to have the abillity to make more themes for Universal. because i have a scanner menu and a back office menu which i for example would like to give diffrent colors/images. So i would like make a Theme Universal - deafult menu: scanner → red with white background but also a theme Universal → defeault menu: back office → blue with picture And i know the option exists within the IAM to change this per person. However i would also like to be able to switch between menu’s as a certain envoirment change.</description>
            <category></category>
            <pubDate>Tue, 04 Aug 2026 14:58:08 +0200</pubDate>
        </item>
                <item>
            <title>Copy to clipboard (form)</title>
            <link>https://community.thinkwisesoftware.com/questions-conversations-78/copy-to-clipboard-form-6907</link>
            <description>We are running SF 2026.1.11  Recently I started using Copy to clipboard (form) on certain domain entities. I only now encounter the issue that when I want to edit in a grid, the column is not available for new or existing rows. It works fine on tasks and forms, but can&#039;t change data in a grid edit?</description>
            <category>Questions &amp; Conversations</category>
            <pubDate>Tue, 04 Aug 2026 14:31:23 +0200</pubDate>
        </item>
                <item>
            <title>Look up: link or pop up button</title>
            <link>https://community.thinkwisesoftware.com/questions-conversations-78/look-up-link-or-pop-up-button-6918</link>
            <description>I am confused: why does a look up most of the times appear as a link, but sometimes as a button on the right of the field?I am looking at the settings of these two columns, but can’t find what would determine this.Another difference is that the link pop up is filtered on the specific record, but the button pop up goes to the row. Since it is not filtered on the row the second can be much slower to load.Is it maybe because of the look up screen type? If it has the grid and form on in one container will it go for the button option instead of the link+filter option?</description>
            <category>Questions &amp; Conversations</category>
            <pubDate>Tue, 04 Aug 2026 14:25:00 +0200</pubDate>
        </item>
                <item>
            <title>Can a folder on the disk be opened?</title>
            <link>https://community.thinkwisesoftware.com/questions-conversations-78/can-a-folder-on-the-disk-be-opened-6913</link>
            <description>I am trying to change a file link control, because it is deprecated, to a file upload control.However, the file link opened a folder on the disk. With file upload that does not seem to work.Is it possible to open a folder on the disk from a control?If not, is it possible to open a folder on a disk with the process action open link?From this community post is it correct that there is no option yet to open a folder?https://community.thinkwisesoftware.com/ideas/file-link-and-universal-open-files-directly-6473</description>
            <category>Questions &amp; Conversations</category>
            <pubDate>Tue, 04 Aug 2026 14:21:38 +0200</pubDate>
        </item>
                <item>
            <title>Tick-box on records in merge impact screen</title>
            <link>https://community.thinkwisesoftware.com/ideas/tick-box-on-records-in-merge-impact-screen-6924</link>
            <description>Improve quality of merge results by making it easier to track which merge impact item has been checked.  I check merge impact before effectuating a merge session. Most natural would be to do that by functional segment, but I tend to do it by type of object: I sort the merge impact by type of object, and then check all records of type kind of object and then turn that type off in the filter. After iterating over all types of object, all impact has been checked. The filter is transient though, so when there’s reason to reset the filter, I lose track. It would be handy to have a tick box available that I can tick after checking a record of impact. </description>
            <category></category>
            <pubDate>Tue, 04 Aug 2026 14:19:31 +0200</pubDate>
        </item>
                <item>
            <title>Best way to detect client type</title>
            <link>https://community.thinkwisesoftware.com/questions-conversations-78/best-way-to-detect-client-type-6854</link>
            <description>Hi,We are currently transitioning a client from the Windows GUI to the Universal GUI.In the existing situation, reports are generated via tsfreportmailer (gui_code), which is not supported in the Universal GUI. During the transition phase, both GUIs are active, so we need to support both approaches.At the moment, we are experimenting with a process flow that calls Indicium for report generation.What we would like to achieve is a where we can decide, based on the client type, whether to:execute the exesting Windows-specific reporting task, or	execute a Universal/Indicium-based reporting taskSo effectively, detect the active GUI..For testing, we tried select app_name(); This returns:Thinkwise Software Factory in the Windows GUI	Indicium in the Universal GUIThis seems to work, but it feels a bit implicit.Questions:Is using app_name() the recommended way to distinguish between Windows and Universal GUI?	Is there a more robust or supported method (e.g. via session_context or another mechanism)?	What is the best practice for handling GUI-dependent logic like this?Thanks in advance!Blommetje</description>
            <category>Questions &amp; Conversations</category>
            <pubDate>Tue, 04 Aug 2026 14:15:26 +0200</pubDate>
        </item>
                <item>
            <title>creating a different schema</title>
            <link>https://community.thinkwisesoftware.com/questions-conversations-78/creating-a-different-schema-6890</link>
            <description>Hallo, I have a question regarding database schemas in Thinkwise. Is it possible to use tables from a custom database schema (for example, a schema other than dbo) within a Thinkwise application? If yes, are there any considerations or limitations when using a different schema?What is the recommended approach when using tables from a schema other than dbo ?  Thank youJheng</description>
            <category>Questions &amp; Conversations</category>
            <pubDate>Tue, 04 Aug 2026 14:11:15 +0200</pubDate>
        </item>
                <item>
            <title>WFC service request binary msbin1</title>
            <link>https://community.thinkwisesoftware.com/questions-conversations-78/wfc-service-request-binary-msbin1-6880</link>
            <description>Is it possible to send a WCF web service request in the MSBIN1 format using the Thinkwise Platform?I have tested a standard Web Connection, but it is unclear whether the MSBIN1 format is supported. Could you please clarify if there is a way to send requests to a WCF service that requires MSBIN1-encoded messages?</description>
            <category>Questions &amp; Conversations</category>
            <pubDate>Tue, 04 Aug 2026 14:06:50 +0200</pubDate>
        </item>
                <item>
            <title>/$metadata returns 403 with PAT (Bearer token)</title>
            <link>https://community.thinkwisesoftware.com/questions-conversations-78/metadata-returns-403-with-pat-bearer-token-6893</link>
            <description>Hi everyone,When I try to fetch the application structure using the PAT via Bearer authentication, I get a 403 error GET /indicium/iam/appl/ii/$metadataHowever, the exact same call works perfectly fine when I switch to Basic Authentication (username/password of the service account).Furthermore, I have no issues at all when fetching actual data from tables (like /employee) using the PAT. It seems to fail on the /$metadata endpoint.The service account has Available for Webservices enabled and full Fetch rights in IAM.Does anyone know why the PAT is being rejected specifically on the metadata endpoint while working fine everywhere else?</description>
            <category>Questions &amp; Conversations</category>
            <pubDate>Tue, 04 Aug 2026 14:03:20 +0200</pubDate>
        </item>
                <item>
            <title>Large process flow becomes unstable during fast user interaction</title>
            <link>https://community.thinkwisesoftware.com/questions-conversations-78/large-process-flow-becomes-unstable-during-fast-user-interaction-6879</link>
            <description>Hello,We are experiencing an issue with the following process flow, see attachment. As you can see, it is a very large process flow, but in general it does return the correct results and performs the expected actions.However, when I quickly click through the process, open and close the task, etc., basically when I interact with it a bit faster, it starts to behave unexpectedly. For example, an intermediate screen sometimes no longer opens. In addition, cancelling also takes quite a long time, around 10 seconds.Could this behavior be caused by the process flow being too large, for example because the flow has not fully completed yet before a new start is triggered? Or is there likely something else going on?Our preference would be not to split up the process flow, as this would require a lot of work and would also introduce additional risks. Therefore, we would first like to understand whether there is another way to make this process more stable.</description>
            <category>Questions &amp; Conversations</category>
            <pubDate>Tue, 04 Aug 2026 13:40:56 +0200</pubDate>
        </item>
                <item>
            <title>Process flow API with response_body</title>
            <link>https://community.thinkwisesoftware.com/questions-conversations-78/process-flow-api-with-response-body-6857</link>
            <description>How do you set up a process flow as an API where a request_body and response_body can be realized?At the moment, I have managed to do this by using Deep Link with the request_body parameter,but then it is not possible to return a response_body.</description>
            <category>Questions &amp; Conversations</category>
            <pubDate>Tue, 04 Aug 2026 13:37:52 +0200</pubDate>
        </item>
                <item>
            <title>The effective rights of a user group in our test environment&#039;s IAM differ from what I set in the SF.</title>
            <link>https://community.thinkwisesoftware.com/questions-conversations-78/the-effective-rights-of-a-user-group-in-our-test-environment-s-iam-differ-from-what-i-set-in-the-sf-6735</link>
            <description>Hello everyone,I run into an issue regarding roles and rights. We have a few key roles that need to be restricted a little more, so I set the details of a certain table as the following: And this is how it is in the IAM on the user group in question after a sync to IAM:The rights are fully open, while I set it quite differently in the SF part. Now a user gets to see tables they shouldn&#039;t see. Is there something I am overlooking or is there something wrong?</description>
            <category>Questions &amp; Conversations</category>
            <pubDate>Tue, 04 Aug 2026 13:22:24 +0200</pubDate>
        </item>
                <item>
            <title>Table task mid process flow does not show parameters in uni gui</title>
            <link>https://community.thinkwisesoftware.com/questions-conversations-78/table-task-mid-process-flow-does-not-show-parameters-in-uni-gui-6868</link>
            <description>Hi, I have a process flow that is started by a table task. The second step is another &#039;Start table task’. This task has several parameters (read-only, set by default proc), and yes/no buttons. This works fine in Win gui, but in Uni this flow stops in endless loop, since this table task parms/button doesn&#039;t popup. Is this expected behavior? We have quite a lot PF with table tasks in the middle of the flow.. and now moving to uni gui it&#039;s causing problems. Let me knowThanks, Blommetje  Second table task - in win gui - with parms/buttons. The process flow causing a lot of trouble.I could show a screenshot of an endless spinner in UNI gui, but I don&#039;t it will add any value.   </description>
            <category>Questions &amp; Conversations</category>
            <pubDate>Tue, 04 Aug 2026 13:18:55 +0200</pubDate>
        </item>
                <item>
            <title>Show PDF documents stored in Azure Blob Storage in the Previewer</title>
            <link>https://community.thinkwisesoftware.com/questions-conversations-78/show-pdf-documents-stored-in-azure-blob-storage-in-the-previewer-6797</link>
            <description>What can we do to show (pdf) documents which is stored in Azure Blob storage in the previewer component?Now it shows a download link (see below), while it worked for files that are stored in Azure File Storage </description>
            <category>Questions &amp; Conversations</category>
            <pubDate>Mon, 03 Aug 2026 13:27:06 +0200</pubDate>
        </item>
                <item>
            <title>Getting started with MCP</title>
            <link>https://community.thinkwisesoftware.com/news-blogs-21/getting-started-with-mcp-6923</link>
            <description>With Thinkwise Platform STS 2026.2.12, MCP support lands as a beta feature. Connect Claude, or any other MCP-compatible AI tool straight to the applications you build on the Thinkwise Platform: your data, your logic, your rules, with your application roles and IAM doing the security work.If you have never touched MCP before, you are in good company, and you will not be figuring it out on your own. This guide assumes zero prior knowledge and walks you, step by step, from what MCP is through your first authorized chat with your own application&#039;s data.Grab a coffee. In about twenty minutes your AI assistant will be able to query live data straight from your own application, and only the data your IAM roles allow. Once you get there, tell us what you built. We are learning what works best from the same use cases you are. What is MCPMCP stands for Model Context Protocol: an open standard that lets an AI assistant call out to external tools and data sources in a structured, predictable way. Instead of copying data into a chat window, the assistant asks your application directly, through a defined set of actions you control.MCP is not an AI or a language model on its own. Think of it as a connector standard: it defines how a chatbot or agent talks to a server, not how that chatbot thinks. Indicium can now act as that server, exposing your application&#039;s data and logic as MCP tools that Claude, or any other MCP-compatible client, can call.Every call still runs through your platform&#039;s IAM roles and access delegation. The AI never sees more than the connecting user is authorized to see.Under the hood, this is simpler than it sounds. Indicium exposes a single MCP endpoint, typically something like https://your-indicium-host/mcp, and that is the one address your AI tool connects to. On first connection, Indicium walks the AI through an OAuth flow using the client application you registered in IAM: the AI presents the client ID and secret, your user signs in and grants consent, and Indicium returns a token scoped to exactly the roles you authorized. Every request after that, whether the AI is reading data or running a task, goes through that same /mcp endpoint and is checked against your IAM roles before anything happens.For more information, see: PrerequisitesBefore you start, make sure your environment is on these versions:Thinkwise Platform STS 2026.2.12 or later	Indicium 2026.2.12 and Universal UI 2026.2.12 Indicium setupThe setup we recommend is simple: make Indicium reachable from the public internet. That might sound bold, but it is exactly how we run things ourselves. Every Thinklab and Thinkwise Cloud environment is already internet-facing, not tucked away on a local network, and it holds up fine.That includes development environments. Indicium authenticates and authorizes every request before it touches your data, so opening up a dev environment carries the same protection as production, and it should not introduce meaningful security risk.If Indicium runs on-premises, it&#039;s also worth confirming that the server can resolve its own external hostname over DNS. This is easy to miss, since it doesn&#039;t affect normal inbound traffic, but it can break outbound calls Indicium makes to itself.On-premises DNS occasionally has no record for that external name, so the call fails even though the server is reachable fine from the outside. It&#039;s a rare issue, and it&#039;s usually a quick fix for your system administrator: add an internal DNS record, or a hosts file entry, that resolves the external hostname to the server itself.Tip: Turn on single sign-on (SSO) wherever you can. It adds a layer of security and makes login painless for your users. LocalNot every environment can be open to the internet, and that is fine. MCP also runs locally, against an Indicium instance on your own machine or network.The trade-off is reach. Most browser-based AI tools cannot open a connection to something running locally, so your options narrow. Concretely, that rules out Claude&#039;s and ChatGPT&#039;s browser and mobile apps, and it rules out automation platforms like n8n too: none of them can reach a server sitting on your own machine. For this scenario, we recommend Claude Code with the Claude CLI, both of which run your local Indicium without issue. IAM setupMCP authorization runs entirely through IAM &amp;amp; Indicium. Three switches need to be set correctly before your first connection will work: user authorization, application authorization, and the client application itself. User authorizationEvery user who will connect an AI assistant needs delegation rights. Open the user record in IAM and enable Allow access delegation for each user you want to give MCP access.Enabling access delegation on a user record Application authorizationThe application needs the same switch. Open the application record and enable Allow access delegation there as well.Enabling access delegation on the application recordThen authorize each relevant role for both User groups and Access delegation. Skip one and you will not be able to authorize that role&#039;s scope for MCP later, so it is worth double-checking both boxes now. Client application setupIAM treats every external system that authenticates against your platform as a client application: a registered identity with its own name, secret, and permissions, separate from any individual user. Your MCP connector is just one more client application, so it gets set up the same way any other integration would.Open the client application screen and create a new client application with the following settings:Creating a new client application in IAMGive it a clear name. You will reuse this name as the client ID when you connect the MCP connector to your AI tool later, so make it memorable. Enable the client, set API access to Limit, turn consent on, and switch offline access on.Next, open the Secrets tab and create a new client secret. The MCP connector uses this secret to authorize itself when it connects.Treat this secret exactly like a production credential. Store it in a password manager or secrets vault, never in a chat log, command history, or shared file.In the Allowed redirects tab, add the following record: http://localhost:8080/callbackFinally, open the Access delegation roles tab and enable every role you want available through MCP.Enabling roles for the client application under Access delegation roles Adding a custom MCP connector to your AI of choiceWith IAM configured, you are ready to point an AI tool at your new MCP connector. This guide covers Claude Code in Visual Studio Code first, since it works whether or not your Indicium is exposed to the internet. More platforms are on the way; see the note at the end of this post. Claude Code in Visual Studio CodeThree pieces of software need to be on your machine before you can add the connector:Visual Studio Code	The Claude Code extension for Visual Studio Code	The Claude Code CLIAlready have all three installed? Skip ahead to Install using chat below. Permissions in Visual Studio CodeThe first time an MCP tool runs, Claude asks your permission. That is expected: it is the same guardrail that protects any file Claude touches on your machine.You might also be asked to save a file to disk now and then, if Claude decides that is more efficient than holding everything in memory, or if it needs to filter a dataset that is easier to work with as a file. Set your comfort level in the permission selector at the bottom right of the chat bar. The default mode asks before every tool call, Auto approves routine actions automatically, and Bypass permissions skips confirmation altogether, so pick the one that matches how much you want to supervise.Setting the permission mode in Claude Code&#039;s chat bar Install using chatYou can add a connector straight from chat. Open a new chat window and send the prompt below. I have also included this prompt as a skill in the attachments, this makes it more reusable if you have more than one MCP environment that needs setting up. Claude will ask, step by step, for the information it needs: your Indicium URL, the client ID (the client name you chose), and the client secret. It will then use that information to create the MCP connector in your Claude Code installation.install an mcp connector using the following instructions:# Install an MCP connector in Claude CodeSet up and authenticate a custom MCP connector in Claude Code. Ask thequestions in Step 0 one at a time before doing anything — do not assumedefaults for values the user hasn&#039;t given you, except where marked &quot;default.&quot;## Step 0 — Gather configurationAsk, in order, waiting for each answer before asking the next:1. **Server name** — the alias to register this connector under in Claude   Code (e.g. `sf_mcp`). This name must be used consistently in every step   below (add, get, config lookup, `/mcp` selection) — do not let the add   command use a different name than later steps reference.2. **MCP endpoint URL** — the full transport URL (e.g.   `https://&amp;lt;host&amp;gt;/&amp;lt;path&amp;gt;/mcp`).3. **OAuth client ID.**4. **OAuth client secret** — tell the user it will only be exported into the   current shell session as an env var, never echoed, logged, or written to   a file.5. **Callback port** (default: `8080`) — only needs to change if the   server&#039;s OAuth client has a different redirect URI pre-registered.6. **OAuth discovery document URL** (default:   `&amp;lt;mcp base URL without /mcp&amp;gt;/.well-known/openid-configuration`) — ask   only if the user says the default path doesn&#039;t apply.7. **Config scope** (default: `user`) — `user` registers the connector once   for every project on this machine; `local` restricts it to the current   project only. Ask only if the user wants something other than `user`.Call the collected values `{{SERVER_NAME}}`, `{{MCP_URL}}`, `{{CLIENT_ID}}`,`{{CLIENT_SECRET}}`, `{{CALLBACK_PORT}}`, `{{DISCOVERY_URL}}`, `{{SCOPE}}`below. Derive `{{RESOURCE_BASE}}` by stripping the trailing `/mcp` pathsegment from `{{MCP_URL}}`.## Step 1 — Export the client secret for this shell sessionThe variable name is `MCP_CLIENT_SECRET` — fixed, not derived from theserver name. `claude mcp add --client-secret` reads only this name; anythingelse fails with *&quot;No TTY available to prompt for client secret. SetMCP_CLIENT_SECRET env var instead.&quot;*(bash)```export MCP_CLIENT_SECRET=&quot;{{CLIENT_SECRET}}&quot;```(PowerShell)```$env:MCP_CLIENT_SECRET = &quot;{{CLIENT_SECRET}}&quot;```Agent shells generally do not persist environment variables between toolcalls. Run this export and the Step 2 `add` in a **single** invocation(`;`-joined in PowerShell, `&amp;amp;&amp;amp;`-joined in bash) rather than as two steps.## Step 2 — Add the MCP server```claude mcp add -s {{SCOPE}} --transport http {{SERVER_NAME}} {{MCP_URL}} \  --client-id {{CLIENT_ID}} \  --client-secret \  --callback-port {{CALLBACK_PORT}}````-s {{SCOPE}}` is not optional — with no `-s`, `claude mcp add` defaults to`local`, which registers the server for the current project only.`--client-secret` with no value reads from the env var set in Step 1.`--callback-port` pins the OAuth redirect URI to`http://localhost:{{CALLBACK_PORT}}/callback` — required whenever theserver&#039;s OAuth client has that exact redirect URI pre-registered.## Step 3 — Add discovery metadataThe entry&#039;s location in `~/.claude.json` depends on the scope used inStep 2:| Scope | Path in `~/.claude.json` ||---|---|| `user`  | top-level `&quot;mcpServers&quot;` → `&quot;{{SERVER_NAME}}&quot;` → `&quot;oauth&quot;` || `local` | `&quot;projects&quot;` → `&quot;&amp;lt;project path&amp;gt;&quot;` → `&quot;mcpServers&quot;` → `&quot;{{SERVER_NAME}}&quot;` → `&quot;oauth&quot;` |Locate the entry by searching the file for `&quot;{{SERVER_NAME}}&quot;` rather thanassuming either path. Under its `&quot;oauth&quot;` object, add:```&quot;authServerMetadataUrl&quot;: &quot;{{DISCOVERY_URL}}&quot;```## Step 4 — Discover and pin scopes dynamically (do not hardcode)Do not type out a fixed scope list. Query the server itself for what itcurrently advertises, then write that into the config:1. **Query the server for its current scopes.** GET the OAuth   protected-resource metadata document (RFC 9728), which is unauthenticated:   ```   curl -sS &quot;{{RESOURCE_BASE}}/.well-known/oauth-protected-resource&quot;   ```   This returns JSON with a `scopes_supported` array. If it 404s, retry   against the MCP path itself:   ```   curl -sS &quot;{{RESOURCE_BASE}}/.well-known/oauth-protected-resource/mcp&quot;   ```   If both fail, ask the user to paste the scope list manually and skip to   step 5 below.2. **Check for an existing scopes value.** Read `oauth.scopes` at the same   scope-determined location as Step 3 — top-level   `mcpServers.{{SERVER_NAME}}.oauth.scopes` for `user` scope,   `projects{&quot;&amp;lt;project path&amp;gt;&quot;].mcpServers.{{SERVER_NAME}}.oauth.scopes` for   `local` — or a `.mcp.json` in the repo for project scope. It&#039;s likely   empty/absent on a fresh add — that&#039;s expected, just treat the server&#039;s   list as entirely new.3. **Diff before writing.** Compare the server&#039;s `scopes_supported` array   against any existing `oauth.scopes` string.   - If they already match, say so and skip to Step 5 — nothing to change.   - If this is a fresh add, or the server list only adds scopes, note what&#039;s     being granted.   - If scopes are being removed/narrowed from a prior value, note that too.4. **Confirm before granting.** Since this is a first-time authorization   (or a widening one), use AskUserQuestion to show the discovered scope   list and confirm before writing it — especially anything that reads like   a write/approve/send/manage/create/delete capability. Don&#039;t silently   apply an OAuth grant the user hasn&#039;t seen.5. **Write the config precisely.** Set `oauth.scopes` for   `{{SERVER_NAME}}` to the confirmed list, joined with single spaces, in   the server&#039;s own ordering:   ```   &quot;scopes&quot;: &quot;&amp;lt;scope1&amp;gt; &amp;lt;scope2&amp;gt; &amp;lt;scope3&amp;gt; ...&quot;   ```   Do this with a targeted string replacement (Read the exact surrounding   lines first, then Edit) — do not round-trip the whole `~/.claude.json`   through a JSON parser/serializer, since it&#039;s a large shared file and   reserializing risks reformatting unrelated content.6. **Validate.** After editing, parse the file (e.g.   `Get-Content -Raw ~/.claude.json | ConvertFrom-Json` or   `python -c &quot;import json; json.load(open(...))&quot;`) to confirm it&#039;s still   valid JSON and that `oauth.scopes` reads back as expected.## Step 5 — Verify registration```claude mcp get {{SERVER_NAME}}```Expect `Status: Needs authentication`, the configured `client_id`,`callback_port {{CALLBACK_PORT}}`, and a `Scope:` line matching`{{SCOPE}}` (`User config (available in all your projects)` vs`Local config (private to you in this project)`).If `{{SERVER_NAME}}` is missing entirely, first confirm which scope it wasactually added under — re-run `claude mcp get {{SERVER_NAME}}` and read the`Scope:` line, or `claude mcp list` from the directory in question. Do**not** resolve a lookup miss by duplicating the entry under severalproject-path key variants: `JSON.parse` keeps only the *last* duplicatekey, so the added entries are inert, and strict parsers (PowerShell&#039;s`ConvertFrom-Json`) reject the file outright. If a project-scoped entry isgenuinely unreachable, re-add it with `-s user`.## Step 6 — AuthenticateClaude Code enumerates MCP servers at session start, so a server addedmid-session will not appear in the current one regardless of what the configsays. Tell the user to **restart or reload the session first**, then run`/mcp`, select `{{SERVER_NAME}}`, and complete the OAuth login in thebrowser window that opens. Claude Code should then report the server asconnected.Remind the user: this only registers the scopes in config — the actualOAuth token is issued during this authentication step, so it must run*after* Step 4&#039;s scopes are written, not before.## TroubleshootingIf authentication fails with &quot;Client secret validation failed&quot;, **removeand re-add** rather than editing in place:```claude mcp remove {{SERVER_NAME}} -s {{SCOPE}}```then repeat Step 2. Claude Code links the stored client secret to a hash ofthe server&#039;s config — editing the URL or secret directly in`~/.claude.json` without going through `claude mcp` can silently orphanthat link.**Changing scope after the fact** requires a remove and re-add:`claude mcp remove {{SERVER_NAME}} -s &amp;lt;old-scope&amp;gt;`, then repeat Step 2 withthe new `-s`. Steps 3 and 4 must then be **redone**, because `claude mcpadd` writes only `type`, `url`, `clientId`, and `callbackPort` — the`authServerMetadataUrl` and `scopes` added by hand do not migrate to thenew config location and are silently lost.**If the MCP URL 404s**, check the transport scheme before anything else. Acorrectly configured OAuth-protected MCP endpoint answers an unauthenticatedPOST with `401` and a `WWW-Authenticate` header; a plain `404` (especiallyan IIS error page) usually means the path is not served over that scheme atall. Retry the same URL over `https://` before assuming the path is wrong. Note: Claude installs the connector by running PowerShell scripts through the Claude CLI. It will ask, repeatedly, for permission to run each one. Allow them, or set your permission mode to Auto or Bypass permissions as described above.Once the connector is added, open a new chat session, type /mcp, and select MCP servers. Your new connection appears with the label &quot;Needs authorization.&quot; Click it, then click Authorize. This opens a browser window to Indicium, where you authorize your user with the rights they are allowed to use. Click Allow at the bottom of the screen.That is it, your MCP connector is live and ready to use. MCP managerManaging which MCP connectors are installed, authorized, or need their scopes refreshed can get fiddly from the command line alone. I built a small companion app to make it visual, and I think it is useful enough that I want to share it.The app lists every MCP connector installed in Claude on your computer, lets you add, remove, or refresh connections, and walks you through adding a new one with a short wizard.One important caveat: this is not an official Thinkwise application. There is no support ticket system for it. It is a personal project I am sharing because it makes my own life easier, and it might make yours easier too.You can find the companion app and setup instructions in this GitHub repository.The MCP manager companion appScopesWhat are scopes?A scope is simply the set of access delegation roles your client application is allowed to use. When Claude first authorizes against your MCP connector, it requests exactly those scopes, no more and no less, and your user consents to them in the browser.Scopes need a refresh any time you change the roles available to the client application. Add or remove a role in IAM, and the MCP connector keeps using the old scope list until you tell it to fetch the new one.How do you refresh them?You have three ways to refresh scopes after changing a client application&#039;s roles:Chat: ask Claude directly. Tell it to retrieve the scopes from the MCP server and update the local scopes, then reauthorize when it prompts you.	Skill: use the attached skill, included with this post, so you never have to remember the exact phrasing.	MCP manager: click the refresh scopes button.Whichever route you take, the browser flow that opens requests scopes fresh from IAM&#039;s current configuration. If consent is enabled on the client application, the updated scope list appears right there on the consent screen, your confirmation that the new scopes made it through. The road aheadThis beta is the starting point, not the finish line. MCP becomes an officially supported feature in the 2026.3 release, and that release also opens the Software Factory itself up to MCP, so your development environment gets the same AI-native access your application data has today. Every release after that keeps making the implementation faster and lighter on your infrastructure.Now it is your turn. Install a connector, point Claude at your application, and see what it finds. We would love to hear about it: which use case pulled you in, and where MCP started saving you real time.This post will keep growing, too. I am adding step-by-step guides for more platforms and AI tools over the coming weeks, and I will drop a comment below whenever a new one goes live. Please tell us in the comments which platform you would want to see next. Using MCP Server in a Production environment will require an amended license agreement with Thinkwise, as Agentic AI via MCP typically automates and replaces human user interaction. MCP Server will be freely available in Develop and Test environments to empower you to experiment with MCP for end users and speed up development in the Software Factory.</description>
            <category>News &amp; Blogs</category>
            <pubDate>Mon, 03 Aug 2026 10:56:33 +0200</pubDate>
        </item>
                <item>
            <title>Release notes Thinkwise Platform 2026.2.12</title>
            <link>https://community.thinkwisesoftware.com/product-updates/release-notes-thinkwise-platform-2026-2-12-6922</link>
            <description>Hi everyone,This release expands AI capabilities, broadens DB2 support, and brings meaningful improvements to modeling, deployment, and the user interface. Note that the SignalR message format has been updated, which requires Indicium and the Universal UI to be upgraded to the same version.The Software Factory now supports AI-powered conversion of model code between database types, speeding up the process of adding a new database type to an existing model. This builds on the multi-RDBMS support introduced in Thinkwise Platform 2026.2.DB2 support continues to expand, with temporal tables, smoke tests, and error handling for handlers, subroutines, and procedures now supported.For file management, you can now store file references relative to the storage root, making it easier to relocate files. Several other quality-of-life improvements have been made, including error details on database connection failure, improvements to the Model Insight panel and overlay, and updated translations and messages for pop-ups.In the Intelligent Application Manager, administrators can now configure a maintenance pool user and check database status, allowing for better database server management.Indicium now offers a MCP endpoint, allowing MCP clients to connect to your Thinkwise application and perform read, write, and task operations with lookup resolution and translated error messages. Note that this is a beta version, and some features are not yet supported.Several improvements have been made to the user interface, including inline editing in HTML columns in grids, offline-available images and files, and subtitles for open document tabs. Help pop-ups are now supported in the Universal UI, allowing you to provide additional information to usersThis is a short-term support (STS) release of the Thinkwise Platform. STS release support expires as soon as a new release is made available. For example, support for version 2026.1.12 ends when version 2026.1.13 is released. See our Lifecycle policy for information about supported versions.Contents Before you upgrade	Demo and download		Updated Next.js from 16.2.6 to 16.2.11		Breaking	Updated SignalR progress message format		New and changed	Models - Finalized branches set to read-only		Models - AI-powered conversion of model code between database types		Data - Support for temporal tables in DB2		Data - Domain element database value now supports 100 characters		User interface - Add subtitles to open documents		User interface - Support for help pop-ups in the Universal UI		Business logic - Error handling for DB2 handlers, subroutines, and procedures		Quality - Smoke tests now supported for DB2		Deployment - Error details on database connection failure		Enrichment - Re-generate model updates for enrichment runs		Integration &amp;amp; AI - Use relative paths for file references		Processes - Software Factory now adheres to the extended property &#039;AllowProcessFlowsInLookupDialogs&#039;		Settings - Improved database server management		MCP support added in Indicium		Increased timeout for i-net Clear Reports		&#039;ClearLocalCacheOnStartup&#039; removed from Indicium		Migration warning for classic data security settings		Offline available images and files		Support for input parameter &#039;Filter record when not found&#039;		Support for IN filter operator in the Filter form		Improved &#039;Model insight&#039; panel and overlay		Updated translations and messages for pop-ups		Inline editing for HTML columns in grids		Filter pop-up available in cube panel fields		Consistent column widths across pivot grid series		Spacing of paging controls matches application theme		Background color fills entire Scheduler resource cell		Fixed	Software Factory and Intelligent Application Manager		Indicium		Universal UI		Data model changes	Changes Software Factory		Table changes			Column changes				Changes Intelligent Application Manager		Table changes			Column changes			Before you upgradeFeatures for the Software Factory and the Intelligent Application Manager are only compatible with this STS version of the Thinkwise Platform.	Indicium and Universal UI features are backwards compatible with previous Thinkwise Platform versions, unless otherwise noted.Demo and downloadTry a demo of the Thinkwise Platform here.	Download the latest versions of our components here. Updated Next.js from 16.2.6 to 16.2.11change Universal UIWe have updated the Next.js framework from version 16.2.6 to 16.2.11 to fix several security vulnerabilities. The vulnerabilities are present in the server-side functionality of Next.js, which we do not use. Therefore, these vulnerabilities did not affect the security of the Thinkwise Platform. BreakingUpdated SignalR progress message formatIndicium Universal UIThe format of SignalR progress messages sent by Indicium has been updated to follow the new SignalR message structure. The Universal UI has been updated to handle this new format. This change only affects the underlying communication between Indicium and Universal UI and does not produce any visible changes in the interface.When upgrading the Universal UI to this version, Indicium must also be upgraded. If the versions do not match, tasks and mass updates will not work as expected.New and changedModels - Finalized branches set to read-onlychange Community idea Software FactoryYou can choose from several merge strategies when merging a branch in the Software Factory. If you select Finalize branch, cannot be merged again, the branch would not be able to be merged again, but it could still be modified by users in the Software Factory. The finalized branch is now set to read-only for all users in the Software Factory. This prevents any further development or accidental changes on the branch. Models - AI-powered conversion of model code between database typesnew Software FactoryYou can now convert model code and queries from one database type to another using generative AI. This speeds up adding a new database type to an existing model, building on the multi RDBMS support released in Thinkwise Platform 2026.2. These tasks become available when you have added two or more database types to your model.You must set up an AI provider in the Intelligent Application Manager to use generative AI for code conversion. For more information, see Generative AI for an application.Conversion is currently supported for SQL Server to DB2 for i. Conversions between other database types are experimental and may not produce the expected results. Always verify the converted code before using it in production or continuing development, as AI can make mistakes even for supported database type combinations.You can convert code in a single template or for all code in a model at once.To convert a single template, execute the task Convert template code (menu Business Logic &amp;gt; Functionality &amp;gt; Templates). Provide a source and target database type and a name for the new template. After conversion, assign the new template to program objects manually. For more information, see Assign the template.Convert template code task pop-upTo convert all code in a model at once, execute the task Convert code to RDBMS dialect (menu Models &amp;gt; Model overview &amp;gt; Branches &amp;gt; tab General settings &amp;gt; tab RDBMS types). In the task pop-up, select a Source RDBMS type and Target RDBMS type. Then, choose which logic concepts to convert by selecting the relevant checkboxes.The conversion runs as a mass conversion enrichment in the background. You can review the generated code while the task is running. Verify the generated code before using it in production or continuing development, as the code is AI-generated and may contain mistakes.The task runs only once per target database type to avoid conflicts from repeated conversions. To run it again for the same target, remove the tags it added to converted control procedures (for example, AUTO_CONVERTED_TO_ISERIES for DB2 or AUTO_CONVERTED_TO_SQLSERVER for SQL Server). For more control over individual results, use the task Convert template code instead. Convert code to RDBMS dialect task pop-upFor each logic concept, the conversion produces the following output:Prefilters get new query entries for the target database type.	Control procedures get a new template for the target type. The template is assigned to the corresponding program objects where possible, and the control procedure is moved to review.Lastly, the enrichment Mass convert the code from a source RDBMS type to a target RDBMS type is now also available in the menu Enrichments &amp;gt; Model enrichments. Data - Support for temporal tables in DB2new Software Factory DB2You can now enable system versioning for DB2 tables, extending a feature previously available only for SQL Server. System versioning automatically tracks the history of data changes, making it easier to audit changes, ensure compliance, and recover previous data.DB2 does not have a Retention period.To use temporal tables in DB2, the pool user executing the upgrade script must have authorization for the QIBM_DB_GENCOL_OVERRIDE function in DB2. For more information, see Overriding system generation column values in the IBM documentation. To set up system versioning for a DB2 table, select the checkbox System versioning in menu Data &amp;gt; Data model &amp;gt; tab Tables &amp;gt; tab Form. Data - Domain element database value now supports 100 characterschange Software FactoryPreviously, domain element database values were limited to 25 characters. You can now enter up to 100 characters, the same length as the element ID. This allows for the database value to match the element ID exactly, if desired. User interface - Add subtitles to open documentsnew Community idea Software Factory Universal UIPreviously, open document tabs in the sidebar menu only displayed the document title, making it difficult to distinguish between multiple open instances of the same document.You can now add subtitles for open document tabs to show the active record context. To do this, enable Show subtitles for the menu in the Software Factory (menu User interface &amp;gt; Menus &amp;gt; tab Form &amp;gt; group Settings).Enabling subtitles shows the value of the active record for that document under the document title. For example, if three &#039;Customers&#039; tabs are open, the subtitle shows the name of the selected customer for each tab.The subtitle is determined in the following order of precedence:The value of the lookup display column configured for that subject.	The value of the last primary key column of that subject.	If you are adding a new row, the subtitle shows &#039;new row&#039;.If none of this data is available, no subtitle is shown. If a subtitle is too long to fit, it is truncated with an ellipsis (...).Open document tabs with subtitles showing the active record contextUser interface - Support for help pop-ups in the Universal UInew Software Factory Universal UIThe Help pop-up is now supported in the Universal UI, allowing you to provide additional information or guidance for users. Users can open the Help pop-up by selecting it from the profile menu or by pressing Alt + F1. The Help pop-up displays the help text for the open document. If no document is open, the general help pages are shown instead.To add help text, you have to add at least one page of text in the Software Factory (menu User interface &amp;gt; Help). For more information, see Help.Help pop-up in the Universal UI showing help text for the open documentBusiness logic - Error handling for DB2 handlers, subroutines, and procedureschange Software Factory DB2Error handling is now available for DB2 handlers, subroutines, and procedures. As a result, tsf_send_message is now included consistently. Quality - Smoke tests now supported for DB2new Software Factory DB2Smoke tests (menu Quality &amp;gt; Smoke tests) are now supported for DB2 models, in addition to SQL Server, Oracle, and PostgreSQL. Deployment - Error details on database connection failurenew Software FactoryAn error message is now displayed in a pop-up if the Software Factory fails to connect to the database during the creation step Execute source code (menu Deployment &amp;gt; Creation &amp;gt; tab Execute source code). Previously, the log appeared empty with no indication of what went wrong. The same issue occurred when generating a SQL control procedure, and no program objects were successfully generated. Enrichment - Re-generate model updates for enrichment runschange Software FactoryPreviously, once you generated model updates for an enrichment run, you could not run the enrichment again. To make any changes, you had to cancel the enrichment run and start over.You can now regenerate model updates as many times as needed and edit the parameters at any point. Once you update the parameters and execute the task Execute model updates, a pop-up is displayed with the following options:Cancel - Stop the execution and continue editing the parameters, or cancel the enrichment run entirely.	Regenerate model updates - Discard the existing model updates and generate new ones based on the updated parameters.	Continue - Execute the existing model updates as-is. To also get model updates based on the updated parameters, run Generate model updates manually afterward.The task Cancel enrichment run is now also available on the tab Run enrichment. After canceling, you are returned to the tab Select enrichment automatically.Pop-up with options when executing model updates for an enrichment runIntegration &amp;amp; AI - Use relative paths for file referencesnew Software Factory Intelligent Application ManagerYou can now store file references relative to the root of a file storage location, instead of storing the full path. Changing where files are stored is now easier, as you no longer need to update all existing file references when the storage root changes.You can use relative paths for all File storage types, except for Database.To enable relative paths, select the checkbox Use storage-relative paths:In the Software Factory, this setting is available in:	menu Integration and AI &amp;gt; File storage locations &amp;gt; tab Form		menu Maintenance &amp;gt; Runtime configurations &amp;gt; tab File storage locations		In the Intelligent Application Manager (IAM), this setting is available in:	menu Authorization &amp;gt; Applications &amp;gt; tab General settings &amp;gt; tab File storage locations	New file storage locations use relative paths by default. Existing file storage locations continue to use absolute paths by default, so this does not affect existing file references.Enabling Use storage-relative paths on an existing file storage location does not convert existing file references. To migrate to relative paths, you must manually update the file references stored in your database. This setting is also applied to process actions that work with file references (menu Processes &amp;gt; Process flows &amp;gt; tab Process actions &amp;gt; tab Input). Processes - Software Factory now adheres to the extended property &#039;AllowProcessFlowsInLookupDialogs&#039;change Software FactoryThe extended property AllowProcessFlowsInLookupDialogs controls whether process flows can be started from lookup pop-ups.The Software Factory now adheres to this extended property. This allows process flows in the Software Factory to be started from lookup pop-ups, such as downloading an icon from the Icon screen. Settings - Improved database server managementnew Intelligent Application Manager main administrator application administratorYou can now configure a maintenance pool user per database server. This is useful for administrative tasks, such as database provisioning, installation, and upgrades.Execute the task Set maintenance user credentials (menu Settings &amp;gt; Database servers) and enter the credentials for the maintenance pool user. If a maintenance user is set, the checkbox Custom maintenance user set is enabled.As part of this update, the menu item Servers has been moved from Advanced menu &amp;gt; Master data to Default menu &amp;gt; Settings. The screen has been renamed to Database servers to better reflect its purpose.Furthermore, main administrators and application administrators can now retrieve the status of the database by executing the task Check database status (menu Settings &amp;gt; Database servers &amp;gt; tab List/Form). A column has been added in the tab List to show the database status for each server.The following statuses are available:Ok - The database is reachable and contains a valid model.	Ready to provision - The database server is reachable, but the database/schema does not yet exist.	Ready to install - The database is present and accessible, but assumed empty; there is no model information stored in the database.	Unreachable - The database or database server is not accessible for use by the Thinkwise Platform.	Unverified - No check has been done yet.The model, named version, and creation date and time are only shown for databases that were installed or upgraded using Thinkwise Platform version 2023.1 or later. Renewed &#039;Database servers&#039; screen with database status columnMCP support added in Indiciumnew IndiciumYou can now connect MCP clients to your Thinkwise application using the /mcp endpoint in Indicium. MCP clients can authenticate using OAuth (via Client Applications with delegated roles) or PAT authentication, depending on what the client supports.The following operations are supported:Reading data, including filtering, sorting, grouping, and aggregating.	Inserting and updating data, including resolving lookups by their display value, applying default and layout logic, and returning translated error messages so the client can correct mistakes.	Deleting data.	Executing tasks — both unbound tasks and tasks bound to a specific record — with the same lookup resolution, layout logic, and error message support as data operations.The following is not yet supported:Uploading and downloading files.	Reports.	Process flows that include non-system actions. Process flows that start with a task, add row, update row, or delete row action, and then continue with only system actions work fine.	Import and other bulk operations.We are releasing this as a beta version and look forward to hearing about your experiences as we continue to improve performance, reduce token usage, and add more capabilities.You can read more about MCP in our blog posts here:  Increased timeout for i-net Clear Reportschange IndiciumPreviously, report generation using i-net Clear Reports would time out after 100 seconds. The timeout has been increased to 5 minutes, allowing reports that take longer to generate to complete successfully. &#039;ClearLocalCacheOnStartup&#039; removed from Indiciumchange IndiciumThe setting ClearLocalCacheOnStartup has been removed from the Indicium configuration.Previously, this setting controlled whether Indicium cleared its local file cache on startup. It was introduced to prevent multiple Indicium instances from deleting files that other instances still needed, which could cause issues in scaled deployments. An earlier release resolved those issues, making the setting unnecessary.Indicium now always clears the local file cache on startup. If your configuration includes ClearLocalCacheOnStartup in the FileCache section, you can remove it as Indicium no longer recognizes this setting. Migration warning for classic data security settingsnew IndiciumYou now receive a warning if your application is still using the deprecated DataProtectionSettings configuration in Indicium. The warning includes a link to the documentation to help you migrate to the new DataSecuritySettings configuration introduced in Thinkwise Platform 2026.1.12. DataProtectionSettings configuration will be removed in a future release. Offline available images and filesnew Universal UIUsers can now view images and files in offline-available subjects.When an offline subject loads, Universal UI saves the images and files to the browser&#039;s cache storage on the device. Images in grids, forms, card lists, and the preview panel are served from that cache. This allows them to remain visible even when the internet connection drops.This applies automatically to any subject marked as offline-available in the Software Factory. No additional configuration is needed.Ensure that users check their browser settings to prevent the cache from being cleared automatically when the browser is closed. Clearing the cache removes offline-saved images and files, making them unavailable without an internet connection. Support for input parameter &#039;Filter record when not found&#039;new Universal UIThe input parameter Filter record when not found for the process action Go to row is now supported in the Universal UI.By default, if active filters prevent the process action Go to row from locating a row, the process flow is aborted. If the input parameter Filter record when not found is assigned, the Universal UI first attempts to find the row through searching. If the row cannot be found that way, it removes the active filter and filters for the row instead. This allows the process flow to continue as long as the row exists in the dataset. Support for IN filter operator in the Filter formnew Universal UIYou can now use the IN filter operator in the Filter form to filter a column by selecting multiple exact values at once. Previously, the filter field was disabled and read-only whenever the IN filter operator was active on a column.When the IN filter operator is active, a list appears in the Filter form, allowing users to select as many values as needed. This works together with other filtering methods, such as the column header filter and the Filter pop-up.You can configure the default Filter condition per subject in the Software Factory. For more information, see Add columns to Filter. Improved &#039;Model insight&#039; panel and overlaychange Universal UIThe Model Insight panel and the Screen type overlay have been improved, allowing for better navigation and understanding of the screen hierarchy.The Model insight panel now has collapsible sections, including a new Path section. The Path section shows the screen hierarchy for the selected subject, including entity IDs and optional configuration IDs. The panel&#039;s layout and scrolling behavior have also been improved.Additionally, when the Screen type overlay is enabled, hovering over a screen component&#039;s label now displays a border around the corresponding component. If multiple overlays overlap, they no longer cover each other, making all information readable at the same time.Model insight panel with collapsible sections and improved screen type overlayUpdated translations and messages for pop-upschange Community idea Universal UIPop-up button labels and messages for deleting records or cancelling changes in the Universal UI have been updated. Previously, buttons were labeled &#039;Yes&#039; and &#039;No&#039; and contained a generic message.To improve clarity, the following changes have been made:	When deleting a record, the pop-up now shows the name of the record that is about to be deleted. The buttons are now labeled &#039;Delete&#039; and &#039;Cancel&#039;.	 Pop-up when deleting a single record 			When deleting multiple records, the pop-up now shows the number of records that are about to be deleted. The buttons are now labeled &#039;Delete&#039; and &#039;Cancel&#039;.	 	Pop-up when deleting multiple records 			When cancelling changes, the pop-up now mentions that unsaved changes will be lost. The buttons are now labeled &#039;Keep editing&#039; and &#039;Discard changes&#039;.	 	 Pop-up when cancelling changesInline editing for HTML columns in gridsnew Universal UIYou can now edit HTML columns directly within grid cells, without opening a separate pop-up. This makes editing faster and more consistent with other column types.When a cell enters edit mode, the HTML toolbar is hidden. A pop-up button is always shown to open the full editor with a toolbar, regardless of the Show action button setting configured for that column. When the cell is not being edited, it continues to display as read-only. Filter pop-up available in cube panel fieldsnew Universal UIYou can directly apply filters to fields using the filter pop-up in the cube panel. Select the filter icon on a field in Categories, Series, or Values to open the standard filter pop-up for that field. If a filter is already active, the filter icon is permanently visible.The cube panel must be made available, and its screen component added to a screen type for it to be visible in an application.Additionally, the filter icon only appears for fields where filtering is permitted:Visible for filter should not be set to Never (menu User interface &amp;gt; Subjects &amp;gt; tab Default/Variant &amp;gt; tab data &amp;gt; tab Filter)	Filter permissions should be enabled for the subject (menu User interface &amp;gt; Subjects &amp;gt; tab Default/Variant &amp;gt; tab Settings &amp;gt; group Permissions).Select the filter icon from a field in the cube panel to open the filter pop-upConsistent column widths across pivot grid serieschange Universal UIPreviously, resizing a value column in the pivot grid only changed that single column. Now, when you drag the edge of a value column header, all columns representing the same aggregation field across all series resize to match. For example, resizing the Revenue column in one region series also updates Revenue in every other series. Spacing of paging controls matches application themechange Universal UIPaging controls now adapt to the Comfortable or Compact mode set in the application theme. In Comfortable mode, the controls are larger and more spaced out. In Compact mode, they are smaller and more tightly spaced.Paging controls in Comfortable modePaging controls in Compact modeBackground color fills entire Scheduler resource cellchange Universal UIPreviously, when you added a background color to a Scheduler resource using conditional layout, it would only color the text area of the cell. Now, the background color fills the entire cell. FixedSoftware Factory and Intelligent Application ManagerIn the detail tab Validation messages (menu Quality &amp;gt; Validations), the correct data was not shown when the prefilter Hide messages was enabled. This has been fixed.	The validation Role is not assigned to any objects checks whether roles in the model have rights (menu Quality &amp;gt; Validation). If a role does not have any rights, the validation informs you about it. This validation was missing checks for several role tables. Because of this, roles that actually contained rights were suggested for cleanup. This has been fixed.	When configuring a tree component, you can link one or more parent columns to a column. The validation Column cannot have itself as validation column checked whether any of the specified parent columns referenced itself. This check was incorrect because the validation should only fail when all specified parent columns reference themselves. We have updated the validation logic accordingly and renamed the validation to All tree parent columns reference themselves.	When the prefilter column subject shrinks, it displays a card list. Previously, this card list did not show any data. This has been fixed. It now shows Column, Filter condition, Filter value, and Filter value until.	Due to the use of a new table variant, the process flow that selects the active model when you open the Model overview in the Software Factory did not trigger (menu Models &amp;gt; Model overview). The process action now uses the correct variant and selects the active model.	In the Difference analysis result screen (menu Models &amp;gt; Difference analysis), no detail references to the source and target data were shown. This made it impossible to determine the differences. This has been fixed.	Writing code files to a storage location may have a different destination in case a Model version name is set in the task Execute all creation steps. However, the cleaning step before writing code files to the storage location did not properly use this name, causing it to clean the folder with the branch name instead of the folder with the model version name. This has been fixed.	The Software Factory offers a set of validations to ensure the _query tables have a value when needed. However, these validations would only return a result for multi-RDBMS models. This has been changed so they also validate single-RDBMS type models.	Three query-references were missing ON DELETE CASCADE, causing a deletion of the parent record to be blocked by the existence of a query record. Whilst normally we do want to prevent such deletion, in these cases, the deletion is permitted. Now, you can remove Check constraints, Data sets, and Mock data columns and have the query data removed automatically.	Granting a user log access would give the user more rights than they were supposed to have, such as access to the IAM application. This has been fixed.	Due to an inefficient Where clause, the Cube view filter node interface view could inspect a larger dataset of Cube field rights for Custom cube views than needed. This has been optimized.IndiciumPreviously, the process action Generate report did not work correctly with report parameters that had Property as an input parameter. For example, when Property was set to Report file (non-file storage), it was ignored and you could not override the path. This has been fixed.	In rare cases, the process flow connector HTTP connector could enter a corrupted state. When this happened, the following was logged to the Indicium error log: &quot;Operations that change non-concurrent collections must have exclusive access&quot;. The result of the HTTP connector could then not be read, and the connector returned status code -1. To return to a valid state, you had to restart Indicium. This has been fixed.	When a user double-clicked Submit on the two-factor authentication (2FA) login screen or the authenticator reset screen, an error could occur. This has been fixed.	DB2 For DB2 databases, the Ends with filter condition could fail on fixed-length character columns, such as CHAR. This occurred because fixed-length types can include trailing padding characters that interfered with the condition. This has been fixed. Indicium now applies RTRIM when needed, so trailing padding does not affect the results.	Prefilter conditions using the Not between operator mistakenly excluded NULL values from the results. For example, for my_column not between 1 and 3, NULL values should be included in the results because NULL is not between 1 and 3. This has been fixed.Universal UIIn a default editable grid, switching to a different record under certain circumstances did not make the selected record editable. Under these same circumstances, the Ctrl + A shortcut also did not select all records in the grid. Both issues are now fixed.	When the grid summary row triggered an error, the error was returned in an unexpected format, which caused the client to stop working. This has been fixed.	When you had scrolled down in a form and then selected Edit, the form scrolled back up. This has been fixed.	When Edit in grid (but not Auto-edit) and Auto save were enabled and the screen type also contained a form, the grid did not respond to auto save when the Universal UI had not yet loaded the form. As a result, after a user changed a value directly in the grid, they could not navigate to another row without first selecting Save. This has been fixed. From Software Factory version 2026.2.12, an auto_save flag is available directly on the tab definition, so a form is no longer required to determine the auto-save context for a screen. Users can now change a value in the grid and navigate to another row without selecting Save first.	In a subject with a Date column as its primary key, the active row selection was lost after a user saved a record, which caused an error. This only affected date columns. Numeric and other primary key types were not affected. This has been fixed. After saving, the application now keeps the saved record selected, the same as for subjects with other primary key types, and no error is shown.	When a user typed quickly across multiple form fields on a slow or throttled network connection (for example, Slow 3G), typed input could be lost without any message. In one situation, a field briefly reverted to the old value while the change was still being saved. In another, characters typed while a change was still being saved were discarded. This has been fixed. A field no longer reverts to the old value while a change is being saved, and characters typed during that time are now kept. This applies to editable form fields that have optimistic updating enabled (text, numeric, and select fields).	On certain pop-ups, pressing the Esc key while a field had its drop-down list open had unexpected side effects. In a lookup pop-up or modal document, it cancelled the editing session. In a task or report, it closed the pop-up immediately, and users lost their changes. This has been fixed. The Esc key now only closes the drop-down list and does nothing else.	When you changed the active record in a subject, a default editable detail of that subject would get one of its fields focused. This could disrupt the keyboard navigation in the focused subject. This has been fixed.	Hyperlinks in a lookup pop-up would sometimes disappear after you saved an edited record. This has been fixed.	When the focus was on a multi-select checkbox and a user pressed a key, the application stopped working. This has been fixed.	The SQL editor and Code editor controls did not scroll into view when cursor_to_col_id focused such a field. This has been fixed.	Previously, in the Code editor and Code diff editor controls, comments and string literals were hard to read in dark mode because of the colors used. This has been improved.	Selecting a value in a Combo control could mismatch the selected option when the database value of the option was a floating-point number that ended with zeros. This could occur, for example, in the Software Factory when you changed the Branch increment field (menu Maintenance &amp;gt; Configuration). This has been fixed.	A process flow could stop responding when a Go to row action used the Context logic concept to hide the active detail tab and show another tab. This has been fixed.	During record navigation in a process flow, the output parameters were not filled with the values of the new active record. This occurred only with the process flow actions Go to row, Go to first row, and Go to last row. As a result, the rest of the process flow could make incorrect assumptions about which record the user was on. This has been fixed. The Universal UI now first switches to the correct record and then informs the process flow about the change.	If a process flow contained the action Start table task/report that triggered a task or report variant, the non-variant was executed and shown to the user instead. This has been fixed. The user interface now detects whether a variant is attached to the target subject and starts the correct instance. No extra task is shown on the subject after execution.	When you moved between open documents, a pivot table in a cube view reloaded very slowly, line by line, on return. This has been fixed.	Previously, when setting up conditional formatting for Scheduler time cells (menu User Interface &amp;gt; Schedulers &amp;gt; tab Default &amp;gt; tab Scheduler views &amp;gt; tab Cell colors) based on datetime values, you could not use the condition Equal to in combination with the Type of value set to Column. This has been fixed.For a hierarchical tree menu without extra group columns, a conditional layout applied to the tree Display column did not show. This has been fixed.In a hierarchical tree, double-clicking a row did not trigger a task that had Double click on record set (menu User Interface &amp;gt; Subjects &amp;gt; tab Default &amp;gt; tab Links &amp;gt; tab Tasks). This has been fixed.	Model Insight would already show task and report information when you hovered over a task button, for example. However, the information was cleared too often if you moved the mouse from the target to the Model Insight panel, for example, when you tried to copy the task ID. This could also happen when you hovered over a tooltip, which caused flickering. These issues had one underlying cause, which has been fixed.	In rare cases, a user could briefly see the wrong data. This happened if the user had offline task data that was not yet synchronized, waited until their login expired, and then logged in as a different user. This has been fixed. Now, when offline data still needs to be synchronized, and a user logs in with a different account, the Universal GUI shows a pop-up. The only option is to log off, with the instruction to log back in with the correct account.	Fixed an issue where switching between menu types or applications would reopen start objects. Data model changesData 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 FactoryTable changesNo changes in this release.Column changesSF - Table			SF - From column			SF - To column			Mandatory			Default value		enrichment_run			-			parmtrs_changed			1			0		menu			-			show_sub_titles			1			1		message_broker_mqtt			will_payload_format			will_payload_format			0			0		screen_component			-			component_action_bar_enabled			1			0		 Changes Intelligent Application ManagerTable changesNo changes in this release. Column changesIAM - Table			IAM - From column			IAM - To column			Mandatory			Default value		appl_db			-			maintenance_gui_appl_id			0			-		appl_db			-			appl_db_status			1			4		appl_db			-			appl_db_model_id			0			-		appl_db			-			appl_db_branch_id			0			-		appl_db			-			branch_date_time			0			-		appl_db			-			last_checked			0			-		appl_db			-			extra_info			0			-		menu			-			show_sub_titles			1			1		screen_type			-			max_width_value			0			-		screen_type			-			max_height_value			0			-		screen_type			max_width_value			-			-			-		screen_type			max_height_value			-			-			-		server			-			encrypted_user_name			0			-		server			-			encrypted_password			0			-		 </description>
            <category></category>
            <pubDate>Mon, 03 Aug 2026 10:55:03 +0200</pubDate>
        </item>
                <item>
            <title>Add Notification type in-app popup</title>
            <link>https://community.thinkwisesoftware.com/questions-conversations-78/add-notification-type-in-app-popup-6579</link>
            <description>For user notifications, please make it possible to send an in-app notification that is displayed as a popup message instead of a panel message. Panel messages are easily missed by the user, so by using a popup message the user actively has to close the message window.</description>
            <category>Questions &amp; Conversations</category>
            <pubDate>Mon, 03 Aug 2026 10:52:28 +0200</pubDate>
        </item>
                <item>
            <title>What happend with Edit in Grid?</title>
            <link>https://community.thinkwisesoftware.com/questions-conversations-78/what-happend-with-edit-in-grid-6878</link>
            <description>The Edit in Grid mode, as we knew it from previous versions, no longer seems to be available. Is there any plan to bring this functionality back?We would very much like to see it return, allowing end users to enable Edit in Grid for specific datasets. The ability to navigate from record to record and modify field values directly within the grid, without having to repeatedly click Save and Edit for each change, was very powerful.This functionality is also missed in the Software Factory, where it provided a much more efficient editing experience.Could you share whether this feature is on the roadmap?</description>
            <category>Questions &amp; Conversations</category>
            <pubDate>Mon, 03 Aug 2026 07:49:27 +0200</pubDate>
        </item>
                <item>
            <title>How to get a proper layout for this form in Universal?</title>
            <link>https://community.thinkwisesoftware.com/questions-conversations-78/how-to-get-a-proper-layout-for-this-form-in-universal-6915</link>
            <description>Hi,In the past we managed to create a very nice form list grid in the Windows GUI: Every line in the invoice is shown here with dynamic labels.It is build using a VIEW and for most fields the label width is set to 0. The shown labels are fields in the VIEW which we can manipulate. For example the ‘Totaal (€)` could have been `Totaal ($)` if that specific row had prcies in dollars. This way we were able to use dynamic field labels (I think that is a native option in Universal?) and by setting the exact sizes in pixels we were able to get it all nicely positioned.The exact same screens looks wildly different in the Universal gui: In the universal gui, as it is a web interface I guess, it doesn’t adhere to the pixel sizes but uses the Max. form-col space (%) which makes it virtually impossible to position the fields at the exact location I need them to be. It’s already way better than it originally was but for example the fields which I filled with “NULL” to make them visible are completely off.Any suggestions, if in fact it is possible to alter the label text in runtime (layout or default procs) I might be able to ditch the label columns in my view and reinstate the real labels. In the universal gui these are inside the fields so maybe I can get a better result with that approach? </description>
            <category>Questions &amp; Conversations</category>
            <pubDate>Fri, 31 Jul 2026 14:10:35 +0200</pubDate>
        </item>
                <item>
            <title>Smoke test gives false positive?</title>
            <link>https://community.thinkwisesoftware.com/questions-conversations-78/smoke-test-gives-false-positive-6916</link>
            <description>I have a few smoke tests that seem to be weird.I have a prefilter like:t1.sales_manager_user_id = (select top (1) u.user_id from dbo.users as u where u.tsf_user = dbo.tsf_user() and u.sales_manager = 1)My dev user isn&#039;t setup in dbo.users so dbo.tsf_user() won’t find me.The smoke test tests:-- Prefilter appointment_list.i_am_sales_managerselect top 1 * from (    select         0 as tsf_dummy        from &quot;appointment_list&quot; t1) t1where sales_manager_user_id = (select top (1) u.user_id from dbo.users as u where u.tsf_user = dbo.tsf_user() and u.sales_manager = 1)and gives:Invalid column name &#039;sales_manager_user_id&#039;.But the colum does exist in dbo.appointment_list but it doesn&#039;t in the subquery that is used by the smoketest generator (what is tsf_dummy doing here?):select 0 as tsf_dummy from &quot;appointment_list&quot; t1In my perception the prefilter query is added in runtime as a simple where clause:SELECT *FROM   &quot;appointment_list&quot; t1WHERE  sales_manager_user_id = (                                  SELECT TOP (1)                                         u.user_id                                  FROM   dbo.users AS u                                  WHERE  u.tsf_user = dbo.tsf_user()                                         AND u.sales_manager = 1                               );And this works flawlessly.Am I missing someting or is my smoketest missing something?  </description>
            <category>Questions &amp; Conversations</category>
            <pubDate>Fri, 31 Jul 2026 14:08:08 +0200</pubDate>
        </item>
                <item>
            <title>Open documents show active tab and display column</title>
            <link>https://community.thinkwisesoftware.com/ideas/open-documents-show-active-tab-and-display-column-6921</link>
            <description>When opening a menu item multiple times, they all get listed in &quot;Open documents&quot;. It would be helpful to see which one you have currently open, especially when having multiple tabs with the same name.Can the active tab be highlighted? For example here, indicate which of the three tabs is the active tab,and maybe even make it possible to choose a display column to show behind the subject name.</description>
            <category></category>
            <pubDate>Thu, 30 Jul 2026 15:37:53 +0200</pubDate>
        </item>
                <item>
            <title>Custom scrollbar size as accessibility option</title>
            <link>https://community.thinkwisesoftware.com/ideas/custom-scrollbar-size-as-accessibility-option-6920</link>
            <description>Our user finds the scrollbar too thin to easily drag with the cursor, especially when doing horizontal scrolling.Of course there are options like using the scroll wheel, but many users aren’t accustomed to horizontal scrolling shortcuts.For people with disabilities it can be especially difficult to get the cursor on narrow spots.The compact/comfortable option currently does not affect scrollbar size.It seems that in browser settings it is not possible to adjust scrollbar size.We could apply custom CSS but (application wide) custom CSS is not preferred.</description>
            <category></category>
            <pubDate>Thu, 30 Jul 2026 14:44:56 +0200</pubDate>
        </item>
                <item>
            <title>Show code group when doing code review</title>
            <link>https://community.thinkwisesoftware.com/ideas/show-code-group-when-doing-code-review-6919</link>
            <description>Within the code-review screens there is no way to see what code group the template you’re reviewing belongs to. If you don’t name your procedures something like def_do_this or ctx_do_that then there is no way of knowing what code group the template belongs to. Easy fix is to show that field in the code-review screen.</description>
            <category></category>
            <pubDate>Thu, 30 Jul 2026 13:28:43 +0200</pubDate>
        </item>
                <item>
            <title>Indicium support for Odata operation: Batch processing</title>
            <link>https://community.thinkwisesoftware.com/ideas/indicium-support-for-odata-operation-batch-processing-4069</link>
            <description>I read that Indicium currently doesn’t seem to support $batch: https://docs.thinkwisesoftware.com/docs/indicium/api#supported-odata-operations I think batch processing might be useful and efficient: https://www.odata.org/documentation/odata-version-3-0/batch-processing/</description>
            <category></category>
            <pubDate>Thu, 30 Jul 2026 10:04:30 +0200</pubDate>
        </item>
                <item>
            <title>Mandatory Filters</title>
            <link>https://community.thinkwisesoftware.com/ideas/mandatory-filters-6917</link>
            <description>Thinkwise already offers Open without data, but this is an all-or-nothing approach. There is currently no way to require specific filter fields before data can be retrieved.I would like to see the ability to mark filter fields as mandatory in the Software Factory.Suggested behaviorDevelopers can mark one or more filter fields as mandatory. (Subjects&amp;gt;Data&amp;gt;Filter)	Mandatory filters are indicated with an asterisk (*) in the UI in both the filter form and the corresponding column header.	No data is retrieved until all mandatory filters contain a value.	Once all mandatory filters are populated, data can be loaded normally.ExamplesA transaction history where a date range is required.	A stock movement overview where a batch and/or pallet is required.	A financial journal where users must first select an accounting period.	An audit log where users must specify a date range before searching.BenefitsPrevents expensive unfiltered queries.	Improves performance.	Eliminates the need for custom logic to enforce filtering requirements.	Gives developers more control over data retrieval conditions.Open without data determines if data is loaded when accessing the subject. Mandatory filters would determine under which conditions data may be loaded. </description>
            <category></category>
            <pubDate>Tue, 28 Jul 2026 08:30:19 +0200</pubDate>
        </item>
                <item>
            <title>option to exclude archived branch/model from cleanup</title>
            <link>https://community.thinkwisesoftware.com/ideas/option-to-exclude-archived-branch-model-from-cleanup-6864</link>
            <description>We have a few models that we are not actively using (mostly proof of concept) but want to preserve.Currently if we archive branches they will be removed after an x amount of days.This idea suggests an option to exclude a branch from the cleanup.</description>
            <category></category>
            <pubDate>Mon, 27 Jul 2026 11:09:54 +0200</pubDate>
        </item>
                <item>
            <title>filter form different between windows gui and universal gui</title>
            <link>https://community.thinkwisesoftware.com/questions-conversations-78/filter-form-different-between-windows-gui-and-universal-gui-6885</link>
            <description>Hi, we noticed that in the universal gui we cannot change the filter behaviour anymore: At the top in the windows gui we can still switch between equals, between, empty etc…The bottom screenshot shows the exact same filter form in the universal gui and we can only use the one filter option selected in subjects.Am  missing something here or is this something we need to get used to?</description>
            <category>Questions &amp; Conversations</category>
            <pubDate>Mon, 27 Jul 2026 10:44:45 +0200</pubDate>
        </item>
                <item>
            <title>Use value from other field as default for field in form</title>
            <link>https://community.thinkwisesoftware.com/ideas/use-value-from-other-field-as-default-for-field-in-form-6914</link>
            <description>We have a form with settings for customers that is used for 2 types of customer, where one of those is basically a parent to the other. For a lot of fields the rule is that the setting of the parent is valid as long as the field is empty in the form of the child.This works fine, but we would like to be able to show the value that is used for the parent in the form of the child so it is clear which settings are used for the child.I think this basically means we would like to use an expression as the default for the childs form. That way we can show the parent&#039;s value without actually having to copy and store the value to the field on the form of the child. </description>
            <category></category>
            <pubDate>Mon, 27 Jul 2026 07:42:47 +0200</pubDate>
        </item>
                <item>
            <title>Create allowed tenant and login option rows when adding a Web Domain</title>
            <link>https://community.thinkwisesoftware.com/ideas/create-allowed-tenant-and-login-option-rows-when-adding-a-web-domain-6607</link>
            <description>In case only one tenant exists it would help to create default rows in these tables when a web domain is added: :web_domain_allowed_tenantweb_domain_login_optionElse nobody will be abble to open the application and there is no other way to solve the problem via the IAM database  </description>
            <category></category>
            <pubDate>Sun, 26 Jul 2026 11:09:13 +0200</pubDate>
        </item>
                <item>
            <title>End of SQL Server 2019 support</title>
            <link>https://community.thinkwisesoftware.com/product-updates/end-of-sql-server-2019-support-6850</link>
            <description>Hi all,Notice for everyone still using SQL Server 2019 (15.x). Mainstream support by Microsoft has ended July 2025. As per our lifecycle policy, official support for this version will be discontinued in a future release.As it stands, Thinkwise Platform LTS 2026.3 and STS 2026.2.11 will no longer officially support SQL Server 2019 and will require SQL Server 2022 or higher. Note that the current release of the Thinkwise Platform (version 2026.2) still supports SQL Server 2019.Impact on the platform databasesThe Software Factory (SF) and the Intelligent Application Manager (IAM) are planned to leverage T-SQL language features exclusive to SQL Server 2022 and up. The Deployment Center will prevent installation or upgrade of an SF or IAM to version 2026.2.11 and beyond when the SQL Server version is 2019 or lower, or the database compatibility level is equal to or below 150.Impact on product databasesSQL Server product databases running on SQL Server 2019 do not have to be upgraded directly on release of Thinkwise Platform 2026.2.11. However, runtime components with version number 2026.2.* and higher may start using SQL Server 2022 language features on a moment’s notice.Furthermore, Software Factory version 2026.2.11 may not be able to upgrade, deploy or test product databases using SQL Server 2019. To be able to continue development on the product, upgrading to SQL Server 2022+ will be required.The changes in SQL Server version support will be reflected in the lifecycle policy.It is forecasted that the end of support for SQL Server 2022 will be January 2028.</description>
            <category></category>
            <pubDate>Sat, 25 Jul 2026 14:01:56 +0200</pubDate>
        </item>
                <item>
            <title>Set hidden column to authorized on role</title>
            <link>https://community.thinkwisesoftware.com/ideas/set-hidden-column-to-authorized-on-role-6693</link>
            <description>When a column is set to hidden and this column is not a PK, the column is often not supplied through Indicium. This is fine for most cases. However sometimes there are columns that should be hidden inside an application but should be available through Indicium. For example, an Interface ID column.Currently the only way to make this column available in Indicium is by setting the column to editable or read only and set it to hidden on grid, form and cardlist.I would like the option to enable a checkbox on role level that will make a hidden column authorized. This should result in the column being supplied through Indicium for this specific role.This way these kinds of columns can be made available to interfaces and remain hidden inside our application.</description>
            <category></category>
            <pubDate>Sat, 25 Jul 2026 13:26:02 +0200</pubDate>
        </item>
                <item>
            <title>Allow users to change their timezone</title>
            <link>https://community.thinkwisesoftware.com/ideas/allow-users-to-change-their-timezone-6585</link>
            <description>Currently as a user you can change several settings related to how you would like to use an application. Which setting you can set, is configured through IAM.I am missing 1 important setting in this. A setting to change the Timezone I’m using. Since all other settings related to your location (date format, language, number format) can be changed through this window, I would expect that the Timezone can also be changed from within this window.</description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 21:08:55 +0200</pubDate>
        </item>
                <item>
            <title>Limit on the export that could be made</title>
            <link>https://community.thinkwisesoftware.com/ideas/limit-on-the-export-that-could-be-made-6746</link>
            <description>From a privacy and security perspective, it would be beneficial to introduce a limit on the maximum number of records that can be exported from the system.At present, exports can only be fully enabled or completely blocked. We would like the option to configure a maximum export limit—for example, allowing users to export no more than 100 rows per export. </description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 16:25:48 +0200</pubDate>
        </item>
                <item>
            <title>Lookup control option for grid filter</title>
            <link>https://community.thinkwisesoftware.com/ideas/lookup-control-option-for-grid-filter-6781</link>
            <description>Hello!I created this idea as result of this post: Basically, what we suggest is that there should be an option to specify the lookup control for grid filters, we received feedback from users about this and since that can be changed for form/tasks, will be nice to have it also in here.Regarding performance mentioned in the post, one solution can be to have the sort defined and then pick top 100 for example and if you don&#039;t have what you want there to still be able to type and search it.  </description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 16:11:27 +0200</pubDate>
        </item>
                <item>
            <title>Make Screentype (design) changes require an active &quot;Save&quot; action</title>
            <link>https://community.thinkwisesoftware.com/ideas/make-screentype-design-changes-require-an-active-save-action-6855</link>
            <description>When moving components around of a screen type it now is saved immediately. Please change it how it was in the older versions where an active “Save” was required to confirm your changes.When you now move a component and the result if the placement has an unintended result, your screen type is  now ruined. Since the order of how you move component can be quite important to not completely mess up the already setup specification in width/height, a mistake can happen quite easily.</description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 16:00:22 +0200</pubDate>
        </item>
                <item>
            <title>Showing columns moved to _query suffixed tables as a detail of their parent table in the SF</title>
            <link>https://community.thinkwisesoftware.com/ideas/showing-columns-moved-to-query-suffixed-tables-as-a-detail-of-their-parent-table-in-the-sf-6910</link>
            <description>Query fields were moved to _query-suffixed tables in the 2026.2 version of SF. As a result model-info is no longer (correctly) usable on any query field. This is inconvenient when you want to develop dynamic functionality or query metadata at a higher level. I happen to be aware of this change from the latest SF release because I was involved with upgrading to the 2026.2, but a developer who was not involved in the upgrade would have a very difficult time figuring out where the query columns are actually stored. It would require a significant amount of investigation and trial-and-error to uncover the correct locations.My suggestion would be to add the _query-suffixed tables as a detail in the form of their parents to alleviate this issue.</description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 15:58:48 +0200</pubDate>
        </item>
                <item>
            <title>Semi-colons separated attachments for SMTP-connector (Storage attachments path)</title>
            <link>https://community.thinkwisesoftware.com/ideas/semi-colons-separated-attachments-for-smtp-connector-storage-attachments-path-6908</link>
            <description>I might as well have used the title &quot;Semi-colons separated attachments for Email-connector (Storage attachments path)”, as the problem exists for both cases.I&#039;ve been directed the a similar idea for Disk files attachements. Initially placed in the community as a question, but now I made an idea for it. Probably this idea will be merged to the Disk files idea.We want to get rid of local file storage and completely move to cloud storage ( for uploads amongst others). So the idea of having to move one or more, sometimes quite large files, to a separate folder, ZIP it en then send the ZIP file as an attachment doesn&#039;t really appeal to us (and is not very professional, as the customer has to figure out what is what in the ZIP file). See also Semi-colons separated attachments for email-connector (Disk files) | Thinkwise Community and **SMTP connector: sending multiple attachments from an S3 file storage location?** | Thinkwise Community </description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 15:58:34 +0200</pubDate>
        </item>
                <item>
            <title>Make the preview component abide by theme colour</title>
            <link>https://community.thinkwisesoftware.com/ideas/make-the-preview-component-abide-by-theme-colour-6903</link>
            <description>Have the preview component also abide by the theme colour it is set to.When there is no document/image to be shown or the size of it is way smaller than the component, it would be nice that the none relevant part of the component is actually similar to the theming colour.Working in dark mode and getting flash banged by the preview component is not fun.</description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 15:58:16 +0200</pubDate>
        </item>
                <item>
            <title>Running task overview in Universal GUI</title>
            <link>https://community.thinkwisesoftware.com/ideas/running-task-overview-in-universal-gui-5454</link>
            <description>The running task overview is not available in the Universal GUI. Can this be added as it is available in the Windows GUI.  </description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 15:57:29 +0200</pubDate>
        </item>
                <item>
            <title>Visualise &quot;put to background&quot; running Tasks / Reports</title>
            <link>https://community.thinkwisesoftware.com/ideas/visualise-put-to-background-running-tasks-reports-6902</link>
            <description>On a Task or Report you can set the “Await result” value to “Optional”, so a user can move the process to the background when he/she does not want to wait for the result. In the older GUI’s you had them available in the “Running tasks” window and could see then progress on them. Running tasks windows (Win GUI)Unfortunately this feature is missing from the Universal GUI. When you have put several processes to the background, you have no clear idea what is still running and what has already completed or maybe even failed. A notification is not a valid solution to this problem, so this idea is for the return of such a feature.I am all for it to being a configurable entity, so you can also decide not to support this window in your application.Maybe it should even support the “Await result” value “No” to appear here, but perhaps we could also have other users give their opinion about this statement.</description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 15:57:29 +0200</pubDate>
        </item>
                <item>
            <title>Push notifications IAM on provisioning</title>
            <link>https://community.thinkwisesoftware.com/ideas/push-notifications-iam-on-provisioning-6898</link>
            <description>As application managers / admins of a system it would be very helpful to know when a new user made their first login so you can assign them the correct rights. Having a push notification or alert come through would be a great way to achieve this.Please add a way to send push notifications for IAM to specific administrators in case of a provisioning event.</description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 15:54:41 +0200</pubDate>
        </item>
                <item>
            <title>Bring back the &quot;...&quot; additon to the action translation when it will not execute immediately</title>
            <link>https://community.thinkwisesoftware.com/ideas/bring-back-the-additon-to-the-action-translation-when-it-will-not-execute-immediately-6886</link>
            <description>When working with the Windows GUI, you had a “...” addition to the action name when it would not execute immediately, but requires user input and then an “Execute” or equivalent button.Example of a task in the SF: Windows GUI with ...Universal GUI missing ...It is a nice indicator to see when a press of a button would run immediately or when you would have another input before that, meaning potentially cancelling available. Especially when an action could have significant impact, it would be nice to know how carefree the pressing of the button is.To improve this from the Windows GUI, make it also show the indicator when a confirm window is relevant. i.e. a Task with hidden parameters, but still has the “Ask confirmation” checked.</description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 15:54:17 +0200</pubDate>
        </item>
                <item>
            <title>Add column calculation type to model insights</title>
            <link>https://community.thinkwisesoftware.com/ideas/add-column-calculation-type-to-model-insights-6884</link>
            <description>If you want to debug an end application having as much valuable information is helpful. Please make the calculation type visible in the model insights tool for universal. It would be very helpful information to know if a column is a regular or calculated/expression column. </description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 15:53:22 +0200</pubDate>
        </item>
                <item>
            <title>In the SF enable certain tabs without the need for a certain indirect record to exist</title>
            <link>https://community.thinkwisesoftware.com/ideas/in-the-sf-enable-certain-tabs-without-the-need-for-a-certain-indirect-record-to-exist-6874</link>
            <description>The title might be a bit cryptic, but found certain tabs disabled until a record exists in a grid. A few examples are, in my opinion, a bit unnecessary.Data Model → Columns → Copy columnsI need to add one column before I get access to copy columns. There are situation where even my my first column is existing in another source and the copy would benefit me.Subjects → → Data → Prefilters → Prefilter groupsAs we use prefilter groups a lot, it is more fitting to create those first before starting the prefilters.Subjects → → Links → Tasks → Task groupsSimilar reason as for prefilter groupsSubjects → → Links → Reports → Report groupsSimilar reason as for prefilter groupsThe lasts three also make it impossible to delete an unused “group” when you have no prerequisite available anymore,There are probably more screens that could benefit from this idea, but at least these examples are an occurrence in my daily activity.</description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 15:49:06 +0200</pubDate>
        </item>
                <item>
            <title>Automatically remove validation messages when the related SF object is deleted</title>
            <link>https://community.thinkwisesoftware.com/ideas/automatically-remove-validation-messages-when-the-related-sf-object-is-deleted-6873</link>
            <description>DescriptionWhen I delete an object in the Software Factory, any validation messages related to that object remain in the validation list. To get rid of them, I have to manually re-validate that specific item — an extra step that shouldn&#039;t be necessary.A concrete example: I have an &quot;unused domain&quot; validation message. I delete the domain to resolve it. But the validation message stays in the list until I explicitly re-validate the domain — which no longer exists. The message is now stale, but I still have to actively dismiss it.Desired behaviorWhen an SF object is deleted, its associated validation messages are automatically removed from the validation list — no re-validation required.Why does this matter?Validation results are a snapshot in time. Ideally, they would always be fully up to date. This request is a small step in that direction: when you delete something, the messages that are now irrelevant should disappear automatically.Current workaroundAfter deleting the object, manually re-validate that item to clear the message. It&#039;s just one click, but it&#039;s an unnecessary one — especially when cleaning up objects with multiple validation messages.</description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 15:47:22 +0200</pubDate>
        </item>
                <item>
            <title>Markdown control for rendering formatted text</title>
            <link>https://community.thinkwisesoftware.com/ideas/markdown-control-for-rendering-formatted-text-6872</link>
            <description>Currently, Thinkwise supports a Multiline control for plain text and an HTML control for formatted text. However, the HTML control requires HTML input, which is difficult to generate and maintain — especially in AI-driven workflows where markdown is the natural output format of language models.A native Markdown control would allow developers to store content as plain markdown text and render it as formatted output (headings, lists, bold/italic, code blocks) in the Universal GUI — read-only in grids and forms.Use cases:AI-generated content (user stories, descriptions, summaries) rendered directly in the application	Documentation or knowledge base fields	Any field where structured, readable text is needed without the complexity of HTMLProposed behavior:Read-only rendering of markdown in form and card list components	In edit mode: plain text editor (like Multiline), or optionally a markdown editor with preview	Available as a domain control, similar to how Multiline and HTML are currently offeredThe HTML control already proves there is demand for rich text rendering in Thinkwise applications. Markdown would be a lightweight, developer-friendly complement to it.</description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 15:47:01 +0200</pubDate>
        </item>
                <item>
            <title>Upgrade script should use alter table alter column where possible</title>
            <link>https://community.thinkwisesoftware.com/ideas/upgrade-script-should-use-alter-table-alter-column-where-possible-6871</link>
            <description>Currently the Upgrade script from the Software Factory will always fully rebuild tables. This can be quite an issue when you for example need to change all your trace columns default values from getdate to getutc date. In this case all tables within your DB will be rebuild. Causing a major load and issue when executing this upgrade.In my case I was unable to run this upgrade because of the LOG created during the upgrade. It was too large, over 100GB. My fix was a manually writing upgrade script, which did not rebuild the tables but simply used an alter table alter column statement.Result was great. Script ran in under 5 minutes. The rebuild script was running over 2 hours and still not finished.I think the Upgrade script should use alter table alter column when possible. Because it is much faster and has a significantly lower load on the server and log files.A few examples when an alter table alter column would be more than enough:Changed domain of a column	Renamed a column	Changed the default value of a column </description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 15:46:50 +0200</pubDate>
        </item>
                <item>
            <title>Task &quot;Create merge session&quot; should run as a background task</title>
            <link>https://community.thinkwisesoftware.com/ideas/task-create-merge-session-should-run-as-a-background-task-6870</link>
            <description>Currently when you create a merge session the task to create a merge session will lock your Software Factory due to the fact that is waiting for result. I would this to run in the background, since the task sometimes takes 10-15 minutes. During the creating of the merge session, I would like to work within other branches. This can only be done, if you open a 2nd Software Factory. This not ideal. If the task would run in the background, you can keep working in the same Software Factory and when the merge session is created, check the result. </description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 15:46:14 +0200</pubDate>
        </item>
                <item>
            <title>Add an option to highlight weekends in the background the scheduler</title>
            <link>https://community.thinkwisesoftware.com/ideas/add-an-option-to-highlight-weekends-in-the-background-the-scheduler-6866</link>
            <description>It’s not possible to give weekend days a background. That helps planners in their overview of there planning.It now can be done in CSS, but if you could add a simple option in the scheduler : Highlight weekend days eventual with the colornumberWhen this option is turned on, the css code is added to the css file when generating the application.Or is this too simple?</description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 15:45:49 +0200</pubDate>
        </item>
                <item>
            <title>Add validation for lookup column with rights but are not available</title>
            <link>https://community.thinkwisesoftware.com/ideas/add-validation-for-lookup-column-with-rights-but-are-not-available-6860</link>
            <description>When you have assigned rights to a column that has a lookup and later you change the lookup display column, the column becomes unavailable and effectively has no rights anymore. I made a validation to detect columns with lookups that have rights but are unavailable, please add this to the validation basemodel.--Lookup has rights, but is not availableselect rco.*  from role_tab rt  join role_col_overview rco    on rco.model_id = rt.model_id   and rco.branch_id = rt.branch_id   and rco.role_id = rt.role_id   and rco.tab_id = rt.tab_id where rt.model_id = @model_id   and rt.branch_id = @branch_id   and rt.select_granted = 1 -- own table has rights   and rco.col_access_type in (0, 1) --0=edit, 1=read only, 3=hidden   and rco.available = 0   and rco.look_up_source_tab_id is not null   and rco.sf_type_of_col &amp;lt;&amp;gt; 3 -- meta hidden fieldWhat also could be considered is to automatically assign rights when changing a lookup display column that previously had rights.</description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 15:41:58 +0200</pubDate>
        </item>
                <item>
            <title>Add option: execute all on code overview</title>
            <link>https://community.thinkwisesoftware.com/ideas/add-option-execute-all-on-code-overview-6862</link>
            <description>Like the execute all at Functionality, add this option also to the deploy at Code overview  </description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 15:36:34 +0200</pubDate>
        </item>
                <item>
            <title>User preferences custom component</title>
            <link>https://community.thinkwisesoftware.com/ideas/user-preferences-custom-component-6841</link>
            <description>Sending all user preferences to a custom component not only theme, language, notation of fields for use regarding the link below (theme is already send to the custom component) extend the other settings to the custom component.Styling of custom components in Light and Dark mode | Thinkwise Community</description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 15:26:39 +0200</pubDate>
        </item>
                <item>
            <title>multiple cube conditional layout conditions</title>
            <link>https://community.thinkwisesoftware.com/ideas/multiple-cube-conditional-layout-conditions-6851</link>
            <description>I want to be able to have multiple conditions for my conditional layout in a cube view just like in subjects for a table.</description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 15:26:31 +0200</pubDate>
        </item>
                <item>
            <title>Action analysis in Universal GUI</title>
            <link>https://community.thinkwisesoftware.com/ideas/action-analysis-in-universal-gui-4400</link>
            <description>In the past, when we used the WebGUI, we used the IAM Action Analysis. After switching to the  Universal GUI we can&#039;t get any data from the Action Analysis in the IAM. For us, as a ISV, it is valuable for us to know how our application is used by our customers and users.</description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 15:23:11 +0200</pubDate>
        </item>
                <item>
            <title>Log session action in Universal GUI</title>
            <link>https://community.thinkwisesoftware.com/ideas/log-session-action-in-universal-gui-6846</link>
            <description>Currently, in the IAM&#039;s session log for a user with GUI Type ‘Universal’ does not show any session actions.While there have been questions about it, I never found the idea, thus I created this one.For us this would be great to get an insight into which screens/tasks are being used (and which are not).</description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 15:23:10 +0200</pubDate>
        </item>
                <item>
            <title>Check connection and IAM version as first action</title>
            <link>https://community.thinkwisesoftware.com/ideas/check-connection-and-iam-version-as-first-action-6844</link>
            <description>​ Can check connection an version be set as first action in the Sync IAM process? This avoids unnecessary waiting time if the check fails.And in addition to this, more information when the action fails, would be appreciated too. ​ ​</description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 15:21:49 +0200</pubDate>
        </item>
                <item>
            <title>Option to convert BIT to true Boolean for Web connector parameter</title>
            <link>https://community.thinkwisesoftware.com/ideas/option-to-convert-bit-to-true-boolean-for-web-connector-parameter-6835</link>
            <description>When using a BIT data type in your product and most likely that would have a Checkbox control, it will use a capital letter as a start when you use this value as an input for the web connector:Example:{&quot;allow_fallback_to_email&quot;: True}This will not work as lower case is expected:{&quot;allow_fallback_to_email&quot;: true}The work around is to have something in between to convert this to a string value and then use in the web connector. I find this solution a bit much for the intended goal.Opting for a feature that enables a BIT data type to be converted to a true Boolean. How or where to have this setting (or perhaps even default behaviour) I’ll leave to the developers of Thinkwise themselves. </description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 15:20:29 +0200</pubDate>
        </item>
                <item>
            <title>Change to TCP - support</title>
            <link>https://community.thinkwisesoftware.com/ideas/change-to-tcp-support-6834</link>
            <description>It would be very helpful ifyou can always add info to a ticket, also when it is processing (e.g. when you want to add some info / inform to close ticket). Now you don&#039;t have this option (buttons are disabled)	to assess a solution, there is only an option to add comment in case you don&#039;t accept. But when you accept, it might be useful to add info (got give extra feedback to TW)</description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 15:19:27 +0200</pubDate>
        </item>
                <item>
            <title>Keep state of document when switchen between &quot;Open documents&quot; in the menu</title>
            <link>https://community.thinkwisesoftware.com/ideas/keep-state-of-document-when-switchen-between-open-documents-in-the-menu-6784</link>
            <description>When for example working in the Software Factory, it is not strange to swap between the multiple opened documents. Unfortunately that also means that certain states get returned to their default.Ex:1) You have the Subject entity open and are looking at the columns tab. You have moved your horizontal scrollbar to the right to see the “Context input” column. After having checked something in another document and return to the Subject entity, the scroll bar is again at the start and the “Context input” is again out of sight. Similar behaviour for vertical scrolled grids or forms.2) Another example is the process flow design. You are zooming out to make some space where you intend to put new actions and have some room to move stuff around if needed. After returning it is back to a zoomed in state to just fit all placed actions inside.3) Last example is one of the more annoying ones, which might not entirely fit in this idea as it probably has another cause. You are working on a functionality and have your template open in your IDE and the Thinkwise Workspace Listener is keeping you saved changes in sync. You deploy the current saves state and notice an error. You get back to your IDE to correct this, as the file is still opened, and now the file does not save as it is disconnected.Please keep the state of the document to what it is when leaving it to go to another document, so you continue with what you were doing there.</description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 15:18:53 +0200</pubDate>
        </item>
                <item>
            <title>Multiline control: show action button in read mode</title>
            <link>https://community.thinkwisesoftware.com/questions-conversations-78/multiline-control-show-action-button-in-read-mode-6829</link>
            <description>Please let the multiline line control also show the magnifier action button in a read-mode grid when ‘Show action button’ is set to ‘Always’ for the domain. Currently the action button is only shown in edit mode.</description>
            <category>Questions &amp; Conversations</category>
            <pubDate>Fri, 24 Jul 2026 15:12:44 +0200</pubDate>
        </item>
                <item>
            <title>Excluding quick filter</title>
            <link>https://community.thinkwisesoftware.com/ideas/excluding-quick-filter-6827</link>
            <description>Could an excluding quick filter be made that works similar to the normal quick filter but instead of filtering on the selected value, it excludes the selected value?An example use case is when you go through a list and want to exclude each type that you have viewed until your list is empty. For example when going through the merge impact in the SF.</description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 14:57:39 +0200</pubDate>
        </item>
                <item>
            <title>SF: Set a remark to role-rights</title>
            <link>https://community.thinkwisesoftware.com/ideas/sf-set-a-remark-to-role-rights-6825</link>
            <description>I would like the possibility to add a small remark to role rights. My primary use case for this is setting a remark when a role has rights to all columns/tasks/etc. of a subject except one. For the one exemption I would like to be able to place a remark so all developers know that was a deliberate exemption and why.</description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 14:55:57 +0200</pubDate>
        </item>
                <item>
            <title>Debug Universal</title>
            <link>https://community.thinkwisesoftware.com/ideas/debug-universal-6816</link>
            <description>I think I’m not the only one struggling a lot with the debugger of Universal. At least can you suppress the breakpoints in de database eventlog. This one generates 500 records per second and you have be really quick to trap the error if there’s one.And the WIN GUI was able to return the SQL error’s For example:  Cannot insert the value NULL into column xxxThe universal GUI gives me a Unknown Error, the message cannot be found in the indicium log. How do I know what’s going wrong. In developer mode of the browser I can see the task is going wrong but also there, the text the windows GUI is returning on a proper manner cannot be found. You only get a diarree of unreadable code. Debugging is taking me seriously more time then with the WIN GUI, and it’s very frustrating.Please improve this ASAP</description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 14:53:00 +0200</pubDate>
        </item>
                <item>
            <title>Restore prefilter status when opening a new document</title>
            <link>https://community.thinkwisesoftware.com/ideas/restore-prefilter-status-when-opening-a-new-document-6789</link>
            <description>For universal please make the prefilters act like they did in windows gui. If a document is closed, or a new document is opened restore the default prefilter status. In universal if i am on a screen to show all customers. I can deactivate a prefilter to show inactive customers. The next time I open this screen the prefilter will still be deactivated. Why? The default is there for a reason, it’s the most logical set of prefilters to show the screen when opening. This is one feature where windows gui is still supreme. Please change this to make the universal gui easier to use. </description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 14:41:51 +0200</pubDate>
        </item>
                <item>
            <title>Add some indicator for database or environment in universal</title>
            <link>https://community.thinkwisesoftware.com/ideas/add-some-indicator-for-database-or-environment-in-universal-6630</link>
            <description>At support we work with multiple version of the software factory and multiple environments. However with the introduction of universal there is no clear (default) way to distinguish the environments. In universal you can check information for which platform version you are using, but then you still don’t know which database. This was much easier to distinguish in windows gui. Can we add a setting to show the database name and platform version? I can imagine you don’t want to do this by default. So a setting that can be activated for the development environment to show the database name somewhere would be appreciated. Windows gui: (on openening the gui you can see both the database name and the platform version) Universal: No clue which database or platform i’m looking at. about does show me the platform version:  </description>
            <category></category>
            <pubDate>Fri, 24 Jul 2026 14:28:44 +0200</pubDate>
        </item>
                <item>
            <title>Thinkwise Platform as MCP Server</title>
            <link>https://community.thinkwisesoftware.com/news-blogs-21/thinkwise-platform-as-mcp-server-6912</link>
            <description>Since launch less than 2 years ago, the Model Context Protocol has become the de facto standard for integrating systems with LLM chat interfaces or AI Agents. MCP Servers are popping up everywhere, in varying quality when it comes to capabilities, security and governance. Either software vendors offer an officially supported MCP server, or else unofficial (often vibe-coded) MCP Servers pop up.As with any runtime component, an MCP Server for the Thinkwise Platform should work for all customers and all applications. Developing such a dynamic component takes a bit more time, but in return a Thinkwise-provided MCP Server works for all customers, all Application models and all future changes to your Application out-of-the-box. And since we develop the Software Factory and Intelligent Application Manager (IAM) with the Thinkwise Platform as well, we can implement MCP for the Software Factory and the Intelligent Application Manager in a similarly fast fashion as you can for your applications.We have made the MCP Server capabilities of the Thinkwise Platform part of runtime component Indicium, no separate installation is required to get your hands on this new technology. From a functional perspective we rely as much as possible on existing features in the Software Factory and IAM, mainly Roles and Client applications. This is our Technology-as-a-Service promise at its best: as soon as you upgrade to a supported version, MCP can be utilized!MCP will be launched in BETA with Short-Term Support (STS) Platform version 2026.2.12 and become an officially supported and licensed feature with Platform version 2026.3. More details on required setup will be shared in a separate blog. MCP democratizes integrationThe Model Context Protocol is often referred to as the USB-C for applications: one standard connector to power applications with AI capabilities. The OData protocol is a similar standard for REST APIs, but requires technical expertise by the user and is much more rigid to use. MCP places the responsibility and burden of integration at the supplier of the API, instead of the consumer of the API.The key differentiator of generative AI + MCP is that users can use natural language to interact with organizational data in an iterative manner. Essentially, this enables any user to set up an integration with an application and use a language they know to put that integration to work with trial and error. Without generative AI you needed to be capable of using a technical language like OData and without MCP you needed to know exactly how to construct the URL Endpoint and the JSON Body of the call.Now, all that’s needed in an AI tool that supports this (for example Claude Desktop, Claude Code, OpenAI Codex, Copilot Studio), is Setup MCP Server &amp;gt; Authenticate &amp;gt; Grant permissions and the user is ready to go!MCP as translatorMCP begs to be applied to compelling use cases, but where does it shine? Generative AI and related tooling is not a silver bullet and not a solution to all integration problems, but it does hold the promise of solving problems that couldn’t be solved before!MCP shines at the translation layer between structured and unstructured data: turning unstructured input into structured data, or structured data into something a person can read. A plain-language support request becoming a properly filed ticket. A pile of transaction data becoming a great visual report. An agent processing a messy email into a draft order.Compelling use cases include:Easier &amp;amp; interactive search and summary of data	Performing specific actions like booking hours or processing meeting summaries	Automating repetitive actions like processing an incoming PDF invoice	Informed interaction with an AI agent like a Support agent that helps triage an IT issue	AI-driven Development to speed up and improve Software DevelopmentMore elaborate examples of compelling use cases will be shared in a series of follow-up blogs.MCP poses risksBefore going all out on MCP, it’s important to mention the risks that AI imposes. While people tend to refer to generative AI tooling as if it has some sort of personality (&quot;he&quot;), it is wise to be aware of the fact that it’s a trained mathematical model that algorithmically predicts the next best word or action.Importantly, AI at this stage can’t substitute for human judgment or experience. In other words: &quot;AI is as good as its user&quot; and AI doesn’t suffer consequences for being wrong. An extreme example of the potential negative impact is the deletion of the entire Production database of PocketOS.For business-critical applications built with the Thinkwise Platform this means that you shouldn’t want your users or AI agents to connect to an unofficial MCP server and hand out credentials and entire permission sets in the process. Instead, you should treat any MCP-connected user or AI agent as less knowledgeable than your most junior hire initially.While it makes sense for any human being that &quot;write all open hours&quot; refers to booking 8 hours for each past working day, AI might as well decide to book hours for 24 hours for each past or future day available. Or worse, &quot;clear approved invoices&quot; for a finance person might mean paying these invoices, while AI might as well decide to delete the invoices altogether without ever paying them.Enterprise-grade Thinkwise MCPApplications built with the Thinkwise Platform are business-critical, which is why we prioritized providing an enterprise-grade MCP Server solution with granular controls that allows you to mitigate the above-mentioned risks. We utilize Client applications in IAM, authentication via OAuth 2.1 or Personal Access Tokens (PAT), and granular permissions based on IAM applications, users, and roles that explicitly need to Allow access delegation.We recommend applying the Principle of Least Privilege and putting a Human-in-the-Loop for any AI-powered workflow, especially in the beginning stages. More specifically, we recommend creating and granting access to delegated Roles with permissions for Read data or Create data / Execute tasks (that result in data with concept status), but not for Update or Delete of existing data to begin with.The initial implementation of MCP supports a core feature set of the Thinkwise Platform, including CRUD on subjects (variants are not exposed via MCP), Execute (table) tasks, and Data authorization pre-filters.RoadmapMCP will be launched in BETA with STS Platform version 2026.2.12 on the 3rd of August and become an officially supported and licensed feature with Platform version 2026.3.During the MCP BETA you get to experiment with MCP for customer Applications, and we continue to improve the capabilities and efficiency. In parallel, we implement MCP support for the Software Factory with Release 2026.3. This includes an authorization and logging concept (tsf_is_delegated_access) and a granular setup of Roles in the Software Factory.In parallel with our MCP development, many of you have been experimenting with custom MCP servers, AI-assisted development on the Software Factory and the use of Skills. We have already offered a Skill to update your Dynamic code with Release 2026.2 and are now testing to what extent Skills prove to be needed in addition to MCP integration with the Software Factory. We anticipate Skills over MCP will be adopted soon, and intend to use that to distribute Software Factory-related Skills in the future.Using MCP Server in a Production environment will require an amended license agreement with Thinkwise, as Agentic AI via MCP typically automates and replaces human user interaction. MCP Server will be freely available in Develop and Test environments to empower you to experiment with MCP for end users and speed up development in the Software Factory.We look forward to your implementation of compelling MCP use cases!</description>
            <category>News &amp; Blogs</category>
            <pubDate>Fri, 24 Jul 2026 11:48:35 +0200</pubDate>
        </item>
                <item>
            <title>Collapsible screen type elements</title>
            <link>https://community.thinkwisesoftware.com/ideas/collapsible-screen-type-elements-682</link>
            <description>Currently within the project I work on we make use of the detail tiles on the side of most of our subjects. Like this: What I would like to be able is to collapse this element the the right side of the application so the screen has more room to work with. It should work the same way as the menu does, like I can open it by clicking on or hovering over it.This could also be implemented for elements like the Tab containers. </description>
            <category></category>
            <pubDate>Thu, 23 Jul 2026 11:48:37 +0200</pubDate>
        </item>
                <item>
            <title>🚀 Platform improvements for week 30, 2026 ⚠️</title>
            <link>https://community.thinkwisesoftware.com/product-updates/platform-improvements-for-week-30-2026-6909</link>
            <description>Hi everyone!We’ve released the following platform improvement this week:  IAM 2026.2.1120260721 - Scope authorization of log access role			Granting a user log access would give the user more rights than they were supposed to have, such as access to the IAM application.						It is advised to install this hotfix with urgency if you are running platform version 2026.2.11.</description>
            <category></category>
            <pubDate>Tue, 21 Jul 2026 15:06:27 +0200</pubDate>
        </item>
                <item>
            <title>Quick button to take you directly to &quot;Search&quot;</title>
            <link>https://community.thinkwisesoftware.com/ideas/quick-button-to-take-you-directly-to-search-2057</link>
            <description>Be able to assign a quick button to take you directly to &quot;Search&quot;. For example assign &quot;F1&quot; button, when pressed,  to take you to &quot;Search&quot;</description>
            <category></category>
            <pubDate>Mon, 20 Jul 2026 23:21:40 +0200</pubDate>
        </item>
                <item>
            <title>Bring back hotkey for combined filter (search)</title>
            <link>https://community.thinkwisesoftware.com/ideas/bring-back-hotkey-for-combined-filter-search-6800</link>
            <description>In the Windows GUI we were able to use CTRL-G to put our cursor in the combined filter (search).We would love to have this feature in Universal, where the hotkey would take you to the (nearest) combined filter for the current subject.</description>
            <category></category>
            <pubDate>Mon, 20 Jul 2026 23:21:40 +0200</pubDate>
        </item>
                <item>
            <title>**SMTP connector: sending multiple attachments from an S3 file storage location?**</title>
            <link>https://community.thinkwisesoftware.com/questions-conversations-78/smtp-connector-sending-multiple-attachments-from-an-s3-file-storage-location-6904</link>
            <description>Hi all,I recently set up an SMTP connector process action to send emails with attachments stored in an AWS S3 file storage location, and collected the full set of file storage status codes along the way (-6, -7 and -8), so I feel qualified to ask this question now. What I learned:- **-6**: the storage location wasn&#039;t linked to the process action yet. Fixed.- **-7**: *Storage attachment path* must be the full absolute path *including* the storage location root (e.g. `https://bucket.s3.eu-central-1.amazonaws.com/2026/06/file.jpg`) — even though the storage location is already selected on the process action itself. A relative path within the storage location is rejected. Slightly surprising, and not great for maintainability if the storage location ever changes, but okay.- **-8**: this is where I&#039;m stuck. I tried semicolon-separated paths to attach multiple files, the way *Disk file attachments* works. The connector treats the whole string as a single (non-existent) file path. The documentation confirms *Storage attachment path* accepts exactly one path. So my question: **what is the intended way to send a single email with multiple attachments from a file storage location?** Workarounds I&#039;m aware of:1. Zip the files first with the Zip file action and attach the single zip — functional, but the recipient gets a zip instead of the individual documents.2. Per file: Read file (from S3) → Write disk file to a temp location → SMTP connector *without* a storage location, using *Disk file deletable attachments* with a semicolon-separated list. This works but round-trips every file through local disk, which somewhat defeats the purpose of the file storage integration. If there&#039;s no direct way, I&#039;d like to turn this into a feature request: support a semicolon-separated list in *Storage attachment path*, consistent with *Disk file attachments*. Bonus points for also accepting paths relative to the selected storage location. Current platform version: 2025.3 Thanks!</description>
            <category>Questions &amp; Conversations</category>
            <pubDate>Mon, 20 Jul 2026 16:21:43 +0200</pubDate>
        </item>
            </channel>
</rss>
