Skip to main content
  • 555 Product updates
Universal Development Update Juli 2020

Universal Development Update Juli 2020

Hello everyone, this sprint we've done a lot of ground work to add new features to Universal. As you'll see a lot of awesome things are coming. Besides that we also added some very useful features and fixed some bugs.As always, we've made a demo for you: try it here. Before trying it out, press 'Clear Cache' on the login screen. You can read the GUI user manual to get familiar with Universal.We'll keep you updated regularly about Universal's progress.Universal version 1.1Like with every blog, we've released a version so you can test Universal out for yourself. Don't forget the documentation and be sure to keep the following in mind:Edge has been updated to use Chromium, which greatly changes the way it works under the hood. We now also recommend this browser to be used for Universal. Universal must be deployed on the same server as Indicium or it should be an allowed origin in appsettings.json. Universal only works with version 2019.1 and up of the Thinkwise Platform. Furthermore, make sure you run all hotfixes on the IAM and SF that you plan to use for Universal. Make sure you are on the latest version of Indicium Universal.Download Universal version 1.1 hereSearch in the menuOne often requested feature is to be able to search in the menu. We've implemented this for the listbar menu and the tree menu.If there are menu items found for your search term, the group where it is located will open automatically. In the case of a tree menu, all parent groups will open.If there are no results found, you'll get a useful message informing you that there were no results found.This is what it looks like:Listbar menuSearching in the listbar menuTree menuSearching in the tree menuGround workAs mentioned we've been doing a lot of groundwork. You cannot see this in Universal yet, but we didn't want to keep this from you. We've researched, and made plans and designs to:Make loading lookups more efficient. This will be a boost in Universal's performance Allow multirow selection in the grid Add edit mode to the grid Add 2FA Add a barcode scanner Replace the combo and suggestion controls completely to make them much more usableUnit testsIn the past three weeks we've added another 18 unit test cases to the components and inner workings of Universal. This brings us up to 1583 test cases in total.Lots of minor fixes/tasksBugsWhen a screen has only details, the text 'What you're looking for cannot be found' is no longer flashed brieflyUI/UXWe now show the tasks in the action bar for longer, rather than putting them in the overflow menu Fixed issue where prefilters would be shown next to each other in the overflow menu, rather than above each otherTechnicalFixed security issues in our 3rd party packagesWhat we'll be working on next sprintThe next sprint we'll be working on:Base implementation of grid edit mode Editable text control for the grid Replacing the lookup combo and the lookup suggestion controls Research and design for autosave Logging in using 2FA

Related products:Universal GUI
Universal Development Update June 2020

Universal Development Update June 2020

Hello everyone, we have a special treat for you: Universal is production ready. This release is version 1.0 so we're no longer in the release candidate phase. Some customers already used Universal in production, and now you can too. We can't wait to hear your thoughts and ideas. As always, we've made a demo for you: try it here. Before trying it out, press 'Clear Cache' on the login screen. You can read the GUI user manual to get familiar with Universal. We'll keep you updated regularly about Universal's progress. Universal version 1.0 Like with every blog, we've released a version so you can test Universal out for yourself. Don't forget the documentation and be sure to keep the following in mind: Edge has been updated to use Chromium, which greatly changes the way it works under the hood. We now also recommend this browser to be used for Universal. Universal must be deployed on the same server as Indicium or it should be an allowed origin in appsettings.json. Universal only works with version 2019.1 and up of the Thinkwise Platform. Furthermore, make sure you run all hotfixes on the IAM and SF that you plan to use for Universal. Make sure you are on the latest version of Indicium Universal. Download Universal version 1.0 here Finding the saved record When you save a record, there might be changes that cause the record to be filtered away. This might be because you have a prefilter active, because you searched for a phrase that is not in the new record, or the record falls outside the number of rows we show. The number of records we show used to be hard-coded, this now also listens to the SF setting max no. of records of the subject. To make sure you can find the record easily again, we show a notification informing you that the record you just saved can't be show in the current screen. We also have a button to show that record. This will open a new document that's zoomed in to that record. Finding a record that falls outside the current filters  Unit tests In the past three weeks we've added another 55 unit test cases to the components and inner workings of Universal. This brings us up to 1565 test cases in total. Lots of minor fixes/tasks Bugs All CRUD buttons no longer become visible when they shouldn't be if a task popup is open Mandatory field errors now correctly show up when there is a TSFMessage present The multiline control now has a scrollbar again Fixed a bug where details would sometimes not load Years in the graph are now sorted correctly Fixed a bug were tabs wouldn't show in breakpoints UI/UX We now support model-defined hotkeys for tasks on the top-level document Dates/times/datetimes are now correctly formatted using the preferences of the user's browser When starting Universal with an unsupported browser we now show a page suggesting to use a modern browser The HTML control now opens links in a new tab Breakpoints no longer activate when in edit mode, since you do not know if you have a form in the breakpoint Performance Fixed a bug where the data would be loaded multiple times, causing the screen to flicker Multiple performance improvements Technical Universal now uses the table model settings to decide how many rows to display (maxNoOfRows) We did the groundwork for the maps component What we'll be working on next sprint The next sprint we'll be working on: Grid edit mode groundwork 2FA groundwork Grid multirow selection groundwork Search in listbar / tree menu Research on how to make loading lookups more efficient Improved combo/suggestion controls

