Propose your fantastic ideas regarding the Thinkwise Platform to our Product Team.
Currently mass update is disabled in a grid that is default in edit mode (grid_default_editable=1). Even if it this option would be enabled, it wouldn't be very helpful because with the edit mode on it is only possible to select one row at a time right now.However, it would be very useful if mass update(+multi select) could work in a grid with default edit mode because both functions are great for the same use cases (a list where it is very easy for a user to edit certain values).
Hi All,The scenario is simple.I have a User which logged in the application in Universal GUI 2022.10 and since then has not accessed the app. We upgrade the GUI to 2023.1.12 in the mean time. They then try to access it now and get the top popup for New version is out etc.. but they ignore it.Not having latest GUI version will be mising optimizations, improvements, and functionality supported by latest version right ?We need to force the GUI update on the Users, so that when a new GUI version is out they automatically get it when loging in. Everyone please vote :) Thanks
Currently, the OAuth User Login connector within Thinkwise always requires the use of PKCE (Proof Key for Code Exchange). While PKCE is a secure method for protecting the authorization code exchange, there are still OAuth servers and systems that do not support this method. This can pose challenges for integrations where PKCE support is unavailable. To facilitate integration with such systems, it would be beneficial if Thinkwise provided the option to enable or disable PKCE based on the server configuration. This would increase flexibility and help simplify integrations with various OAuth servers.
I have some system flows with more steps. If there is an issue with the system flow, it’s hardly undoable to debug. There’s no logging at all. I now created some logging in the application self, but with steps with no code attached it’s not possible to track the system flow in the debugger somewhere.
Recently an undocumented change has been made in Indicium (see this comment from Vincent Doppenberg). As a result a lot of our users (and those of other customers as the Community shows) experience the below annoying behavior:After a bit of idle time, they return to the Application and see the screen still open on the Subject where they left it They then click to continue their work and instead of the GUI suddenly throws a Session expired popup (this should be much more elegant, as per this Idea: Universal GUI - elegant session timeout | Thinkwise Community (thinkwisesoftware.com)) However, the user's login is still valid (for example because they checked the Remember me box on the login page, or because they use Azure AD as Identity provider for which the login is configured to stay valid longer) Then after clicking the ‘Close’ button on the Session expired popup, the GUI automatically redirects, reauthenticates, and reopens the original screen (unfortunately the Start Objects start after the remembered last page is loaded, for this we have TCP 6388S open) After this, the user can continue the workThese steps feel annoying and unnecessary for a user that is still authenticated. Can this be surpressed/prevented/made configurable so the user can continue working uninterrupted as long as his authentication is still valid?
In order to support public clients make the client secret optional (and enforce PKCE when empty).
During the IAM synchronization process there is a chance that an object is changed. In that case you will get a warning. If the synchronization is finished, you can filter on a certain result or you can scroll through the list of resulsts. Result prefilters (such as successful, warning, error) will make the search easier.
As a developer, I aim to unit test my table-valued functions independently from the functionality where they are used. This approach provides better results and simplifies the setup of unit tests.Unfortunately, the current documentation indicates that testing table-valued functions separately is not supported. However, I propose an alternative approach:Setup: Use the same setup as for a scalar function. Output Testing: Verify the function’s output using an assertion query.Below is an example of how the generated code might look:-- Declare parametersdeclare @first_id int = convert(int, '1');declare @second_id int = convert(int, '2');declare @return_table table ( "id_1" "int" null, "id_2" "int" null, "value_1" "varchar(10)" null);-- Execute unit testinsert into @return_table (id_1, id_2, value_1)select id_1, id_2, value_1from dbo.table_valued_function(@first_id, @second_id);-- Assertion queryif exists (select 1 from @return_table)begin exec tsf_send_assertion_msg 1, 'Successful';endelsebegin exec tsf_send_assertion_msg 0, 'Failed! No results returned!';endThis solution leverages the UI input for the function and validates the results using the assertion query. The “table_valued_function” takes two input parameters (“first_id” and “second_id”) and returns a table named “return_table” with three columns: “id_1,” “id_2,” and “value_1.”
Please make the tsf_optimize to be a system flow so that it can be run automatically by Indicium.Right now it is only as a manual task in IAM.Similar system flow is available in Software Factory to run automatically in v2022.2.As an additional note to the idea, Please add it by default when a project is created to inherit this Stored Procedure and system flow.
We would like to see information regarding the domains of the mock data. When entering the data it is not clear what you can enter in the forms. Sometimes you have to enter an element number of a domain, or just an int or varchar. It would also be nice to have an field after the form where you can add notes regarding the data entry.
A lot of times I create prefilters for a subject based on domain elements. For example, in my order table, I have a column order_status with domain order_status with elements like concept, confirmed, cancelled etc. I want a prefilter for each of those statuses. Now I have to create a dynamic model procedure to create prefilters based on a column, which works, but is a hassle. I'd like a task within Subjects > Prefilters to generate prefilters based on a column with the corresponding domain elements. The task should generate the prefilters including the icons, translations, prefilter columns etc and could group the prefilter in a group that is named after the column. This would save a lot of work and really improve the developer experience.
When enabling the setting “System versioning” we'd like to have the parameter HISTORY_RETENTION_PERIOD to be added to the screen so we can configure the retention period of the system versioned tables.
When the System flow schedules frequency is set to "Recurring", can starting at/to be not mandatory.. if empty then it's the whole day. I keep forgetting that 00 to 00 means not running.
Hi, Sometimes we create a domain manually. For a quick fix.However, the 020_upgrade script does not check if the domain already exists. So, SF outputs something like: /* Create domain T_bl_claus2 */create type T_bl_claus2 from nvarchar(250) grant references on type::T_bl_claus2 to public goCan this be wrapped with an 'IF NOT EXISTS’’?Does not happen often, but sometimes the deployment breaks on it, which is some work to fix.I think something similar happened when a deployment failed. Some constraints were already dropped. However, the script stopped because it couldn't find a constraint to drop. I manually created the constraint, and the script ran fine. A check for an IF EXISTS would be nice. ThanksBlommetje
Currently when adding or editing a domain, changing the datatype leads to several default settings, which could be useful. For example, choosing the datatype nvarchar(max), leads to setting the control to multi line and form field height to 3. Next to that, changing the datatype of an existing domain, which already had a control set to it, leads to setting the control to null. Personally I’am not to fond of this response. For example say you need to change a datatype from a tiny into a small int. This will lead to setting the control back to null (without informing the user). This could lead to a change with huge consequences. I would prefer that the datatype does not set any of these settings by default. Also the form field height is very often not required to be more then 1 when using a nvarchar(max). The same goes for the control multi-line. It would be of great help, if this setting could be disabled.
Hi!We've encountered a problem on a task where:We created a task parameter with a domain (note that the name of the task parameter and the name of the domain name are different) On the domain we've setted an input constraint where initially we used the task parameter name, once this was done, the functionality was working good. We've runned the smoke tests, there we saw that the smoke test for that constraint was failing because we used the task parameter name instead of the domain name. We solved the smoke test by using the domain name, but after that we spent almost 3 hours to identify why we got an unknown error on Universal, to discover in the end that it was from this input constraint.Basically, the suggestion is to specify more clear somehow that the column/task parameter name should be the same as the domain name or to identify correctly it even if there are different names, but I will go with the 2nd variant since it will not force the user to create a domain with the same constrains for different columns.The second suggestion is to do something to show more clear where an error is coming from, you get that "Unknown error" and you don't know where to look if is not very straight forward or you didn't worked on the functionality recently. Yes, you can look on the console log messages and somehow by the endpoint to guess what to do or check the GUI, but for example in this case, the functionality was working good on GUI and we got no error there. I really think we can improve on showing more informations when an error occur.
While developing an application we encountered the problem that the Universal GUI would not start because there was no menu linked to the platform of type 'Universal'.I see some possible improvements, to eliminate this problem:Always start the Universal GUI, but show a message if a menu cannot be displayed Activate all menus in case no menu is specifically assigned to the Universal platform Add a 'Platform' item to the default menu in SF, where all specific settings per platform can be seen. At the moment, linking a menu to a platform is a bit complicated A new validation ruleRelated ticket: 8597S
It would be nice if the login page of the webgui uses the language of the browser settings, instead of using the INI. In any case for Dutch, German, Spanish, English and French.This would be a solution for applications with users from multiple countries.
In IAM and TSF a lot of duplicate actions and tasks exists which can be eliminated to make things much more clear. Keep just one of each that works or merge functionality into one task with options
When we want to check the Indicium log it will always download the entire log and only way to see if new entries has been added is by downloading the entire file, opening the file and visually check.It would be very convenient to have a screen that shows the last x amount of logs and automatically loads new log lines. (Like the tail command). With an optional button to download the entire file.
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.