Questions, discussions, news and updates regarding the Thinkwise Platform.
Recently active
We have a separate icon for our standard software application ‘JP-Bouwmanagement’ that is linked to our Thinkwise application. In the G8 we were able to include this icon in a shortcut by adding a INI-parameter ‘ApplicationIcon’ to the shortcut with a link to the icon. It looks like this is not working in the Windows GUI 2018.1.17. A standard Thinkwise icon appears on the Windows taskbar, were the custom icon used to be, our users a not familiar with this icon. Is this a known problem and will this be resolved?
I’ve created an new Crystal Reports report. When I open this from my development PC it’s working proper (see print screen below) But when the user starts this from the test environment, from a different PC, the database name is not filled. The following screen pops up: When I check the debugger, I notice that the database is filled (see print screen below), the same goes for my other Crystal Reports reports. Am I missing something? Maybe some settings in Crystal Reports?
Version 9.8.15 of the Windows GUI introduces a new feature – Excel-style filtering. The feature is named Excel-style filtering because it aims to offer users a filtering experience which is similar to that of Excel and feels familiar and intuitive. Excel-style filtering provides a way to filter individual columns on multiple values, something which is frequently requested by our users. This feature is not available for the Web GUI at the moment, but it will be added in the future. Where to find itExcel-style filtering can be accessed through a new menu which is available on the column headers of the grid. This menu can be opened by right-clicking a column header or by clicking on the menu button on a column header, shown in the image below. The column header menu also provides a new entry point for existing features such as grouping, sorting, opening the filter dialog and clearing all filters. Column header menu button What it looks likeThe way in which the values are grouped as a t
We often insert data in a table and afterwards we need the identity values of the new records for certain tasks. At Thinkwise most developers use the function SCOPE_IDENTITY() to do this. Although this function works fine, it’s only useful when you insert a single record because SCOPE_IDENTITY() is a scalar function and returns only one value. Many times we create statements that insert more than one record at a time. In those cases we need another method to retrieve all new identity values. The solution for this situation is the Output-clause (available in SQL Server 2008 and higher). An Output-clause returns information from, or expressions based on, each row affected by an Insert, update, delete or merge statement. In other words, with the Output-clause you can retrieve all data that was in the inserted and deleted tables during the statement. So the Output-clause does not only retrieve identity values, but it returns all values. In this topic however, we are mainly interested in
About 800 years ago, a French theologian wrote the sentence “Mille viae ducunt homines per saecula Romam”, which was the origin of the saying “All Roads Lead To Rome”. When it comes to software development, this saying holds very true. There are literally endless ways to implement a software application. In a previous blog, process analysis was positioned as a way to determine the scope and functional goals for application development in the Software Factory. This provides the project with specific goals, modules and required functionality. A good base for an estimate. To keep the analogy going; We decided we will go to Rome by car, though Germany and Switzerland. The trip shouldn’t take more than 2 days. However, there is still a lot of leeway. Do we only take the highways or the scenic route? Take the ferry along the road or toll roads? The functional goals can still be realised in many ways. To provide guidelines for developers on which exact roads to take, we’ve added the option
A very important step in preparing for an upgrade is setting up version control for the data conversion. If version control is not used correctly, it can even mess up your database. Best case scenario, the upgrade-script will fail and a backup should be restored. But in the worst case scenario, the upgrade will run without errors and you’ll lose data. Because it is such an important feature, we wanted to emphasize it by adding version control to the menu and writing a blog post about it. But as the post progressed, we realized some improvements were needed. First and foremost, we changed the name to Data conversion. Data conversion can be used to transform existing data to the new structure, just as version control could, and this screen can be found in the Deployment menu. Screenshot of Data conversion Features of Data conversionWhen you prepare for an upgrade, the first step is to check the selected previous version. When you are working with branches and multiple versions, i
The Code changelog is a new feature that will be released with the G9.8. This feature will make it easier to manage revisions of control procedure and template code. To track changes in code, some developers choose to add a header in the template containing the date, author and a description of every modification. But when there are a lot of development cycles, this header can become rather big. Another disadvantage of this method is that the header is included in the generated code. This is why we created the Code changelog. Completing control proceduresEvery time a control procedure or template is created or it’s code is updated, a record is added to the Code history and the status of the control procedure is changed to Development. Code changelog with changes When you’re done making changes to a control procedure and its templates you can mark the control procedure as Completed by using the task Complete control procedure (Ctrl+Alt+S). If you have made any changes to the code, th
With the upcoming release of the Thinkwise Suite G9.8, some changes have been introduced in the Software Factory regarding ini parameters. Ini parameters are properties that each application uses to start the right application. Ini parameters can be either mandatory (e.g. meta connection info) or optional (e.g. setting the delay for the combined filter). All of these ini parameters are saved in an ini file on the drive. This ini file can be opened and modified with a text editor. The ini file is usually already set up correctly and referenced from the shortcut of the application. So it might appear that the application doesn’t use an ini file, but each application always has its own ini file. What has changed? SF: Runtime configurationsTo have more control over and insight in the parameters used, to be able to share different ini parameter configurations between developers or user groups, and to make it possible to provide the correct ini parameters to all the runtime components (l
Zoom into detailsTo create a good overview, it can be desirable to configure a screen which shows ample data with many underlying details. But these detail windows can become rather small. To make such a window larger, it is possible for users to zoom into a detail screen. The question is: “What will the screen type of this zoomed screen be?” Screen type inheritanceIn the Software Factory G8, the zoom screen type was inherited from the master screen type. This seemed like a good solution, but in fact it lead to unexpected results. For example, if a detail screen contained only a grid and the master screen type contained both a grid and a form, the user would get access to a form when zoomed in. This would provide the user with the option to add records, which the developer might not have intended. Since the developer had no control over this, the screen type for the zoomed screen was changed to the detail screen type with the introduction of the G9. Even though this solved the unint
With the advent of the Software Factory release G9.8 “Pyxis”, we would like to introduce a change in the Software Factory regarding requirements. Where previous releases of the Software Factory had limited support for the registration of requirements, the G9.8 release will have fully-fledged support for the process analysis. Process analysis is used in the Thinkwise Project Methodology as the way to elicitate the requirements. By capturing the primary process of a company, it is way easier to determine what the application has to do to support this primary process. The processes are specified using BPMN 2.0. ProcessesThe primary process can be specified in the Software Factory using activities called tasks. This primary process shows 3 partial processes. Each partial process could be the responsibility of one or more different actors. This is why the primary process does not have any lanes. When we zoom into the first partial process, we see that a lane is introduced: This
ETC has separate different GUI applications in IAM with different administrators. In the current situation it is possible for an administrator to make himself admin of the other application. Is it possible to separate admin rights in one IAM?
With the upcoming release of the Thinkwise Suite G9.8, we have introduced the ability to perform two-factor authentication on users. Two-factor authentication provides an extra layer of authentication, on top of the conventional username and password, which serves to establish the identity of a user with a higher degree of certainty. Typically, two-factor authentication requires the user to prove that they are also in possession of something that only the real user should be in possession of, for instance a mobile phone. Our implementation of two-factor authentication supports the validation of phone numbers (by means of SMS) and the validation of email addresses. Support Two-factor authentication can only be used in applications which are managed by IAM, as IAM is the place where a user’s settings with regard to two-factor authentication can be configured. In addition, support for two-factor authentication is provided by the Web GUI and the Mobile GUI, but not by the Windows GUI.
With the report mailer function we export a Crystal Reports report to an Excel document. This doesn’t automatically set the column width correctly (see image below). Is it possible to change this?
Virtually every table in an application has a primary key. The primary key is unique per record and can be used to refer to the record. For instance, the table Person can use a number as primary key. However, when a person is referenced in the application, we do not want to see this number. When we are referring to a person, we want to see the name of the person. The name of the person is said to be the display value of the person. The display value of a person could be variable, depending on the context of where this person is referenced. The display value might even be stored in another table, especially when dealing with link tables. Obtaining a set of keys and display values and translating a key into a display value is called a look-up. This blog is about look-up display values and how to use them effectively. TerminologyIn the example with persons, the Person table is used as a look-up table. The look-up table is the table you would see if you were to open the look-up po
Because the Thinkwise GUI’s and Service Tiers use a connection pool for database connections, they will automatically try to reconnect with every new statement. This can cause locking problems during maintenance or upgrades. In the upcoming GUI’s a new feature will be introduced which will automatically close any application that is no longer available in IAM. Every five minutes a check is performed which will compare the currently loaded applications with the available applications for the current user. If an application is made inactive or the access rights are revoked then the GUI will close all the corresponding documents and removes the application from the menu. This feature ensures that all users are disconnected from the application and no new database connections will be opened by the Thinkwise GUI’s. Example In this IAM we find a Software Factory and three versions of a customer end product. We only want the most recent application version to be active, so we d
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.