Difference between revisions of "Version 4.0 (WinX)"
m (→Editor related templates) |
(→Any template having ViewModel as the data context) |
||
(21 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
+ | == Important Notes == | ||
+ | |||
+ | {{Attention|This version requires a [[Version 3.6(Server)|UBIK Server version 3.6]] or higher!}} | ||
+ | |||
+ | Since this is a major release with substantial changes to the kernel and the UI, it will require more effort to update from the previous versions. Please see the "XAML Notes" tab for more details. | ||
+ | In order to give users more time and convenience to migrate to the new version, the following changes are made in the app branding. | ||
+ | * The new app is listed in the [https://www.microsoft.com/store/productId/9WZDNCRFK0P3 Microsoft Store as "UBIK"] (whereas the [https://www.microsoft.com/store/productId/9P2T2XRG2452 old one is "UBIK.UWP"]); | ||
+ | * The new app's display name is "UBIK4"; | ||
+ | * The new and old apps can be installed on the same device in parallel, with their data/profiles/configs/etc. separated. | ||
+ | |||
+ | |||
= Release Notes = | = Release Notes = | ||
== Release == | == Release == | ||
− | == | + | === 4.0.58 on 2022-05-03 === |
+ | * Fixed an issue where saving property changes on child items doesn’t work when using outdated XAML code; | ||
+ | * Added back ViewModel.CurrentDateTime for backward compatibility. | ||
+ | * Updated the localization for Portuguese and Spanish. | ||
− | == | + | === 4.0.2 on 2022-04-26 {{key press|Store}} === |
− | === | + | ==== Features and highlights ==== |
− | * | + | * Brand new UI for improved productivity and updated visuals. |
− | * Added a button in the | + | ** More unified page designs. |
+ | ** Quality of life improvements such as the ease of access to context menus. | ||
+ | ** Better grouping of similar context related actions such as branch download. | ||
+ | ** Better text descriptions, icons and localization. | ||
+ | ** Most features in the old app's top & bottom bars can now be used in customized UI. See [[Version_4.0_(WinX)#App_bars|XAML Notes - App bars]]. | ||
+ | ** Optimized the search result UI to better distinguish current and previous results. | ||
+ | ** And many others... | ||
+ | * [[Property_Direct_Edit_(Client)|Property direct editing]]. | ||
+ | ** It's now possible to directly edit most frequently used types of properties inline instead of in additional dialogs. | ||
+ | ** The previously limited MRO task direct editing (boolean) is now extended to these property types as well. | ||
+ | ** Added more parameters to some property editing related commands for better customizability. | ||
+ | ** Better edit session management to prevent editing being overwritten by background content updates in rare cases. | ||
+ | * [[Developer_Mode|Developer mode]] usability improvements: | ||
+ | ** Supports the inspections of collection item through indexers. | ||
+ | ** Supports type browsing from custom pinned data contexts. | ||
+ | ** Currently opened dialogs can also be inspected. | ||
+ | ** Added a button in the XAML browser to unpack all default templates. | ||
* Some security related improvements. | * Some security related improvements. | ||
** The app now informs the web service to terminate the user session upon logout or app closing. | ** The app now informs the web service to terminate the user session upon logout or app closing. | ||
** The app no longer allows self signed server certificates. | ** The app no longer allows self signed server certificates. | ||
− | * | + | * Better app performance. |
− | * | + | ** Improved the performance of [[XAML_Changes_in_UBIK_WinX_3.5#Filtering_by_expressions|content filtering through XAML customizing]]. |
− | * | + | ** Improved the app performance when deleting large amount of data (which happens when e.g. evaluating online queries). |
− | * Improved the app performance when deleting large amount of data (which happens when e.g. evaluating online queries). | + | ** To improve the AR performance and reduce power consumption, [[Location_Manager#tab.3DWinX|pose fusion]] is now turned off by default and can be enabled when necessary. |
− | * | + | * The app's default profile is now only generated during app startup when no other profiles are detected. |
− | * | + | * UBIK clients are now able to log all webservice communication related activities (in UBIKWebserviceDebug.log) for better trouble shooting. It can also be turned off using the [[Settings#tab=WinX|EnableSyncLogging]] setting in the profiles. |
− | * UBIK clients are now able to log all webservice communication related activities (in UBIKWebserviceDebug.log) for better trouble shooting. It can also be turned off using the EnableSyncLogging setting in the profiles. | + | * All kernel code accessing file storage roots is now centralized in ILocalStorage and can be easily customized per platform. |
+ | * PDF annotations are now treated as regular content changes and can be automatically saved (when [[Settings#tab=WinX|AutoSaveMode]] is on) as a result. | ||
+ | * Users can now choose [[Dynamic_Selective_List_(Client)|dynamic selective list]] items when editing Guid properties. | ||
+ | |||
+ | |||
+ | ==== Bugfixes ==== | ||
+ | * Fixed an issue where search filters are incorrectly applied when browsing data types in the developer mode. | ||
+ | * Fixed an issue where the app displayed a confusing error message ("Prepare Metadefinitions.") when failing to contact the content service right after login. | ||
+ | * Fixed an issue where the app can get into an invalid state if a user manages to browse to e.g. the root/start object page during a logout process. | ||
* Fixed some misbehaviors in the signature editor. For example, the signing isn't properly disabled after the countdown ends when a stroke is not yet finished. | * Fixed some misbehaviors in the signature editor. For example, the signing isn't properly disabled after the countdown ends when a stroke is not yet finished. | ||
+ | * Fixed an issue where unnecessary messages are logged. ("Message is null") | ||
+ | * Fixed an issue where signatures were sometimes corrupted when saved. | ||
+ | * Fixed an issue where search result text from a previous user session is incorrectly displayed. | ||
+ | * Fixed an issue where link/Guid properties show a confusing empty selection list when there's no options to select. | ||
+ | * Fixed an issue where the SetPropertyValueCommand always saves changes regardless of the AutoSave parameter value. | ||
+ | * Fixed an issue where attaching photos could not be properly enabled during content wizard creation. | ||
+ | * Fixed an issue where a freshly recorded media file couldn't be accessed for replay. | ||
+ | * An issue where the scanning of optical markers stopped unintentionally was fixed. | ||
+ | * Fixed an issue where it's impossible to use the geo location of an object after scanning a geo AR marker. | ||
+ | * Fixed an issue where changed queries prevented the updates of meta definitions. | ||
+ | |||
== Known issues == | == Known issues == | ||
+ | * If you have upgraded from earlier versions of {{UBIK}} and have a UBIKThemes.xaml file under [[XAML#Templates|the app's root XAML folder]], you need to delete it manually or there might be some UI issues such as unreadable text colors, strange button styles, etc. | ||
+ | * Option IGNORE_NULL doesn't work yet on [[Dynamic_Selective_List_(Client)]], see [[HowTo:Configure_Dynamic_Selective_Lists#Known_issue_workaround:_Not_ignoring_NULL_criteria_doesn.27t_work|workaround]]. | ||
Line 28: | Line 79: | ||
<br/> | <br/> | ||
It is highly recommended to start new UI customizings based on the default resources in {{UBIK}} 4. [[Developer_Mode#Features|Here]] is how you can get them from the app. Some major changes are listed below, please see every item for detailed information and whether your existing customizings will still work. | It is highly recommended to start new UI customizings based on the default resources in {{UBIK}} 4. [[Developer_Mode#Features|Here]] is how you can get them from the app. Some major changes are listed below, please see every item for detailed information and whether your existing customizings will still work. | ||
+ | |||
== Obsolete resources == | == Obsolete resources == | ||
Line 35: | Line 87: | ||
* PropertyItemToValueConverter is removed since it was not used at all. (This should not be used in any XAML customizings, If it is, please consider using alternatives or contact us.) | * PropertyItemToValueConverter is removed since it was not used at all. (This should not be used in any XAML customizings, If it is, please consider using alternatives or contact us.) | ||
* StringToDateTimeTypesConverter was added. It should be used when Binding to a Date/Time property on a PropertyViewModel. | * StringToDateTimeTypesConverter was added. It should be used when Binding to a Date/Time property on a PropertyViewModel. | ||
− | |||
− | |||
− | |||
− | |||
=== App bars === | === App bars === | ||
Line 54: | Line 102: | ||
* UBIKBottomRight. | * UBIKBottomRight. | ||
This means such existing child templates in your project setups will not have any effect in {{UBIK}} 4, unless you still have the two parent/container templates customized where they are explicitly referenced. | This means such existing child templates in your project setups will not have any effect in {{UBIK}} 4, unless you still have the two parent/container templates customized where they are explicitly referenced. | ||
+ | |||
== XAML changes == | == XAML changes == | ||
Line 70: | Line 119: | ||
=== UBIKGlobalStatusBar === | === UBIKGlobalStatusBar === | ||
− | Some | + | Some members are moved from the GlobalStatusBarViewModel to the AppStatusViewModel which is available as a property called AppStatus in the former. So the previous bindings in the form of <code>{Binding XXX}</code> will now require a new binding of <code>{Binding AppStatus.XXX}</code> (with some exceptions, see below). The affected members include the following. |
− | + | * ProgressIndicator; | |
− | * | + | * LoginState; |
− | * | + | * WritingToDB; |
− | + | * TaskCount; | |
+ | * SyncModeName; | ||
+ | * UserSelectedSyncModeName; | ||
+ | * SyncModeCommand -> AppStatus.SwitchSyncModeCommand. | ||
+ | |||
+ | {{Hint|The changes here are not mandatory and the old bindings are still compatible. But we highly recommend that you use the new ones since the old ones will not receive further updates such as bugfixes and improvements.}} | ||
+ | {{Hint|All these changes are also marked in the developer mode.}} | ||
=== UBIKPropertyValueRecordDialog === | === UBIKPropertyValueRecordDialog === | ||
Line 80: | Line 135: | ||
=== Editor related templates === | === Editor related templates === | ||
− | {{Hint|The changes are quite extensive and, therefore, we recommended you | + | {{Hint|The changes are quite extensive and, therefore, we recommended that you take the default templates from the app and re-customize them from there.}} |
First of all for UBIKEditDateTime, UBIKEditDouble, UBIKEditInt, UBIKEditGuid, UBIKEditChart, UBIKEditGeo, UBIKEditBool, UBIKEditString. | First of all for UBIKEditDateTime, UBIKEditDouble, UBIKEditInt, UBIKEditGuid, UBIKEditChart, UBIKEditGeo, UBIKEditBool, UBIKEditString. | ||
Line 95: | Line 150: | ||
* Prefixed bindings "EnableNAOption", "NotApplicable", "ValueDefinitions", "ValueDefinition", "EnableMultiValueEditing" & "CanExecuteConfirmEditCommand" with "PropertyViewModel.". | * Prefixed bindings "EnableNAOption", "NotApplicable", "ValueDefinitions", "ValueDefinition", "EnableMultiValueEditing" & "CanExecuteConfirmEditCommand" with "PropertyViewModel.". | ||
+ | === Any template having ViewModel as the data context === | ||
+ | Some members are moved from the ViewModel to the AppStatusViewModel which is available as a property called AppStatus in the former. So the previous bindings in the form of <code>{Binding XXX}</code> will now require a new binding of <code>{Binding AppStatus.XXX}</code> (with some exceptions, see below). The affected members include the following. | ||
+ | * CallRemoteSupportCommand; | ||
+ | * SwitchSyncModeCommand; | ||
+ | * SyncMode; | ||
+ | * NavigateToScanPageCommand; | ||
+ | * NavigateToHomePageCommand; | ||
+ | * NavigateBackCommand; | ||
+ | * NavigateToSettingsPageCommand; | ||
+ | * NavigateToGuidCommand; | ||
+ | * NavigateToRootPageCommand; | ||
+ | * NavigateToURICommand; | ||
+ | * DisplayViewCommand; | ||
+ | * EnableNfcCommand; | ||
+ | * CopyToClipboardCommand; | ||
+ | * ShowMessageBoxCommand; | ||
+ | * IsRFIDScanningAvailable; | ||
+ | * IsRFIDScannerConnecting; | ||
+ | * ToggleRFIDScanning; | ||
+ | * RootList; | ||
+ | * LocalContentItems -> AppStatus.LocalObjects; | ||
+ | * UserName -> AppStatus.CurrentUserName. | ||
+ | |||
+ | {{Hint|The changes here are not mandatory and the old bindings are still compatible. But we highly recommend that you use the new ones since the old ones will not receive further updates such as bugfixes and improvements.}} | ||
+ | {{Hint|All these changes are also marked in the developer mode.}} | ||
<headertabs /> | <headertabs /> |
Latest revision as of 08:51, 23 August 2022
Important Notes
This version requires a UBIK Server version 3.6 or higher! |
Since this is a major release with substantial changes to the kernel and the UI, it will require more effort to update from the previous versions. Please see the "XAML Notes" tab for more details. In order to give users more time and convenience to migrate to the new version, the following changes are made in the app branding.
- The new app is listed in the Microsoft Store as "UBIK" (whereas the old one is "UBIK.UWP");
- The new app's display name is "UBIK4";
- The new and old apps can be installed on the same device in parallel, with their data/profiles/configs/etc. separated.