Related products:Universal GUI
Thinkwise Platform Release 2020.2
Universal Development Update June 2020

Universal Development Update June 2020

Hello everyone, as you know we're in the Release Candidate phase. This means our main focus is on stability. This sprint we've worked very hard on making Universal ready for production and we've implemented a few popular features. We'll keep you updated regularly about Universal's progress. Universal version RC3.2 Like with every blog, we've released a version so you can test Universal out for yourself. Don't forget the documentation and be sure to keep the following in mind: Edge has been updated to use Chromium, which greatly changes the way it works under the hood. We now also recommend this browser to be used for Universal. Universal must be deployed on the same server as Indicium or it should be an allowed origin in appsettings.json. Universal only works with version 2019.1 and up of the Thinkwise Platform. Furthermore, make sure you run all hotfixes on the IAM and SF that you plan to use for Universal. Make sure you are on the latest version of Indicium Universal. Download Universal version RC3.2 here Tooltip in search It would be nice to know which columns are including when you're searching in a document. We've made just that: A tooltip shows in which columns you're searchingThe title will be translated via a meta hotfix as usual. Unit tests In the past three weeks we've added another 28 unit test cases to the components and inner workings of Universal. This brings us up to 1510 test cases in total. Lots of minor fixes/tasks Bugs Mandatory field errors are now reset so they no longer appear when adding a new record after cancelling when having errors Universal now correctly recovers after report execution fails so you can keep working The grid no longer erroneously removes the initial sorting when the sorting column isn't visible Fixed a bug where no data would load and a spinner would remain visible because lookups weren't properly loaded Details of the previous active record are no longer visible when adding a new record or filtering all records away Nested details no longer come up unfiltered when opened directly (TCP issue 76202) Fixed a bug where some details kept loading forever The chart no longer crashes when encountering a calculated field Tasks and reports now also execute correctly when not executed on a record Fixed a bug where not all columns were visible in the grid in a lookup popup UI/UX Removed the clear icon for the suggestion control and made the dropdown icon consistent with other dropdown icons The tooltip now only appears in the grid and form when the content actually is too large to fit The width of form columns now listens to the Field width and Label width settings in the SF Decreased the cell padding in the grid The spinner no longer flickers with a scrollbar The initial sorting when opening a lookup for the first time is now correct Technical Added support for 2020.2 breakpoints Upgraded our coding language (Typescript) What we'll be working on next sprint In the upcoming sprint, we are fully committed to improving stability so that we can release a version that can be used safely in production environments. The goal is to ensure that all features that the Universal GUI now offers work flawlessly and that it can recover from any unexpected errors without becoming unstable. It also means we'll be working on the features that are essential for the production release like: Improving the way errors are handled and presented to make it easier for the user to understand what went wrong Providing a mechanism to find a record if it falls outside a filter after saving Fixing the way dates and times are formatted Making sure you can still continue if the screen changes due to a breakpoint when editing in a form Performance improvements Squashing a few more bugs

Related products:Universal GUI

What's New in WinWeb 2020.2.10

As the version bump to 2020.2.10 may already have suggested, our main focus last month was to get everything ready for the upcoming Software Factory 2020.2 release. One of its main new features is that application resources such as images and reports are now stored in the model itself rather than on the file system. This presented an opportunity for us to develop something which has been high on our wish list for a while: file uploads from the grid. Another new feature we’re excited about is that both developer tool windows (the debug console and the location path window) can now be docked somewhere. Other improvements include: Values in the active row are now refreshed after saving without modifications. This resolves a bug in the form list control. As always, saving a row without modifications does not send a PATCH request or UPDATE query to the back-end. The appearance of tile menus in the Software Factory modeler is now more similar to what it will look like in the modeled application. Correctly resize some images in the grid. (Web GUI) Improved support for some types of pool user credentials for DB2 and Oracle. (Web GUI) Fixed read-only checkboxes in the default editable form where they should be editable. (Windows GUI) Fixed accidental German translations in the Dutch translation set of the rich text hotspot manager. (Web GUI) Language native names in the ribbon are now properly capitalized. (Web GUI) A reply_to parameter has been added to the report mailer. This works only for the Outlook mailer. (Windows GUI) File and image upload in the grid In the Windows GUI, you can now upload files and images in the grid. It works like file and image upload editors in the form. Upload image in the gridIf the grid cell is editable and active, a red cross icon appears which will remove the current file, after which a new file can be selected and then uploaded. Dock developer tool windows We’ve enriched the application debugging experience by allowing some tool windows to be docked like normal windows can. See below screenshot in which the debug console is docked to the right: Docked debug consoleAll docking features are available to it, such as auto hiding or docking it as a tab page.  

Related products:Windows GUI
Universal Development Update May 2020

Universal Development Update May 2020

