The past three weeks we've been working on applying context logic, applying translations, showing error messages and a redesign of the breadcrumb.
As always, we've made a demo for you: try it here.
We'll keep you updated regularly about Universal's progress.
Alpha build
Like with every blog, we've released an alpha build so you can test Universal out for yourself. Don't forget the documentation and be sure to keep the following in mind:
- Universal isn't actively tested on the internet browser Edge at the moment. Edge will be updated to use Chromium, which greatly changes the way it works under the hood. Once this is done, we will be testing on Edge too.
- 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.
- This is an Alpha version, there is no compatibility plan in place for Universal just yet. Indicium updates and IAM hotfixes will eventually break this Alpha release.
Download your alpha build here
Context logic
To disable or hide details and tasks we fetched the context for the active record. Now you can see if a task or detail is disabled or it's hidden completely. It looks like this:
Disabling tasks that cannot be executed for the active record
Translations
Some displayed words in Universal were hardcoded in English, even if the application was in another language like German or Dutch. We now fetch translations for the users' language and show the correct translation translations.
For now, the following words have been translated:
- Actions
- Details
- Filters
- Logout
- No Result
- Open Documents
- Search
Error messages
Error messages from Indicium are now shown when a resource cannot be found (e.g. when trying to edit a record that someone else just deleted) or when the user has no permission to perform an action (e.g. trying to delete an invoice that someone just sent to the customer). For now these messages only show as an ID since we do not have the translations available yet.
Trying to delete a record that already has been deleted
Trying to modify a sales invoice that has already been sent to the customer
Breadcrumb
The breadcrumb has gotten some UI / UX improvements. The whole breadcrumb is now always placed under the open document title. This way the user always knows where to look when wanting insight of his navigation path. Also is the data displayed less scattered because the selected row used to be on top, but now it is the last part in the breadcrumb underneath the open document title.
The below figures show the changes. The breadcrumb shown in the blue area.
Before:
Previous version of the breadcrumb in the Project Activities document
After:
Updated version of the breadcrumb in the Project Activities document
Unsaved changes
When trying to close a document with unsaved changes, we now show a Material styled popup instead of the native popup that was shown before. The title still shows up as an ID because the translation hasn't been added yet.
Before:
Trying to close the Customers document with unsaved changes - before
After:
Trying to close the Customers document with unsaved changes - after
Unit tests
In the past three weeks we've added another 30 unit test cases to the components and inner workings of Universal. This brings us up to 1054 test cases in total.
Lots of minor fixes/tasks
Styling
- Fixed large space between a HTML editor and its label in some cases.
- Fixed inconsistent padding between words in HTML cells in the grid.
- Fixed a bug where the whole page would scroll on iOS.
- Fixed a bug causing tooltips not to work.
Performance
- Reduced the number of times the toolbars (filters, task, reports, CRUD, details) need to render.
Technical
- We now store the SF version so we can support any changes made in future versions
- The form was refactored to make it suitable to handle task parameters.
- We implemented loading the tasks and task parameter model information for listbar items.