Topics started by Arjan Sollie
When setting up a unit test for a trigger the input you set up is not passed on as parameter. Instead, it is only available in the insert statement values list (hardcoded). This makes is super difficult to set up an assertion using the input parameters. Therefor the only way to check your inserted data is setting up a hardcoded assertion query, which is not what you want. Because if you change an input parameters you also need to change the assertion query.A unit test for triggers should pass the input as parameters. These parameters can be using in the insert statement and then also be used in your assertion query.Currently example below is not possible. This should be possible.
The Software Factory offers a lot of features which help you identify unused items. One that I am currently missing is a tool which informs you of unused messages. Often checks change overtime and message become redundant.It would be a great help if the Software Factory could inform you of unused messages.That way you can clean up these unused messages.
Currently as a developer you are able to set the default column width for columns on a specific table. This will overrule the default column width set on project version level.This is a very useful setting, especially when developing for the Universal UI. Currently such a setting does not exist for the task and report parameters. Often when developing task and/or report popup windows one or more field contains a long text, for example the name of an item. Without being able to set specific column width for this task/report I am unable to increase the field size. Therefor I would like to set a setting for setting the column width on task/report level.
Data authorization prefilter NamingCompleted
When configuring Prefilter rights for specifics roles, there is an option named Data authorization prefilter, which determines whether a prefilter is always active and locked. I myself and other developers I have worked with, find this name a little confusing. Therefor I’am looking for a better name for this option. This topic has been created to determine whether this name might have to be changed. If so, which name is the preferred name?
With the release of the 2023.1 version of the Thinkwise Suite a new feature was introduced, the Smoke Test. I would like to utilize this feature and allow it to do a quick performance scan.Since it's actions will require the opening of screens, it could help identify possible performance issues within an application. In order to so, it needs to store the duration of the steps which are executed.Could this be implemented in the Smoke Test?
At the moment you can assign a role to one or more modules. An IAM administrator can manage roles per module.In the roles (management, Software Factory) screen it is not possible to see to which module(s) a role is linked nor can you use a module to filter the roles which you would like to edit in the role screen.I would really like to have an extra column in the role screen (first column) which contains the modules to which the role is assigned. If a role is assigned to multiple modules, just put all the modules in this column and use a “,” as separator. Also include this field in the combined filter.Having this in place will allow me to remove the module name from the role name.
After Tuesday's session around CSS, it became clear to me that there are quite a lot of items in the Universal UI that can be styled. Currently any set up CSS could break after a new release of the Universal UI. For most of the style able items this is to be expected. However, it would be great of Thinkwise could (temporary) support a default set of custom CSS items. For example, the form group header font and coloring. This support can be dropped when these setting become available in the Software Factory.This support could even be as simple as just mentioning in the release notes that previous set up custom CSS for this item will break in the release.
One of the validations that I am currently missing, in regard to configuring roles, is a validation that informs you as developer of task/report parameters and table columns that are marked as granted but are not available. This scenario often is a result of changing the lookup table or lookup value. In that case the rights will be reset to not available, while the parameter or column is still granted.It would be of great help if the Software Factory could detect this issue during the validation run. Because often you are unaware of the fact that your change has broken this lookup and therefor these rights.The result is often that this issue is only detected in the final phase of acceptance testing or even worse, after pushing the new release to production.In summary I would like to have 3 additional validations:Column is set to granted but lookup is not available Task parameter is set to granted but lookup is not available Report parameter is set to granted but lookup is not available
Lookup combo values based on table value functionOn the backlog
When adding or updating a record I often find myself in a situation where I would like the selection (combo lookup) of field C to be filtered based on values I have set in fields A and B. Currently the Software Factory only allows you to create such a behavior when you include fields A and B to the lookup reference column list. This poses a bit of an issue when for example you would like to filtered based upon a date field.There is a better way to create such behavior. If the Software Factory would allow you to determine the lookup combo values based upon a tabled value function. You could then include the values of fields A and B into the parameter set of the function.
The universal UI uses the lazy loading concept. This has the benefit of not having to load the whole application upon login. This makes the UI feel a lot faster than its predecessors.However upon opening a screen it will load all the required components for this screen. This sometimes makes loading/opening of a screen feel kind of slow. I personally think that having a kind of hybrid form of lazy loading and loading the whole application would be perfect. It would be super usefully to fully load the screens, that a specific user opens most often, upon loading (login) the application (top 5 for example).IAM can be used to determine the top 5 screens which have to be preloaded.
The Software Factory offers the ability to set up automated testing via the unit test section. This will allows you to test if a specific error message is returned or whether an action is executed successfully.What would be a great enhancement in this, is to define a max duration time for you test.Sometimes, after a change, the action is still successful but will take quite a bit longer than before. If you were to release the version containing this change, the increased duration could lead to an issue.With the option of introducing a max duration per test, you could prevent these kind of issue from being released.
I would really like to be able to see in IAM whether a process flow ran successfully or not, and if not, what error was thrown during the executing of this flow.Also, I would to be able to assign an email address to which a notification can be send when a specific flow fails during execution.SQL server agent jobs provide this kind of logging and tracing, there for clients of mine that we used to running this system automations through SQL agent are currently having difficulty to determine whether their system flows are running correctly or not.
I would like to have a way to determine whether a user as a document tab open or not. In some case you would like to close a document tab when the user already has this tab opened.Currently you are not able to determine whether this tab is already open or not. The only way to close the tab when open, is to include a close document process step in your processflow.It is kind of redundant though, that you have to execute this process step (which costs performance) when the user does not have this tab open.
Debug mode Indicium errorCompleted
I would like to propose the idea of having an Indicium debug mode.Currently if Indicium throws and error whiles using the Universal UI the user will get the following message “Unknown Error”. I can understand that we do not want to bother end users with specific database error messages.However it would be very useful if you can enable the display of such error message in the indicium settings. Currently when a client of mine gets this error message (unknown error) they will submit a ticket with a screenshot of this error message. That means that I have to go through the Indicium log and hope to identify the error message that was related to the message the client received. And to make matters worse, if you have load balancer enabled it can be a big issue determining which Indicium the client was logged into. Which makes finding the Indicium error near to impossible.Therefor it would be super useful have a setting which you can enable that will results in the actual database error messa
Currently the only way to generate/deploy a view which is configured based on the option Auto or Meta Custom is through all of the the deployment steps. This is very time consuming (10-20 min each time). Often to identify whether the view is configured correctly you need to deploy more then once.It would be very usefully if you have the option to deploy a specific view via a screen, just as you can deploy a view which is based on a template.
When you start working on your project the amount of tables is often not that vast. However as you progress the list of tables and number of tables sharing parts of their name will become a lot bigger. This will make it more difficult to select a specific table or view to display in the datamodel designer, since there is no filter available here.It would really help having a filter bar on top of the list of tables to display in the datamodel designer.
Currently when setting up a task or subroutine within the Software Factor the checkbox Atomic Transaction is set to false by default. It be better if the default is set to true instead of false. Normally all tasks and subroutine (procedures) will have to be set up using an atomic transaction. In some exceptions you would like to disable this feature.
Hi all,In order to synchronize data from a local MS SQL database to a MS Azure database, Microsoft offers a tool named the “SQL Data Synch”. In order to use this tool, a table cannot be using a user defined datatype. By default the Software Factory generates tables in MS SQL Server based on user defined types. You need to be able to disable this and instead use system datatypes when deploying.Therefor I would like to be able to configure this within a project version. And I would like to specify whether this is done for tables and or stored procedures. In some cases you would like to enable this for tables, but not for stored procedures.Currently you can set this by manually setting the column “alias_allowed” in the table dttp to 1 and after that alter the column user_defined_dttp on the table dom. This should be something that you can configure within the project version.Do keep in mind that you should still be able to deploy the user defined datatypes so that they can be used in SQL
Currently when using a tree based upon a grouped column, the label of this column is displayed on top of the value of that grouped column. I would like to be able to disabled this label. Often I do not need this label and for some users this is very confusing. In this example I would like to hide the label text Ship Manager. All I have to see is the value “Athena Marina Co. Ltd. This will also keep the tree view much smaller, since currently this takes up two rows instead of one.
Now that our processflows have become more powerful I find myself programming more code templates for specific processteps. At the moment this requires quite a bit of work. I have to go to the functionality screen and create a new control procedure and template from there and then search for my specific processtep, which sometimes can be a bit of pain. Also reviewing process procedure templates within a processflow is a bit of a pain. Because there is no quick way to see the code linked to a processtep.What would of great help is being able to create/manage control procedure and templates from a specific processflow step. This will save alot of time during development and will make the review work of processflows alot easier aswell. Within the processflow screen you will get a control procedure screen that automatically filters on code group process. And it should also include a prefilter for showing control procedures that have at least 1 template linked to a step of this processflow.
Control procedure multi selection set Ready for ReviewOn the backlog
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
Currently in our UI's if you create a table or view and include this column in the sorting the UI will create a left join to the lookup table. This is required to create the proper sortation. Obviously a left join is often not preferred. It should be an inner join, otherwise the query will not use the index.I understand that sometimes setting up this join as an inner is not possible, because if the join would return no value then the row itself would not be visible.Therefor I think the following solution would be perfect:If a column is not mandatory, the UI should always use left joins.If a column is mandatory, the UI should always use inner joins. However in the SF model it is possible to still mark the column as “use left join on lookup”. This is required when the lookup itself is a view that sometimes might not return any record.By changing this, the overall performance of all application will increase.
The Software Factory has an option that allows you to copy a table. At the moment this tasks copies the table and some settings made to this table. I personally use this option quite often. I would really like to be able to configure which details of the table I would like to include in this copy option.For example allow me to copy the grid, form, prefilters, conditional layouts. But also allow me to copy all detail tables and assigned code templates.This could be implemented with checkboxes for all of the items that you could include in the copy action. If you enable the checkbox, these details will be copied, if you disable the checkbox, this detail will not be copied.
Login to the Thinkwise Software Community
Enter your username or e-mail address. We'll send you an e-mail with instructions to reset your password.