Hello everyone, this sprint we've worked on making Universal much more robust. We also added some features like restoring the default sort order and some visual improvements like changing the spacing in the form and number formats. As always, we've made a demo for you: try it here. Before trying it out, press 'Clear Cache' on the login screen. You can read the GUI user manual to get familiar with Universal. We'll keep you updated regularly about Universal's progress. Release Candidate 2.1 Like with every blog, we've released a version so you can test Universal out for yourself. Don't forget the documentation and be sure to keep the following in mind: Edge has been updated to use Chromium, which greatly changes the way it works under the hood. We now also recommend this browser to be used for Universal. Universal must be deployed on the same server as Indicium or it should be an allowed origin in appsettings.json. Universal only works with version 2019.1 and up of the Thinkwise Platform. Furthermore, make sure you run all hotfixes on the IAM and SF that you plan to use for Universal. Make sure you are on the latest version of Indicium Universal. Download Universal Release Candidate 2.1 here Push new version Universal can be installed as a PWA so you can use it as an app on your devices. A version of Universal is then installed locally on your device. But if Universal is updated, your local install isn't updated automatically as well. It would be really nice to get a notification with the option to update your local install. That is exactly what we've built. This is what it looks like: Notification with the option to update UniversalYou'll get a notification informing you that there is a new version available. You can update immediately from that notification. If you want to finish up before updating, you can close the notification. The the user profile icon in the top right gets a dot to signify an action can be performed. If you click the profile menu and go to ‘about’, you have the option to update Universal from there. Restore default sorting You can change the sort order, but sometimes you want to go back to the way things were. We've implemented a feature to restore the sort order to the default. It looks like this: Restoring the default sort orderUnit tests In the past three weeks we've added another 19 unit test cases to the components and inner workings of Universal. This brings us up to 1482 test cases in total. Lots of minor fixes/tasks Bugs Disabled suggestion controls now properly load lookups Fixed bug where parent grid would keep loading if there were details visible (TCP issue 75811) UI/UX Increased the space between columns in the form Fixed calculation of spacing between fields in the same line in the form The popup icon in the multiline has been hidden Fixed a bug where the form layout would sometimes be incorrect, leading to fields bleeding into each other Removed the extra paper around the loading spinner when there already is a paper The lookup combo now uses the proper space for the text so it no longer overflows into the icons Numbers are now properly formatted in the form (TCP issues 75817 and 75818) Technical Unknown errors no longer cause a crash Fixed multiple security issues in our dependencies What we'll be working on next sprint In the upcoming sprint, we are fully committed to improving stability so that we can release a version that can be used safely in production environments. The goal is to ensure that all features that the Universal GUI now offers work flawlessly and that it can recover from any unexpected errors without becoming unstable. It also means we'll be working on the features that are essential for the production release like: Improving the way lookups are resolved (this solves multiple issues with screens that keep loading for example) Improving the way details are filtered Support for 2020.2 Dealing with records that are filtered away after saving Squashing a few bugs Starting with the research and design on how grid edit mode should work

Related products:Universal GUI
Heads-up: Indicium Universal soon mandatory (2020.2)

Heads-up: Indicium Universal soon mandatory (2020.2)

Having Indicium Universal running in an environment has been optional since Thinkwise Platform version 2019.2, to be able to run the Universal GUI. For Thinkwise Platform version 2020.1, Indicium Universal was also required to be able to leverage the scheduling feature. Starting with Thinkwise Platform version 2020.2, an active Indicium Universal will be mandatory for the platform to function correctly. Indicium & Indicium Universal Indicium comes in two flavors, which are both actively supported: The Indicium runtime component has been in service for a long time. This variant is used as back-end for the Mobile GUI and 3-tier Windows GUI. However, the required runtime component will be Indicium Universal, currently used for scheduling and as a back-end for Universal. When providing api's to external parties, this runtime component is best suited for the job as well. Note: Both an Indicium and Indicium Universal runtime can be active at the same time for a Thinkwise Platform environment without any problems. Thinkwise Platform 2020.2 The upcoming new version of the Thinkwise Platform will leverage scheduling and some other autonomous mechanisms, which will be executed by Indicium Universal. Indicium Universal will be required for both development environments running the Software Factory as well as end-product environments running an Intelligent Application Manager and end-products. Infrastructural requirements Indicium Universal typically runs on a webserver connected to the internet or as a managed web app in the cloud. However it is not required that this webserver is exposed to inbound traffic from the web. An internal server would work just as well. However, an integrated licensing renewal mechanism (which will be detailed in the upcoming release event) will require Indicium to perform outbound web calls. Indicium Universal will also require this level of connectivity when scheduling http connectors calling web resources are used by your product. Version 2020.2 of the Thinkwise Platform is scheduled to be released in June.

Related products:Universal GUIIndicium Service Tier
Universal Development Update April 2020

Universal Development Update April 2020

