Questions, discussions, news and updates regarding the Thinkwise Platform.
Recently active
We're going to move to the universal gui for the new Software Factory soon. Is there currently any way we can start generating and sharing deeplinks to specific records, like a specific control procedure, template, subject or variant, in the Software Factory?
I have set up a web connection and would like to log the content of the xml body I am sending.My body is made dynamically with parameters<body xmlns="endpoint_url" type="tag"> {parameter_1} <file type="tag"> {parameter_2} {parameter_3} {parameter_4} {parameter_5} </file></body>I can easily see the individual parameters in the process flow monitor.But is there a way to see or log the complete content of the body that is sent via the web connector?
Hi all,We would like to check whether it is possible in SQL or somewhere within the Software Factory to retrieve the IP address of the device that a user is currently working on.In our warehouse, employees work on tablets that are placed on carts, each cart having a dedicated label printer underneath. Our goal is to automatically link the correct printer to the tablet that is being used, based on the tablet’s IP address. This way, the label will always be printed on the correct printer without manual selection.We have already written some SQL code to retrieve the IP address, but when we execute it we only get the IP address of the webserver (or application server), instead of the IP address of the individual tablet/client device.We also checked the Thinkwise documentation about generated session variables, but we were not able to get it working and we are not sure if this is the correct approach for our use case:https://docs.thinkwisesoftware.com/docs/sf/business_logic#generated-sessio
Hello everyone,In our ideas to use AI for certain quality assurance tasks, like unit-tests and intitial code reviews, we thought it would be a great idea to connect to OpenAI. Then, after a conversation with one of our colleagues, the issue of privacy and code sharing, and especially with whom we share code, came up. We would be sharing all our company specific code, and all our business logic, with an American company, a company not known to value privacy as much. That is a thing that concerns me.That colleague then suggested Mistral's Le Chat, which I researched, and found to be equally good after copying some of my (code related or otherwise) ChatGPT prompts in there. Aside that, there is Proton's Lumo, which is good in its own manner, but I would prefer the connection to Mistral's Le Chat or API in general. These companies, Proton and Mistral, are based in France and Switzerland.Seeming the EU, and overal European, privacy laws are somewhat stricter than the privacy laws in the US
Hello!While testing SF in Universal we discovered that on merge after you resolve a conflict you are not able to come back to your decision as you were in Desktop GUI.I think this is pretty important since it means if you do something wrong and need to adjust your decision, the session must be rebuilt.
{ "@odata.context": "https://url/indicium/<appl>/....", "value": []} Dear Thinkwise,In an attempt to connect a part of our system to an external client. We are having trouble with the parser not being able to handle the inline responses. Meaning that the odata.context object is returned next to the actual values. The parser of the other system is expecting a JSON array, like other API’s.I understand that Indicium HTTP API uses OData under the hood to facilitate the requests and this is working really well. Is there a possibility to pass another parameter that obfuscates this additional metadata information.For example the docs for implementing OData offers the odata.metadata=none Accept header. Could / is something similar applicable to Indicium?https://docs.oasis-open.org/odata/odata-json-format/v4.0/csd01/odata-json-format-v4.0-csd01.html#_Toc355172906 Found this relevant / similar question on the community:
We have configured push notifications on our test environment to start testing this functionality. In Firefox, everything works perfectly and notifications are received as expected. However, in Google Chrome and Microsoft Edge, no push notifications are received at all.Our application is primarily used in Chrome and Edge, so it is important for us to understand what might be causing this issue and how we can resolve it.Initially, we suspected that the problem might be related to server access or firewall restrictions. However, the servers used for this environment have unrestricted outbound internet access to the required push notification services, including: Google (Chrome / Edge – FCM): fcm.googleapis.com Mozilla (Firefox): updates.push.services.mozilla.com and push.services.mozilla.com Apple: web.push.apple.com Microsoft: *.notify.windows.com At this point, network or firewall blocking does not appear to be the cause.We have added all relevant settings and configurations as a
We have a TW application where occasionally we get an ‘unexpected error', and the only way to recover after that, seems to restart the app after this error. It occurs when pressing a specific button It is NOT reproducible on command It can go 1x wrong and (after app restart) 10x OK without error, pressing the same button the error occured in different installation environments (Development and Deployed at customer) the app is using the Windows GUI it occured in TW 2022.2 and TW 2024.2We would very much like to solve this error.Can anyone give us a solution direction?
When I used to search in the WindowsGUI Software Factory, I could search ‘sub’, click Subjects and the menu would open back up since the searchfield in the menu got cleared after searching. This was very useful when you need to navigate quickly through the Software Factory.Unfortunately this is handeled differently in the UniversalGUI Software Factory and I now need to manually clear my search everytime I want to be able to open another document.
Is there a way to duplicate windows in Software Factory opened with Universal?In GUI we had the duplicate window, but on web we cannot duplicate them.It will be annoying to keep 3 tabs of chrome for this.
The default threshold for the slow query log seems to be 200ms. Is there a way to change this without setting it for each individual object? Or maybe even turn the threshold off so that it becomes a replacement for the session log?
I have a devx report, that I store in a table named email_attachment.I would like to use the email connector to send an email with the pdf as attachement.How do I do that, when on a azure server?
For the first time, Thinkwise supports an open source database with the introduction of PostgreSQL support. PostgreSQL is one of the most popular open source, enterprise-grade, relational database technologies worldwide. It is also not owned by a major tech company, but by the Postgres Global Development Group.With Indicium built on .NET technology, Universal on React, and now PostgreSQL available as a database option, organizations can build their Thinkwise Application environment on open source technologies. For independent software vendors developing products using the Thinkwise platform, or for government organizations with strict sovereignty requirements, this level of independence is valuable. It ensures that critical IT infrastructure remains under your control.The financial implications are also worth noting. As an open source solution, PostgreSQL eliminates database licensing fees. For organizations deploying databases on substantial server infrastructure, this can result in m
Hello, Can I achieve the following in a production environment? There is like my.app.ltd and that one has my.app.ltd/indicium/ .. now this is a little custom mobile-first GUI. What I want is that erp.app.ltd hosts the Universal GUI and talks with my.app.ltd/indicium/ Is this possible or will I get CORS issues? Or what is the best solution? in this scenario?
Hi!I’ve successfully run the full upcycler on the AdventureWorks model from the e-learning. I’m now exploring the (AI) model enrichments.I was able to execute the ‘Add a table description with AI’ enrichment without any issues. However, when I try to run ‘Translate all untranslated objects’, I don’t get any results under ‘Potential model updates’. The message indicates that no potential updates were found.Here’s what I’ve checked and prepared so far: I’m using the GPT-5 model, and there’s sufficient budget available to process the requests. I want the translations to be in Dutch, and I’ve entered this in the ‘Filter the language for which translations must be generated’ field. The API key is correct. The first enrichment wouldn’t have worked otherwise. There are 2386 untranslated objects in total. Do you have any idea what might be causing this, or is there anything specific I should check next?
After only a short time lived, Microsoft announced the retirement of ADS. What's Happening to Azure Data Studio? - Azure Data Studio | Microsoft Learn.If you’re already on ADS, which toolset are you considering migrating to or are you already using another toolset? I’ve never left SSMS and am considering VS Code.
Hi, I moved a user to a new tenant and gave him new usergroups. After problems with logging in. I did move the user back to the previous tenant and gave him the previous usergroups. However, he does still have the same error when trying to login; “Wrong user credential or no rights to application”. I do have some recommendations for the user in IAM, but I do not know what is meant by it, no other user had start objects, so I don’t think that is it. What does auto_load_gui_appl means? Do I have to sync the IAMKind regards,
I’m curious to hear about experiences with Azure OpenAI with Copilot in SSMS. Has anyone tried it and what is your opinion in comparison with Azure data studio with github copilot for example?For reference: https://learn.microsoft.com/en-gb/ssms/copilot/use-azure-openai-with-copilot-in-ssmsBrent Ozar review: Review: SSMS Copilot vs Other AI Tools - Brent Ozar Unlimited®
Hi,We've created a helptext concept that allows users to start a helptext pop-up per screen with a table task. The content of the helptext is created/modified in a special maintenance screen.The created helptext items have a tab_id and tab_variant_id as PK columns to separate them per table/table variant.When a user starts a helptext (with the table task open_help) the pop-up screen needs to display the helptext for the current tab_id and tab_variant_id. The process flow does the trick. The tab_id can be determined by an expression field, but the current tab_variant_id is unknown.Is it possible to know the current tab_id and tab_variant_id when starting a table task? Kind regards,Kevin Bakkenes
Last December, I joined Thinkwise as a Product Designer. My main focus for 2026 will be improving the developer experience. I’ll be spending a lot of time in the Software Factory myself to experience how developers work with the platform, where friction occurs, and how we can make everyday development tasks easier and more efficient. The move of the Software Factory to the Universal UI is an important first step in that direction. By working hands-on with the Software Factory in both the Windows GUI and the Universal UI, I’ve been able to experience these changes from a developer’s perspective. This article shares practical insights from getting started and working with the Software Factory in the Universal UI and is intended to spark discussion on how we can continue to improve the developer experience. Word of warning Before upgrading to the 2026.1 release, make sure that all of your applications are running on the Universal UI. The Windows GUI will no longer work, and you will get
Using the latest Indicum-version on SF 2025.2.We added the following to appsettings.json (PROD env):"DataProtectionSettings": { "LocalFileSystem": { "StorageLocation": "C:\\Thinkwise\\PROD\\iis-dataprotection\\indicium-keys-PROD", } }After recycling Indicium a key-{guid}.xml has been created.We added a “Client Application” with grant type “Client credentials” and linked our API-user to it.For some reasons this is working in our Acceptance environment, but trying to set it up in Production results into the following error:2026-01-27T14:53:44.4862101+01:00 80000c72-0001-e800-b63f-84710c7967bb [FTL] Unhandled exception: "The system cannot find the file specified." (9b1fe9ee)System.Security.Cryptography.CryptographicException: The system cannot find the file specified. at System.Security.Cryptography.X509Certificates.CertificatePal.FilterPFXStore(ReadOnlySpan`1 rawData, SafePasswordHandle password, PfxCertStoreFlags pfxCertStoreFlags) at System.Security.Cryptography.X509Cer
Sometimes a user gets the following message. This looks like a GUI message (TSFReportMailer?). The report file is stored in the model. What could be the reason?
Select a version from the dropdown menuVersioning is now available for our Thinkwise Documentation. You can switch between different versions of the documentation using the version dropdown located at the top left of the page. This allows you to access documentation that corresponds to the specific version of the Thinkwise Platform you are using, ensuring that you have the most relevant and accurate information at your fingertips.Happy developing! Do you have any questions or suggestions? Let us know in the Thinkwise Community!
TL/DR: I’m experiencing unexpected behavior regarding Conditional Formatting within the Universal Cube. Formating is applied to the entire row, is was expecting it to only apply to the cell. The Setup: We use a Cube to visualize supply and demand per week. Quantity < 0: Shortage so Red background. No. of notes > 0: Yellow background on Quantity Value The Issue: The formatting logic changes based on the visibility of the field used for the condition (No. of notes): Field Visible: The formatting works perfectly. Only the specific cells (intersections) containing a note are highlighted in yellow. Field Hidden: When I remove the No. of notes field from the Cube view (but keep it in the Cube definition), the entire row turns yellow if there is at least one note anywhere in that row. Tried: Setting No. of notes field width to 0 or -1. Moving No. of notes from Value to Dimension Toggling all 'Apply to' checkbox combinations. Removing all other layout conditions to isolate the
we use Active Directory authentication (Windows) in our Thinkwise environment, I’m looking for a way to prefill the username in the Universal GUI with our domain-prefix, eg. “ourcompany.local\”We currently do this already for the Windows GUI by adding “Users = ourcompany.local\” to the application.ini.In this case the user needs to key in less data to login.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.