Questions, discussions, news and updates regarding the Thinkwise Platform.
Recently active
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.
Compared to other platforms, Thinkwise really excels in productivity. Especially the fact that creating a Data Model immediately results in a working Application is unparalleled! One of the current strategic priorities is to double down on this development speed of the Thinkwise Platform: we strive to make every Developer a mythical 10X Developer!There are a lot of angles we can work in order to achieve that goal. As a first, we want to fix unnecessary limitation in the Software Factory (SF). This means we want to tackle those things for which you as Developer have to create workarounds to get functionality working the way you(r users) need it.There are a lot of great Ideas out there and of course we'll review the existing ones. But I would also like to call upon the Community to highlight which existing Ideas would be your priority and/or to create new Ideas related to eliminating SF workarounds (please keep it to this scope in this topic).Could you please:Reply with Ideas that would
Hello, guys. How are you? I need your help with the configuration of the MCP on Thinkwise.I configured the client app, the applications and user to have delegated access. I also configured chatGPT (when I set the connection it finds everything automatically). The thing is: ChatGPT can connect to the applications with the correct scopes, but it says that there are no tools available for him: "I can see your plugin selection, but its callable tools were not exposed.That doesn’t prove the MCP server has no tools—only that I cannot currently list or invoke them. I also can’t determine the cause from the information available."On version 2026.2.14 it was working just fine.My indicium environment runs on podman and is behind a reverse proxy (NGINX).This is my client application configuration:Client Application FormsClient Application Access Delegation
Hallo, I want to select multiple rows from a grid and have a task process only the selected data. I created a task and added a task parameter called selected_rows with the XML domain and disabled Popup for each row. I also added the MultiselectParameterID extended property in the Software Factory runtime configuration. According to the documentation, the value should be the Universal GUI Indicium ID of the task parameter? Questions: Where can I find the Universal GUI Indicium ID of the task parameter in Software Factory 2026.3.10.0.0? Is it different from the task parameter name? Should MultiselectParameterID be configured only in Software Factory, or does it also need to be configured in IAM under Global configurations → Extended properties? Also, when MultiselectParameterID is configured correctly, does the Universal GUI automatically display checkboxes for selecting multiple rows, or do users select rows using Ctrl-click or Shift-click? Thanks in advance! Jheng
What is the way to explode all the groups in one shot in Universal.In the WIN GUI we have the right mouse function explode all / collapse all.We miss this in the Universal!
On Sunday, October 25, Microsoft shipped an unscheduled .NET update. The October 13 security release had not fully closed two earlier flaws, and a new critical one could not wait for the next Patch Tuesday. That new one is CVE-2026-111497, and it reaches the web servers Indicium runs on.This post explains what the vulnerability is, who needs to act, and what to do for your hosting setup. What the vulnerability doesCVE-2026-111497 is an out-of-bounds write in the Brotli decoder, the library that decompresses Brotli-encoded data. Google Brotli versions 1.0.3 through 1.2.0 are affected. A remote attacker needs no credentials. One crafted compressed stream makes the decoder write past the end of its buffer, which corrupts memory and can lead to remote code execution. Google rates it 9.2 on CVSS 4.0, which is Critical. Public proof-of-concept code exists..NET carries its own copy of the decoder, so a library update on the operating system does not close the gap. You need the patched .NET ru
We are currently running Software Factory version 2026.2 on SQL Server 2019.While applying the latest hotfixes for SF 2026.2, I encountered syntax errors (Msg 156, Level 15: Incorrect syntax near the keyword 'distinct') when running the following script: 20261015 - Correct changes compared to default for variants.sql Looking into the script, it appears that the ANSI SQL DISTINCT predicate (IS [NOT] DISTINCT FROM) is used across almost all WHERE clauses.Since this predicate was only introduced to T-SQL starting with SQL Server 2025, any server running on SQL Server 2022 or older (or running with an earlier database compatibility level) fails to parse and execute this script. Given that SF 2026.2 is supported on SQL Server 2019+, this seems unintended.Could this script be updated to use backward-compatible T-SQL syntax (e.g. EXISTS (SELECT ... EXCEPT SELECT ...) or explicit NULL handling)?
A new team member joins your organization. You open their employee record and see a collapsible section labeled Contract. To check their working hours, you expand the section, scroll through the details, find the right fields, and read the values. Now imagine that same section label simply reads Contract – hours: 40.00. No expanding, no scrolling.That is what parameterized translations do. They let you embed data values directly into labels, section headers, and task parameters. The result: a more information-dense interface that gives your users the context they need at a glance.It looks like a small feature. It is not. The ability to surface the right data in the right place, without adding extra columns or expression fields, changes how users interact with your application. In this post, we walk through six practical scenarios to show you what is possible.How it worksThe configuration is surprisingly simple. In a translation field, you reference another column from the same subject
Is there a method the focus does not ends up in the combined filter, especially when we are opening a subject from a proces flow. We apply a filter and we want the focus to be set to the filtered line.Now we always need to do a user action to select the line again. In this case we activate a tree structure in the correct node. The selected node is highlighted but the focus is set to the combined filter, so we always need to select the line again before we’re able continue to work.
We have two different applications in one iam environment having two different urls for the custom component having two different url’s not in the same proxy.Is it possible to fill in a expression (sql) in the location (subject) setting for translation the url when the application is running? The solution of two different branches is not a nice one for maintenance. What could be a good solution?
While transitioning and testing our application from the Windows GUI to the Universal GUI, we noticed a fundamental difference in how Default logic executes during a data import.In the Windows GUI, the @cursor_from_col_id parameter always remains empty (NULL) during an import (where @import_mode > 0), evaluating exactly once per row.In the Universal GUI (via Indicium), @cursor_from_col_id is populated sequentially with the Column IDs currently being processed by the OData Import API. This causes the Default logic to fire multiple times per row.While we understand this stems from the architectural shift to Indicium's server-side processing framework, it breaks or causes unexpected side effects in our existing SQL logic. We would appreciate your insights on the following:- Is this specific behavioral discrepancy documented or mentioned in any specific whitepaper?- What is the best practice for structuring Default logic so that it handles imports predictably via Indicium?
We’ve put the mandatory fields lightblue in de css custom style sheet.However, this css code does not effect the mandatory setting from the layout.So if we set a field mandatory in the layout it’s not highlighted in light blue.There is this really small light red arrow in the label, but users oversee this small red star.Is there a css change which effects the mandatory fields set by the layout as well.We want to have ALL mandatory fields light blue en not just a part of it.
Would it be possible to align column header captions to the top of the header area, or make the vertical alignment configurable? In many cases, this would improve readability, as the filter icon often obscures the header text.
On 20 October 2026, the PHP security team announced an urgent security release for two critical remote code execution vulnerabilities in PHP. They are tracked as CVE-2026-109618 and CVE-2026-109619 and are nicknamed “PHP2Shell”. Both are rated 9.2 (CVSS v4.0) and affect web servers running PHP 5.4 or later. Details leaked before the coordinated release, so security researchers expect attacks to follow quickly.So is your Thinkwise environment at risk? It is not. No impact on the Thinkwise PlatformThe Thinkwise Platform does not use PHP. None of our components contain PHP code, and none of them need a PHP runtime on your servers. Your Thinkwise environment is not affected, and no action is needed for it. The technologies behind the Thinkwise PlatformFor those interested, here is a short overview of what the platform is built on:Database: Your application’s data and business logic live in the database. The platform supports Microsoft SQL Server, Oracle, IBM Db2 and PostgreSQL. Indicium: O
hi,We use a task with an editable parameter “quantity”, this is passed as value in a drag-drop action into the task, and then displayed so the user is able to adjust the number. In some cases, if the available quantity is e.g. 1, we use the task layout to set the quantity_type to 3, hidden outside the form, and then the dialog is not shown at all, but the task is executed. Perfect! Now, if the user sets the quantity to 1 and exits the input field to hit Execute, the task layout is triggered again and also hides the fields outside the form. But then it leaves us this minimized dialog: Is there an chance to skip the second firing of the task layout?
Inspired by the Thinkwise Summit, I was wondering whether anyone has experience with using AI for the bulk translation of Crystal Reports.What would be a good approach or workflow for:Extracting translatable content from Crystal Report (.rpt) files Translating that content using AI Applying the translations back to the reportsTaking the idea one step further, has anyone explored using AI to generate a DevExpress report based on an existing Crystal Report?
I have some changes in a DEVELOPMENT branch that I want to merge to the RELEASE branch. After creating the merge I exclude a particular line from being merged. What seems to happen after the merge is completed is that the excluded part is overwritten by the code from the RELEASE branch, so my original code is gone. Is this intentional? It looks like the merge is bi-directional.
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?
Next Wednesday, 30 September, hundreds of customers, partners and IT professionals will come together at the Thinkwise Summit.Here’s some of what you can expect:See MCP in action Discover how the Model Context Protocol (MCP) connects AI with the Thinkwise Platform. Dive deeper during the sessions and see MCP in action in the Software Factory during live demos in the foyer. Explore what’s next for the Thinkwise Platform Get a closer look at the latest developments around AI, MCP, MQTT and the AI-Upcycler – and what they could mean for your applications and development process. Learn from other Thinkwise users Hear how organizations including Syngenta Flowers, Antea Group, Huuskes and the European Association of Urology use the Thinkwise Platform to develop their business-critical software. Meet the people behind the platform Have a question, want to discuss a specific topic or simply curious about what’s coming next? Use the Summit app to schedule a meeting with a Thinkwise specialist a
The Thinkwise Summit is getting closer. On 30 September, we’ll bring the Thinkwise community together at NBC in Nieuwegein. And this time, we can tell you more about what to expect.The programme is now live, with customer stories, platform developments and live demos across the business and tech tracks.A few highlights:See in live demos what AI can already do within the Software Factory. Huuskes, Antea Group and EAU share how they develop their business-critical applications around their own processes. Discover what MCP means for developing and using Thinkwise applications. Dive into topics including MQTT, AI and digital sovereignty.And of course, the Summit is also a chance to meet other Thinkwise customers, exchange experiences and catch up with the Thinkwise team.Curious about the full programme?View the programme and register for Thinkwise Summit 2026
Hi all,In an shadow environment we are trying to upgrade from IAM from 2026.2.14 to 2026.3 and we get the following error:Mind you, we are using the SQL Server 2022. Is there any workaround? Or do I need to submit a ticket?
A project manager wants to know which projects are running over budget. A colleague needs to log last week's hours across four projects. With MCP (Model Context Protocol), both just ask: one gets an answer straight from the data, the other gets the hours booked for them.You've read plenty about MCP by now. Time to try it on a real application. See it in action Try it yourself!Our Insights demo application is now available through MCP. If you have a Thinkwise Community account, and you probably do if you are reading this, you can connect to it right away with ChatGPT or Claude. A free Claude account works too. Note: This is a demo application, so the data isn't always as realistic as in your own. You can change, insert or delete anything, but remember that everyone shares the same data. The database resets every night. How to connect In Claude or ChatGPT, add a Custom connector Enter a name, for example Thinkwise Insights, and this URL: https://insights.thinkwise.app/indicium/mcp
A sales employee opens an email from a customer who wants 40 units of a product, delivered next Friday. Instead of retyping the order, she hands the email to her AI assistant. The assistant reads it, finds the customer and the items in your Thinkwise application, and creates a draft sales order for her to review. This is what MCP (Model Context Protocol) makes possible: users talk to their business application in plain language, and agents act on their behalf.AI is very good at turning unstructured input into structured data, and that goes well beyond order entry. With an MCP connection to your application, users can:Ask questions about their data, such as "Which customers have open invoices older than 60 days?" Prepare for a meeting by asking for a summary of a customer's recent orders, open quotes and service tickets. Spot problems early, for example "Which production orders are at risk of missing their delivery date this week?" Register work from a short note, such as turning "Spent
Hello,I am working on filtering for a custom component and I am trying to achieve this using prefilters.I would like to have multiple prefilter groups, with one main prefilter that is always active, regardless of which filters the user selects. This main prefilter should ensure that the original items belonging to the current user are always shown and cannot disappear because of the other filter selections.Conceptually, I am looking for something like:Main prefilter: always active and preferably hidden from the user Shows the user's own/original items Filter group 1: optional filters Filter group 2: optional filters Filter group 3: optional filtersThe desired result would be that the main prefilter is always applied, while the other prefilter groups can be selected/deselected independently.Is this possible with Thinkwise prefilters? If so, what would be the recommended way to configure the prefilter groups and the hidden/main prefilter to achieve this?Thanks in advance!
As you probably noticed, we have launched MCP support for our Platform as a beta feature with release 2026.2.12! The initial communication has been about using MCP on customer applications. And because the Software Factory and IAM are built with the Thinkwise Platform itself, MCP is technically available for those applications too!Given the eagerness to work via MCP on the Software Factory, we invite you to start using it now. Keep the known limitations below in mind. Specifically, double-check that you are applying the best practice of setting your MAIN branch to Read only.Knowledge Session & WorkshopsBefore you start, we strongly recommend watching the recording of our Knowledge Session MCP on the Software Factory: application development with prompts:We are happy to help you get started with MCP on the Software Factory and have organized a bunch of Workshops. Make sure to enrol via the Community Events if you are interested!Known limitationsThe main reasons for not advertising t
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.