Hello everyone, this release we have improved breakpoints, added the option to have a backplate for the tiles menu, added grid sorting and lots of stability improvements. We went from from a beta version to release candidate 1 this release. This means we are getting closer than ever to recommending Universal to be used in production environments. As always, we've made a demo for you: try it here. Before trying it out, press 'Clear Cache' on the login screen. You can read the GUI user manual to get familiar with Universal. We'll keep you updated regularly about Universal's progress. Release Candidate 1 Like with every blog, we've released a version so you can test Universal out for yourself. Don't forget the documentation and be sure to keep the following in mind: Edge has been updated to use Chromium, which greatly changes the way it works under the hood. We now also recommend this browser to be used for Universal. Universal must be deployed on the same server as Indicium or it should be an allowed origin in appsettings.json. Universal only works with version 2019.1 and up of the Thinkwise Platform. Furthermore, make sure you run all hotfixes on the IAM and SF that you plan to use for Universal. Make sure you are on the latest version of Indicium Universal. Download Universal Release Candidate 1 here Improved breakpoints One key aspect of Universal is that it enables the developer to define breakpoints. A screen can have different components based on the width of Universal. Having a grid and a form next to each other will work fine on a desktop, but not on a small mobile device. This greatly improves the flexibility of applications, but it also holds one key problem: breakpoints were activated based on the width of Universal. This worked perfectly when we first created breakpoints, but now it no longer was sufficient. What if the screen is a detail that has much less space than the entire width of Universal? What if the screen is a popup, also with much less space? We now look at the width that a screen has available to it. So a breakpoint for a detail can also change when you move a splitter: The breakpoint of a detail changes when moving a splitterOr when you resize a popup: The breakpoint of a popup changes when resizing the popupTiles menu background image It is now possible to have a background image for the tiles. This image is the backplate as set in the Universal type theme in the SF so you can have different images for the dark and light themes. Be mindful that the tiles menu is responsive, so any important information in the background image might be covered by a tile or otherwise not visible. It looks like this: A background image in the tiles menuGrid sorting You can now press on the header of a column in the grid to sort the data. This will toggle between ascending and descending. An arrow will indicate the sort order. If you hold the shift key, you can sort on multiple columns. (You do need a keyboard for this) The sort for any additional columns can also be removed. This is what it looks like: Grid sorting​​​​​Task / report mandatory field error handling When a mandatory field is not filled in the task or report parameters, you now also will get a descriptive message and the relevant fields will be highlighted: Mandatory error handling in a report popupUnit tests In the past three weeks we've added another 28 unit test cases to the components and inner workings of Universal. This brings us up to 1463 test cases in total. Lots of minor fixes/tasks UI/UX Scrollbars now have the correct background color in dark mode when hovering over them Series in the chart (e.g. dates) are now sorted correctly Use the correct translation key for Refresh The unsaved changes indicator now has the correct color based on the background color The Open documents header for tiles now looks the same as the listbar The lookup popup will now correctly open when there is no value yet When typing in the lookup combo, the value now is automatically selected Fixed alignment of lookup combo arrow icon Technical Lookups are now correctly filtered by lookup prefilters Fixed white screen when opening a subject that was already open Lookup combos are now properly refreshed when going into edit mode Fix a bug where the form wouldn't be visible when going into edit mode after switching breakpoints What we'll be working on next sprint In the upcoming sprint, we are fully committed to improving stability so that we can release a version that can be used safely in production environments. The goal is to ensure that all features that the Universal GUI now offers work flawlessly and that it can recover from any unexpected errors without becoming unstable. It also means we'll be working on the features that are essential for the production release like: Support 2020.2 Making sure Universal doesn't crash when any Unknown error occurs Correctly filtering nested details on reference columns Dealing with records that cannot be found due to prefilters after saving or opening a lookup Restore sorting Push a new model version to the Universal PWA Bugs and stability improvements

Related products:Universal GUI

What's New in WinWeb 2020.1.15

Considering the breadth of changes introduced in 2020.1.12, it made sense to allow ourselves a cooling down iteration and see where we could improve and refine. That being said, we did add three new features: Tile background scaling Minimal and full versions (Windows GUI) Tools for online documentation (Software Factory) Other improvements include: When a background task is started, the Running tasks panel is now opened automatically. It is not assumed anymore that each SQL Server installation allows people to log in using Windows authentication. This applies in particular when an application is deployed in Azure. When a default stored procedure includes a parameter from a password control, its value is now obscured in the debug console. The Started at column in the debug console now shows the full time stamp of each event, including its date. Scheduler improvements for edge cases. Fixes for the preview control in the Windows GUI. IMPORTANT: As detailed in the Thinkwise Lifecycle policy, support for Software Factory version 2017.1 has ended in July 2019. Following this policy, support for this version will end in the Windows and Web GUI’s too in their next release. Tile background scaling Both GUI’s now support three tile background image scaling types. To use this feature, you’ll need to add the extended property TilesmenuBackgroundScaling to your project, Available values are: stretched - The image is stretched to fill the available space. This is the default and current behavior. centered - The image is centered with respect to the available space. tiled - The image is anchored to the top left, and tiled to fill the available space. Minimal and full versions As the inclusion of the Chromium web browser engine for the preview control adds about 270 Mb to the required disk space of the Windows GUI, we’ve decided to make it optional. If you delete the CefSharp subdirectory from the Components directory (see below screenshot), the GUI will still work, but with a limited set of file types that can be shown in the preview control. Files that can still be previewed are: Images: .jiff, .jpg, .jpeg, .bmp, .png, .ico Text: .txt, .cs, .java, .ini, .log, .bat, .sql PDF: .pdf, .ps To accommodate this change, we’ve also distinguished between minimal and full downloads of the Windows GUI in the Thinkwise Community Portal. The full download includes the CefSharp directory, the minimal download does not. Tools for online documentation The Project ribbon tab in the Software Factory development environment now contains two new tools: Online Documentation - Opens the online documentation in the default web browser. Community - Opens the Thinkwise Community in the default web browser.

