Propose your fantastic ideas regarding the Thinkwise Platform to our Product Team.
It should be possible to run most of these processes in the background or trigger them automatically when adding or updating tables, tasks, columns, parameters, etc..
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.
Having empty space around the task popup on a mobile device doesn't really make sense, we would like to see task popups full screen on mobile devices. Example case:We are developing a scan application in which I am currently opening the task inbound_scan_crossdock from a process . This task causes a screen to be displayed with the parameters of this task. The screen opens as a pop-up, but doesn't use to whole screen space of the mobile device (scanner).We would like to have this screen to be displayed on full-screen.
A huge decrease of development time could be achieved by enabling 'Quick Model Editing', I believe. This will save a lot mouse clicks and search time in SF.I was thinking of adding a tooltip with deep link to each label, that opens a task, something like this...
This will increase the productivity in the Software Factory a lot.Access to the templates from inside the Code Overview screen would also contribute to efficiency.
Currently the task to set a control procedure “Ready for review” is configured to show a popup per selected row.Personally I find this not consistent with my development style. Most of the time you create/change a set of control procedures related to a requested change. All of these control procedures were changed for the same reason. Therefor I would like them to have the same changelog description. However currently I have to copy my description and keep pasting them in the Change log description field shown when executing the task. Sometimes this could be like over 40 template (for example I add a parameters to a procedure that is used at multiple locations throughout my system). In that case I have to press execute 40 times and copy this description 40 times.It would make more sense to me that when you multi select a set of control procedure you only have to execute the "Ready for review” task just once time. The description that was given in the task popup should be stored at all of the selected control procedures.
In the Universal user preferences, the shown available languages for your current application are determined by the total amount of application languages that the logged in user has access to (including any other available applications).This causes the following problem:If user X has access to an English and a Spanish application, in both applications they will have the opportunity to switch language. Even when the English application only has English available from the model, and the Spanish application only has Spanish available from the model.This causes the issue that user X can open the English application, and is allowed to switch to Spanish from their user preferences, without the presence of Spanish translation objects.This effect escalates when a user has access to IAM (for example as group administrator), which is available in 7 different languages.This results in the the following available languages in either the English-only or Spanish-only application.Available languagesDesired solution:Add gui_appl_id to the view that is used for retrieving the list of languages. Allow only the languages that are available for your current application.
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.
I had the problem that the preview component strips all javascript / css when displaying html from inside the application.Creating a good “stripper” to protect against code in data entries in T-SQL is almost impossible, so I created a “proxy.html” page with javascript to do this job, and to allow for code I want to inject. ( The first <head> tag goes trough, anything in the body tag is stripped. )There is one small problem and that is that I can’t tell the script where the API is. It is not possible to generate a correct URL which will work in both test and production.At this moment I have to make 2 api calls, and compare to our application and branch name, and that is an unstable solution, as the call’s I use could change in future versions.It would be good to know “who am I, whether I’m running over the SF or IAM, what my application Id is, and how is the user calling me” within the T-SQL scripts.In other environments you have this information; not having the information is a huge limitation. Another use case would be to set up a table to track which browsers people use … In this context it is not possible.
We have multiple locations in our application where one field is available multiple times.If I want to show both an icon and the textual representation I have to create references to the same field with different types in my view. The result is that a user who exports gets the collum 2 times.I think that it should be possible to specify “Default export”, “Selectable for export”, and “don’t export” for each field.There was already a problem with the fact that keys always get exported. This would allow the developer to choose on this and other things.
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.