Propose your fantastic ideas regarding the Thinkwise Platform to our Product Team.
In the Software Factory, I would like to have the possibility to configure a View as an indexed view. Indexed views (when used appropriately and with care) can improve performance (just like indexes on tables). For more details: https://www.sqlservertutorial.net/sql-server-views/sql-server-indexed-view/
We wish there was a process flow action that could refresh active tables from other clients/users using a websocket protocol.Think of charts and dashboards that continuously display the latest status immediately, as soon as certain data is changed anywhere in the application, without having to poll.Like large screens that show departure and arrival times or order statuses and many other application in full-screen mode.
On a task one can enable the option “Enable for empty subject” to have a task enabled even though there are no records available to use them on. Usually done for creating a new record.The situation where one has the task on a detail screen, but the parent does not contain a record, such a task is not desirable to be enabled. If you would have a container with details tabs, navigating to them would be disabled, but the screen types are not always designed as such or only have 1 tab.So, when a detail reference will be empty, a task should also be disabled despite the “Enable for empty subject” marking.If there are use cases where this feature would not be desired, the implementation could also be done by having a model setting or an extended property to control this.Reference to my question before making this idea:
I would like the option in the SF to set a subject to grid edit mode if a users double clicks on a row (optional: clicking on a specific column like with tasks). I know this can be done already with creating a double click task that uses a proces flow to go to grid edit mode. But it gets quite cumbersome when you want to implement this at almost all subjects that use edit in grid in an application, specially in combination with roles.
I would like to have more control over the way details open, specifically from a detail tile. I would like it to open as a floating screen for instance. Having the screen been modal (thus preventing the user from navigating away) would also be a great feature to have. In my case the users have a touchscreen interface so using the ‘alt’+click shortcut is not an option and is also not something I want to make the responsibility of the user. So far I’ve got two workarounds but neither are very elegant: Using ‘empty’ tasks instead of detail tiles and having them open the detail in a process flow, but this leads to clutter in the tasks and makes adding tiles a hassle, also it defeats the purpose of the tiles and leads to a disconnect in the styling of the icons for instance using a process flow to close the initial window and reopen it as a floating window, this is sluggish and also unnecessarily complex I would prefer to be able to do this in a simpler and faster manner, so far the following places where I would expect such a setting to be located are as follows, from likely to less likely: Handling the opening style within a single process action, for instance on the ‘zoom in on detail’ action type Specifying within the subject or subject variant Specifying for a reference Specifying for a screen type
For example, when I want to add a new entry, I can see the mandatory fields that are not inside a tab page:However, then I will save my entry and I get the following error: My issue is that I currently do not know if a tab page contains a mandatory field. Right now I can only find out by saving or manually open all tab pages to check if it contains a mandatory field.I see multiple options:Automatically open tab pages that contain mandatory fields which are empty. Mark a tab page with a red *, in the same way that is done on field level. Show a badge with a number of mandatory empty fields.
The SF/IAM databases are Case insensitve (Latin1_General_CI_AS) by default.As we sometimes make some mistakes (who doesn't), we'd like to correct the cases in translations.E.g. cange “Purchase order” to “Purchase Order”. Currently there are 2 workarounds:update the records in transl table or, change to “Purchase Order1”, sync to all IAM's and change to correct “Purchase Order” The idea we'd like to see implemented is that a collate Latin1_General_CS_AS compare takes place and also the update will take place in this collation so the correct cases will be stored.
I guess it should be possible to dynamically load a custom.css in the U-GUI via the model. So the custom CSS can be maintained from the SF.
As a developer I receive tickets from my clients about an issue in their application. When this is a GUI issue I need to submit a ticket in TCP for this and always have to include an .HAR file. It would be great to have a button “Download log file” in the User menu.And next to this I would also need the option to download a more technical file, including the Live error log information in a file.Both can be included in the same button which a user can use from within the Universal User menu.Having a button within the application to download these 2 debug files will increase troubleshooting and save a lot of time. Because you can instruct users, when they experience an issue, to download these files and provide them to you.
Idea to add conditional layout on a card list. Below I have a card list and a normal list with conditional layout. But the conditional layout is not visible on the card list.It would be great if this is possible! 😁
An extension to the idea here:An option to copy a translation from one column to others. Beneficial for column names being (slightly) different for purpose of database recognition, but visually in a GUI the translation could be the same.Other reason for different column names could be:- Different developers;- Insight change;- Dependencies of external sources/services.Best option would probably be selecting the columns you wish changes and be able to select the one source column in the task.An example of column names that could possibly result into the same translation: “active”, “is_active”, “active_yn”, “is_active_ny”.Especially in a multi language application the maintenance of translations is quite cumbersome.
When working on some Practice Cases in the Software Factory, we have been looking for a way to lock/block dates for user’s to select upon populating a ‘Date’-input field in the app.Example situations would be: In an app that lets users reserve a slot for car maintenance, haircut or any other type of appointment, a selected date could ofcourse never be in the past. If a librarian is manually entering the return date of a book, this date could never be before the issue date the book. These dates should ideally be automatically blocked from selecting. So far we have not found any proper workarounds other than having a error message pop up once the user is selecting an invalid date. This for sure is not the ideal user experience.Any possibility to have this functionality integrated? Or are there any alternative solutions we may have overlooked?
Can we get a better control for the HTML fields in universal? Trying to copy advanced text into a html control is a chore.Here are some examples of annoyances:Copying from Notepad/notepad++ removes all kind of textWhen putting this text in Notepad/Notepad++:<this is not copied> this is copied <not there> <not there as well> is thereAnd copy pasting into the HTML editor in Universal, I end up with:this is copied is thereCopying from sql removes the layout. When putting this text in SQL Server Management Studio: -- Drop all referenced foreign keys select @sql = @sql + N'alter table ' + quotename(t2.name) + N' drop constraint ' + quotename(f.name) + N' ' + char(10) + char(13) from sys.foreign_keys f join sys.tables t on t.object_id = f.referenced_object_id join sys.tables t2 on t2.object_id = f.parent_object_id where t.name = @tab_idAnd copy pasting into the HTML editor in Universal, I end up with: -- Drop all referenced foreign keys select @sql = @sql + N'alter table ' + quotename(t2.name) + N' drop constraint ' + quotename(f.name) + N' ' + char(10) + char(13) from sys.foreign_keys f join sys.tables t on t.object_id = f.referenced_object_id join sys.tables t2 on t2.object_id = f.parent_object_id where t.name = @tab_id- When copying from Teams, the newlines also get removed. - Copying from webbrowser also copies the background colourThis makes creating a simple instruction in an html field almost impossible. So I regularly choose to upload a Word file instead of trying to get this to work in a html field.
I've encountered a couple of times a use case for a horizontal cardlist, as compared to the current vertical cardlist. a horizontal cardlist is often used in: dashboards e-shops portals phonebookThe idea of the horizontal cardlist is that it grows horizontally until the end of the page and than create a new row for all items. Often limited by an X amount per page for performance.In combination with this tip Upgrade your Card Lists with 4 Simple Tweaks | Thinkwise Community this would become very powerfull tool to make atractive pages for users.The current navigation option(clicking twice) is not very ideal, but allows for flexibility to open the detail or for example a next level of categories. I was wondering if anyone already encountered this need as well.
Handler procedures are not only called from the GUI but can also be invoked through other SQL code.For example, creating a sales order can be initiated by a user via the GUI or triggered by a received EDI message.Currently, handlers include output parameters for identity values. This allows the identity—when it serves as the primary key—to be reused, for instance, to create the corresponding sales order lines.However, there are also models where the primary key is not set as an identity. This can occur, for example, in data models with a company structure, where the primary key is a sequential number within the context of the company.In such cases, it would also be desirable to make the primary key generated in the handler, and potentially other columns as well, available as output parameters.A possible solution is to allow, per column in the model, the specification that it is an output parameter—similar to how defaults, layout, and context procedures are configured. By default, this setting could be enabled for all primary key columns and optionally enabled by the developer for non-primary key columns.
Currently the order in which conditional layouts are evaluated is alphabetically by name "How do conditional layouts work".I'd like to be able to influence the order. Options could be adding an order number, or changing the order in the grid.
As a relatively fresh user of the Thinkwise Platform I am confused by the fact that the terminology ‘Open Documents’ is used as header for something I would describe as 'Open tabs/screens/views/menu-items'. Open Documents to me has to do with files I have open, not some screen within an Enterprise application. Do you believe it's a good idea to change this? Alternatively: is it customizable in our own instance?
Process Actions in the Universal GUI related to navigating through screens don't perform too well. A user can navigate faster through the GUI manually. One of the reasons for this are the many HTTP calls that are triggered after a Process Action is executed. A bit similar to the concept of Refresh after Execute for Tasks, it would help if there is a setting available for each Process Action in which it can be determined whether or not to immediately perform the next Process Action. An example:A Process Flow that performs Open Document > Change Filter > Go to Row should only retrieve the Data after the required (set of) Row(s) is determined with the Go to Row Process Action. Can something like this be added to the Platform soon?
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.
Sorry, we're still checking this file's contents to make sure it's safe to download. Please try again in a few minutes.
OKSorry, our virus scanner detected that this file isn't safe to download.
OK