Related products:Windows GUI
Universal Development Update March/April 2020

Universal Development Update March/April 2020

Hello everyone, we have a new update with quite some changes we think you'll like. As always, we've made a demo for you: try it here. Before trying it out, press 'Clear Cache' on the login screen. Note: From the next release we'll change how the releases and this blog are done. While our development cycle doesn't change, we're going to publish each release a few days later to give us time for regression testing and to fix any issues we find. What this means for you is that the blog and release will no longer be on Friday but on the next Tuesday. We'll keep you updated regularly about Universal's progress. Beta version 0.80 Like with every blog, we've released a beta version so you can test Universal out for yourself. Don't forget the documentation and be sure to keep the following in mind: Edge has been updated to use Chromium, which greatly changes the way it works under the hood. We now also recommend this browser to be used for Universal. Universal must be deployed on the same server as Indicium or it should be an allowed origin in appsettings.json. Universal only works with version 2019.1 and up of the Thinkwise Platform. Furthermore, make sure you run all hotfixes on the IAM and SF that you plan to use for Universal. Make sure you are on the latest version of Indicium Universal. Download Universal beta version 0.80 here Open documents in the tiles menu The tiles menu now also has open documents, it looks like this: Open documents in the tiles menuEditable image combo The image combo control was available as readonly. We've now made it editable as well: The editable image comboForm responsiveness The number of columns in the form is now responsive. You can set the number of columns in the SF. If there is not enough space for that many columns, Universal will start dropping columns so you can comfortably work in the form. There will never be more columns than the amount specified in the SF. It looks like this: Responsive number of columns in the formMandatory field validation When trying to save a form with empty mandatory fields, you now get a nice error explaining what the problem is. These new translations need to be added to the SF The fields in questions will also be marked red: Field validation for mandatory fieldsLookup popup styling We've made several improvements to the lookup popup, it looks like this: Lookup popupWe changed the lookup icon You now have the subject title and active record in the header. When you open the lookup popup in non-edit mode, the option to select the value has been removed When you open the lookup popup in edit mode, the select value is disabled until you actually change the value. Unsaved changes are indicated by a dot next to the subject title in the header Grid autosize based on content The option to have the grid size its columns based on the content has been added, it looks like this: Autosize columnsLogout when unauthenticated When the user lost authentication (e.g. by logging out in another browser tab), a cryptic message used to be shown by Universal. We now show a message and redirect the user to the login screen to login again: Logout when unauthenticatedUnit tests In the past three weeks we've added another 57 unit test cases to the components and inner workings of Universal. This brings us up to 1435 test cases in total. Lots of minor fixes/tasks UI/UX Multiline text in the grid is now properly truncated with an ellipsis Numeric controls now properly show the numeric keyboard on mobile Page up and down now properly activate the correct record in the grid The default font is now properly loaded in production builds Universal now uses the native combo control on mobile; This prevents several issues like getting the wrong value after selecting an option or the keyboard obscuring the values. You can now type in the combo to select records Universal now gives you a message when trying to log out if any document has unsaved changes Fixed the color of the toolbar overflow menu's The text colors in the topbar now properly adjust themselves to contrast with the background Fixed a bug where a double-tap would be necessary to switch documents on iOS Made the action button tooltips (save, cancel, etc.) translatable You can now use space to fill in the current date/time in date/time controls. The time now also defaults to 12:00:00 We disabled word wrap for multilines in the grid We removed the detail buttons in the action bar since you can reach them via tab pages or detail tiles Technical Made field percentage mandatory to avoid errors where the width of form controls isn't passed properly There no longer is an error when trying to save a datetime control with only the date filled We've added an action for open document success to help with process flows later on We added a build command to easier test on many devices on BrowserStack. We changed how breakpoints are handled internally to be able to send better requests to Indicium What we'll be working on next sprint In the upcoming sprint, we are fully committed to improving stability so that we can release a version that can be used safely in production environments. The goal is to ensure that all features that the Universal GUI now offers work flawlessly and that it can recover from any unexpected errors without becoming unstable. It also means we'll be working on the features that are essential for the production release like: Making Universal compatible with the Thinkwise platform version 2020.2 Grid sorting on a single column, restore default sort, header-sized columns Being able to locate a record after save if it falls outside the filtered set of records Breakpoints based on size of the container for breakpoints in details and popups Finishing the first version of Universal as a Progressive Web App (PWA) with, among other things, pushing a new version of Universal to the service worker, having the correct icons, contructing the manifest Stability

Related products:Universal GUI
Universal Development Update March 2020

Universal Development Update March 2020

