There are mandatory Xaml changes and existing customizings need to be updated. See Xaml Changes tab. |
Starting with this version, Windows 10 build 16299 or later builds are required. |
Initial Release
New features
- Position and Orientation information of separate source systems (GPS, Compass, AR-Markers, etc.) are now combined based on their probabilistic error levels using an Extended Kalman Filter.
- UBIK® is now able to remember the scroll position of a list view when browsing through the content hierarchy. Additional configuration is necessary in XAML customizings in order to activate this.
- The feature of remembering user credentials is redesigned.
- More UI parts are now fully customizable.
- The status bar as UBIKGlobalStatusBar.xaml.
- The bottom bar as UBIKGlobalBottomBar.xaml.
- The login/start page as UBIKStartArea.xaml.
- The child page as UBIKContentArea.xaml.
- The details page as UBIKDetailsArea.xaml.
- The document page as UBIKDocumentArea.xaml.
- It is now possible to use external Bluetooth RFID Readers to scan RFID Tags in UBIK.
- The not found offline query criteria are now ignored.
- It's now possible to use multi bindings in XAML for simple compound bindings. Note: This is not a replacement of the existing EvalExpression which is able to handle complex expression evaluations.
- A new property LinkedLevel on the PropertyListItemViewModel loads and delivers a full PageViewModel of the linked object of a Guid property
- It is now possible to attach documents to the content creation wizard.
- Added the FileDetailsClassification to provide additional information about an uploaded file.
- An InvokeOnItemsCommand is now available to execute a specified command on list items.
- Added the Archive3DModelClassification to enable downloading 3D models including additional files like textures.
- By default, the selective items are now sorted alphabetically in the ascending order based on their display texts. However, one can customize the sorting as well.
Enhancements
- Simplified and improved the bindings to TemplateService and its templates. See Xaml Changes.
- Developer Mode related:
- The shortcut key to activate the developer mode is changed from F12 to Ctrl+F12 (to reduce activations by accident and to avoid conflicts with other applications).
- Improved ToString representations of collections to make finding data easier.
- When switching between different stages, one can see different parts (area, item, etc.) highlighted. This now also supports custom named templates such as UBIKChildArea_WP.
- When using the Edit XAML Template button, a copy of the default template can be deployed to the custom XAML folder. This now also supports custom named templates.
- Added a member "InfrastructureObjects" to "AppStatus" which is available in every view model. This allows administrators to do quick checks whether the infrastructure objects they expect are actually delivered from the service.
- Added a Edit UBIKThemes button for fast and easy access to the custom/default UBIKThemes.xaml file, see details here.
- The developer mode stage information is now shown in the app's title instead of notifications.
- Improved the performance and responsiveness when loading large lists.
- Added a toggle setting to turn on a strict template loading policy to help customizers spot potentially missing templates.
Bugfixes
- Fixed an issue when clicking on ListViewItem in ZoomedOutListView it does not navigate, when clicking on the right side of the object
- Fixed an issue where OCR Definitions ("TAG_Chars.xml) generated through the experimental TagReader App could not be used by the client anymore
- Fixed an issue where OCR letters with holes (e.g. O, B, 8 etc.) were misinterpreted
- Fixed an issue where the app crashed when opening the guid editor using the property wizard.
- Fixed an issue where configured barcode formats were not read correctly from the profile, thus the app always used QR codes only after restart.
- Fixed an issue in the back navigation behavior in the type browser of the developer mode.
- Fixed an confusing filtering behavior in the type browser of the developer mode.
- Fixed an issue where branch download containing a large number of document files was extremely slow.
- Fixed an issue where some localized texts were not used.
- Fixed an issue where the Cancel button in the XAML overwrite dialog did not work.
- Fixed an issue where the app did not properly navigate to the object when a user clicked on items in a zoomed out list.
- Fixed an issue where the app always displayed the zoomed in list view even if a user switched to the zoomed out one in the same app session.
Build History
Xaml Changes
We have made some improvements to make some bindings in Xaml code easier and more efficient. Some changes to your existing Xaml customizings might be necessary. Please refer to each section to see if the change is mandatory or not.
General changes regarding how UBIKThemes.xaml is customized
In previous versions, one must include all resources defined in the default UBIKThemes.xaml file, which means the custom version of it will contain hundreds of resources even if only a handful of minor changes are actually made.
Starting from 3.6, this mechanism is overhauled so that the custom UBIKThemes.xaml file only needs to contain those customized resources. For all other default ones that do not require changes, one can delete them (and we highly recommend doing so) to keep the customizings cleaner and more maintainable.
Binding to TemplateService and the templates
This change is not mandatory and your existing Xamls will still work. We do recommend updating them, though.
Previously the TemplateService (the one providing access to all customizable templates) was only available on certain views (e.g. pages, dialogs, etc.). And the binding to it could only be done using named element like
- <ContentControl ContentTemplate="{Binding ElementName=contentPage, Path=TemplateService.UBIKChildPageActionTemplate}" />
It is now made accessible from all view models (you can use the developer mode to check its availability). Also, you can now use the exact names of the template files as indexers for binding to those templates. Therefore, the binding can be changed to something like
- <ContentControl ContentTemplate="{Binding TemplateService[UBIKChildPageAction]}" />
Use SelectionBoundListView instead of ListView
A SelectionBoundListView was already available in earlier versions but not mandatory. For performance improvements, it is now mandatory wherever you display UBIK® content (objects, properties, etc.).
You need to add a namespace like xmlns:uc="using:UBIK.WinX.Controls"
to your Xaml file and use it like <uc:SelectionBoundListView ... />
.
Customized Sorting
Customizers can now specify the sort order of the items in XAML with the help of a ListCollectionView. The path to a comparable property, that is used for comparing can be specified. Multiple properties can be used, whereby the priority goes from the first to the last property. The direction can be specified by either "Ascending" (default) or "Descending".
<collectionview:ListCollectionView.SortParameter>
<collectionview:SortDescriptions>
<collectionview:SortDescription PropertyName="Header" Direction="Ascending"/>
<collectionview:SortDescription PropertyName="Content.UID" Direction="Descending"/>
</collectionview:SortDescriptions>
</collectionview:ListCollectionView.SortParameter>
</collectionview:ListCollectionView>