<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.augmensys.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=KGR</id>
		<title>UBIK Wiki / Augmensys - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.augmensys.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=KGR"/>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Special:Contributions/KGR"/>
		<updated>2026-09-28T22:27:47Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.24.2</generator>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_5.2_(WinX)&amp;diff=30042</id>
		<title>Version 5.2 (WinX)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_5.2_(WinX)&amp;diff=30042"/>
				<updated>2026-07-02T13:58:29Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* 5.2.?? on 2026-??-?? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|This version requires [https://en.wikipedia.org/wiki/Windows_10_version_history#Version_1809_(October_2018_Update) Windows 10 build 17763] or higher}}&lt;br /&gt;
&lt;br /&gt;
== Availability ==&lt;br /&gt;
{{key press|Store}}: Publicly available in Microsoft Store.&lt;br /&gt;
&lt;br /&gt;
{{key press|Store Beta}} / {{key press|Store Preview}}: Publicly available in Microsoft Store as beta or preview versions to those whose account email is participating in our beta or preview test. To join, please send an email to testing@augmensys.com and provide an email address to add to the list as well as the information which test you want to join. Alternatively you can contact the Augmensys staff and submit your chosen email address.&lt;br /&gt;
&lt;br /&gt;
Example: Please add my email account example@example.com to the '''Beta''' test group for the '''WinX''' client.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Attention|Some customized XAMLs might need an update to work properly. These changes are marked with ⚠️}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Release ==&lt;br /&gt;
&lt;br /&gt;
=== 5.2.?? on 2026-??-?? ===&lt;br /&gt;
* Resolved an issue where page transitions can be annoying/distracting.&lt;br /&gt;
* UBIK LABs (Experimental) The update interval for live value updates (LiveValueUpdateIntervalMs) can be configured in profiles.&lt;br /&gt;
* Updated all client localization translations.&lt;br /&gt;
* Fixed an issue where Developer Mode failed to display certain property descriptions.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 5.2 (WinX)]]&lt;br /&gt;
[[Category:Version 5.2|Version 5.2 (WinX)]]&lt;br /&gt;
[[Category:WinX|Version 5.2 (WinX)]]&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* Due to third-party limitations, the feature that shows the ImageEditor Save button only when edits have been made is only active when MergeAnnotationsOnSave is set to true.&lt;br /&gt;
* When editing Guid Link properties, you can no longer further edit the filtering if there are predefined filter parameters (such as the [[Dynamic_Selective_List_(Client)#Dependency_property_values|dependency property values in dynamic selective lists]]). This is because those parameters are to be enforced by design and should not be changed by users. In the future, we might consider a finer level of control over which parameters can be edited in such cases.&lt;br /&gt;
* Free Text Annotations that where created in former sessions cannot be selected and therefore cannot be edited any more.&lt;br /&gt;
* There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* Known issues regarding the [[Documents_(Client)#Remember_Document_Settings|Remember Document Settings]] feature:&lt;br /&gt;
** Saving the Zoom value via touch gestures is not supported.&lt;br /&gt;
** Due to a third-party framework issue it can't be guaranteed that saving the Zoom level is always working properly. We reported this issue and will update our solution as soon as it is resolved on their side.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ⚠️ XAML Notes =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Category/Version2|{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 5.2 (WinX)]]&lt;br /&gt;
[[Category:Version 5.2|Version 5.2 (WinX)]]&lt;br /&gt;
[[Category:WinX|Version 5.2 (WinX)]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_5.2_(Mobile)&amp;diff=30038</id>
		<title>Version 5.2 (Mobile)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_5.2_(Mobile)&amp;diff=30038"/>
				<updated>2026-07-01T09:50:06Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* 5.2.?? on 2026-??-?? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|Existing pre 5.0 XAMLs are not compatible with UBIK Mobile client 5.x. Please refer to [[HowTo:Convert_Xamarin_XAMLs_to_Maui]] for migrating them to the new client.}}&lt;br /&gt;
&lt;br /&gt;
{{Attention|UBIK 5 clients can only connect to {{UBIK}} Servers of [[Version 3.6(Server)|version 3.6]] and higher!}}&lt;br /&gt;
&lt;br /&gt;
{{Attention|The minimum supported OS versions are:&lt;br /&gt;
* Android 9;&lt;br /&gt;
* iOS 12.}}&lt;br /&gt;
&lt;br /&gt;
== Availability ==&lt;br /&gt;
{{key press|Android: Store}}{{key press|iOS: Store}}: Publicly available in Google Play Store / Apple App Store.&lt;br /&gt;
&lt;br /&gt;
{{key press|Android: Store Beta}}: Publicly available in Google Play Store as beta versions. You can opt in or out of the beta at any time in the store.&lt;br /&gt;
&lt;br /&gt;
{{key press|Android: Store Preview}}: Available through Google Play Store's [https://play.google.com/store/apps/details?id=com.augmensys.ubik.go invitation link].&lt;br /&gt;
&lt;br /&gt;
{{key press|iOS: Store Beta}}: Available through Apple App Store's [https://testflight.apple.com/join/Kmb1HG9E invitation link].&lt;br /&gt;
&lt;br /&gt;
{{key press|iOS: Store Preview}}: Available through Apple App Store's [https://testflight.apple.com/join/yHRnbYbt invitation link].&lt;br /&gt;
&lt;br /&gt;
{{key press|Windows: Store Preview}}: The mobile Windows client is not an official product and is only distributed as test versions upon request and/or in our [https://release.augmensys.com/download/modules/client/mobile/ release portal].&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Attention|Some customized XAMLs might need an update to work properly. These changes are marked with a ⚠️}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Release ==&lt;br /&gt;
&lt;br /&gt;
=== 5.2.?? on 2026-??-?? ===&lt;br /&gt;
* UBIK LABs (Experimental) The update interval for live value updates (LiveValueUpdateIntervalMs) can be configured in profiles.&lt;br /&gt;
* Updated all client localization translations.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 5.2 (Mobile)]]&lt;br /&gt;
[[Category:Mobile|Version 5.2 (Mobile)]]&lt;br /&gt;
[[Category:Version 5.2|Version 5.2 (Mobile)]]&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* Due to third-party limitations, the feature that shows the ImageEditor Save button only when edits have been made is only active when MergeAnnotationsOnSave is set to true. In Mobile, deleting the last annotation does not correctly update the editor's internal edit state. As a result, the Save button may remain visible even though no edits exist.&lt;br /&gt;
* When changing the device orientation during attaching a photo on iOS, the app gets stuck. This is an issue Microsoft confirmed in .NET9 and will fix in .NET10.&lt;br /&gt;
* When editing Guid Link properties, you can no longer further edit the filtering if there are predefined filter parameters (such as the [[Dynamic_Selective_List_(Client)#Dependency_property_values|dependency property values in dynamic selective lists]]). This is because those parameters are to be enforced by design and should not be changed by users. In the future, we might consider a finer level of control over which parameters can be edited in such cases.&lt;br /&gt;
* Currently, the Samsung keyboard doesn't show {{key press|,}} at all, regardless of the current language/locale setting of the device. Please use a different virtual keyboard (e.g. Gboard from Google) instead if {{key press|.}} is unacceptable.&lt;br /&gt;
* The periodic execution of background pushes is not guaranteed on iOS (the native push feature doesn't have this issue).&lt;br /&gt;
* There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* It is currently not possible to select which camera to use for AR views (e.g. scan page) on Windows.&lt;br /&gt;
* SfPullToRefresh was removed due to [[Mobile_XAML#Issues_with_SfPullToRefresh_in_Mobile_client|existing issues]], and replaced with a Refresh option in the Context menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= ⚠️ XAML Notes =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 5.2 (Mobile)]]&lt;br /&gt;
[[Category:Mobile|Version 5.2 (Mobile)]]&lt;br /&gt;
[[Category:Version 5.2|Version 5.2 (Mobile)]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_5.2_(WinX)&amp;diff=30037</id>
		<title>Version 5.2 (WinX)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_5.2_(WinX)&amp;diff=30037"/>
				<updated>2026-07-01T09:49:25Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* 5.2.?? on 2026-??-?? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|This version requires [https://en.wikipedia.org/wiki/Windows_10_version_history#Version_1809_(October_2018_Update) Windows 10 build 17763] or higher}}&lt;br /&gt;
&lt;br /&gt;
== Availability ==&lt;br /&gt;
{{key press|Store}}: Publicly available in Microsoft Store.&lt;br /&gt;
&lt;br /&gt;
{{key press|Store Beta}} / {{key press|Store Preview}}: Publicly available in Microsoft Store as beta or preview versions to those whose account email is participating in our beta or preview test. To join, please send an email to testing@augmensys.com and provide an email address to add to the list as well as the information which test you want to join. Alternatively you can contact the Augmensys staff and submit your chosen email address.&lt;br /&gt;
&lt;br /&gt;
Example: Please add my email account example@example.com to the '''Beta''' test group for the '''WinX''' client.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Attention|Some customized XAMLs might need an update to work properly. These changes are marked with ⚠️}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Release ==&lt;br /&gt;
&lt;br /&gt;
=== 5.2.?? on 2026-??-?? ===&lt;br /&gt;
* Resolved an issue where page transitions can be annoying/distracting.&lt;br /&gt;
* UBIK LABs (Experimental) The update interval for live value updates (LiveValueUpdateIntervalMs) can be configured in profiles.&lt;br /&gt;
* Updated all client localization translations.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 5.2 (WinX)]]&lt;br /&gt;
[[Category:Version 5.2|Version 5.2 (WinX)]]&lt;br /&gt;
[[Category:WinX|Version 5.2 (WinX)]]&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* Due to third-party limitations, the feature that shows the ImageEditor Save button only when edits have been made is only active when MergeAnnotationsOnSave is set to true.&lt;br /&gt;
* When editing Guid Link properties, you can no longer further edit the filtering if there are predefined filter parameters (such as the [[Dynamic_Selective_List_(Client)#Dependency_property_values|dependency property values in dynamic selective lists]]). This is because those parameters are to be enforced by design and should not be changed by users. In the future, we might consider a finer level of control over which parameters can be edited in such cases.&lt;br /&gt;
* Free Text Annotations that where created in former sessions cannot be selected and therefore cannot be edited any more.&lt;br /&gt;
* There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* Known issues regarding the [[Documents_(Client)#Remember_Document_Settings|Remember Document Settings]] feature:&lt;br /&gt;
** Saving the Zoom value via touch gestures is not supported.&lt;br /&gt;
** Due to a third-party framework issue it can't be guaranteed that saving the Zoom level is always working properly. We reported this issue and will update our solution as soon as it is resolved on their side.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ⚠️ XAML Notes =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Category/Version2|{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 5.2 (WinX)]]&lt;br /&gt;
[[Category:Version 5.2|Version 5.2 (WinX)]]&lt;br /&gt;
[[Category:WinX|Version 5.2 (WinX)]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_5.1_(Mobile)&amp;diff=29912</id>
		<title>Version 5.1 (Mobile)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_5.1_(Mobile)&amp;diff=29912"/>
				<updated>2026-06-09T11:35:11Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* Release */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|Existing pre 5.0 XAMLs are not compatible with UBIK Mobile client 5.1. Please refer to [[HowTo:Convert_Xamarin_XAMLs_to_Maui]] for migrating them to the new client.}}&lt;br /&gt;
&lt;br /&gt;
{{Attention|UBIK 5 clients can only connect to {{UBIK}} Servers of [[Version 3.6(Server)|version 3.6]] and higher!}}&lt;br /&gt;
&lt;br /&gt;
{{Attention|The minimum supported OS versions are:&lt;br /&gt;
* Android 9;&lt;br /&gt;
* iOS 12.}}&lt;br /&gt;
&lt;br /&gt;
== Availability ==&lt;br /&gt;
{{key press|Android: Store}}{{key press|iOS: Store}}: Publicly available in Google Play Store / Apple App Store.&lt;br /&gt;
&lt;br /&gt;
{{key press|Android: Store Beta}}: Publicly available in Google Play Store as beta versions. You can opt in or out of the beta at any time in the store.&lt;br /&gt;
&lt;br /&gt;
{{key press|Android: Store Preview}}: Available through Google Play Store's [https://play.google.com/store/apps/details?id=com.augmensys.ubik.go invitation link].&lt;br /&gt;
&lt;br /&gt;
{{key press|iOS: Store Beta}}: Available through Apple App Store's [https://testflight.apple.com/join/Kmb1HG9E invitation link].&lt;br /&gt;
&lt;br /&gt;
{{key press|iOS: Store Preview}}: Available through Apple App Store's [https://testflight.apple.com/join/yHRnbYbt invitation link].&lt;br /&gt;
&lt;br /&gt;
{{key press|Windows: Store Preview}}: The mobile Windows client is not an official product and is only distributed as test versions upon request and/or in our [https://release.augmensys.com/download/modules/client/mobile/ release portal].&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Attention|Some customized XAMLs might need an update to work properly. These changes are marked with a ⚠️}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Release ==&lt;br /&gt;
=== 5.1.?? 2026-??-?? {{key press|Android: Store}}{{key press|iOS: Store}} ===&lt;br /&gt;
* New features and enhancements in MRO.&lt;br /&gt;
** {{UBIK}} now supports defining [[MRO_Objects_(Client)#Procedure_Tasks|branching logic in procedure work packages]].&lt;br /&gt;
** {{UBIK}} now supports [[MRO_Objects_(Client)#Procedure_Tasks|calculation tasks which evaluate predefined expressions]].&lt;br /&gt;
** {{UBIK}} now supports [[MRO_Objects_%28Client%29#Pick_List_Task|MRO Pick List Tasks]] configured with an [[Active_List_Client|Active List]].&lt;br /&gt;
** Added  [[MRO_Objects_(Client)#Numeric_Task|Numeric Tasks]] to record numeric values that are checked against an acceptable value range.&lt;br /&gt;
** Introduced a new [[MRO_Objects_(Client)#Picture_Task|picture task]] type which can only be finished when there's at least one valid child document.&lt;br /&gt;
** [[MRO_Objects_(Client)#Signature_Task|MRO Signature Tasks]] have been introduced, which automatically displays the signee as well as the validation timestamp after the task has been signed.&lt;br /&gt;
* UBIK now supports [[Traits]] which are more flexible when it comes to server side configuration and maintenance.&lt;br /&gt;
* The system flashlight can now also be enabled or disabled via XAML customization. For detailed information, see [[Mobile XAML#Flashlight|Flashlight]]&lt;br /&gt;
* Replaced app closing after repeated failed login attempts with a client-side temporary login block, including user feedback that indicates when login becomes available again.&lt;br /&gt;
* Added French localization to the app.&lt;br /&gt;
* Fixed an issue where changes in property editing were not discarded when using the default Back button.&lt;br /&gt;
* Fixed an issue where the application crashed on Windows when navigating back from the VideoPlayer.&lt;br /&gt;
* Icon set Addition 8: Added Show/Hide, AI, Info, and various Procedure icons.&lt;br /&gt;
* Fixed an issue where the [[Object_hierarchy_in_XAML:_NextLevel,_ParentLevel,_LinkedLevel#LoadNextLevelCommand|LoadNextLevelCommand]] did not work under specific conditions (invoked in offline and then in online mode).&lt;br /&gt;
* Fixed an issue where [[SYSCLS_CHILDINFOOWNER|child count]] indicators did not update when you delete its child objects which only exist locally.&lt;br /&gt;
* Fixed an issue where MRO task items displayed an incorrect DataTemplate after scrolling within a list.&lt;br /&gt;
* Fixed an issue where the client could fail at large file uploads (or even crash) due to device running out of memory.&lt;br /&gt;
* Fixed an issue where line breaks (in strings property values) from Windows are not recognized as such on other systems. The standard UI is not yet redesigned to show multi-line texts, though. But you can do so in customizing if necessary.&lt;br /&gt;
* Fixed the UI of some templates that weren't displayed correctly in Multi Select Mode.&lt;br /&gt;
* Fixed an issue where the status color was reflected as background color of an POI item.&lt;br /&gt;
* Fixed an issue where it was not possible to do a alternative import of a .profile file on iOS &amp;amp; Android.&lt;br /&gt;
* Fixed an issue where it was possible some list items were not updated correctly when e.g. you scroll through the list&lt;br /&gt;
* Fixed an issue where setting the SelectedIndex of a UBIKTabView leads to a crash.&lt;br /&gt;
* Fixed an issue where [[XAML_Tips#InvokeOnItemsCommand|BulkOperation.InvokeOnItemsCommand]] was not always applied to all items in the collection.&lt;br /&gt;
* Fixed an issue where the app sometimes redirects to the login page on certain Android devices. For example, when the device rotates or a physical keyboard is attached.&lt;br /&gt;
* Fixed an issue where the task value editing field is unlimited in space and covers everything else.&lt;br /&gt;
* Fixed an issue where filtering was not possible in query popups.&lt;br /&gt;
* Fixed an issue where it was not possible to set N/A via editors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 5.1.30 2026-03-02 {{key press|Android: Store}}{{key press|iOS: Store}} ===&lt;br /&gt;
* Fixed an issue that prevented any documents from being uploaded when connecting to 5.1 webservices.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 5.1.29 on 2026-02-26 {{key press|Android: Store}}{{key press|iOS: Store}} ===&lt;br /&gt;
* Fixed an issue where the POI button was only visible under certain condition (ShowUnreleasedFeatures in the profile is set to true).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 5.1.28 on 2026-02-10 {{key press|Android: Store}}{{key press|iOS: Store}} ===&lt;br /&gt;
* The following features which existed in pre 5.0 versions are now available again in 5.1.&lt;br /&gt;
** [[Map_View|Map view]].&lt;br /&gt;
** [[POI_View_(Mobile)|POI view]]. (Aruco and OCR are not yet supported)&lt;br /&gt;
** Location service.&lt;br /&gt;
** [[Native_Push_(Client)|Native push]].&lt;br /&gt;
** [[Charts]].&lt;br /&gt;
* UBIK now uses industry-standard JSON Web Token (JWT) technology for authorization, enhancing security and reliability. Session tokens are transmitted via HTTP headers instead of URLs for improved protection.&lt;br /&gt;
* Added support for conditionally showing the ImageEditor Save button only when edits have been made, enabled when MergeAnnotationsOnSave is set to true.&lt;br /&gt;
* Complete UI overhaul introduces a cleaner, more modern and adaptive user interface with various quality of life improvements.&lt;br /&gt;
* UBIKTabView supports both dynamic and static items in combination with lazy loading.&lt;br /&gt;
* Files in the app's data folder can now be opened or deleted directly in the developer settings.&lt;br /&gt;
* Introduced a fully resource-driven UI theming system enabling fast, safe customization (dark mode, resizing, and consistent styling) by adapting a small set of centralized resources.&lt;br /&gt;
* Added support for [[File_Upload_Size_Restriction|configurable file-upload size restrictions]], preventing oversized files from being uploaded and providing users with feedback when limits are exceeded.&lt;br /&gt;
* Fixed an issue where annotated image documents do not appear as changed until the UI refreshes.&lt;br /&gt;
* Fixed an issue where displayed file content does not update after you revert its changes.&lt;br /&gt;
* Fixed an issue where remembered scroll positions were lost when the ItemsSource property of an SfListViewExt changed (e.g., Properties.ShowAllProperties).&lt;br /&gt;
* The UI now updates correctly after mass deletion in multi-selection mode.&lt;br /&gt;
* Fixed issue that caused app to be stuck on splash screen after resuming from background.&lt;br /&gt;
* Fixed an issue where StatusColor was not shown in the UI for objects that didn't additionally have a Progress.&lt;br /&gt;
* Fixed an issue where the Chart Thresholds didn't update.&lt;br /&gt;
* Fixed an issue that caused content of the custom ContentControl to not be rendered sometimes.&lt;br /&gt;
* (Android) Fixed an issue in the WebView where some links could not be opened.&lt;br /&gt;
* Fixed an issue where toggling NA in the String Editor did not behave correctly.&lt;br /&gt;
* Fixed an issue where the deletion of some objects was not reflected in the UI until refresh.&lt;br /&gt;
* Fixed an issue where document creation might not be properly enabled in certain customizing scenarios. For example, a media creation button might be disabled until a page refresh.&lt;br /&gt;
* Fixed an issue where batch creating documents (by multi selecting files to attach) can be interrupted if you leave the page.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 5.1 (Mobile)]]&lt;br /&gt;
[[Category:Mobile|Version 5.1 (Mobile)]]&lt;br /&gt;
[[Category:Version 5.1|Version 5.1 (Mobile)]]&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* Due to third-party limitations, the feature that shows the ImageEditor Save button only when edits have been made is only active when MergeAnnotationsOnSave is set to true. In Mobile, deleting the last annotation does not correctly update the editor's internal edit state. As a result, the Save button may remain visible even though no edits exist.&lt;br /&gt;
* When changing the device orientation during attaching a photo on iOS, the app gets stuck. This is an issue Microsoft confirmed in .NET9 and will fix in .NET10.&lt;br /&gt;
* When editing Guid Link properties, you can no longer further edit the filtering if there are predefined filter parameters (such as the [[Dynamic_Selective_List_(Client)#Dependency_property_values|dependency property values in dynamic selective lists]]). This is because those parameters are to be enforced by design and should not be changed by users. In the future, we might consider a finer level of control over which parameters can be edited in such cases.&lt;br /&gt;
* Currently, the Samsung keyboard doesn't show {{key press|,}} at all, regardless of the current language/locale setting of the device. Please use a different virtual keyboard (e.g. Gboard from Google) instead if {{key press|.}} is unacceptable.&lt;br /&gt;
* The periodic execution of background pushes is not guaranteed on iOS (the native push feature doesn't have this issue).&lt;br /&gt;
* There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* It is currently not possible to select which camera to use for AR views (e.g. scan page) on Windows.&lt;br /&gt;
* SfPullToRefresh was removed due to [[Mobile_XAML#Issues_with_SfPullToRefresh_in_Mobile_client|existing issues]], and replaced with a Refresh option in the Context menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= ⚠️ XAML Notes =&lt;br /&gt;
* Due to the change of the underlying XAML technology, the existing XAMLs for the old mobile clients (pre 5.0) are no longer compatible. Please refer to [[HowTo:Convert_Xamarin_XAMLs_to_Maui]] for migrating them to the new client.&lt;br /&gt;
* There are some XAML changes necessary when using the new [[Active_List_Client|Active List]] feature, or when using the new [[MRO_Objects_%28Client%29#Pick_List_Task|MRO Pick List Task]]. These XAML changes are explained [[Active_List_Client#XAML|here]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 5.1 (Mobile)]]&lt;br /&gt;
[[Category:Mobile|Version 5.1 (Mobile)]]&lt;br /&gt;
[[Category:Version 5.1|Version 5.1 (Mobile)]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=MRO_Objects_(Client)&amp;diff=29880</id>
		<title>MRO Objects (Client)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=MRO_Objects_(Client)&amp;diff=29880"/>
				<updated>2026-05-11T13:00:05Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* Organisational Status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:MRO_WinX.png|thumb|alt=MRO Child List UI (WinX)|MRO UI (WinX)]]&lt;br /&gt;
[[File:MRO_MAUI1.jpeg|thumb|alt=MRO Child List UI (Android)|MRO UI (Android)]]&lt;br /&gt;
The WinX client UI displays MRO configured objects like any other root- or child-object enriched by some additional logic and features.&lt;br /&gt;
&lt;br /&gt;
== Basic User Interface ==&lt;br /&gt;
The representation of MRO features comprises some indicators and interactive controls. In the {{UBIK}} child list, the main object displays cumulated technical and organisational status as well as the overall work progress based on the underlying data branch. Objects classified as MRO objects in general provide indicators for the MRO status. This means the status is shown next to the main icon of a child-/details-/documents-page as well as next to the icons of the child list items:&lt;br /&gt;
&lt;br /&gt;
=== Technical Status ===&lt;br /&gt;
&lt;br /&gt;
The technical status indicator is shown on all objects that represent a technical state or receive the technical status from subsequent objects in the underlying data branch. If e.g. a inventory object is reported as damaged, its parent objects will all display the exclamation mark symbol to indicate that a problem was reported in the child items.&lt;br /&gt;
&lt;br /&gt;
[[File:TechStats_WinX.png|100px|Technical Status Indicator (Winx &amp;amp; Mobile)]]&lt;br /&gt;
&lt;br /&gt;
=== Organisational Status ===&lt;br /&gt;
The organisational status indicates the amount of confirmed work within the data branch, including already confirmed work packages as well as tasks that are locked by their owning work package. The organisational status indicator is displayed on all objects that represent an organisational state or receive the organisational status from subsequent objects in the underlying data branch, and visualizes the amount of confirmed work performed within that branch.&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:OrgaStatusIndicatorWinX.PNG|Organisational Status Indicator (WinX)&lt;br /&gt;
File:ConfirmedWP_WinX.png|MRO Workpackage Confirmed (Flag) Indicator (WinX)&lt;br /&gt;
File:ConfirmedWP_MAUI.jpeg|MRO Workpackage Confirmed Indicator (Mobile)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Android|MRO Objects (UBIK WinX)]]&lt;br /&gt;
[[Category:Client|MRO Objects (Client)]]&lt;br /&gt;
[[Category:Mobile|MRO Objects (Client)]]&lt;br /&gt;
[[Category:Pages with broken file links|MRO Objects (Client)]]&lt;br /&gt;
[[Category:WinX|MRO Objects (UBIK WinX)]]&lt;br /&gt;
&lt;br /&gt;
=== Work Progress ===&lt;br /&gt;
The work progress is calculated from the current work progress and from the progress cumulated from subsequent objects in the underlying data branch. This indicator shows the amount of work done in the data branch.&lt;br /&gt;
&lt;br /&gt;
{{Version/WinXSince|5.0}} {{Version/MobileSince|5.0}} By default, the progress is displayed with maximum one decimal place. For example, 99.75% is displayed as 99.8%. The format string used to achieve this is &amp;lt;code&amp;gt;{0:0.#}%&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If other numeric formats are preferred in your usecases, you can refer to [https://learn.microsoft.com/en-us/dotnet/standard/base-types/custom-numeric-format-strings custom numeric format strings] for more information. The template to customize for this is the UBIKMROProgressBadge within UBIKThemes.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRO Objects ==&lt;br /&gt;
A set of specific objects can be used to provide the required structure for MRO:&lt;br /&gt;
&lt;br /&gt;
=== Task Owner ===&lt;br /&gt;
A [[MROCLS_MRO_TASKOWNER|Task Owner]] is an object having a substructure of jobs to be done. It can have a tree of other task owners or work packages underneath that will update the status of the task owner. This status consists of technical, organisational and progress information. With a task owner a user can get an overview of all the work to be done in the underlying job structure.&lt;br /&gt;
&lt;br /&gt;
=== Work Package===&lt;br /&gt;
A [[MROCLS_MRO_WORKPACKAGE|Work Package]] is a collection of objects to collect and summarize other task owning objects, workpackages, or tasks. A simple workpackage has a certain amount of tasks that have to be finished in order to confirm the workpackage as done. More complex workpackages can also own other underlying workpackages that have to be confirmed.  Confirming a workpackage itself requires a progress of 100% of all related tasks, as well as 100% confirmed sub work packages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:ConfirmingWP_WinX.png|MRO Workpackage confirm button (WinX)&lt;br /&gt;
File:MRORevoke_WinX.png|MRO Workpackage revoke confirmation button (WinX)&lt;br /&gt;
File:ConfirmingWP_MAUI.jpeg|MRO Workpackage confirm button (Android)&lt;br /&gt;
File:MRORevoke_MAUI.jpeg|MRO Workpackage revoke confirmation button (Android)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Task ===&lt;br /&gt;
A [[MROCLS_MRO_TASK|Task]] is an object reporting a certain progress to the owning workpackage. There are several specialized types of task objects. All kinds of tasks have a property called '''VALUE''' in common. It is very important, that this property is able to be validated. Therefore, a MetaAttribute (providing a validation timestamp by default) has to be attached on the used MetaProperty.&lt;br /&gt;
&lt;br /&gt;
On both clients, a Task can be reverted by clicking twice on the Not Applicable button.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Attention|The MetaProperty ''VALUE'' has to use [[Attributes]] in order to be validated. Otherwise, the calculation of work progress will not be possible.}}&lt;br /&gt;
&lt;br /&gt;
==== Measurement Task ====&lt;br /&gt;
&lt;br /&gt;
A [[MROCLS_MRO_MEASUREMENT_TASK|Measurement Task]] inherits from [[MROCLS_MRO_TASK|Task]] and documents a measured value (e.g. read from a pressure gauge). Therefore, clicking the value on the shown task opens an editor to enter the desired value. If no value was entered before, an empty line will be shown. Once a value has been entered, the task is finished. Alternatively, the task can also be closed by the option ''Not Applicable'' to document the situation of not being able to fullfill the measurement (e.g. the pressure gauge is broken). An additional small value indicator below the main value can report e.g. the previously entered value. The behaviour of this previous value indicator has to be specified separately in the customizing.&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=497px heights=69px&amp;gt;&lt;br /&gt;
File:Measurment Task Empty UWP.png|Measurement Task without a reported value (WinX)&lt;br /&gt;
File:Measurment Task Not Empty UWP.png|Measurement Task with a reported value (WinX)&lt;br /&gt;
File:Measurment Task Empty Android.jpg|Measurement Task without a reported value (Android)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Progress Task ====&lt;br /&gt;
&lt;br /&gt;
[[MROCLS_MRO_PROGRESS_TASK| Progress Task]] inherits from [[MROCLS_MRO_MEASUREMENT_TASK|Task]] and reports a certain progress while fullfilling a task. The progress will influence the overall progress of the owning workpackage. If the task cannot be fullfilled, it can also be finished with the option ''Not Applicable''.&lt;br /&gt;
&lt;br /&gt;
There is also an [[MRO_PROGRESS_TASK_EDITOR|alternative editor]] available for progress tasks.{{Version/WinXSince|2.5.4}}&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=497px heights=69px&amp;gt;&lt;br /&gt;
File:Progress Task UWP.png|Progress Task with a reported work progress (WinX)&lt;br /&gt;
File:Progress Task Android.jpg|Progress Task with a reported work progress and a previous progress(Android)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Check Task ====&lt;br /&gt;
&lt;br /&gt;
A [[MROCLS_MRO_CHECK_TASK|Check Task]] inherits from [[MROCLS_MRO_TASK|Task]] and is finished by reporting ''Done'' or ''Not Applicable''. This is intended for a simple To-Do task that is either done or not.&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=497px heights=69px&amp;gt;&lt;br /&gt;
File:Check Task finished UWP.png|Unfinished MRO CheckTask (WinX)&lt;br /&gt;
File:Check Task android.jpg|Not Applicable MRO CheckTask (Android)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Inspection Task ====&lt;br /&gt;
&lt;br /&gt;
[[MROCLS_MRO_INSPECTION_TASK|Inspection Task]] inherits from [[MROCLS_MRO_TASK|Task]] and is finished, when the user reports with a positive or negative answer or ''Not Applicable'' (e.g. reporting a yes/no answer for existing equipment).&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=497px heights=69px&amp;gt;&lt;br /&gt;
File:Finished Inspection Task UWP.png|Finished MRO InspectionTask (WinX)&lt;br /&gt;
File:Inspection task android.jpg|Finished MRO InspectionTask (Android)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sequential Task ====&lt;br /&gt;
The [[MROCLS_SEQUENTIALTASK|sequential task classification]] allows you to pre-define a sequence in which tasks are to be resolved by users. This means that it is required for one or multiple tasks to be finished in order for other tasks to become &amp;quot;unlocked&amp;quot; and editable. A task can have any number of &amp;quot;predecessors&amp;quot;. Predecessors are the tasks that are required to be finished first.&lt;br /&gt;
&lt;br /&gt;
A task can have predecessors that live anywhere else in the object hierarchy. It is not necessary for a task and its predecessors to be part of the same work package, even though this is likely the most common use case.&lt;br /&gt;
&lt;br /&gt;
The state of a sequential task is evaluated both offline and online to get the best possible user experience. The user will see dependent tasks update immediately if their successors were finished, if those tasks are currently visible in the UI. There is 1 case in which the server-side state will override the client-side (offline) evaluation, discussed below.&lt;br /&gt;
The state of each sequential task is evaluated the following way:&lt;br /&gt;
&lt;br /&gt;
# If the server-side state says the task is open, we consider this as the truthful state and don't do any other evaluation.&lt;br /&gt;
# Check if the task has any predecessors.&lt;br /&gt;
# Try to load each predecessor task.&lt;br /&gt;
#* If loading of any predecessor fails (the object is not available offline), the task will be locked.&lt;br /&gt;
# If all predecessor tasks are finished, the task is open and can be edited. Otherwise, the task is locked.&lt;br /&gt;
&lt;br /&gt;
The customizer setting up the task dependency relations needs to ensure that the dependencies are not cyclical. In this case, it would be impossible for any tasks in the &amp;quot;cycle&amp;quot; to be finished.&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
&lt;br /&gt;
As a demonstration of this feature, see [[Media:Sequential_tasks_winx.mp4|this video]]. The relations between tasks are defined as in [[Media:Task_relations.png|this image]], starting at A1 and A2, which are not dependent on any other tasks. The lines (from left to right) indicate dependencies. This means that B2 has tasks A1 and A2 as its predecessors, for example.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Grouped Task {{Version/WinXSince|4.2}}{{Version/XamarinSince|4.2}} ====&lt;br /&gt;
Sometimes, not all tasks have to be finished. More specifically, there might be a predefined condition where you only need to finish a certain number of tasks among a group of them. These are known in {{UBIK}} as [[MROCLS_GROUPEDTASK|grouped tasks]].&lt;br /&gt;
&lt;br /&gt;
The idea is, a group of tasks can be defined as siblings to each other and they also share the same server configured threshold. When the number of finished tasks among that group exceeds the threshold, the entire group is considered as no longer necessary. When reflected in the overall status of the task owner(s), these tasks would appear as if they are finished.&lt;br /&gt;
&lt;br /&gt;
{{Hint|Technically speaking, the finished status is completely independent from the not necessary status on a task. A grouped task which is no longer necessary can be both finished or not yet finished. In other words, users don't have to finish a not necessary grouped task, but they still can.}}&lt;br /&gt;
&lt;br /&gt;
{{Hint|The precise status calculation for grouped tasks and their task owners requires the knowledge of all siblings tasks. Imagine 2 out of 3 tasks must be finished but the client only knows 1 in total and the others are only available at the server at that time. This makes it impossible to draw conclusions whether the task(s) should be necessary or not. Under such circumstances, the local status calculation is done as if these are just regular tasks.}}&lt;br /&gt;
&lt;br /&gt;
{{Hint|Like with the other MRO objects, the client always chooses the best available statuses for grouped tasks to present to the users. More specifically, it uses the statuses calculated by the server when the client is not offline and there are no uncommitted local changes on the involved objects. Otherwise, it uses the statuses calculated locally to the best of its knowledge.}}&lt;br /&gt;
&lt;br /&gt;
A task can also be a grouped and a sequential one at the same time. In such a case, the grouped nature of the sibling tasks will affect the way the task sequence completes.&lt;br /&gt;
&lt;br /&gt;
For example, task A1, A2 and A3 are 3 grouped sibling tasks and only 1 of them needs to be finished. At the same time, they are all predecessors of task B. Normally, all predecessors must be finished (and locked) before task B becomes the next one in the sequence and therefore unlocked. In this case, however, as soon as one of the predecessors is finished, all three become unnecessary (and locked) and task B unlocks as a result of that.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Supervisor Task {{Version/XamarinSince|4.8}} ====&lt;br /&gt;
As the name suggests, supervisor tasks are those that must be finished under supervision. When users want to finish a [[MROCLS_MRO_SUPERVISOR_TASK|supervisor task]], they must hand over their work devices to a supervisor. The latter checks the work status and scans an NFC tag if the work is approved. If the [[MROCLS_MRO_SUPERVISOR|supervisor]] has sufficient permissions for the task and the correct supervisor PIN is given, the task gets unlocked and the users can proceed to finish it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=300px heights=300px&amp;gt;&lt;br /&gt;
File:UI_Xamarin_Supervisor_Task_Before_Verification.jpg|Supervisor Task Before Verification/Unlocking (Mobile)&lt;br /&gt;
File:UI_Xamarin_Supervisor_Task_Enter_PIN.jpg|Supervisor Task Enter PIN (Mobile)&lt;br /&gt;
File:UI_Xamarin_Supervisor_Task_After_Verification.jpg|Supervisor Task After Verification/Unlocking (Mobile)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A thing to note is that while the need to verify a supervisor task can be seen as a type of locking, it's certainly not the only reason for a [[Locked_Objects|locked object]]. This means a supervisor task can remain locked (although for different reasons) even after a supervisor has successfully verified it. This can often be the case if you use it in combination with other features such as [[MRO_Objects_(Client)#Sequential_Task|sequential tasks]], [[User_Rights|user rights]].&lt;br /&gt;
&lt;br /&gt;
{{Hint|For security reasons, the verification process is cancelled if the supervisor enters the wrong PIN for three times. Scanning the tag again is required in that case.}}&lt;br /&gt;
{{Hint|A setting controls [[RFID_tags#Choose_which_information_to_use_from_a_tag|which information in a scanned tag is used]] during this process.}}&lt;br /&gt;
&lt;br /&gt;
==== Signature Task {{Version/MobileSince|5.1}}{{Version/WinXSince|5.1}} ====&lt;br /&gt;
&lt;br /&gt;
The Signature Task is a task type that is completed by capturing a handwritten signature from the user. The task contains an editor field that serves as the entry point for the signing process. When the user clicks (or taps) on the editor field, a signature dialog opens. Within this dialog, the user can provide their signature. After confirming the input, the signature is saved and the task is automatically marked as completed.&lt;br /&gt;
&lt;br /&gt;
If the task is signed while the client is online:&lt;br /&gt;
* The User (signee) is resolved immediately by the server and displayed.&lt;br /&gt;
* The ValidationTimestamp is generated and displayed.&lt;br /&gt;
* Both values are shown directly in the editor field after signing.&lt;br /&gt;
&lt;br /&gt;
{{Hint|The User only gets resolved by the server and displayed once you're in online mode}}&lt;br /&gt;
&lt;br /&gt;
If the displayed User and/or ValidationTimestamp cannot be fully shown due to limited space in the editor field, the complete information can be accessed via a Popup.&lt;br /&gt;
To show the Popup displaying the full User and ValidationTimestamp without truncation, click on the editor field.&lt;br /&gt;
&lt;br /&gt;
[[Category:Android|MRO Objects (UBIK WinX)]]&lt;br /&gt;
[[Category:Client|MRO Objects (Client)]]&lt;br /&gt;
[[Category:Mobile|MRO Objects (Client)]]&lt;br /&gt;
[[Category:Pages with broken file links|MRO Objects (Client)]]&lt;br /&gt;
[[Category:WinX|MRO Objects (UBIK WinX)]]&lt;br /&gt;
&lt;br /&gt;
==== Picture Task {{Version/MobileSince|5.1}}{{Version/WinXSince|5.1}} ====&lt;br /&gt;
&lt;br /&gt;
A [[MROCLS_PICTURE_TASK|picture task]] is a check task which can only be finished when it has at least one child document containing a valid file. In the UI, an additional photo button is presented next to the check so users can easily take photos before finishing the tasks.&lt;br /&gt;
* As any other objects, picture tasks can carry and display [[SYSCLS_CHILDINFOOWNER|child count information]]. But that is not a mandatory part of the feature. Even when it's not configured and not visible in the UI, you can still finish the tasks.&lt;br /&gt;
* In WinX/UWP, the UI also presents an expander which allows you to display the child documents of picture tasks. This is not present by default in the Mobile app due to the screen size limit but [[Object_hierarchy_in_XAML:_NextLevel,_ParentLevel,_LinkedLevel#Show_NextLevel_Children.2FDocuments|can be easily customized]].&lt;br /&gt;
&lt;br /&gt;
{{Hint|The task is named as such because pictures are the most commonly used types, but the child documents can be of other types as well. }}&lt;br /&gt;
&lt;br /&gt;
When a user tries to finish a picture task by tapping the check, the app might perform some data synchronization first if in online mode, which includes&lt;br /&gt;
* Syncing the child objects (including documents) of the task.&lt;br /&gt;
* Downloading the file(s) of the child documents.&lt;br /&gt;
During data synchronization, the check button on that task turns into a wait indicator. Afterwards, the app checks if the prerequisites to finish the task are met.&lt;br /&gt;
* If there are no child documents or no local files for the child documents, the task remains unfinished and the user gets informed about the reasons.&lt;br /&gt;
* Otherwise, the task gets finished and the photo button gets disabled.&lt;br /&gt;
&lt;br /&gt;
{{Hint|Setting NA (not applicable) on a picture task is always possible, regardless of the condition of child documents.}}&lt;br /&gt;
&lt;br /&gt;
==== Numeric Task {{Version/MobileSince|5.1}}{{Version/WinXSince|5.1}} ====&lt;br /&gt;
&lt;br /&gt;
A [[MROCLS_MRO_NUMERIC_TASK|numeric task]] is a task which records a double value (e.g. from a temperature sensor). Entering the value (including Not Applicable) completes the task.&lt;br /&gt;
* The value is compared against an accaptable value range which is not editable on the client.&lt;br /&gt;
* Deviation from this range results in visual feedback as well as the [[#Tech Status|tech status]] being set to display an issue.&lt;br /&gt;
* If the configured value range is invalid (e.g. min &amp;gt; max) and the user enters a value, the [[#Tech Status|tech status]] will also be set to display an issue.&lt;br /&gt;
* A numeric task also has a special value unit that can be set per task instance. If set, it overrides the standard value unit defined on the [[MetaProperty#Unit_Item|MetaProperty]].&lt;br /&gt;
&lt;br /&gt;
==== Pick List Task {{Version/MobileSince|5.1}}{{Version/WinXSince|5.1}} ====&lt;br /&gt;
&lt;br /&gt;
A [[MROCLS_PICK_LIST_TASK|Pick List task]] looks and behaves the same like a standard Integer Task with SelectiveList. Other than the standard Integer Task, the Pick List Task has an [[UBIK_Active_Lists|Active List]] defined on instance level to pick from for its value property. The task counts as finished as soon as a list item has been selected, or when pressing ''Not Applicable''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{DeprecatedStartTag|parameter=Please refer to [[Main_Page]] for the most recent information.}}&lt;br /&gt;
=== MRO objects with project information (WinX only) {{Version/WinXSince|2.5.4}} ===&lt;br /&gt;
[[File:UI_WinX_MRO_ProjectInfo.png|thumb|MRO Object with Project Info (WinX)]]&lt;br /&gt;
An MRO object (except tasks) might also bring along [[MROCLS_PROJECTINFORMATION|project information]]. In this case, the project information together with the MRO progress are displayed in a bar chart. The start &amp;amp; end dates of the MRO object are displayed on the progress bar. The length and the position of the progress bar, together with the current date mark indicate the timeline.&lt;br /&gt;
{{Clear}}&lt;br /&gt;
{{DeprecatedEndTag}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Android|MRO Objects (UBIK WinX)]]&lt;br /&gt;
[[Category:Client|MRO Objects (Client)]]&lt;br /&gt;
[[Category:Mobile|MRO Objects (Client)]]&lt;br /&gt;
[[Category:Pages with broken file links|MRO Objects (Client)]]&lt;br /&gt;
[[Category:WinX|MRO Objects (UBIK WinX)]]&lt;br /&gt;
&lt;br /&gt;
== Locking ==&lt;br /&gt;
When an (MRO) object is locked, editing it becomes impossible. More details about [[Locked_Objects|locked objects]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[MRO (Plugin)]]&lt;br /&gt;
* [[MROCLS_PROJECT]]&lt;br /&gt;
* [[MROCLS_PROJECTINFORMATION]]&lt;br /&gt;
* [[MROCLS_SEQUENTIALTASK]]&lt;br /&gt;
* [[MROCLS_GROUPEDTASK]]&lt;br /&gt;
* [[MROCLS_MRO_CHECK_TASK]]&lt;br /&gt;
* [[MROCLS_MRO_INSPECTION_TASK]]&lt;br /&gt;
* [[MROCLS_MRO_MEASUREMENT_TASK]]&lt;br /&gt;
* [[MROCLS_MRO_PROGRESS_TASK]]&lt;br /&gt;
* [[MROCLS_MRO_TASK]]&lt;br /&gt;
* [[MROCLS_MRO_TASKOWNER]]&lt;br /&gt;
* [[MROCLS_MRO_WORKPACKAGE]]&lt;br /&gt;
* [[MROCLS_PROCEDURE#Procedure Workpackage]] (Classification)&lt;br /&gt;
* [[MROCLS_SWITCH_TASK#Switch Task]] (Classification)&lt;br /&gt;
* [[MROCLS_SWITCH_END_TASK#Switch End Task]] (Classification)&lt;br /&gt;
* [[MROCLS_CALCULATION_TASK#Calculation Task]] (Classification)&lt;br /&gt;
* [[MROCLS_PICK_LIST_TASK]] (Classification)&lt;br /&gt;
&lt;br /&gt;
[[Category:Android|MRO Objects (UBIK WinX)]]&lt;br /&gt;
[[Category:Client|MRO Objects (Client)]]&lt;br /&gt;
[[Category:Mobile|MRO Objects (Client)]]&lt;br /&gt;
[[Category:Pages with broken file links|MRO Objects (Client)]]&lt;br /&gt;
[[Category:WinX|MRO Objects (UBIK WinX)]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=MRO_Objects_(Client)&amp;diff=29879</id>
		<title>MRO Objects (Client)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=MRO_Objects_(Client)&amp;diff=29879"/>
				<updated>2026-05-11T12:58:42Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* MRO objects with project information (WinX only) {{Version/WinXSince|2.5.4}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:MRO_WinX.png|thumb|alt=MRO Child List UI (WinX)|MRO UI (WinX)]]&lt;br /&gt;
[[File:MRO_MAUI1.jpeg|thumb|alt=MRO Child List UI (Android)|MRO UI (Android)]]&lt;br /&gt;
The WinX client UI displays MRO configured objects like any other root- or child-object enriched by some additional logic and features.&lt;br /&gt;
&lt;br /&gt;
== Basic User Interface ==&lt;br /&gt;
The representation of MRO features comprises some indicators and interactive controls. In the {{UBIK}} child list, the main object displays cumulated technical and organisational status as well as the overall work progress based on the underlying data branch. Objects classified as MRO objects in general provide indicators for the MRO status. This means the status is shown next to the main icon of a child-/details-/documents-page as well as next to the icons of the child list items:&lt;br /&gt;
&lt;br /&gt;
=== Technical Status ===&lt;br /&gt;
&lt;br /&gt;
The technical status indicator is shown on all objects that represent a technical state or receive the technical status from subsequent objects in the underlying data branch. If e.g. a inventory object is reported as damaged, its parent objects will all display the exclamation mark symbol to indicate that a problem was reported in the child items.&lt;br /&gt;
&lt;br /&gt;
[[File:TechStats_WinX.png|100px|Technical Status Indicator (Winx &amp;amp; Mobile)]]&lt;br /&gt;
&lt;br /&gt;
=== Organisational Status ===&lt;br /&gt;
The organisational status indicates the amount of confirmed work within the data branch, including already confirmed work packages as well as tasks that are locked by their owning work package. The organisational status indicator is displayed on all objects that represent an organisational state or receive the organisational status from subsequent objects in the underlying data branch, and visualizes the amount of confirmed work performed within that branch.&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:OrgaStatusIndicatorWinX.PNG|Organisational Status Indicator (WinX)&lt;br /&gt;
File:ConfirmedWP_WinX.png|MRO Workpackage Confirmed (Flag) Indicator (WinX)&lt;br /&gt;
File:Android_orga_status.PNG|Organisational Status Indicator (Android)&lt;br /&gt;
File:ConfirmedWP_MAUI.jpeg|MRO Workpackage Confirmed Indicator (Mobile)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Android|MRO Objects (UBIK WinX)]]&lt;br /&gt;
[[Category:Client|MRO Objects (Client)]]&lt;br /&gt;
[[Category:Mobile|MRO Objects (Client)]]&lt;br /&gt;
[[Category:Pages with broken file links|MRO Objects (Client)]]&lt;br /&gt;
[[Category:WinX|MRO Objects (UBIK WinX)]]&lt;br /&gt;
&lt;br /&gt;
=== Work Progress ===&lt;br /&gt;
The work progress is calculated from the current work progress and from the progress cumulated from subsequent objects in the underlying data branch. This indicator shows the amount of work done in the data branch.&lt;br /&gt;
&lt;br /&gt;
{{Version/WinXSince|5.0}} {{Version/MobileSince|5.0}} By default, the progress is displayed with maximum one decimal place. For example, 99.75% is displayed as 99.8%. The format string used to achieve this is &amp;lt;code&amp;gt;{0:0.#}%&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If other numeric formats are preferred in your usecases, you can refer to [https://learn.microsoft.com/en-us/dotnet/standard/base-types/custom-numeric-format-strings custom numeric format strings] for more information. The template to customize for this is the UBIKMROProgressBadge within UBIKThemes.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRO Objects ==&lt;br /&gt;
A set of specific objects can be used to provide the required structure for MRO:&lt;br /&gt;
&lt;br /&gt;
=== Task Owner ===&lt;br /&gt;
A [[MROCLS_MRO_TASKOWNER|Task Owner]] is an object having a substructure of jobs to be done. It can have a tree of other task owners or work packages underneath that will update the status of the task owner. This status consists of technical, organisational and progress information. With a task owner a user can get an overview of all the work to be done in the underlying job structure.&lt;br /&gt;
&lt;br /&gt;
=== Work Package===&lt;br /&gt;
A [[MROCLS_MRO_WORKPACKAGE|Work Package]] is a collection of objects to collect and summarize other task owning objects, workpackages, or tasks. A simple workpackage has a certain amount of tasks that have to be finished in order to confirm the workpackage as done. More complex workpackages can also own other underlying workpackages that have to be confirmed.  Confirming a workpackage itself requires a progress of 100% of all related tasks, as well as 100% confirmed sub work packages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:ConfirmingWP_WinX.png|MRO Workpackage confirm button (WinX)&lt;br /&gt;
File:MRORevoke_WinX.png|MRO Workpackage revoke confirmation button (WinX)&lt;br /&gt;
File:ConfirmingWP_MAUI.jpeg|MRO Workpackage confirm button (Android)&lt;br /&gt;
File:MRORevoke_MAUI.jpeg|MRO Workpackage revoke confirmation button (Android)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Task ===&lt;br /&gt;
A [[MROCLS_MRO_TASK|Task]] is an object reporting a certain progress to the owning workpackage. There are several specialized types of task objects. All kinds of tasks have a property called '''VALUE''' in common. It is very important, that this property is able to be validated. Therefore, a MetaAttribute (providing a validation timestamp by default) has to be attached on the used MetaProperty.&lt;br /&gt;
&lt;br /&gt;
On both clients, a Task can be reverted by clicking twice on the Not Applicable button.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Attention|The MetaProperty ''VALUE'' has to use [[Attributes]] in order to be validated. Otherwise, the calculation of work progress will not be possible.}}&lt;br /&gt;
&lt;br /&gt;
==== Measurement Task ====&lt;br /&gt;
&lt;br /&gt;
A [[MROCLS_MRO_MEASUREMENT_TASK|Measurement Task]] inherits from [[MROCLS_MRO_TASK|Task]] and documents a measured value (e.g. read from a pressure gauge). Therefore, clicking the value on the shown task opens an editor to enter the desired value. If no value was entered before, an empty line will be shown. Once a value has been entered, the task is finished. Alternatively, the task can also be closed by the option ''Not Applicable'' to document the situation of not being able to fullfill the measurement (e.g. the pressure gauge is broken). An additional small value indicator below the main value can report e.g. the previously entered value. The behaviour of this previous value indicator has to be specified separately in the customizing.&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=497px heights=69px&amp;gt;&lt;br /&gt;
File:Measurment Task Empty UWP.png|Measurement Task without a reported value (WinX)&lt;br /&gt;
File:Measurment Task Not Empty UWP.png|Measurement Task with a reported value (WinX)&lt;br /&gt;
File:Measurment Task Empty Android.jpg|Measurement Task without a reported value (Android)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Progress Task ====&lt;br /&gt;
&lt;br /&gt;
[[MROCLS_MRO_PROGRESS_TASK| Progress Task]] inherits from [[MROCLS_MRO_MEASUREMENT_TASK|Task]] and reports a certain progress while fullfilling a task. The progress will influence the overall progress of the owning workpackage. If the task cannot be fullfilled, it can also be finished with the option ''Not Applicable''.&lt;br /&gt;
&lt;br /&gt;
There is also an [[MRO_PROGRESS_TASK_EDITOR|alternative editor]] available for progress tasks.{{Version/WinXSince|2.5.4}}&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=497px heights=69px&amp;gt;&lt;br /&gt;
File:Progress Task UWP.png|Progress Task with a reported work progress (WinX)&lt;br /&gt;
File:Progress Task Android.jpg|Progress Task with a reported work progress and a previous progress(Android)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Check Task ====&lt;br /&gt;
&lt;br /&gt;
A [[MROCLS_MRO_CHECK_TASK|Check Task]] inherits from [[MROCLS_MRO_TASK|Task]] and is finished by reporting ''Done'' or ''Not Applicable''. This is intended for a simple To-Do task that is either done or not.&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=497px heights=69px&amp;gt;&lt;br /&gt;
File:Check Task finished UWP.png|Unfinished MRO CheckTask (WinX)&lt;br /&gt;
File:Check Task android.jpg|Not Applicable MRO CheckTask (Android)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Inspection Task ====&lt;br /&gt;
&lt;br /&gt;
[[MROCLS_MRO_INSPECTION_TASK|Inspection Task]] inherits from [[MROCLS_MRO_TASK|Task]] and is finished, when the user reports with a positive or negative answer or ''Not Applicable'' (e.g. reporting a yes/no answer for existing equipment).&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=497px heights=69px&amp;gt;&lt;br /&gt;
File:Finished Inspection Task UWP.png|Finished MRO InspectionTask (WinX)&lt;br /&gt;
File:Inspection task android.jpg|Finished MRO InspectionTask (Android)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sequential Task ====&lt;br /&gt;
The [[MROCLS_SEQUENTIALTASK|sequential task classification]] allows you to pre-define a sequence in which tasks are to be resolved by users. This means that it is required for one or multiple tasks to be finished in order for other tasks to become &amp;quot;unlocked&amp;quot; and editable. A task can have any number of &amp;quot;predecessors&amp;quot;. Predecessors are the tasks that are required to be finished first.&lt;br /&gt;
&lt;br /&gt;
A task can have predecessors that live anywhere else in the object hierarchy. It is not necessary for a task and its predecessors to be part of the same work package, even though this is likely the most common use case.&lt;br /&gt;
&lt;br /&gt;
The state of a sequential task is evaluated both offline and online to get the best possible user experience. The user will see dependent tasks update immediately if their successors were finished, if those tasks are currently visible in the UI. There is 1 case in which the server-side state will override the client-side (offline) evaluation, discussed below.&lt;br /&gt;
The state of each sequential task is evaluated the following way:&lt;br /&gt;
&lt;br /&gt;
# If the server-side state says the task is open, we consider this as the truthful state and don't do any other evaluation.&lt;br /&gt;
# Check if the task has any predecessors.&lt;br /&gt;
# Try to load each predecessor task.&lt;br /&gt;
#* If loading of any predecessor fails (the object is not available offline), the task will be locked.&lt;br /&gt;
# If all predecessor tasks are finished, the task is open and can be edited. Otherwise, the task is locked.&lt;br /&gt;
&lt;br /&gt;
The customizer setting up the task dependency relations needs to ensure that the dependencies are not cyclical. In this case, it would be impossible for any tasks in the &amp;quot;cycle&amp;quot; to be finished.&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
&lt;br /&gt;
As a demonstration of this feature, see [[Media:Sequential_tasks_winx.mp4|this video]]. The relations between tasks are defined as in [[Media:Task_relations.png|this image]], starting at A1 and A2, which are not dependent on any other tasks. The lines (from left to right) indicate dependencies. This means that B2 has tasks A1 and A2 as its predecessors, for example.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Grouped Task {{Version/WinXSince|4.2}}{{Version/XamarinSince|4.2}} ====&lt;br /&gt;
Sometimes, not all tasks have to be finished. More specifically, there might be a predefined condition where you only need to finish a certain number of tasks among a group of them. These are known in {{UBIK}} as [[MROCLS_GROUPEDTASK|grouped tasks]].&lt;br /&gt;
&lt;br /&gt;
The idea is, a group of tasks can be defined as siblings to each other and they also share the same server configured threshold. When the number of finished tasks among that group exceeds the threshold, the entire group is considered as no longer necessary. When reflected in the overall status of the task owner(s), these tasks would appear as if they are finished.&lt;br /&gt;
&lt;br /&gt;
{{Hint|Technically speaking, the finished status is completely independent from the not necessary status on a task. A grouped task which is no longer necessary can be both finished or not yet finished. In other words, users don't have to finish a not necessary grouped task, but they still can.}}&lt;br /&gt;
&lt;br /&gt;
{{Hint|The precise status calculation for grouped tasks and their task owners requires the knowledge of all siblings tasks. Imagine 2 out of 3 tasks must be finished but the client only knows 1 in total and the others are only available at the server at that time. This makes it impossible to draw conclusions whether the task(s) should be necessary or not. Under such circumstances, the local status calculation is done as if these are just regular tasks.}}&lt;br /&gt;
&lt;br /&gt;
{{Hint|Like with the other MRO objects, the client always chooses the best available statuses for grouped tasks to present to the users. More specifically, it uses the statuses calculated by the server when the client is not offline and there are no uncommitted local changes on the involved objects. Otherwise, it uses the statuses calculated locally to the best of its knowledge.}}&lt;br /&gt;
&lt;br /&gt;
A task can also be a grouped and a sequential one at the same time. In such a case, the grouped nature of the sibling tasks will affect the way the task sequence completes.&lt;br /&gt;
&lt;br /&gt;
For example, task A1, A2 and A3 are 3 grouped sibling tasks and only 1 of them needs to be finished. At the same time, they are all predecessors of task B. Normally, all predecessors must be finished (and locked) before task B becomes the next one in the sequence and therefore unlocked. In this case, however, as soon as one of the predecessors is finished, all three become unnecessary (and locked) and task B unlocks as a result of that.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Supervisor Task {{Version/XamarinSince|4.8}} ====&lt;br /&gt;
As the name suggests, supervisor tasks are those that must be finished under supervision. When users want to finish a [[MROCLS_MRO_SUPERVISOR_TASK|supervisor task]], they must hand over their work devices to a supervisor. The latter checks the work status and scans an NFC tag if the work is approved. If the [[MROCLS_MRO_SUPERVISOR|supervisor]] has sufficient permissions for the task and the correct supervisor PIN is given, the task gets unlocked and the users can proceed to finish it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=300px heights=300px&amp;gt;&lt;br /&gt;
File:UI_Xamarin_Supervisor_Task_Before_Verification.jpg|Supervisor Task Before Verification/Unlocking (Mobile)&lt;br /&gt;
File:UI_Xamarin_Supervisor_Task_Enter_PIN.jpg|Supervisor Task Enter PIN (Mobile)&lt;br /&gt;
File:UI_Xamarin_Supervisor_Task_After_Verification.jpg|Supervisor Task After Verification/Unlocking (Mobile)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A thing to note is that while the need to verify a supervisor task can be seen as a type of locking, it's certainly not the only reason for a [[Locked_Objects|locked object]]. This means a supervisor task can remain locked (although for different reasons) even after a supervisor has successfully verified it. This can often be the case if you use it in combination with other features such as [[MRO_Objects_(Client)#Sequential_Task|sequential tasks]], [[User_Rights|user rights]].&lt;br /&gt;
&lt;br /&gt;
{{Hint|For security reasons, the verification process is cancelled if the supervisor enters the wrong PIN for three times. Scanning the tag again is required in that case.}}&lt;br /&gt;
{{Hint|A setting controls [[RFID_tags#Choose_which_information_to_use_from_a_tag|which information in a scanned tag is used]] during this process.}}&lt;br /&gt;
&lt;br /&gt;
==== Signature Task {{Version/MobileSince|5.1}}{{Version/WinXSince|5.1}} ====&lt;br /&gt;
&lt;br /&gt;
The Signature Task is a task type that is completed by capturing a handwritten signature from the user. The task contains an editor field that serves as the entry point for the signing process. When the user clicks (or taps) on the editor field, a signature dialog opens. Within this dialog, the user can provide their signature. After confirming the input, the signature is saved and the task is automatically marked as completed.&lt;br /&gt;
&lt;br /&gt;
If the task is signed while the client is online:&lt;br /&gt;
* The User (signee) is resolved immediately by the server and displayed.&lt;br /&gt;
* The ValidationTimestamp is generated and displayed.&lt;br /&gt;
* Both values are shown directly in the editor field after signing.&lt;br /&gt;
&lt;br /&gt;
{{Hint|The User only gets resolved by the server and displayed once you're in online mode}}&lt;br /&gt;
&lt;br /&gt;
If the displayed User and/or ValidationTimestamp cannot be fully shown due to limited space in the editor field, the complete information can be accessed via a Popup.&lt;br /&gt;
To show the Popup displaying the full User and ValidationTimestamp without truncation, click on the editor field.&lt;br /&gt;
&lt;br /&gt;
[[Category:Android|MRO Objects (UBIK WinX)]]&lt;br /&gt;
[[Category:Client|MRO Objects (Client)]]&lt;br /&gt;
[[Category:Mobile|MRO Objects (Client)]]&lt;br /&gt;
[[Category:Pages with broken file links|MRO Objects (Client)]]&lt;br /&gt;
[[Category:WinX|MRO Objects (UBIK WinX)]]&lt;br /&gt;
&lt;br /&gt;
==== Picture Task {{Version/MobileSince|5.1}}{{Version/WinXSince|5.1}} ====&lt;br /&gt;
&lt;br /&gt;
A [[MROCLS_PICTURE_TASK|picture task]] is a check task which can only be finished when it has at least one child document containing a valid file. In the UI, an additional photo button is presented next to the check so users can easily take photos before finishing the tasks.&lt;br /&gt;
* As any other objects, picture tasks can carry and display [[SYSCLS_CHILDINFOOWNER|child count information]]. But that is not a mandatory part of the feature. Even when it's not configured and not visible in the UI, you can still finish the tasks.&lt;br /&gt;
* In WinX/UWP, the UI also presents an expander which allows you to display the child documents of picture tasks. This is not present by default in the Mobile app due to the screen size limit but [[Object_hierarchy_in_XAML:_NextLevel,_ParentLevel,_LinkedLevel#Show_NextLevel_Children.2FDocuments|can be easily customized]].&lt;br /&gt;
&lt;br /&gt;
{{Hint|The task is named as such because pictures are the most commonly used types, but the child documents can be of other types as well. }}&lt;br /&gt;
&lt;br /&gt;
When a user tries to finish a picture task by tapping the check, the app might perform some data synchronization first if in online mode, which includes&lt;br /&gt;
* Syncing the child objects (including documents) of the task.&lt;br /&gt;
* Downloading the file(s) of the child documents.&lt;br /&gt;
During data synchronization, the check button on that task turns into a wait indicator. Afterwards, the app checks if the prerequisites to finish the task are met.&lt;br /&gt;
* If there are no child documents or no local files for the child documents, the task remains unfinished and the user gets informed about the reasons.&lt;br /&gt;
* Otherwise, the task gets finished and the photo button gets disabled.&lt;br /&gt;
&lt;br /&gt;
{{Hint|Setting NA (not applicable) on a picture task is always possible, regardless of the condition of child documents.}}&lt;br /&gt;
&lt;br /&gt;
==== Numeric Task {{Version/MobileSince|5.1}}{{Version/WinXSince|5.1}} ====&lt;br /&gt;
&lt;br /&gt;
A [[MROCLS_MRO_NUMERIC_TASK|numeric task]] is a task which records a double value (e.g. from a temperature sensor). Entering the value (including Not Applicable) completes the task.&lt;br /&gt;
* The value is compared against an accaptable value range which is not editable on the client.&lt;br /&gt;
* Deviation from this range results in visual feedback as well as the [[#Tech Status|tech status]] being set to display an issue.&lt;br /&gt;
* If the configured value range is invalid (e.g. min &amp;gt; max) and the user enters a value, the [[#Tech Status|tech status]] will also be set to display an issue.&lt;br /&gt;
* A numeric task also has a special value unit that can be set per task instance. If set, it overrides the standard value unit defined on the [[MetaProperty#Unit_Item|MetaProperty]].&lt;br /&gt;
&lt;br /&gt;
==== Pick List Task {{Version/MobileSince|5.1}}{{Version/WinXSince|5.1}} ====&lt;br /&gt;
&lt;br /&gt;
A [[MROCLS_PICK_LIST_TASK|Pick List task]] looks and behaves the same like a standard Integer Task with SelectiveList. Other than the standard Integer Task, the Pick List Task has an [[UBIK_Active_Lists|Active List]] defined on instance level to pick from for its value property. The task counts as finished as soon as a list item has been selected, or when pressing ''Not Applicable''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{DeprecatedStartTag|parameter=Please refer to [[Main_Page]] for the most recent information.}}&lt;br /&gt;
=== MRO objects with project information (WinX only) {{Version/WinXSince|2.5.4}} ===&lt;br /&gt;
[[File:UI_WinX_MRO_ProjectInfo.png|thumb|MRO Object with Project Info (WinX)]]&lt;br /&gt;
An MRO object (except tasks) might also bring along [[MROCLS_PROJECTINFORMATION|project information]]. In this case, the project information together with the MRO progress are displayed in a bar chart. The start &amp;amp; end dates of the MRO object are displayed on the progress bar. The length and the position of the progress bar, together with the current date mark indicate the timeline.&lt;br /&gt;
{{Clear}}&lt;br /&gt;
{{DeprecatedEndTag}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Android|MRO Objects (UBIK WinX)]]&lt;br /&gt;
[[Category:Client|MRO Objects (Client)]]&lt;br /&gt;
[[Category:Mobile|MRO Objects (Client)]]&lt;br /&gt;
[[Category:Pages with broken file links|MRO Objects (Client)]]&lt;br /&gt;
[[Category:WinX|MRO Objects (UBIK WinX)]]&lt;br /&gt;
&lt;br /&gt;
== Locking ==&lt;br /&gt;
When an (MRO) object is locked, editing it becomes impossible. More details about [[Locked_Objects|locked objects]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[MRO (Plugin)]]&lt;br /&gt;
* [[MROCLS_PROJECT]]&lt;br /&gt;
* [[MROCLS_PROJECTINFORMATION]]&lt;br /&gt;
* [[MROCLS_SEQUENTIALTASK]]&lt;br /&gt;
* [[MROCLS_GROUPEDTASK]]&lt;br /&gt;
* [[MROCLS_MRO_CHECK_TASK]]&lt;br /&gt;
* [[MROCLS_MRO_INSPECTION_TASK]]&lt;br /&gt;
* [[MROCLS_MRO_MEASUREMENT_TASK]]&lt;br /&gt;
* [[MROCLS_MRO_PROGRESS_TASK]]&lt;br /&gt;
* [[MROCLS_MRO_TASK]]&lt;br /&gt;
* [[MROCLS_MRO_TASKOWNER]]&lt;br /&gt;
* [[MROCLS_MRO_WORKPACKAGE]]&lt;br /&gt;
* [[MROCLS_PROCEDURE#Procedure Workpackage]] (Classification)&lt;br /&gt;
* [[MROCLS_SWITCH_TASK#Switch Task]] (Classification)&lt;br /&gt;
* [[MROCLS_SWITCH_END_TASK#Switch End Task]] (Classification)&lt;br /&gt;
* [[MROCLS_CALCULATION_TASK#Calculation Task]] (Classification)&lt;br /&gt;
* [[MROCLS_PICK_LIST_TASK]] (Classification)&lt;br /&gt;
&lt;br /&gt;
[[Category:Android|MRO Objects (UBIK WinX)]]&lt;br /&gt;
[[Category:Client|MRO Objects (Client)]]&lt;br /&gt;
[[Category:Mobile|MRO Objects (Client)]]&lt;br /&gt;
[[Category:Pages with broken file links|MRO Objects (Client)]]&lt;br /&gt;
[[Category:WinX|MRO Objects (UBIK WinX)]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_WinX_Client_Basics&amp;diff=29876</id>
		<title>UBIK WinX Client Basics</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_WinX_Client_Basics&amp;diff=29876"/>
				<updated>2026-05-11T11:06:08Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* Properties with value records {{Version/WinXSince|2.5.4}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{UBIK}} Client is the mobile application for viewing and modifying data, showing documents, starting navigation, visualizing POIs and much more.&lt;br /&gt;
&lt;br /&gt;
Client applications are available for Mobile and WinX, however the features available on each of the platform dependent applications might differ. An overview of the available features can be found in the [[Client_Feature_Table|feature comparison table]].&lt;br /&gt;
&lt;br /&gt;
== Languages ==&lt;br /&gt;
The standard {{UBIK}} client supports multiple languages listed below. {{Version/WinXSince|4.3}}&lt;br /&gt;
* Chinese (Simplified)&lt;br /&gt;
* Czech&lt;br /&gt;
* English&lt;br /&gt;
* German&lt;br /&gt;
* Polish&lt;br /&gt;
* Portuguese&lt;br /&gt;
* Spanish&lt;br /&gt;
{{Attention|As we found out, you can only switch to one of the supported languages if it is installed as a system language in the Windows &amp;quot;Preferred languages / Add a language&amp;quot; setting. For example, if you have only English installed when you install {{UBIK}}, you won't be able to switch to any other languages even if you add those later. In that case, you need to make sure your language of choice is installed in Windows first, then update or reinstall {{UBIK}}. This is a Microsoft Store practice and does not apply to clients installed through sideloading, e.g. from our AppCenter.}}&lt;br /&gt;
&lt;br /&gt;
== Login ==&lt;br /&gt;
Users need to login in order to access confidential data, this can be done in the [[Login View]].&lt;br /&gt;
&lt;br /&gt;
=== Confirm login === &lt;br /&gt;
{{Version/WinXSince|3.6}}&lt;br /&gt;
Certain pages might require to confirm the login data, even if the user is already logged in. This can be done in the following way: The CheckUserOfflineCommand needs to be called with the username and password as parameter, if the login was valid, the CheckUserOfflineSuccess boolean property is set to true, which causes the text &amp;quot;Login confirmed&amp;quot; to appear in the example.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBox&lt;br /&gt;
	x:Name=&amp;quot;Sign01User&amp;quot;&lt;br /&gt;
	DataContext=&amp;quot;{Binding AuthenticationViewModel, Source={StaticResource Locator}}&amp;quot;&lt;br /&gt;
	PlaceholderText=&amp;quot;User&amp;quot;&lt;br /&gt;
	Text=&amp;quot;{Binding UserName}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;PasswordBox&lt;br /&gt;
	x:Name=&amp;quot;Sign01PW&amp;quot;&lt;br /&gt;
	DataContext=&amp;quot;{Binding AuthenticationViewModel, Source={StaticResource Locator}}&amp;quot;&lt;br /&gt;
	PlaceholderText=&amp;quot;Password&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;Button&lt;br /&gt;
	Command=&amp;quot;{Binding CheckUserOfflineCommand}&amp;quot;&lt;br /&gt;
	Content=&amp;quot;Confirm login&amp;quot;&lt;br /&gt;
	DataContext=&amp;quot;{Binding AuthenticationViewModel, Source={StaticResource Locator}}&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;Button.CommandParameter&amp;gt;&lt;br /&gt;
		&amp;lt;uc:KeyValueList&amp;gt;&lt;br /&gt;
			&amp;lt;uc:KeyValueParameter Key=&amp;quot;UserName&amp;quot; Value=&amp;quot;{Binding ElementName=Sign01User, Path=Text}&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;uc:KeyValueParameter Key=&amp;quot;Password&amp;quot; Value=&amp;quot;{Binding ElementName=Sign01PW, Path=Password}&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/uc:KeyValueList&amp;gt;&lt;br /&gt;
	&amp;lt;/Button.CommandParameter&amp;gt;&lt;br /&gt;
&amp;lt;/Button&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;Login confirmed&amp;quot; Visibility=&amp;quot;{Binding AuthenticationViewModel.CheckUserOfflineSuccess, Source={StaticResource Locator}, FallbackValue=false, Converter={StaticResource BoolToVisConverter}}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Profiles ==&lt;br /&gt;
Profiles are used to store connection information for {{UBIK}} services. It specifies the location where to find the service along with other useful informations. Profiles are stored by UBIK whenever the user created connection information and stored it in the settings. However, profiles can also be created and edited with any text editor. Possible settings to be defined are:&lt;br /&gt;
* InternalConnectionSettings: Connections settings how to connect to the Content and the USAM service that has been set up.&lt;br /&gt;
** Application: the [[APPLICATION]] to use with the service&lt;br /&gt;
** AuthenticationPort: Port Number of the authentication (USAM) service (default: 777)&lt;br /&gt;
** AuthenticationProtocol: Protocol of the authentication service (default: https)&lt;br /&gt;
** AuthenticationServer: the ip address of the authentication server&lt;br /&gt;
** AuthenticationService: the path to the authentication service&lt;br /&gt;
** ContentPort: Port Number of the content service (default: 777)&lt;br /&gt;
** ContentProtocol: Protocol of the content service (default: https)&lt;br /&gt;
** ContentServer: the ip address of the content server&lt;br /&gt;
** ContentService: the path to the content service&lt;br /&gt;
** Context: the [[CONTEXT]] to use with the service&lt;br /&gt;
** SyncMode: the used sync mode (Online [= Auto], Manual, Offline; default:Online)&lt;br /&gt;
* IsDefault: true, if the profile should be the default profile&lt;br /&gt;
* Name: the name of the profile (will also be used to identify the database)&lt;br /&gt;
** If the profile name contains invalid characters like: /, &amp;quot;, &amp;lt;, &amp;gt;, ... they will be replaced with %_&lt;br /&gt;
* Project: the project name. Use this to share a single project name with more than one profile. If the project is defined, all profile with the same project will share one database.&lt;br /&gt;
* Customizing: the XAML subfolder to use for customized UI. This parameter can be used to share one single XAML customizing folder for multiple profiles.&lt;br /&gt;
* ShowHiddenSettings: show hidden settings (feault: false)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Profile xmlns:i=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns=&amp;quot;http://schemas.datacontract.org/2004/07/UBIK.WinX.Settings&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Customizing&amp;gt;MYAPPLICATIONUI&amp;lt;/Customizing&amp;gt;&lt;br /&gt;
  &amp;lt;Description i:nil=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;InternalConnectionSettings&amp;gt;&lt;br /&gt;
    &amp;lt;Application&amp;gt;APP_DEMO&amp;lt;/Application&amp;gt;&lt;br /&gt;
    &amp;lt;AuthenticationPort&amp;gt;777&amp;lt;/AuthenticationPort&amp;gt;&lt;br /&gt;
    &amp;lt;AuthenticationProtocol&amp;gt;https&amp;lt;/AuthenticationProtocol&amp;gt;&lt;br /&gt;
    &amp;lt;AuthenticationServer&amp;gt;80.243.175.50&amp;lt;/AuthenticationServer&amp;gt;&lt;br /&gt;
    &amp;lt;AuthenticationService&amp;gt;UBIK/DBG/AUG/DEMO.250/USAM/USAM.svc&amp;lt;/AuthenticationService&amp;gt;&lt;br /&gt;
    &amp;lt;ContentPort&amp;gt;777&amp;lt;/ContentPort&amp;gt;&lt;br /&gt;
    &amp;lt;ContentProtocol&amp;gt;https&amp;lt;/ContentProtocol&amp;gt;&lt;br /&gt;
    &amp;lt;ContentServer&amp;gt;80.243.175.50&amp;lt;/ContentServer&amp;gt;&lt;br /&gt;
    &amp;lt;ContentService&amp;gt;UBIK/DBG/AUG/DEMO.250/CONTENT/UBIKContent.svc&amp;lt;/ContentService&amp;gt;&lt;br /&gt;
    &amp;lt;Context&amp;gt;CXT_DEMO&amp;lt;/Context&amp;gt;&lt;br /&gt;
    &amp;lt;SyncMode&amp;gt;Online&amp;lt;/SyncMode&amp;gt;&lt;br /&gt;
  &amp;lt;/InternalConnectionSettings&amp;gt;&lt;br /&gt;
  &amp;lt;IsDefault&amp;gt;true&amp;lt;/IsDefault&amp;gt;&lt;br /&gt;
  &amp;lt;Name&amp;gt;DEMO.250.AT&amp;lt;/Name&amp;gt;&lt;br /&gt;
  &amp;lt;Project&amp;gt;DEMO.250&amp;lt;/Project&amp;gt;&lt;br /&gt;
  &amp;lt;ShowHiddenSettings&amp;gt;false&amp;lt;/ShowHiddenSettings&amp;gt;&lt;br /&gt;
&amp;lt;/Profile&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Content Browser ==&lt;br /&gt;
Allows to navigate through the entire data model in a hierarchical manner, as it is published by the server.&lt;br /&gt;
&lt;br /&gt;
Initially, a list of objects (&amp;quot;root objects&amp;quot;) is shown. Upon selecting an object, a new browser is opened for that object, showing details about it. When an object is selected in the content browser, it is called the browser's context. For such a contextual object, child objects and selected properties are shown. Also, there is a context menu providing actions related to the currently selected object. &lt;br /&gt;
&lt;br /&gt;
=== Status Bar ===&lt;br /&gt;
==== Saving Indicator ====&lt;br /&gt;
[[File:UBIK_SaveIndicator.png|300 px|thumb|border|alt=Saving Symbol|Saving Symbol]]&lt;br /&gt;
{{Version/WinXSince|2.5.4}}Whenever content is being saved into the local database (for example, after a branch is downloaded from the server), there will be a blinking symbol indicating the saving activity is happening in the background.&lt;br /&gt;
During that time, the user is advised to not logout or close the app because the content might be lost otherwise. However, it is okay to undertake other tasks such as browsing, editing or downloading branches.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:How-To|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:Pages with broken file links|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:WinX|UBIK WinX Client Basics]]&lt;br /&gt;
&lt;br /&gt;
==== Uncommitted Changes Indicator ====&lt;br /&gt;
{{Version/WinXSince|4.6.0}} When there are uncommitted changes it is indicated by a button in the Status Bar displaying an icon and the number of uncommitted changes. Pressing this button opens a fly out list with all of the objects that have uncommitted changes to them. Pressing one of those list objects navigates directly to the corresponding object. The Uncommitted Changes Indicator button is only shown when there are uncommitted changes otherwise it is not visible. When in online mode all changes should be committed automatically so the Indicator is mainly useful in Manual or Offline Sync Mode.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Version/WinXSince|4.7.0}} Queries are now excluded from uncommitted changes.&lt;br /&gt;
&lt;br /&gt;
=== Child Page ===&lt;br /&gt;
&lt;br /&gt;
[[File:UBIK_ChildPage.png|400 px|thumb|border|alt=Child Page|Child Page]]&lt;br /&gt;
&lt;br /&gt;
The child page shows the context of a selected object. &lt;br /&gt;
&lt;br /&gt;
The global status bar shows the icon, the name and the description of the selected object. An arrow on the left side allows the user to navigate back to the parent object. On the right side the currently logged-in user is indicated. By clicking on the username one is able to navigate back to the home screen or log off.&lt;br /&gt;
&lt;br /&gt;
The right side of the child page shows child objects of the current object. Each child object is represented by an icon, a name and a description. With the [[SYSCLS_CHILDINFOOWNER|child info owner classification]], one can additionally show the number of documents and regular grandchildren to be expected for a child object.&lt;br /&gt;
&lt;br /&gt;
On the left side of the child page the current object´s high priority properties are shown. By clicking on a live value property, the live value details dialog opens. By clicking on an editable [[UBIK_WinX_Client_Basics#High_priority_properties| high priority property]], an editor opens {{Version/WinXSince|2.5.4}}. If a property was edited a save button is shown in the lower left corner, allowing the user to commit the changes. If a property of a query object was edited an evaluate button is shown in the lower left corner, allowing the user to run the query with the changed propery.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:How-To|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:Pages with broken file links|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:WinX|UBIK WinX Client Basics]]&lt;br /&gt;
&lt;br /&gt;
=== Properties Page ===&lt;br /&gt;
&lt;br /&gt;
On the properties page, one can see a list of all the current object's visible properties, and, given the respective rights, a possibility to edit them.&lt;br /&gt;
&lt;br /&gt;
=== Context Menu ===&lt;br /&gt;
&lt;br /&gt;
For any current object, there is a set of potential context-sensitive actions. These are displayed as buttons in the title bar, with a three-dot overflow menu button aggregating all the actions that wouldn't fit there anymore. There are many potential actions; some of them are only enabled for specifically classified objects, like objects with a geo location. Default actions are refresh, various download options, child object creation, copy/paste, commit/revert changes, geo-related actions, etc.&lt;br /&gt;
&lt;br /&gt;
=== Objects ===&lt;br /&gt;
&lt;br /&gt;
==== Root objects vs child objects ====&lt;br /&gt;
&lt;br /&gt;
The first entry point in the ''Content Browser'' is the list of root objects.&lt;br /&gt;
&lt;br /&gt;
==== Task objects ====&lt;br /&gt;
&lt;br /&gt;
[[https://wiki.augmensys.com/index.php?title=MRO_Objects_(Client)#Task|Tasks]] and [[https://wiki.augmensys.com/index.php?title=MRO_Objects_(Client)#Work_Package|work packages]] are special types of {{UBIK}} objects used for maintenance, repair and overhaul (MRO) use-cases.&lt;br /&gt;
&lt;br /&gt;
==== Query objects ====&lt;br /&gt;
&lt;br /&gt;
Queries are special types of {{UBIK}} objects with dynamic children. The child objects are looked up depending on the query object's criteria, which can be specified the same as property values for regular objects. There are [[QUERY|online queries]] evaluated by the server, and [[https://wiki.augmensys.com/index.php?title=Offline_Query_(UBIK_WinX)|offline queries]] evaluated on the client, thus requiring no internet connection.&lt;br /&gt;
&lt;br /&gt;
==== Safety relevant objects ====&lt;br /&gt;
&lt;br /&gt;
Object classified as [[SYSCLS_SAFETY_RELEVANT_OBJECT|safety relevant]] require the user to accept safety instructions to access the object, which can be required for hazardous MRO tasks, for example.&lt;br /&gt;
&lt;br /&gt;
==== Commissioning objects ====&lt;br /&gt;
&lt;br /&gt;
Similar to and based on MRO objects, commissioning objects are tasks and work packages for the commissioning use-case, e.g., [[SYSCLS_COMMISSIONINGCHECK|commissioning check tasks]].&lt;br /&gt;
&lt;br /&gt;
==== Locked objects  ====&lt;br /&gt;
In several use-cases, objects can be [[Locked_Objects|locked]] for editing.&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
&lt;br /&gt;
==== Authentication Properties ====&lt;br /&gt;
[[SYSCLS_REQUIRE_AUTHENTICATION|Authentication Properties]] are properties which need a user authentication (through a password field) to be edited.&lt;br /&gt;
&lt;br /&gt;
==== Min max properties ====&lt;br /&gt;
See [[Min_Max_Properties]].&lt;br /&gt;
&lt;br /&gt;
==== Live value properties ====&lt;br /&gt;
[[Live_Values]] are specific property values extracted from a process control system like OPC-UA or OSIPI. &lt;br /&gt;
&lt;br /&gt;
==== High priority properties ====&lt;br /&gt;
High priority properties are properties having a priority higher than the [[Settings#Content |priority threshold]].&lt;br /&gt;
&lt;br /&gt;
==== Selective List Properties ====&lt;br /&gt;
For some properties, the user should be able to select from a predefined set of values. Such a predefined set is called a &amp;quot;selective list&amp;quot; in {{UBIK}}.&lt;br /&gt;
Furthermore, there are [[Dynamic_Selective_List_(Client)|dynamic selective lists]] that can be filtered or assembled based on dependency property values.&lt;br /&gt;
&lt;br /&gt;
{{Hint|{{Version/WinXSince|5.1.0.0}}{{Version/MobileSince|5.1.0.0}} The ItemsSource binding of related WinX/Mobile controls in Xaml now requires only '''PropertyViewModel.SelectiveItems''', which will return the items of an [[Active_List_Client|ActiveList]], or the items of a MetaProperty.SelectiveList, depending on the server-side configuration. In this case, the [[Converters_In_Mobile#List_of_Available_Converters|SelectiveListToItemsConverter]] is outdated and should not be used anymore.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Properties with value records {{Version/WinXSince|2.5.4}} ====&lt;br /&gt;
[[File:ViewEditHistory.png|400px|thumb|Open edit history]]&lt;br /&gt;
[[File:PropertyValueRecords.png|400px|thumb|Property value records dialog]]&lt;br /&gt;
In addition to its value, a property might also bring along a series of value records showing &amp;quot;who changed the value at what time&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
When such records exist, the property row shows a special symbol on the right side. After a right click (with mouse) or a long tap (with touch) on the property row, a dialog will be shown to present these records (sorted by their time, recent ones on top).&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:How-To|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:Pages with broken file links|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:WinX|UBIK WinX Client Basics]]&lt;br /&gt;
&lt;br /&gt;
==== String properties with length restrictions ====&lt;br /&gt;
A string property can be configured with a [[MetaProperty#Text_2|length restriction]]. The client property editing UI doesn't allow users to confirm values exceeding the limit.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
==== [[Editors]] ====&lt;br /&gt;
&lt;br /&gt;
See [[Editors]]&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
UBIK supports and displays document objects and a bunch of actions related to them (editing, redlining, creation, thumbnails, ...).&lt;br /&gt;
See [[Documents_(Client)|Documents (Client)]]&lt;br /&gt;
&lt;br /&gt;
==== Fit Mode{{Version/WinXSince|3.5}} ====&lt;br /&gt;
See [[Documents_(Client)#Fit_Mode|Fit Mode]]&lt;br /&gt;
&lt;br /&gt;
==== Auto zoom {{Version/WinXSince|4.6}}{{Version/XamarinSince|4.6}} ====&lt;br /&gt;
See [[Documents_(Client)#Auto_zoom|Auto zoom]]&lt;br /&gt;
&lt;br /&gt;
==== Editing{{Version/WinXSince|2.5.4}} ====&lt;br /&gt;
See [[Documents_(Client)#Editing|Editing]]&lt;br /&gt;
&lt;br /&gt;
==== Offline availability ====&lt;br /&gt;
See [[Documents_(Client)#Offline/Online|Offline/Online]]&lt;br /&gt;
&lt;br /&gt;
==== Clear Online Documents ====&lt;br /&gt;
[[Documents_(Client)#Offline/Online|Offline/Online]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AR Features ==&lt;br /&gt;
&lt;br /&gt;
=== POI View ===&lt;br /&gt;
Brings up the POI View|Augmented Reality view and displays Points of Interest (POI's) related to the current location of the mobile device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Markerless ===&lt;br /&gt;
&lt;br /&gt;
=== Map View ===&lt;br /&gt;
Opens the Map View and displays Points of Interest (POI's) related to the current location of the mobile device.&lt;br /&gt;
&lt;br /&gt;
== Positioning ==&lt;br /&gt;
{{UBIK}} clients use a [[Location_Manager|Location Manager]] in order to gain knowledge about their position, so it can help the user navigate to his/her target.&lt;br /&gt;
&lt;br /&gt;
The user can choose one of different positioning modes optimized for different environments.&lt;br /&gt;
Most of them incorporate multiple technologies for calculating positions or checking their reliability.&lt;br /&gt;
&lt;br /&gt;
=== Positioning modes ===&lt;br /&gt;
&lt;br /&gt;
* ''Use all'' - uses all available position sources&lt;br /&gt;
* ''LLA only mode'' - used for positioning using markers only&lt;br /&gt;
* ''Beacon Proximity mode'' - uses iBeacon proximity and LLA only&lt;br /&gt;
&lt;br /&gt;
=== Technologies ===&lt;br /&gt;
&lt;br /&gt;
==== GPS ==== &lt;br /&gt;
GPS is used as a primary positioning input source for outdoor areas. Its precision depends on the environment and satellite availability. With good circumstances, the accuracy varies between 1 and 10 meters.&lt;br /&gt;
&lt;br /&gt;
==== LLA markers ==== &lt;br /&gt;
LLA markers basically are QR codes with location data encoded into them - which can be used for positioning when they are scanned.&lt;br /&gt;
&lt;br /&gt;
==== Object Proximity Positioning ====&lt;br /&gt;
The location of nearby Geo-Objects can be used for positioning.&lt;br /&gt;
&lt;br /&gt;
The position of a Geo-Object can be used manually by pushing the button {{key press|Use Location}} in the [[UBIK_WinX_Client_Basics#Context_Menu|Context Menu]]. &lt;br /&gt;
&lt;br /&gt;
The geo information of an object gets used automatically if exactly one single object is found through scanning. If more objects are found, their geo information doesn´t get used. Scanning includes  [[UBIK Client Basics#Bar Code|Bar Code]], [[UBIK Client Basics#QR Code|QR Code]], [[UBIK Client Basics#OCR|OCR]] and [[UBIK Client Basics#RFID|RFID]]. The automatic use of Geo-Object´s location can be turned off by disabling the &amp;quot;EnableObjectProximityPositioning&amp;quot; setting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Beacon-Proximity Positioning ====&lt;br /&gt;
The Beacon Proximity Mode detects if the user is in the proximity of a beacon. The proximity region is defined by a proximity distance which creates a sphere around the beacon. Whenever the calculated distance to a beacon is smaller than the proximity distance, the user is supposed to be at the position of the beacon. If multiple regions intersect the user is supposed to be at the position of the nearest beacon. &lt;br /&gt;
In order to use Beacon Proximity as a Positioning System, Bluetooth Low Energy has to be available and enabled on the mobile device. If a new environment should be equipped with iBeacon-Positioning, an expert has to mount iBeacons on known positions and calibrate the propagation factor of these beacons. Proximity beacons can be configured using [[SYSCLS_PROXIMITY_BEACON]]. {{Version/WinXSince|UWP}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Finding Objects ==&lt;br /&gt;
=== Free Text Search ===&lt;br /&gt;
&lt;br /&gt;
=== ID Marker ===&lt;br /&gt;
&lt;br /&gt;
=== QR Code ===&lt;br /&gt;
&lt;br /&gt;
=== Bar Code ===&lt;br /&gt;
&lt;br /&gt;
=== RFID Code ===&lt;br /&gt;
Provides a fast and convenient way for users to find objects that are identifiable through [[RFID tags|RFID tags]].&lt;br /&gt;
&lt;br /&gt;
=== OCR ===&lt;br /&gt;
&lt;br /&gt;
== Linked objects == &lt;br /&gt;
{{Version/WinXSince|3.6}}&lt;br /&gt;
It is possible to display values of linked objects by using the &amp;quot;LinkedLevel&amp;quot; property. An example can be seen here, where Items[0] is a Guid property linking to another object. The ItemsControl then binds to the Properties of the linked object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Grid DataContext=&amp;quot;{Binding Properties.Items[0].LinkedLevel}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ItemsControl ItemsSource=&amp;quot;{Binding Properties.AllItems}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Grid&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Client_Feature_Table]]&lt;br /&gt;
* [[SYSCLS_DOCUMENT_FITMODE]]&lt;br /&gt;
* [[SYSCLS_SHOWDOCUMENTS]]&lt;br /&gt;
* [[SYSCLS_SHOWPROPERTIES]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:How-To|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:Pages with broken file links|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:WinX|UBIK WinX Client Basics]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Live_Values&amp;diff=29872</id>
		<title>Live Values</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Live_Values&amp;diff=29872"/>
				<updated>2026-05-11T10:19:56Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:DisplayLiveValues_Mobile.jpg |thumb|border|alt= Live values in Mobile|Live values in Mobile]]&lt;br /&gt;
[[File:DisplayLiveValues_WinX.png |thumb|border|alt= Live values in WinX|Live values in WinX]]&lt;br /&gt;
Live values are properties that update with a configured frequency. These properties contain information about reliability, measurement quality, and synchronization, as well as custom data (attributes). Real-time data, originating from various systems, can be delivered to the clients with minimum delay.&lt;br /&gt;
&lt;br /&gt;
The Mobile and WinX clients display live values alongside other properties, and they are also shown on the [[Map View|map view]] upon selecting the specific object.&lt;br /&gt;
&lt;br /&gt;
Also check out the [[HowTo:Implementing_Live_Values|Guide for Implementing Live Values]].&lt;br /&gt;
&lt;br /&gt;
== Content Browser ==&lt;br /&gt;
The row for live value properties differs only slightly from normal property rows. On the left of the property value, below the description, is a connectivity indicator icon (reminding of the connectivity icon from cell phones). The more current the property value and the better its quality is, the better the connectivity is indicated. If all bars are greyed out and a small red cross is shown, the last update happened very long ago or no update was received at all, or the measurement quality is bad. For detailed information about that, a detailed dialog is necessary.&lt;br /&gt;
&lt;br /&gt;
=== Connectivity Indicator ===&lt;br /&gt;
[[File:UI_android_live_values_freshness_indicators.png |thumb|border|alt= States of the connectivity indicator|States of the connectivity indicator]]&lt;br /&gt;
&lt;br /&gt;
The connectivity indicator has the following states, from left to right:&lt;br /&gt;
* Good&lt;br /&gt;
* Questionable&lt;br /&gt;
* Bad&lt;br /&gt;
&lt;br /&gt;
Note that the connectivity indicator combines the freshness and the measurement quality of the live value, this describing the overall reliability of the value instead of just how recent it is.&lt;br /&gt;
&lt;br /&gt;
The following gallery gives an overview of the possible synchronization states of live value property rows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;360&amp;quot;&amp;gt;&lt;br /&gt;
File:LiveValuesMobile.jpg| Reliable live values (Mobile)&lt;br /&gt;
File:LiveValues_WinX.png| Reliable live values (Windows)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Map view==&lt;br /&gt;
[[File:LiveValuesMapViewWinX.png |400px|border|alt= Live values map view|Live values map view (Windows)]]&lt;br /&gt;
&lt;br /&gt;
Upon clicking a correctly configured object within the map view, properties are shown within the opened dialog. It is important to know, that only '''High priority''' properties are shown here, altering the [[Settings#List of settings|priority threshold]] setting may change the visibility of the live property in the map view.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
{{Category/Version|2.5.0}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Detail dialog ==&lt;br /&gt;
The freshness is very crucial in order to know whether the live property value can be trusted, but there are other influences like how good the measurement itself was. These information gets displayed via a dialog, the user can upon clicking the [[Live Values#Freshness Indicator |freshness indicator]] symbol both in the content Browser or the map view.&lt;br /&gt;
Within the dialog, several detailed information can be seen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;75%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Description!! Information&lt;br /&gt;
|-&lt;br /&gt;
| ''Live Value''|| Provides the same information as the row itself, namely value and as an icon the connectivity indicator.&lt;br /&gt;
|-&lt;br /&gt;
| ''Recentness''|| Displays how long ago the last synchronization was, based on the internal freshness evaluation system. &lt;br /&gt;
|-&lt;br /&gt;
| ''Last Synchronization''|| Displays the exact timestamp of the last successful synchronization, out of this, the recentness is evaluated.&lt;br /&gt;
|-&lt;br /&gt;
| ''Measurement time stamp''|| Measurement time stamp provided by the measurement unit itself (for instance a pressure measurement unit). It should not be trusted entirely since device time and measurement until time could have a huge difference.&lt;br /&gt;
|-&lt;br /&gt;
| ''Measurement quality''|| Quality information provided by the measurement unit or data collecting instance (e.g. OPCUA Server) which together with the &amp;quot;Recentness&amp;quot; gets combined to evaluate the [[Live Values#Freshness Indicator |freshness indicator]]. In addition, a more detailed description of the measurement gets displayed if available.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Some examples how such a detailed information dialog looks like in the following gallery:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;250&amp;quot; heights=&amp;quot;360&amp;quot;&amp;gt;&lt;br /&gt;
File:LiveValuesDetailDialog_Mobile.jpg| Fresh live values (Mobile)&lt;br /&gt;
File:LiveValuesDetailView.png| Fresh live values (WinX)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Attributes {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}} ==&lt;br /&gt;
[[File:attributes.png |thumb|Attributes in the detail dialog (WinX)]]&lt;br /&gt;
Attributes are additional data that are sent to clients with every value update. They can be customized where the live values are generated (in the plugin) to contain the unit, formatted value, description, etc. &lt;br /&gt;
&lt;br /&gt;
They were introduced in Service {{Version/ServerSince|2.6.4}} Version 2.6.4 and Client Version 3.6.&lt;br /&gt;
&lt;br /&gt;
Since {{Version/ServerSince|4.5.0}} Version 4.5.0 UBIK Live Values support properties being classified as LiveValueAttribute. If they are filled out, the value is sent as LiveValueAttribute to the client with every value update. The Standard Live Value Metaclass provides two Standard (LiveValueAttribute) properties (UI_DESCR and UNIT). It is possible to add more properties if necessary. The Name of the MetaProperty is used as Attribute - Key. In the case of a name conflict the Attribute coming from the Live Value Server is wins against the Attribute coming from the LiveValue.&lt;br /&gt;
Following types are supported:&lt;br /&gt;
* String&lt;br /&gt;
* Multi language String&lt;br /&gt;
* Integer&lt;br /&gt;
* DateTime&lt;br /&gt;
* Double&lt;br /&gt;
* GeoData&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Accessing from XAML ==&lt;br /&gt;
Live values can be easily accessed from XAML, as long as the view model has a reference to the '''Properties''' collection.&lt;br /&gt;
&lt;br /&gt;
=== Displaying all Live Values ===&lt;br /&gt;
This XAML code will generate a list of all live values of this object:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ListView ItemsSource=&amp;quot;{Binding Properties.ImportantLiveItems}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ListView.ItemTemplate&amp;gt;&lt;br /&gt;
        &amp;lt;DataTemplate&amp;gt;&lt;br /&gt;
            &amp;lt;Grid Width=&amp;quot;100&amp;quot;  Height=&amp;quot;40&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;FontIcon FontFamily=&amp;quot;Segoe MDL2 Assets&amp;quot; Glyph=&amp;quot;{Binding LiveValueQualitySymbol}&amp;quot; HorizontalAlignment=&amp;quot;Left&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;TextBlock Text=&amp;quot;{Binding DisplayValue}&amp;quot; HorizontalAlignment=&amp;quot;Right&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/Grid&amp;gt;&lt;br /&gt;
        &amp;lt;/DataTemplate&amp;gt;&lt;br /&gt;
    &amp;lt;/ListView.ItemTemplate&amp;gt;&lt;br /&gt;
&amp;lt;/ListView&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Accessing Single Value ===&lt;br /&gt;
This code binds the value of the '''LMP_FLOW''' LiveValue-MetaProperty to a &amp;lt;code&amp;gt;TextBlock&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Value}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Furthermore, you can bind to:&lt;br /&gt;
* Description&lt;br /&gt;
* QualitySymbol&lt;br /&gt;
* Age&lt;br /&gt;
* LastSync&lt;br /&gt;
* TimeStamp&lt;br /&gt;
* Attributes (see below) {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}}&lt;br /&gt;
&lt;br /&gt;
=== Binding to Attributes {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}} ===&lt;br /&gt;
Attributes can be bound to similarly as to the individual value:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Attributes[Unit].Value}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following data are available for each attribute:&lt;br /&gt;
* Value&lt;br /&gt;
* Key&lt;br /&gt;
* Description&lt;br /&gt;
&lt;br /&gt;
==== Further Attributes ====&lt;br /&gt;
Custom attributes can be defined in the corresponding '''Live Value Interface''', with some of them pre-defined in the corresponding interfaces. &lt;br /&gt;
&lt;br /&gt;
As an example, the [[OSIPI_(Plugin)|OSIPI Plugin]] defines an Attribute called '''FORMATTED''', which contains the ''Value'' already pre-formatted according to [https://livelibrary.osisoft.com/LiveLibrary/content/en/webparts-v4/GUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337#addHistory=true&amp;amp;filename=GUID-A467C65F-C7C1-439D-AB26-7C360DB61865.xml&amp;amp;docid=GUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337&amp;amp;inner_id=&amp;amp;tid=&amp;amp;query=&amp;amp;scope=&amp;amp;resource=&amp;amp;toc=false&amp;amp;eventType=lcContent.loadDocGUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337 OsiPi's Specification]. In the ''Server-Configuration'', it's possible to adjust the formatting [https://docs.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo Culture] and leading-zeroes trimming.&lt;br /&gt;
&lt;br /&gt;
=== Binding to Description ===&lt;br /&gt;
Like with a regular property, the description of a live value property can be accessed as the following.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Description}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hint|It's possible that the description comes not from the property's underlying [[MetaProperty]], but rather from the value of an attribute called &amp;quot;UI_DESCR&amp;quot; (if present).{{Version/WinXSince|4.5}}{{Version/XamarinSince|4.5}}}}&lt;br /&gt;
&lt;br /&gt;
=== Binding to Unit ===&lt;br /&gt;
Like with a regular property, the unit of a live value property can be accessed as the following.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Unit}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hint|It's possible that the unit comes not from the property's underlying [[MetaProperty]], but rather from the value of an attribute called &amp;quot;UNIT&amp;quot; (if present).{{Version/WinXSince|4.5}}{{Version/XamarinSince|4.5}}}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[HowTo:Implementing_Live_Values]]&lt;br /&gt;
* [[Charts]]&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.0|Live Values]]&lt;br /&gt;
[[Category:Android|Live Values]]&lt;br /&gt;
[[Category:Live Values|Live Values]]&lt;br /&gt;
[[Category:Mobile|Live Values]]&lt;br /&gt;
[[Category:Pages with broken file links|Live Values]]&lt;br /&gt;
[[Category:Server|Live Values]]&lt;br /&gt;
[[Category:WinX|Live Values]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:DisplayLiveValues_WinX.png&amp;diff=29871</id>
		<title>File:DisplayLiveValues WinX.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:DisplayLiveValues_WinX.png&amp;diff=29871"/>
				<updated>2026-05-11T10:19:14Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:DisplayLiveValues_Mobile.jpg&amp;diff=29870</id>
		<title>File:DisplayLiveValues Mobile.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:DisplayLiveValues_Mobile.jpg&amp;diff=29870"/>
				<updated>2026-05-11T10:19:14Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Live_Values&amp;diff=29869</id>
		<title>Live Values</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Live_Values&amp;diff=29869"/>
				<updated>2026-05-11T10:14:50Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* Detail dialog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:livevalues_xamarin.jpg |thumb|border|alt= Live values in Mobile|Live values in Mobile]]&lt;br /&gt;
[[File:livevalues_winx.png |thumb|border|alt= Live values in WinX|Live values in WinX]]&lt;br /&gt;
Live values are properties that update with a configured frequency. These properties contain information about reliability, measurement quality, and synchronization, as well as custom data (attributes). Real-time data, originating from various systems, can be delivered to the clients with minimum delay.&lt;br /&gt;
&lt;br /&gt;
The Mobile and WinX clients display live values alongside other properties, and they are also shown on the [[Map View|map view]] upon selecting the specific object.&lt;br /&gt;
&lt;br /&gt;
Also check out the [[HowTo:Implementing_Live_Values|Guide for Implementing Live Values]].&lt;br /&gt;
&lt;br /&gt;
== Content Browser ==&lt;br /&gt;
The row for live value properties differs only slightly from normal property rows. On the left of the property value, below the description, is a connectivity indicator icon (reminding of the connectivity icon from cell phones). The more current the property value and the better its quality is, the better the connectivity is indicated. If all bars are greyed out and a small red cross is shown, the last update happened very long ago or no update was received at all, or the measurement quality is bad. For detailed information about that, a detailed dialog is necessary.&lt;br /&gt;
&lt;br /&gt;
=== Connectivity Indicator ===&lt;br /&gt;
[[File:UI_android_live_values_freshness_indicators.png |thumb|border|alt= States of the connectivity indicator|States of the connectivity indicator]]&lt;br /&gt;
&lt;br /&gt;
The connectivity indicator has the following states, from left to right:&lt;br /&gt;
* Good&lt;br /&gt;
* Questionable&lt;br /&gt;
* Bad&lt;br /&gt;
&lt;br /&gt;
Note that the connectivity indicator combines the freshness and the measurement quality of the live value, this describing the overall reliability of the value instead of just how recent it is.&lt;br /&gt;
&lt;br /&gt;
The following gallery gives an overview of the possible synchronization states of live value property rows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;360&amp;quot;&amp;gt;&lt;br /&gt;
File:LiveValuesMobile.jpg| Reliable live values (Mobile)&lt;br /&gt;
File:LiveValues_WinX.png| Reliable live values (Windows)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.0|Live Values]]&lt;br /&gt;
[[Category:Android|Live Values]]&lt;br /&gt;
[[Category:Live Values|Live Values]]&lt;br /&gt;
[[Category:Mobile|Live Values]]&lt;br /&gt;
[[Category:Server|Live Values]]&lt;br /&gt;
[[Category:WinX|Live Values]]&lt;br /&gt;
&lt;br /&gt;
==Map view==&lt;br /&gt;
[[File:LiveValuesMapViewWinX.png |400px|border|alt= Live values map view|Live values map view (Windows)]]&lt;br /&gt;
&lt;br /&gt;
Upon clicking a correctly configured object within the map view, properties are shown within the opened dialog. It is important to know, that only '''High priority''' properties are shown here, altering the [[Settings#List of settings|priority threshold]] setting may change the visibility of the live property in the map view.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
{{Category/Version|2.5.0}}&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.0|Live Values]]&lt;br /&gt;
[[Category:Android|Live Values]]&lt;br /&gt;
[[Category:Live Values|Live Values]]&lt;br /&gt;
[[Category:Mobile|Live Values]]&lt;br /&gt;
[[Category:Server|Live Values]]&lt;br /&gt;
[[Category:WinX|Live Values]]&lt;br /&gt;
&lt;br /&gt;
== Detail dialog ==&lt;br /&gt;
The freshness is very crucial in order to know whether the live property value can be trusted, but there are other influences like how good the measurement itself was. These information gets displayed via a dialog, the user can upon clicking the [[Live Values#Freshness Indicator |freshness indicator]] symbol both in the content Browser or the map view.&lt;br /&gt;
Within the dialog, several detailed information can be seen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;75%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Description!! Information&lt;br /&gt;
|-&lt;br /&gt;
| ''Live Value''|| Provides the same information as the row itself, namely value and as an icon the connectivity indicator.&lt;br /&gt;
|-&lt;br /&gt;
| ''Recentness''|| Displays how long ago the last synchronization was, based on the internal freshness evaluation system. &lt;br /&gt;
|-&lt;br /&gt;
| ''Last Synchronization''|| Displays the exact timestamp of the last successful synchronization, out of this, the recentness is evaluated.&lt;br /&gt;
|-&lt;br /&gt;
| ''Measurement time stamp''|| Measurement time stamp provided by the measurement unit itself (for instance a pressure measurement unit). It should not be trusted entirely since device time and measurement until time could have a huge difference.&lt;br /&gt;
|-&lt;br /&gt;
| ''Measurement quality''|| Quality information provided by the measurement unit or data collecting instance (e.g. OPCUA Server) which together with the &amp;quot;Recentness&amp;quot; gets combined to evaluate the [[Live Values#Freshness Indicator |freshness indicator]]. In addition, a more detailed description of the measurement gets displayed if available.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Some examples how such a detailed information dialog looks like in the following gallery:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;250&amp;quot; heights=&amp;quot;360&amp;quot;&amp;gt;&lt;br /&gt;
File:LiveValuesDetailDialog_Mobile.jpg| Fresh live values (Mobile)&lt;br /&gt;
File:LiveValuesDetailView.png| Fresh live values (WinX)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.0|Live Values]]&lt;br /&gt;
[[Category:Android|Live Values]]&lt;br /&gt;
[[Category:Live Values|Live Values]]&lt;br /&gt;
[[Category:Mobile|Live Values]]&lt;br /&gt;
[[Category:Pages with broken file links|Live Values]]&lt;br /&gt;
[[Category:Server|Live Values]]&lt;br /&gt;
[[Category:WinX|Live Values]]&lt;br /&gt;
&lt;br /&gt;
== Attributes {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}} ==&lt;br /&gt;
[[File:attributes.png |thumb|Attributes in the detail dialog (WinX)]]&lt;br /&gt;
Attributes are additional data that are sent to clients with every value update. They can be customized where the live values are generated (in the plugin) to contain the unit, formatted value, description, etc. &lt;br /&gt;
&lt;br /&gt;
They were introduced in Service {{Version/ServerSince|2.6.4}} Version 2.6.4 and Client Version 3.6.&lt;br /&gt;
&lt;br /&gt;
Since {{Version/ServerSince|4.5.0}} Version 4.5.0 UBIK Live Values support properties being classified as LiveValueAttribute. If they are filled out, the value is sent as LiveValueAttribute to the client with every value update. The Standard Live Value Metaclass provides two Standard (LiveValueAttribute) properties (UI_DESCR and UNIT). It is possible to add more properties if necessary. The Name of the MetaProperty is used as Attribute - Key. In the case of a name conflict the Attribute coming from the Live Value Server is wins against the Attribute coming from the LiveValue.&lt;br /&gt;
Following types are supported:&lt;br /&gt;
* String&lt;br /&gt;
* Multi language String&lt;br /&gt;
* Integer&lt;br /&gt;
* DateTime&lt;br /&gt;
* Double&lt;br /&gt;
* GeoData&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Accessing from XAML ==&lt;br /&gt;
Live values can be easily accessed from XAML, as long as the view model has a reference to the '''Properties''' collection.&lt;br /&gt;
&lt;br /&gt;
=== Displaying all Live Values ===&lt;br /&gt;
This XAML code will generate a list of all live values of this object:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ListView ItemsSource=&amp;quot;{Binding Properties.ImportantLiveItems}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ListView.ItemTemplate&amp;gt;&lt;br /&gt;
        &amp;lt;DataTemplate&amp;gt;&lt;br /&gt;
            &amp;lt;Grid Width=&amp;quot;100&amp;quot;  Height=&amp;quot;40&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;FontIcon FontFamily=&amp;quot;Segoe MDL2 Assets&amp;quot; Glyph=&amp;quot;{Binding LiveValueQualitySymbol}&amp;quot; HorizontalAlignment=&amp;quot;Left&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;TextBlock Text=&amp;quot;{Binding DisplayValue}&amp;quot; HorizontalAlignment=&amp;quot;Right&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/Grid&amp;gt;&lt;br /&gt;
        &amp;lt;/DataTemplate&amp;gt;&lt;br /&gt;
    &amp;lt;/ListView.ItemTemplate&amp;gt;&lt;br /&gt;
&amp;lt;/ListView&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Accessing Single Value ===&lt;br /&gt;
This code binds the value of the '''LMP_FLOW''' LiveValue-MetaProperty to a &amp;lt;code&amp;gt;TextBlock&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Value}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Furthermore, you can bind to:&lt;br /&gt;
* Description&lt;br /&gt;
* QualitySymbol&lt;br /&gt;
* Age&lt;br /&gt;
* LastSync&lt;br /&gt;
* TimeStamp&lt;br /&gt;
* Attributes (see below) {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}}&lt;br /&gt;
&lt;br /&gt;
=== Binding to Attributes {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}} ===&lt;br /&gt;
Attributes can be bound to similarly as to the individual value:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Attributes[Unit].Value}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following data are available for each attribute:&lt;br /&gt;
* Value&lt;br /&gt;
* Key&lt;br /&gt;
* Description&lt;br /&gt;
&lt;br /&gt;
==== Further Attributes ====&lt;br /&gt;
Custom attributes can be defined in the corresponding '''Live Value Interface''', with some of them pre-defined in the corresponding interfaces. &lt;br /&gt;
&lt;br /&gt;
As an example, the [[OSIPI_(Plugin)|OSIPI Plugin]] defines an Attribute called '''FORMATTED''', which contains the ''Value'' already pre-formatted according to [https://livelibrary.osisoft.com/LiveLibrary/content/en/webparts-v4/GUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337#addHistory=true&amp;amp;filename=GUID-A467C65F-C7C1-439D-AB26-7C360DB61865.xml&amp;amp;docid=GUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337&amp;amp;inner_id=&amp;amp;tid=&amp;amp;query=&amp;amp;scope=&amp;amp;resource=&amp;amp;toc=false&amp;amp;eventType=lcContent.loadDocGUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337 OsiPi's Specification]. In the ''Server-Configuration'', it's possible to adjust the formatting [https://docs.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo Culture] and leading-zeroes trimming.&lt;br /&gt;
&lt;br /&gt;
=== Binding to Description ===&lt;br /&gt;
Like with a regular property, the description of a live value property can be accessed as the following.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Description}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hint|It's possible that the description comes not from the property's underlying [[MetaProperty]], but rather from the value of an attribute called &amp;quot;UI_DESCR&amp;quot; (if present).{{Version/WinXSince|4.5}}{{Version/XamarinSince|4.5}}}}&lt;br /&gt;
&lt;br /&gt;
=== Binding to Unit ===&lt;br /&gt;
Like with a regular property, the unit of a live value property can be accessed as the following.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Unit}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hint|It's possible that the unit comes not from the property's underlying [[MetaProperty]], but rather from the value of an attribute called &amp;quot;UNIT&amp;quot; (if present).{{Version/WinXSince|4.5}}{{Version/XamarinSince|4.5}}}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[HowTo:Implementing_Live_Values]]&lt;br /&gt;
* [[Charts]]&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.0|Live Values]]&lt;br /&gt;
[[Category:Android|Live Values]]&lt;br /&gt;
[[Category:Live Values|Live Values]]&lt;br /&gt;
[[Category:Mobile|Live Values]]&lt;br /&gt;
[[Category:Server|Live Values]]&lt;br /&gt;
[[Category:WinX|Live Values]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Live_Values&amp;diff=29868</id>
		<title>Live Values</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Live_Values&amp;diff=29868"/>
				<updated>2026-05-11T10:13:37Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* Detail dialog */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:livevalues_xamarin.jpg |thumb|border|alt= Live values in Mobile|Live values in Mobile]]&lt;br /&gt;
[[File:livevalues_winx.png |thumb|border|alt= Live values in WinX|Live values in WinX]]&lt;br /&gt;
Live values are properties that update with a configured frequency. These properties contain information about reliability, measurement quality, and synchronization, as well as custom data (attributes). Real-time data, originating from various systems, can be delivered to the clients with minimum delay.&lt;br /&gt;
&lt;br /&gt;
The Mobile and WinX clients display live values alongside other properties, and they are also shown on the [[Map View|map view]] upon selecting the specific object.&lt;br /&gt;
&lt;br /&gt;
Also check out the [[HowTo:Implementing_Live_Values|Guide for Implementing Live Values]].&lt;br /&gt;
&lt;br /&gt;
== Content Browser ==&lt;br /&gt;
The row for live value properties differs only slightly from normal property rows. On the left of the property value, below the description, is a connectivity indicator icon (reminding of the connectivity icon from cell phones). The more current the property value and the better its quality is, the better the connectivity is indicated. If all bars are greyed out and a small red cross is shown, the last update happened very long ago or no update was received at all, or the measurement quality is bad. For detailed information about that, a detailed dialog is necessary.&lt;br /&gt;
&lt;br /&gt;
=== Connectivity Indicator ===&lt;br /&gt;
[[File:UI_android_live_values_freshness_indicators.png |thumb|border|alt= States of the connectivity indicator|States of the connectivity indicator]]&lt;br /&gt;
&lt;br /&gt;
The connectivity indicator has the following states, from left to right:&lt;br /&gt;
* Good&lt;br /&gt;
* Questionable&lt;br /&gt;
* Bad&lt;br /&gt;
&lt;br /&gt;
Note that the connectivity indicator combines the freshness and the measurement quality of the live value, this describing the overall reliability of the value instead of just how recent it is.&lt;br /&gt;
&lt;br /&gt;
The following gallery gives an overview of the possible synchronization states of live value property rows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;360&amp;quot;&amp;gt;&lt;br /&gt;
File:LiveValuesMobile.jpg| Reliable live values (Mobile)&lt;br /&gt;
File:LiveValues_WinX.png| Reliable live values (Windows)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.0|Live Values]]&lt;br /&gt;
[[Category:Android|Live Values]]&lt;br /&gt;
[[Category:Live Values|Live Values]]&lt;br /&gt;
[[Category:Mobile|Live Values]]&lt;br /&gt;
[[Category:Server|Live Values]]&lt;br /&gt;
[[Category:WinX|Live Values]]&lt;br /&gt;
&lt;br /&gt;
==Map view==&lt;br /&gt;
[[File:LiveValuesMapViewWinX.png |400px|border|alt= Live values map view|Live values map view (Windows)]]&lt;br /&gt;
&lt;br /&gt;
Upon clicking a correctly configured object within the map view, properties are shown within the opened dialog. It is important to know, that only '''High priority''' properties are shown here, altering the [[Settings#List of settings|priority threshold]] setting may change the visibility of the live property in the map view.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
{{Category/Version|2.5.0}}&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.0|Live Values]]&lt;br /&gt;
[[Category:Android|Live Values]]&lt;br /&gt;
[[Category:Live Values|Live Values]]&lt;br /&gt;
[[Category:Mobile|Live Values]]&lt;br /&gt;
[[Category:Server|Live Values]]&lt;br /&gt;
[[Category:WinX|Live Values]]&lt;br /&gt;
&lt;br /&gt;
== Detail dialog ==&lt;br /&gt;
The freshness is very crucial in order to know whether the live property value can be trusted, but there are other influences like how good the measurement itself was. These information gets displayed via a dialog, the user can upon clicking the [[Live Values#Freshness Indicator |freshness indicator]] symbol both in the content Browser or the map view.&lt;br /&gt;
Within the dialog, several detailed information can be seen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;75%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Description!! Information&lt;br /&gt;
|-&lt;br /&gt;
| ''Live Value''|| Provides the same information as the row itself, namely value and as an icon the connectivity indicator.&lt;br /&gt;
|-&lt;br /&gt;
| ''Recentness''|| Displays how long ago the last synchronization was, based on the internal freshness evaluation system. &lt;br /&gt;
|-&lt;br /&gt;
| ''Last Synchronization''|| Displays the exact timestamp of the last successful synchronization, out of this, the recentness is evaluated.&lt;br /&gt;
|-&lt;br /&gt;
| ''Measurement time stamp''|| Measurement time stamp provided by the measurement unit itself (for instance a pressure measurement unit). It should not be trusted entirely since device time and measurement until time could have a huge difference.&lt;br /&gt;
|-&lt;br /&gt;
| ''Measurement quality''|| Quality information provided by the measurement unit or data collecting instance (e.g. OPCUA Server) which together with the &amp;quot;Recentness&amp;quot; gets combined to evaluate the [[Live Values#Freshness Indicator |freshness indicator]]. In addition, a more detailed description of the measurement gets displayed if available.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Some examples how such a detailed information dialog looks like in the following gallery:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;360&amp;quot;&amp;gt;&lt;br /&gt;
File:LiveValuesDetailDialog_Mobile.png| Fresh live values (Mobile)&lt;br /&gt;
File:LiveValuesDetailView.png| Fresh live values (WinX)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.0|Live Values]]&lt;br /&gt;
[[Category:Android|Live Values]]&lt;br /&gt;
[[Category:Live Values|Live Values]]&lt;br /&gt;
[[Category:Mobile|Live Values]]&lt;br /&gt;
[[Category:Server|Live Values]]&lt;br /&gt;
[[Category:WinX|Live Values]]&lt;br /&gt;
&lt;br /&gt;
== Attributes {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}} ==&lt;br /&gt;
[[File:attributes.png |thumb|Attributes in the detail dialog (WinX)]]&lt;br /&gt;
Attributes are additional data that are sent to clients with every value update. They can be customized where the live values are generated (in the plugin) to contain the unit, formatted value, description, etc. &lt;br /&gt;
&lt;br /&gt;
They were introduced in Service {{Version/ServerSince|2.6.4}} Version 2.6.4 and Client Version 3.6.&lt;br /&gt;
&lt;br /&gt;
Since {{Version/ServerSince|4.5.0}} Version 4.5.0 UBIK Live Values support properties being classified as LiveValueAttribute. If they are filled out, the value is sent as LiveValueAttribute to the client with every value update. The Standard Live Value Metaclass provides two Standard (LiveValueAttribute) properties (UI_DESCR and UNIT). It is possible to add more properties if necessary. The Name of the MetaProperty is used as Attribute - Key. In the case of a name conflict the Attribute coming from the Live Value Server is wins against the Attribute coming from the LiveValue.&lt;br /&gt;
Following types are supported:&lt;br /&gt;
* String&lt;br /&gt;
* Multi language String&lt;br /&gt;
* Integer&lt;br /&gt;
* DateTime&lt;br /&gt;
* Double&lt;br /&gt;
* GeoData&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Accessing from XAML ==&lt;br /&gt;
Live values can be easily accessed from XAML, as long as the view model has a reference to the '''Properties''' collection.&lt;br /&gt;
&lt;br /&gt;
=== Displaying all Live Values ===&lt;br /&gt;
This XAML code will generate a list of all live values of this object:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ListView ItemsSource=&amp;quot;{Binding Properties.ImportantLiveItems}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ListView.ItemTemplate&amp;gt;&lt;br /&gt;
        &amp;lt;DataTemplate&amp;gt;&lt;br /&gt;
            &amp;lt;Grid Width=&amp;quot;100&amp;quot;  Height=&amp;quot;40&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;FontIcon FontFamily=&amp;quot;Segoe MDL2 Assets&amp;quot; Glyph=&amp;quot;{Binding LiveValueQualitySymbol}&amp;quot; HorizontalAlignment=&amp;quot;Left&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;TextBlock Text=&amp;quot;{Binding DisplayValue}&amp;quot; HorizontalAlignment=&amp;quot;Right&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/Grid&amp;gt;&lt;br /&gt;
        &amp;lt;/DataTemplate&amp;gt;&lt;br /&gt;
    &amp;lt;/ListView.ItemTemplate&amp;gt;&lt;br /&gt;
&amp;lt;/ListView&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Accessing Single Value ===&lt;br /&gt;
This code binds the value of the '''LMP_FLOW''' LiveValue-MetaProperty to a &amp;lt;code&amp;gt;TextBlock&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Value}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Furthermore, you can bind to:&lt;br /&gt;
* Description&lt;br /&gt;
* QualitySymbol&lt;br /&gt;
* Age&lt;br /&gt;
* LastSync&lt;br /&gt;
* TimeStamp&lt;br /&gt;
* Attributes (see below) {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}}&lt;br /&gt;
&lt;br /&gt;
=== Binding to Attributes {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}} ===&lt;br /&gt;
Attributes can be bound to similarly as to the individual value:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Attributes[Unit].Value}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following data are available for each attribute:&lt;br /&gt;
* Value&lt;br /&gt;
* Key&lt;br /&gt;
* Description&lt;br /&gt;
&lt;br /&gt;
==== Further Attributes ====&lt;br /&gt;
Custom attributes can be defined in the corresponding '''Live Value Interface''', with some of them pre-defined in the corresponding interfaces. &lt;br /&gt;
&lt;br /&gt;
As an example, the [[OSIPI_(Plugin)|OSIPI Plugin]] defines an Attribute called '''FORMATTED''', which contains the ''Value'' already pre-formatted according to [https://livelibrary.osisoft.com/LiveLibrary/content/en/webparts-v4/GUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337#addHistory=true&amp;amp;filename=GUID-A467C65F-C7C1-439D-AB26-7C360DB61865.xml&amp;amp;docid=GUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337&amp;amp;inner_id=&amp;amp;tid=&amp;amp;query=&amp;amp;scope=&amp;amp;resource=&amp;amp;toc=false&amp;amp;eventType=lcContent.loadDocGUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337 OsiPi's Specification]. In the ''Server-Configuration'', it's possible to adjust the formatting [https://docs.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo Culture] and leading-zeroes trimming.&lt;br /&gt;
&lt;br /&gt;
=== Binding to Description ===&lt;br /&gt;
Like with a regular property, the description of a live value property can be accessed as the following.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Description}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hint|It's possible that the description comes not from the property's underlying [[MetaProperty]], but rather from the value of an attribute called &amp;quot;UI_DESCR&amp;quot; (if present).{{Version/WinXSince|4.5}}{{Version/XamarinSince|4.5}}}}&lt;br /&gt;
&lt;br /&gt;
=== Binding to Unit ===&lt;br /&gt;
Like with a regular property, the unit of a live value property can be accessed as the following.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Unit}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hint|It's possible that the unit comes not from the property's underlying [[MetaProperty]], but rather from the value of an attribute called &amp;quot;UNIT&amp;quot; (if present).{{Version/WinXSince|4.5}}{{Version/XamarinSince|4.5}}}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[HowTo:Implementing_Live_Values]]&lt;br /&gt;
* [[Charts]]&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.0|Live Values]]&lt;br /&gt;
[[Category:Android|Live Values]]&lt;br /&gt;
[[Category:Live Values|Live Values]]&lt;br /&gt;
[[Category:Mobile|Live Values]]&lt;br /&gt;
[[Category:Server|Live Values]]&lt;br /&gt;
[[Category:WinX|Live Values]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:LiveValuesDetailDialog_Mobile.jpg&amp;diff=29867</id>
		<title>File:LiveValuesDetailDialog Mobile.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:LiveValuesDetailDialog_Mobile.jpg&amp;diff=29867"/>
				<updated>2026-05-11T10:13:06Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Live_Values&amp;diff=29866</id>
		<title>Live Values</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Live_Values&amp;diff=29866"/>
				<updated>2026-05-11T10:10:52Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* Connectivity Indicator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:livevalues_xamarin.jpg |thumb|border|alt= Live values in Mobile|Live values in Mobile]]&lt;br /&gt;
[[File:livevalues_winx.png |thumb|border|alt= Live values in WinX|Live values in WinX]]&lt;br /&gt;
Live values are properties that update with a configured frequency. These properties contain information about reliability, measurement quality, and synchronization, as well as custom data (attributes). Real-time data, originating from various systems, can be delivered to the clients with minimum delay.&lt;br /&gt;
&lt;br /&gt;
The Mobile and WinX clients display live values alongside other properties, and they are also shown on the [[Map View|map view]] upon selecting the specific object.&lt;br /&gt;
&lt;br /&gt;
Also check out the [[HowTo:Implementing_Live_Values|Guide for Implementing Live Values]].&lt;br /&gt;
&lt;br /&gt;
== Content Browser ==&lt;br /&gt;
The row for live value properties differs only slightly from normal property rows. On the left of the property value, below the description, is a connectivity indicator icon (reminding of the connectivity icon from cell phones). The more current the property value and the better its quality is, the better the connectivity is indicated. If all bars are greyed out and a small red cross is shown, the last update happened very long ago or no update was received at all, or the measurement quality is bad. For detailed information about that, a detailed dialog is necessary.&lt;br /&gt;
&lt;br /&gt;
=== Connectivity Indicator ===&lt;br /&gt;
[[File:UI_android_live_values_freshness_indicators.png |thumb|border|alt= States of the connectivity indicator|States of the connectivity indicator]]&lt;br /&gt;
&lt;br /&gt;
The connectivity indicator has the following states, from left to right:&lt;br /&gt;
* Good&lt;br /&gt;
* Questionable&lt;br /&gt;
* Bad&lt;br /&gt;
&lt;br /&gt;
Note that the connectivity indicator combines the freshness and the measurement quality of the live value, this describing the overall reliability of the value instead of just how recent it is.&lt;br /&gt;
&lt;br /&gt;
The following gallery gives an overview of the possible synchronization states of live value property rows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;360&amp;quot;&amp;gt;&lt;br /&gt;
File:LiveValuesMobile.jpg| Reliable live values (Mobile)&lt;br /&gt;
File:LiveValues_WinX.png| Reliable live values (Windows)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.0|Live Values]]&lt;br /&gt;
[[Category:Android|Live Values]]&lt;br /&gt;
[[Category:Live Values|Live Values]]&lt;br /&gt;
[[Category:Mobile|Live Values]]&lt;br /&gt;
[[Category:Server|Live Values]]&lt;br /&gt;
[[Category:WinX|Live Values]]&lt;br /&gt;
&lt;br /&gt;
==Map view==&lt;br /&gt;
[[File:LiveValuesMapViewWinX.png |400px|border|alt= Live values map view|Live values map view (Windows)]]&lt;br /&gt;
&lt;br /&gt;
Upon clicking a correctly configured object within the map view, properties are shown within the opened dialog. It is important to know, that only '''High priority''' properties are shown here, altering the [[Settings#List of settings|priority threshold]] setting may change the visibility of the live property in the map view.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
{{Category/Version|2.5.0}}&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.0|Live Values]]&lt;br /&gt;
[[Category:Android|Live Values]]&lt;br /&gt;
[[Category:Live Values|Live Values]]&lt;br /&gt;
[[Category:Mobile|Live Values]]&lt;br /&gt;
[[Category:Server|Live Values]]&lt;br /&gt;
[[Category:WinX|Live Values]]&lt;br /&gt;
&lt;br /&gt;
== Detail dialog ==&lt;br /&gt;
The freshness is very crucial in order to know whether the live property value can be trusted, but there are other influences like how good the measurement itself was. These information gets displayed via a dialog, the user can upon clicking the [[Live Values#Freshness Indicator |freshness indicator]] symbol both in the content Browser or the map view.&lt;br /&gt;
Within the dialog, several detailed information can be seen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;75%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Description!! Information&lt;br /&gt;
|-&lt;br /&gt;
| ''Live Value''|| Provides the same information as the row itself, namely value and as an icon the connectivity indicator.&lt;br /&gt;
|-&lt;br /&gt;
| ''Recentness''|| Displays how long ago the last synchronization was, based on the internal freshness evaluation system. &lt;br /&gt;
|-&lt;br /&gt;
| ''Last Synchronization''|| Displays the exact timestamp of the last successful synchronization, out of this, the recentness is evaluated.&lt;br /&gt;
|-&lt;br /&gt;
| ''Measurement time stamp''|| Measurement time stamp provided by the measurement unit itself (for instance a pressure measurement unit). It should not be trusted entirely since device time and measurement until time could have a huge difference.&lt;br /&gt;
|-&lt;br /&gt;
| ''Measurement quality''|| Quality information provided by the measurement unit or data collecting instance (e.g. OPCUA Server) which together with the &amp;quot;Recentness&amp;quot; gets combined to evaluate the [[Live Values#Freshness Indicator |freshness indicator]]. In addition, a more detailed description of the measurement gets displayed if available.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Some examples how such a detailed information dialog looks like in the following gallery:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;360&amp;quot;&amp;gt;&lt;br /&gt;
File:UI_android_live_values_dialog_new.png| Fresh live values (Android)&lt;br /&gt;
File:UI_windows_live_values_dialog_new.png| Fresh live values (WinX)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Attributes {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}} ==&lt;br /&gt;
[[File:attributes.png |thumb|Attributes in the detail dialog (WinX)]]&lt;br /&gt;
Attributes are additional data that are sent to clients with every value update. They can be customized where the live values are generated (in the plugin) to contain the unit, formatted value, description, etc. &lt;br /&gt;
&lt;br /&gt;
They were introduced in Service {{Version/ServerSince|2.6.4}} Version 2.6.4 and Client Version 3.6.&lt;br /&gt;
&lt;br /&gt;
Since {{Version/ServerSince|4.5.0}} Version 4.5.0 UBIK Live Values support properties being classified as LiveValueAttribute. If they are filled out, the value is sent as LiveValueAttribute to the client with every value update. The Standard Live Value Metaclass provides two Standard (LiveValueAttribute) properties (UI_DESCR and UNIT). It is possible to add more properties if necessary. The Name of the MetaProperty is used as Attribute - Key. In the case of a name conflict the Attribute coming from the Live Value Server is wins against the Attribute coming from the LiveValue.&lt;br /&gt;
Following types are supported:&lt;br /&gt;
* String&lt;br /&gt;
* Multi language String&lt;br /&gt;
* Integer&lt;br /&gt;
* DateTime&lt;br /&gt;
* Double&lt;br /&gt;
* GeoData&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Accessing from XAML ==&lt;br /&gt;
Live values can be easily accessed from XAML, as long as the view model has a reference to the '''Properties''' collection.&lt;br /&gt;
&lt;br /&gt;
=== Displaying all Live Values ===&lt;br /&gt;
This XAML code will generate a list of all live values of this object:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ListView ItemsSource=&amp;quot;{Binding Properties.ImportantLiveItems}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ListView.ItemTemplate&amp;gt;&lt;br /&gt;
        &amp;lt;DataTemplate&amp;gt;&lt;br /&gt;
            &amp;lt;Grid Width=&amp;quot;100&amp;quot;  Height=&amp;quot;40&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;FontIcon FontFamily=&amp;quot;Segoe MDL2 Assets&amp;quot; Glyph=&amp;quot;{Binding LiveValueQualitySymbol}&amp;quot; HorizontalAlignment=&amp;quot;Left&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;TextBlock Text=&amp;quot;{Binding DisplayValue}&amp;quot; HorizontalAlignment=&amp;quot;Right&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/Grid&amp;gt;&lt;br /&gt;
        &amp;lt;/DataTemplate&amp;gt;&lt;br /&gt;
    &amp;lt;/ListView.ItemTemplate&amp;gt;&lt;br /&gt;
&amp;lt;/ListView&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Accessing Single Value ===&lt;br /&gt;
This code binds the value of the '''LMP_FLOW''' LiveValue-MetaProperty to a &amp;lt;code&amp;gt;TextBlock&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Value}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Furthermore, you can bind to:&lt;br /&gt;
* Description&lt;br /&gt;
* QualitySymbol&lt;br /&gt;
* Age&lt;br /&gt;
* LastSync&lt;br /&gt;
* TimeStamp&lt;br /&gt;
* Attributes (see below) {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}}&lt;br /&gt;
&lt;br /&gt;
=== Binding to Attributes {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}} ===&lt;br /&gt;
Attributes can be bound to similarly as to the individual value:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Attributes[Unit].Value}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following data are available for each attribute:&lt;br /&gt;
* Value&lt;br /&gt;
* Key&lt;br /&gt;
* Description&lt;br /&gt;
&lt;br /&gt;
==== Further Attributes ====&lt;br /&gt;
Custom attributes can be defined in the corresponding '''Live Value Interface''', with some of them pre-defined in the corresponding interfaces. &lt;br /&gt;
&lt;br /&gt;
As an example, the [[OSIPI_(Plugin)|OSIPI Plugin]] defines an Attribute called '''FORMATTED''', which contains the ''Value'' already pre-formatted according to [https://livelibrary.osisoft.com/LiveLibrary/content/en/webparts-v4/GUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337#addHistory=true&amp;amp;filename=GUID-A467C65F-C7C1-439D-AB26-7C360DB61865.xml&amp;amp;docid=GUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337&amp;amp;inner_id=&amp;amp;tid=&amp;amp;query=&amp;amp;scope=&amp;amp;resource=&amp;amp;toc=false&amp;amp;eventType=lcContent.loadDocGUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337 OsiPi's Specification]. In the ''Server-Configuration'', it's possible to adjust the formatting [https://docs.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo Culture] and leading-zeroes trimming.&lt;br /&gt;
&lt;br /&gt;
=== Binding to Description ===&lt;br /&gt;
Like with a regular property, the description of a live value property can be accessed as the following.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Description}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hint|It's possible that the description comes not from the property's underlying [[MetaProperty]], but rather from the value of an attribute called &amp;quot;UI_DESCR&amp;quot; (if present).{{Version/WinXSince|4.5}}{{Version/XamarinSince|4.5}}}}&lt;br /&gt;
&lt;br /&gt;
=== Binding to Unit ===&lt;br /&gt;
Like with a regular property, the unit of a live value property can be accessed as the following.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Unit}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hint|It's possible that the unit comes not from the property's underlying [[MetaProperty]], but rather from the value of an attribute called &amp;quot;UNIT&amp;quot; (if present).{{Version/WinXSince|4.5}}{{Version/XamarinSince|4.5}}}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[HowTo:Implementing_Live_Values]]&lt;br /&gt;
* [[Charts]]&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.0|Live Values]]&lt;br /&gt;
[[Category:Android|Live Values]]&lt;br /&gt;
[[Category:Live Values|Live Values]]&lt;br /&gt;
[[Category:Mobile|Live Values]]&lt;br /&gt;
[[Category:Server|Live Values]]&lt;br /&gt;
[[Category:WinX|Live Values]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Live_Values&amp;diff=29865</id>
		<title>Live Values</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Live_Values&amp;diff=29865"/>
				<updated>2026-05-11T10:08:40Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* Map view */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:livevalues_xamarin.jpg |thumb|border|alt= Live values in Mobile|Live values in Mobile]]&lt;br /&gt;
[[File:livevalues_winx.png |thumb|border|alt= Live values in WinX|Live values in WinX]]&lt;br /&gt;
Live values are properties that update with a configured frequency. These properties contain information about reliability, measurement quality, and synchronization, as well as custom data (attributes). Real-time data, originating from various systems, can be delivered to the clients with minimum delay.&lt;br /&gt;
&lt;br /&gt;
The Mobile and WinX clients display live values alongside other properties, and they are also shown on the [[Map View|map view]] upon selecting the specific object.&lt;br /&gt;
&lt;br /&gt;
Also check out the [[HowTo:Implementing_Live_Values|Guide for Implementing Live Values]].&lt;br /&gt;
&lt;br /&gt;
== Content Browser ==&lt;br /&gt;
The row for live value properties differs only slightly from normal property rows. On the left of the property value, below the description, is a connectivity indicator icon (reminding of the connectivity icon from cell phones). The more current the property value and the better its quality is, the better the connectivity is indicated. If all bars are greyed out and a small red cross is shown, the last update happened very long ago or no update was received at all, or the measurement quality is bad. For detailed information about that, a detailed dialog is necessary.&lt;br /&gt;
&lt;br /&gt;
=== Connectivity Indicator ===&lt;br /&gt;
[[File:UI_android_live_values_freshness_indicators.png |thumb|border|alt= States of the connectivity indicator|States of the connectivity indicator]]&lt;br /&gt;
&lt;br /&gt;
The connectivity indicator has the following states, from left to right:&lt;br /&gt;
* Good&lt;br /&gt;
* Questionable&lt;br /&gt;
* Bad&lt;br /&gt;
&lt;br /&gt;
Note that the connectivity indicator combines the freshness and the measurement quality of the live value, this describing the overall reliability of the value instead of just how recent it is.&lt;br /&gt;
&lt;br /&gt;
The following gallery gives an overview of the possible synchronization states of live value property rows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;360&amp;quot;&amp;gt;&lt;br /&gt;
File:LiveValuesMobile.jpg| Reliable live values (Mobile)&lt;br /&gt;
File:LiveValues_WinX.png| Reliable live values (Windows)&lt;br /&gt;
File:LiveValuesDetailView.png| Reliable live values in the details view (Windows)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.0|Live Values]]&lt;br /&gt;
[[Category:Android|Live Values]]&lt;br /&gt;
[[Category:Live Values|Live Values]]&lt;br /&gt;
[[Category:Mobile|Live Values]]&lt;br /&gt;
[[Category:Server|Live Values]]&lt;br /&gt;
[[Category:WinX|Live Values]]&lt;br /&gt;
&lt;br /&gt;
==Map view==&lt;br /&gt;
[[File:LiveValuesMapViewWinX.png |400px|border|alt= Live values map view|Live values map view (Windows)]]&lt;br /&gt;
&lt;br /&gt;
Upon clicking a correctly configured object within the map view, properties are shown within the opened dialog. It is important to know, that only '''High priority''' properties are shown here, altering the [[Settings#List of settings|priority threshold]] setting may change the visibility of the live property in the map view.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
{{Category/Version|2.5.0}}&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.0|Live Values]]&lt;br /&gt;
[[Category:Android|Live Values]]&lt;br /&gt;
[[Category:Live Values|Live Values]]&lt;br /&gt;
[[Category:Mobile|Live Values]]&lt;br /&gt;
[[Category:Server|Live Values]]&lt;br /&gt;
[[Category:WinX|Live Values]]&lt;br /&gt;
&lt;br /&gt;
== Detail dialog ==&lt;br /&gt;
The freshness is very crucial in order to know whether the live property value can be trusted, but there are other influences like how good the measurement itself was. These information gets displayed via a dialog, the user can upon clicking the [[Live Values#Freshness Indicator |freshness indicator]] symbol both in the content Browser or the map view.&lt;br /&gt;
Within the dialog, several detailed information can be seen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;75%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Description!! Information&lt;br /&gt;
|-&lt;br /&gt;
| ''Live Value''|| Provides the same information as the row itself, namely value and as an icon the connectivity indicator.&lt;br /&gt;
|-&lt;br /&gt;
| ''Recentness''|| Displays how long ago the last synchronization was, based on the internal freshness evaluation system. &lt;br /&gt;
|-&lt;br /&gt;
| ''Last Synchronization''|| Displays the exact timestamp of the last successful synchronization, out of this, the recentness is evaluated.&lt;br /&gt;
|-&lt;br /&gt;
| ''Measurement time stamp''|| Measurement time stamp provided by the measurement unit itself (for instance a pressure measurement unit). It should not be trusted entirely since device time and measurement until time could have a huge difference.&lt;br /&gt;
|-&lt;br /&gt;
| ''Measurement quality''|| Quality information provided by the measurement unit or data collecting instance (e.g. OPCUA Server) which together with the &amp;quot;Recentness&amp;quot; gets combined to evaluate the [[Live Values#Freshness Indicator |freshness indicator]]. In addition, a more detailed description of the measurement gets displayed if available.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Some examples how such a detailed information dialog looks like in the following gallery:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;360&amp;quot;&amp;gt;&lt;br /&gt;
File:UI_android_live_values_dialog_new.png| Fresh live values (Android)&lt;br /&gt;
File:UI_windows_live_values_dialog_new.png| Fresh live values (WinX)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Attributes {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}} ==&lt;br /&gt;
[[File:attributes.png |thumb|Attributes in the detail dialog (WinX)]]&lt;br /&gt;
Attributes are additional data that are sent to clients with every value update. They can be customized where the live values are generated (in the plugin) to contain the unit, formatted value, description, etc. &lt;br /&gt;
&lt;br /&gt;
They were introduced in Service {{Version/ServerSince|2.6.4}} Version 2.6.4 and Client Version 3.6.&lt;br /&gt;
&lt;br /&gt;
Since {{Version/ServerSince|4.5.0}} Version 4.5.0 UBIK Live Values support properties being classified as LiveValueAttribute. If they are filled out, the value is sent as LiveValueAttribute to the client with every value update. The Standard Live Value Metaclass provides two Standard (LiveValueAttribute) properties (UI_DESCR and UNIT). It is possible to add more properties if necessary. The Name of the MetaProperty is used as Attribute - Key. In the case of a name conflict the Attribute coming from the Live Value Server is wins against the Attribute coming from the LiveValue.&lt;br /&gt;
Following types are supported:&lt;br /&gt;
* String&lt;br /&gt;
* Multi language String&lt;br /&gt;
* Integer&lt;br /&gt;
* DateTime&lt;br /&gt;
* Double&lt;br /&gt;
* GeoData&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Accessing from XAML ==&lt;br /&gt;
Live values can be easily accessed from XAML, as long as the view model has a reference to the '''Properties''' collection.&lt;br /&gt;
&lt;br /&gt;
=== Displaying all Live Values ===&lt;br /&gt;
This XAML code will generate a list of all live values of this object:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ListView ItemsSource=&amp;quot;{Binding Properties.ImportantLiveItems}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ListView.ItemTemplate&amp;gt;&lt;br /&gt;
        &amp;lt;DataTemplate&amp;gt;&lt;br /&gt;
            &amp;lt;Grid Width=&amp;quot;100&amp;quot;  Height=&amp;quot;40&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;FontIcon FontFamily=&amp;quot;Segoe MDL2 Assets&amp;quot; Glyph=&amp;quot;{Binding LiveValueQualitySymbol}&amp;quot; HorizontalAlignment=&amp;quot;Left&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;TextBlock Text=&amp;quot;{Binding DisplayValue}&amp;quot; HorizontalAlignment=&amp;quot;Right&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/Grid&amp;gt;&lt;br /&gt;
        &amp;lt;/DataTemplate&amp;gt;&lt;br /&gt;
    &amp;lt;/ListView.ItemTemplate&amp;gt;&lt;br /&gt;
&amp;lt;/ListView&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Accessing Single Value ===&lt;br /&gt;
This code binds the value of the '''LMP_FLOW''' LiveValue-MetaProperty to a &amp;lt;code&amp;gt;TextBlock&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Value}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Furthermore, you can bind to:&lt;br /&gt;
* Description&lt;br /&gt;
* QualitySymbol&lt;br /&gt;
* Age&lt;br /&gt;
* LastSync&lt;br /&gt;
* TimeStamp&lt;br /&gt;
* Attributes (see below) {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}}&lt;br /&gt;
&lt;br /&gt;
=== Binding to Attributes {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}} ===&lt;br /&gt;
Attributes can be bound to similarly as to the individual value:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Attributes[Unit].Value}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following data are available for each attribute:&lt;br /&gt;
* Value&lt;br /&gt;
* Key&lt;br /&gt;
* Description&lt;br /&gt;
&lt;br /&gt;
==== Further Attributes ====&lt;br /&gt;
Custom attributes can be defined in the corresponding '''Live Value Interface''', with some of them pre-defined in the corresponding interfaces. &lt;br /&gt;
&lt;br /&gt;
As an example, the [[OSIPI_(Plugin)|OSIPI Plugin]] defines an Attribute called '''FORMATTED''', which contains the ''Value'' already pre-formatted according to [https://livelibrary.osisoft.com/LiveLibrary/content/en/webparts-v4/GUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337#addHistory=true&amp;amp;filename=GUID-A467C65F-C7C1-439D-AB26-7C360DB61865.xml&amp;amp;docid=GUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337&amp;amp;inner_id=&amp;amp;tid=&amp;amp;query=&amp;amp;scope=&amp;amp;resource=&amp;amp;toc=false&amp;amp;eventType=lcContent.loadDocGUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337 OsiPi's Specification]. In the ''Server-Configuration'', it's possible to adjust the formatting [https://docs.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo Culture] and leading-zeroes trimming.&lt;br /&gt;
&lt;br /&gt;
=== Binding to Description ===&lt;br /&gt;
Like with a regular property, the description of a live value property can be accessed as the following.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Description}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hint|It's possible that the description comes not from the property's underlying [[MetaProperty]], but rather from the value of an attribute called &amp;quot;UI_DESCR&amp;quot; (if present).{{Version/WinXSince|4.5}}{{Version/XamarinSince|4.5}}}}&lt;br /&gt;
&lt;br /&gt;
=== Binding to Unit ===&lt;br /&gt;
Like with a regular property, the unit of a live value property can be accessed as the following.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Unit}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hint|It's possible that the unit comes not from the property's underlying [[MetaProperty]], but rather from the value of an attribute called &amp;quot;UNIT&amp;quot; (if present).{{Version/WinXSince|4.5}}{{Version/XamarinSince|4.5}}}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[HowTo:Implementing_Live_Values]]&lt;br /&gt;
* [[Charts]]&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.0|Live Values]]&lt;br /&gt;
[[Category:Android|Live Values]]&lt;br /&gt;
[[Category:Live Values|Live Values]]&lt;br /&gt;
[[Category:Mobile|Live Values]]&lt;br /&gt;
[[Category:Server|Live Values]]&lt;br /&gt;
[[Category:WinX|Live Values]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Live_Values&amp;diff=29864</id>
		<title>Live Values</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Live_Values&amp;diff=29864"/>
				<updated>2026-05-11T10:08:10Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* Map view */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:livevalues_xamarin.jpg |thumb|border|alt= Live values in Mobile|Live values in Mobile]]&lt;br /&gt;
[[File:livevalues_winx.png |thumb|border|alt= Live values in WinX|Live values in WinX]]&lt;br /&gt;
Live values are properties that update with a configured frequency. These properties contain information about reliability, measurement quality, and synchronization, as well as custom data (attributes). Real-time data, originating from various systems, can be delivered to the clients with minimum delay.&lt;br /&gt;
&lt;br /&gt;
The Mobile and WinX clients display live values alongside other properties, and they are also shown on the [[Map View|map view]] upon selecting the specific object.&lt;br /&gt;
&lt;br /&gt;
Also check out the [[HowTo:Implementing_Live_Values|Guide for Implementing Live Values]].&lt;br /&gt;
&lt;br /&gt;
== Content Browser ==&lt;br /&gt;
The row for live value properties differs only slightly from normal property rows. On the left of the property value, below the description, is a connectivity indicator icon (reminding of the connectivity icon from cell phones). The more current the property value and the better its quality is, the better the connectivity is indicated. If all bars are greyed out and a small red cross is shown, the last update happened very long ago or no update was received at all, or the measurement quality is bad. For detailed information about that, a detailed dialog is necessary.&lt;br /&gt;
&lt;br /&gt;
=== Connectivity Indicator ===&lt;br /&gt;
[[File:UI_android_live_values_freshness_indicators.png |thumb|border|alt= States of the connectivity indicator|States of the connectivity indicator]]&lt;br /&gt;
&lt;br /&gt;
The connectivity indicator has the following states, from left to right:&lt;br /&gt;
* Good&lt;br /&gt;
* Questionable&lt;br /&gt;
* Bad&lt;br /&gt;
&lt;br /&gt;
Note that the connectivity indicator combines the freshness and the measurement quality of the live value, this describing the overall reliability of the value instead of just how recent it is.&lt;br /&gt;
&lt;br /&gt;
The following gallery gives an overview of the possible synchronization states of live value property rows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;360&amp;quot;&amp;gt;&lt;br /&gt;
File:LiveValuesMobile.jpg| Reliable live values (Mobile)&lt;br /&gt;
File:LiveValues_WinX.png| Reliable live values (Windows)&lt;br /&gt;
File:LiveValuesDetailView.png| Reliable live values in the details view (Windows)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.0|Live Values]]&lt;br /&gt;
[[Category:Android|Live Values]]&lt;br /&gt;
[[Category:Live Values|Live Values]]&lt;br /&gt;
[[Category:Mobile|Live Values]]&lt;br /&gt;
[[Category:Server|Live Values]]&lt;br /&gt;
[[Category:WinX|Live Values]]&lt;br /&gt;
&lt;br /&gt;
==Map view==&lt;br /&gt;
[[File:LiveValuesMapViewWinX.png |200px|border|alt= Live values map view|Live values map view (Windows)]]&lt;br /&gt;
&lt;br /&gt;
Upon clicking a correctly configured object within the map view, properties are shown within the opened dialog. It is important to know, that only '''High priority''' properties are shown here, altering the [[Settings#List of settings|priority threshold]] setting may change the visibility of the live property in the map view.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
{{Category/Version|2.5.0}}&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.0|Live Values]]&lt;br /&gt;
[[Category:Android|Live Values]]&lt;br /&gt;
[[Category:Live Values|Live Values]]&lt;br /&gt;
[[Category:Mobile|Live Values]]&lt;br /&gt;
[[Category:Server|Live Values]]&lt;br /&gt;
[[Category:WinX|Live Values]]&lt;br /&gt;
&lt;br /&gt;
== Detail dialog ==&lt;br /&gt;
The freshness is very crucial in order to know whether the live property value can be trusted, but there are other influences like how good the measurement itself was. These information gets displayed via a dialog, the user can upon clicking the [[Live Values#Freshness Indicator |freshness indicator]] symbol both in the content Browser or the map view.&lt;br /&gt;
Within the dialog, several detailed information can be seen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;75%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Description!! Information&lt;br /&gt;
|-&lt;br /&gt;
| ''Live Value''|| Provides the same information as the row itself, namely value and as an icon the connectivity indicator.&lt;br /&gt;
|-&lt;br /&gt;
| ''Recentness''|| Displays how long ago the last synchronization was, based on the internal freshness evaluation system. &lt;br /&gt;
|-&lt;br /&gt;
| ''Last Synchronization''|| Displays the exact timestamp of the last successful synchronization, out of this, the recentness is evaluated.&lt;br /&gt;
|-&lt;br /&gt;
| ''Measurement time stamp''|| Measurement time stamp provided by the measurement unit itself (for instance a pressure measurement unit). It should not be trusted entirely since device time and measurement until time could have a huge difference.&lt;br /&gt;
|-&lt;br /&gt;
| ''Measurement quality''|| Quality information provided by the measurement unit or data collecting instance (e.g. OPCUA Server) which together with the &amp;quot;Recentness&amp;quot; gets combined to evaluate the [[Live Values#Freshness Indicator |freshness indicator]]. In addition, a more detailed description of the measurement gets displayed if available.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Some examples how such a detailed information dialog looks like in the following gallery:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;360&amp;quot;&amp;gt;&lt;br /&gt;
File:UI_android_live_values_dialog_new.png| Fresh live values (Android)&lt;br /&gt;
File:UI_windows_live_values_dialog_new.png| Fresh live values (WinX)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Attributes {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}} ==&lt;br /&gt;
[[File:attributes.png |thumb|Attributes in the detail dialog (WinX)]]&lt;br /&gt;
Attributes are additional data that are sent to clients with every value update. They can be customized where the live values are generated (in the plugin) to contain the unit, formatted value, description, etc. &lt;br /&gt;
&lt;br /&gt;
They were introduced in Service {{Version/ServerSince|2.6.4}} Version 2.6.4 and Client Version 3.6.&lt;br /&gt;
&lt;br /&gt;
Since {{Version/ServerSince|4.5.0}} Version 4.5.0 UBIK Live Values support properties being classified as LiveValueAttribute. If they are filled out, the value is sent as LiveValueAttribute to the client with every value update. The Standard Live Value Metaclass provides two Standard (LiveValueAttribute) properties (UI_DESCR and UNIT). It is possible to add more properties if necessary. The Name of the MetaProperty is used as Attribute - Key. In the case of a name conflict the Attribute coming from the Live Value Server is wins against the Attribute coming from the LiveValue.&lt;br /&gt;
Following types are supported:&lt;br /&gt;
* String&lt;br /&gt;
* Multi language String&lt;br /&gt;
* Integer&lt;br /&gt;
* DateTime&lt;br /&gt;
* Double&lt;br /&gt;
* GeoData&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Accessing from XAML ==&lt;br /&gt;
Live values can be easily accessed from XAML, as long as the view model has a reference to the '''Properties''' collection.&lt;br /&gt;
&lt;br /&gt;
=== Displaying all Live Values ===&lt;br /&gt;
This XAML code will generate a list of all live values of this object:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ListView ItemsSource=&amp;quot;{Binding Properties.ImportantLiveItems}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ListView.ItemTemplate&amp;gt;&lt;br /&gt;
        &amp;lt;DataTemplate&amp;gt;&lt;br /&gt;
            &amp;lt;Grid Width=&amp;quot;100&amp;quot;  Height=&amp;quot;40&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;FontIcon FontFamily=&amp;quot;Segoe MDL2 Assets&amp;quot; Glyph=&amp;quot;{Binding LiveValueQualitySymbol}&amp;quot; HorizontalAlignment=&amp;quot;Left&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;TextBlock Text=&amp;quot;{Binding DisplayValue}&amp;quot; HorizontalAlignment=&amp;quot;Right&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/Grid&amp;gt;&lt;br /&gt;
        &amp;lt;/DataTemplate&amp;gt;&lt;br /&gt;
    &amp;lt;/ListView.ItemTemplate&amp;gt;&lt;br /&gt;
&amp;lt;/ListView&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Accessing Single Value ===&lt;br /&gt;
This code binds the value of the '''LMP_FLOW''' LiveValue-MetaProperty to a &amp;lt;code&amp;gt;TextBlock&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Value}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Furthermore, you can bind to:&lt;br /&gt;
* Description&lt;br /&gt;
* QualitySymbol&lt;br /&gt;
* Age&lt;br /&gt;
* LastSync&lt;br /&gt;
* TimeStamp&lt;br /&gt;
* Attributes (see below) {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}}&lt;br /&gt;
&lt;br /&gt;
=== Binding to Attributes {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}} ===&lt;br /&gt;
Attributes can be bound to similarly as to the individual value:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Attributes[Unit].Value}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following data are available for each attribute:&lt;br /&gt;
* Value&lt;br /&gt;
* Key&lt;br /&gt;
* Description&lt;br /&gt;
&lt;br /&gt;
==== Further Attributes ====&lt;br /&gt;
Custom attributes can be defined in the corresponding '''Live Value Interface''', with some of them pre-defined in the corresponding interfaces. &lt;br /&gt;
&lt;br /&gt;
As an example, the [[OSIPI_(Plugin)|OSIPI Plugin]] defines an Attribute called '''FORMATTED''', which contains the ''Value'' already pre-formatted according to [https://livelibrary.osisoft.com/LiveLibrary/content/en/webparts-v4/GUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337#addHistory=true&amp;amp;filename=GUID-A467C65F-C7C1-439D-AB26-7C360DB61865.xml&amp;amp;docid=GUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337&amp;amp;inner_id=&amp;amp;tid=&amp;amp;query=&amp;amp;scope=&amp;amp;resource=&amp;amp;toc=false&amp;amp;eventType=lcContent.loadDocGUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337 OsiPi's Specification]. In the ''Server-Configuration'', it's possible to adjust the formatting [https://docs.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo Culture] and leading-zeroes trimming.&lt;br /&gt;
&lt;br /&gt;
=== Binding to Description ===&lt;br /&gt;
Like with a regular property, the description of a live value property can be accessed as the following.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Description}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hint|It's possible that the description comes not from the property's underlying [[MetaProperty]], but rather from the value of an attribute called &amp;quot;UI_DESCR&amp;quot; (if present).{{Version/WinXSince|4.5}}{{Version/XamarinSince|4.5}}}}&lt;br /&gt;
&lt;br /&gt;
=== Binding to Unit ===&lt;br /&gt;
Like with a regular property, the unit of a live value property can be accessed as the following.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Unit}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hint|It's possible that the unit comes not from the property's underlying [[MetaProperty]], but rather from the value of an attribute called &amp;quot;UNIT&amp;quot; (if present).{{Version/WinXSince|4.5}}{{Version/XamarinSince|4.5}}}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[HowTo:Implementing_Live_Values]]&lt;br /&gt;
* [[Charts]]&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.0|Live Values]]&lt;br /&gt;
[[Category:Android|Live Values]]&lt;br /&gt;
[[Category:Live Values|Live Values]]&lt;br /&gt;
[[Category:Mobile|Live Values]]&lt;br /&gt;
[[Category:Server|Live Values]]&lt;br /&gt;
[[Category:WinX|Live Values]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Live_Values&amp;diff=29863</id>
		<title>Live Values</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Live_Values&amp;diff=29863"/>
				<updated>2026-05-11T10:07:31Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* Map view */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:livevalues_xamarin.jpg |thumb|border|alt= Live values in Mobile|Live values in Mobile]]&lt;br /&gt;
[[File:livevalues_winx.png |thumb|border|alt= Live values in WinX|Live values in WinX]]&lt;br /&gt;
Live values are properties that update with a configured frequency. These properties contain information about reliability, measurement quality, and synchronization, as well as custom data (attributes). Real-time data, originating from various systems, can be delivered to the clients with minimum delay.&lt;br /&gt;
&lt;br /&gt;
The Mobile and WinX clients display live values alongside other properties, and they are also shown on the [[Map View|map view]] upon selecting the specific object.&lt;br /&gt;
&lt;br /&gt;
Also check out the [[HowTo:Implementing_Live_Values|Guide for Implementing Live Values]].&lt;br /&gt;
&lt;br /&gt;
== Content Browser ==&lt;br /&gt;
The row for live value properties differs only slightly from normal property rows. On the left of the property value, below the description, is a connectivity indicator icon (reminding of the connectivity icon from cell phones). The more current the property value and the better its quality is, the better the connectivity is indicated. If all bars are greyed out and a small red cross is shown, the last update happened very long ago or no update was received at all, or the measurement quality is bad. For detailed information about that, a detailed dialog is necessary.&lt;br /&gt;
&lt;br /&gt;
=== Connectivity Indicator ===&lt;br /&gt;
[[File:UI_android_live_values_freshness_indicators.png |thumb|border|alt= States of the connectivity indicator|States of the connectivity indicator]]&lt;br /&gt;
&lt;br /&gt;
The connectivity indicator has the following states, from left to right:&lt;br /&gt;
* Good&lt;br /&gt;
* Questionable&lt;br /&gt;
* Bad&lt;br /&gt;
&lt;br /&gt;
Note that the connectivity indicator combines the freshness and the measurement quality of the live value, this describing the overall reliability of the value instead of just how recent it is.&lt;br /&gt;
&lt;br /&gt;
The following gallery gives an overview of the possible synchronization states of live value property rows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;360&amp;quot;&amp;gt;&lt;br /&gt;
File:LiveValuesMobile.jpg| Reliable live values (Mobile)&lt;br /&gt;
File:LiveValues_WinX.png| Reliable live values (Windows)&lt;br /&gt;
File:LiveValuesDetailView.png| Reliable live values in the details view (Windows)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.0|Live Values]]&lt;br /&gt;
[[Category:Android|Live Values]]&lt;br /&gt;
[[Category:Live Values|Live Values]]&lt;br /&gt;
[[Category:Mobile|Live Values]]&lt;br /&gt;
[[Category:Server|Live Values]]&lt;br /&gt;
[[Category:WinX|Live Values]]&lt;br /&gt;
&lt;br /&gt;
==Map view==&lt;br /&gt;
[[File:LiveValuesMapViewWinX.png |thumb|border|alt= Live values map view|Live values map view (Windows)]]&lt;br /&gt;
&lt;br /&gt;
Upon clicking a correctly configured object within the map view, properties are shown within the opened dialog. It is important to know, that only '''High priority''' properties are shown here, altering the [[Settings#List of settings|priority threshold]] setting may change the visibility of the live property in the map view.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
{{Category/Version|2.5.0}}&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.0|Live Values]]&lt;br /&gt;
[[Category:Android|Live Values]]&lt;br /&gt;
[[Category:Live Values|Live Values]]&lt;br /&gt;
[[Category:Mobile|Live Values]]&lt;br /&gt;
[[Category:Server|Live Values]]&lt;br /&gt;
[[Category:WinX|Live Values]]&lt;br /&gt;
&lt;br /&gt;
== Detail dialog ==&lt;br /&gt;
The freshness is very crucial in order to know whether the live property value can be trusted, but there are other influences like how good the measurement itself was. These information gets displayed via a dialog, the user can upon clicking the [[Live Values#Freshness Indicator |freshness indicator]] symbol both in the content Browser or the map view.&lt;br /&gt;
Within the dialog, several detailed information can be seen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;75%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Description!! Information&lt;br /&gt;
|-&lt;br /&gt;
| ''Live Value''|| Provides the same information as the row itself, namely value and as an icon the connectivity indicator.&lt;br /&gt;
|-&lt;br /&gt;
| ''Recentness''|| Displays how long ago the last synchronization was, based on the internal freshness evaluation system. &lt;br /&gt;
|-&lt;br /&gt;
| ''Last Synchronization''|| Displays the exact timestamp of the last successful synchronization, out of this, the recentness is evaluated.&lt;br /&gt;
|-&lt;br /&gt;
| ''Measurement time stamp''|| Measurement time stamp provided by the measurement unit itself (for instance a pressure measurement unit). It should not be trusted entirely since device time and measurement until time could have a huge difference.&lt;br /&gt;
|-&lt;br /&gt;
| ''Measurement quality''|| Quality information provided by the measurement unit or data collecting instance (e.g. OPCUA Server) which together with the &amp;quot;Recentness&amp;quot; gets combined to evaluate the [[Live Values#Freshness Indicator |freshness indicator]]. In addition, a more detailed description of the measurement gets displayed if available.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Some examples how such a detailed information dialog looks like in the following gallery:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;360&amp;quot;&amp;gt;&lt;br /&gt;
File:UI_android_live_values_dialog_new.png| Fresh live values (Android)&lt;br /&gt;
File:UI_windows_live_values_dialog_new.png| Fresh live values (WinX)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Attributes {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}} ==&lt;br /&gt;
[[File:attributes.png |thumb|Attributes in the detail dialog (WinX)]]&lt;br /&gt;
Attributes are additional data that are sent to clients with every value update. They can be customized where the live values are generated (in the plugin) to contain the unit, formatted value, description, etc. &lt;br /&gt;
&lt;br /&gt;
They were introduced in Service {{Version/ServerSince|2.6.4}} Version 2.6.4 and Client Version 3.6.&lt;br /&gt;
&lt;br /&gt;
Since {{Version/ServerSince|4.5.0}} Version 4.5.0 UBIK Live Values support properties being classified as LiveValueAttribute. If they are filled out, the value is sent as LiveValueAttribute to the client with every value update. The Standard Live Value Metaclass provides two Standard (LiveValueAttribute) properties (UI_DESCR and UNIT). It is possible to add more properties if necessary. The Name of the MetaProperty is used as Attribute - Key. In the case of a name conflict the Attribute coming from the Live Value Server is wins against the Attribute coming from the LiveValue.&lt;br /&gt;
Following types are supported:&lt;br /&gt;
* String&lt;br /&gt;
* Multi language String&lt;br /&gt;
* Integer&lt;br /&gt;
* DateTime&lt;br /&gt;
* Double&lt;br /&gt;
* GeoData&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Accessing from XAML ==&lt;br /&gt;
Live values can be easily accessed from XAML, as long as the view model has a reference to the '''Properties''' collection.&lt;br /&gt;
&lt;br /&gt;
=== Displaying all Live Values ===&lt;br /&gt;
This XAML code will generate a list of all live values of this object:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ListView ItemsSource=&amp;quot;{Binding Properties.ImportantLiveItems}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ListView.ItemTemplate&amp;gt;&lt;br /&gt;
        &amp;lt;DataTemplate&amp;gt;&lt;br /&gt;
            &amp;lt;Grid Width=&amp;quot;100&amp;quot;  Height=&amp;quot;40&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;FontIcon FontFamily=&amp;quot;Segoe MDL2 Assets&amp;quot; Glyph=&amp;quot;{Binding LiveValueQualitySymbol}&amp;quot; HorizontalAlignment=&amp;quot;Left&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;TextBlock Text=&amp;quot;{Binding DisplayValue}&amp;quot; HorizontalAlignment=&amp;quot;Right&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/Grid&amp;gt;&lt;br /&gt;
        &amp;lt;/DataTemplate&amp;gt;&lt;br /&gt;
    &amp;lt;/ListView.ItemTemplate&amp;gt;&lt;br /&gt;
&amp;lt;/ListView&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Accessing Single Value ===&lt;br /&gt;
This code binds the value of the '''LMP_FLOW''' LiveValue-MetaProperty to a &amp;lt;code&amp;gt;TextBlock&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Value}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Furthermore, you can bind to:&lt;br /&gt;
* Description&lt;br /&gt;
* QualitySymbol&lt;br /&gt;
* Age&lt;br /&gt;
* LastSync&lt;br /&gt;
* TimeStamp&lt;br /&gt;
* Attributes (see below) {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}}&lt;br /&gt;
&lt;br /&gt;
=== Binding to Attributes {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}} ===&lt;br /&gt;
Attributes can be bound to similarly as to the individual value:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Attributes[Unit].Value}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following data are available for each attribute:&lt;br /&gt;
* Value&lt;br /&gt;
* Key&lt;br /&gt;
* Description&lt;br /&gt;
&lt;br /&gt;
==== Further Attributes ====&lt;br /&gt;
Custom attributes can be defined in the corresponding '''Live Value Interface''', with some of them pre-defined in the corresponding interfaces. &lt;br /&gt;
&lt;br /&gt;
As an example, the [[OSIPI_(Plugin)|OSIPI Plugin]] defines an Attribute called '''FORMATTED''', which contains the ''Value'' already pre-formatted according to [https://livelibrary.osisoft.com/LiveLibrary/content/en/webparts-v4/GUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337#addHistory=true&amp;amp;filename=GUID-A467C65F-C7C1-439D-AB26-7C360DB61865.xml&amp;amp;docid=GUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337&amp;amp;inner_id=&amp;amp;tid=&amp;amp;query=&amp;amp;scope=&amp;amp;resource=&amp;amp;toc=false&amp;amp;eventType=lcContent.loadDocGUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337 OsiPi's Specification]. In the ''Server-Configuration'', it's possible to adjust the formatting [https://docs.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo Culture] and leading-zeroes trimming.&lt;br /&gt;
&lt;br /&gt;
=== Binding to Description ===&lt;br /&gt;
Like with a regular property, the description of a live value property can be accessed as the following.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Description}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hint|It's possible that the description comes not from the property's underlying [[MetaProperty]], but rather from the value of an attribute called &amp;quot;UI_DESCR&amp;quot; (if present).{{Version/WinXSince|4.5}}{{Version/XamarinSince|4.5}}}}&lt;br /&gt;
&lt;br /&gt;
=== Binding to Unit ===&lt;br /&gt;
Like with a regular property, the unit of a live value property can be accessed as the following.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Unit}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hint|It's possible that the unit comes not from the property's underlying [[MetaProperty]], but rather from the value of an attribute called &amp;quot;UNIT&amp;quot; (if present).{{Version/WinXSince|4.5}}{{Version/XamarinSince|4.5}}}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[HowTo:Implementing_Live_Values]]&lt;br /&gt;
* [[Charts]]&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.0|Live Values]]&lt;br /&gt;
[[Category:Android|Live Values]]&lt;br /&gt;
[[Category:Live Values|Live Values]]&lt;br /&gt;
[[Category:Mobile|Live Values]]&lt;br /&gt;
[[Category:Server|Live Values]]&lt;br /&gt;
[[Category:WinX|Live Values]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:LiveValuesMapViewWinX.png&amp;diff=29862</id>
		<title>File:LiveValuesMapViewWinX.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:LiveValuesMapViewWinX.png&amp;diff=29862"/>
				<updated>2026-05-11T10:07:13Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Live_Values&amp;diff=29861</id>
		<title>Live Values</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Live_Values&amp;diff=29861"/>
				<updated>2026-05-11T10:06:22Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* Connectivity Indicator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:livevalues_xamarin.jpg |thumb|border|alt= Live values in Mobile|Live values in Mobile]]&lt;br /&gt;
[[File:livevalues_winx.png |thumb|border|alt= Live values in WinX|Live values in WinX]]&lt;br /&gt;
Live values are properties that update with a configured frequency. These properties contain information about reliability, measurement quality, and synchronization, as well as custom data (attributes). Real-time data, originating from various systems, can be delivered to the clients with minimum delay.&lt;br /&gt;
&lt;br /&gt;
The Mobile and WinX clients display live values alongside other properties, and they are also shown on the [[Map View|map view]] upon selecting the specific object.&lt;br /&gt;
&lt;br /&gt;
Also check out the [[HowTo:Implementing_Live_Values|Guide for Implementing Live Values]].&lt;br /&gt;
&lt;br /&gt;
== Content Browser ==&lt;br /&gt;
The row for live value properties differs only slightly from normal property rows. On the left of the property value, below the description, is a connectivity indicator icon (reminding of the connectivity icon from cell phones). The more current the property value and the better its quality is, the better the connectivity is indicated. If all bars are greyed out and a small red cross is shown, the last update happened very long ago or no update was received at all, or the measurement quality is bad. For detailed information about that, a detailed dialog is necessary.&lt;br /&gt;
&lt;br /&gt;
=== Connectivity Indicator ===&lt;br /&gt;
[[File:UI_android_live_values_freshness_indicators.png |thumb|border|alt= States of the connectivity indicator|States of the connectivity indicator]]&lt;br /&gt;
&lt;br /&gt;
The connectivity indicator has the following states, from left to right:&lt;br /&gt;
* Good&lt;br /&gt;
* Questionable&lt;br /&gt;
* Bad&lt;br /&gt;
&lt;br /&gt;
Note that the connectivity indicator combines the freshness and the measurement quality of the live value, this describing the overall reliability of the value instead of just how recent it is.&lt;br /&gt;
&lt;br /&gt;
The following gallery gives an overview of the possible synchronization states of live value property rows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;360&amp;quot;&amp;gt;&lt;br /&gt;
File:LiveValuesMobile.jpg| Reliable live values (Mobile)&lt;br /&gt;
File:LiveValues_WinX.png| Reliable live values (Windows)&lt;br /&gt;
File:LiveValuesDetailView.png| Reliable live values in the details view (Windows)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.0|Live Values]]&lt;br /&gt;
[[Category:Android|Live Values]]&lt;br /&gt;
[[Category:Live Values|Live Values]]&lt;br /&gt;
[[Category:Mobile|Live Values]]&lt;br /&gt;
[[Category:Server|Live Values]]&lt;br /&gt;
[[Category:WinX|Live Values]]&lt;br /&gt;
&lt;br /&gt;
==Map view==&lt;br /&gt;
[[File:UI_android_live_values_map_view.png |thumb|border|alt= Live values map view|Live values map view (Android)]]&lt;br /&gt;
[[File:UI_WinX_live_values_map_view.png |thumb|border|alt= Live values map view|Live values map view (Windows)]]&lt;br /&gt;
&lt;br /&gt;
Upon clicking a correctly configured object within the map view, properties are shown within the opened dialog. It is important to know, that only '''High priority''' properties are shown here, altering the [[Settings#List of settings|priority threshold]] setting may change the visibility of the live property in the map view.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
{{Category/Version|2.5.0}}&lt;br /&gt;
&lt;br /&gt;
== Detail dialog ==&lt;br /&gt;
The freshness is very crucial in order to know whether the live property value can be trusted, but there are other influences like how good the measurement itself was. These information gets displayed via a dialog, the user can upon clicking the [[Live Values#Freshness Indicator |freshness indicator]] symbol both in the content Browser or the map view.&lt;br /&gt;
Within the dialog, several detailed information can be seen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;75%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Description!! Information&lt;br /&gt;
|-&lt;br /&gt;
| ''Live Value''|| Provides the same information as the row itself, namely value and as an icon the connectivity indicator.&lt;br /&gt;
|-&lt;br /&gt;
| ''Recentness''|| Displays how long ago the last synchronization was, based on the internal freshness evaluation system. &lt;br /&gt;
|-&lt;br /&gt;
| ''Last Synchronization''|| Displays the exact timestamp of the last successful synchronization, out of this, the recentness is evaluated.&lt;br /&gt;
|-&lt;br /&gt;
| ''Measurement time stamp''|| Measurement time stamp provided by the measurement unit itself (for instance a pressure measurement unit). It should not be trusted entirely since device time and measurement until time could have a huge difference.&lt;br /&gt;
|-&lt;br /&gt;
| ''Measurement quality''|| Quality information provided by the measurement unit or data collecting instance (e.g. OPCUA Server) which together with the &amp;quot;Recentness&amp;quot; gets combined to evaluate the [[Live Values#Freshness Indicator |freshness indicator]]. In addition, a more detailed description of the measurement gets displayed if available.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Some examples how such a detailed information dialog looks like in the following gallery:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;360&amp;quot;&amp;gt;&lt;br /&gt;
File:UI_android_live_values_dialog_new.png| Fresh live values (Android)&lt;br /&gt;
File:UI_windows_live_values_dialog_new.png| Fresh live values (WinX)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Attributes {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}} ==&lt;br /&gt;
[[File:attributes.png |thumb|Attributes in the detail dialog (WinX)]]&lt;br /&gt;
Attributes are additional data that are sent to clients with every value update. They can be customized where the live values are generated (in the plugin) to contain the unit, formatted value, description, etc. &lt;br /&gt;
&lt;br /&gt;
They were introduced in Service {{Version/ServerSince|2.6.4}} Version 2.6.4 and Client Version 3.6.&lt;br /&gt;
&lt;br /&gt;
Since {{Version/ServerSince|4.5.0}} Version 4.5.0 UBIK Live Values support properties being classified as LiveValueAttribute. If they are filled out, the value is sent as LiveValueAttribute to the client with every value update. The Standard Live Value Metaclass provides two Standard (LiveValueAttribute) properties (UI_DESCR and UNIT). It is possible to add more properties if necessary. The Name of the MetaProperty is used as Attribute - Key. In the case of a name conflict the Attribute coming from the Live Value Server is wins against the Attribute coming from the LiveValue.&lt;br /&gt;
Following types are supported:&lt;br /&gt;
* String&lt;br /&gt;
* Multi language String&lt;br /&gt;
* Integer&lt;br /&gt;
* DateTime&lt;br /&gt;
* Double&lt;br /&gt;
* GeoData&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Accessing from XAML ==&lt;br /&gt;
Live values can be easily accessed from XAML, as long as the view model has a reference to the '''Properties''' collection.&lt;br /&gt;
&lt;br /&gt;
=== Displaying all Live Values ===&lt;br /&gt;
This XAML code will generate a list of all live values of this object:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ListView ItemsSource=&amp;quot;{Binding Properties.ImportantLiveItems}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ListView.ItemTemplate&amp;gt;&lt;br /&gt;
        &amp;lt;DataTemplate&amp;gt;&lt;br /&gt;
            &amp;lt;Grid Width=&amp;quot;100&amp;quot;  Height=&amp;quot;40&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;FontIcon FontFamily=&amp;quot;Segoe MDL2 Assets&amp;quot; Glyph=&amp;quot;{Binding LiveValueQualitySymbol}&amp;quot; HorizontalAlignment=&amp;quot;Left&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;TextBlock Text=&amp;quot;{Binding DisplayValue}&amp;quot; HorizontalAlignment=&amp;quot;Right&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/Grid&amp;gt;&lt;br /&gt;
        &amp;lt;/DataTemplate&amp;gt;&lt;br /&gt;
    &amp;lt;/ListView.ItemTemplate&amp;gt;&lt;br /&gt;
&amp;lt;/ListView&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Accessing Single Value ===&lt;br /&gt;
This code binds the value of the '''LMP_FLOW''' LiveValue-MetaProperty to a &amp;lt;code&amp;gt;TextBlock&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Value}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Furthermore, you can bind to:&lt;br /&gt;
* Description&lt;br /&gt;
* QualitySymbol&lt;br /&gt;
* Age&lt;br /&gt;
* LastSync&lt;br /&gt;
* TimeStamp&lt;br /&gt;
* Attributes (see below) {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}}&lt;br /&gt;
&lt;br /&gt;
=== Binding to Attributes {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}} ===&lt;br /&gt;
Attributes can be bound to similarly as to the individual value:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Attributes[Unit].Value}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following data are available for each attribute:&lt;br /&gt;
* Value&lt;br /&gt;
* Key&lt;br /&gt;
* Description&lt;br /&gt;
&lt;br /&gt;
==== Further Attributes ====&lt;br /&gt;
Custom attributes can be defined in the corresponding '''Live Value Interface''', with some of them pre-defined in the corresponding interfaces. &lt;br /&gt;
&lt;br /&gt;
As an example, the [[OSIPI_(Plugin)|OSIPI Plugin]] defines an Attribute called '''FORMATTED''', which contains the ''Value'' already pre-formatted according to [https://livelibrary.osisoft.com/LiveLibrary/content/en/webparts-v4/GUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337#addHistory=true&amp;amp;filename=GUID-A467C65F-C7C1-439D-AB26-7C360DB61865.xml&amp;amp;docid=GUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337&amp;amp;inner_id=&amp;amp;tid=&amp;amp;query=&amp;amp;scope=&amp;amp;resource=&amp;amp;toc=false&amp;amp;eventType=lcContent.loadDocGUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337 OsiPi's Specification]. In the ''Server-Configuration'', it's possible to adjust the formatting [https://docs.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo Culture] and leading-zeroes trimming.&lt;br /&gt;
&lt;br /&gt;
=== Binding to Description ===&lt;br /&gt;
Like with a regular property, the description of a live value property can be accessed as the following.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Description}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hint|It's possible that the description comes not from the property's underlying [[MetaProperty]], but rather from the value of an attribute called &amp;quot;UI_DESCR&amp;quot; (if present).{{Version/WinXSince|4.5}}{{Version/XamarinSince|4.5}}}}&lt;br /&gt;
&lt;br /&gt;
=== Binding to Unit ===&lt;br /&gt;
Like with a regular property, the unit of a live value property can be accessed as the following.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Unit}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hint|It's possible that the unit comes not from the property's underlying [[MetaProperty]], but rather from the value of an attribute called &amp;quot;UNIT&amp;quot; (if present).{{Version/WinXSince|4.5}}{{Version/XamarinSince|4.5}}}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[HowTo:Implementing_Live_Values]]&lt;br /&gt;
* [[Charts]]&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.0|Live Values]]&lt;br /&gt;
[[Category:Android|Live Values]]&lt;br /&gt;
[[Category:Live Values|Live Values]]&lt;br /&gt;
[[Category:Mobile|Live Values]]&lt;br /&gt;
[[Category:Server|Live Values]]&lt;br /&gt;
[[Category:WinX|Live Values]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:LiveValuesDetailView.png&amp;diff=29860</id>
		<title>File:LiveValuesDetailView.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:LiveValuesDetailView.png&amp;diff=29860"/>
				<updated>2026-05-11T10:05:34Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:LiveValues_WinX.png&amp;diff=29859</id>
		<title>File:LiveValues WinX.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:LiveValues_WinX.png&amp;diff=29859"/>
				<updated>2026-05-11T10:05:33Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Login_View&amp;diff=29858</id>
		<title>Login View</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Login_View&amp;diff=29858"/>
				<updated>2026-05-11T09:51:40Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* Profile selection */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For confidentiality reason, users are required to login before they have access to most of the {{UBIK}} features.&lt;br /&gt;
&lt;br /&gt;
== Accessing login view ==&lt;br /&gt;
The login view is displayed after starting the app. It is possible to access the login view from every where in the app by pressing the login icon in the top right corner and selecting &amp;quot;log out&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
At the top of the screen, the name of the most recently used profile (if any) will be displayed. When pressing &amp;quot;Login&amp;quot; without selecting a different profile first, this profile will automatically be used.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
== Profile selection ==&lt;br /&gt;
[[File:ProfileBrowser.png|300px|thumb|alt=Profile Browser|Profile Browser]]&lt;br /&gt;
The name of the currently selected profile is displayed on the top of the view. By default, the last used profile will be selected here.&lt;br /&gt;
It is possible to change the profile by pressing the Profile Button. The profile selection flyout will pop up, from which the user can select any profile (see the figure on the right).&lt;br /&gt;
&lt;br /&gt;
To add custom profiles, you must add them under the app's RoamingState folder. You can also categorize your profiles using subfolders within this directory.&lt;br /&gt;
You will see 2 different tabs when opening the profile selection view, with the third hidden by default.&lt;br /&gt;
&lt;br /&gt;
=== Favorites ===&lt;br /&gt;
The &amp;quot;Favorites&amp;quot; tab shows profiles that the user has marked as favorites. To mark a profile as favorite, simply click the the star icon next to a profile's name. You will see it immediately appearing in the favorites list (sorted alphabetically). You can of course undo this action by simply pressing the star icon again to unmark the profile as favorite.&lt;br /&gt;
&lt;br /&gt;
=== Recent ===&lt;br /&gt;
The &amp;quot;Recent&amp;quot; tab shows all available profiles, ordered by most recently used (at the top), to least recently used, excluding favorited profiles (which appear in the &amp;quot;Favorites&amp;quot; tab). When you click a profile anywhere in the selection view, it will be timestamped, and added to the top of the &amp;quot;Recent&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
=== Browser ===&lt;br /&gt;
To view the &amp;quot;Browser&amp;quot; tab, the user can click the expansion button on the right side to toggle the tab open or closed.&lt;br /&gt;
The &amp;quot;Browser&amp;quot; tab shows all available profiles (including favorites), but displays them exactly as your file browser would, including sub folders. The user can navigate through sub folders simply by clicking them.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Login View]]&lt;br /&gt;
[[Category:Mobile|Login View]]&lt;br /&gt;
[[Category:WinX|Login View]]&lt;br /&gt;
&lt;br /&gt;
== Login ==&lt;br /&gt;
&lt;br /&gt;
=== UWP older versions ===&lt;br /&gt;
[[File:UI_WinX_Login_Dialog.png|thumb|alt=Login Dialog|Login Dialog]]&lt;br /&gt;
The login dialog is opened by pressing the Login button. The dialog also opens automatically after selecting a profile.&lt;br /&gt;
The first time the user uses a single profile to connect to a service, he is asked whether the system should remember login and password (for the user and profile). If the user selects yes, the login dialog will not appear again and the credentials are used immediately the next time he connects by using the profile. If the user selects no, he has to enter his credentials every time.&lt;br /&gt;
&lt;br /&gt;
=== UWP{{Version/WinXSince|3.6}} &amp;amp; Mobile clients ===&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;350&amp;quot; heights=&amp;quot;300&amp;quot;&amp;gt;&lt;br /&gt;
File:LoginView_WinX.png|UBIK UWP{{Version/WinXSince|3.6}}&lt;br /&gt;
File:LoginViewUBIKGO.jpg|UBIK Mobile&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{UBIK}} can remember multiple users per profile. By default, the last remembered one for the selected profile is used. And as you type in a different username, {{UBIK}} constantly checks whether it is a remembered user. If so, the password is automatically filled so that you don't have to.&lt;br /&gt;
* A user can only be remembered after a successful online login, namely the username and password must be authenticated at least once by the server;&lt;br /&gt;
* If a new password is entered for a remembered user and it is authenticated by the server, the remembered one will be updated;&lt;br /&gt;
* By unchecking the remembering option and logging in, the remembered user will be &amp;quot;forgotten&amp;quot;. This is also possible without a server authentication. Afterwards, offline login is still possible for this user.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Login View]]&lt;br /&gt;
[[Category:Mobile|Login View]]&lt;br /&gt;
[[Category:WinX|Login View]]&lt;br /&gt;
&lt;br /&gt;
=== Offline Login ===&lt;br /&gt;
Every successful online login is stored. The stored credentials are used for supporting offline logins. &lt;br /&gt;
{{Hint|You can access a local database without online connection (offline) when the credentials were used once to connect successfully to the online service.}}&lt;br /&gt;
&lt;br /&gt;
=== Clear Cache ===&lt;br /&gt;
The clear cache feature (settings) deletes all the remembered credentials (login and password) from the system.&lt;br /&gt;
{{Attention|Offline logins are not possible after clearing the cache until the user connected once at the online service.}}&lt;br /&gt;
&lt;br /&gt;
== Team login {{Version/WinXSince|2.6.1}} ==&lt;br /&gt;
{{Attention|This feature is now obselete.}}&lt;br /&gt;
&lt;br /&gt;
[[File:UI_WinX_Team_Login_Button.png|thumb|alt=Team Login Button|Team Login Button]]&lt;br /&gt;
[[File:UI_WinX_Team_Login_Dialog.png|thumb|alt=Team Login Dialog|Team Login Dialog]]&lt;br /&gt;
Team login allows a group of users to login with a single device and perform tasks together as a team.&lt;br /&gt;
&lt;br /&gt;
=== Team login button ===&lt;br /&gt;
{{Attention|This button is not available by default in the app, certain custom templates are needed for this. An example template can be downloaded {{FileLink|xaml_262_20170310_Team_Login_Button.zip|here}}.}}&lt;br /&gt;
&lt;br /&gt;
=== Team login dialog ===&lt;br /&gt;
The team login dialog has the following parts:&lt;br /&gt;
# Profile selector to change profiles;&lt;br /&gt;
#Team member list (each member has a remove button at the right side);&lt;br /&gt;
# {{key press|+}} button to add members;&lt;br /&gt;
# {{key press|Login}} button;&lt;br /&gt;
# {{key press|Close}} button.&lt;br /&gt;
The same [[Login_View#Login_Dialog|login dialog]] shows up once the {{key press|+}} button is pressed and the members should enter their credentials one by one. Once all the members are successfully added, press the {{key press|Login}} button to login as a team.&lt;br /&gt;
{{Hint|All members in a team should login to the same service, namely using the same profile. Therefore, the profile selector will be disabled as long as the member list is not empty.}}&lt;br /&gt;
&lt;br /&gt;
== Login details ==&lt;br /&gt;
&lt;br /&gt;
{{Version/WinXSince|3.8}}{{Version/XamarinSince|1.2}}, it's possible for the client to receive login details of the current user as well as other users.&lt;br /&gt;
Currently, that information is not displayed in the default UI. However, it's accessible under the globally available AppStatus through XAML customizing.&lt;br /&gt;
* AppStatus.CurrentLogin: The current login instance;&lt;br /&gt;
* AppStatus.AllLogins: All available login instances;&lt;br /&gt;
* AppStatus.UpdateLoginDetailsCommand.&lt;br /&gt;
It is recommended to use the [[Developer_Mode#Browsing_the_ViewModel.2FContext|developer mode]] to inspect what can be expected from each of these.&lt;br /&gt;
&lt;br /&gt;
Technically speaking, the full login details come from the two following sources.&lt;br /&gt;
&lt;br /&gt;
=== Current login ===&lt;br /&gt;
The client contacts the web service for the basic information of the currently logged-in user when switched to non-offline sync modes.&lt;br /&gt;
* UID: uniquely identifies the login/user;&lt;br /&gt;
* LoginName: name of the login/user;&lt;br /&gt;
* Image: user icon or profile image;&lt;br /&gt;
* DisplayStrings: descriptive texts.&lt;br /&gt;
This information is persisted in the database, therefore, also available offline as long as you have logged in online once.&lt;br /&gt;
&lt;br /&gt;
=== Login instances ===&lt;br /&gt;
[[SYSCLS_LOGIN|Login instances]] can be delivered just as any {{UBIK}} content to the client. They can carry any amount of information which is accessible through RawDetails - a key value dictionary.&lt;br /&gt;
&lt;br /&gt;
{{Hint|If available, the instance matching the current login's UID will be used to extend the available login details. It's possible to have duplicate information in the current login, e.g. LoginName available from direct web service communication as well as the same named property through RawDetails. In such a case, it's recommended to take the former over the latter.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Commands ==&lt;br /&gt;
&lt;br /&gt;
=== Login related ===&lt;br /&gt;
Three commands are available for logging in/out.&lt;br /&gt;
* LogoutCommand;&lt;br /&gt;
* LoginCommand;&lt;br /&gt;
* ToggleLoginCommand: Log out if you are already logged in, log in otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
LoginCommand and ToggleLoginCommand support an additional command parameter to automatically navigate to the root page after a successful login.&lt;br /&gt;
The parameter can be both a simple boolean value, or a KeyValueList with a boolean value under the key of &amp;quot;NavigateToRootPageOnLogin&amp;quot;. See examples below.&lt;br /&gt;
&amp;lt;tab name=&amp;quot;UWP&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
xmlns:controls=&amp;quot;using:UBIK.WinX.Controls&amp;quot;&lt;br /&gt;
&amp;lt;Button...&lt;br /&gt;
    Command=&amp;quot;{Binding LoginCommand}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Button.CommandParameter&amp;gt;&lt;br /&gt;
        &amp;lt;controls:KeyValueList&amp;gt;&lt;br /&gt;
            &amp;lt;controls:KeyValueParameter Key=&amp;quot;NavigateToRootPageOnLogin&amp;quot; Value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/controls:KeyValueList&amp;gt;&lt;br /&gt;
    &amp;lt;/Button.CommandParameter&amp;gt;&lt;br /&gt;
&amp;lt;/Button&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tab name=&amp;quot;Mobile(Xamarin)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
xmlns:classes=&amp;quot;clr-namespace:UBIK.CPL.Classes;assembly=UBIK.CPL&amp;quot;&lt;br /&gt;
&amp;lt;Button...&lt;br /&gt;
    Command=&amp;quot;{Binding LoginCommand}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Button.CommandParameter&amp;gt;&lt;br /&gt;
        &amp;lt;classes:KeyValueList&amp;gt;&lt;br /&gt;
            &amp;lt;classes:KeyValueParameter Key=&amp;quot;NavigateToRootPageOnLogin&amp;quot; Value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/classes:KeyValueList&amp;gt;&lt;br /&gt;
    &amp;lt;/Button.CommandParameter&amp;gt;&lt;br /&gt;
&amp;lt;/Button&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Login View]]&lt;br /&gt;
[[Category:Mobile|Login View]]&lt;br /&gt;
[[Category:WinX|Login View]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Login_View&amp;diff=29857</id>
		<title>Login View</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Login_View&amp;diff=29857"/>
				<updated>2026-05-11T09:51:08Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* Profile selection */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For confidentiality reason, users are required to login before they have access to most of the {{UBIK}} features.&lt;br /&gt;
&lt;br /&gt;
== Accessing login view ==&lt;br /&gt;
The login view is displayed after starting the app. It is possible to access the login view from every where in the app by pressing the login icon in the top right corner and selecting &amp;quot;log out&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
At the top of the screen, the name of the most recently used profile (if any) will be displayed. When pressing &amp;quot;Login&amp;quot; without selecting a different profile first, this profile will automatically be used.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
== Profile selection ==&lt;br /&gt;
[[File:ProfileBrowser.png|400px|thumb|alt=Profile Browser|Profile Browser]]&lt;br /&gt;
The name of the currently selected profile is displayed on the top of the view. By default, the last used profile will be selected here.&lt;br /&gt;
It is possible to change the profile by pressing the Profile Button. The profile selection flyout will pop up, from which the user can select any profile (see the figure on the right).&lt;br /&gt;
&lt;br /&gt;
To add custom profiles, you must add them under the app's RoamingState folder. You can also categorize your profiles using subfolders within this directory.&lt;br /&gt;
You will see 2 different tabs when opening the profile selection view, with the third hidden by default.&lt;br /&gt;
&lt;br /&gt;
=== Favorites ===&lt;br /&gt;
The &amp;quot;Favorites&amp;quot; tab shows profiles that the user has marked as favorites. To mark a profile as favorite, simply click the the star icon next to a profile's name. You will see it immediately appearing in the favorites list (sorted alphabetically). You can of course undo this action by simply pressing the star icon again to unmark the profile as favorite.&lt;br /&gt;
&lt;br /&gt;
=== Recent ===&lt;br /&gt;
The &amp;quot;Recent&amp;quot; tab shows all available profiles, ordered by most recently used (at the top), to least recently used, excluding favorited profiles (which appear in the &amp;quot;Favorites&amp;quot; tab). When you click a profile anywhere in the selection view, it will be timestamped, and added to the top of the &amp;quot;Recent&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
=== Browser ===&lt;br /&gt;
To view the &amp;quot;Browser&amp;quot; tab, the user can click the expansion button on the right side to toggle the tab open or closed.&lt;br /&gt;
The &amp;quot;Browser&amp;quot; tab shows all available profiles (including favorites), but displays them exactly as your file browser would, including sub folders. The user can navigate through sub folders simply by clicking them.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Login View]]&lt;br /&gt;
[[Category:Mobile|Login View]]&lt;br /&gt;
[[Category:WinX|Login View]]&lt;br /&gt;
&lt;br /&gt;
== Login ==&lt;br /&gt;
&lt;br /&gt;
=== UWP older versions ===&lt;br /&gt;
[[File:UI_WinX_Login_Dialog.png|thumb|alt=Login Dialog|Login Dialog]]&lt;br /&gt;
The login dialog is opened by pressing the Login button. The dialog also opens automatically after selecting a profile.&lt;br /&gt;
The first time the user uses a single profile to connect to a service, he is asked whether the system should remember login and password (for the user and profile). If the user selects yes, the login dialog will not appear again and the credentials are used immediately the next time he connects by using the profile. If the user selects no, he has to enter his credentials every time.&lt;br /&gt;
&lt;br /&gt;
=== UWP{{Version/WinXSince|3.6}} &amp;amp; Mobile clients ===&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;350&amp;quot; heights=&amp;quot;300&amp;quot;&amp;gt;&lt;br /&gt;
File:LoginView_WinX.png|UBIK UWP{{Version/WinXSince|3.6}}&lt;br /&gt;
File:LoginViewUBIKGO.jpg|UBIK Mobile&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{UBIK}} can remember multiple users per profile. By default, the last remembered one for the selected profile is used. And as you type in a different username, {{UBIK}} constantly checks whether it is a remembered user. If so, the password is automatically filled so that you don't have to.&lt;br /&gt;
* A user can only be remembered after a successful online login, namely the username and password must be authenticated at least once by the server;&lt;br /&gt;
* If a new password is entered for a remembered user and it is authenticated by the server, the remembered one will be updated;&lt;br /&gt;
* By unchecking the remembering option and logging in, the remembered user will be &amp;quot;forgotten&amp;quot;. This is also possible without a server authentication. Afterwards, offline login is still possible for this user.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Login View]]&lt;br /&gt;
[[Category:Mobile|Login View]]&lt;br /&gt;
[[Category:WinX|Login View]]&lt;br /&gt;
&lt;br /&gt;
=== Offline Login ===&lt;br /&gt;
Every successful online login is stored. The stored credentials are used for supporting offline logins. &lt;br /&gt;
{{Hint|You can access a local database without online connection (offline) when the credentials were used once to connect successfully to the online service.}}&lt;br /&gt;
&lt;br /&gt;
=== Clear Cache ===&lt;br /&gt;
The clear cache feature (settings) deletes all the remembered credentials (login and password) from the system.&lt;br /&gt;
{{Attention|Offline logins are not possible after clearing the cache until the user connected once at the online service.}}&lt;br /&gt;
&lt;br /&gt;
== Team login {{Version/WinXSince|2.6.1}} ==&lt;br /&gt;
{{Attention|This feature is now obselete.}}&lt;br /&gt;
&lt;br /&gt;
[[File:UI_WinX_Team_Login_Button.png|thumb|alt=Team Login Button|Team Login Button]]&lt;br /&gt;
[[File:UI_WinX_Team_Login_Dialog.png|thumb|alt=Team Login Dialog|Team Login Dialog]]&lt;br /&gt;
Team login allows a group of users to login with a single device and perform tasks together as a team.&lt;br /&gt;
&lt;br /&gt;
=== Team login button ===&lt;br /&gt;
{{Attention|This button is not available by default in the app, certain custom templates are needed for this. An example template can be downloaded {{FileLink|xaml_262_20170310_Team_Login_Button.zip|here}}.}}&lt;br /&gt;
&lt;br /&gt;
=== Team login dialog ===&lt;br /&gt;
The team login dialog has the following parts:&lt;br /&gt;
# Profile selector to change profiles;&lt;br /&gt;
#Team member list (each member has a remove button at the right side);&lt;br /&gt;
# {{key press|+}} button to add members;&lt;br /&gt;
# {{key press|Login}} button;&lt;br /&gt;
# {{key press|Close}} button.&lt;br /&gt;
The same [[Login_View#Login_Dialog|login dialog]] shows up once the {{key press|+}} button is pressed and the members should enter their credentials one by one. Once all the members are successfully added, press the {{key press|Login}} button to login as a team.&lt;br /&gt;
{{Hint|All members in a team should login to the same service, namely using the same profile. Therefore, the profile selector will be disabled as long as the member list is not empty.}}&lt;br /&gt;
&lt;br /&gt;
== Login details ==&lt;br /&gt;
&lt;br /&gt;
{{Version/WinXSince|3.8}}{{Version/XamarinSince|1.2}}, it's possible for the client to receive login details of the current user as well as other users.&lt;br /&gt;
Currently, that information is not displayed in the default UI. However, it's accessible under the globally available AppStatus through XAML customizing.&lt;br /&gt;
* AppStatus.CurrentLogin: The current login instance;&lt;br /&gt;
* AppStatus.AllLogins: All available login instances;&lt;br /&gt;
* AppStatus.UpdateLoginDetailsCommand.&lt;br /&gt;
It is recommended to use the [[Developer_Mode#Browsing_the_ViewModel.2FContext|developer mode]] to inspect what can be expected from each of these.&lt;br /&gt;
&lt;br /&gt;
Technically speaking, the full login details come from the two following sources.&lt;br /&gt;
&lt;br /&gt;
=== Current login ===&lt;br /&gt;
The client contacts the web service for the basic information of the currently logged-in user when switched to non-offline sync modes.&lt;br /&gt;
* UID: uniquely identifies the login/user;&lt;br /&gt;
* LoginName: name of the login/user;&lt;br /&gt;
* Image: user icon or profile image;&lt;br /&gt;
* DisplayStrings: descriptive texts.&lt;br /&gt;
This information is persisted in the database, therefore, also available offline as long as you have logged in online once.&lt;br /&gt;
&lt;br /&gt;
=== Login instances ===&lt;br /&gt;
[[SYSCLS_LOGIN|Login instances]] can be delivered just as any {{UBIK}} content to the client. They can carry any amount of information which is accessible through RawDetails - a key value dictionary.&lt;br /&gt;
&lt;br /&gt;
{{Hint|If available, the instance matching the current login's UID will be used to extend the available login details. It's possible to have duplicate information in the current login, e.g. LoginName available from direct web service communication as well as the same named property through RawDetails. In such a case, it's recommended to take the former over the latter.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Commands ==&lt;br /&gt;
&lt;br /&gt;
=== Login related ===&lt;br /&gt;
Three commands are available for logging in/out.&lt;br /&gt;
* LogoutCommand;&lt;br /&gt;
* LoginCommand;&lt;br /&gt;
* ToggleLoginCommand: Log out if you are already logged in, log in otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
LoginCommand and ToggleLoginCommand support an additional command parameter to automatically navigate to the root page after a successful login.&lt;br /&gt;
The parameter can be both a simple boolean value, or a KeyValueList with a boolean value under the key of &amp;quot;NavigateToRootPageOnLogin&amp;quot;. See examples below.&lt;br /&gt;
&amp;lt;tab name=&amp;quot;UWP&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
xmlns:controls=&amp;quot;using:UBIK.WinX.Controls&amp;quot;&lt;br /&gt;
&amp;lt;Button...&lt;br /&gt;
    Command=&amp;quot;{Binding LoginCommand}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Button.CommandParameter&amp;gt;&lt;br /&gt;
        &amp;lt;controls:KeyValueList&amp;gt;&lt;br /&gt;
            &amp;lt;controls:KeyValueParameter Key=&amp;quot;NavigateToRootPageOnLogin&amp;quot; Value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/controls:KeyValueList&amp;gt;&lt;br /&gt;
    &amp;lt;/Button.CommandParameter&amp;gt;&lt;br /&gt;
&amp;lt;/Button&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tab name=&amp;quot;Mobile(Xamarin)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
xmlns:classes=&amp;quot;clr-namespace:UBIK.CPL.Classes;assembly=UBIK.CPL&amp;quot;&lt;br /&gt;
&amp;lt;Button...&lt;br /&gt;
    Command=&amp;quot;{Binding LoginCommand}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Button.CommandParameter&amp;gt;&lt;br /&gt;
        &amp;lt;classes:KeyValueList&amp;gt;&lt;br /&gt;
            &amp;lt;classes:KeyValueParameter Key=&amp;quot;NavigateToRootPageOnLogin&amp;quot; Value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/classes:KeyValueList&amp;gt;&lt;br /&gt;
    &amp;lt;/Button.CommandParameter&amp;gt;&lt;br /&gt;
&amp;lt;/Button&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Login View]]&lt;br /&gt;
[[Category:Mobile|Login View]]&lt;br /&gt;
[[Category:WinX|Login View]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=MRO_Objects_(Client)&amp;diff=29856</id>
		<title>MRO Objects (Client)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=MRO_Objects_(Client)&amp;diff=29856"/>
				<updated>2026-05-11T09:47:57Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* Organisational Status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:MRO_WinX.png|thumb|alt=MRO Child List UI (WinX)|MRO UI (WinX)]]&lt;br /&gt;
[[File:MRO_MAUI1.jpeg|thumb|alt=MRO Child List UI (Android)|MRO UI (Android)]]&lt;br /&gt;
The WinX client UI displays MRO configured objects like any other root- or child-object enriched by some additional logic and features.&lt;br /&gt;
&lt;br /&gt;
== Basic User Interface ==&lt;br /&gt;
The representation of MRO features comprises some indicators and interactive controls. In the {{UBIK}} child list, the main object displays cumulated technical and organisational status as well as the overall work progress based on the underlying data branch. Objects classified as MRO objects in general provide indicators for the MRO status. This means the status is shown next to the main icon of a child-/details-/documents-page as well as next to the icons of the child list items:&lt;br /&gt;
&lt;br /&gt;
=== Technical Status ===&lt;br /&gt;
&lt;br /&gt;
The technical status indicator is shown on all objects that represent a technical state or receive the technical status from subsequent objects in the underlying data branch. If e.g. a inventory object is reported as damaged, its parent objects will all display the exclamation mark symbol to indicate that a problem was reported in the child items.&lt;br /&gt;
&lt;br /&gt;
[[File:TechStats_WinX.png|100px|Technical Status Indicator (Winx &amp;amp; Mobile)]]&lt;br /&gt;
&lt;br /&gt;
=== Organisational Status ===&lt;br /&gt;
The organisational status indicates the amount of confirmed work within the data branch, including already confirmed work packages as well as tasks that are locked by their owning work package. The organisational status indicator is displayed on all objects that represent an organisational state or receive the organisational status from subsequent objects in the underlying data branch, and visualizes the amount of confirmed work performed within that branch.&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:OrgStatusIndicator.png|Organisational Status Indicator (WinX)&lt;br /&gt;
File:ConfirmedWP_WinX.png|MRO Workpackage Confirmed (Flag) Indicator (WinX)&lt;br /&gt;
File:Android_orga_status.PNG|Organisational Status Indicator (Android)&lt;br /&gt;
File:ConfirmedWP_MAUI.jpeg|MRO Workpackage Confirmed Indicator (Mobile)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Android|MRO Objects (UBIK WinX)]]&lt;br /&gt;
[[Category:Client|MRO Objects (Client)]]&lt;br /&gt;
[[Category:Mobile|MRO Objects (Client)]]&lt;br /&gt;
[[Category:Pages with broken file links|MRO Objects (Client)]]&lt;br /&gt;
[[Category:WinX|MRO Objects (UBIK WinX)]]&lt;br /&gt;
&lt;br /&gt;
=== Work Progress ===&lt;br /&gt;
The work progress is calculated from the current work progress and from the progress cumulated from subsequent objects in the underlying data branch. This indicator shows the amount of work done in the data branch.&lt;br /&gt;
&lt;br /&gt;
{{Version/WinXSince|5.0}} {{Version/MobileSince|5.0}} By default, the progress is displayed with maximum one decimal place. For example, 99.75% is displayed as 99.8%. The format string used to achieve this is &amp;lt;code&amp;gt;{0:0.#}%&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If other numeric formats are preferred in your usecases, you can refer to [https://learn.microsoft.com/en-us/dotnet/standard/base-types/custom-numeric-format-strings custom numeric format strings] for more information. The template to customize for this is the UBIKMROProgressBadge within UBIKThemes.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRO Objects ==&lt;br /&gt;
A set of specific objects can be used to provide the required structure for MRO:&lt;br /&gt;
&lt;br /&gt;
=== Task Owner ===&lt;br /&gt;
A [[MROCLS_MRO_TASKOWNER|Task Owner]] is an object having a substructure of jobs to be done. It can have a tree of other task owners or work packages underneath that will update the status of the task owner. This status consists of technical, organisational and progress information. With a task owner a user can get an overview of all the work to be done in the underlying job structure.&lt;br /&gt;
&lt;br /&gt;
=== Work Package===&lt;br /&gt;
A [[MROCLS_MRO_WORKPACKAGE|Work Package]] is a collection of objects to collect and summarize other task owning objects, workpackages, or tasks. A simple workpackage has a certain amount of tasks that have to be finished in order to confirm the workpackage as done. More complex workpackages can also own other underlying workpackages that have to be confirmed.  Confirming a workpackage itself requires a progress of 100% of all related tasks, as well as 100% confirmed sub work packages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:ConfirmingWP_WinX.png|MRO Workpackage confirm button (WinX)&lt;br /&gt;
File:MRORevoke_WinX.png|MRO Workpackage revoke confirmation button (WinX)&lt;br /&gt;
File:ConfirmingWP_MAUI.jpeg|MRO Workpackage confirm button (Android)&lt;br /&gt;
File:MRORevoke_MAUI.jpeg|MRO Workpackage revoke confirmation button (Android)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Task ===&lt;br /&gt;
A [[MROCLS_MRO_TASK|Task]] is an object reporting a certain progress to the owning workpackage. There are several specialized types of task objects. All kinds of tasks have a property called '''VALUE''' in common. It is very important, that this property is able to be validated. Therefore, a MetaAttribute (providing a validation timestamp by default) has to be attached on the used MetaProperty.&lt;br /&gt;
&lt;br /&gt;
On both clients, a Task can be reverted by clicking twice on the Not Applicable button.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Attention|The MetaProperty ''VALUE'' has to use [[Attributes]] in order to be validated. Otherwise, the calculation of work progress will not be possible.}}&lt;br /&gt;
&lt;br /&gt;
==== Measurement Task ====&lt;br /&gt;
&lt;br /&gt;
A [[MROCLS_MRO_MEASUREMENT_TASK|Measurement Task]] inherits from [[MROCLS_MRO_TASK|Task]] and documents a measured value (e.g. read from a pressure gauge). Therefore, clicking the value on the shown task opens an editor to enter the desired value. If no value was entered before, an empty line will be shown. Once a value has been entered, the task is finished. Alternatively, the task can also be closed by the option ''Not Applicable'' to document the situation of not being able to fullfill the measurement (e.g. the pressure gauge is broken). An additional small value indicator below the main value can report e.g. the previously entered value. The behaviour of this previous value indicator has to be specified separately in the customizing.&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=497px heights=69px&amp;gt;&lt;br /&gt;
File:Measurment Task Empty UWP.png|Measurement Task without a reported value (WinX)&lt;br /&gt;
File:Measurment Task Not Empty UWP.png|Measurement Task with a reported value (WinX)&lt;br /&gt;
File:Measurment Task Empty Android.jpg|Measurement Task without a reported value (Android)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Progress Task ====&lt;br /&gt;
&lt;br /&gt;
[[MROCLS_MRO_PROGRESS_TASK| Progress Task]] inherits from [[MROCLS_MRO_MEASUREMENT_TASK|Task]] and reports a certain progress while fullfilling a task. The progress will influence the overall progress of the owning workpackage. If the task cannot be fullfilled, it can also be finished with the option ''Not Applicable''.&lt;br /&gt;
&lt;br /&gt;
There is also an [[MRO_PROGRESS_TASK_EDITOR|alternative editor]] available for progress tasks.{{Version/WinXSince|2.5.4}}&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=497px heights=69px&amp;gt;&lt;br /&gt;
File:Progress Task UWP.png|Progress Task with a reported work progress (WinX)&lt;br /&gt;
File:Progress Task Android.jpg|Progress Task with a reported work progress and a previous progress(Android)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Check Task ====&lt;br /&gt;
&lt;br /&gt;
A [[MROCLS_MRO_CHECK_TASK|Check Task]] inherits from [[MROCLS_MRO_TASK|Task]] and is finished by reporting ''Done'' or ''Not Applicable''. This is intended for a simple To-Do task that is either done or not.&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=497px heights=69px&amp;gt;&lt;br /&gt;
File:Check Task finished UWP.png|Unfinished MRO CheckTask (WinX)&lt;br /&gt;
File:Check Task android.jpg|Not Applicable MRO CheckTask (Android)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Inspection Task ====&lt;br /&gt;
&lt;br /&gt;
[[MROCLS_MRO_INSPECTION_TASK|Inspection Task]] inherits from [[MROCLS_MRO_TASK|Task]] and is finished, when the user reports with a positive or negative answer or ''Not Applicable'' (e.g. reporting a yes/no answer for existing equipment).&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=497px heights=69px&amp;gt;&lt;br /&gt;
File:Finished Inspection Task UWP.png|Finished MRO InspectionTask (WinX)&lt;br /&gt;
File:Inspection task android.jpg|Finished MRO InspectionTask (Android)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sequential Task ====&lt;br /&gt;
The [[MROCLS_SEQUENTIALTASK|sequential task classification]] allows you to pre-define a sequence in which tasks are to be resolved by users. This means that it is required for one or multiple tasks to be finished in order for other tasks to become &amp;quot;unlocked&amp;quot; and editable. A task can have any number of &amp;quot;predecessors&amp;quot;. Predecessors are the tasks that are required to be finished first.&lt;br /&gt;
&lt;br /&gt;
A task can have predecessors that live anywhere else in the object hierarchy. It is not necessary for a task and its predecessors to be part of the same work package, even though this is likely the most common use case.&lt;br /&gt;
&lt;br /&gt;
The state of a sequential task is evaluated both offline and online to get the best possible user experience. The user will see dependent tasks update immediately if their successors were finished, if those tasks are currently visible in the UI. There is 1 case in which the server-side state will override the client-side (offline) evaluation, discussed below.&lt;br /&gt;
The state of each sequential task is evaluated the following way:&lt;br /&gt;
&lt;br /&gt;
# If the server-side state says the task is open, we consider this as the truthful state and don't do any other evaluation.&lt;br /&gt;
# Check if the task has any predecessors.&lt;br /&gt;
# Try to load each predecessor task.&lt;br /&gt;
#* If loading of any predecessor fails (the object is not available offline), the task will be locked.&lt;br /&gt;
# If all predecessor tasks are finished, the task is open and can be edited. Otherwise, the task is locked.&lt;br /&gt;
&lt;br /&gt;
The customizer setting up the task dependency relations needs to ensure that the dependencies are not cyclical. In this case, it would be impossible for any tasks in the &amp;quot;cycle&amp;quot; to be finished.&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
&lt;br /&gt;
As a demonstration of this feature, see [[Media:Sequential_tasks_winx.mp4|this video]]. The relations between tasks are defined as in [[Media:Task_relations.png|this image]], starting at A1 and A2, which are not dependent on any other tasks. The lines (from left to right) indicate dependencies. This means that B2 has tasks A1 and A2 as its predecessors, for example.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Grouped Task {{Version/WinXSince|4.2}}{{Version/XamarinSince|4.2}} ====&lt;br /&gt;
Sometimes, not all tasks have to be finished. More specifically, there might be a predefined condition where you only need to finish a certain number of tasks among a group of them. These are known in {{UBIK}} as [[MROCLS_GROUPEDTASK|grouped tasks]].&lt;br /&gt;
&lt;br /&gt;
The idea is, a group of tasks can be defined as siblings to each other and they also share the same server configured threshold. When the number of finished tasks among that group exceeds the threshold, the entire group is considered as no longer necessary. When reflected in the overall status of the task owner(s), these tasks would appear as if they are finished.&lt;br /&gt;
&lt;br /&gt;
{{Hint|Technically speaking, the finished status is completely independent from the not necessary status on a task. A grouped task which is no longer necessary can be both finished or not yet finished. In other words, users don't have to finish a not necessary grouped task, but they still can.}}&lt;br /&gt;
&lt;br /&gt;
{{Hint|The precise status calculation for grouped tasks and their task owners requires the knowledge of all siblings tasks. Imagine 2 out of 3 tasks must be finished but the client only knows 1 in total and the others are only available at the server at that time. This makes it impossible to draw conclusions whether the task(s) should be necessary or not. Under such circumstances, the local status calculation is done as if these are just regular tasks.}}&lt;br /&gt;
&lt;br /&gt;
{{Hint|Like with the other MRO objects, the client always chooses the best available statuses for grouped tasks to present to the users. More specifically, it uses the statuses calculated by the server when the client is not offline and there are no uncommitted local changes on the involved objects. Otherwise, it uses the statuses calculated locally to the best of its knowledge.}}&lt;br /&gt;
&lt;br /&gt;
A task can also be a grouped and a sequential one at the same time. In such a case, the grouped nature of the sibling tasks will affect the way the task sequence completes.&lt;br /&gt;
&lt;br /&gt;
For example, task A1, A2 and A3 are 3 grouped sibling tasks and only 1 of them needs to be finished. At the same time, they are all predecessors of task B. Normally, all predecessors must be finished (and locked) before task B becomes the next one in the sequence and therefore unlocked. In this case, however, as soon as one of the predecessors is finished, all three become unnecessary (and locked) and task B unlocks as a result of that.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Supervisor Task {{Version/XamarinSince|4.8}} ====&lt;br /&gt;
As the name suggests, supervisor tasks are those that must be finished under supervision. When users want to finish a [[MROCLS_MRO_SUPERVISOR_TASK|supervisor task]], they must hand over their work devices to a supervisor. The latter checks the work status and scans an NFC tag if the work is approved. If the [[MROCLS_MRO_SUPERVISOR|supervisor]] has sufficient permissions for the task and the correct supervisor PIN is given, the task gets unlocked and the users can proceed to finish it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=300px heights=300px&amp;gt;&lt;br /&gt;
File:UI_Xamarin_Supervisor_Task_Before_Verification.jpg|Supervisor Task Before Verification/Unlocking (Mobile)&lt;br /&gt;
File:UI_Xamarin_Supervisor_Task_Enter_PIN.jpg|Supervisor Task Enter PIN (Mobile)&lt;br /&gt;
File:UI_Xamarin_Supervisor_Task_After_Verification.jpg|Supervisor Task After Verification/Unlocking (Mobile)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A thing to note is that while the need to verify a supervisor task can be seen as a type of locking, it's certainly not the only reason for a [[Locked_Objects|locked object]]. This means a supervisor task can remain locked (although for different reasons) even after a supervisor has successfully verified it. This can often be the case if you use it in combination with other features such as [[MRO_Objects_(Client)#Sequential_Task|sequential tasks]], [[User_Rights|user rights]].&lt;br /&gt;
&lt;br /&gt;
{{Hint|For security reasons, the verification process is cancelled if the supervisor enters the wrong PIN for three times. Scanning the tag again is required in that case.}}&lt;br /&gt;
{{Hint|A setting controls [[RFID_tags#Choose_which_information_to_use_from_a_tag|which information in a scanned tag is used]] during this process.}}&lt;br /&gt;
&lt;br /&gt;
==== Signature Task {{Version/MobileSince|5.1}}{{Version/WinXSince|5.1}} ====&lt;br /&gt;
&lt;br /&gt;
The Signature Task is a task type that is completed by capturing a handwritten signature from the user. The task contains an editor field that serves as the entry point for the signing process. When the user clicks (or taps) on the editor field, a signature dialog opens. Within this dialog, the user can provide their signature. After confirming the input, the signature is saved and the task is automatically marked as completed.&lt;br /&gt;
&lt;br /&gt;
If the task is signed while the client is online:&lt;br /&gt;
* The User (signee) is resolved immediately by the server and displayed.&lt;br /&gt;
* The ValidationTimestamp is generated and displayed.&lt;br /&gt;
* Both values are shown directly in the editor field after signing.&lt;br /&gt;
&lt;br /&gt;
{{Hint|The User only gets resolved by the server and displayed once you're in online mode}}&lt;br /&gt;
&lt;br /&gt;
If the displayed User and/or ValidationTimestamp cannot be fully shown due to limited space in the editor field, the complete information can be accessed via a Popup.&lt;br /&gt;
To show the Popup displaying the full User and ValidationTimestamp without truncation, click on the editor field.&lt;br /&gt;
&lt;br /&gt;
[[Category:Android|MRO Objects (UBIK WinX)]]&lt;br /&gt;
[[Category:Client|MRO Objects (Client)]]&lt;br /&gt;
[[Category:Mobile|MRO Objects (Client)]]&lt;br /&gt;
[[Category:Pages with broken file links|MRO Objects (Client)]]&lt;br /&gt;
[[Category:WinX|MRO Objects (UBIK WinX)]]&lt;br /&gt;
&lt;br /&gt;
==== Picture Task {{Version/MobileSince|5.1}}{{Version/WinXSince|5.1}} ====&lt;br /&gt;
&lt;br /&gt;
A [[MROCLS_PICTURE_TASK|picture task]] is a check task which can only be finished when it has at least one child document containing a valid file. In the UI, an additional photo button is presented next to the check so users can easily take photos before finishing the tasks.&lt;br /&gt;
* As any other objects, picture tasks can carry and display [[SYSCLS_CHILDINFOOWNER|child count information]]. But that is not a mandatory part of the feature. Even when it's not configured and not visible in the UI, you can still finish the tasks.&lt;br /&gt;
* In WinX/UWP, the UI also presents an expander which allows you to display the child documents of picture tasks. This is not present by default in the Mobile app due to the screen size limit but [[Object_hierarchy_in_XAML:_NextLevel,_ParentLevel,_LinkedLevel#Show_NextLevel_Children.2FDocuments|can be easily customized]].&lt;br /&gt;
&lt;br /&gt;
{{Hint|The task is named as such because pictures are the most commonly used types, but the child documents can be of other types as well. }}&lt;br /&gt;
&lt;br /&gt;
When a user tries to finish a picture task by tapping the check, the app might perform some data synchronization first if in online mode, which includes&lt;br /&gt;
* Syncing the child objects (including documents) of the task.&lt;br /&gt;
* Downloading the file(s) of the child documents.&lt;br /&gt;
During data synchronization, the check button on that task turns into a wait indicator. Afterwards, the app checks if the prerequisites to finish the task are met.&lt;br /&gt;
* If there are no child documents or no local files for the child documents, the task remains unfinished and the user gets informed about the reasons.&lt;br /&gt;
* Otherwise, the task gets finished and the photo button gets disabled.&lt;br /&gt;
&lt;br /&gt;
{{Hint|Setting NA (not applicable) on a picture task is always possible, regardless of the condition of child documents.}}&lt;br /&gt;
&lt;br /&gt;
==== Numeric Task {{Version/MobileSince|5.1}}{{Version/WinXSince|5.1}} ====&lt;br /&gt;
&lt;br /&gt;
A [[MROCLS_MRO_NUMERIC_TASK|numeric task]] is a task which records a double value (e.g. from a temperature sensor). Entering the value (including Not Applicable) completes the task.&lt;br /&gt;
* The value is compared against an accaptable value range which is not editable on the client.&lt;br /&gt;
* Deviation from this range results in visual feedback as well as the [[#Tech Status|tech status]] being set to display an issue.&lt;br /&gt;
* If the configured value range is invalid (e.g. min &amp;gt; max) and the user enters a value, the [[#Tech Status|tech status]] will also be set to display an issue.&lt;br /&gt;
* A numeric task also has a special value unit that can be set per task instance. If set, it overrides the standard value unit defined on the [[MetaProperty#Unit_Item|MetaProperty]].&lt;br /&gt;
&lt;br /&gt;
==== Pick List Task {{Version/MobileSince|5.1}}{{Version/WinXSince|5.1}} ====&lt;br /&gt;
&lt;br /&gt;
A [[MROCLS_PICK_LIST_TASK|Pick List task]] looks and behaves the same like a standard Integer Task with SelectiveList. Other than the standard Integer Task, the Pick List Task has an [[UBIK_Active_Lists|Active List]] defined on instance level to pick from for its value property. The task counts as finished as soon as a list item has been selected, or when pressing ''Not Applicable''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRO objects with project information (WinX only) {{Version/WinXSince|2.5.4}} ===&lt;br /&gt;
[[File:UI_WinX_MRO_ProjectInfo.png|thumb|MRO Object with Project Info (WinX)]]&lt;br /&gt;
An MRO object (except tasks) might also bring along [[MROCLS_PROJECTINFORMATION|project information]]. In this case, the project information together with the MRO progress are displayed in a bar chart. The start &amp;amp; end dates of the MRO object are displayed on the progress bar. The length and the position of the progress bar, together with the current date mark indicate the timeline.&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Locking ==&lt;br /&gt;
When an (MRO) object is locked, editing it becomes impossible. More details about [[Locked_Objects|locked objects]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[MRO (Plugin)]]&lt;br /&gt;
* [[MROCLS_PROJECT]]&lt;br /&gt;
* [[MROCLS_PROJECTINFORMATION]]&lt;br /&gt;
* [[MROCLS_SEQUENTIALTASK]]&lt;br /&gt;
* [[MROCLS_GROUPEDTASK]]&lt;br /&gt;
* [[MROCLS_MRO_CHECK_TASK]]&lt;br /&gt;
* [[MROCLS_MRO_INSPECTION_TASK]]&lt;br /&gt;
* [[MROCLS_MRO_MEASUREMENT_TASK]]&lt;br /&gt;
* [[MROCLS_MRO_PROGRESS_TASK]]&lt;br /&gt;
* [[MROCLS_MRO_TASK]]&lt;br /&gt;
* [[MROCLS_MRO_TASKOWNER]]&lt;br /&gt;
* [[MROCLS_MRO_WORKPACKAGE]]&lt;br /&gt;
* [[MROCLS_PROCEDURE#Procedure Workpackage]] (Classification)&lt;br /&gt;
* [[MROCLS_SWITCH_TASK#Switch Task]] (Classification)&lt;br /&gt;
* [[MROCLS_SWITCH_END_TASK#Switch End Task]] (Classification)&lt;br /&gt;
* [[MROCLS_CALCULATION_TASK#Calculation Task]] (Classification)&lt;br /&gt;
* [[MROCLS_PICK_LIST_TASK]] (Classification)&lt;br /&gt;
&lt;br /&gt;
[[Category:Android|MRO Objects (UBIK WinX)]]&lt;br /&gt;
[[Category:Client|MRO Objects (Client)]]&lt;br /&gt;
[[Category:Mobile|MRO Objects (Client)]]&lt;br /&gt;
[[Category:Pages with broken file links|MRO Objects (Client)]]&lt;br /&gt;
[[Category:WinX|MRO Objects (UBIK WinX)]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:OrgStatusIndicator.png&amp;diff=29855</id>
		<title>File:OrgStatusIndicator.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:OrgStatusIndicator.png&amp;diff=29855"/>
				<updated>2026-05-11T09:47:40Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=MRO_Objects_(Client)&amp;diff=29854</id>
		<title>MRO Objects (Client)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=MRO_Objects_(Client)&amp;diff=29854"/>
				<updated>2026-05-11T09:44:31Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* Organisational Status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:MRO_WinX.png|thumb|alt=MRO Child List UI (WinX)|MRO UI (WinX)]]&lt;br /&gt;
[[File:MRO_MAUI1.jpeg|thumb|alt=MRO Child List UI (Android)|MRO UI (Android)]]&lt;br /&gt;
The WinX client UI displays MRO configured objects like any other root- or child-object enriched by some additional logic and features.&lt;br /&gt;
&lt;br /&gt;
== Basic User Interface ==&lt;br /&gt;
The representation of MRO features comprises some indicators and interactive controls. In the {{UBIK}} child list, the main object displays cumulated technical and organisational status as well as the overall work progress based on the underlying data branch. Objects classified as MRO objects in general provide indicators for the MRO status. This means the status is shown next to the main icon of a child-/details-/documents-page as well as next to the icons of the child list items:&lt;br /&gt;
&lt;br /&gt;
=== Technical Status ===&lt;br /&gt;
&lt;br /&gt;
The technical status indicator is shown on all objects that represent a technical state or receive the technical status from subsequent objects in the underlying data branch. If e.g. a inventory object is reported as damaged, its parent objects will all display the exclamation mark symbol to indicate that a problem was reported in the child items.&lt;br /&gt;
&lt;br /&gt;
[[File:TechStats_WinX.png|100px|Technical Status Indicator (Winx &amp;amp; Mobile)]]&lt;br /&gt;
&lt;br /&gt;
=== Organisational Status ===&lt;br /&gt;
The organisational status indicates the amount of confirmed work within the data branch, including already confirmed work packages as well as tasks that are locked by their owning work package. The organisational status indicator is displayed on all objects that represent an organisational state or receive the organisational status from subsequent objects in the underlying data branch, and visualizes the amount of confirmed work performed within that branch.&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:OrganisationaleStatus.png|Organisational Status Indicator (WinX)&lt;br /&gt;
File:ConfirmedWP_WinX.png|MRO Workpackage Confirmed (Flag) Indicator (WinX)&lt;br /&gt;
File:Android_orga_status.PNG|Organisational Status Indicator (Android)&lt;br /&gt;
File:ConfirmedWP_MAUI.jpeg|MRO Workpackage Confirmed Indicator (Mobile)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Android|MRO Objects (UBIK WinX)]]&lt;br /&gt;
[[Category:Client|MRO Objects (Client)]]&lt;br /&gt;
[[Category:Mobile|MRO Objects (Client)]]&lt;br /&gt;
[[Category:Pages with broken file links|MRO Objects (Client)]]&lt;br /&gt;
[[Category:WinX|MRO Objects (UBIK WinX)]]&lt;br /&gt;
&lt;br /&gt;
=== Work Progress ===&lt;br /&gt;
The work progress is calculated from the current work progress and from the progress cumulated from subsequent objects in the underlying data branch. This indicator shows the amount of work done in the data branch.&lt;br /&gt;
&lt;br /&gt;
{{Version/WinXSince|5.0}} {{Version/MobileSince|5.0}} By default, the progress is displayed with maximum one decimal place. For example, 99.75% is displayed as 99.8%. The format string used to achieve this is &amp;lt;code&amp;gt;{0:0.#}%&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If other numeric formats are preferred in your usecases, you can refer to [https://learn.microsoft.com/en-us/dotnet/standard/base-types/custom-numeric-format-strings custom numeric format strings] for more information. The template to customize for this is the UBIKMROProgressBadge within UBIKThemes.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MRO Objects ==&lt;br /&gt;
A set of specific objects can be used to provide the required structure for MRO:&lt;br /&gt;
&lt;br /&gt;
=== Task Owner ===&lt;br /&gt;
A [[MROCLS_MRO_TASKOWNER|Task Owner]] is an object having a substructure of jobs to be done. It can have a tree of other task owners or work packages underneath that will update the status of the task owner. This status consists of technical, organisational and progress information. With a task owner a user can get an overview of all the work to be done in the underlying job structure.&lt;br /&gt;
&lt;br /&gt;
=== Work Package===&lt;br /&gt;
A [[MROCLS_MRO_WORKPACKAGE|Work Package]] is a collection of objects to collect and summarize other task owning objects, workpackages, or tasks. A simple workpackage has a certain amount of tasks that have to be finished in order to confirm the workpackage as done. More complex workpackages can also own other underlying workpackages that have to be confirmed.  Confirming a workpackage itself requires a progress of 100% of all related tasks, as well as 100% confirmed sub work packages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:ConfirmingWP_WinX.png|MRO Workpackage confirm button (WinX)&lt;br /&gt;
File:MRORevoke_WinX.png|MRO Workpackage revoke confirmation button (WinX)&lt;br /&gt;
File:ConfirmingWP_MAUI.jpeg|MRO Workpackage confirm button (Android)&lt;br /&gt;
File:MRORevoke_MAUI.jpeg|MRO Workpackage revoke confirmation button (Android)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Task ===&lt;br /&gt;
A [[MROCLS_MRO_TASK|Task]] is an object reporting a certain progress to the owning workpackage. There are several specialized types of task objects. All kinds of tasks have a property called '''VALUE''' in common. It is very important, that this property is able to be validated. Therefore, a MetaAttribute (providing a validation timestamp by default) has to be attached on the used MetaProperty.&lt;br /&gt;
&lt;br /&gt;
On both clients, a Task can be reverted by clicking twice on the Not Applicable button.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Attention|The MetaProperty ''VALUE'' has to use [[Attributes]] in order to be validated. Otherwise, the calculation of work progress will not be possible.}}&lt;br /&gt;
&lt;br /&gt;
==== Measurement Task ====&lt;br /&gt;
&lt;br /&gt;
A [[MROCLS_MRO_MEASUREMENT_TASK|Measurement Task]] inherits from [[MROCLS_MRO_TASK|Task]] and documents a measured value (e.g. read from a pressure gauge). Therefore, clicking the value on the shown task opens an editor to enter the desired value. If no value was entered before, an empty line will be shown. Once a value has been entered, the task is finished. Alternatively, the task can also be closed by the option ''Not Applicable'' to document the situation of not being able to fullfill the measurement (e.g. the pressure gauge is broken). An additional small value indicator below the main value can report e.g. the previously entered value. The behaviour of this previous value indicator has to be specified separately in the customizing.&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=497px heights=69px&amp;gt;&lt;br /&gt;
File:Measurment Task Empty UWP.png|Measurement Task without a reported value (WinX)&lt;br /&gt;
File:Measurment Task Not Empty UWP.png|Measurement Task with a reported value (WinX)&lt;br /&gt;
File:Measurment Task Empty Android.jpg|Measurement Task without a reported value (Android)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Progress Task ====&lt;br /&gt;
&lt;br /&gt;
[[MROCLS_MRO_PROGRESS_TASK| Progress Task]] inherits from [[MROCLS_MRO_MEASUREMENT_TASK|Task]] and reports a certain progress while fullfilling a task. The progress will influence the overall progress of the owning workpackage. If the task cannot be fullfilled, it can also be finished with the option ''Not Applicable''.&lt;br /&gt;
&lt;br /&gt;
There is also an [[MRO_PROGRESS_TASK_EDITOR|alternative editor]] available for progress tasks.{{Version/WinXSince|2.5.4}}&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=497px heights=69px&amp;gt;&lt;br /&gt;
File:Progress Task UWP.png|Progress Task with a reported work progress (WinX)&lt;br /&gt;
File:Progress Task Android.jpg|Progress Task with a reported work progress and a previous progress(Android)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Check Task ====&lt;br /&gt;
&lt;br /&gt;
A [[MROCLS_MRO_CHECK_TASK|Check Task]] inherits from [[MROCLS_MRO_TASK|Task]] and is finished by reporting ''Done'' or ''Not Applicable''. This is intended for a simple To-Do task that is either done or not.&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=497px heights=69px&amp;gt;&lt;br /&gt;
File:Check Task finished UWP.png|Unfinished MRO CheckTask (WinX)&lt;br /&gt;
File:Check Task android.jpg|Not Applicable MRO CheckTask (Android)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Inspection Task ====&lt;br /&gt;
&lt;br /&gt;
[[MROCLS_MRO_INSPECTION_TASK|Inspection Task]] inherits from [[MROCLS_MRO_TASK|Task]] and is finished, when the user reports with a positive or negative answer or ''Not Applicable'' (e.g. reporting a yes/no answer for existing equipment).&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=497px heights=69px&amp;gt;&lt;br /&gt;
File:Finished Inspection Task UWP.png|Finished MRO InspectionTask (WinX)&lt;br /&gt;
File:Inspection task android.jpg|Finished MRO InspectionTask (Android)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Sequential Task ====&lt;br /&gt;
The [[MROCLS_SEQUENTIALTASK|sequential task classification]] allows you to pre-define a sequence in which tasks are to be resolved by users. This means that it is required for one or multiple tasks to be finished in order for other tasks to become &amp;quot;unlocked&amp;quot; and editable. A task can have any number of &amp;quot;predecessors&amp;quot;. Predecessors are the tasks that are required to be finished first.&lt;br /&gt;
&lt;br /&gt;
A task can have predecessors that live anywhere else in the object hierarchy. It is not necessary for a task and its predecessors to be part of the same work package, even though this is likely the most common use case.&lt;br /&gt;
&lt;br /&gt;
The state of a sequential task is evaluated both offline and online to get the best possible user experience. The user will see dependent tasks update immediately if their successors were finished, if those tasks are currently visible in the UI. There is 1 case in which the server-side state will override the client-side (offline) evaluation, discussed below.&lt;br /&gt;
The state of each sequential task is evaluated the following way:&lt;br /&gt;
&lt;br /&gt;
# If the server-side state says the task is open, we consider this as the truthful state and don't do any other evaluation.&lt;br /&gt;
# Check if the task has any predecessors.&lt;br /&gt;
# Try to load each predecessor task.&lt;br /&gt;
#* If loading of any predecessor fails (the object is not available offline), the task will be locked.&lt;br /&gt;
# If all predecessor tasks are finished, the task is open and can be edited. Otherwise, the task is locked.&lt;br /&gt;
&lt;br /&gt;
The customizer setting up the task dependency relations needs to ensure that the dependencies are not cyclical. In this case, it would be impossible for any tasks in the &amp;quot;cycle&amp;quot; to be finished.&lt;br /&gt;
&lt;br /&gt;
'''Example'''&lt;br /&gt;
&lt;br /&gt;
As a demonstration of this feature, see [[Media:Sequential_tasks_winx.mp4|this video]]. The relations between tasks are defined as in [[Media:Task_relations.png|this image]], starting at A1 and A2, which are not dependent on any other tasks. The lines (from left to right) indicate dependencies. This means that B2 has tasks A1 and A2 as its predecessors, for example.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Grouped Task {{Version/WinXSince|4.2}}{{Version/XamarinSince|4.2}} ====&lt;br /&gt;
Sometimes, not all tasks have to be finished. More specifically, there might be a predefined condition where you only need to finish a certain number of tasks among a group of them. These are known in {{UBIK}} as [[MROCLS_GROUPEDTASK|grouped tasks]].&lt;br /&gt;
&lt;br /&gt;
The idea is, a group of tasks can be defined as siblings to each other and they also share the same server configured threshold. When the number of finished tasks among that group exceeds the threshold, the entire group is considered as no longer necessary. When reflected in the overall status of the task owner(s), these tasks would appear as if they are finished.&lt;br /&gt;
&lt;br /&gt;
{{Hint|Technically speaking, the finished status is completely independent from the not necessary status on a task. A grouped task which is no longer necessary can be both finished or not yet finished. In other words, users don't have to finish a not necessary grouped task, but they still can.}}&lt;br /&gt;
&lt;br /&gt;
{{Hint|The precise status calculation for grouped tasks and their task owners requires the knowledge of all siblings tasks. Imagine 2 out of 3 tasks must be finished but the client only knows 1 in total and the others are only available at the server at that time. This makes it impossible to draw conclusions whether the task(s) should be necessary or not. Under such circumstances, the local status calculation is done as if these are just regular tasks.}}&lt;br /&gt;
&lt;br /&gt;
{{Hint|Like with the other MRO objects, the client always chooses the best available statuses for grouped tasks to present to the users. More specifically, it uses the statuses calculated by the server when the client is not offline and there are no uncommitted local changes on the involved objects. Otherwise, it uses the statuses calculated locally to the best of its knowledge.}}&lt;br /&gt;
&lt;br /&gt;
A task can also be a grouped and a sequential one at the same time. In such a case, the grouped nature of the sibling tasks will affect the way the task sequence completes.&lt;br /&gt;
&lt;br /&gt;
For example, task A1, A2 and A3 are 3 grouped sibling tasks and only 1 of them needs to be finished. At the same time, they are all predecessors of task B. Normally, all predecessors must be finished (and locked) before task B becomes the next one in the sequence and therefore unlocked. In this case, however, as soon as one of the predecessors is finished, all three become unnecessary (and locked) and task B unlocks as a result of that.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Supervisor Task {{Version/XamarinSince|4.8}} ====&lt;br /&gt;
As the name suggests, supervisor tasks are those that must be finished under supervision. When users want to finish a [[MROCLS_MRO_SUPERVISOR_TASK|supervisor task]], they must hand over their work devices to a supervisor. The latter checks the work status and scans an NFC tag if the work is approved. If the [[MROCLS_MRO_SUPERVISOR|supervisor]] has sufficient permissions for the task and the correct supervisor PIN is given, the task gets unlocked and the users can proceed to finish it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=300px heights=300px&amp;gt;&lt;br /&gt;
File:UI_Xamarin_Supervisor_Task_Before_Verification.jpg|Supervisor Task Before Verification/Unlocking (Mobile)&lt;br /&gt;
File:UI_Xamarin_Supervisor_Task_Enter_PIN.jpg|Supervisor Task Enter PIN (Mobile)&lt;br /&gt;
File:UI_Xamarin_Supervisor_Task_After_Verification.jpg|Supervisor Task After Verification/Unlocking (Mobile)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A thing to note is that while the need to verify a supervisor task can be seen as a type of locking, it's certainly not the only reason for a [[Locked_Objects|locked object]]. This means a supervisor task can remain locked (although for different reasons) even after a supervisor has successfully verified it. This can often be the case if you use it in combination with other features such as [[MRO_Objects_(Client)#Sequential_Task|sequential tasks]], [[User_Rights|user rights]].&lt;br /&gt;
&lt;br /&gt;
{{Hint|For security reasons, the verification process is cancelled if the supervisor enters the wrong PIN for three times. Scanning the tag again is required in that case.}}&lt;br /&gt;
{{Hint|A setting controls [[RFID_tags#Choose_which_information_to_use_from_a_tag|which information in a scanned tag is used]] during this process.}}&lt;br /&gt;
&lt;br /&gt;
==== Signature Task {{Version/MobileSince|5.1}}{{Version/WinXSince|5.1}} ====&lt;br /&gt;
&lt;br /&gt;
The Signature Task is a task type that is completed by capturing a handwritten signature from the user. The task contains an editor field that serves as the entry point for the signing process. When the user clicks (or taps) on the editor field, a signature dialog opens. Within this dialog, the user can provide their signature. After confirming the input, the signature is saved and the task is automatically marked as completed.&lt;br /&gt;
&lt;br /&gt;
If the task is signed while the client is online:&lt;br /&gt;
* The User (signee) is resolved immediately by the server and displayed.&lt;br /&gt;
* The ValidationTimestamp is generated and displayed.&lt;br /&gt;
* Both values are shown directly in the editor field after signing.&lt;br /&gt;
&lt;br /&gt;
{{Hint|The User only gets resolved by the server and displayed once you're in online mode}}&lt;br /&gt;
&lt;br /&gt;
If the displayed User and/or ValidationTimestamp cannot be fully shown due to limited space in the editor field, the complete information can be accessed via a Popup.&lt;br /&gt;
To show the Popup displaying the full User and ValidationTimestamp without truncation, click on the editor field.&lt;br /&gt;
&lt;br /&gt;
[[Category:Android|MRO Objects (UBIK WinX)]]&lt;br /&gt;
[[Category:Client|MRO Objects (Client)]]&lt;br /&gt;
[[Category:Mobile|MRO Objects (Client)]]&lt;br /&gt;
[[Category:Pages with broken file links|MRO Objects (Client)]]&lt;br /&gt;
[[Category:WinX|MRO Objects (UBIK WinX)]]&lt;br /&gt;
&lt;br /&gt;
==== Picture Task {{Version/MobileSince|5.1}}{{Version/WinXSince|5.1}} ====&lt;br /&gt;
&lt;br /&gt;
A [[MROCLS_PICTURE_TASK|picture task]] is a check task which can only be finished when it has at least one child document containing a valid file. In the UI, an additional photo button is presented next to the check so users can easily take photos before finishing the tasks.&lt;br /&gt;
* As any other objects, picture tasks can carry and display [[SYSCLS_CHILDINFOOWNER|child count information]]. But that is not a mandatory part of the feature. Even when it's not configured and not visible in the UI, you can still finish the tasks.&lt;br /&gt;
* In WinX/UWP, the UI also presents an expander which allows you to display the child documents of picture tasks. This is not present by default in the Mobile app due to the screen size limit but [[Object_hierarchy_in_XAML:_NextLevel,_ParentLevel,_LinkedLevel#Show_NextLevel_Children.2FDocuments|can be easily customized]].&lt;br /&gt;
&lt;br /&gt;
{{Hint|The task is named as such because pictures are the most commonly used types, but the child documents can be of other types as well. }}&lt;br /&gt;
&lt;br /&gt;
When a user tries to finish a picture task by tapping the check, the app might perform some data synchronization first if in online mode, which includes&lt;br /&gt;
* Syncing the child objects (including documents) of the task.&lt;br /&gt;
* Downloading the file(s) of the child documents.&lt;br /&gt;
During data synchronization, the check button on that task turns into a wait indicator. Afterwards, the app checks if the prerequisites to finish the task are met.&lt;br /&gt;
* If there are no child documents or no local files for the child documents, the task remains unfinished and the user gets informed about the reasons.&lt;br /&gt;
* Otherwise, the task gets finished and the photo button gets disabled.&lt;br /&gt;
&lt;br /&gt;
{{Hint|Setting NA (not applicable) on a picture task is always possible, regardless of the condition of child documents.}}&lt;br /&gt;
&lt;br /&gt;
==== Numeric Task {{Version/MobileSince|5.1}}{{Version/WinXSince|5.1}} ====&lt;br /&gt;
&lt;br /&gt;
A [[MROCLS_MRO_NUMERIC_TASK|numeric task]] is a task which records a double value (e.g. from a temperature sensor). Entering the value (including Not Applicable) completes the task.&lt;br /&gt;
* The value is compared against an accaptable value range which is not editable on the client.&lt;br /&gt;
* Deviation from this range results in visual feedback as well as the [[#Tech Status|tech status]] being set to display an issue.&lt;br /&gt;
* If the configured value range is invalid (e.g. min &amp;gt; max) and the user enters a value, the [[#Tech Status|tech status]] will also be set to display an issue.&lt;br /&gt;
* A numeric task also has a special value unit that can be set per task instance. If set, it overrides the standard value unit defined on the [[MetaProperty#Unit_Item|MetaProperty]].&lt;br /&gt;
&lt;br /&gt;
==== Pick List Task {{Version/MobileSince|5.1}}{{Version/WinXSince|5.1}} ====&lt;br /&gt;
&lt;br /&gt;
A [[MROCLS_PICK_LIST_TASK|Pick List task]] looks and behaves the same like a standard Integer Task with SelectiveList. Other than the standard Integer Task, the Pick List Task has an [[UBIK_Active_Lists|Active List]] defined on instance level to pick from for its value property. The task counts as finished as soon as a list item has been selected, or when pressing ''Not Applicable''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MRO objects with project information (WinX only) {{Version/WinXSince|2.5.4}} ===&lt;br /&gt;
[[File:UI_WinX_MRO_ProjectInfo.png|thumb|MRO Object with Project Info (WinX)]]&lt;br /&gt;
An MRO object (except tasks) might also bring along [[MROCLS_PROJECTINFORMATION|project information]]. In this case, the project information together with the MRO progress are displayed in a bar chart. The start &amp;amp; end dates of the MRO object are displayed on the progress bar. The length and the position of the progress bar, together with the current date mark indicate the timeline.&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Locking ==&lt;br /&gt;
When an (MRO) object is locked, editing it becomes impossible. More details about [[Locked_Objects|locked objects]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[MRO (Plugin)]]&lt;br /&gt;
* [[MROCLS_PROJECT]]&lt;br /&gt;
* [[MROCLS_PROJECTINFORMATION]]&lt;br /&gt;
* [[MROCLS_SEQUENTIALTASK]]&lt;br /&gt;
* [[MROCLS_GROUPEDTASK]]&lt;br /&gt;
* [[MROCLS_MRO_CHECK_TASK]]&lt;br /&gt;
* [[MROCLS_MRO_INSPECTION_TASK]]&lt;br /&gt;
* [[MROCLS_MRO_MEASUREMENT_TASK]]&lt;br /&gt;
* [[MROCLS_MRO_PROGRESS_TASK]]&lt;br /&gt;
* [[MROCLS_MRO_TASK]]&lt;br /&gt;
* [[MROCLS_MRO_TASKOWNER]]&lt;br /&gt;
* [[MROCLS_MRO_WORKPACKAGE]]&lt;br /&gt;
* [[MROCLS_PROCEDURE#Procedure Workpackage]] (Classification)&lt;br /&gt;
* [[MROCLS_SWITCH_TASK#Switch Task]] (Classification)&lt;br /&gt;
* [[MROCLS_SWITCH_END_TASK#Switch End Task]] (Classification)&lt;br /&gt;
* [[MROCLS_CALCULATION_TASK#Calculation Task]] (Classification)&lt;br /&gt;
* [[MROCLS_PICK_LIST_TASK]] (Classification)&lt;br /&gt;
&lt;br /&gt;
[[Category:Android|MRO Objects (UBIK WinX)]]&lt;br /&gt;
[[Category:Client|MRO Objects (Client)]]&lt;br /&gt;
[[Category:Mobile|MRO Objects (Client)]]&lt;br /&gt;
[[Category:Pages with broken file links|MRO Objects (Client)]]&lt;br /&gt;
[[Category:WinX|MRO Objects (UBIK WinX)]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_WinX_Client_Basics&amp;diff=29853</id>
		<title>UBIK WinX Client Basics</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_WinX_Client_Basics&amp;diff=29853"/>
				<updated>2026-05-11T09:34:15Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* Properties with value records {{Version/WinXSince|2.5.4}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{UBIK}} Client is the mobile application for viewing and modifying data, showing documents, starting navigation, visualizing POIs and much more.&lt;br /&gt;
&lt;br /&gt;
Client applications are available for Mobile and WinX, however the features available on each of the platform dependent applications might differ. An overview of the available features can be found in the [[Client_Feature_Table|feature comparison table]].&lt;br /&gt;
&lt;br /&gt;
== Languages ==&lt;br /&gt;
The standard {{UBIK}} client supports multiple languages listed below. {{Version/WinXSince|4.3}}&lt;br /&gt;
* Chinese (Simplified)&lt;br /&gt;
* Czech&lt;br /&gt;
* English&lt;br /&gt;
* German&lt;br /&gt;
* Polish&lt;br /&gt;
* Portuguese&lt;br /&gt;
* Spanish&lt;br /&gt;
{{Attention|As we found out, you can only switch to one of the supported languages if it is installed as a system language in the Windows &amp;quot;Preferred languages / Add a language&amp;quot; setting. For example, if you have only English installed when you install {{UBIK}}, you won't be able to switch to any other languages even if you add those later. In that case, you need to make sure your language of choice is installed in Windows first, then update or reinstall {{UBIK}}. This is a Microsoft Store practice and does not apply to clients installed through sideloading, e.g. from our AppCenter.}}&lt;br /&gt;
&lt;br /&gt;
== Login ==&lt;br /&gt;
Users need to login in order to access confidential data, this can be done in the [[Login View]].&lt;br /&gt;
&lt;br /&gt;
=== Confirm login === &lt;br /&gt;
{{Version/WinXSince|3.6}}&lt;br /&gt;
Certain pages might require to confirm the login data, even if the user is already logged in. This can be done in the following way: The CheckUserOfflineCommand needs to be called with the username and password as parameter, if the login was valid, the CheckUserOfflineSuccess boolean property is set to true, which causes the text &amp;quot;Login confirmed&amp;quot; to appear in the example.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBox&lt;br /&gt;
	x:Name=&amp;quot;Sign01User&amp;quot;&lt;br /&gt;
	DataContext=&amp;quot;{Binding AuthenticationViewModel, Source={StaticResource Locator}}&amp;quot;&lt;br /&gt;
	PlaceholderText=&amp;quot;User&amp;quot;&lt;br /&gt;
	Text=&amp;quot;{Binding UserName}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;PasswordBox&lt;br /&gt;
	x:Name=&amp;quot;Sign01PW&amp;quot;&lt;br /&gt;
	DataContext=&amp;quot;{Binding AuthenticationViewModel, Source={StaticResource Locator}}&amp;quot;&lt;br /&gt;
	PlaceholderText=&amp;quot;Password&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;Button&lt;br /&gt;
	Command=&amp;quot;{Binding CheckUserOfflineCommand}&amp;quot;&lt;br /&gt;
	Content=&amp;quot;Confirm login&amp;quot;&lt;br /&gt;
	DataContext=&amp;quot;{Binding AuthenticationViewModel, Source={StaticResource Locator}}&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;Button.CommandParameter&amp;gt;&lt;br /&gt;
		&amp;lt;uc:KeyValueList&amp;gt;&lt;br /&gt;
			&amp;lt;uc:KeyValueParameter Key=&amp;quot;UserName&amp;quot; Value=&amp;quot;{Binding ElementName=Sign01User, Path=Text}&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;uc:KeyValueParameter Key=&amp;quot;Password&amp;quot; Value=&amp;quot;{Binding ElementName=Sign01PW, Path=Password}&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/uc:KeyValueList&amp;gt;&lt;br /&gt;
	&amp;lt;/Button.CommandParameter&amp;gt;&lt;br /&gt;
&amp;lt;/Button&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;Login confirmed&amp;quot; Visibility=&amp;quot;{Binding AuthenticationViewModel.CheckUserOfflineSuccess, Source={StaticResource Locator}, FallbackValue=false, Converter={StaticResource BoolToVisConverter}}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Profiles ==&lt;br /&gt;
Profiles are used to store connection information for {{UBIK}} services. It specifies the location where to find the service along with other useful informations. Profiles are stored by UBIK whenever the user created connection information and stored it in the settings. However, profiles can also be created and edited with any text editor. Possible settings to be defined are:&lt;br /&gt;
* InternalConnectionSettings: Connections settings how to connect to the Content and the USAM service that has been set up.&lt;br /&gt;
** Application: the [[APPLICATION]] to use with the service&lt;br /&gt;
** AuthenticationPort: Port Number of the authentication (USAM) service (default: 777)&lt;br /&gt;
** AuthenticationProtocol: Protocol of the authentication service (default: https)&lt;br /&gt;
** AuthenticationServer: the ip address of the authentication server&lt;br /&gt;
** AuthenticationService: the path to the authentication service&lt;br /&gt;
** ContentPort: Port Number of the content service (default: 777)&lt;br /&gt;
** ContentProtocol: Protocol of the content service (default: https)&lt;br /&gt;
** ContentServer: the ip address of the content server&lt;br /&gt;
** ContentService: the path to the content service&lt;br /&gt;
** Context: the [[CONTEXT]] to use with the service&lt;br /&gt;
** SyncMode: the used sync mode (Online [= Auto], Manual, Offline; default:Online)&lt;br /&gt;
* IsDefault: true, if the profile should be the default profile&lt;br /&gt;
* Name: the name of the profile (will also be used to identify the database)&lt;br /&gt;
** If the profile name contains invalid characters like: /, &amp;quot;, &amp;lt;, &amp;gt;, ... they will be replaced with %_&lt;br /&gt;
* Project: the project name. Use this to share a single project name with more than one profile. If the project is defined, all profile with the same project will share one database.&lt;br /&gt;
* Customizing: the XAML subfolder to use for customized UI. This parameter can be used to share one single XAML customizing folder for multiple profiles.&lt;br /&gt;
* ShowHiddenSettings: show hidden settings (feault: false)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Profile xmlns:i=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns=&amp;quot;http://schemas.datacontract.org/2004/07/UBIK.WinX.Settings&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Customizing&amp;gt;MYAPPLICATIONUI&amp;lt;/Customizing&amp;gt;&lt;br /&gt;
  &amp;lt;Description i:nil=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;InternalConnectionSettings&amp;gt;&lt;br /&gt;
    &amp;lt;Application&amp;gt;APP_DEMO&amp;lt;/Application&amp;gt;&lt;br /&gt;
    &amp;lt;AuthenticationPort&amp;gt;777&amp;lt;/AuthenticationPort&amp;gt;&lt;br /&gt;
    &amp;lt;AuthenticationProtocol&amp;gt;https&amp;lt;/AuthenticationProtocol&amp;gt;&lt;br /&gt;
    &amp;lt;AuthenticationServer&amp;gt;80.243.175.50&amp;lt;/AuthenticationServer&amp;gt;&lt;br /&gt;
    &amp;lt;AuthenticationService&amp;gt;UBIK/DBG/AUG/DEMO.250/USAM/USAM.svc&amp;lt;/AuthenticationService&amp;gt;&lt;br /&gt;
    &amp;lt;ContentPort&amp;gt;777&amp;lt;/ContentPort&amp;gt;&lt;br /&gt;
    &amp;lt;ContentProtocol&amp;gt;https&amp;lt;/ContentProtocol&amp;gt;&lt;br /&gt;
    &amp;lt;ContentServer&amp;gt;80.243.175.50&amp;lt;/ContentServer&amp;gt;&lt;br /&gt;
    &amp;lt;ContentService&amp;gt;UBIK/DBG/AUG/DEMO.250/CONTENT/UBIKContent.svc&amp;lt;/ContentService&amp;gt;&lt;br /&gt;
    &amp;lt;Context&amp;gt;CXT_DEMO&amp;lt;/Context&amp;gt;&lt;br /&gt;
    &amp;lt;SyncMode&amp;gt;Online&amp;lt;/SyncMode&amp;gt;&lt;br /&gt;
  &amp;lt;/InternalConnectionSettings&amp;gt;&lt;br /&gt;
  &amp;lt;IsDefault&amp;gt;true&amp;lt;/IsDefault&amp;gt;&lt;br /&gt;
  &amp;lt;Name&amp;gt;DEMO.250.AT&amp;lt;/Name&amp;gt;&lt;br /&gt;
  &amp;lt;Project&amp;gt;DEMO.250&amp;lt;/Project&amp;gt;&lt;br /&gt;
  &amp;lt;ShowHiddenSettings&amp;gt;false&amp;lt;/ShowHiddenSettings&amp;gt;&lt;br /&gt;
&amp;lt;/Profile&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Content Browser ==&lt;br /&gt;
Allows to navigate through the entire data model in a hierarchical manner, as it is published by the server.&lt;br /&gt;
&lt;br /&gt;
Initially, a list of objects (&amp;quot;root objects&amp;quot;) is shown. Upon selecting an object, a new browser is opened for that object, showing details about it. When an object is selected in the content browser, it is called the browser's context. For such a contextual object, child objects and selected properties are shown. Also, there is a context menu providing actions related to the currently selected object. &lt;br /&gt;
&lt;br /&gt;
=== Status Bar ===&lt;br /&gt;
==== Saving Indicator ====&lt;br /&gt;
[[File:UBIK_SaveIndicator.png|300 px|thumb|border|alt=Saving Symbol|Saving Symbol]]&lt;br /&gt;
{{Version/WinXSince|2.5.4}}Whenever content is being saved into the local database (for example, after a branch is downloaded from the server), there will be a blinking symbol indicating the saving activity is happening in the background.&lt;br /&gt;
During that time, the user is advised to not logout or close the app because the content might be lost otherwise. However, it is okay to undertake other tasks such as browsing, editing or downloading branches.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:How-To|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:Pages with broken file links|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:WinX|UBIK WinX Client Basics]]&lt;br /&gt;
&lt;br /&gt;
==== Uncommitted Changes Indicator ====&lt;br /&gt;
{{Version/WinXSince|4.6.0}} When there are uncommitted changes it is indicated by a button in the Status Bar displaying an icon and the number of uncommitted changes. Pressing this button opens a fly out list with all of the objects that have uncommitted changes to them. Pressing one of those list objects navigates directly to the corresponding object. The Uncommitted Changes Indicator button is only shown when there are uncommitted changes otherwise it is not visible. When in online mode all changes should be committed automatically so the Indicator is mainly useful in Manual or Offline Sync Mode.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Version/WinXSince|4.7.0}} Queries are now excluded from uncommitted changes.&lt;br /&gt;
&lt;br /&gt;
=== Child Page ===&lt;br /&gt;
&lt;br /&gt;
[[File:UBIK_ChildPage.png|400 px|thumb|border|alt=Child Page|Child Page]]&lt;br /&gt;
&lt;br /&gt;
The child page shows the context of a selected object. &lt;br /&gt;
&lt;br /&gt;
The global status bar shows the icon, the name and the description of the selected object. An arrow on the left side allows the user to navigate back to the parent object. On the right side the currently logged-in user is indicated. By clicking on the username one is able to navigate back to the home screen or log off.&lt;br /&gt;
&lt;br /&gt;
The right side of the child page shows child objects of the current object. Each child object is represented by an icon, a name and a description. With the [[SYSCLS_CHILDINFOOWNER|child info owner classification]], one can additionally show the number of documents and regular grandchildren to be expected for a child object.&lt;br /&gt;
&lt;br /&gt;
On the left side of the child page the current object´s high priority properties are shown. By clicking on a live value property, the live value details dialog opens. By clicking on an editable [[UBIK_WinX_Client_Basics#High_priority_properties| high priority property]], an editor opens {{Version/WinXSince|2.5.4}}. If a property was edited a save button is shown in the lower left corner, allowing the user to commit the changes. If a property of a query object was edited an evaluate button is shown in the lower left corner, allowing the user to run the query with the changed propery.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:How-To|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:Pages with broken file links|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:WinX|UBIK WinX Client Basics]]&lt;br /&gt;
&lt;br /&gt;
=== Properties Page ===&lt;br /&gt;
&lt;br /&gt;
On the properties page, one can see a list of all the current object's visible properties, and, given the respective rights, a possibility to edit them.&lt;br /&gt;
&lt;br /&gt;
=== Context Menu ===&lt;br /&gt;
&lt;br /&gt;
For any current object, there is a set of potential context-sensitive actions. These are displayed as buttons in the title bar, with a three-dot overflow menu button aggregating all the actions that wouldn't fit there anymore. There are many potential actions; some of them are only enabled for specifically classified objects, like objects with a geo location. Default actions are refresh, various download options, child object creation, copy/paste, commit/revert changes, geo-related actions, etc.&lt;br /&gt;
&lt;br /&gt;
=== Objects ===&lt;br /&gt;
&lt;br /&gt;
==== Root objects vs child objects ====&lt;br /&gt;
&lt;br /&gt;
The first entry point in the ''Content Browser'' is the list of root objects.&lt;br /&gt;
&lt;br /&gt;
==== Task objects ====&lt;br /&gt;
&lt;br /&gt;
[[https://wiki.augmensys.com/index.php?title=MRO_Objects_(Client)#Task|Tasks]] and [[https://wiki.augmensys.com/index.php?title=MRO_Objects_(Client)#Work_Package|work packages]] are special types of {{UBIK}} objects used for maintenance, repair and overhaul (MRO) use-cases.&lt;br /&gt;
&lt;br /&gt;
==== Query objects ====&lt;br /&gt;
&lt;br /&gt;
Queries are special types of {{UBIK}} objects with dynamic children. The child objects are looked up depending on the query object's criteria, which can be specified the same as property values for regular objects. There are [[QUERY|online queries]] evaluated by the server, and [[https://wiki.augmensys.com/index.php?title=Offline_Query_(UBIK_WinX)|offline queries]] evaluated on the client, thus requiring no internet connection.&lt;br /&gt;
&lt;br /&gt;
==== Safety relevant objects ====&lt;br /&gt;
&lt;br /&gt;
Object classified as [[SYSCLS_SAFETY_RELEVANT_OBJECT|safety relevant]] require the user to accept safety instructions to access the object, which can be required for hazardous MRO tasks, for example.&lt;br /&gt;
&lt;br /&gt;
==== Commissioning objects ====&lt;br /&gt;
&lt;br /&gt;
Similar to and based on MRO objects, commissioning objects are tasks and work packages for the commissioning use-case, e.g., [[SYSCLS_COMMISSIONINGCHECK|commissioning check tasks]].&lt;br /&gt;
&lt;br /&gt;
==== Locked objects  ====&lt;br /&gt;
In several use-cases, objects can be [[Locked_Objects|locked]] for editing.&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
&lt;br /&gt;
==== Authentication Properties ====&lt;br /&gt;
[[SYSCLS_REQUIRE_AUTHENTICATION|Authentication Properties]] are properties which need a user authentication (through a password field) to be edited.&lt;br /&gt;
&lt;br /&gt;
==== Min max properties ====&lt;br /&gt;
See [[Min_Max_Properties]].&lt;br /&gt;
&lt;br /&gt;
==== Live value properties ====&lt;br /&gt;
[[Live_Values]] are specific property values extracted from a process control system like OPC-UA or OSIPI. &lt;br /&gt;
&lt;br /&gt;
==== High priority properties ====&lt;br /&gt;
High priority properties are properties having a priority higher than the [[Settings#Content |priority threshold]].&lt;br /&gt;
&lt;br /&gt;
==== Selective List Properties ====&lt;br /&gt;
For some properties, the user should be able to select from a predefined set of values. Such a predefined set is called a &amp;quot;selective list&amp;quot; in {{UBIK}}.&lt;br /&gt;
Furthermore, there are [[Dynamic_Selective_List_(Client)|dynamic selective lists]] that can be filtered or assembled based on dependency property values.&lt;br /&gt;
&lt;br /&gt;
{{Hint|{{Version/WinXSince|5.1.0.0}}{{Version/MobileSince|5.1.0.0}} The ItemsSource binding of related WinX/Mobile controls in Xaml now requires only '''PropertyViewModel.SelectiveItems''', which will return the items of an [[Active_List_Client|ActiveList]], or the items of a MetaProperty.SelectiveList, depending on the server-side configuration. In this case, the [[Converters_In_Mobile#List_of_Available_Converters|SelectiveListToItemsConverter]] is outdated and should not be used anymore.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Properties with value records {{Version/WinXSince|2.5.4}} ====&lt;br /&gt;
[[File:ViewEditHistory.png|thumb|Open edit history]]&lt;br /&gt;
[[File:PropertyValueRecords.png|thumb|Property value records dialog]]&lt;br /&gt;
In addition to its value, a property might also bring along a series of value records showing &amp;quot;who changed the value at what time&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
When such records exist, the property row shows a special symbol on the right side. After a right click (with mouse) or a long tap (with touch) on the property row, a dialog will be shown to present these records (sorted by their time, recent ones on top).&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:How-To|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:Pages with broken file links|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:WinX|UBIK WinX Client Basics]]&lt;br /&gt;
&lt;br /&gt;
==== String properties with length restrictions ====&lt;br /&gt;
A string property can be configured with a [[MetaProperty#Text_2|length restriction]]. The client property editing UI doesn't allow users to confirm values exceeding the limit.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
==== [[Editors]] ====&lt;br /&gt;
&lt;br /&gt;
See [[Editors]]&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
UBIK supports and displays document objects and a bunch of actions related to them (editing, redlining, creation, thumbnails, ...).&lt;br /&gt;
See [[Documents_(Client)|Documents (Client)]]&lt;br /&gt;
&lt;br /&gt;
==== Fit Mode{{Version/WinXSince|3.5}} ====&lt;br /&gt;
See [[Documents_(Client)#Fit_Mode|Fit Mode]]&lt;br /&gt;
&lt;br /&gt;
==== Auto zoom {{Version/WinXSince|4.6}}{{Version/XamarinSince|4.6}} ====&lt;br /&gt;
See [[Documents_(Client)#Auto_zoom|Auto zoom]]&lt;br /&gt;
&lt;br /&gt;
==== Editing{{Version/WinXSince|2.5.4}} ====&lt;br /&gt;
See [[Documents_(Client)#Editing|Editing]]&lt;br /&gt;
&lt;br /&gt;
==== Offline availability ====&lt;br /&gt;
See [[Documents_(Client)#Offline/Online|Offline/Online]]&lt;br /&gt;
&lt;br /&gt;
==== Clear Online Documents ====&lt;br /&gt;
[[Documents_(Client)#Offline/Online|Offline/Online]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AR Features ==&lt;br /&gt;
&lt;br /&gt;
=== POI View ===&lt;br /&gt;
Brings up the POI View|Augmented Reality view and displays Points of Interest (POI's) related to the current location of the mobile device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Markerless ===&lt;br /&gt;
&lt;br /&gt;
=== Map View ===&lt;br /&gt;
Opens the Map View and displays Points of Interest (POI's) related to the current location of the mobile device.&lt;br /&gt;
&lt;br /&gt;
== Positioning ==&lt;br /&gt;
{{UBIK}} clients use a [[Location_Manager|Location Manager]] in order to gain knowledge about their position, so it can help the user navigate to his/her target.&lt;br /&gt;
&lt;br /&gt;
The user can choose one of different positioning modes optimized for different environments.&lt;br /&gt;
Most of them incorporate multiple technologies for calculating positions or checking their reliability.&lt;br /&gt;
&lt;br /&gt;
=== Positioning modes ===&lt;br /&gt;
&lt;br /&gt;
* ''Use all'' - uses all available position sources&lt;br /&gt;
* ''LLA only mode'' - used for positioning using markers only&lt;br /&gt;
* ''Beacon Proximity mode'' - uses iBeacon proximity and LLA only&lt;br /&gt;
&lt;br /&gt;
=== Technologies ===&lt;br /&gt;
&lt;br /&gt;
==== GPS ==== &lt;br /&gt;
GPS is used as a primary positioning input source for outdoor areas. Its precision depends on the environment and satellite availability. With good circumstances, the accuracy varies between 1 and 10 meters.&lt;br /&gt;
&lt;br /&gt;
==== LLA markers ==== &lt;br /&gt;
LLA markers basically are QR codes with location data encoded into them - which can be used for positioning when they are scanned.&lt;br /&gt;
&lt;br /&gt;
==== Object Proximity Positioning ====&lt;br /&gt;
The location of nearby Geo-Objects can be used for positioning.&lt;br /&gt;
&lt;br /&gt;
The position of a Geo-Object can be used manually by pushing the button {{key press|Use Location}} in the [[UBIK_WinX_Client_Basics#Context_Menu|Context Menu]]. &lt;br /&gt;
&lt;br /&gt;
The geo information of an object gets used automatically if exactly one single object is found through scanning. If more objects are found, their geo information doesn´t get used. Scanning includes  [[UBIK Client Basics#Bar Code|Bar Code]], [[UBIK Client Basics#QR Code|QR Code]], [[UBIK Client Basics#OCR|OCR]] and [[UBIK Client Basics#RFID|RFID]]. The automatic use of Geo-Object´s location can be turned off by disabling the &amp;quot;EnableObjectProximityPositioning&amp;quot; setting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Beacon-Proximity Positioning ====&lt;br /&gt;
The Beacon Proximity Mode detects if the user is in the proximity of a beacon. The proximity region is defined by a proximity distance which creates a sphere around the beacon. Whenever the calculated distance to a beacon is smaller than the proximity distance, the user is supposed to be at the position of the beacon. If multiple regions intersect the user is supposed to be at the position of the nearest beacon. &lt;br /&gt;
In order to use Beacon Proximity as a Positioning System, Bluetooth Low Energy has to be available and enabled on the mobile device. If a new environment should be equipped with iBeacon-Positioning, an expert has to mount iBeacons on known positions and calibrate the propagation factor of these beacons. Proximity beacons can be configured using [[SYSCLS_PROXIMITY_BEACON]]. {{Version/WinXSince|UWP}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Finding Objects ==&lt;br /&gt;
=== Free Text Search ===&lt;br /&gt;
&lt;br /&gt;
=== ID Marker ===&lt;br /&gt;
&lt;br /&gt;
=== QR Code ===&lt;br /&gt;
&lt;br /&gt;
=== Bar Code ===&lt;br /&gt;
&lt;br /&gt;
=== RFID Code ===&lt;br /&gt;
Provides a fast and convenient way for users to find objects that are identifiable through [[RFID tags|RFID tags]].&lt;br /&gt;
&lt;br /&gt;
=== OCR ===&lt;br /&gt;
&lt;br /&gt;
== Linked objects == &lt;br /&gt;
{{Version/WinXSince|3.6}}&lt;br /&gt;
It is possible to display values of linked objects by using the &amp;quot;LinkedLevel&amp;quot; property. An example can be seen here, where Items[0] is a Guid property linking to another object. The ItemsControl then binds to the Properties of the linked object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Grid DataContext=&amp;quot;{Binding Properties.Items[0].LinkedLevel}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ItemsControl ItemsSource=&amp;quot;{Binding Properties.AllItems}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Grid&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Client_Feature_Table]]&lt;br /&gt;
* [[SYSCLS_DOCUMENT_FITMODE]]&lt;br /&gt;
* [[SYSCLS_SHOWDOCUMENTS]]&lt;br /&gt;
* [[SYSCLS_SHOWPROPERTIES]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:How-To|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:Pages with broken file links|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:WinX|UBIK WinX Client Basics]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:ViewEditHistory.png&amp;diff=29852</id>
		<title>File:ViewEditHistory.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:ViewEditHistory.png&amp;diff=29852"/>
				<updated>2026-05-11T09:34:03Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Live_Values&amp;diff=29850</id>
		<title>Live Values</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Live_Values&amp;diff=29850"/>
				<updated>2026-05-11T09:11:47Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* Connectivity Indicator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:livevalues_xamarin.jpg |thumb|border|alt= Live values in Mobile|Live values in Mobile]]&lt;br /&gt;
[[File:livevalues_winx.png |thumb|border|alt= Live values in WinX|Live values in WinX]]&lt;br /&gt;
Live values are properties that update with a configured frequency. These properties contain information about reliability, measurement quality, and synchronization, as well as custom data (attributes). Real-time data, originating from various systems, can be delivered to the clients with minimum delay.&lt;br /&gt;
&lt;br /&gt;
The Mobile and WinX clients display live values alongside other properties, and they are also shown on the [[Map View|map view]] upon selecting the specific object.&lt;br /&gt;
&lt;br /&gt;
Also check out the [[HowTo:Implementing_Live_Values|Guide for Implementing Live Values]].&lt;br /&gt;
&lt;br /&gt;
== Content Browser ==&lt;br /&gt;
The row for live value properties differs only slightly from normal property rows. On the left of the property value, below the description, is a connectivity indicator icon (reminding of the connectivity icon from cell phones). The more current the property value and the better its quality is, the better the connectivity is indicated. If all bars are greyed out and a small red cross is shown, the last update happened very long ago or no update was received at all, or the measurement quality is bad. For detailed information about that, a detailed dialog is necessary.&lt;br /&gt;
&lt;br /&gt;
=== Connectivity Indicator ===&lt;br /&gt;
[[File:UI_android_live_values_freshness_indicators.png |thumb|border|alt= States of the connectivity indicator|States of the connectivity indicator]]&lt;br /&gt;
&lt;br /&gt;
The connectivity indicator has the following states, from left to right:&lt;br /&gt;
* Good&lt;br /&gt;
* Questionable&lt;br /&gt;
* Bad&lt;br /&gt;
&lt;br /&gt;
Note that the connectivity indicator combines the freshness and the measurement quality of the live value, thus describing the overall reliability of the value instead of just how recent it is.&lt;br /&gt;
&lt;br /&gt;
The following gallery gives an overview of the possible synchronization states of live value property rows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;360&amp;quot;&amp;gt;&lt;br /&gt;
File:LiveValuesMobile.jpg| Reliable live values (Mobile)&lt;br /&gt;
File:UI_WinX_live_values_row_new.png| Reliable live values (Windows)&lt;br /&gt;
File:UI_WinX_live_values_detailsrow_new.png| Reliable live values in the document/details view (Windows)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.0|Live Values]]&lt;br /&gt;
[[Category:Android|Live Values]]&lt;br /&gt;
[[Category:Live Values|Live Values]]&lt;br /&gt;
[[Category:Mobile|Live Values]]&lt;br /&gt;
[[Category:Server|Live Values]]&lt;br /&gt;
[[Category:WinX|Live Values]]&lt;br /&gt;
&lt;br /&gt;
==Map view==&lt;br /&gt;
[[File:UI_android_live_values_map_view.png |thumb|border|alt= Live values map view|Live values map view (Android)]]&lt;br /&gt;
[[File:UI_WinX_live_values_map_view.png |thumb|border|alt= Live values map view|Live values map view (Windows)]]&lt;br /&gt;
&lt;br /&gt;
Upon clicking a correctly configured object within the map view, properties are shown within the opened dialog. It is important to know, that only '''High priority''' properties are shown here, altering the [[Settings#List of settings|priority threshold]] setting may change the visibility of the live property in the map view.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
{{Category/Version|2.5.0}}&lt;br /&gt;
&lt;br /&gt;
== Detail dialog ==&lt;br /&gt;
The freshness is very crucial in order to know whether the live property value can be trusted, but there are other influences like how good the measurement itself was. These information gets displayed via a dialog, the user can upon clicking the [[Live Values#Freshness Indicator |freshness indicator]] symbol both in the content Browser or the map view.&lt;br /&gt;
Within the dialog, several detailed information can be seen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;75%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Description!! Information&lt;br /&gt;
|-&lt;br /&gt;
| ''Live Value''|| Provides the same information as the row itself, namely value and as an icon the connectivity indicator.&lt;br /&gt;
|-&lt;br /&gt;
| ''Recentness''|| Displays how long ago the last synchronization was, based on the internal freshness evaluation system. &lt;br /&gt;
|-&lt;br /&gt;
| ''Last Synchronization''|| Displays the exact timestamp of the last successful synchronization, out of this, the recentness is evaluated.&lt;br /&gt;
|-&lt;br /&gt;
| ''Measurement time stamp''|| Measurement time stamp provided by the measurement unit itself (for instance a pressure measurement unit). It should not be trusted entirely since device time and measurement until time could have a huge difference.&lt;br /&gt;
|-&lt;br /&gt;
| ''Measurement quality''|| Quality information provided by the measurement unit or data collecting instance (e.g. OPCUA Server) which together with the &amp;quot;Recentness&amp;quot; gets combined to evaluate the [[Live Values#Freshness Indicator |freshness indicator]]. In addition, a more detailed description of the measurement gets displayed if available.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Some examples how such a detailed information dialog looks like in the following gallery:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;360&amp;quot;&amp;gt;&lt;br /&gt;
File:UI_android_live_values_dialog_new.png| Fresh live values (Android)&lt;br /&gt;
File:UI_windows_live_values_dialog_new.png| Fresh live values (WinX)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Attributes {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}} ==&lt;br /&gt;
[[File:attributes.png |thumb|Attributes in the detail dialog (WinX)]]&lt;br /&gt;
Attributes are additional data that are sent to clients with every value update. They can be customized where the live values are generated (in the plugin) to contain the unit, formatted value, description, etc. &lt;br /&gt;
&lt;br /&gt;
They were introduced in Service {{Version/ServerSince|2.6.4}} Version 2.6.4 and Client Version 3.6.&lt;br /&gt;
&lt;br /&gt;
Since {{Version/ServerSince|4.5.0}} Version 4.5.0 UBIK Live Values support properties being classified as LiveValueAttribute. If they are filled out, the value is sent as LiveValueAttribute to the client with every value update. The Standard Live Value Metaclass provides two Standard (LiveValueAttribute) properties (UI_DESCR and UNIT). It is possible to add more properties if necessary. The Name of the MetaProperty is used as Attribute - Key. In the case of a name conflict the Attribute coming from the Live Value Server is wins against the Attribute coming from the LiveValue.&lt;br /&gt;
Following types are supported:&lt;br /&gt;
* String&lt;br /&gt;
* Multi language String&lt;br /&gt;
* Integer&lt;br /&gt;
* DateTime&lt;br /&gt;
* Double&lt;br /&gt;
* GeoData&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Accessing from XAML ==&lt;br /&gt;
Live values can be easily accessed from XAML, as long as the view model has a reference to the '''Properties''' collection.&lt;br /&gt;
&lt;br /&gt;
=== Displaying all Live Values ===&lt;br /&gt;
This XAML code will generate a list of all live values of this object:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ListView ItemsSource=&amp;quot;{Binding Properties.ImportantLiveItems}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ListView.ItemTemplate&amp;gt;&lt;br /&gt;
        &amp;lt;DataTemplate&amp;gt;&lt;br /&gt;
            &amp;lt;Grid Width=&amp;quot;100&amp;quot;  Height=&amp;quot;40&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;FontIcon FontFamily=&amp;quot;Segoe MDL2 Assets&amp;quot; Glyph=&amp;quot;{Binding LiveValueQualitySymbol}&amp;quot; HorizontalAlignment=&amp;quot;Left&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;TextBlock Text=&amp;quot;{Binding DisplayValue}&amp;quot; HorizontalAlignment=&amp;quot;Right&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/Grid&amp;gt;&lt;br /&gt;
        &amp;lt;/DataTemplate&amp;gt;&lt;br /&gt;
    &amp;lt;/ListView.ItemTemplate&amp;gt;&lt;br /&gt;
&amp;lt;/ListView&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Accessing Single Value ===&lt;br /&gt;
This code binds the value of the '''LMP_FLOW''' LiveValue-MetaProperty to a &amp;lt;code&amp;gt;TextBlock&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Value}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Furthermore, you can bind to:&lt;br /&gt;
* Description&lt;br /&gt;
* QualitySymbol&lt;br /&gt;
* Age&lt;br /&gt;
* LastSync&lt;br /&gt;
* TimeStamp&lt;br /&gt;
* Attributes (see below) {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}}&lt;br /&gt;
&lt;br /&gt;
=== Binding to Attributes {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}} ===&lt;br /&gt;
Attributes can be bound to similarly as to the individual value:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Attributes[Unit].Value}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following data are available for each attribute:&lt;br /&gt;
* Value&lt;br /&gt;
* Key&lt;br /&gt;
* Description&lt;br /&gt;
&lt;br /&gt;
==== Further Attributes ====&lt;br /&gt;
Custom attributes can be defined in the corresponding '''Live Value Interface''', with some of them pre-defined in the corresponding interfaces. &lt;br /&gt;
&lt;br /&gt;
As an example, the [[OSIPI_(Plugin)|OSIPI Plugin]] defines an Attribute called '''FORMATTED''', which contains the ''Value'' already pre-formatted according to [https://livelibrary.osisoft.com/LiveLibrary/content/en/webparts-v4/GUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337#addHistory=true&amp;amp;filename=GUID-A467C65F-C7C1-439D-AB26-7C360DB61865.xml&amp;amp;docid=GUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337&amp;amp;inner_id=&amp;amp;tid=&amp;amp;query=&amp;amp;scope=&amp;amp;resource=&amp;amp;toc=false&amp;amp;eventType=lcContent.loadDocGUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337 OsiPi's Specification]. In the ''Server-Configuration'', it's possible to adjust the formatting [https://docs.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo Culture] and leading-zeroes trimming.&lt;br /&gt;
&lt;br /&gt;
=== Binding to Description ===&lt;br /&gt;
Like with a regular property, the description of a live value property can be accessed as the following.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Description}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hint|It's possible that the description comes not from the property's underlying [[MetaProperty]], but rather from the value of an attribute called &amp;quot;UI_DESCR&amp;quot; (if present).{{Version/WinXSince|4.5}}{{Version/XamarinSince|4.5}}}}&lt;br /&gt;
&lt;br /&gt;
=== Binding to Unit ===&lt;br /&gt;
Like with a regular property, the unit of a live value property can be accessed as the following.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Unit}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hint|It's possible that the unit comes not from the property's underlying [[MetaProperty]], but rather from the value of an attribute called &amp;quot;UNIT&amp;quot; (if present).{{Version/WinXSince|4.5}}{{Version/XamarinSince|4.5}}}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[HowTo:Implementing_Live_Values]]&lt;br /&gt;
* [[Charts]]&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.0|Live Values]]&lt;br /&gt;
[[Category:Android|Live Values]]&lt;br /&gt;
[[Category:Live Values|Live Values]]&lt;br /&gt;
[[Category:Mobile|Live Values]]&lt;br /&gt;
[[Category:Server|Live Values]]&lt;br /&gt;
[[Category:WinX|Live Values]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Live_Values&amp;diff=29849</id>
		<title>Live Values</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Live_Values&amp;diff=29849"/>
				<updated>2026-05-11T09:11:17Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* Connectivity Indicator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:livevalues_xamarin.jpg |thumb|border|alt= Live values in Mobile|Live values in Mobile]]&lt;br /&gt;
[[File:livevalues_winx.png |thumb|border|alt= Live values in WinX|Live values in WinX]]&lt;br /&gt;
Live values are properties that update with a configured frequency. These properties contain information about reliability, measurement quality, and synchronization, as well as custom data (attributes). Real-time data, originating from various systems, can be delivered to the clients with minimum delay.&lt;br /&gt;
&lt;br /&gt;
The Mobile and WinX clients display live values alongside other properties, and they are also shown on the [[Map View|map view]] upon selecting the specific object.&lt;br /&gt;
&lt;br /&gt;
Also check out the [[HowTo:Implementing_Live_Values|Guide for Implementing Live Values]].&lt;br /&gt;
&lt;br /&gt;
== Content Browser ==&lt;br /&gt;
The row for live value properties differs only slightly from normal property rows. On the left of the property value, below the description, is a connectivity indicator icon (reminding of the connectivity icon from cell phones). The more current the property value and the better its quality is, the better the connectivity is indicated. If all bars are greyed out and a small red cross is shown, the last update happened very long ago or no update was received at all, or the measurement quality is bad. For detailed information about that, a detailed dialog is necessary.&lt;br /&gt;
&lt;br /&gt;
=== Connectivity Indicator ===&lt;br /&gt;
[[File:UI_android_live_values_freshness_indicators.png |thumb|border|alt= States of the connectivity indicator|States of the connectivity indicator]]&lt;br /&gt;
&lt;br /&gt;
The connectivity indicator has the following states, from left to right:&lt;br /&gt;
* Good&lt;br /&gt;
* Questionable&lt;br /&gt;
* Bad&lt;br /&gt;
&lt;br /&gt;
Note that the connectivity indicator combines the freshness and the measurement quality of the live value, thus describing the overall reliability of the value instead of just how recent it is.&lt;br /&gt;
&lt;br /&gt;
The following gallery gives an overview of the possible synchronization states of live value property rows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;360&amp;quot;&amp;gt;&lt;br /&gt;
File:LiveValuesMobile.jpg| Reliable live values (Android)&lt;br /&gt;
File:UI_WinX_live_values_row_new.png| Reliable live values (Windows)&lt;br /&gt;
File:UI_WinX_live_values_detailsrow_new.png| Reliable live values in the document/details view (Windows)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.0|Live Values]]&lt;br /&gt;
[[Category:Android|Live Values]]&lt;br /&gt;
[[Category:Live Values|Live Values]]&lt;br /&gt;
[[Category:Mobile|Live Values]]&lt;br /&gt;
[[Category:Server|Live Values]]&lt;br /&gt;
[[Category:WinX|Live Values]]&lt;br /&gt;
&lt;br /&gt;
==Map view==&lt;br /&gt;
[[File:UI_android_live_values_map_view.png |thumb|border|alt= Live values map view|Live values map view (Android)]]&lt;br /&gt;
[[File:UI_WinX_live_values_map_view.png |thumb|border|alt= Live values map view|Live values map view (Windows)]]&lt;br /&gt;
&lt;br /&gt;
Upon clicking a correctly configured object within the map view, properties are shown within the opened dialog. It is important to know, that only '''High priority''' properties are shown here, altering the [[Settings#List of settings|priority threshold]] setting may change the visibility of the live property in the map view.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
{{Category/Version|2.5.0}}&lt;br /&gt;
&lt;br /&gt;
== Detail dialog ==&lt;br /&gt;
The freshness is very crucial in order to know whether the live property value can be trusted, but there are other influences like how good the measurement itself was. These information gets displayed via a dialog, the user can upon clicking the [[Live Values#Freshness Indicator |freshness indicator]] symbol both in the content Browser or the map view.&lt;br /&gt;
Within the dialog, several detailed information can be seen:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;75%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Description!! Information&lt;br /&gt;
|-&lt;br /&gt;
| ''Live Value''|| Provides the same information as the row itself, namely value and as an icon the connectivity indicator.&lt;br /&gt;
|-&lt;br /&gt;
| ''Recentness''|| Displays how long ago the last synchronization was, based on the internal freshness evaluation system. &lt;br /&gt;
|-&lt;br /&gt;
| ''Last Synchronization''|| Displays the exact timestamp of the last successful synchronization, out of this, the recentness is evaluated.&lt;br /&gt;
|-&lt;br /&gt;
| ''Measurement time stamp''|| Measurement time stamp provided by the measurement unit itself (for instance a pressure measurement unit). It should not be trusted entirely since device time and measurement until time could have a huge difference.&lt;br /&gt;
|-&lt;br /&gt;
| ''Measurement quality''|| Quality information provided by the measurement unit or data collecting instance (e.g. OPCUA Server) which together with the &amp;quot;Recentness&amp;quot; gets combined to evaluate the [[Live Values#Freshness Indicator |freshness indicator]]. In addition, a more detailed description of the measurement gets displayed if available.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Some examples how such a detailed information dialog looks like in the following gallery:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;360&amp;quot;&amp;gt;&lt;br /&gt;
File:UI_android_live_values_dialog_new.png| Fresh live values (Android)&lt;br /&gt;
File:UI_windows_live_values_dialog_new.png| Fresh live values (WinX)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Attributes {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}} ==&lt;br /&gt;
[[File:attributes.png |thumb|Attributes in the detail dialog (WinX)]]&lt;br /&gt;
Attributes are additional data that are sent to clients with every value update. They can be customized where the live values are generated (in the plugin) to contain the unit, formatted value, description, etc. &lt;br /&gt;
&lt;br /&gt;
They were introduced in Service {{Version/ServerSince|2.6.4}} Version 2.6.4 and Client Version 3.6.&lt;br /&gt;
&lt;br /&gt;
Since {{Version/ServerSince|4.5.0}} Version 4.5.0 UBIK Live Values support properties being classified as LiveValueAttribute. If they are filled out, the value is sent as LiveValueAttribute to the client with every value update. The Standard Live Value Metaclass provides two Standard (LiveValueAttribute) properties (UI_DESCR and UNIT). It is possible to add more properties if necessary. The Name of the MetaProperty is used as Attribute - Key. In the case of a name conflict the Attribute coming from the Live Value Server is wins against the Attribute coming from the LiveValue.&lt;br /&gt;
Following types are supported:&lt;br /&gt;
* String&lt;br /&gt;
* Multi language String&lt;br /&gt;
* Integer&lt;br /&gt;
* DateTime&lt;br /&gt;
* Double&lt;br /&gt;
* GeoData&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Accessing from XAML ==&lt;br /&gt;
Live values can be easily accessed from XAML, as long as the view model has a reference to the '''Properties''' collection.&lt;br /&gt;
&lt;br /&gt;
=== Displaying all Live Values ===&lt;br /&gt;
This XAML code will generate a list of all live values of this object:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ListView ItemsSource=&amp;quot;{Binding Properties.ImportantLiveItems}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ListView.ItemTemplate&amp;gt;&lt;br /&gt;
        &amp;lt;DataTemplate&amp;gt;&lt;br /&gt;
            &amp;lt;Grid Width=&amp;quot;100&amp;quot;  Height=&amp;quot;40&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;FontIcon FontFamily=&amp;quot;Segoe MDL2 Assets&amp;quot; Glyph=&amp;quot;{Binding LiveValueQualitySymbol}&amp;quot; HorizontalAlignment=&amp;quot;Left&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;TextBlock Text=&amp;quot;{Binding DisplayValue}&amp;quot; HorizontalAlignment=&amp;quot;Right&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/Grid&amp;gt;&lt;br /&gt;
        &amp;lt;/DataTemplate&amp;gt;&lt;br /&gt;
    &amp;lt;/ListView.ItemTemplate&amp;gt;&lt;br /&gt;
&amp;lt;/ListView&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Accessing Single Value ===&lt;br /&gt;
This code binds the value of the '''LMP_FLOW''' LiveValue-MetaProperty to a &amp;lt;code&amp;gt;TextBlock&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Value}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Furthermore, you can bind to:&lt;br /&gt;
* Description&lt;br /&gt;
* QualitySymbol&lt;br /&gt;
* Age&lt;br /&gt;
* LastSync&lt;br /&gt;
* TimeStamp&lt;br /&gt;
* Attributes (see below) {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}}&lt;br /&gt;
&lt;br /&gt;
=== Binding to Attributes {{Version/WinXSince|3.6}} {{Version/ServerSince|2.6.4}} ===&lt;br /&gt;
Attributes can be bound to similarly as to the individual value:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Attributes[Unit].Value}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following data are available for each attribute:&lt;br /&gt;
* Value&lt;br /&gt;
* Key&lt;br /&gt;
* Description&lt;br /&gt;
&lt;br /&gt;
==== Further Attributes ====&lt;br /&gt;
Custom attributes can be defined in the corresponding '''Live Value Interface''', with some of them pre-defined in the corresponding interfaces. &lt;br /&gt;
&lt;br /&gt;
As an example, the [[OSIPI_(Plugin)|OSIPI Plugin]] defines an Attribute called '''FORMATTED''', which contains the ''Value'' already pre-formatted according to [https://livelibrary.osisoft.com/LiveLibrary/content/en/webparts-v4/GUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337#addHistory=true&amp;amp;filename=GUID-A467C65F-C7C1-439D-AB26-7C360DB61865.xml&amp;amp;docid=GUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337&amp;amp;inner_id=&amp;amp;tid=&amp;amp;query=&amp;amp;scope=&amp;amp;resource=&amp;amp;toc=false&amp;amp;eventType=lcContent.loadDocGUID-13DC1C74-40B9-4FFE-B0B2-FCD204D8C337 OsiPi's Specification]. In the ''Server-Configuration'', it's possible to adjust the formatting [https://docs.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo Culture] and leading-zeroes trimming.&lt;br /&gt;
&lt;br /&gt;
=== Binding to Description ===&lt;br /&gt;
Like with a regular property, the description of a live value property can be accessed as the following.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Description}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hint|It's possible that the description comes not from the property's underlying [[MetaProperty]], but rather from the value of an attribute called &amp;quot;UI_DESCR&amp;quot; (if present).{{Version/WinXSince|4.5}}{{Version/XamarinSince|4.5}}}}&lt;br /&gt;
&lt;br /&gt;
=== Binding to Unit ===&lt;br /&gt;
Like with a regular property, the unit of a live value property can be accessed as the following.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding Properties.ImportantLiveItems[LMP_FLOW].Unit}&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hint|It's possible that the unit comes not from the property's underlying [[MetaProperty]], but rather from the value of an attribute called &amp;quot;UNIT&amp;quot; (if present).{{Version/WinXSince|4.5}}{{Version/XamarinSince|4.5}}}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[HowTo:Implementing_Live_Values]]&lt;br /&gt;
* [[Charts]]&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.0|Live Values]]&lt;br /&gt;
[[Category:Android|Live Values]]&lt;br /&gt;
[[Category:Live Values|Live Values]]&lt;br /&gt;
[[Category:Mobile|Live Values]]&lt;br /&gt;
[[Category:Server|Live Values]]&lt;br /&gt;
[[Category:WinX|Live Values]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:LiveValuesMobile.jpg&amp;diff=29848</id>
		<title>File:LiveValuesMobile.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:LiveValuesMobile.jpg&amp;diff=29848"/>
				<updated>2026-05-11T09:11:09Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_WinX_Client_Basics&amp;diff=29847</id>
		<title>UBIK WinX Client Basics</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_WinX_Client_Basics&amp;diff=29847"/>
				<updated>2026-05-11T08:25:37Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* Properties with value records {{Version/WinXSince|2.5.4}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{UBIK}} Client is the mobile application for viewing and modifying data, showing documents, starting navigation, visualizing POIs and much more.&lt;br /&gt;
&lt;br /&gt;
Client applications are available for Mobile and WinX, however the features available on each of the platform dependent applications might differ. An overview of the available features can be found in the [[Client_Feature_Table|feature comparison table]].&lt;br /&gt;
&lt;br /&gt;
== Languages ==&lt;br /&gt;
The standard {{UBIK}} client supports multiple languages listed below. {{Version/WinXSince|4.3}}&lt;br /&gt;
* Chinese (Simplified)&lt;br /&gt;
* Czech&lt;br /&gt;
* English&lt;br /&gt;
* German&lt;br /&gt;
* Polish&lt;br /&gt;
* Portuguese&lt;br /&gt;
* Spanish&lt;br /&gt;
{{Attention|As we found out, you can only switch to one of the supported languages if it is installed as a system language in the Windows &amp;quot;Preferred languages / Add a language&amp;quot; setting. For example, if you have only English installed when you install {{UBIK}}, you won't be able to switch to any other languages even if you add those later. In that case, you need to make sure your language of choice is installed in Windows first, then update or reinstall {{UBIK}}. This is a Microsoft Store practice and does not apply to clients installed through sideloading, e.g. from our AppCenter.}}&lt;br /&gt;
&lt;br /&gt;
== Login ==&lt;br /&gt;
Users need to login in order to access confidential data, this can be done in the [[Login View]].&lt;br /&gt;
&lt;br /&gt;
=== Confirm login === &lt;br /&gt;
{{Version/WinXSince|3.6}}&lt;br /&gt;
Certain pages might require to confirm the login data, even if the user is already logged in. This can be done in the following way: The CheckUserOfflineCommand needs to be called with the username and password as parameter, if the login was valid, the CheckUserOfflineSuccess boolean property is set to true, which causes the text &amp;quot;Login confirmed&amp;quot; to appear in the example.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBox&lt;br /&gt;
	x:Name=&amp;quot;Sign01User&amp;quot;&lt;br /&gt;
	DataContext=&amp;quot;{Binding AuthenticationViewModel, Source={StaticResource Locator}}&amp;quot;&lt;br /&gt;
	PlaceholderText=&amp;quot;User&amp;quot;&lt;br /&gt;
	Text=&amp;quot;{Binding UserName}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;PasswordBox&lt;br /&gt;
	x:Name=&amp;quot;Sign01PW&amp;quot;&lt;br /&gt;
	DataContext=&amp;quot;{Binding AuthenticationViewModel, Source={StaticResource Locator}}&amp;quot;&lt;br /&gt;
	PlaceholderText=&amp;quot;Password&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;Button&lt;br /&gt;
	Command=&amp;quot;{Binding CheckUserOfflineCommand}&amp;quot;&lt;br /&gt;
	Content=&amp;quot;Confirm login&amp;quot;&lt;br /&gt;
	DataContext=&amp;quot;{Binding AuthenticationViewModel, Source={StaticResource Locator}}&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;Button.CommandParameter&amp;gt;&lt;br /&gt;
		&amp;lt;uc:KeyValueList&amp;gt;&lt;br /&gt;
			&amp;lt;uc:KeyValueParameter Key=&amp;quot;UserName&amp;quot; Value=&amp;quot;{Binding ElementName=Sign01User, Path=Text}&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;uc:KeyValueParameter Key=&amp;quot;Password&amp;quot; Value=&amp;quot;{Binding ElementName=Sign01PW, Path=Password}&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/uc:KeyValueList&amp;gt;&lt;br /&gt;
	&amp;lt;/Button.CommandParameter&amp;gt;&lt;br /&gt;
&amp;lt;/Button&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;Login confirmed&amp;quot; Visibility=&amp;quot;{Binding AuthenticationViewModel.CheckUserOfflineSuccess, Source={StaticResource Locator}, FallbackValue=false, Converter={StaticResource BoolToVisConverter}}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Profiles ==&lt;br /&gt;
Profiles are used to store connection information for {{UBIK}} services. It specifies the location where to find the service along with other useful informations. Profiles are stored by UBIK whenever the user created connection information and stored it in the settings. However, profiles can also be created and edited with any text editor. Possible settings to be defined are:&lt;br /&gt;
* InternalConnectionSettings: Connections settings how to connect to the Content and the USAM service that has been set up.&lt;br /&gt;
** Application: the [[APPLICATION]] to use with the service&lt;br /&gt;
** AuthenticationPort: Port Number of the authentication (USAM) service (default: 777)&lt;br /&gt;
** AuthenticationProtocol: Protocol of the authentication service (default: https)&lt;br /&gt;
** AuthenticationServer: the ip address of the authentication server&lt;br /&gt;
** AuthenticationService: the path to the authentication service&lt;br /&gt;
** ContentPort: Port Number of the content service (default: 777)&lt;br /&gt;
** ContentProtocol: Protocol of the content service (default: https)&lt;br /&gt;
** ContentServer: the ip address of the content server&lt;br /&gt;
** ContentService: the path to the content service&lt;br /&gt;
** Context: the [[CONTEXT]] to use with the service&lt;br /&gt;
** SyncMode: the used sync mode (Online [= Auto], Manual, Offline; default:Online)&lt;br /&gt;
* IsDefault: true, if the profile should be the default profile&lt;br /&gt;
* Name: the name of the profile (will also be used to identify the database)&lt;br /&gt;
** If the profile name contains invalid characters like: /, &amp;quot;, &amp;lt;, &amp;gt;, ... they will be replaced with %_&lt;br /&gt;
* Project: the project name. Use this to share a single project name with more than one profile. If the project is defined, all profile with the same project will share one database.&lt;br /&gt;
* Customizing: the XAML subfolder to use for customized UI. This parameter can be used to share one single XAML customizing folder for multiple profiles.&lt;br /&gt;
* ShowHiddenSettings: show hidden settings (feault: false)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Profile xmlns:i=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns=&amp;quot;http://schemas.datacontract.org/2004/07/UBIK.WinX.Settings&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Customizing&amp;gt;MYAPPLICATIONUI&amp;lt;/Customizing&amp;gt;&lt;br /&gt;
  &amp;lt;Description i:nil=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;InternalConnectionSettings&amp;gt;&lt;br /&gt;
    &amp;lt;Application&amp;gt;APP_DEMO&amp;lt;/Application&amp;gt;&lt;br /&gt;
    &amp;lt;AuthenticationPort&amp;gt;777&amp;lt;/AuthenticationPort&amp;gt;&lt;br /&gt;
    &amp;lt;AuthenticationProtocol&amp;gt;https&amp;lt;/AuthenticationProtocol&amp;gt;&lt;br /&gt;
    &amp;lt;AuthenticationServer&amp;gt;80.243.175.50&amp;lt;/AuthenticationServer&amp;gt;&lt;br /&gt;
    &amp;lt;AuthenticationService&amp;gt;UBIK/DBG/AUG/DEMO.250/USAM/USAM.svc&amp;lt;/AuthenticationService&amp;gt;&lt;br /&gt;
    &amp;lt;ContentPort&amp;gt;777&amp;lt;/ContentPort&amp;gt;&lt;br /&gt;
    &amp;lt;ContentProtocol&amp;gt;https&amp;lt;/ContentProtocol&amp;gt;&lt;br /&gt;
    &amp;lt;ContentServer&amp;gt;80.243.175.50&amp;lt;/ContentServer&amp;gt;&lt;br /&gt;
    &amp;lt;ContentService&amp;gt;UBIK/DBG/AUG/DEMO.250/CONTENT/UBIKContent.svc&amp;lt;/ContentService&amp;gt;&lt;br /&gt;
    &amp;lt;Context&amp;gt;CXT_DEMO&amp;lt;/Context&amp;gt;&lt;br /&gt;
    &amp;lt;SyncMode&amp;gt;Online&amp;lt;/SyncMode&amp;gt;&lt;br /&gt;
  &amp;lt;/InternalConnectionSettings&amp;gt;&lt;br /&gt;
  &amp;lt;IsDefault&amp;gt;true&amp;lt;/IsDefault&amp;gt;&lt;br /&gt;
  &amp;lt;Name&amp;gt;DEMO.250.AT&amp;lt;/Name&amp;gt;&lt;br /&gt;
  &amp;lt;Project&amp;gt;DEMO.250&amp;lt;/Project&amp;gt;&lt;br /&gt;
  &amp;lt;ShowHiddenSettings&amp;gt;false&amp;lt;/ShowHiddenSettings&amp;gt;&lt;br /&gt;
&amp;lt;/Profile&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Content Browser ==&lt;br /&gt;
Allows to navigate through the entire data model in a hierarchical manner, as it is published by the server.&lt;br /&gt;
&lt;br /&gt;
Initially, a list of objects (&amp;quot;root objects&amp;quot;) is shown. Upon selecting an object, a new browser is opened for that object, showing details about it. When an object is selected in the content browser, it is called the browser's context. For such a contextual object, child objects and selected properties are shown. Also, there is a context menu providing actions related to the currently selected object. &lt;br /&gt;
&lt;br /&gt;
=== Status Bar ===&lt;br /&gt;
==== Saving Indicator ====&lt;br /&gt;
[[File:UBIK_SaveIndicator.png|300 px|thumb|border|alt=Saving Symbol|Saving Symbol]]&lt;br /&gt;
{{Version/WinXSince|2.5.4}}Whenever content is being saved into the local database (for example, after a branch is downloaded from the server), there will be a blinking symbol indicating the saving activity is happening in the background.&lt;br /&gt;
During that time, the user is advised to not logout or close the app because the content might be lost otherwise. However, it is okay to undertake other tasks such as browsing, editing or downloading branches.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:How-To|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:Pages with broken file links|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:WinX|UBIK WinX Client Basics]]&lt;br /&gt;
&lt;br /&gt;
==== Uncommitted Changes Indicator ====&lt;br /&gt;
{{Version/WinXSince|4.6.0}} When there are uncommitted changes it is indicated by a button in the Status Bar displaying an icon and the number of uncommitted changes. Pressing this button opens a fly out list with all of the objects that have uncommitted changes to them. Pressing one of those list objects navigates directly to the corresponding object. The Uncommitted Changes Indicator button is only shown when there are uncommitted changes otherwise it is not visible. When in online mode all changes should be committed automatically so the Indicator is mainly useful in Manual or Offline Sync Mode.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Version/WinXSince|4.7.0}} Queries are now excluded from uncommitted changes.&lt;br /&gt;
&lt;br /&gt;
=== Child Page ===&lt;br /&gt;
&lt;br /&gt;
[[File:UBIK_ChildPage.png|400 px|thumb|border|alt=Child Page|Child Page]]&lt;br /&gt;
&lt;br /&gt;
The child page shows the context of a selected object. &lt;br /&gt;
&lt;br /&gt;
The global status bar shows the icon, the name and the description of the selected object. An arrow on the left side allows the user to navigate back to the parent object. On the right side the currently logged-in user is indicated. By clicking on the username one is able to navigate back to the home screen or log off.&lt;br /&gt;
&lt;br /&gt;
The right side of the child page shows child objects of the current object. Each child object is represented by an icon, a name and a description. With the [[SYSCLS_CHILDINFOOWNER|child info owner classification]], one can additionally show the number of documents and regular grandchildren to be expected for a child object.&lt;br /&gt;
&lt;br /&gt;
On the left side of the child page the current object´s high priority properties are shown. By clicking on a live value property, the live value details dialog opens. By clicking on an editable [[UBIK_WinX_Client_Basics#High_priority_properties| high priority property]], an editor opens {{Version/WinXSince|2.5.4}}. If a property was edited a save button is shown in the lower left corner, allowing the user to commit the changes. If a property of a query object was edited an evaluate button is shown in the lower left corner, allowing the user to run the query with the changed propery.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:How-To|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:Pages with broken file links|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:WinX|UBIK WinX Client Basics]]&lt;br /&gt;
&lt;br /&gt;
=== Properties Page ===&lt;br /&gt;
&lt;br /&gt;
On the properties page, one can see a list of all the current object's visible properties, and, given the respective rights, a possibility to edit them.&lt;br /&gt;
&lt;br /&gt;
=== Context Menu ===&lt;br /&gt;
&lt;br /&gt;
For any current object, there is a set of potential context-sensitive actions. These are displayed as buttons in the title bar, with a three-dot overflow menu button aggregating all the actions that wouldn't fit there anymore. There are many potential actions; some of them are only enabled for specifically classified objects, like objects with a geo location. Default actions are refresh, various download options, child object creation, copy/paste, commit/revert changes, geo-related actions, etc.&lt;br /&gt;
&lt;br /&gt;
=== Objects ===&lt;br /&gt;
&lt;br /&gt;
==== Root objects vs child objects ====&lt;br /&gt;
&lt;br /&gt;
The first entry point in the ''Content Browser'' is the list of root objects.&lt;br /&gt;
&lt;br /&gt;
==== Task objects ====&lt;br /&gt;
&lt;br /&gt;
[[https://wiki.augmensys.com/index.php?title=MRO_Objects_(Client)#Task|Tasks]] and [[https://wiki.augmensys.com/index.php?title=MRO_Objects_(Client)#Work_Package|work packages]] are special types of {{UBIK}} objects used for maintenance, repair and overhaul (MRO) use-cases.&lt;br /&gt;
&lt;br /&gt;
==== Query objects ====&lt;br /&gt;
&lt;br /&gt;
Queries are special types of {{UBIK}} objects with dynamic children. The child objects are looked up depending on the query object's criteria, which can be specified the same as property values for regular objects. There are [[QUERY|online queries]] evaluated by the server, and [[https://wiki.augmensys.com/index.php?title=Offline_Query_(UBIK_WinX)|offline queries]] evaluated on the client, thus requiring no internet connection.&lt;br /&gt;
&lt;br /&gt;
==== Safety relevant objects ====&lt;br /&gt;
&lt;br /&gt;
Object classified as [[SYSCLS_SAFETY_RELEVANT_OBJECT|safety relevant]] require the user to accept safety instructions to access the object, which can be required for hazardous MRO tasks, for example.&lt;br /&gt;
&lt;br /&gt;
==== Commissioning objects ====&lt;br /&gt;
&lt;br /&gt;
Similar to and based on MRO objects, commissioning objects are tasks and work packages for the commissioning use-case, e.g., [[SYSCLS_COMMISSIONINGCHECK|commissioning check tasks]].&lt;br /&gt;
&lt;br /&gt;
==== Locked objects  ====&lt;br /&gt;
In several use-cases, objects can be [[Locked_Objects|locked]] for editing.&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
&lt;br /&gt;
==== Authentication Properties ====&lt;br /&gt;
[[SYSCLS_REQUIRE_AUTHENTICATION|Authentication Properties]] are properties which need a user authentication (through a password field) to be edited.&lt;br /&gt;
&lt;br /&gt;
==== Min max properties ====&lt;br /&gt;
See [[Min_Max_Properties]].&lt;br /&gt;
&lt;br /&gt;
==== Live value properties ====&lt;br /&gt;
[[Live_Values]] are specific property values extracted from a process control system like OPC-UA or OSIPI. &lt;br /&gt;
&lt;br /&gt;
==== High priority properties ====&lt;br /&gt;
High priority properties are properties having a priority higher than the [[Settings#Content |priority threshold]].&lt;br /&gt;
&lt;br /&gt;
==== Selective List Properties ====&lt;br /&gt;
For some properties, the user should be able to select from a predefined set of values. Such a predefined set is called a &amp;quot;selective list&amp;quot; in {{UBIK}}.&lt;br /&gt;
Furthermore, there are [[Dynamic_Selective_List_(Client)|dynamic selective lists]] that can be filtered or assembled based on dependency property values.&lt;br /&gt;
&lt;br /&gt;
{{Hint|{{Version/WinXSince|5.1.0.0}}{{Version/MobileSince|5.1.0.0}} The ItemsSource binding of related WinX/Mobile controls in Xaml now requires only '''PropertyViewModel.SelectiveItems''', which will return the items of an [[Active_List_Client|ActiveList]], or the items of a MetaProperty.SelectiveList, depending on the server-side configuration. In this case, the [[Converters_In_Mobile#List_of_Available_Converters|SelectiveListToItemsConverter]] is outdated and should not be used anymore.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Properties with value records {{Version/WinXSince|2.5.4}} ====&lt;br /&gt;
[[File:PropertyValueRecords.png|thumb|Property value records dialog]]&lt;br /&gt;
In addition to its value, a property might also bring along a series of value records showing &amp;quot;who changed the value at what time&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
When such records exist, the property row shows a special symbol on the right side. After a right click (with mouse) or a long tap (with touch) on the property row, a dialog will be shown to present these records (sorted by their time, recent ones on top).&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:How-To|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:Pages with broken file links|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:WinX|UBIK WinX Client Basics]]&lt;br /&gt;
&lt;br /&gt;
==== String properties with length restrictions ====&lt;br /&gt;
A string property can be configured with a [[MetaProperty#Text_2|length restriction]]. The client property editing UI doesn't allow users to confirm values exceeding the limit.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
==== [[Editors]] ====&lt;br /&gt;
&lt;br /&gt;
See [[Editors]]&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
UBIK supports and displays document objects and a bunch of actions related to them (editing, redlining, creation, thumbnails, ...).&lt;br /&gt;
See [[Documents_(Client)|Documents (Client)]]&lt;br /&gt;
&lt;br /&gt;
==== Fit Mode{{Version/WinXSince|3.5}} ====&lt;br /&gt;
See [[Documents_(Client)#Fit_Mode|Fit Mode]]&lt;br /&gt;
&lt;br /&gt;
==== Auto zoom {{Version/WinXSince|4.6}}{{Version/XamarinSince|4.6}} ====&lt;br /&gt;
See [[Documents_(Client)#Auto_zoom|Auto zoom]]&lt;br /&gt;
&lt;br /&gt;
==== Editing{{Version/WinXSince|2.5.4}} ====&lt;br /&gt;
See [[Documents_(Client)#Editing|Editing]]&lt;br /&gt;
&lt;br /&gt;
==== Offline availability ====&lt;br /&gt;
See [[Documents_(Client)#Offline/Online|Offline/Online]]&lt;br /&gt;
&lt;br /&gt;
==== Clear Online Documents ====&lt;br /&gt;
[[Documents_(Client)#Offline/Online|Offline/Online]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AR Features ==&lt;br /&gt;
&lt;br /&gt;
=== POI View ===&lt;br /&gt;
Brings up the POI View|Augmented Reality view and displays Points of Interest (POI's) related to the current location of the mobile device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Markerless ===&lt;br /&gt;
&lt;br /&gt;
=== Map View ===&lt;br /&gt;
Opens the Map View and displays Points of Interest (POI's) related to the current location of the mobile device.&lt;br /&gt;
&lt;br /&gt;
== Positioning ==&lt;br /&gt;
{{UBIK}} clients use a [[Location_Manager|Location Manager]] in order to gain knowledge about their position, so it can help the user navigate to his/her target.&lt;br /&gt;
&lt;br /&gt;
The user can choose one of different positioning modes optimized for different environments.&lt;br /&gt;
Most of them incorporate multiple technologies for calculating positions or checking their reliability.&lt;br /&gt;
&lt;br /&gt;
=== Positioning modes ===&lt;br /&gt;
&lt;br /&gt;
* ''Use all'' - uses all available position sources&lt;br /&gt;
* ''LLA only mode'' - used for positioning using markers only&lt;br /&gt;
* ''Beacon Proximity mode'' - uses iBeacon proximity and LLA only&lt;br /&gt;
&lt;br /&gt;
=== Technologies ===&lt;br /&gt;
&lt;br /&gt;
==== GPS ==== &lt;br /&gt;
GPS is used as a primary positioning input source for outdoor areas. Its precision depends on the environment and satellite availability. With good circumstances, the accuracy varies between 1 and 10 meters.&lt;br /&gt;
&lt;br /&gt;
==== LLA markers ==== &lt;br /&gt;
LLA markers basically are QR codes with location data encoded into them - which can be used for positioning when they are scanned.&lt;br /&gt;
&lt;br /&gt;
==== Object Proximity Positioning ====&lt;br /&gt;
The location of nearby Geo-Objects can be used for positioning.&lt;br /&gt;
&lt;br /&gt;
The position of a Geo-Object can be used manually by pushing the button {{key press|Use Location}} in the [[UBIK_WinX_Client_Basics#Context_Menu|Context Menu]]. &lt;br /&gt;
&lt;br /&gt;
The geo information of an object gets used automatically if exactly one single object is found through scanning. If more objects are found, their geo information doesn´t get used. Scanning includes  [[UBIK Client Basics#Bar Code|Bar Code]], [[UBIK Client Basics#QR Code|QR Code]], [[UBIK Client Basics#OCR|OCR]] and [[UBIK Client Basics#RFID|RFID]]. The automatic use of Geo-Object´s location can be turned off by disabling the &amp;quot;EnableObjectProximityPositioning&amp;quot; setting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Beacon-Proximity Positioning ====&lt;br /&gt;
The Beacon Proximity Mode detects if the user is in the proximity of a beacon. The proximity region is defined by a proximity distance which creates a sphere around the beacon. Whenever the calculated distance to a beacon is smaller than the proximity distance, the user is supposed to be at the position of the beacon. If multiple regions intersect the user is supposed to be at the position of the nearest beacon. &lt;br /&gt;
In order to use Beacon Proximity as a Positioning System, Bluetooth Low Energy has to be available and enabled on the mobile device. If a new environment should be equipped with iBeacon-Positioning, an expert has to mount iBeacons on known positions and calibrate the propagation factor of these beacons. Proximity beacons can be configured using [[SYSCLS_PROXIMITY_BEACON]]. {{Version/WinXSince|UWP}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Finding Objects ==&lt;br /&gt;
=== Free Text Search ===&lt;br /&gt;
&lt;br /&gt;
=== ID Marker ===&lt;br /&gt;
&lt;br /&gt;
=== QR Code ===&lt;br /&gt;
&lt;br /&gt;
=== Bar Code ===&lt;br /&gt;
&lt;br /&gt;
=== RFID Code ===&lt;br /&gt;
Provides a fast and convenient way for users to find objects that are identifiable through [[RFID tags|RFID tags]].&lt;br /&gt;
&lt;br /&gt;
=== OCR ===&lt;br /&gt;
&lt;br /&gt;
== Linked objects == &lt;br /&gt;
{{Version/WinXSince|3.6}}&lt;br /&gt;
It is possible to display values of linked objects by using the &amp;quot;LinkedLevel&amp;quot; property. An example can be seen here, where Items[0] is a Guid property linking to another object. The ItemsControl then binds to the Properties of the linked object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Grid DataContext=&amp;quot;{Binding Properties.Items[0].LinkedLevel}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ItemsControl ItemsSource=&amp;quot;{Binding Properties.AllItems}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Grid&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Client_Feature_Table]]&lt;br /&gt;
* [[SYSCLS_DOCUMENT_FITMODE]]&lt;br /&gt;
* [[SYSCLS_SHOWDOCUMENTS]]&lt;br /&gt;
* [[SYSCLS_SHOWPROPERTIES]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:How-To|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:Pages with broken file links|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:WinX|UBIK WinX Client Basics]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:PropertyValueRecords.png&amp;diff=29846</id>
		<title>File:PropertyValueRecords.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:PropertyValueRecords.png&amp;diff=29846"/>
				<updated>2026-05-11T08:25:04Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Login_View&amp;diff=29845</id>
		<title>Login View</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Login_View&amp;diff=29845"/>
				<updated>2026-05-11T08:01:02Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* Profile selection */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For confidentiality reason, users are required to login before they have access to most of the {{UBIK}} features.&lt;br /&gt;
&lt;br /&gt;
== Accessing login view ==&lt;br /&gt;
The login view is displayed after starting the app. It is possible to access the login view from every where in the app by pressing the login icon in the top right corner and selecting &amp;quot;log out&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
At the top of the screen, the name of the most recently used profile (if any) will be displayed. When pressing &amp;quot;Login&amp;quot; without selecting a different profile first, this profile will automatically be used.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
== Profile selection ==&lt;br /&gt;
[[File:ProfileBrowser.png|x200px|thumb|alt=Profile Browser|Profile Browser]]&lt;br /&gt;
The name of the currently selected profile is displayed on the top of the view. By default, the last used profile will be selected here.&lt;br /&gt;
It is possible to change the profile by pressing the Profile Button. The profile selection flyout will pop up, from which the user can select any profile (see the figure on the right).&lt;br /&gt;
&lt;br /&gt;
To add custom profiles, you must add them under the app's RoamingState folder. You can also categorize your profiles using subfolders within this directory.&lt;br /&gt;
You will see 2 different tabs when opening the profile selection view, with the third hidden by default.&lt;br /&gt;
&lt;br /&gt;
=== Favorites ===&lt;br /&gt;
The &amp;quot;Favorites&amp;quot; tab shows profiles that the user has marked as favorites. To mark a profile as favorite, simply click the the star icon next to a profile's name. You will see it immediately appearing in the favorites list (sorted alphabetically). You can of course undo this action by simply pressing the star icon again to unmark the profile as favorite.&lt;br /&gt;
&lt;br /&gt;
=== Recent ===&lt;br /&gt;
The &amp;quot;Recent&amp;quot; tab shows all available profiles, ordered by most recently used (at the top), to least recently used, excluding favorited profiles (which appear in the &amp;quot;Favorites&amp;quot; tab). When you click a profile anywhere in the selection view, it will be timestamped, and added to the top of the &amp;quot;Recent&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
=== Browser ===&lt;br /&gt;
To view the &amp;quot;Browser&amp;quot; tab, the user can click the expansion button on the right side to toggle the tab open or closed.&lt;br /&gt;
The &amp;quot;Browser&amp;quot; tab shows all available profiles (including favorites), but displays them exactly as your file browser would, including sub folders. The user can navigate through sub folders simply by clicking them.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Login View]]&lt;br /&gt;
[[Category:Mobile|Login View]]&lt;br /&gt;
[[Category:WinX|Login View]]&lt;br /&gt;
&lt;br /&gt;
== Login ==&lt;br /&gt;
&lt;br /&gt;
=== UWP older versions ===&lt;br /&gt;
[[File:UI_WinX_Login_Dialog.png|thumb|alt=Login Dialog|Login Dialog]]&lt;br /&gt;
The login dialog is opened by pressing the Login button. The dialog also opens automatically after selecting a profile.&lt;br /&gt;
The first time the user uses a single profile to connect to a service, he is asked whether the system should remember login and password (for the user and profile). If the user selects yes, the login dialog will not appear again and the credentials are used immediately the next time he connects by using the profile. If the user selects no, he has to enter his credentials every time.&lt;br /&gt;
&lt;br /&gt;
=== UWP{{Version/WinXSince|3.6}} &amp;amp; Mobile clients ===&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;350&amp;quot; heights=&amp;quot;300&amp;quot;&amp;gt;&lt;br /&gt;
File:LoginView_WinX.png|UBIK UWP{{Version/WinXSince|3.6}}&lt;br /&gt;
File:LoginViewUBIKGO.jpg|UBIK Mobile&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{UBIK}} can remember multiple users per profile. By default, the last remembered one for the selected profile is used. And as you type in a different username, {{UBIK}} constantly checks whether it is a remembered user. If so, the password is automatically filled so that you don't have to.&lt;br /&gt;
* A user can only be remembered after a successful online login, namely the username and password must be authenticated at least once by the server;&lt;br /&gt;
* If a new password is entered for a remembered user and it is authenticated by the server, the remembered one will be updated;&lt;br /&gt;
* By unchecking the remembering option and logging in, the remembered user will be &amp;quot;forgotten&amp;quot;. This is also possible without a server authentication. Afterwards, offline login is still possible for this user.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Login View]]&lt;br /&gt;
[[Category:Mobile|Login View]]&lt;br /&gt;
[[Category:WinX|Login View]]&lt;br /&gt;
&lt;br /&gt;
=== Offline Login ===&lt;br /&gt;
Every successful online login is stored. The stored credentials are used for supporting offline logins. &lt;br /&gt;
{{Hint|You can access a local database without online connection (offline) when the credentials were used once to connect successfully to the online service.}}&lt;br /&gt;
&lt;br /&gt;
=== Clear Cache ===&lt;br /&gt;
The clear cache feature (settings) deletes all the remembered credentials (login and password) from the system.&lt;br /&gt;
{{Attention|Offline logins are not possible after clearing the cache until the user connected once at the online service.}}&lt;br /&gt;
&lt;br /&gt;
== Team login {{Version/WinXSince|2.6.1}} ==&lt;br /&gt;
{{Attention|This feature is now obselete.}}&lt;br /&gt;
&lt;br /&gt;
[[File:UI_WinX_Team_Login_Button.png|thumb|alt=Team Login Button|Team Login Button]]&lt;br /&gt;
[[File:UI_WinX_Team_Login_Dialog.png|thumb|alt=Team Login Dialog|Team Login Dialog]]&lt;br /&gt;
Team login allows a group of users to login with a single device and perform tasks together as a team.&lt;br /&gt;
&lt;br /&gt;
=== Team login button ===&lt;br /&gt;
{{Attention|This button is not available by default in the app, certain custom templates are needed for this. An example template can be downloaded {{FileLink|xaml_262_20170310_Team_Login_Button.zip|here}}.}}&lt;br /&gt;
&lt;br /&gt;
=== Team login dialog ===&lt;br /&gt;
The team login dialog has the following parts:&lt;br /&gt;
# Profile selector to change profiles;&lt;br /&gt;
#Team member list (each member has a remove button at the right side);&lt;br /&gt;
# {{key press|+}} button to add members;&lt;br /&gt;
# {{key press|Login}} button;&lt;br /&gt;
# {{key press|Close}} button.&lt;br /&gt;
The same [[Login_View#Login_Dialog|login dialog]] shows up once the {{key press|+}} button is pressed and the members should enter their credentials one by one. Once all the members are successfully added, press the {{key press|Login}} button to login as a team.&lt;br /&gt;
{{Hint|All members in a team should login to the same service, namely using the same profile. Therefore, the profile selector will be disabled as long as the member list is not empty.}}&lt;br /&gt;
&lt;br /&gt;
== Login details ==&lt;br /&gt;
&lt;br /&gt;
{{Version/WinXSince|3.8}}{{Version/XamarinSince|1.2}}, it's possible for the client to receive login details of the current user as well as other users.&lt;br /&gt;
Currently, that information is not displayed in the default UI. However, it's accessible under the globally available AppStatus through XAML customizing.&lt;br /&gt;
* AppStatus.CurrentLogin: The current login instance;&lt;br /&gt;
* AppStatus.AllLogins: All available login instances;&lt;br /&gt;
* AppStatus.UpdateLoginDetailsCommand.&lt;br /&gt;
It is recommended to use the [[Developer_Mode#Browsing_the_ViewModel.2FContext|developer mode]] to inspect what can be expected from each of these.&lt;br /&gt;
&lt;br /&gt;
Technically speaking, the full login details come from the two following sources.&lt;br /&gt;
&lt;br /&gt;
=== Current login ===&lt;br /&gt;
The client contacts the web service for the basic information of the currently logged-in user when switched to non-offline sync modes.&lt;br /&gt;
* UID: uniquely identifies the login/user;&lt;br /&gt;
* LoginName: name of the login/user;&lt;br /&gt;
* Image: user icon or profile image;&lt;br /&gt;
* DisplayStrings: descriptive texts.&lt;br /&gt;
This information is persisted in the database, therefore, also available offline as long as you have logged in online once.&lt;br /&gt;
&lt;br /&gt;
=== Login instances ===&lt;br /&gt;
[[SYSCLS_LOGIN|Login instances]] can be delivered just as any {{UBIK}} content to the client. They can carry any amount of information which is accessible through RawDetails - a key value dictionary.&lt;br /&gt;
&lt;br /&gt;
{{Hint|If available, the instance matching the current login's UID will be used to extend the available login details. It's possible to have duplicate information in the current login, e.g. LoginName available from direct web service communication as well as the same named property through RawDetails. In such a case, it's recommended to take the former over the latter.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Commands ==&lt;br /&gt;
&lt;br /&gt;
=== Login related ===&lt;br /&gt;
Three commands are available for logging in/out.&lt;br /&gt;
* LogoutCommand;&lt;br /&gt;
* LoginCommand;&lt;br /&gt;
* ToggleLoginCommand: Log out if you are already logged in, log in otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
LoginCommand and ToggleLoginCommand support an additional command parameter to automatically navigate to the root page after a successful login.&lt;br /&gt;
The parameter can be both a simple boolean value, or a KeyValueList with a boolean value under the key of &amp;quot;NavigateToRootPageOnLogin&amp;quot;. See examples below.&lt;br /&gt;
&amp;lt;tab name=&amp;quot;UWP&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
xmlns:controls=&amp;quot;using:UBIK.WinX.Controls&amp;quot;&lt;br /&gt;
&amp;lt;Button...&lt;br /&gt;
    Command=&amp;quot;{Binding LoginCommand}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Button.CommandParameter&amp;gt;&lt;br /&gt;
        &amp;lt;controls:KeyValueList&amp;gt;&lt;br /&gt;
            &amp;lt;controls:KeyValueParameter Key=&amp;quot;NavigateToRootPageOnLogin&amp;quot; Value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/controls:KeyValueList&amp;gt;&lt;br /&gt;
    &amp;lt;/Button.CommandParameter&amp;gt;&lt;br /&gt;
&amp;lt;/Button&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tab name=&amp;quot;Mobile(Xamarin)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
xmlns:classes=&amp;quot;clr-namespace:UBIK.CPL.Classes;assembly=UBIK.CPL&amp;quot;&lt;br /&gt;
&amp;lt;Button...&lt;br /&gt;
    Command=&amp;quot;{Binding LoginCommand}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Button.CommandParameter&amp;gt;&lt;br /&gt;
        &amp;lt;classes:KeyValueList&amp;gt;&lt;br /&gt;
            &amp;lt;classes:KeyValueParameter Key=&amp;quot;NavigateToRootPageOnLogin&amp;quot; Value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/classes:KeyValueList&amp;gt;&lt;br /&gt;
    &amp;lt;/Button.CommandParameter&amp;gt;&lt;br /&gt;
&amp;lt;/Button&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Login View]]&lt;br /&gt;
[[Category:Mobile|Login View]]&lt;br /&gt;
[[Category:WinX|Login View]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:ProfileBrowser.png&amp;diff=29844</id>
		<title>File:ProfileBrowser.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:ProfileBrowser.png&amp;diff=29844"/>
				<updated>2026-05-11T08:00:45Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Login_View&amp;diff=29843</id>
		<title>Login View</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Login_View&amp;diff=29843"/>
				<updated>2026-05-11T07:57:52Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* UWP{{Version/WinXSince|3.6}} &amp;amp; Mobile clients */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For confidentiality reason, users are required to login before they have access to most of the {{UBIK}} features.&lt;br /&gt;
&lt;br /&gt;
== Accessing login view ==&lt;br /&gt;
The login view is displayed after starting the app. It is possible to access the login view from every where in the app by pressing the login icon in the top right corner and selecting &amp;quot;log out&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
At the top of the screen, the name of the most recently used profile (if any) will be displayed. When pressing &amp;quot;Login&amp;quot; without selecting a different profile first, this profile will automatically be used.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
== Profile selection ==&lt;br /&gt;
[[File:Profile_browser.png|x200px|thumb|alt=Profile Browser (collapsed)|Profile Browser (collapsed)]] [[File:Profile_browser_expanded.png|x200px|thumb|alt=Profile Browser (expanded)|Profile Browser (expanded)]]&lt;br /&gt;
The name of the currently selected profile is displayed on the top of the view. By default, the last used profile will be selected here.&lt;br /&gt;
It is possible to change the profile by pressing the Profile Button. The profile selection flyout will pop up, from which the user can select any profile (see the figure on the right).&lt;br /&gt;
&lt;br /&gt;
To add custom profiles, you must add them under the app's RoamingState folder. You can also categorize your profiles using subfolders within this directory.&lt;br /&gt;
You will see 2 different tabs when opening the profile selection view, with the third hidden by default.&lt;br /&gt;
&lt;br /&gt;
=== Favorites ===&lt;br /&gt;
The &amp;quot;Favorites&amp;quot; tab shows profiles that the user has marked as favorites. To mark a profile as favorite, simply click the the star icon next to a profile's name. You will see it immediately appearing in the favorites list (sorted alphabetically). You can of course undo this action by simply pressing the star icon again to unmark the profile as favorite.&lt;br /&gt;
&lt;br /&gt;
=== Recent ===&lt;br /&gt;
The &amp;quot;Recent&amp;quot; tab shows all available profiles, ordered by most recently used (at the top), to least recently used, excluding favorited profiles (which appear in the &amp;quot;Favorites&amp;quot; tab). When you click a profile anywhere in the selection view, it will be timestamped, and added to the top of the &amp;quot;Recent&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
=== Browser ===&lt;br /&gt;
To view the &amp;quot;Browser&amp;quot; tab, the user can click the expansion button on the right side to toggle the tab open or closed.&lt;br /&gt;
The &amp;quot;Browser&amp;quot; tab shows all available profiles (including favorites), but displays them exactly as your file browser would, including sub folders. The user can navigate through sub folders simply by clicking them.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
== Login ==&lt;br /&gt;
&lt;br /&gt;
=== UWP older versions ===&lt;br /&gt;
[[File:UI_WinX_Login_Dialog.png|thumb|alt=Login Dialog|Login Dialog]]&lt;br /&gt;
The login dialog is opened by pressing the Login button. The dialog also opens automatically after selecting a profile.&lt;br /&gt;
The first time the user uses a single profile to connect to a service, he is asked whether the system should remember login and password (for the user and profile). If the user selects yes, the login dialog will not appear again and the credentials are used immediately the next time he connects by using the profile. If the user selects no, he has to enter his credentials every time.&lt;br /&gt;
&lt;br /&gt;
=== UWP{{Version/WinXSince|3.6}} &amp;amp; Mobile clients ===&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;350&amp;quot; heights=&amp;quot;300&amp;quot;&amp;gt;&lt;br /&gt;
File:LoginView_WinX.png|UBIK UWP{{Version/WinXSince|3.6}}&lt;br /&gt;
File:LoginViewUBIKGO.jpg|UBIK Mobile&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{UBIK}} can remember multiple users per profile. By default, the last remembered one for the selected profile is used. And as you type in a different username, {{UBIK}} constantly checks whether it is a remembered user. If so, the password is automatically filled so that you don't have to.&lt;br /&gt;
* A user can only be remembered after a successful online login, namely the username and password must be authenticated at least once by the server;&lt;br /&gt;
* If a new password is entered for a remembered user and it is authenticated by the server, the remembered one will be updated;&lt;br /&gt;
* By unchecking the remembering option and logging in, the remembered user will be &amp;quot;forgotten&amp;quot;. This is also possible without a server authentication. Afterwards, offline login is still possible for this user.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Login View]]&lt;br /&gt;
[[Category:Mobile|Login View]]&lt;br /&gt;
[[Category:WinX|Login View]]&lt;br /&gt;
&lt;br /&gt;
=== Offline Login ===&lt;br /&gt;
Every successful online login is stored. The stored credentials are used for supporting offline logins. &lt;br /&gt;
{{Hint|You can access a local database without online connection (offline) when the credentials were used once to connect successfully to the online service.}}&lt;br /&gt;
&lt;br /&gt;
=== Clear Cache ===&lt;br /&gt;
The clear cache feature (settings) deletes all the remembered credentials (login and password) from the system.&lt;br /&gt;
{{Attention|Offline logins are not possible after clearing the cache until the user connected once at the online service.}}&lt;br /&gt;
&lt;br /&gt;
== Team login {{Version/WinXSince|2.6.1}} ==&lt;br /&gt;
{{Attention|This feature is now obselete.}}&lt;br /&gt;
&lt;br /&gt;
[[File:UI_WinX_Team_Login_Button.png|thumb|alt=Team Login Button|Team Login Button]]&lt;br /&gt;
[[File:UI_WinX_Team_Login_Dialog.png|thumb|alt=Team Login Dialog|Team Login Dialog]]&lt;br /&gt;
Team login allows a group of users to login with a single device and perform tasks together as a team.&lt;br /&gt;
&lt;br /&gt;
=== Team login button ===&lt;br /&gt;
{{Attention|This button is not available by default in the app, certain custom templates are needed for this. An example template can be downloaded {{FileLink|xaml_262_20170310_Team_Login_Button.zip|here}}.}}&lt;br /&gt;
&lt;br /&gt;
=== Team login dialog ===&lt;br /&gt;
The team login dialog has the following parts:&lt;br /&gt;
# Profile selector to change profiles;&lt;br /&gt;
#Team member list (each member has a remove button at the right side);&lt;br /&gt;
# {{key press|+}} button to add members;&lt;br /&gt;
# {{key press|Login}} button;&lt;br /&gt;
# {{key press|Close}} button.&lt;br /&gt;
The same [[Login_View#Login_Dialog|login dialog]] shows up once the {{key press|+}} button is pressed and the members should enter their credentials one by one. Once all the members are successfully added, press the {{key press|Login}} button to login as a team.&lt;br /&gt;
{{Hint|All members in a team should login to the same service, namely using the same profile. Therefore, the profile selector will be disabled as long as the member list is not empty.}}&lt;br /&gt;
&lt;br /&gt;
== Login details ==&lt;br /&gt;
&lt;br /&gt;
{{Version/WinXSince|3.8}}{{Version/XamarinSince|1.2}}, it's possible for the client to receive login details of the current user as well as other users.&lt;br /&gt;
Currently, that information is not displayed in the default UI. However, it's accessible under the globally available AppStatus through XAML customizing.&lt;br /&gt;
* AppStatus.CurrentLogin: The current login instance;&lt;br /&gt;
* AppStatus.AllLogins: All available login instances;&lt;br /&gt;
* AppStatus.UpdateLoginDetailsCommand.&lt;br /&gt;
It is recommended to use the [[Developer_Mode#Browsing_the_ViewModel.2FContext|developer mode]] to inspect what can be expected from each of these.&lt;br /&gt;
&lt;br /&gt;
Technically speaking, the full login details come from the two following sources.&lt;br /&gt;
&lt;br /&gt;
=== Current login ===&lt;br /&gt;
The client contacts the web service for the basic information of the currently logged-in user when switched to non-offline sync modes.&lt;br /&gt;
* UID: uniquely identifies the login/user;&lt;br /&gt;
* LoginName: name of the login/user;&lt;br /&gt;
* Image: user icon or profile image;&lt;br /&gt;
* DisplayStrings: descriptive texts.&lt;br /&gt;
This information is persisted in the database, therefore, also available offline as long as you have logged in online once.&lt;br /&gt;
&lt;br /&gt;
=== Login instances ===&lt;br /&gt;
[[SYSCLS_LOGIN|Login instances]] can be delivered just as any {{UBIK}} content to the client. They can carry any amount of information which is accessible through RawDetails - a key value dictionary.&lt;br /&gt;
&lt;br /&gt;
{{Hint|If available, the instance matching the current login's UID will be used to extend the available login details. It's possible to have duplicate information in the current login, e.g. LoginName available from direct web service communication as well as the same named property through RawDetails. In such a case, it's recommended to take the former over the latter.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Commands ==&lt;br /&gt;
&lt;br /&gt;
=== Login related ===&lt;br /&gt;
Three commands are available for logging in/out.&lt;br /&gt;
* LogoutCommand;&lt;br /&gt;
* LoginCommand;&lt;br /&gt;
* ToggleLoginCommand: Log out if you are already logged in, log in otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
LoginCommand and ToggleLoginCommand support an additional command parameter to automatically navigate to the root page after a successful login.&lt;br /&gt;
The parameter can be both a simple boolean value, or a KeyValueList with a boolean value under the key of &amp;quot;NavigateToRootPageOnLogin&amp;quot;. See examples below.&lt;br /&gt;
&amp;lt;tab name=&amp;quot;UWP&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
xmlns:controls=&amp;quot;using:UBIK.WinX.Controls&amp;quot;&lt;br /&gt;
&amp;lt;Button...&lt;br /&gt;
    Command=&amp;quot;{Binding LoginCommand}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Button.CommandParameter&amp;gt;&lt;br /&gt;
        &amp;lt;controls:KeyValueList&amp;gt;&lt;br /&gt;
            &amp;lt;controls:KeyValueParameter Key=&amp;quot;NavigateToRootPageOnLogin&amp;quot; Value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/controls:KeyValueList&amp;gt;&lt;br /&gt;
    &amp;lt;/Button.CommandParameter&amp;gt;&lt;br /&gt;
&amp;lt;/Button&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tab name=&amp;quot;Mobile(Xamarin)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
xmlns:classes=&amp;quot;clr-namespace:UBIK.CPL.Classes;assembly=UBIK.CPL&amp;quot;&lt;br /&gt;
&amp;lt;Button...&lt;br /&gt;
    Command=&amp;quot;{Binding LoginCommand}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Button.CommandParameter&amp;gt;&lt;br /&gt;
        &amp;lt;classes:KeyValueList&amp;gt;&lt;br /&gt;
            &amp;lt;classes:KeyValueParameter Key=&amp;quot;NavigateToRootPageOnLogin&amp;quot; Value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/classes:KeyValueList&amp;gt;&lt;br /&gt;
    &amp;lt;/Button.CommandParameter&amp;gt;&lt;br /&gt;
&amp;lt;/Button&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Login View]]&lt;br /&gt;
[[Category:Mobile|Login View]]&lt;br /&gt;
[[Category:WinX|Login View]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Login_View&amp;diff=29842</id>
		<title>Login View</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Login_View&amp;diff=29842"/>
				<updated>2026-05-11T07:57:09Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* UWP{{Version/WinXSince|3.6}} &amp;amp; Mobile clients */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For confidentiality reason, users are required to login before they have access to most of the {{UBIK}} features.&lt;br /&gt;
&lt;br /&gt;
== Accessing login view ==&lt;br /&gt;
The login view is displayed after starting the app. It is possible to access the login view from every where in the app by pressing the login icon in the top right corner and selecting &amp;quot;log out&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
At the top of the screen, the name of the most recently used profile (if any) will be displayed. When pressing &amp;quot;Login&amp;quot; without selecting a different profile first, this profile will automatically be used.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
== Profile selection ==&lt;br /&gt;
[[File:Profile_browser.png|x200px|thumb|alt=Profile Browser (collapsed)|Profile Browser (collapsed)]] [[File:Profile_browser_expanded.png|x200px|thumb|alt=Profile Browser (expanded)|Profile Browser (expanded)]]&lt;br /&gt;
The name of the currently selected profile is displayed on the top of the view. By default, the last used profile will be selected here.&lt;br /&gt;
It is possible to change the profile by pressing the Profile Button. The profile selection flyout will pop up, from which the user can select any profile (see the figure on the right).&lt;br /&gt;
&lt;br /&gt;
To add custom profiles, you must add them under the app's RoamingState folder. You can also categorize your profiles using subfolders within this directory.&lt;br /&gt;
You will see 2 different tabs when opening the profile selection view, with the third hidden by default.&lt;br /&gt;
&lt;br /&gt;
=== Favorites ===&lt;br /&gt;
The &amp;quot;Favorites&amp;quot; tab shows profiles that the user has marked as favorites. To mark a profile as favorite, simply click the the star icon next to a profile's name. You will see it immediately appearing in the favorites list (sorted alphabetically). You can of course undo this action by simply pressing the star icon again to unmark the profile as favorite.&lt;br /&gt;
&lt;br /&gt;
=== Recent ===&lt;br /&gt;
The &amp;quot;Recent&amp;quot; tab shows all available profiles, ordered by most recently used (at the top), to least recently used, excluding favorited profiles (which appear in the &amp;quot;Favorites&amp;quot; tab). When you click a profile anywhere in the selection view, it will be timestamped, and added to the top of the &amp;quot;Recent&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
=== Browser ===&lt;br /&gt;
To view the &amp;quot;Browser&amp;quot; tab, the user can click the expansion button on the right side to toggle the tab open or closed.&lt;br /&gt;
The &amp;quot;Browser&amp;quot; tab shows all available profiles (including favorites), but displays them exactly as your file browser would, including sub folders. The user can navigate through sub folders simply by clicking them.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
== Login ==&lt;br /&gt;
&lt;br /&gt;
=== UWP older versions ===&lt;br /&gt;
[[File:UI_WinX_Login_Dialog.png|thumb|alt=Login Dialog|Login Dialog]]&lt;br /&gt;
The login dialog is opened by pressing the Login button. The dialog also opens automatically after selecting a profile.&lt;br /&gt;
The first time the user uses a single profile to connect to a service, he is asked whether the system should remember login and password (for the user and profile). If the user selects yes, the login dialog will not appear again and the credentials are used immediately the next time he connects by using the profile. If the user selects no, he has to enter his credentials every time.&lt;br /&gt;
&lt;br /&gt;
=== UWP{{Version/WinXSince|3.6}} &amp;amp; Mobile clients ===&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;260&amp;quot; heights=&amp;quot;300&amp;quot;&amp;gt;&lt;br /&gt;
File:LoginView_WinX.png|UBIK UWP{{Version/WinXSince|3.6}}&lt;br /&gt;
File:LoginViewUBIKGO.jpg|UBIK Mobile&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{UBIK}} can remember multiple users per profile. By default, the last remembered one for the selected profile is used. And as you type in a different username, {{UBIK}} constantly checks whether it is a remembered user. If so, the password is automatically filled so that you don't have to.&lt;br /&gt;
* A user can only be remembered after a successful online login, namely the username and password must be authenticated at least once by the server;&lt;br /&gt;
* If a new password is entered for a remembered user and it is authenticated by the server, the remembered one will be updated;&lt;br /&gt;
* By unchecking the remembering option and logging in, the remembered user will be &amp;quot;forgotten&amp;quot;. This is also possible without a server authentication. Afterwards, offline login is still possible for this user.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Login View]]&lt;br /&gt;
[[Category:Mobile|Login View]]&lt;br /&gt;
[[Category:WinX|Login View]]&lt;br /&gt;
&lt;br /&gt;
=== Offline Login ===&lt;br /&gt;
Every successful online login is stored. The stored credentials are used for supporting offline logins. &lt;br /&gt;
{{Hint|You can access a local database without online connection (offline) when the credentials were used once to connect successfully to the online service.}}&lt;br /&gt;
&lt;br /&gt;
=== Clear Cache ===&lt;br /&gt;
The clear cache feature (settings) deletes all the remembered credentials (login and password) from the system.&lt;br /&gt;
{{Attention|Offline logins are not possible after clearing the cache until the user connected once at the online service.}}&lt;br /&gt;
&lt;br /&gt;
== Team login {{Version/WinXSince|2.6.1}} ==&lt;br /&gt;
{{Attention|This feature is now obselete.}}&lt;br /&gt;
&lt;br /&gt;
[[File:UI_WinX_Team_Login_Button.png|thumb|alt=Team Login Button|Team Login Button]]&lt;br /&gt;
[[File:UI_WinX_Team_Login_Dialog.png|thumb|alt=Team Login Dialog|Team Login Dialog]]&lt;br /&gt;
Team login allows a group of users to login with a single device and perform tasks together as a team.&lt;br /&gt;
&lt;br /&gt;
=== Team login button ===&lt;br /&gt;
{{Attention|This button is not available by default in the app, certain custom templates are needed for this. An example template can be downloaded {{FileLink|xaml_262_20170310_Team_Login_Button.zip|here}}.}}&lt;br /&gt;
&lt;br /&gt;
=== Team login dialog ===&lt;br /&gt;
The team login dialog has the following parts:&lt;br /&gt;
# Profile selector to change profiles;&lt;br /&gt;
#Team member list (each member has a remove button at the right side);&lt;br /&gt;
# {{key press|+}} button to add members;&lt;br /&gt;
# {{key press|Login}} button;&lt;br /&gt;
# {{key press|Close}} button.&lt;br /&gt;
The same [[Login_View#Login_Dialog|login dialog]] shows up once the {{key press|+}} button is pressed and the members should enter their credentials one by one. Once all the members are successfully added, press the {{key press|Login}} button to login as a team.&lt;br /&gt;
{{Hint|All members in a team should login to the same service, namely using the same profile. Therefore, the profile selector will be disabled as long as the member list is not empty.}}&lt;br /&gt;
&lt;br /&gt;
== Login details ==&lt;br /&gt;
&lt;br /&gt;
{{Version/WinXSince|3.8}}{{Version/XamarinSince|1.2}}, it's possible for the client to receive login details of the current user as well as other users.&lt;br /&gt;
Currently, that information is not displayed in the default UI. However, it's accessible under the globally available AppStatus through XAML customizing.&lt;br /&gt;
* AppStatus.CurrentLogin: The current login instance;&lt;br /&gt;
* AppStatus.AllLogins: All available login instances;&lt;br /&gt;
* AppStatus.UpdateLoginDetailsCommand.&lt;br /&gt;
It is recommended to use the [[Developer_Mode#Browsing_the_ViewModel.2FContext|developer mode]] to inspect what can be expected from each of these.&lt;br /&gt;
&lt;br /&gt;
Technically speaking, the full login details come from the two following sources.&lt;br /&gt;
&lt;br /&gt;
=== Current login ===&lt;br /&gt;
The client contacts the web service for the basic information of the currently logged-in user when switched to non-offline sync modes.&lt;br /&gt;
* UID: uniquely identifies the login/user;&lt;br /&gt;
* LoginName: name of the login/user;&lt;br /&gt;
* Image: user icon or profile image;&lt;br /&gt;
* DisplayStrings: descriptive texts.&lt;br /&gt;
This information is persisted in the database, therefore, also available offline as long as you have logged in online once.&lt;br /&gt;
&lt;br /&gt;
=== Login instances ===&lt;br /&gt;
[[SYSCLS_LOGIN|Login instances]] can be delivered just as any {{UBIK}} content to the client. They can carry any amount of information which is accessible through RawDetails - a key value dictionary.&lt;br /&gt;
&lt;br /&gt;
{{Hint|If available, the instance matching the current login's UID will be used to extend the available login details. It's possible to have duplicate information in the current login, e.g. LoginName available from direct web service communication as well as the same named property through RawDetails. In such a case, it's recommended to take the former over the latter.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Commands ==&lt;br /&gt;
&lt;br /&gt;
=== Login related ===&lt;br /&gt;
Three commands are available for logging in/out.&lt;br /&gt;
* LogoutCommand;&lt;br /&gt;
* LoginCommand;&lt;br /&gt;
* ToggleLoginCommand: Log out if you are already logged in, log in otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
LoginCommand and ToggleLoginCommand support an additional command parameter to automatically navigate to the root page after a successful login.&lt;br /&gt;
The parameter can be both a simple boolean value, or a KeyValueList with a boolean value under the key of &amp;quot;NavigateToRootPageOnLogin&amp;quot;. See examples below.&lt;br /&gt;
&amp;lt;tab name=&amp;quot;UWP&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
xmlns:controls=&amp;quot;using:UBIK.WinX.Controls&amp;quot;&lt;br /&gt;
&amp;lt;Button...&lt;br /&gt;
    Command=&amp;quot;{Binding LoginCommand}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Button.CommandParameter&amp;gt;&lt;br /&gt;
        &amp;lt;controls:KeyValueList&amp;gt;&lt;br /&gt;
            &amp;lt;controls:KeyValueParameter Key=&amp;quot;NavigateToRootPageOnLogin&amp;quot; Value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/controls:KeyValueList&amp;gt;&lt;br /&gt;
    &amp;lt;/Button.CommandParameter&amp;gt;&lt;br /&gt;
&amp;lt;/Button&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tab name=&amp;quot;Mobile(Xamarin)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
xmlns:classes=&amp;quot;clr-namespace:UBIK.CPL.Classes;assembly=UBIK.CPL&amp;quot;&lt;br /&gt;
&amp;lt;Button...&lt;br /&gt;
    Command=&amp;quot;{Binding LoginCommand}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Button.CommandParameter&amp;gt;&lt;br /&gt;
        &amp;lt;classes:KeyValueList&amp;gt;&lt;br /&gt;
            &amp;lt;classes:KeyValueParameter Key=&amp;quot;NavigateToRootPageOnLogin&amp;quot; Value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/classes:KeyValueList&amp;gt;&lt;br /&gt;
    &amp;lt;/Button.CommandParameter&amp;gt;&lt;br /&gt;
&amp;lt;/Button&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Login View]]&lt;br /&gt;
[[Category:Mobile|Login View]]&lt;br /&gt;
[[Category:WinX|Login View]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:LoginViewUBIKGO.jpg&amp;diff=29841</id>
		<title>File:LoginViewUBIKGO.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:LoginViewUBIKGO.jpg&amp;diff=29841"/>
				<updated>2026-05-11T07:56:16Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:LoginView_WinX.png&amp;diff=29840</id>
		<title>File:LoginView WinX.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:LoginView_WinX.png&amp;diff=29840"/>
				<updated>2026-05-11T07:56:15Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Offline_Query&amp;diff=29839</id>
		<title>Offline Query</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Offline_Query&amp;diff=29839"/>
				<updated>2026-05-11T07:51:15Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* String criterion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Compared to [[QUERY|online / server side queries]], offline queries provide a similar capability to query for objects that match the criteria defined by the query objects. The major differences are:&lt;br /&gt;
* The querying happens entirely offline without the need of networks;&lt;br /&gt;
* Only objects already available on the client can be found as query results.&lt;br /&gt;
&lt;br /&gt;
{{Hint|The [[SYSCLS_OFFLINE_QUERY|offline query classification]] is primarily needed on the Scope of the offline query, rather than on the MetaClass itself, because the client evaluates the classification.}}&lt;br /&gt;
&lt;br /&gt;
== Offline query page ==&lt;br /&gt;
[[File:Offline_Query.png|500px|Offline Query]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
An offline query page looks similar to a regular content page which shows the properties on the left side and the content objects on the right. The unique characteristics of a query page are:&lt;br /&gt;
* The properties on the left serve as query criteria;&lt;br /&gt;
* The content objects on the right are the evaluated results of the query;&lt;br /&gt;
* There is an additional {{key press|Evaluate}} button in the bottom-left corner;&lt;br /&gt;
Users can change the query criteria by editing the property values. A press on the {{key press|Evaluate}} button then will re-evaluate the query and show the results on the right side.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:Mobile|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:Pages with broken file links|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:Version 3.1|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:WinX|Offline Query (UBIK WinX)]]&lt;br /&gt;
&lt;br /&gt;
== Offline query criteria ==&lt;br /&gt;
An offline query criterion is essentially a property on the query object. When evaluating a query, every criterion/property is checked against all result candidates (See [[#Technical_background|technical background]]). A candidate is a match if&lt;br /&gt;
* it has all the same properties as the offline query;&lt;br /&gt;
{{Attention|This is changed in newer versions {{Version/WinXSince|3.6}}. A not found property is just ignored.}}&lt;br /&gt;
* and the values of these properties indicate they are relevant according to the query criteria. (Some types have different ways to interpret what makes a value relevant. See below.)&lt;br /&gt;
{{Hint|The value checking of a criterion is ignored during query evaluations under any of the following circumstances.&lt;br /&gt;
* The criterion does not have any value specified;&lt;br /&gt;
* The criterion type is not supported/unknown. (See below)}}&lt;br /&gt;
&lt;br /&gt;
Several types of criteria are supported on offline queries.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  !! Boolean !! String !! Integer !! Double !! DateTime !! Guid&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Single Value || ✓ || ✓ || ✓ || ✓ || ✓ || ✓&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Value Range ||  ||  || ✓ || ✓ || ✓ || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Attention|Only those criteria/properties for which the MetaProperty.IndexCount is greater than 0 support value ranges.}}&lt;br /&gt;
&lt;br /&gt;
=== Single value criterion ===&lt;br /&gt;
For most single value criteria, {{UBIK}} considers a candidate as a match if the value of the target property equals the value specified in the criterion.&lt;br /&gt;
{{Hint|It is possible to use a single DateTime value in a query criterion. However, since even the smallest differences (in seconds or even milliseconds) matter during an equality check, you might want to consider specifying a range instead.}}&lt;br /&gt;
&lt;br /&gt;
=== String criterion ===&lt;br /&gt;
For string criteria, instead of checking for the equality, {{UBIK}} does the following.&lt;br /&gt;
* Split the string value defined in a criterion by spaces ({{Code| }}) if possible;&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
&amp;lt;tab name=&amp;quot;Since version 3.5&amp;quot;&amp;gt;&lt;br /&gt;
* {{Version/WinXSince|3.5}} All of these sub strings must be a part of the string value of the target property in order for the candidate to be a match.&lt;br /&gt;
For example, candidate object with a name {{Code|PU112 PD112}} is considered as a match under a name criterion with the value {{Code|PU PD}}, but {{Code|PU112}} is not.&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;tab name=&amp;quot;Older versions&amp;quot;&amp;gt;&lt;br /&gt;
* As long as at least one of the sub strings is a part of the string value of the target property, the candidate is a match.&lt;br /&gt;
For example, candidate objects with names {{Code|PU112}} and {{Code|PD2115}} are both considered as matches under a name criterion with the value {{Code|PU PD}}.&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:RangeValueDouble.png|thumb|Ranged criterion for double]]&lt;br /&gt;
[[File:RangeValueDateTime.png|thumb|Ranged criterion for date time]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:Mobile|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:Pages with broken file links|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:Version 3.1|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:WinX|Offline Query (UBIK WinX)]]&lt;br /&gt;
&lt;br /&gt;
=== Value range criterion ===&lt;br /&gt;
For types such as numbers or dates, it is sometimes more comfortable to specify ranges for criteria.&lt;br /&gt;
* Example 1: Candidate objects with pressure readings {{Code|20}} and {{Code|25}} are both considered as matches under a pressure reading criterion with the value {{Code|20 ⩽ ... ⩽ 25}}.&lt;br /&gt;
* Example 2: Candidate objects with start dates {{Code|09-11-2017}} and {{Code|08-12-2017}} are both considered as matches under a start date criterion with the value {{Code|&amp;gt; 08-11-2017}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Currently, the following ranges are supported.&lt;br /&gt;
* exclusive between (... &amp;lt; value &amp;lt; ...);&lt;br /&gt;
* exclusive greater than (value &amp;gt; ...);&lt;br /&gt;
* exclusive less than (value &amp;lt; ...);&lt;br /&gt;
* inclusive between (... ⩽ value ⩽ ...);&lt;br /&gt;
* inclusive greater than (value ⩾ ...);&lt;br /&gt;
* inclusive less than (value ⩽ ...);&lt;br /&gt;
* in a collection (value is A, B, ... or X, the UI support for this range definition is limited that you can't yet add or remove values in the collection).&lt;br /&gt;
&lt;br /&gt;
== Technical background ==&lt;br /&gt;
As mentioned earlier, all offline query criteria are checked against the result candidates. The [[SYSCLS_OFFLINE_QUERY|&amp;quot;METACLASS_IDS&amp;quot;]] property of the query object determines which objects are the candidates.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
== Query with context filter values {{Version/WinXSince|4.9}}{{Version/XamarinSince|4.9}} ==&lt;br /&gt;
In some use cases, {{UBIK}} might automatically extract certain values from the so-called context and use them during offline query filtering. The following cases are two typical examples.&lt;br /&gt;
* [[Dynamic_Selective_List_(Client)|Dynamic selective list]].&lt;br /&gt;
* [[Data_Replication_(UBIK_Client)#Data_templates|Data template replication]].&lt;br /&gt;
{{Hint|These features worked in earlier versions already. However, the technical design differed and it had certain limitations that made it problematic when you try to evaluate the same query with different filter values at the same time. So the basement, namely offline query with context filter values, is redesigned in the new version.}}&lt;br /&gt;
&lt;br /&gt;
The newly designed version has the following characteristics.&lt;br /&gt;
* You can now easily distinguish such automatically extracted context filter values from the user entered filter values in the UI.&lt;br /&gt;
* Once there is user entered values, the UI makes it obvious that the user values overrule the context values.&lt;br /&gt;
* It's also possible to clear/delete/reset all filter values, whether they are from the context or users.&lt;br /&gt;
&lt;br /&gt;
{{Hint|While it's possible to clear the context filter values, they will be automatically applied again if you start the corresponding filtering process from scratch.}}&lt;br /&gt;
&lt;br /&gt;
{{Attention|By design, the context filter values in the [[Dynamic_Selective_List_(Client)|dynamic selective list]] feature are applied as restrictions. So it is not allowed to overrule those values with user inputs.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:Pages with broken file links|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:Version 3.1|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:WinX|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:Mobile|Offline Query (UBIK WinX)]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:RangeValueDouble.png&amp;diff=29838</id>
		<title>File:RangeValueDouble.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:RangeValueDouble.png&amp;diff=29838"/>
				<updated>2026-05-11T07:51:11Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:RangeValueDateTime.png&amp;diff=29837</id>
		<title>File:RangeValueDateTime.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:RangeValueDateTime.png&amp;diff=29837"/>
				<updated>2026-05-11T07:51:10Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Offline_Query&amp;diff=29836</id>
		<title>Offline Query</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Offline_Query&amp;diff=29836"/>
				<updated>2026-05-11T07:45:57Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* Offline query page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Compared to [[QUERY|online / server side queries]], offline queries provide a similar capability to query for objects that match the criteria defined by the query objects. The major differences are:&lt;br /&gt;
* The querying happens entirely offline without the need of networks;&lt;br /&gt;
* Only objects already available on the client can be found as query results.&lt;br /&gt;
&lt;br /&gt;
{{Hint|The [[SYSCLS_OFFLINE_QUERY|offline query classification]] is primarily needed on the Scope of the offline query, rather than on the MetaClass itself, because the client evaluates the classification.}}&lt;br /&gt;
&lt;br /&gt;
== Offline query page ==&lt;br /&gt;
[[File:Offline_Query.png|500px|Offline Query]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
An offline query page looks similar to a regular content page which shows the properties on the left side and the content objects on the right. The unique characteristics of a query page are:&lt;br /&gt;
* The properties on the left serve as query criteria;&lt;br /&gt;
* The content objects on the right are the evaluated results of the query;&lt;br /&gt;
* There is an additional {{key press|Evaluate}} button in the bottom-left corner;&lt;br /&gt;
Users can change the query criteria by editing the property values. A press on the {{key press|Evaluate}} button then will re-evaluate the query and show the results on the right side.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:Mobile|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:Pages with broken file links|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:Version 3.1|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:WinX|Offline Query (UBIK WinX)]]&lt;br /&gt;
&lt;br /&gt;
== Offline query criteria ==&lt;br /&gt;
An offline query criterion is essentially a property on the query object. When evaluating a query, every criterion/property is checked against all result candidates (See [[#Technical_background|technical background]]). A candidate is a match if&lt;br /&gt;
* it has all the same properties as the offline query;&lt;br /&gt;
{{Attention|This is changed in newer versions {{Version/WinXSince|3.6}}. A not found property is just ignored.}}&lt;br /&gt;
* and the values of these properties indicate they are relevant according to the query criteria. (Some types have different ways to interpret what makes a value relevant. See below.)&lt;br /&gt;
{{Hint|The value checking of a criterion is ignored during query evaluations under any of the following circumstances.&lt;br /&gt;
* The criterion does not have any value specified;&lt;br /&gt;
* The criterion type is not supported/unknown. (See below)}}&lt;br /&gt;
&lt;br /&gt;
Several types of criteria are supported on offline queries.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  !! Boolean !! String !! Integer !! Double !! DateTime !! Guid&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Single Value || ✓ || ✓ || ✓ || ✓ || ✓ || ✓&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Value Range ||  ||  || ✓ || ✓ || ✓ || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Attention|Only those criteria/properties for which the MetaProperty.IndexCount is greater than 0 support value ranges.}}&lt;br /&gt;
&lt;br /&gt;
=== Single value criterion ===&lt;br /&gt;
For most single value criteria, {{UBIK}} considers a candidate as a match if the value of the target property equals the value specified in the criterion.&lt;br /&gt;
{{Hint|It is possible to use a single DateTime value in a query criterion. However, since even the smallest differences (in seconds or even milliseconds) matter during an equality check, you might want to consider specifying a range instead.}}&lt;br /&gt;
&lt;br /&gt;
=== String criterion ===&lt;br /&gt;
For string criteria, instead of checking for the equality, {{UBIK}} does the following.&lt;br /&gt;
* Split the string value defined in a criterion by spaces ({{Code| }}) if possible;&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
&amp;lt;tab name=&amp;quot;Since version 3.5&amp;quot;&amp;gt;&lt;br /&gt;
* {{Version/WinXSince|3.5}} All of these sub strings must be a part of the string value of the target property in order for the candidate to be a match.&lt;br /&gt;
For example, candidate object with a name {{Code|PU112 PD112}} is considered as a match under a name criterion with the value {{Code|PU PD}}, but {{Code|PU112}} is not.&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;tab name=&amp;quot;Older versions&amp;quot;&amp;gt;&lt;br /&gt;
* As long as at least one of the sub strings is a part of the string value of the target property, the candidate is a match.&lt;br /&gt;
For example, candidate objects with names {{Code|PU112}} and {{Code|PD2115}} are both considered as matches under a name criterion with the value {{Code|PU PD}}.&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:UBIK_WinX_UI_Offline_Query_Ranged_Double_Criterion.gif|thumb|Ranged criterion for double]]&lt;br /&gt;
[[File:UBIK_WinX_UI_Offline_Query_Ranged_DateTime_Criterion.gif|thumb|Ranged criterion for date time]]&lt;br /&gt;
=== Value range criterion ===&lt;br /&gt;
For types such as numbers or dates, it is sometimes more comfortable to specify ranges for criteria.&lt;br /&gt;
* Example 1: Candidate objects with pressure readings {{Code|20}} and {{Code|25}} are both considered as matches under a pressure reading criterion with the value {{Code|20 ⩽ ... ⩽ 25}}.&lt;br /&gt;
* Example 2: Candidate objects with start dates {{Code|09-11-2017}} and {{Code|08-12-2017}} are both considered as matches under a start date criterion with the value {{Code|&amp;gt; 08-11-2017}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Currently, the following ranges are supported.&lt;br /&gt;
* exclusive between (... &amp;lt; value &amp;lt; ...);&lt;br /&gt;
* exclusive greater than (value &amp;gt; ...);&lt;br /&gt;
* exclusive less than (value &amp;lt; ...);&lt;br /&gt;
* inclusive between (... ⩽ value ⩽ ...);&lt;br /&gt;
* inclusive greater than (value ⩾ ...);&lt;br /&gt;
* inclusive less than (value ⩽ ...);&lt;br /&gt;
* in a collection (value is A, B, ... or X, the UI support for this range definition is limited that you can't yet add or remove values in the collection).&lt;br /&gt;
&lt;br /&gt;
== Technical background ==&lt;br /&gt;
As mentioned earlier, all offline query criteria are checked against the result candidates. The [[SYSCLS_OFFLINE_QUERY|&amp;quot;METACLASS_IDS&amp;quot;]] property of the query object determines which objects are the candidates.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
== Query with context filter values {{Version/WinXSince|4.9}}{{Version/XamarinSince|4.9}} ==&lt;br /&gt;
In some use cases, {{UBIK}} might automatically extract certain values from the so-called context and use them during offline query filtering. The following cases are two typical examples.&lt;br /&gt;
* [[Dynamic_Selective_List_(Client)|Dynamic selective list]].&lt;br /&gt;
* [[Data_Replication_(UBIK_Client)#Data_templates|Data template replication]].&lt;br /&gt;
{{Hint|These features worked in earlier versions already. However, the technical design differed and it had certain limitations that made it problematic when you try to evaluate the same query with different filter values at the same time. So the basement, namely offline query with context filter values, is redesigned in the new version.}}&lt;br /&gt;
&lt;br /&gt;
The newly designed version has the following characteristics.&lt;br /&gt;
* You can now easily distinguish such automatically extracted context filter values from the user entered filter values in the UI.&lt;br /&gt;
* Once there is user entered values, the UI makes it obvious that the user values overrule the context values.&lt;br /&gt;
* It's also possible to clear/delete/reset all filter values, whether they are from the context or users.&lt;br /&gt;
&lt;br /&gt;
{{Hint|While it's possible to clear the context filter values, they will be automatically applied again if you start the corresponding filtering process from scratch.}}&lt;br /&gt;
&lt;br /&gt;
{{Attention|By design, the context filter values in the [[Dynamic_Selective_List_(Client)|dynamic selective list]] feature are applied as restrictions. So it is not allowed to overrule those values with user inputs.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:Pages with broken file links|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:Version 3.1|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:WinX|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:Mobile|Offline Query (UBIK WinX)]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Offline_Query&amp;diff=29835</id>
		<title>Offline Query</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Offline_Query&amp;diff=29835"/>
				<updated>2026-05-11T07:45:12Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* Offline query page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Compared to [[QUERY|online / server side queries]], offline queries provide a similar capability to query for objects that match the criteria defined by the query objects. The major differences are:&lt;br /&gt;
* The querying happens entirely offline without the need of networks;&lt;br /&gt;
* Only objects already available on the client can be found as query results.&lt;br /&gt;
&lt;br /&gt;
{{Hint|The [[SYSCLS_OFFLINE_QUERY|offline query classification]] is primarily needed on the Scope of the offline query, rather than on the MetaClass itself, because the client evaluates the classification.}}&lt;br /&gt;
&lt;br /&gt;
== Offline query page ==&lt;br /&gt;
[[File:Offline_Query.png|500px|Offline Query]]&lt;br /&gt;
An offline query page looks similar to a regular content page which shows the properties on the left side and the content objects on the right. The unique characteristics of a query page are:&lt;br /&gt;
* The properties on the left serve as query criteria;&lt;br /&gt;
* The content objects on the right are the evaluated results of the query;&lt;br /&gt;
* There is an additional {{key press|Evaluate}} button in the bottom-left corner;&lt;br /&gt;
Users can change the query criteria by editing the property values. A press on the {{key press|Evaluate}} button then will re-evaluate the query and show the results on the right side.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:Mobile|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:Pages with broken file links|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:Version 3.1|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:WinX|Offline Query (UBIK WinX)]]&lt;br /&gt;
&lt;br /&gt;
== Offline query criteria ==&lt;br /&gt;
An offline query criterion is essentially a property on the query object. When evaluating a query, every criterion/property is checked against all result candidates (See [[#Technical_background|technical background]]). A candidate is a match if&lt;br /&gt;
* it has all the same properties as the offline query;&lt;br /&gt;
{{Attention|This is changed in newer versions {{Version/WinXSince|3.6}}. A not found property is just ignored.}}&lt;br /&gt;
* and the values of these properties indicate they are relevant according to the query criteria. (Some types have different ways to interpret what makes a value relevant. See below.)&lt;br /&gt;
{{Hint|The value checking of a criterion is ignored during query evaluations under any of the following circumstances.&lt;br /&gt;
* The criterion does not have any value specified;&lt;br /&gt;
* The criterion type is not supported/unknown. (See below)}}&lt;br /&gt;
&lt;br /&gt;
Several types of criteria are supported on offline queries.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  !! Boolean !! String !! Integer !! Double !! DateTime !! Guid&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Single Value || ✓ || ✓ || ✓ || ✓ || ✓ || ✓&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Value Range ||  ||  || ✓ || ✓ || ✓ || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Attention|Only those criteria/properties for which the MetaProperty.IndexCount is greater than 0 support value ranges.}}&lt;br /&gt;
&lt;br /&gt;
=== Single value criterion ===&lt;br /&gt;
For most single value criteria, {{UBIK}} considers a candidate as a match if the value of the target property equals the value specified in the criterion.&lt;br /&gt;
{{Hint|It is possible to use a single DateTime value in a query criterion. However, since even the smallest differences (in seconds or even milliseconds) matter during an equality check, you might want to consider specifying a range instead.}}&lt;br /&gt;
&lt;br /&gt;
=== String criterion ===&lt;br /&gt;
For string criteria, instead of checking for the equality, {{UBIK}} does the following.&lt;br /&gt;
* Split the string value defined in a criterion by spaces ({{Code| }}) if possible;&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
&amp;lt;tab name=&amp;quot;Since version 3.5&amp;quot;&amp;gt;&lt;br /&gt;
* {{Version/WinXSince|3.5}} All of these sub strings must be a part of the string value of the target property in order for the candidate to be a match.&lt;br /&gt;
For example, candidate object with a name {{Code|PU112 PD112}} is considered as a match under a name criterion with the value {{Code|PU PD}}, but {{Code|PU112}} is not.&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;tab name=&amp;quot;Older versions&amp;quot;&amp;gt;&lt;br /&gt;
* As long as at least one of the sub strings is a part of the string value of the target property, the candidate is a match.&lt;br /&gt;
For example, candidate objects with names {{Code|PU112}} and {{Code|PD2115}} are both considered as matches under a name criterion with the value {{Code|PU PD}}.&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:UBIK_WinX_UI_Offline_Query_Ranged_Double_Criterion.gif|thumb|Ranged criterion for double]]&lt;br /&gt;
[[File:UBIK_WinX_UI_Offline_Query_Ranged_DateTime_Criterion.gif|thumb|Ranged criterion for date time]]&lt;br /&gt;
=== Value range criterion ===&lt;br /&gt;
For types such as numbers or dates, it is sometimes more comfortable to specify ranges for criteria.&lt;br /&gt;
* Example 1: Candidate objects with pressure readings {{Code|20}} and {{Code|25}} are both considered as matches under a pressure reading criterion with the value {{Code|20 ⩽ ... ⩽ 25}}.&lt;br /&gt;
* Example 2: Candidate objects with start dates {{Code|09-11-2017}} and {{Code|08-12-2017}} are both considered as matches under a start date criterion with the value {{Code|&amp;gt; 08-11-2017}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Currently, the following ranges are supported.&lt;br /&gt;
* exclusive between (... &amp;lt; value &amp;lt; ...);&lt;br /&gt;
* exclusive greater than (value &amp;gt; ...);&lt;br /&gt;
* exclusive less than (value &amp;lt; ...);&lt;br /&gt;
* inclusive between (... ⩽ value ⩽ ...);&lt;br /&gt;
* inclusive greater than (value ⩾ ...);&lt;br /&gt;
* inclusive less than (value ⩽ ...);&lt;br /&gt;
* in a collection (value is A, B, ... or X, the UI support for this range definition is limited that you can't yet add or remove values in the collection).&lt;br /&gt;
&lt;br /&gt;
== Technical background ==&lt;br /&gt;
As mentioned earlier, all offline query criteria are checked against the result candidates. The [[SYSCLS_OFFLINE_QUERY|&amp;quot;METACLASS_IDS&amp;quot;]] property of the query object determines which objects are the candidates.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
== Query with context filter values {{Version/WinXSince|4.9}}{{Version/XamarinSince|4.9}} ==&lt;br /&gt;
In some use cases, {{UBIK}} might automatically extract certain values from the so-called context and use them during offline query filtering. The following cases are two typical examples.&lt;br /&gt;
* [[Dynamic_Selective_List_(Client)|Dynamic selective list]].&lt;br /&gt;
* [[Data_Replication_(UBIK_Client)#Data_templates|Data template replication]].&lt;br /&gt;
{{Hint|These features worked in earlier versions already. However, the technical design differed and it had certain limitations that made it problematic when you try to evaluate the same query with different filter values at the same time. So the basement, namely offline query with context filter values, is redesigned in the new version.}}&lt;br /&gt;
&lt;br /&gt;
The newly designed version has the following characteristics.&lt;br /&gt;
* You can now easily distinguish such automatically extracted context filter values from the user entered filter values in the UI.&lt;br /&gt;
* Once there is user entered values, the UI makes it obvious that the user values overrule the context values.&lt;br /&gt;
* It's also possible to clear/delete/reset all filter values, whether they are from the context or users.&lt;br /&gt;
&lt;br /&gt;
{{Hint|While it's possible to clear the context filter values, they will be automatically applied again if you start the corresponding filtering process from scratch.}}&lt;br /&gt;
&lt;br /&gt;
{{Attention|By design, the context filter values in the [[Dynamic_Selective_List_(Client)|dynamic selective list]] feature are applied as restrictions. So it is not allowed to overrule those values with user inputs.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:Pages with broken file links|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:Version 3.1|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:WinX|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:Mobile|Offline Query (UBIK WinX)]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Offline_Query&amp;diff=29834</id>
		<title>Offline Query</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Offline_Query&amp;diff=29834"/>
				<updated>2026-05-11T07:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* Offline query page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Compared to [[QUERY|online / server side queries]], offline queries provide a similar capability to query for objects that match the criteria defined by the query objects. The major differences are:&lt;br /&gt;
* The querying happens entirely offline without the need of networks;&lt;br /&gt;
* Only objects already available on the client can be found as query results.&lt;br /&gt;
&lt;br /&gt;
{{Hint|The [[SYSCLS_OFFLINE_QUERY|offline query classification]] is primarily needed on the Scope of the offline query, rather than on the MetaClass itself, because the client evaluates the classification.}}&lt;br /&gt;
&lt;br /&gt;
== Offline query page ==&lt;br /&gt;
[[File:Offline_Query.png|thumb|Offline Query]]&lt;br /&gt;
An offline query page looks similar to a regular content page which shows the properties on the left side and the content objects on the right. The unique characteristics of a query page are:&lt;br /&gt;
* The properties on the left serve as query criteria;&lt;br /&gt;
* The content objects on the right are the evaluated results of the query;&lt;br /&gt;
* There is an additional {{key press|Evaluate}} button in the bottom-left corner;&lt;br /&gt;
Users can change the query criteria by editing the property values. A press on the {{key press|Evaluate}} button then will re-evaluate the query and show the results on the right side.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:Mobile|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:Pages with broken file links|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:Version 3.1|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:WinX|Offline Query (UBIK WinX)]]&lt;br /&gt;
&lt;br /&gt;
== Offline query criteria ==&lt;br /&gt;
An offline query criterion is essentially a property on the query object. When evaluating a query, every criterion/property is checked against all result candidates (See [[#Technical_background|technical background]]). A candidate is a match if&lt;br /&gt;
* it has all the same properties as the offline query;&lt;br /&gt;
{{Attention|This is changed in newer versions {{Version/WinXSince|3.6}}. A not found property is just ignored.}}&lt;br /&gt;
* and the values of these properties indicate they are relevant according to the query criteria. (Some types have different ways to interpret what makes a value relevant. See below.)&lt;br /&gt;
{{Hint|The value checking of a criterion is ignored during query evaluations under any of the following circumstances.&lt;br /&gt;
* The criterion does not have any value specified;&lt;br /&gt;
* The criterion type is not supported/unknown. (See below)}}&lt;br /&gt;
&lt;br /&gt;
Several types of criteria are supported on offline queries.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!  !! Boolean !! String !! Integer !! Double !! DateTime !! Guid&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Single Value || ✓ || ✓ || ✓ || ✓ || ✓ || ✓&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Value Range ||  ||  || ✓ || ✓ || ✓ || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Attention|Only those criteria/properties for which the MetaProperty.IndexCount is greater than 0 support value ranges.}}&lt;br /&gt;
&lt;br /&gt;
=== Single value criterion ===&lt;br /&gt;
For most single value criteria, {{UBIK}} considers a candidate as a match if the value of the target property equals the value specified in the criterion.&lt;br /&gt;
{{Hint|It is possible to use a single DateTime value in a query criterion. However, since even the smallest differences (in seconds or even milliseconds) matter during an equality check, you might want to consider specifying a range instead.}}&lt;br /&gt;
&lt;br /&gt;
=== String criterion ===&lt;br /&gt;
For string criteria, instead of checking for the equality, {{UBIK}} does the following.&lt;br /&gt;
* Split the string value defined in a criterion by spaces ({{Code| }}) if possible;&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
&amp;lt;tab name=&amp;quot;Since version 3.5&amp;quot;&amp;gt;&lt;br /&gt;
* {{Version/WinXSince|3.5}} All of these sub strings must be a part of the string value of the target property in order for the candidate to be a match.&lt;br /&gt;
For example, candidate object with a name {{Code|PU112 PD112}} is considered as a match under a name criterion with the value {{Code|PU PD}}, but {{Code|PU112}} is not.&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;tab name=&amp;quot;Older versions&amp;quot;&amp;gt;&lt;br /&gt;
* As long as at least one of the sub strings is a part of the string value of the target property, the candidate is a match.&lt;br /&gt;
For example, candidate objects with names {{Code|PU112}} and {{Code|PD2115}} are both considered as matches under a name criterion with the value {{Code|PU PD}}.&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:UBIK_WinX_UI_Offline_Query_Ranged_Double_Criterion.gif|thumb|Ranged criterion for double]]&lt;br /&gt;
[[File:UBIK_WinX_UI_Offline_Query_Ranged_DateTime_Criterion.gif|thumb|Ranged criterion for date time]]&lt;br /&gt;
=== Value range criterion ===&lt;br /&gt;
For types such as numbers or dates, it is sometimes more comfortable to specify ranges for criteria.&lt;br /&gt;
* Example 1: Candidate objects with pressure readings {{Code|20}} and {{Code|25}} are both considered as matches under a pressure reading criterion with the value {{Code|20 ⩽ ... ⩽ 25}}.&lt;br /&gt;
* Example 2: Candidate objects with start dates {{Code|09-11-2017}} and {{Code|08-12-2017}} are both considered as matches under a start date criterion with the value {{Code|&amp;gt; 08-11-2017}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Currently, the following ranges are supported.&lt;br /&gt;
* exclusive between (... &amp;lt; value &amp;lt; ...);&lt;br /&gt;
* exclusive greater than (value &amp;gt; ...);&lt;br /&gt;
* exclusive less than (value &amp;lt; ...);&lt;br /&gt;
* inclusive between (... ⩽ value ⩽ ...);&lt;br /&gt;
* inclusive greater than (value ⩾ ...);&lt;br /&gt;
* inclusive less than (value ⩽ ...);&lt;br /&gt;
* in a collection (value is A, B, ... or X, the UI support for this range definition is limited that you can't yet add or remove values in the collection).&lt;br /&gt;
&lt;br /&gt;
== Technical background ==&lt;br /&gt;
As mentioned earlier, all offline query criteria are checked against the result candidates. The [[SYSCLS_OFFLINE_QUERY|&amp;quot;METACLASS_IDS&amp;quot;]] property of the query object determines which objects are the candidates.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
== Query with context filter values {{Version/WinXSince|4.9}}{{Version/XamarinSince|4.9}} ==&lt;br /&gt;
In some use cases, {{UBIK}} might automatically extract certain values from the so-called context and use them during offline query filtering. The following cases are two typical examples.&lt;br /&gt;
* [[Dynamic_Selective_List_(Client)|Dynamic selective list]].&lt;br /&gt;
* [[Data_Replication_(UBIK_Client)#Data_templates|Data template replication]].&lt;br /&gt;
{{Hint|These features worked in earlier versions already. However, the technical design differed and it had certain limitations that made it problematic when you try to evaluate the same query with different filter values at the same time. So the basement, namely offline query with context filter values, is redesigned in the new version.}}&lt;br /&gt;
&lt;br /&gt;
The newly designed version has the following characteristics.&lt;br /&gt;
* You can now easily distinguish such automatically extracted context filter values from the user entered filter values in the UI.&lt;br /&gt;
* Once there is user entered values, the UI makes it obvious that the user values overrule the context values.&lt;br /&gt;
* It's also possible to clear/delete/reset all filter values, whether they are from the context or users.&lt;br /&gt;
&lt;br /&gt;
{{Hint|While it's possible to clear the context filter values, they will be automatically applied again if you start the corresponding filtering process from scratch.}}&lt;br /&gt;
&lt;br /&gt;
{{Attention|By design, the context filter values in the [[Dynamic_Selective_List_(Client)|dynamic selective list]] feature are applied as restrictions. So it is not allowed to overrule those values with user inputs.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:Pages with broken file links|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:Version 3.1|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:WinX|Offline Query (UBIK WinX)]]&lt;br /&gt;
[[Category:Mobile|Offline Query (UBIK WinX)]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:OfflineQuery_RangeValue.png&amp;diff=29833</id>
		<title>File:OfflineQuery RangeValue.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:OfflineQuery_RangeValue.png&amp;diff=29833"/>
				<updated>2026-05-11T07:44:13Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:Offline_Query.png&amp;diff=29832</id>
		<title>File:Offline Query.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:Offline_Query.png&amp;diff=29832"/>
				<updated>2026-05-11T07:44:12Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Property_Direct_Edit_(Client)&amp;diff=29817</id>
		<title>Property Direct Edit (Client)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Property_Direct_Edit_(Client)&amp;diff=29817"/>
				<updated>2026-05-07T12:57:40Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* PropertyViewModel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
Property direct editing (also known as inline editing) aims to provide a more efficient way for users to edit properties, especially when such tasks are performed frequently.&lt;br /&gt;
&lt;br /&gt;
Generally speaking, direct editing skips the additional dialogs or pages presented in regular editing and allows users to directly interact with the UI displaying properties. For example, a text box type of control can be used to both display the value of a property and accept modifications of the value from the user.&lt;br /&gt;
&lt;br /&gt;
== Supported property types ==&lt;br /&gt;
In {{UBIK}}, we provide default templates for some most frequently used property types. However, you can use your own templates, controls, etc. as you like to deal with these property types or even more (as long as you can find suitable UI controls for dealing with these types). Direct editing properties also support [[Min Max Properties]].&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
&amp;lt;tab name=&amp;quot;UWP&amp;quot;&amp;gt;&lt;br /&gt;
They are accessible as DataTemplates from UBIKThemes.xaml (use the [[Developer_Mode]] to find the default copy) and the syntax in XAML is &amp;lt;code&amp;gt;{StaticResource TEMPLATE_NAME}&amp;lt;/code&amp;gt;. Just like other such templates, they can be customized by overriding the DataTemplates with respective keys in UBIKThemes.xaml.&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tab name=&amp;quot;Mobile(Xamarin)&amp;quot;&amp;gt;&lt;br /&gt;
They are accessible as DataTemplates from UBIKThemes.xamlx and the syntax in XAML is &amp;lt;code&amp;gt;{DynamicResource TEMPLATE_NAME}&amp;lt;/code&amp;gt;. Just like such templates, they can be customized by providing your own DataTemplate resources (with the keys of TEMPLATE_NAME) in UBIKThemes.xamlx.&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== For Properties: ===&lt;br /&gt;
* String/Text: named as UBIKPropertyDirectItemString.&lt;br /&gt;
* Integer: named as UBIKPropertyDirectItemInt.&lt;br /&gt;
* Double: named as UBIKPropertyDirectItemDouble.&lt;br /&gt;
* Boolean: named as UBIKPropertyDirectItemBool.&lt;br /&gt;
* Guid: named as UBIKPropertyDirectItemGuid.&lt;br /&gt;
* DateTime: named as UBIKPropertyDirectItemDateTime.&lt;br /&gt;
* GeoData: named as UBIKPropertyDirectItemGeoData.&lt;br /&gt;
* With selective list items: named as UBIKPropertyDirectItemList.&lt;br /&gt;
&lt;br /&gt;
{{Hint|Due to the limited screen size of most mobile devices, direct editing is not enabled by default in the Mobile clients.}}&lt;br /&gt;
&lt;br /&gt;
=== For MRO-Tasks: ===&lt;br /&gt;
* String/Text: named as UBIKTaskPropertyString.&lt;br /&gt;
* Integer: named as UBIKTaskPropertyInt.&lt;br /&gt;
* Double: named as UBIKTaskPropertyDouble.&lt;br /&gt;
* Boolean: named as UBIKTaskPropertyBool.&lt;br /&gt;
* Guid: named as UBIKTaskPropertyGuid.&lt;br /&gt;
* DateTime: named as UBIKTaskPropertyDateTime.&lt;br /&gt;
* GeoData: named as UBIKTaskPropertyGeoData.&lt;br /&gt;
* With selective list items: named as UBIKTaskPropertyList.&lt;br /&gt;
&lt;br /&gt;
{{Hint|Due to the limited screen size of most mobile devices, direct editing is not enabled by default for DateTime and GeoData types in the Mobile clients.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PropertyViewModel ==&lt;br /&gt;
This is the view model for every single {{UBIK}} property and also the basement for property direct editing (and regular editing alike). For example, a certain named PropertyViewModel (with the name of PROPERTY_NAME) of the context object in a content page is accessible as &amp;lt;code&amp;gt;{Binding Properties.VisibleItems[PROPERTY_NAME]}&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[File:UBIK_DirectEditing.png|thumb|A test template for direct editing a String property (Mobile)]]&lt;br /&gt;
In the example demonstrated in the screenshot where a test template is used to enable direct editing of a String/Text typed property, the following members of the PropertyViewModel are involved.&lt;br /&gt;
* '''InEditing''': This is the boolean member indicating whether the PropertyViewModel is currently in edit mode. It can be used to decide whether the UI should display the DisplayValue text or present a text box for user input;&lt;br /&gt;
* '''Description''': This is the description of the underlying property/meta property;&lt;br /&gt;
* '''ValueItem.PropertyValue''': This is the value of property stored at the PropertyViewModel which can differ from the underlying property value because there can be editing changes not yet confirmed/saved. It can be read from and written to by the text box;&lt;br /&gt;
* '''DisplayValue''': This is the textual version of ValueItem.PropertyValue used for displaying when the InEditing is false;&lt;br /&gt;
* '''StartDirectEditCommand''': Sets InEditing to true and starts the direct editing session. In the example, this is linked to the tapped event of the entire template area;&lt;br /&gt;
* '''ConfirmEditCommand''': Confirms the edit and sets InEditing to false. Even if the property value is not changed, this will give the property a new validation timestamp, technically modifying the property;&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
Optional command parameter for ConfirmEditCommand: ToValidate - Whether a validation timestamp should be added even if the value is unchanged when confirmed. Defaults to true if unspecified.&lt;br /&gt;
&amp;lt;tab name=&amp;quot;UWP&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Button ...&lt;br /&gt;
      xmlns:uc=&amp;quot;using:UBIK.WinX.Controls&amp;quot;&lt;br /&gt;
      Command=&amp;quot;{Binding ConfirmEditCommand}&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Button.CommandParameter&amp;gt;&lt;br /&gt;
          &amp;lt;uc:KeyValueList&amp;gt;&lt;br /&gt;
              &amp;lt;uc:KeyValueParameter Key=&amp;quot;ToValidate&amp;quot; Value=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/uc:KeyValueList&amp;gt;&lt;br /&gt;
      &amp;lt;/Button.CommandParameter&amp;gt;&lt;br /&gt;
  &amp;lt;/Button&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tab name=&amp;quot;Mobile(Xamarin)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Button ...&lt;br /&gt;
      xmlns:classes=&amp;quot;clr-namespace:UBIK.CPL.Classes;assembly=UBIK.CPL&amp;quot;&lt;br /&gt;
      Command=&amp;quot;{Binding ConfirmEditCommand}&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Button.CommandParameter&amp;gt;&lt;br /&gt;
          &amp;lt;classes:KeyValueList&amp;gt;&lt;br /&gt;
              &amp;lt;classes:KeyValueParameter Key=&amp;quot;ToValidate&amp;quot; Value=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/classes:KeyValueList&amp;gt;&lt;br /&gt;
      &amp;lt;/Button.CommandParameter&amp;gt;&lt;br /&gt;
  &amp;lt;/Button&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
* '''SaveAndCommitCommand''': In addition to confirming the edit, this also saves the changes to the underlying property, saves the owner object and attempts to commit it if the sync mode allows;&lt;br /&gt;
* '''ResetCommand''': Resets the underlying property to its last known server state, saves the owner object and attempts to commit it if the sync mode allows;&lt;br /&gt;
* '''DeleteValueCommand''': Sets the underlying property's value(s) to null and erases its validation timestamp, saves the owner object and attempts to commit it if the sync mode allows;&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
Optional command parameter for ResetCommand and DeleteValueCommand: AutoSave - Whether the change(s) to the property and the object should be saved right after the execution of these commands. Defaults to true if unspecified.&lt;br /&gt;
&amp;lt;tab name=&amp;quot;UWP&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Button ...&lt;br /&gt;
      xmlns:uc=&amp;quot;using:UBIK.WinX.Controls&amp;quot;&lt;br /&gt;
      Command=&amp;quot;{Binding DeleteValueCommand}&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Button.CommandParameter&amp;gt;&lt;br /&gt;
          &amp;lt;uc:KeyValueList&amp;gt;&lt;br /&gt;
              &amp;lt;uc:KeyValueParameter Key=&amp;quot;AutoSave&amp;quot; Value=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/uc:KeyValueList&amp;gt;&lt;br /&gt;
      &amp;lt;/Button.CommandParameter&amp;gt;&lt;br /&gt;
  &amp;lt;/Button&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tab name=&amp;quot;Mobile(Xamarin)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Button ...&lt;br /&gt;
      xmlns:classes=&amp;quot;clr-namespace:UBIK.CPL.Classes;assembly=UBIK.CPL&amp;quot;&lt;br /&gt;
      Command=&amp;quot;{Binding DeleteValueCommand}&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Button.CommandParameter&amp;gt;&lt;br /&gt;
          &amp;lt;classes:KeyValueList&amp;gt;&lt;br /&gt;
              &amp;lt;classes:KeyValueParameter Key=&amp;quot;AutoSave&amp;quot; Value=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/classes:KeyValueList&amp;gt;&lt;br /&gt;
      &amp;lt;/Button.CommandParameter&amp;gt;&lt;br /&gt;
  &amp;lt;/Button&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
* '''DiscardChangeCommand''': Discards all changes made at the PropertyViewModel level that are not yet saved to the underlying property;&lt;br /&gt;
* '''CancelEditCommand''': Cancels the current editing session and discards all changes made at the PropertyViewModel level '''in that session''' (different from DiscardChangeCommand).&lt;br /&gt;
&lt;br /&gt;
{{Hint|Once again, you can use the [[Developer_Mode]] to find out more about the PropertyViewModel, like where they are available and how they can be accessed in XAML, or what other members are available underneath, etc.}}&lt;br /&gt;
&lt;br /&gt;
=== ValueItem.PropertyValue or ValueItem.PropertyValueSessionless {{Version/WinXSince|4.4}}{{Version/XamarinSince|4.4}} ===&lt;br /&gt;
When it comes to property editing, there's the concept of edit sessions. A property editor always entails a session which starts when the editor is opened and ends when the editor is closed.&lt;br /&gt;
However, this could be different in direct editing. For example,&lt;br /&gt;
* The standard UI in {{UBIK}} for direct string editing still has sessions. The session starts when you click on the displayed value text and it turns into a text box for value input. It ends when you confirm the input value and the text box turns back into the displayed value text.&lt;br /&gt;
* On the other hand, the direct boolean editing is, for example, sessionless. This is because the UI displays a check box the entire time and there's no way to tell the start or the end of a session.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For most value types (e.g. where typing is involved during direct editing), the session concept still applies. '''ValueItem.PropertyValue''' should be used in bindings in such cases. Otherwise, the input values might be lost during editing. In other cases where direct editing is sessionless, '''ValueItem.PropertyValueSessionless''' should be used. Otherwise, the input value will be rejected since the property is technically speaking not in any edit session.&lt;br /&gt;
&lt;br /&gt;
{{Hint|If you are unsure whether '''ValueItem.PropertyValue''' or '''ValueItem.PropertyValueSessionless''' should be used for a certain property type, go with the former. Because most types do have sessions in their direct editing UI. Also, the problem of misusing the former can be seen immediately, namely the editing doesn't work, whereas misusing the latter can lead to more issues that are hard to notice at first.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Property Direct Edit (Client)]]&lt;br /&gt;
[[Category:Mobile|Property Direct Edit (Client)]]&lt;br /&gt;
[[Category:Version 4.0|Property Direct Edit (Client)]]&lt;br /&gt;
[[Category:WinX|Property Direct Edit (Client)]]&lt;br /&gt;
&lt;br /&gt;
== Relevant types ==&lt;br /&gt;
Here are some types created for the purpose of property direct editing.&lt;br /&gt;
&lt;br /&gt;
=== PropertyDirectItemTemplateSelector ===&lt;br /&gt;
&lt;br /&gt;
This is used in a ListView-like control where item templates should be specified, in this case property item templates specifically. It determines the different DataTemplates to be used for direct editing PropertyViewModels according to their property types. For types that have default {{UBIK}} direct editing support, the template names follow the pattern of &amp;quot;UBIKPropertyDirectItemXXX&amp;quot; where XXX is the type name, e.g. String, DateTime, List, etc.&lt;br /&gt;
&lt;br /&gt;
For types that do not come with default direct editing support, the selector uses the &amp;quot;UBIKPropertyItem&amp;quot; template in which editor dialogs are shown instead.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
&amp;lt;tab name=&amp;quot;UWP&amp;quot;&amp;gt;&lt;br /&gt;
Namespace &amp;lt;code&amp;gt;xmlns:tpl=&amp;quot;using:UBIK.WinX.Templates&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tab name=&amp;quot;Mobile(Xamarin)&amp;quot;&amp;gt;&lt;br /&gt;
Namespace &amp;lt;code&amp;gt;xmlns:resources=&amp;quot;clr-namespace:UBIK.CPL.Resources;assembly=UBIK.CPL&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TaskPropertyTemplateSelector ===&lt;br /&gt;
&lt;br /&gt;
By default, [[MRO_Objects_(Client)#Task|MRO tasks]] have direct editing enabled for their task related properties in the &amp;quot;UBIKTaskItem&amp;quot; template. This template selector determines the different DataTemplates to be used for direct editing PropertyViewModels according to their property types. For types that have default {{UBIK}} direct editing support, the template names follow the pattern of &amp;quot;UBIKTaskPropertyXXX&amp;quot; where XXX is the type name, e.g. String, DateTime, List, etc.&lt;br /&gt;
&lt;br /&gt;
For types that do not come with default direct editing support, the selector uses the &amp;quot;UBIKTaskProperty&amp;quot; template in which editor dialogs are shown instead.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
&amp;lt;tab name=&amp;quot;UWP&amp;quot;&amp;gt;&lt;br /&gt;
Namespace &amp;lt;code&amp;gt;xmlns:tpl=&amp;quot;using:UBIK.WinX.Templates&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tab name=&amp;quot;Mobile(Xamarin)&amp;quot;&amp;gt;&lt;br /&gt;
Namespace &amp;lt;code&amp;gt;xmlns:resources=&amp;quot;clr-namespace:UBIK.CPL.Resources;assembly=UBIK.CPL&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ComboBoxItemTemplateSelector (UWP only) ===&lt;br /&gt;
&lt;br /&gt;
By default, a ComboBox uses the same template for the selected item (when closed) as well as the drop down items (when opened), which is not always wanted. This template selector allows you to use different templates for these two types of items.&lt;br /&gt;
&lt;br /&gt;
Namespace &amp;lt;code&amp;gt;xmlns:tpl=&amp;quot;using:UBIK.WinX.Templates&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tpl:ComboBoxItemTemplateSelector x:Key=&amp;quot;ComboBoxItemTemplateSelector&amp;quot; DropDownItemTemplate=&amp;quot;{StaticResource XXX}&amp;quot; ComboBoxSectionItemTemplate=&amp;quot;{StaticResource XXX}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* DropDownItemTemplate: for the dop down items (when opened)&lt;br /&gt;
* ComboBoxSectionItemTemplate: for the selected item (when closed)&lt;br /&gt;
&lt;br /&gt;
=== Behaviors and controls ===&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
&amp;lt;tab name=&amp;quot;UWP&amp;quot;&amp;gt;&lt;br /&gt;
The KeyEventTriggerBehavior is a specialized version of the EventTriggerBehavior in the way that it sets the event to KeyDown by default and allows customizers to define which key (KeyName) should trigger the action(s).&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBox ...&lt;br /&gt;
    xmlns:Core=&amp;quot;using:Microsoft.Xaml.Interactions.Core&amp;quot;&lt;br /&gt;
    xmlns:Interactivity=&amp;quot;using:Microsoft.Xaml.Interactivity&amp;quot;&lt;br /&gt;
    xmlns:behaviours=&amp;quot;using:UBIK.WinX.Behaviors&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
        &amp;lt;behaviours:KeyEventTriggerBehavior KeyName=&amp;quot;Enter&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Core:InvokeCommandAction Command=&amp;quot;{Binding ConfirmEditCommand}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/behaviours:KeyEventTriggerBehavior&amp;gt;&lt;br /&gt;
        &amp;lt;behaviours:KeyEventTriggerBehavior KeyName=&amp;quot;Escape&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Core:InvokeCommandAction Command=&amp;quot;{Binding CancelEditCommand}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/behaviours:KeyEventTriggerBehavior&amp;gt;&lt;br /&gt;
    &amp;lt;/Interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
&amp;lt;/TextBox&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tab name=&amp;quot;Mobile(Xamarin)&amp;quot;&amp;gt;&lt;br /&gt;
The SelectAllEntry optionally accepts two commands (ReturnCommand &amp;amp; EscapeCommand) to execute when a user inputs the return key {{key press|Enter}} and the escape key {{key press|Esc}} respecitively.&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Grid  xmlns:renderers=&amp;quot;clr-namespace:UBIK.CPL.Platform.Renderers;assembly=UBIK.CPL&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;renderers:SelectAllEntry ...&lt;br /&gt;
        ReturnCommand=&amp;quot;{Binding ConfirmEditCommand}&amp;quot;&lt;br /&gt;
        EscapeCommand=&amp;quot;{Binding CancelEditCommand}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Grid&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tab name=&amp;quot;DateTime Control UWP&amp;quot;&amp;gt;&lt;br /&gt;
The CalendarControl and TimeControl both have an additional Event called &amp;quot;DateTimeChanged&amp;quot; that is called when confirming a value on the flyoutpickers. &lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;controls:UBIKCalendarControl DateString=&amp;quot;{Binding ValueItem.PropertyValue.Date, Mode=TwoWay}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
        &amp;lt;Core:EventTriggerBehavior EventName=&amp;quot;DateTimeChanged&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Core:InvokeCommandAction Command=&amp;quot;{Binding PropertyViewModel.SaveAndCommitCommand}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/Core:EventTriggerBehavior&amp;gt;&lt;br /&gt;
        &amp;lt;behaviours:KeyEventTriggerBehavior KeyName=&amp;quot;Enter&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Core:InvokeCommandAction Command=&amp;quot;{Binding PropertyViewModel.ConfirmEditCommand}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/behaviours:KeyEventTriggerBehavior&amp;gt;&lt;br /&gt;
    &amp;lt;/Interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
&amp;lt;/controls:UBIKCalendarControl&amp;gt;&lt;br /&gt;
&amp;lt;controls:UBIKTimeControl TimeString=&amp;quot;{Binding ValueItem.PropertyValue.Time, Mode=TwoWay}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
        &amp;lt;Core:EventTriggerBehavior EventName=&amp;quot;DateTimeChanged&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Core:InvokeCommandAction Command=&amp;quot;{Binding PropertyViewModel.SaveAndCommitCommand}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/Core:EventTriggerBehavior&amp;gt;&lt;br /&gt;
        &amp;lt;behaviours:KeyEventTriggerBehavior KeyName=&amp;quot;Enter&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Core:InvokeCommandAction Command=&amp;quot;{Binding PropertyViewModel.ConfirmEditCommand}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/behaviours:KeyEventTriggerBehavior&amp;gt;&lt;br /&gt;
    &amp;lt;/Interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
&amp;lt;/controls:UBIKTimeControl&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tab name=&amp;quot;DateTimeControl Mobile(Xamarin)&amp;quot;&amp;gt;&lt;br /&gt;
The CalendarControl has an additional Event called &amp;quot;DateSelected&amp;quot; that is called when confirming a value on the flyoutpickers. The TimeControl has a similar &amp;quot;TimeSelected&amp;quot; Event (Note that this event may have wrong behaviour on iOS)&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;DatePicker Date=&amp;quot;{Binding PropertyViewModel.ValueItem.PropertyValue.Date, Converter={StaticResource StringToDateTimeTypesConverter}&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;DatePicker.Behaviors&amp;gt;&lt;br /&gt;
      &amp;lt;behaviors:EventToCommandBehavior EventName=&amp;quot;DateSelected&amp;quot;  Command=&amp;quot;{Binding PropertyViewModel.ConfirmEditCommand}&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/DatePicker.Behaviors&amp;gt;&lt;br /&gt;
&amp;lt;/DatePicker&amp;gt;&lt;br /&gt;
&amp;lt;ctrls:TimePickerExt Time=&amp;quot;{Binding PropertyViewModel.ValueItem.PropertyValue.Time, Converter={StaticResource StringToDateTimeTypesConverter}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;ctrls:TimePickerExt.Behaviors&amp;gt;&lt;br /&gt;
    &amp;lt;behaviors:EventToCommandBehavior EventName=&amp;quot;TimeSelected&amp;quot; Command=&amp;quot;{Binding PropertyViewModel.ConfirmEditCommand}&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/ctrls:TimePickerExt.Behaviors&amp;gt;  &lt;br /&gt;
&amp;lt;/ctrls:TimePickerExt&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Property Direct Edit (Client)]]&lt;br /&gt;
[[Category:Mobile|Property Direct Edit (Client)]]&lt;br /&gt;
[[Category:Version 4.0|Property Direct Edit (Client)]]&lt;br /&gt;
[[Category:WinX|Property Direct Edit (Client)]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:UBIK_DirectEditing.png&amp;diff=29816</id>
		<title>File:UBIK DirectEditing.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:UBIK_DirectEditing.png&amp;diff=29816"/>
				<updated>2026-05-07T12:57:27Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_WinX_Client_Basics&amp;diff=29815</id>
		<title>UBIK WinX Client Basics</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_WinX_Client_Basics&amp;diff=29815"/>
				<updated>2026-05-07T12:25:36Z</updated>
		
		<summary type="html">&lt;p&gt;KGR: /* Saving Indicator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{UBIK}} Client is the mobile application for viewing and modifying data, showing documents, starting navigation, visualizing POIs and much more.&lt;br /&gt;
&lt;br /&gt;
Client applications are available for Mobile and WinX, however the features available on each of the platform dependent applications might differ. An overview of the available features can be found in the [[Client_Feature_Table|feature comparison table]].&lt;br /&gt;
&lt;br /&gt;
== Languages ==&lt;br /&gt;
The standard {{UBIK}} client supports multiple languages listed below. {{Version/WinXSince|4.3}}&lt;br /&gt;
* Chinese (Simplified)&lt;br /&gt;
* Czech&lt;br /&gt;
* English&lt;br /&gt;
* German&lt;br /&gt;
* Polish&lt;br /&gt;
* Portuguese&lt;br /&gt;
* Spanish&lt;br /&gt;
{{Attention|As we found out, you can only switch to one of the supported languages if it is installed as a system language in the Windows &amp;quot;Preferred languages / Add a language&amp;quot; setting. For example, if you have only English installed when you install {{UBIK}}, you won't be able to switch to any other languages even if you add those later. In that case, you need to make sure your language of choice is installed in Windows first, then update or reinstall {{UBIK}}. This is a Microsoft Store practice and does not apply to clients installed through sideloading, e.g. from our AppCenter.}}&lt;br /&gt;
&lt;br /&gt;
== Login ==&lt;br /&gt;
Users need to login in order to access confidential data, this can be done in the [[Login View]].&lt;br /&gt;
&lt;br /&gt;
=== Confirm login === &lt;br /&gt;
{{Version/WinXSince|3.6}}&lt;br /&gt;
Certain pages might require to confirm the login data, even if the user is already logged in. This can be done in the following way: The CheckUserOfflineCommand needs to be called with the username and password as parameter, if the login was valid, the CheckUserOfflineSuccess boolean property is set to true, which causes the text &amp;quot;Login confirmed&amp;quot; to appear in the example.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBox&lt;br /&gt;
	x:Name=&amp;quot;Sign01User&amp;quot;&lt;br /&gt;
	DataContext=&amp;quot;{Binding AuthenticationViewModel, Source={StaticResource Locator}}&amp;quot;&lt;br /&gt;
	PlaceholderText=&amp;quot;User&amp;quot;&lt;br /&gt;
	Text=&amp;quot;{Binding UserName}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;PasswordBox&lt;br /&gt;
	x:Name=&amp;quot;Sign01PW&amp;quot;&lt;br /&gt;
	DataContext=&amp;quot;{Binding AuthenticationViewModel, Source={StaticResource Locator}}&amp;quot;&lt;br /&gt;
	PlaceholderText=&amp;quot;Password&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;Button&lt;br /&gt;
	Command=&amp;quot;{Binding CheckUserOfflineCommand}&amp;quot;&lt;br /&gt;
	Content=&amp;quot;Confirm login&amp;quot;&lt;br /&gt;
	DataContext=&amp;quot;{Binding AuthenticationViewModel, Source={StaticResource Locator}}&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;Button.CommandParameter&amp;gt;&lt;br /&gt;
		&amp;lt;uc:KeyValueList&amp;gt;&lt;br /&gt;
			&amp;lt;uc:KeyValueParameter Key=&amp;quot;UserName&amp;quot; Value=&amp;quot;{Binding ElementName=Sign01User, Path=Text}&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;uc:KeyValueParameter Key=&amp;quot;Password&amp;quot; Value=&amp;quot;{Binding ElementName=Sign01PW, Path=Password}&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/uc:KeyValueList&amp;gt;&lt;br /&gt;
	&amp;lt;/Button.CommandParameter&amp;gt;&lt;br /&gt;
&amp;lt;/Button&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;Login confirmed&amp;quot; Visibility=&amp;quot;{Binding AuthenticationViewModel.CheckUserOfflineSuccess, Source={StaticResource Locator}, FallbackValue=false, Converter={StaticResource BoolToVisConverter}}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Profiles ==&lt;br /&gt;
Profiles are used to store connection information for {{UBIK}} services. It specifies the location where to find the service along with other useful informations. Profiles are stored by UBIK whenever the user created connection information and stored it in the settings. However, profiles can also be created and edited with any text editor. Possible settings to be defined are:&lt;br /&gt;
* InternalConnectionSettings: Connections settings how to connect to the Content and the USAM service that has been set up.&lt;br /&gt;
** Application: the [[APPLICATION]] to use with the service&lt;br /&gt;
** AuthenticationPort: Port Number of the authentication (USAM) service (default: 777)&lt;br /&gt;
** AuthenticationProtocol: Protocol of the authentication service (default: https)&lt;br /&gt;
** AuthenticationServer: the ip address of the authentication server&lt;br /&gt;
** AuthenticationService: the path to the authentication service&lt;br /&gt;
** ContentPort: Port Number of the content service (default: 777)&lt;br /&gt;
** ContentProtocol: Protocol of the content service (default: https)&lt;br /&gt;
** ContentServer: the ip address of the content server&lt;br /&gt;
** ContentService: the path to the content service&lt;br /&gt;
** Context: the [[CONTEXT]] to use with the service&lt;br /&gt;
** SyncMode: the used sync mode (Online [= Auto], Manual, Offline; default:Online)&lt;br /&gt;
* IsDefault: true, if the profile should be the default profile&lt;br /&gt;
* Name: the name of the profile (will also be used to identify the database)&lt;br /&gt;
** If the profile name contains invalid characters like: /, &amp;quot;, &amp;lt;, &amp;gt;, ... they will be replaced with %_&lt;br /&gt;
* Project: the project name. Use this to share a single project name with more than one profile. If the project is defined, all profile with the same project will share one database.&lt;br /&gt;
* Customizing: the XAML subfolder to use for customized UI. This parameter can be used to share one single XAML customizing folder for multiple profiles.&lt;br /&gt;
* ShowHiddenSettings: show hidden settings (feault: false)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Profile xmlns:i=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns=&amp;quot;http://schemas.datacontract.org/2004/07/UBIK.WinX.Settings&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Customizing&amp;gt;MYAPPLICATIONUI&amp;lt;/Customizing&amp;gt;&lt;br /&gt;
  &amp;lt;Description i:nil=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;InternalConnectionSettings&amp;gt;&lt;br /&gt;
    &amp;lt;Application&amp;gt;APP_DEMO&amp;lt;/Application&amp;gt;&lt;br /&gt;
    &amp;lt;AuthenticationPort&amp;gt;777&amp;lt;/AuthenticationPort&amp;gt;&lt;br /&gt;
    &amp;lt;AuthenticationProtocol&amp;gt;https&amp;lt;/AuthenticationProtocol&amp;gt;&lt;br /&gt;
    &amp;lt;AuthenticationServer&amp;gt;80.243.175.50&amp;lt;/AuthenticationServer&amp;gt;&lt;br /&gt;
    &amp;lt;AuthenticationService&amp;gt;UBIK/DBG/AUG/DEMO.250/USAM/USAM.svc&amp;lt;/AuthenticationService&amp;gt;&lt;br /&gt;
    &amp;lt;ContentPort&amp;gt;777&amp;lt;/ContentPort&amp;gt;&lt;br /&gt;
    &amp;lt;ContentProtocol&amp;gt;https&amp;lt;/ContentProtocol&amp;gt;&lt;br /&gt;
    &amp;lt;ContentServer&amp;gt;80.243.175.50&amp;lt;/ContentServer&amp;gt;&lt;br /&gt;
    &amp;lt;ContentService&amp;gt;UBIK/DBG/AUG/DEMO.250/CONTENT/UBIKContent.svc&amp;lt;/ContentService&amp;gt;&lt;br /&gt;
    &amp;lt;Context&amp;gt;CXT_DEMO&amp;lt;/Context&amp;gt;&lt;br /&gt;
    &amp;lt;SyncMode&amp;gt;Online&amp;lt;/SyncMode&amp;gt;&lt;br /&gt;
  &amp;lt;/InternalConnectionSettings&amp;gt;&lt;br /&gt;
  &amp;lt;IsDefault&amp;gt;true&amp;lt;/IsDefault&amp;gt;&lt;br /&gt;
  &amp;lt;Name&amp;gt;DEMO.250.AT&amp;lt;/Name&amp;gt;&lt;br /&gt;
  &amp;lt;Project&amp;gt;DEMO.250&amp;lt;/Project&amp;gt;&lt;br /&gt;
  &amp;lt;ShowHiddenSettings&amp;gt;false&amp;lt;/ShowHiddenSettings&amp;gt;&lt;br /&gt;
&amp;lt;/Profile&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Content Browser ==&lt;br /&gt;
Allows to navigate through the entire data model in a hierarchical manner, as it is published by the server.&lt;br /&gt;
&lt;br /&gt;
Initially, a list of objects (&amp;quot;root objects&amp;quot;) is shown. Upon selecting an object, a new browser is opened for that object, showing details about it. When an object is selected in the content browser, it is called the browser's context. For such a contextual object, child objects and selected properties are shown. Also, there is a context menu providing actions related to the currently selected object. &lt;br /&gt;
&lt;br /&gt;
=== Status Bar ===&lt;br /&gt;
==== Saving Indicator ====&lt;br /&gt;
[[File:UBIK_SaveIndicator.png|300 px|thumb|border|alt=Saving Symbol|Saving Symbol]]&lt;br /&gt;
{{Version/WinXSince|2.5.4}}Whenever content is being saved into the local database (for example, after a branch is downloaded from the server), there will be a blinking symbol indicating the saving activity is happening in the background.&lt;br /&gt;
During that time, the user is advised to not logout or close the app because the content might be lost otherwise. However, it is okay to undertake other tasks such as browsing, editing or downloading branches.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:How-To|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:Pages with broken file links|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:WinX|UBIK WinX Client Basics]]&lt;br /&gt;
&lt;br /&gt;
==== Uncommitted Changes Indicator ====&lt;br /&gt;
{{Version/WinXSince|4.6.0}} When there are uncommitted changes it is indicated by a button in the Status Bar displaying an icon and the number of uncommitted changes. Pressing this button opens a fly out list with all of the objects that have uncommitted changes to them. Pressing one of those list objects navigates directly to the corresponding object. The Uncommitted Changes Indicator button is only shown when there are uncommitted changes otherwise it is not visible. When in online mode all changes should be committed automatically so the Indicator is mainly useful in Manual or Offline Sync Mode.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Version/WinXSince|4.7.0}} Queries are now excluded from uncommitted changes.&lt;br /&gt;
&lt;br /&gt;
=== Child Page ===&lt;br /&gt;
&lt;br /&gt;
[[File:UBIK_ChildPage.png|400 px|thumb|border|alt=Child Page|Child Page]]&lt;br /&gt;
&lt;br /&gt;
The child page shows the context of a selected object. &lt;br /&gt;
&lt;br /&gt;
The global status bar shows the icon, the name and the description of the selected object. An arrow on the left side allows the user to navigate back to the parent object. On the right side the currently logged-in user is indicated. By clicking on the username one is able to navigate back to the home screen or log off.&lt;br /&gt;
&lt;br /&gt;
The right side of the child page shows child objects of the current object. Each child object is represented by an icon, a name and a description. With the [[SYSCLS_CHILDINFOOWNER|child info owner classification]], one can additionally show the number of documents and regular grandchildren to be expected for a child object.&lt;br /&gt;
&lt;br /&gt;
On the left side of the child page the current object´s high priority properties are shown. By clicking on a live value property, the live value details dialog opens. By clicking on an editable [[UBIK_WinX_Client_Basics#High_priority_properties| high priority property]], an editor opens {{Version/WinXSince|2.5.4}}. If a property was edited a save button is shown in the lower left corner, allowing the user to commit the changes. If a property of a query object was edited an evaluate button is shown in the lower left corner, allowing the user to run the query with the changed propery.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:How-To|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:Pages with broken file links|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:WinX|UBIK WinX Client Basics]]&lt;br /&gt;
&lt;br /&gt;
=== Properties Page ===&lt;br /&gt;
&lt;br /&gt;
On the properties page, one can see a list of all the current object's visible properties, and, given the respective rights, a possibility to edit them.&lt;br /&gt;
&lt;br /&gt;
=== Context Menu ===&lt;br /&gt;
&lt;br /&gt;
For any current object, there is a set of potential context-sensitive actions. These are displayed as buttons in the title bar, with a three-dot overflow menu button aggregating all the actions that wouldn't fit there anymore. There are many potential actions; some of them are only enabled for specifically classified objects, like objects with a geo location. Default actions are refresh, various download options, child object creation, copy/paste, commit/revert changes, geo-related actions, etc.&lt;br /&gt;
&lt;br /&gt;
=== Objects ===&lt;br /&gt;
&lt;br /&gt;
==== Root objects vs child objects ====&lt;br /&gt;
&lt;br /&gt;
The first entry point in the ''Content Browser'' is the list of root objects.&lt;br /&gt;
&lt;br /&gt;
==== Task objects ====&lt;br /&gt;
&lt;br /&gt;
[[https://wiki.augmensys.com/index.php?title=MRO_Objects_(Client)#Task|Tasks]] and [[https://wiki.augmensys.com/index.php?title=MRO_Objects_(Client)#Work_Package|work packages]] are special types of {{UBIK}} objects used for maintenance, repair and overhaul (MRO) use-cases.&lt;br /&gt;
&lt;br /&gt;
==== Query objects ====&lt;br /&gt;
&lt;br /&gt;
Queries are special types of {{UBIK}} objects with dynamic children. The child objects are looked up depending on the query object's criteria, which can be specified the same as property values for regular objects. There are [[QUERY|online queries]] evaluated by the server, and [[https://wiki.augmensys.com/index.php?title=Offline_Query_(UBIK_WinX)|offline queries]] evaluated on the client, thus requiring no internet connection.&lt;br /&gt;
&lt;br /&gt;
==== Safety relevant objects ====&lt;br /&gt;
&lt;br /&gt;
Object classified as [[SYSCLS_SAFETY_RELEVANT_OBJECT|safety relevant]] require the user to accept safety instructions to access the object, which can be required for hazardous MRO tasks, for example.&lt;br /&gt;
&lt;br /&gt;
==== Commissioning objects ====&lt;br /&gt;
&lt;br /&gt;
Similar to and based on MRO objects, commissioning objects are tasks and work packages for the commissioning use-case, e.g., [[SYSCLS_COMMISSIONINGCHECK|commissioning check tasks]].&lt;br /&gt;
&lt;br /&gt;
==== Locked objects  ====&lt;br /&gt;
In several use-cases, objects can be [[Locked_Objects|locked]] for editing.&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
&lt;br /&gt;
==== Authentication Properties ====&lt;br /&gt;
[[SYSCLS_REQUIRE_AUTHENTICATION|Authentication Properties]] are properties which need a user authentication (through a password field) to be edited.&lt;br /&gt;
&lt;br /&gt;
==== Min max properties ====&lt;br /&gt;
See [[Min_Max_Properties]].&lt;br /&gt;
&lt;br /&gt;
==== Live value properties ====&lt;br /&gt;
[[Live_Values]] are specific property values extracted from a process control system like OPC-UA or OSIPI. &lt;br /&gt;
&lt;br /&gt;
==== High priority properties ====&lt;br /&gt;
High priority properties are properties having a priority higher than the [[Settings#Content |priority threshold]].&lt;br /&gt;
&lt;br /&gt;
==== Selective List Properties ====&lt;br /&gt;
For some properties, the user should be able to select from a predefined set of values. Such a predefined set is called a &amp;quot;selective list&amp;quot; in {{UBIK}}.&lt;br /&gt;
Furthermore, there are [[Dynamic_Selective_List_(Client)|dynamic selective lists]] that can be filtered or assembled based on dependency property values.&lt;br /&gt;
&lt;br /&gt;
{{Hint|{{Version/WinXSince|5.1.0.0}}{{Version/MobileSince|5.1.0.0}} The ItemsSource binding of related WinX/Mobile controls in Xaml now requires only '''PropertyViewModel.SelectiveItems''', which will return the items of an [[Active_List_Client|ActiveList]], or the items of a MetaProperty.SelectiveList, depending on the server-side configuration. In this case, the [[Converters_In_Mobile#List_of_Available_Converters|SelectiveListToItemsConverter]] is outdated and should not be used anymore.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Properties with value records {{Version/WinXSince|2.5.4}} ====&lt;br /&gt;
[[File:UI_WinX_PropertyWithValueRecords.png|thumb|A property with value records]]&lt;br /&gt;
[[File:UI_WinX_PropertyValueRecords.png|thumb|Property value records dialog]]&lt;br /&gt;
In addition to its value, a property might also bring along a series of value records showing &amp;quot;who changed the value at what time&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
When such records exist, the property row shows a special symbol on the right side. After a right click (with mouse) or a long tap (with touch) on the property row, a dialog will be shown to present these records (sorted by their time, recent ones on top).&lt;br /&gt;
&lt;br /&gt;
==== String properties with length restrictions ====&lt;br /&gt;
A string property can be configured with a [[MetaProperty#Text_2|length restriction]]. The client property editing UI doesn't allow users to confirm values exceeding the limit.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
==== [[Editors]] ====&lt;br /&gt;
&lt;br /&gt;
See [[Editors]]&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
UBIK supports and displays document objects and a bunch of actions related to them (editing, redlining, creation, thumbnails, ...).&lt;br /&gt;
See [[Documents_(Client)|Documents (Client)]]&lt;br /&gt;
&lt;br /&gt;
==== Fit Mode{{Version/WinXSince|3.5}} ====&lt;br /&gt;
See [[Documents_(Client)#Fit_Mode|Fit Mode]]&lt;br /&gt;
&lt;br /&gt;
==== Auto zoom {{Version/WinXSince|4.6}}{{Version/XamarinSince|4.6}} ====&lt;br /&gt;
See [[Documents_(Client)#Auto_zoom|Auto zoom]]&lt;br /&gt;
&lt;br /&gt;
==== Editing{{Version/WinXSince|2.5.4}} ====&lt;br /&gt;
See [[Documents_(Client)#Editing|Editing]]&lt;br /&gt;
&lt;br /&gt;
==== Offline availability ====&lt;br /&gt;
See [[Documents_(Client)#Offline/Online|Offline/Online]]&lt;br /&gt;
&lt;br /&gt;
==== Clear Online Documents ====&lt;br /&gt;
[[Documents_(Client)#Offline/Online|Offline/Online]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AR Features ==&lt;br /&gt;
&lt;br /&gt;
=== POI View ===&lt;br /&gt;
Brings up the POI View|Augmented Reality view and displays Points of Interest (POI's) related to the current location of the mobile device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Markerless ===&lt;br /&gt;
&lt;br /&gt;
=== Map View ===&lt;br /&gt;
Opens the Map View and displays Points of Interest (POI's) related to the current location of the mobile device.&lt;br /&gt;
&lt;br /&gt;
== Positioning ==&lt;br /&gt;
{{UBIK}} clients use a [[Location_Manager|Location Manager]] in order to gain knowledge about their position, so it can help the user navigate to his/her target.&lt;br /&gt;
&lt;br /&gt;
The user can choose one of different positioning modes optimized for different environments.&lt;br /&gt;
Most of them incorporate multiple technologies for calculating positions or checking their reliability.&lt;br /&gt;
&lt;br /&gt;
=== Positioning modes ===&lt;br /&gt;
&lt;br /&gt;
* ''Use all'' - uses all available position sources&lt;br /&gt;
* ''LLA only mode'' - used for positioning using markers only&lt;br /&gt;
* ''Beacon Proximity mode'' - uses iBeacon proximity and LLA only&lt;br /&gt;
&lt;br /&gt;
=== Technologies ===&lt;br /&gt;
&lt;br /&gt;
==== GPS ==== &lt;br /&gt;
GPS is used as a primary positioning input source for outdoor areas. Its precision depends on the environment and satellite availability. With good circumstances, the accuracy varies between 1 and 10 meters.&lt;br /&gt;
&lt;br /&gt;
==== LLA markers ==== &lt;br /&gt;
LLA markers basically are QR codes with location data encoded into them - which can be used for positioning when they are scanned.&lt;br /&gt;
&lt;br /&gt;
==== Object Proximity Positioning ====&lt;br /&gt;
The location of nearby Geo-Objects can be used for positioning.&lt;br /&gt;
&lt;br /&gt;
The position of a Geo-Object can be used manually by pushing the button {{key press|Use Location}} in the [[UBIK_WinX_Client_Basics#Context_Menu|Context Menu]]. &lt;br /&gt;
&lt;br /&gt;
The geo information of an object gets used automatically if exactly one single object is found through scanning. If more objects are found, their geo information doesn´t get used. Scanning includes  [[UBIK Client Basics#Bar Code|Bar Code]], [[UBIK Client Basics#QR Code|QR Code]], [[UBIK Client Basics#OCR|OCR]] and [[UBIK Client Basics#RFID|RFID]]. The automatic use of Geo-Object´s location can be turned off by disabling the &amp;quot;EnableObjectProximityPositioning&amp;quot; setting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Beacon-Proximity Positioning ====&lt;br /&gt;
The Beacon Proximity Mode detects if the user is in the proximity of a beacon. The proximity region is defined by a proximity distance which creates a sphere around the beacon. Whenever the calculated distance to a beacon is smaller than the proximity distance, the user is supposed to be at the position of the beacon. If multiple regions intersect the user is supposed to be at the position of the nearest beacon. &lt;br /&gt;
In order to use Beacon Proximity as a Positioning System, Bluetooth Low Energy has to be available and enabled on the mobile device. If a new environment should be equipped with iBeacon-Positioning, an expert has to mount iBeacons on known positions and calibrate the propagation factor of these beacons. Proximity beacons can be configured using [[SYSCLS_PROXIMITY_BEACON]]. {{Version/WinXSince|UWP}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Finding Objects ==&lt;br /&gt;
=== Free Text Search ===&lt;br /&gt;
&lt;br /&gt;
=== ID Marker ===&lt;br /&gt;
&lt;br /&gt;
=== QR Code ===&lt;br /&gt;
&lt;br /&gt;
=== Bar Code ===&lt;br /&gt;
&lt;br /&gt;
=== RFID Code ===&lt;br /&gt;
Provides a fast and convenient way for users to find objects that are identifiable through [[RFID tags|RFID tags]].&lt;br /&gt;
&lt;br /&gt;
=== OCR ===&lt;br /&gt;
&lt;br /&gt;
== Linked objects == &lt;br /&gt;
{{Version/WinXSince|3.6}}&lt;br /&gt;
It is possible to display values of linked objects by using the &amp;quot;LinkedLevel&amp;quot; property. An example can be seen here, where Items[0] is a Guid property linking to another object. The ItemsControl then binds to the Properties of the linked object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Grid DataContext=&amp;quot;{Binding Properties.Items[0].LinkedLevel}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ItemsControl ItemsSource=&amp;quot;{Binding Properties.AllItems}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Grid&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Client_Feature_Table]]&lt;br /&gt;
* [[SYSCLS_DOCUMENT_FITMODE]]&lt;br /&gt;
* [[SYSCLS_SHOWDOCUMENTS]]&lt;br /&gt;
* [[SYSCLS_SHOWPROPERTIES]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:How-To|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:Pages with broken file links|UBIK WinX Client Basics]]&lt;br /&gt;
[[Category:WinX|UBIK WinX Client Basics]]&lt;/div&gt;</summary>
		<author><name>KGR</name></author>	</entry>

	</feed>