Hello everyone, this sprint we've made some great improvements to Universal we think you'll like. Among other things, we've added lookup popups and the tiles menu. Read on to get all details. As always, we've made a demo for you: try it here. Before trying it out, press 'Clear Cache' on the login screen. We'll keep you updated regularly about Universal's progress. Beta build Like with every blog, we've released a beta build so you can test Universal out for yourself. Don't forget the documentation and be sure to keep the following in mind: Edge has been updated to use Chromium, which greatly changes the way it works under the hood. We now also recommend this browser to be used for Universal. Universal must be deployed on the same server as Indicium or it should be an allowed origin in appsettings.json. Universal only works with version 2019.1 and up of the Thinkwise Platform. Furthermore, make sure you run all hotfixes on the IAM and SF that you plan to use for Universal. Make sure you are on the latest version of Indicium Universal. Download your beta build here Lookup popups In the previous blog we promised you lookup popups for the next release. We had to do quite some work with styling and actually selecting the chosen record. We did just that, so here it is: Working with lookups was a bit cumbersome in Universal, it was difficult to quickly open a lookup and make some changes. We've now made that a lot easier by implementing lookup popups. Before we continue, here's what they look like: Lookup popups in actionWhen you open the lookup popup the correct record is selected and you see only the records you'd be able to select. This seems obvious of course, but did need to be implemented. Details are hidden in the toolbar of lookup popups. If you'd open a detail via the toolbar, it would open a new document. That document is below the popup, so it would be unusable. Since we support screen types, you can still access your details via a tab page in a popup. There are some improvements we'd like to do. For example making breakpoints work better in lookup popups and indicate when there are unsaved changes. You'll be seeing that and more in a future release. Tiles menu We've created the first version of the tiles menu. This is what it looks like: The tiles menu in actionSwitching between two applications, one with, and one without a tiles menuTiles will not scroll horizontally, but will arrange themselves neatly on the screen. While the tile sizes aren't responsive yet, they to respond to the available width: Tiles menu responsivenessAs you can see in the images above, badges also work for tiles! Next up we'll be adding open documents to the tiles menu. Grid improvements We've made some improvement to the grid. Now it listens to the column size as defined in the SF. Also we now support locking columns, it looks like this: Fixed columns and custom column width in the gridBesides that, we now also indicate the sort order in the grid: Arrows indicating the sort order in the grid headersIt is not yet possible to change the sort order by pressing a column header, this will follow in another release. Form improvements Earlier we implemented that you could change the width of form fields. That is a nice feature on its own, but only become truly powerful when you can put form fields next to each other. This sprint we've made just that. This is what it looks like: Form fields next to each otherChart improvements We continue to work hard on the chart. This sprint we've added positioning the chart labels (inside or outside). That looks like this: Labels can now also be placed inside the graphAlso we've implemented legend positioning, this is best explained by an image: The legend position can be changed nowhe chart used to crash when a category or series datapoint didn't exists. That is fixed now. We now also clean up the cube nicely when the document is closed. This is more of a technical change that helps keeps things nice and organized under the hood. Groundwork for process flows We've been working hard on the base architecture for process flows. This is a complicated feature involving multiple products. We'll keep you up to date on the progress. Unit tests In the past three weeks we've added another 32 unit test cases to the components and inner workings of Universal. This brings us up to 1378 test cases in total. Lots of minor fixes/tasks UI/UX The active record in the tree now changes when navigating with the arrow keys Fixed a bug where the CRUD toolbar expanded through the toolbar next to it We now disable the login button if the username or password fields are empty Fixed a bug where you'd see an old value after putting the form in edit mode when previously entering wrong data in the form The browser tab icon and text now reflect the current application Technical There no longer is an error when moving through the rows in a grid with file uploads Fixed a bug where no data would load when there was no prefilter bar Deletes are no longer done directly on the state; this could cause errors. Performance Removed unused translation key and language files Stability We now send readable data to Sentry so we can fix bugs faster We've implemented a feature that stops Universal from starting in our development environment when vulnerabilities are discovered in third party dependencies. This ensures we fix any such vulnerability whenever it shows up. This has proven effective; we already found and fixed a vulnerability in a third party dependency in the few days after we've implemented this functionality Universal now gives a nice error message on the login screen when trying to use an unsupported platform version. What we'll be working on next sprint In the upcoming sprint, we are fully committed to improving stability so that we can release a version that can be used safely in production environments. The goal is to ensure that all features that the Universal GUI now offers work flawlessly and that it can recover from any unexpected errors without becoming unstable. It also means we’ll be working on the features that are essential for the production release like Responsive form columns Grid column autosizing Mandatory field validation Being able to locate a record after save if it falls outside the filtered set of records. Finishing the first version of Universal as a Progressive Web App (PWA) with, among other things, pushing a new version of Universal to the service worker, having the correct icons, contructing the manifest

Related products:Universal GUI
End of SQL Server 2012, 2014 support for entire Thinkwise Platform

End of SQL Server 2012, 2014 support for entire Thinkwise Platform

