Ask a question or have a conversation about the Thinkwise Platform
Recently active
Ayvens is building multi-lingual applications with Thinkwise on Oracle.These applications do are not just multi-lingual for menu's, labels etc but also have multi-lingual data.To implement that, they need to get the current user's active language from code.When running Thinkwise on MS SQL Server you can get the user's active language with:select SESSION_CONTEXT(N'tsf_appl_lang_id');When running Thinkwise on Oracle I would expect to be able to use:select value from session_context where namespace = '?dont know?’ and ATTRIBUTE = ‘TSF_APPL_LANG_ID’;But Thinkwise does not set session context on Oracle…Please add the setting of session context to the Oracle implementation of the Thnikwise platform.
I am trying to get our Barcode scanner to work entering fields in a grid. But the field seems to be behaving as read-only. Only after i use a domain without Control : Barcode scanner, does the field work as intented. The only downside is, now its seen as a normal input field and the keyboard opens everytime. I have tried turning read-only input control to on and off and turning barcode control on and off, no result. Any ideas? (Universal: 2025.3.14.0)
Step 1 — Determine your flowFirst, determine which grant type you are using:Scenario Grant type Authorization URL required? Server → API (no user login) Client Credentials ❌ No User login via redirect Authorization Code ✅ Yes authorisation url in oauth is a mandatory field in software factory how to implement the web connection if only server api ant token url is provided?
When you are on a grid that is filterable and you filter a column that consists of domain elements, the selection popup shows the user the database values of the domain elements. It should show them the translation of the elements instead.
Hi, when building an api call I usually use Bruno for quick developing and testing the overall structure. However when (re)building in Thinkwise I face a few issues that, in my opinion, could be easily addressed.1/ The overall debug data within the process flow monitoring does not show my original outgoing request (?) and there seems to be no other location where this debugging data can be recovered. 2/ For some reason I am unable to test my development work without creation \ sync. Some parts like read file connector seem to not be working at all directly running from sf. This, in combination with 1, is causing a lot of additional time during development / debugging. Could one give me some pro tips how to properly handle API development inside Thinkwise?
when users are working remote, they are not connected to our timesynchronisation servers. we found out that the auto refresh is not working correct because their time settings are not in sync.the check between last_refresh_utc and the latest change is not always correct. is there someone who had this also and found a solution? or can we change the setting from indicium to get the last_refresh_utc from server side instead of client?
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?
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
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
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.