Questions, discussions, news and updates regarding the Thinkwise Platform.
Recently active
I installed the Thinkstore solution Translating model objects in business logicThen I found generating the code takes too long. I wanted to make my own version for domain elements only, but since I cannot edit the generated control procedure, I made a copy instead and edited that.I set the installed control procedure to inactive… but it is still being executed in the “Generate source code” step? And I can’t delete the subroutine either… There is no “uninstall solution” button...What now? Must I perform queries on the SF database to delete them?Am I forever bound to the generated procedures?Appreciate any help. Thanks!
Currently, we send PDF forms to our customers. They fill them out manually and return them via email, after which we process the data. We want to modernize and digitalize this process using Thinkwise.Our goal is to set up a portal/webpage where customers can enter their data directly, ensuring it is immediately stored in our database. Since we are dealing with a broad, shifting customer base, we want the URL to be publicly accessible. Customers should be able to open and use the page without logging in with a username and password (no login prompt from the Universal GUI).Is it possible? And what are the best practices within IAM of Indicium? Because I think that you will create a sort of pool-user for that, which has some limited rights.
I want to retrieve a file from a folder using a Thinkwise application and move it to another folder so an external organization can collect it.My starting point is a folder containing multiple files. I am using the List Folder process action to search through them. I intend to use the returned JSON to extract the filename, read the file, and eventually move it.The 'Read File -> Write File -> Move File' sequence worked correctly when I wasn't using process variables. However, after adding the List Folder action, I am not receiving any data back.In my process flow, the List Folder action has a storage location assigned but no input parameters. The output parameters are set to status_code and json_outputWhat is the solution to get this working? This is the flow I am currently testing.
To further improve the security and enhance user account management, we will soon introduce Multi-Factor Authentication (MFA) for all TCP users.What does this mean for you?Your authorization within TCP will not change. This setting will be enabled for you. After logging in using your password, you will be asked to register your TCP account within your preferred authenticator app.We expect to implement this change as part of the TCP upgrade scheduled for Tuesday, July 7.
Somehow we are not able to print labels from Thinkwise with the quality that we would like to see.In above picture the right label is printed directly from Thinkwise Universal (worst quality), the middle label was first generated as PDF from Universal and then opened in a browser and printed from the browser (Chrome). The left label was generated as PDF from Universal and printed from Acrobat Reader (best quality). All using the same label printer with the same driver settings. If we print from Acrobat and choose the option “print as image” the quality gets worse. We have done a lot of testing with changes in driver settings and playing with the print settings in the SF but without good result.I wonder if anyone experienced the same problem and has a solution for this?
Hi,Since a couple of days I get the follow error message when generating a branch: Error: 'Cannot find either column "dbo" or the user-defined function or aggregate "dbo.tsf_user", or the name is ambiguous.'.When compiling the function through the Functionality menu option, there are no problems, only when generating the branch. It would seem that the order of execution when generating functions has something to do with it, but the 2 functions used in this function, dbo.current_actor_id() and dbo.get_topic_access_level() both have a lower execution order number. So they should already exist before this function is generated. The function where the problem occurs is a new function, recently added.Any ideas where I can look to see what the cause of the problem could be? An unknown error occurred while executing '/* Create or alter function can_assign_objective_topic_to_case. */create or alter function "can_assign_objective_topic_to_case"( @process_id "identifier" , @objective_i
Hi everyone,We are currently experiencing a behavioral difference between the Windows GUI and the Universal GUI and were wondering how others are handling this.In our application, we frequently work with grouped data in grids/views. For example:a trip containing grouped orders, a planning containing grouped tasks, or other master/detail-like groupings.Users can expand and collapse these groups.Current behaviorIn the Windows GUI, expanded groups remain open after the document or data is refreshed.In the Universal GUI, however, we notice that after a refresh the groups are often collapsed again. As a result, users continuously need to re-expand the groups they were working in.ImpactFor our users this is quite disruptive, especially in screens where:many groups are present, automatic or manual refreshes happen frequently, and users work in the same dataset for a longer period of time.This causes loss of context and unnecessary extra clicks.Our questionsIs this currently standard behavior
Since yesterday our reports are not working anymore. No update on our side, nothing in error log. Anyone same experience or suggestions where to look?
Wanting to experiment with the new IAM process actions, I notice it does not have any requirement for a target IAM location.My suspicion is that it will use the IAM that the model is of, so if that is true, would it try to talk to the SF IAM when developing? I would not like that to happen and rather not have to experiment to find out how much I can break this way.So before I might mess something up, what are the rules to which IAM the process actions connect to?
To make navigation in the scheduler a bit more clear, it’s preferable to give the weekend days a background color.So I thought I could achieve this with the cell colors. I added a column in my view wich sets the field week_day to the value of the in the month if it’s a saturdaty or sunday. So for june 6 it will hold a 6 and for june 13 (also a saturday) it holds 13.I add a cell color of the type time scale.Time scale day, condition equals to column week_dag (Which is the column in my view holding the day of the month)But… it’s not working. How can I achieve this?A variant on this.. if I’m able to give the 00 hour colomn a color on a sunday or a monday, So the user has a more clear reference where the new week starts. This is now real unclear. You have to look to the columns and interpret the numbers which are dependent of the view.
Hello,I have a lookup table, which contains a table task which adds a row to the selected lookup table. After adding the new row to the lookup table with the task, I want to select this new row. However, the normal process flow actions don’t seem to work here. ‘Go to row’ does not work, I tried ‘activate document’ and I tried ‘open document’ with ‘use existing document’ on yes. But all these actions fail to do what I want to. What process action should I use here?Thanks!Process flow with ‘open document’ to try to select the active lookup tableThis action does not work however.
We have several TW models in our SF that are “proof of concept”.Some of these are put on hold for no one knows how long, and we might want to access them again in the future.Is there a way to archive them without the automated cleanup deleting them after an x period of time?We explored 2 routes:export model - but that only works if imported in the same version of the software, which we cannot guarantee. Might be in 5 years or so… archive branch - the automated cleanup will delete the branch after x daysAre there any other methods we have missed?
It’s possible to setup the scope url in the software factory, not in the IAM environment only token url and authorisation URL can be filled in.
I try to create more space between fields in a Form List.For some reason the setting ‘Height between fields’ has no effect. Is the setting not yet implemented in Universal? Wat can we do with custom css?
Hello Thinkwise,We are experiencing an issue where a SQL DATE column (subsidiary_calendar.date) is serialized by Indicium as a UTC datetime string ("2025-06-08T00:00:00Z") in the OData response. The Thinkwise Universal GUI running in the Netherlands (CEST = UTC+2) subtracts 2 hours, rendering the date as the previous day.This causes a visible bug in our pickup overview: Monday June 8 disappears from the day window because Sunday's is_work_day = 0 ends up being shown on Monday's slot.We confirmed this via a direct OData call:GET /subsidiary_calendar?$filter=subsidiary_id eq 1186 and date eq 2025-06-08&$select=date,is_work_dayResponse: { "date": "2025-06-08T00:00:00Z", "is_work_day": 0 }The database correctly stores 2025-06-08 with is_work_day = 0 (Sunday). The serialization introduces the offset.We know that $apply=Compute(Date(date) as date) returns a pure date string as a workaround, but this cannot be applied at SF model level since our views and subjects are driven by the model.
Hi all,I'm not sure whether this is a new idea, but I haven't found any related community posts yet.I have a client using UGUI (2025.3) for order entry. A significant amount of their order entry is done in succession using the + button. Users create a row, then click + again to add the next row rather than clicking Save between entries. The challenge is that users still want to see the newly created row immediately after adding it. Currently, the grid only selects and scrolls to the new row after a Save action, not when a new row is created using +. As a result, newly added rows at the bottom of the grid may not be visible until their final save.From the users' perspective, this slows down the order entry process because they cannot quickly verify that each line was added successfully before moving on to the next one. I imagine there are other scenarios where users repeatedly use the + button without saving between entries, so this behavior may not be unique to this client.Would it mak
As you know, we usually release 3 Platform versions a year and a new Indicium and Universal UI every 4 weeks. What you might not know, is that internally we also release a new Platform version every 4 weeks. Effectively shipping a full-stack Platform increment every Sprint. These full-stack Platform versions are applied to the Thinkwise Cloud as well.Starting with version 2026.1.11, we intend to publicly release a full-stack Short-Term Support (STS) Platform version every 4 weeks, in addition to the 3 Long-Term Support (LTS) Platform releases. This comes with a few noticeable changes:Release Notes will be bundled in a single Product Update Universal UI Release Candidate will cease to exist (nightly versions of our Develop branch are available in TCP to test bugfixes before official release) All components are made available at the same time in TCPSimilar to support for the runtime components Indicium and Universal UI, only the latest STS Platform version is supported. Check the updated
Unless i’m missing something very obvious, i can’t seem to figure out how to filter a floating window when opened from the process flow. There is no input parameter to start the document filtered and change filter doesn’t seem to work for floating window, works fine with modal and normal. GUI versie2026.1.13.1.0
When saving a form to the database in the Universal GUI I get the following error, and after this error the form shows data from a differend database record:This error seems to be related to the following request:This error only occurs in the Universal GUI. In the Web GUI and the Windows GUI it works fine.Anyone have any idea what is causing this error and what a possible solution is?
HelloWe have a process flow where we want to check if an user_id exists in IAM.In order to do this we created a Web Connection with the proper Endpoint, however it didn't go as planned because even if in Postman the calls (with the same user & pass) are workingWhen we try with Web Connection or Http Connector, it is failing with status -23 (web connection) and -7 (http connector) and the following error on error logIn the past we identified that Postman was auto-calculating the "Host” header on the call, we solved the issue by explicitly provide it in the headers, but now seems that is not enough.Did you encountered this or have any idea how we can solve this issue?
Hi,I have a process flow which another system will trigger with a HTTP call through indicium, the process flow has custom protocol enabled, i tested it in development with postman and it works. When i try to test the same call on our test enviroment i get the following response, 400 bad request:“Cannot start process flow 'webmethods_relatie_sap_code_in_flow' on this endpoint, because it's configured to disallow API triggers.” I can’t figure out what is causing this, probably a setting somewhere but i can’t find anything in the SF/IAM/documentation that would cause this.Does anyone know what might be causing this?
With the SF upgrade from 2026.1 to 2026.2 there are quite some model changes that need to be handled if you have dynamic code. After upgrading, it took me half a day to make/test these modifications in our models, during this time the SF was unavailable for other team members because generating full model definitions was not working.This made me wonder what the best practice is to handle SF model changes in dynamic code when upgrading? Specifically aimed at reducing the SF downtime as much as possible. I was thinking of making a branch before upgrading to apply the changes in, but you’d have to do that for each base model that has dynamic code that needs to be changed. And you can’t really execute/test it unless you make a copy of the SF and upgrade the copy, and then you have to maintain changes in two SFs. This makes the process quite tedious. Is there a better way?
Platform version 2026.2 introduces multi-RDBMS model support in the Software Factory. It is a significant step forward: for the first time, a single application model can target multiple database platforms simultaneously. We will utilize this feature ourselves to release IAM on Db2 and PostgreSQL in the near future. And customers can use this feature to deploy their application on different database platforms or to migrate to PostgreSQL for instance, for which Enrichments support is planned in a later release.To make this possible, the Software Factory data model itself has changed significantly. A set of core tables now stores RDBMS-specific columns in a separate detail table, following a consistent _query naming pattern. This likely breaks some of your dynamic code. If your model uses dynamic model code, SQL-assigned control procedures, or custom validations that reference any of these tables, you need to update those queries before generating your application on 2026.2. This post wa
Universal brought HTML rendering and multiline support to Scheduler activities and tooltips. Two additions that significantly improve the ability to format the Scheduler to your end users' liking. Think bold customer names, color-coded priorities, or descriptions that wrap instead of getting cut off. This blog is meant to show you what’s possible and inspire you to make the most out of your Scheduler’s graphics. There is no single right answer for what to show. Every Scheduler has different information that matters at a glance, and now you can put exactly that front and center.These changes works from Universal UI version 2026.1.15 and are backwards compatible with all supported Platform versions. Refer to our other blogs for detailed explanations of other features of the Scheduler. How it worksScheduler activities have always been a single line of text. This can now be changed. Set the control type of the domain used by your title/tooltip column to HTML or multiline, and the activity
Hi all,We are investigating the use of external signature pads together with the standard Thinkwise signature control (UI/domain signature field).Our use-case: Retail/store environment Browser-based usage User clicks the signature field in Thinkwise Customer signs on an external signature pad Signature should be captured by the existing Thinkwise signature control We are specifically trying to avoid: Heavy custom integrations Browser plugins/extensions where possible Custom Thinkwise components Questions: Has anyone successfully tested external signature pads with the standard Thinkwise signature control? Which devices/models worked well? Did the device work as standard HID/mouse/stylus input, or did it require SDK/software integration? Thanks!
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.