The upcoming Thinkwise Platform version 2020.2 will no longer officially support SQL Server 2012 and SQL Server 2014. The official minimum supported version of SQL Server will be 2016. As of version 2020.1 of the Thinkwise Platform, the minimum version of SQL Server was already 2016 for the Software Factory. The Intelligent Application Manager, Indicium service tier and the GUI's did not leverage SQL Server 2016 features with the 2020.1 release. With the upcoming release of Thinkwise Platform version 2020.2, this will change, and therefore the entire platform will require SQL Server 2016 or higher. Impact on development environments As of version 2020.1 of the Thinkwise Platform, the minimum version of SQL Server was already 2016 for the Software Factory. Impact on production environments Version 2020.2 of the Intelligent Application Manager will leverage temporal tables. This immediately brings the minimum required version of SQL Server to 2016 upon release. The Deployment Center will prevent installation or upgrade of the Intelligent Application Manager to version 2020.2 when the SQL Server version is below 2016 or the database compatibility of the Intelligent Application Manager database is below SQL Server 2016. Existing products will no longer work on SQL Server 2012 and SQL Server 2014. We advice to upgrade your production environments to SQL Server 2016, before upgrading the Thinkwise Platform to 2020.2. Timing Thinkwise Platform version 2020.2 is planned to be released in June 2020. The changes in SQL Server version support will be reflected in the lifecycle policy. SQL Server In our blog language features several new T-SQL features in SQL Server 2016 and 2017 are described.

Related products:Software FactoryWindows GUIIntelligent Application ManagerUniversal GUIIndicium Service Tier

What's New in WinWeb 2020.1.11 and 2020.1.12

Maybe it's the current Dutch stormy weather inspiring the Thinkwise WinWeb Engineering Team, because we sure felt some fresh wind when we picked up a couple recurring tough issues and managed to put them behind us. We hope that the new features and improvements in the latest 2020.1.12 release will inspire you just as much, and increase your productivity. Highlights include: Totals for grid groups (Web GUI) Preview control (Windows GUI) Better FILESTREAM support Indicium connection (Windows GUI) Mail reports with Microsoft Outlook (Windows GUI) Aborted default procedures As usual, some general ease-of-life and quality improvements are included as well: The Ctrl A hotkey in the Web GUI selects all records in a grid. Support for the DATETIME2 data type on SQL Server is now complete. This is particularly useful in the context of temporal tables, where foreign keys on DATETIME2 columns are commonplace. The “Accept” HTTP header is properly supported in the HTTP process connector. SQL expressions for GUI calculated fields can end with an end-of-line comment without generating errors in GUI queries. Improved error handling in the file storage converter task of the model. The “All values” checkbox in the Excel style filter in the Windows GUI has been fixed. Support for basic authentication headers, in which an IIS server supplies known user-password values to the Web GUI, allowing it to log in automatically. Non-critical security updates for the Web GUI. Code creation on Azure and the Azure file storage back-end have received bugfixes. We have also been actively researching some Community Ideas. Be sure to keep an eye on this blog to find out what's coming. Totals for grid groups Sometimes an image says more than words: Group totalsThe Web GUI now supports totals per group in a grid. In the screenshot above, group header rows contain sums of values (e.g. amounts) of items contained in that group. Other supported aggregation types are Average, Count, Maximum, and Minimum. Preview control The Preview control has received the love it deserves, and underwent a major upgrade. The Windows GUI now uses the Chromium browser engine for previewing files.  This increases the size of the download from the Thinkwise Community Portal. But as the previewer is now an essential component of most applications, it is a small sacrifice for some significant gains: Support for a broader range of file types to display. More efficient use of memory while going through several files in a set. All of the performance benefits of one of the best Javascript engines out there. We're convinced that the previewer has the expected level of stability, but as this is a major change we cannot completely ignore the chance of new issues. Test results are promising, but please do let us know if you experience any unusual new behavior. Better FILESTREAM support This SQL Server data type is an interesting mix between a large object and a regular file storage. For instance, it turns out that the semantics of copying existing file stream values to a new row (Ctrl Alt +) needed more fleshing out. This also affects tasks and reports with file stream parameters, when they are applied to a selection of multiple rows. Here, too, we have chosen for a mix. With the constraint in mind that files are allowed to be referenced by at most one record, each copy action now invokes a separate upload of the same file object. This is done automatically, which removes some work which would otherwise have to be done manually. It involves a download action right when copying to a new row. Should this new behavior not be acceptable, it is advisable to turn off the “Include in copy” flag in the model. Indicium connection We are continuously investing in improving the connection between the Windows GUI and Indicium, to make it fully compatible, and bug free. The latest 2020.1.12 GUI release contains a couple important bugfixes, and a new feature as part of this ongoing effort: Invalid files are now correctly ignored. User Preferences quality review. You can now change your password when connected to Indicium. The regular settings are applied as expected (e.g. “Allow change password” for a user in IAM). Change password when connected to IndiciumWe have also resolved an issue in which a grid would get out of sync with a row which has just been added to it. The TL;DR is that a rare combination of three Leaky Abstractions caught us off guard. For those interested, the technical explanation is that while the GUI is waiting for a web request to Indicium to return, the UI thread which is responsible for drawing items in the grid is not completely blocked - as is the case with other back-ends such as SQL Server or Oracle. So, when clicking on another row in the grid, a chain of events unfolds with a surprising result: (1) the added row is deactivating → (2) a web request is sent to Indicium to insert the new row → (3) the UI thread is unblocked which draws the grid → (4) the grid sees the incomplete row change and aborts it, so it is in a valid state when it draws itself → (5) the Indicium web request returns successfully → (6) the GUI enters a limbo state in which it simultaneously thinks the row change happened, and did not happen at all. It also turns out that this scenario only occurs if the web request checks for a proxy configuration, which makes the issue especially hard to reproduce: nothing extraordinary happens when running Indicium on localhost. At least the fix was easy. Mail reports with Microsoft Outlook   Interoperability with different Microsoft Office versions to automatically e-mail your generated reports has been improved by changing the way the GUI invokes Outlook. With this update, errors resulting from version conflicts, Outlook processes that may or may not be running already, and a couple of other issues are finally resolved. This applies only to the Windows GUI. Aborted default procedures create procedure [dbo].[def_my_tab]( @default_mode tinyint, @import_mode tinyint, ...)asbegin exec tsf_send_message 'invalid_value', null, 1end When a default stored procedure is called in edit mode with a changed value and then aborted (see example code), its effect is that the change is undone. What's new is that this value reset now happens immediately after returning from the stored procedure call. In particular, a subsequent layout stored procedure receives the value as it was before the change. This removes the difference between what the user sees, and what the layout stored procedure thinks the user sees. Please be advised that this may affect the behavior of your existing layout stored procedures, but in the best way imaginable: it enables you to throw away value checking code in layout stored procedures which is now redundant, for free quality and performance gains.  

