Propose your fantastic ideas regarding the Thinkwise Platform to our Product Team.
The support for integrating Open ID providers with the Thinkwise Platform is great, but also a very common functionality in modern applications. With support for the Microsoft Common tenant around the corner, another important improvement is delivered on the topic of Single Sign-On capabilities.As already referred to by Vincent in this blog from almost 1,5 years ago, the next step is User Provisioning (sometimes called Application Provisioning or Identity Provisioning). That feature helps streamline and automate the creation of new users within an organization, including a pre-defined set of Roles & Rights.For the Thinkwise Platform User Provisioning would entail both the creation of a User and the assigning of applicable User Groups.Not a new Idea, since it's already on the Indicium backlog, but by raising it as Idea and putting it up for a vote I hope we'll manage to move it higher up the agenda!
As also discussed in the following link, since SQL Server 2019 inlineable scalar functions are an option. This can make sure a query can run parallel. The tsf_user function is not inlineable at this moment. When using this function in a heavy query, it will not be executed parallel as you can see in the images below. Not inlineable not inlineable Query with tsf_user not being executed parallelWhen removing the use of variables in the function, the function is inlineable and the queries will run parallel when needed:Inlineable = trueMy heavy query with tsf_user goes parallelThe script I have used is:SET QUOTED_IDENTIFIER ON;SET ANSI_NULLS ON;GOCREATE OR ALTER FUNCTION tsf_user()RETURNS tsf_userASBEGIN --control_proc_id: sql_tsf_user --template_id: sql_tsf_user --prog_object_item_id: sql_tsf_user --template_description: Returns context_info or system_user RETURN CASE WHEN CONTEXT_INFO() IS NOT NULL THEN CASE WHEN LEN(REPLACE( CONVERT( VARCHAR(128), CONTEXT_INFO() )COLLATE Latin1_General_BIN, CHAR(0), '' ) ) <> 36 THEN REPLACE( CONVERT(VARCHAR(128), CONTEXT_INFO())COLLATE Latin1_General_BIN, CHAR(0), '' ) WHEN SERVERPROPERTY('EngineEdition') <> 5 THEN REPLACE( CONVERT(VARCHAR(128), CONTEXT_INFO())COLLATE Latin1_General_BIN, CHAR(0), '' ) WHEN REPLACE( CONVERT(VARCHAR(128), CONTEXT_INFO())COLLATE Latin1_General_BIN, CHAR(0), '' )NOT LIKE '________-____-4___-____-____________' THEN REPLACE( CONVERT(VARCHAR(128), CONTEXT_INFO())COLLATE Latin1_General_BIN, CHAR(0), '' ) END ELSE SYSTEM_USER END;END;GOPerhaps this is something you can use in a new version.
hi,I would like to have a year picker in the gui. Something like this; Only select a yearI don’t need a day or month, so year 4 digits. In both web and universal gui.
With the use of Universal and it's responsive behavior, users can zoom in or out to show more or less information on their different sized screens. The page size is however a quite static setting, which can result in empty space at the bottom of your grid if you have a large screen and zoomed out. My idea would be to introduce a User Preference setting for the page size a user prefers.
it would be great of to have a function or solution to get rid of the fixed URL's but use relative paths. We use https://server/indicium/iam/appl_id/process_attachment(key_id=1,attachment_id=50)/MODEL.download_file_upload(file_id=null) to get images to show in HTML.. but the same applies for the use of HTTP connectors to get things from your own application. There is not good way now to set it up one and for it to work in different environments. I would like to see a solution that we can use in the model and code a function or something like tsf_user to get the base URL that will always match the runtime environment.
One of our users came up with the idea to save the last 10 search requests in the global filter. When clicking on the global filter(?), you should be able to pick one of the last requests (like google search).
A graphical representation in documentation and merge session functionality would help for explaining the choices a user has and the consequences of those choices for merge sessions.
Reports can be translated into external tools such as Inet reporting. However, the translation cannot be passed as a parameter. In our case, the parameter locale (which is needed) is automatically passed as promptlocale.Translations in the sf are about the translations of the screens within the application, not within the reports. therefore concerns the control from thinkwise to provide a report in several languages without making an extra report and control via the default procedure.
I like the way date related cube fields are created. But I'm not happy with the result. For instance we never use quarters. I would like year-month-day (without quarter). Another issue is the week number related to the year (1 jan 2022 results in week 52 in year 2022). Now I have to solve this in the view and use for instance a date table. I would like to have the possibility to change the way, date related cube fields are created. Maybe with a predefined setting (extended property). Then I could just use the task to generate a cube with the date related cube fields I need (low code).
Would be nice if at screen design level you could add CSS tags to be able to customize the default screen elements for specific functional screens. In the U-GUI we use a lot the card-list but sometimes you want to customize it a little bit different depending on the topic.
We currently use a Scheduled System Flow to loop through an API message queue and process any new records that have been added to the queue. Instead of a scheduled process that is basically polling for changes, we would like to be able to trigger a System Flow to interface a certain record (from Thinkwise to a 3rd party application) or to retrieve data from another source (for instance when notified by a Notification service like AWS SNS).
Often we validate a field through a def procedure. I usually show an error message. However, a message is quite intrusive, so I want to show a different background/font color for this field. It would be nice if I can create a subroutine ‘validate iban number’ or - in my case - 'validate container number’. This subroutine will output a 1 or 0 (valid or not), and in the Conditional formatting, I can then select 'type of value’ = subroutine, and then select the corresponding one.If value = 0 - not valid, set the font to red. Not sure of my train of thought is entirely correct, but you get the gist of it. This way I can reuse the validation and easily show my user that values are not correct.
Hi since we have the Default User Group, It would be a nice follow up it with the tenant system that we have from the IAM.This will help us configure the tenants in SF easily before syncing to IAM or deployment.
Currently we have to manually sync the IAM User Groups when a User Group Type “Windows domain” is configured. This can easily be forgotten and also other people are maintaining the AD-groups then people who have access to IAM within our organization. It would be great if this sync can be scheduled so we can avoid that IAM access is needed in case an AD-group has been adjusted.
I see that in release 2022.2 of Indicium(-universal) it is now possible to do a setting that prevents system flows from passing through this indicium. (A setting in appsettings.json { "Agent": { "Enable": false } }It would be really nice if Indicum would detect online if I change this setting in the appsettings.json, because then I could use this to shut down an environment.I suggest something like an API call to Indicium, which instructs it to read this value from the appsettings.json. And Indicium should then stop accepting new system flows. (already running system flows should be completed in the normal way)Of course I have to wait after this is done until all running system flows have ended.The way I currently close an environment and stop the system flows is to change the schedules in IAM and then wait for all running system flows to have an end time. And when I open the environment, I change all the schedules again.But the downside of this is that I have to change records in IAM.
Editing a record in a form, or cancelling/closing a popup currently do not have a refresh (or can trigger a process flow in which a refresh is modelled). There are situations in which you want this.Think about editing a record in which a conditional layout is triggered. In this situation the background colour/font will change on both the form and grid. On cancel the form and grid are reset to the old situation, apart from the conditional layout of the grid.The same is for closing popups in which you want to do some closing computations. This last one is something you want to do with a wizard in which you want to reset all information that was entered in the popup up till that time.
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.