Related products:Windows GUI
Universal Development Update February 2020

Universal Development Update February 2020

Hello everyone. It's time for another Universal development update. This sprint we've been working on the navigation tree, many stability, performance and UI issues. We've also kept working on cubes and did the groundwork for lookup popups. As always, we've made a demo for you: try it here. Before trying it out, press 'Clear Cache' on the login screen. We'll keep you updated regularly about Universal's progress. Beta build Like with every blog, we've released a beta build so you can test Universal out for yourself. Don't forget the documentation and be sure to keep the following in mind: Edge has been updated to use Chromium, which greatly changes the way it works under the hood. We now also recommend this browser to be used for Universal. Universal must be deployed on the same server as Indicium or it should be an allowed origin in appsettings.json. Universal only works with version 2019.1 and up of the Thinkwise Platform. Furthermore, make sure you run all hotfixes on the IAM and SF that you plan to use for Universal. Make sure you are on the latest version of Indicium Universal. Download your beta build here Cube We've added support for charts where there is no row dimension. Something like this: Cube set without a row dimensionThe resulting chart in Universal looks like this: The resulting chartWe started doing the groundwork for pivot grids so we can implement them soon. We now use the cube field translation rather than the column translation. And we also fixed a bug where the chart crashed when there was no data Navigation tree Besides the listbar, we now also support the navigation tree (tree menu). This enables developers to have multiple levels in their menu: The navigation treeGroundwork for lookup popups We've come a long way for lookup popups. We added the button and the popup that loads the lookup subject. Since we have to do some finishing touches and styling, we won't show it just yet. We'll enable the buttons soon so you can see it. Unit tests In the past three weeks we've added another 50 unit test cases to the components and inner workings of Universal. This brings us up to 1346 test cases in total. Lots of minor fixes/tasks UI/UX We now hide tab headers when ShowTabHeader is set to false in the SF, or there is only one component tab visible We now only show the toolbar when the tab page has components that need the toolbar Fixed a bug where the action bar would slide out of view on some iPads Fixed a bug where the checkbox would skip over the indeterminate state when it was unchecked Suggestion control options now have the correct color Fixed wrong translation (sf_version should be platform_version) The search overlay now can be cancelled and closed with escape and closed with enter Form fields now have the width as defined in the SF by field_percentage We now show the actual badge number, rather than displaying 99+. The style of the 'Open documents' text is now consistent with Tab Page headers. Removed hidden links in email, phone and url controls that appeared when they had no value. The required asterisk for the HTML control is now also colored red. The checkbox no longer moves a few pixels up when it's selected for the first time. It's no longer possible to scroll the text of the tab page headers away. Horizontal scrolling in the grid is now possible Technical We upgraded typescript so we can use new features when developing Universal We now interpret a breakpoint of 0 as the default screen type since omitting the breakpoint would lead to problems in the future. Refactored the way the application id is stored within Universal Bugs that would cause a crash in production now also cause a crash in our development environment so we can see them more easily without needing to create a production environment Made the build console output in our CI more readable Fixed a console error that we should return an empty object rather than null Performance Refactored away a separate request to Indicium to get PK's Refactored the way responsive detail tiles are calculated Stability Fixed a bug where detail tab pages were duplicated Fixed a bug where tab pages had the wrong content Fixed a bug that caused Universal to crash after layout procedure errors (TCP issue 74580) When you open an already opened document, the screen is no longer blank Fixed bug where Universal would sometimes crash when closing document (TCP issue 74813) Fixed bug that the execution of layouts failed due to an unknown error. What we'll be working on next sprint We're working towards a version with all essential features. For next sprint this means: Making lookup popups available for you Doing more groundwork for the pivot grid Doing research into process flows Creating the first version of the tiles menu Allowing fields in the form to share the same line Grid: fixed columns, fixed size columns Some further chart improvements

Related products:Universal GUI