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

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=What_is_UBIK&amp;diff=29452</id>
		<title>What is UBIK</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=What_is_UBIK&amp;diff=29452"/>
				<updated>2026-03-04T12:23:54Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{otherlang&lt;br /&gt;
| title=What is UBIK&lt;br /&gt;
| de=Was ist UBIK&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{UBIK}} is a powerful platform for creating Augmented Reality–enabled mobile solutions designed for industrial environments.&lt;br /&gt;
&lt;br /&gt;
It enables the development of flexible, high‑performance object models that unify data from virtually any source—whether imported once, synchronized regularly, or retrieved on demand. These models are published through a WebService and can be consumed by {{UBIK}} mobile devices, which overlay geo‑ or marker-referenced information as intuitive AR bubbles directly in the camera view.&lt;br /&gt;
&lt;br /&gt;
[[File:IL_ProjectFlow.png|500px]]&lt;br /&gt;
&lt;br /&gt;
=={{UBIK}} Highlights==&lt;br /&gt;
&lt;br /&gt;
[[Design object-oriented data models]]&lt;br /&gt;
*Use [[Polymorphism]] and [[inheritance]] to build rich, reusable [[UBIK objects|UBIK object]] models&lt;br /&gt;
*Define arbitrary [[relations]] between objects&lt;br /&gt;
*Implement runtime behavior in [[:Category:Coding|native code]] or visual [[:Category:Workflow|Workflows]]&lt;br /&gt;
*Configure [[Views]] to shape how users experience the objects&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Release data model]]&lt;br /&gt;
*[[Compiler|Compile]] object models into native code and relational structures&lt;br /&gt;
*Navigate data object‑oriented while benefiting from the integrity and performance of an RDBMS&lt;br /&gt;
*Deploy to on‑premise infrastructure, the cloud, or hybrid environments&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Interface to data sources]]&lt;br /&gt;
*Integrate using standard [[:Category:Interfacing|interfaces]] such as ISO15926&lt;br /&gt;
*Create custom interface plugins for any available data source&lt;br /&gt;
*Use [[Proxy|proxies]] to manage data versions and consistency&lt;br /&gt;
*Control interface behavior and data consolidation workflows&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Publish data model]]&lt;br /&gt;
*Define [[Application Context Management|application contexts]] and role‑based access&lt;br /&gt;
*Link contexts to views for tailored user experiences&lt;br /&gt;
*Push updates to mobile devices instantly&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Use data in the field]]&lt;br /&gt;
*Aim a mobile device at objects to access information instantly&lt;br /&gt;
*Drill down into detailed data—fast, secure, and always up‑to‑date&lt;br /&gt;
*Work with the full published data model directly on the device&lt;br /&gt;
*Edit information on site and sync it back to the server and source systems&lt;br /&gt;
*Capture photos or voice notes to enrich your data&lt;br /&gt;
*Teach in new objects directly in the field using geo‑positioning&lt;br /&gt;
&lt;br /&gt;
[[Category:UBIK|What is UBIK]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=What_is_UBIK&amp;diff=29451</id>
		<title>What is UBIK</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=What_is_UBIK&amp;diff=29451"/>
				<updated>2026-03-04T12:22:57Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{otherlang&lt;br /&gt;
| title=What is UBIK&lt;br /&gt;
| de=Was ist UBIK&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{UBIK}} is a powerful platform for creating Augmented Reality–enabled mobile solutions designed for industrial environments.&lt;br /&gt;
&lt;br /&gt;
It enables the development of flexible, high‑performance object models that unify data from virtually any source—whether imported once, synchronized regularly, or retrieved on demand. These models are published through a WebService and can be consumed by {{UBIK}} mobile devices, which overlay geo‑referenced information as intuitive AR bubbles directly in the camera view.&lt;br /&gt;
&lt;br /&gt;
[[File:IL_ProjectFlow.png|500px]]&lt;br /&gt;
&lt;br /&gt;
=={{UBIK}} Highlights==&lt;br /&gt;
&lt;br /&gt;
[[Design object-oriented data models]]&lt;br /&gt;
*Use [[Polymorphism]] and [[inheritance]] to build rich, reusable [[UBIK objects|UBIK object]] models&lt;br /&gt;
*Define arbitrary [[relations]] between objects&lt;br /&gt;
*Implement runtime behavior in [[:Category:Coding|native code]] or visual [[:Category:Workflow|Workflows]]&lt;br /&gt;
*Configure [[Views]] to shape how users experience the objects&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Release data model]]&lt;br /&gt;
*[[Compiler|Compile]] object models into native code and relational structures&lt;br /&gt;
*Navigate data object‑oriented while benefiting from the integrity and performance of an RDBMS&lt;br /&gt;
*Deploy to on‑premise infrastructure, the cloud, or hybrid environments&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Interface to data sources]]&lt;br /&gt;
*Integrate using standard [[:Category:Interfacing|interfaces]] such as ISO15926&lt;br /&gt;
*Create custom interface plugins for any available data source&lt;br /&gt;
*Use [[Proxy|proxies]] to manage data versions and consistency&lt;br /&gt;
*Control interface behavior and data consolidation workflows&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Publish data model]]&lt;br /&gt;
*Define [[Application Context Management|application contexts]] and role‑based access&lt;br /&gt;
*Link contexts to views for tailored user experiences&lt;br /&gt;
*Push updates to mobile devices instantly&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Use data in the field]]&lt;br /&gt;
*Aim a mobile device at objects to access information instantly&lt;br /&gt;
*Drill down into detailed data—fast, secure, and always up‑to‑date&lt;br /&gt;
*Work with the full published data model directly on the device&lt;br /&gt;
*Edit information on site and sync it back to the server and source systems&lt;br /&gt;
*Capture photos or voice notes to enrich your data&lt;br /&gt;
*Teach in new objects directly in the field using geo‑positioning&lt;br /&gt;
&lt;br /&gt;
[[Category:UBIK|What is UBIK]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=What_is_UBIK&amp;diff=29296</id>
		<title>What is UBIK</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=What_is_UBIK&amp;diff=29296"/>
				<updated>2026-02-04T15:57:01Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{otherlang&lt;br /&gt;
| title=What is UBIK&lt;br /&gt;
| de=Was ist UBIK&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{UBIK}} is a comprehensive product for enabling Augmented Reality supported mobile solutions in industrial environments. &lt;br /&gt;
&lt;br /&gt;
It allows the creation of flexible, high performance object models that are capable of consolidating data from almost any sources, either as a onetime effort, on a frequent basis or just on demand whenever it is needed. These models are exposed to a WebService and can be subscribed by {{UBIK}} mobile devices, which crossfade the objects as bubbles into the camera view, based on their geo-position.&lt;br /&gt;
&lt;br /&gt;
[[File:IL_ProjectFlow.png|500px]]&lt;br /&gt;
&lt;br /&gt;
=={{UBIK}} Features==&lt;br /&gt;
&lt;br /&gt;
[[Design object-oriented data models]]&lt;br /&gt;
*Use [[Polymorphism]] and [[inheritance]] to create [[UBIK objects]]&lt;br /&gt;
*Define arbitrary [[relations]] between objects&lt;br /&gt;
*Program runtime behavior of your objects in [[:Category:Coding|native code]] or visual [[:Category:Workflow|Workflows]]&lt;br /&gt;
*Configure [[Views]] to control how users see the objects &lt;br /&gt;
&lt;br /&gt;
[[Release data model]]&lt;br /&gt;
*[[Compiler|Compile]] object model to native code and relational data&lt;br /&gt;
*Navigate through data still object-oriented, but with the integrity and performance of an RDBMS&lt;br /&gt;
*Deploy to on-premise infrastructure and/or the cloud&lt;br /&gt;
&lt;br /&gt;
[[Interface to data sources]]&lt;br /&gt;
*Leverage standard [[:Category:Interfacing|interfaces]], i.e. ISO15926&lt;br /&gt;
*Create custom interface plugins, to any available source&lt;br /&gt;
*Use [[Proxy|proxies]] to control your data versions&lt;br /&gt;
*Manage interface behavior and consolidation workflows &lt;br /&gt;
&lt;br /&gt;
[[Publish data model]]&lt;br /&gt;
*Define [[Application Context Management|contexts for applications]] and/or roles&lt;br /&gt;
*Link contexts to views&lt;br /&gt;
*Interact with mobile devices at the push of a button &lt;br /&gt;
&lt;br /&gt;
[[Use data in the field]]&lt;br /&gt;
*Aim mobile device on objects and get information instantly&lt;br /&gt;
*Zoom into more detailed information, fast and secure&lt;br /&gt;
*Have access to the full published data model of the server&lt;br /&gt;
*Edit data in the field and save it back to the server, thus even to the sources&lt;br /&gt;
*Record pictures or voice messages and enrich your data input&lt;br /&gt;
*Teach in new objects directly in the field, based on your geo-position&lt;br /&gt;
&lt;br /&gt;
[[Category:UBIK|What is UBIK]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=AI_Assist&amp;diff=29144</id>
		<title>AI Assist</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=AI_Assist&amp;diff=29144"/>
				<updated>2025-11-13T10:52:23Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|AI Support is currently a preview feature and not available in an official product release. Please contact us to get access to a respective version!}}&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
All AI functionality in {{UBIK}} requires Internet connectivity, so there is no offline support for these features. The AI features are based and built for an Azure OpenAI deployment with a GPT4.1 model, other models are currently not supported.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
Configuration of the AI can be achieved by a designated object in the infrastructure of the App/Context of the use case that needs AI support. The object needs to have the UID &amp;lt;code&amp;gt;D4F3E8C2-5B6A-4F2A-9C1E-1234567890AB&amp;lt;/code&amp;gt; and carry a string property with the name &amp;lt;code&amp;gt;AICONFIG&amp;lt;/code&amp;gt;. On this property a JSON configuration can be stored, that has the following structure:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;API_URI&amp;quot;: &amp;quot;https://api.example.com/v1/ai&amp;quot;,&lt;br /&gt;
  &amp;quot;API_KEY&amp;quot;: &amp;quot;your-api-key-here&amp;quot;,&lt;br /&gt;
  &amp;quot;AddToPrompt&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;API_URI&amp;lt;/code&amp;gt; The URL to your Azure OpenAI endpoint&lt;br /&gt;
* &amp;lt;code&amp;gt;API_KEY&amp;lt;/code&amp;gt; The API key of your Azure OpenAI deployment&lt;br /&gt;
* &amp;lt;code&amp;gt;AddToPrompt&amp;lt;/code&amp;gt; A natural text you want to add to the system prompt, which can be used to fine tune the AI. '''Example:''' for the Context AI Assistant it could be set to ''&amp;quot;Add 'Your friendly AI Assistant.' in a random language to every ResponseText&amp;quot;''. From there on, every reply from the AI would be amendend with this phrase translated into a language of it's choice.&lt;br /&gt;
&lt;br /&gt;
{{Attention|If there's no configuration object found in the infrastructure, the AI will fall back to use Augmensys' demo OpenAI deployment!}}&lt;br /&gt;
&lt;br /&gt;
== BPM AI Assistant ==&lt;br /&gt;
This is an assistant trained for creating checklist in BPM format, in conjunction with upcoming graphical Procedure Designer for Web Clients.&lt;br /&gt;
&lt;br /&gt;
== Context AI Assistant ==&lt;br /&gt;
This is an assistant for mobile clients, that allows to discuss the current context object (the object the user currently looks at on teh mobile device) with the AI. It is also capable of modifying properties of this context object, in the name of the currently logged in user.&lt;br /&gt;
&lt;br /&gt;
=== XAML customizing ===&lt;br /&gt;
&lt;br /&gt;
{{Attention|The AIAssistant control is currently only available for AI-enabled [[Version 5.0 (MAUI)|MAUI]] clients!}}&lt;br /&gt;
&lt;br /&gt;
The AIAssistant needs to be placed somewhere in [[XAML]] customizing, this example shows how to put it in an additional tab after the default Children, Properties and Documents tab in ''UBIKContentArea.xamlx'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
xmlns:ai=&amp;quot;clr-namespace:UBIK.MAUI.Controls.AI;assembly=UBIK.MAUI&amp;quot;&lt;br /&gt;
&amp;lt;tabView:SfTabItem&amp;gt;&lt;br /&gt;
    &amp;lt;tabView:SfTabItem.ImageSource&amp;gt;&lt;br /&gt;
        &amp;lt;FontImageSource Glyph=&amp;quot;&amp;amp;#xF0E6;&amp;quot; FontFamily=&amp;quot;{StaticResource FASymbols}&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/tabView:SfTabItem.ImageSource&amp;gt;&lt;br /&gt;
    &amp;lt;tabView:SfTabItem.Content&amp;gt;&lt;br /&gt;
        &amp;lt;ai:AIAssistant /&amp;gt;&lt;br /&gt;
    &amp;lt;/tabView:SfTabItem.Content&amp;gt;&lt;br /&gt;
    &amp;lt;tabView:SfTabItem.Triggers&amp;gt;&lt;br /&gt;
        &amp;lt;DataTrigger TargetType=&amp;quot;tabView:SfTabItem&amp;quot; Binding=&amp;quot;{Binding SelectedIndex, Source={x:Reference ContentTabs}}&amp;quot; Value=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Setter Property=&amp;quot;Header&amp;quot; Value=&amp;quot;AI Assistant&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/DataTrigger&amp;gt;&lt;br /&gt;
     &amp;lt;/tabView:SfTabItem.Triggers&amp;gt;&lt;br /&gt;
&amp;lt;/tabView:SfTabItem&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=AI_Assist&amp;diff=29141</id>
		<title>AI Assist</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=AI_Assist&amp;diff=29141"/>
				<updated>2025-11-13T09:52:07Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: /* Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|AI Support is currently a preview feature and not available in an official product release. Please contact us to get access to a respective version!}}&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
All AI functionality in {{UBIK}} requires Internet connectivity, so there is no offline support for these features. The AI features are based and built for an Azure OpenAI deployment with a GPT4.1 model, other models are currently not supported.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
Configuration of the AI can be achieved by a designated object in the infrastructure of the App/Context of the use case that needs AI support. The object needs to have the UID &amp;lt;code&amp;gt;D4F3E8C2-5B6A-4F2A-9C1E-1234567890AB&amp;lt;/code&amp;gt; and carry a string property with the name &amp;lt;code&amp;gt;AICONFIG&amp;lt;/code&amp;gt;. On this property a JSON configuration can be stored, that has the following structure:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;API_URI&amp;quot;: &amp;quot;https://api.example.com/v1/ai&amp;quot;,&lt;br /&gt;
  &amp;quot;API_KEY&amp;quot;: &amp;quot;your-api-key-here&amp;quot;,&lt;br /&gt;
  &amp;quot;AddToPrompt&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;API_URI&amp;lt;/code&amp;gt; The URL to your Azure OpenAI endpoint&lt;br /&gt;
* &amp;lt;code&amp;gt;API_KEY&amp;lt;/code&amp;gt; The API key of your Azure OpenAI deployment&lt;br /&gt;
* &amp;lt;code&amp;gt;AddToPrompt&amp;lt;/code&amp;gt; A natural text you want to add to the system prompt, which can be used to fine tune the AI. '''Example:''' for the Context AI Assistant it could be set to ''&amp;quot;Add 'Your friendly AI Assistant.' in a random language to every ResponseText&amp;quot;''. From there on, every reply from the AI would be amendend with this phrase translated into a language of it's choice.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== BPM AI Assistant ==&lt;br /&gt;
This is an assistant trained for creating checklist in BPM format, in conjunction with upcoming graphical Procedure Designer for Web Clients.&lt;br /&gt;
&lt;br /&gt;
== Context AI Assistant ==&lt;br /&gt;
This is an assistant for mobile clients, that allows to discuss the current context object (the object the user currently looks at on teh mobile device) with the AI. It is also capable of modifying properties of this context object, in the name of the currently logged in user.&lt;br /&gt;
&lt;br /&gt;
=== XAML customizing ===&lt;br /&gt;
&lt;br /&gt;
{{Attention|The AIAssistant control is currently only available for AI-enabled [[Version 5.0 (MAUI)|MAUI]] clients!}}&lt;br /&gt;
&lt;br /&gt;
The AIAssistant needs to be placed somewhere in [[XAML]] customizing, this example shows how to put it in an additional tab after the default Children, Properties and Documents tab in ''UBIKContentArea.xamlx'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
xmlns:ai=&amp;quot;clr-namespace:UBIK.MAUI.Controls.AI;assembly=UBIK.MAUI&amp;quot;&lt;br /&gt;
&amp;lt;tabView:SfTabItem&amp;gt;&lt;br /&gt;
    &amp;lt;tabView:SfTabItem.ImageSource&amp;gt;&lt;br /&gt;
        &amp;lt;FontImageSource Glyph=&amp;quot;&amp;amp;#xF0E6;&amp;quot; FontFamily=&amp;quot;{StaticResource FASymbols}&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/tabView:SfTabItem.ImageSource&amp;gt;&lt;br /&gt;
    &amp;lt;tabView:SfTabItem.Content&amp;gt;&lt;br /&gt;
        &amp;lt;ai:AIAssistant /&amp;gt;&lt;br /&gt;
    &amp;lt;/tabView:SfTabItem.Content&amp;gt;&lt;br /&gt;
    &amp;lt;tabView:SfTabItem.Triggers&amp;gt;&lt;br /&gt;
        &amp;lt;DataTrigger TargetType=&amp;quot;tabView:SfTabItem&amp;quot; Binding=&amp;quot;{Binding SelectedIndex, Source={x:Reference ContentTabs}}&amp;quot; Value=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Setter Property=&amp;quot;Header&amp;quot; Value=&amp;quot;AI Assistant&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/DataTrigger&amp;gt;&lt;br /&gt;
     &amp;lt;/tabView:SfTabItem.Triggers&amp;gt;&lt;br /&gt;
&amp;lt;/tabView:SfTabItem&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=AI_Assist&amp;diff=29140</id>
		<title>AI Assist</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=AI_Assist&amp;diff=29140"/>
				<updated>2025-11-13T09:49:58Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|AI Support is currently a preview feature and not available in an official product release. Please contact us to get access to a respective version!}}&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
All AI functionality in {{UBIK}} requires Internet connectivity, so there is no offline support for these features. The AI features are based and built for an Azure OpenAI deployment with a GPT4.1 model, other models are currently not supported.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
Configuration of the AI can be achieved by a designated object in the infrastructure of the App/Context of the use case that needs AI support. The object needs to have the UID &amp;lt;code&amp;gt;D4F3E8C2-5B6A-4F2A-9C1E-1234567890AB&amp;lt;/code&amp;gt; and carry a string property with the name &amp;lt;code&amp;gt;AICONFIG&amp;lt;/code&amp;gt;. On this property a JSON configuration can be stored, that has the following structure:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;API_URI&amp;quot;: &amp;quot;https://api.example.com/v1/ai&amp;quot;,&lt;br /&gt;
  &amp;quot;API_KEY&amp;quot;: &amp;quot;your-api-key-here&amp;quot;,&lt;br /&gt;
  &amp;quot;AddToPrompt&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;API_URI&amp;lt;/code&amp;gt; The URL to your Azure OpenAI endpoint&lt;br /&gt;
* &amp;lt;code&amp;gt;API_KEY&amp;lt;/code&amp;gt; The API key of your Azure OpenAI deployment&lt;br /&gt;
* &amp;lt;code&amp;gt;AddToPrompt&amp;lt;/code&amp;gt; A natural text you want to add to the system prompt, which can be used to fine tune the AI. Example: for the Context AI Assistant it could be set to ''&amp;quot;Add 'Your friendly AI Assistant.' in a random language to every ResponseText&amp;quot;''. From there on, every reply from the AI would be amendend with this phrase translated into a language f it's choice.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== BPM AI Assistant ==&lt;br /&gt;
This is an assistant trained for creating checklist in BPM format, in conjunction with upcoming graphical Procedure Designer for Web Clients.&lt;br /&gt;
&lt;br /&gt;
== Context AI Assistant ==&lt;br /&gt;
This is an assistant for mobile clients, that allows to discuss the current context object (the object the user currently looks at on teh mobile device) with the AI. It is also capable of modifying properties of this context object, in the name of the currently logged in user.&lt;br /&gt;
&lt;br /&gt;
=== XAML customizing ===&lt;br /&gt;
&lt;br /&gt;
{{Attention|The AIAssistant control is currently only available for AI-enabled [[Version 5.0 (MAUI)|MAUI]] clients!}}&lt;br /&gt;
&lt;br /&gt;
The AIAssistant needs to be placed somewhere in [[XAML]] customizing, this example shows how to put it in an additional tab after the default Children, Properties and Documents tab in ''UBIKContentArea.xamlx'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
xmlns:ai=&amp;quot;clr-namespace:UBIK.MAUI.Controls.AI;assembly=UBIK.MAUI&amp;quot;&lt;br /&gt;
&amp;lt;tabView:SfTabItem&amp;gt;&lt;br /&gt;
    &amp;lt;tabView:SfTabItem.ImageSource&amp;gt;&lt;br /&gt;
        &amp;lt;FontImageSource Glyph=&amp;quot;&amp;amp;#xF0E6;&amp;quot; FontFamily=&amp;quot;{StaticResource FASymbols}&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/tabView:SfTabItem.ImageSource&amp;gt;&lt;br /&gt;
    &amp;lt;tabView:SfTabItem.Content&amp;gt;&lt;br /&gt;
        &amp;lt;ai:AIAssistant /&amp;gt;&lt;br /&gt;
    &amp;lt;/tabView:SfTabItem.Content&amp;gt;&lt;br /&gt;
    &amp;lt;tabView:SfTabItem.Triggers&amp;gt;&lt;br /&gt;
        &amp;lt;DataTrigger TargetType=&amp;quot;tabView:SfTabItem&amp;quot; Binding=&amp;quot;{Binding SelectedIndex, Source={x:Reference ContentTabs}}&amp;quot; Value=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Setter Property=&amp;quot;Header&amp;quot; Value=&amp;quot;AI Assistant&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/DataTrigger&amp;gt;&lt;br /&gt;
     &amp;lt;/tabView:SfTabItem.Triggers&amp;gt;&lt;br /&gt;
&amp;lt;/tabView:SfTabItem&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=AI_Assist&amp;diff=29138</id>
		<title>AI Assist</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=AI_Assist&amp;diff=29138"/>
				<updated>2025-11-13T09:45:00Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: Created page with &amp;quot;{{Attention|AI Support is currently a preview feature and not available in an official product release. Please contact us to get access to a respective version!}}  == General...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|AI Support is currently a preview feature and not available in an official product release. Please contact us to get access to a respective version!}}&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
All AI functionality in {{UBIK}} requires Internet connectivity, so there is no offline support for these features. &lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
Configuration of the AI can be achieved by a designated object in the infrastructure of the App/Context of the use case that needs AI support. The object needs to have the UID &amp;lt;code&amp;gt;D4F3E8C2-5B6A-4F2A-9C1E-1234567890AB&amp;lt;/code&amp;gt; and carry a string property with the name &amp;lt;code&amp;gt;AICONFIG&amp;lt;/code&amp;gt;. On this property a JSON configuration can be stored, that has the following structure:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;API_URI&amp;quot;: &amp;quot;https://api.example.com/v1/ai&amp;quot;,&lt;br /&gt;
  &amp;quot;API_KEY&amp;quot;: &amp;quot;your-api-key-here&amp;quot;,&lt;br /&gt;
  &amp;quot;AddToPrompt&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;API_URI&amp;lt;/code&amp;gt; The URL to your Azure OpenAI endpoint&lt;br /&gt;
* &amp;lt;code&amp;gt;API_KEY&amp;lt;/code&amp;gt; The API key of your Azure OpenAI deployment&lt;br /&gt;
* &amp;lt;code&amp;gt;AddToPrompt&amp;lt;/code&amp;gt; A natural text you want to add to the system prompt, which can be used to fine tune the AI. Example: for the Context AI Assistant it could be set to ''&amp;quot;Add 'Your friendly AI Assistant.' in a random language to every ResponseText&amp;quot;''. From there on, every reply from the AI would be amendend with this phrase translated into a language f it's choice.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== BPM AI Assistant ==&lt;br /&gt;
This is an assistant trained for creating checklist in BPM format, in conjunction with upcoming graphical Procedure Designer for Web Clients.&lt;br /&gt;
&lt;br /&gt;
== Context AI Assistant ==&lt;br /&gt;
This is an assistant for mobile clients, that allows to discuss the current context object (the object the user currently looks at on teh mobile device) with the AI. It is also capable of modifying properties of this context object, in the name of the currently logged in user.&lt;br /&gt;
&lt;br /&gt;
=== XAML customizing ===&lt;br /&gt;
&lt;br /&gt;
{{Attention|The AIAssistant control is currently only available for AI-enabled [[Version 5.0 (MAUI)|MAUI]] clients!}}&lt;br /&gt;
&lt;br /&gt;
The AIAssistant needs to be placed somewhere in [[XAML]] customizing, this example shows how to put it in an additional tab after the default Children, Properties and Documents tab in ''UBIKContentArea.xamlx'':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
xmlns:ai=&amp;quot;clr-namespace:UBIK.MAUI.Controls.AI;assembly=UBIK.MAUI&amp;quot;&lt;br /&gt;
&amp;lt;tabView:SfTabItem&amp;gt;&lt;br /&gt;
    &amp;lt;tabView:SfTabItem.ImageSource&amp;gt;&lt;br /&gt;
        &amp;lt;FontImageSource Glyph=&amp;quot;&amp;amp;#xF0E6;&amp;quot; FontFamily=&amp;quot;{StaticResource FASymbols}&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/tabView:SfTabItem.ImageSource&amp;gt;&lt;br /&gt;
    &amp;lt;tabView:SfTabItem.Content&amp;gt;&lt;br /&gt;
        &amp;lt;ai:AIAssistant /&amp;gt;&lt;br /&gt;
    &amp;lt;/tabView:SfTabItem.Content&amp;gt;&lt;br /&gt;
    &amp;lt;tabView:SfTabItem.Triggers&amp;gt;&lt;br /&gt;
        &amp;lt;DataTrigger TargetType=&amp;quot;tabView:SfTabItem&amp;quot; Binding=&amp;quot;{Binding SelectedIndex, Source={x:Reference ContentTabs}}&amp;quot; Value=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Setter Property=&amp;quot;Header&amp;quot; Value=&amp;quot;AI Assistant&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/DataTrigger&amp;gt;&lt;br /&gt;
     &amp;lt;/tabView:SfTabItem.Triggers&amp;gt;&lt;br /&gt;
&amp;lt;/tabView:SfTabItem&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=Version_5&amp;diff=29137</id>
		<title>Version 5</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=Version_5&amp;diff=29137"/>
				<updated>2025-11-13T09:07:30Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{RoadmapDetailHeader}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{RoadmapDetailItem &lt;br /&gt;
| version=5.1&lt;br /&gt;
| date= December 2025&lt;br /&gt;
| status={{RoadmapChip-Announced|Future}} &lt;br /&gt;
| content=&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Studio}} | feature=Extended Plugin C# solution generation| descr=Possibility to design MetaClasses, MetaProperties and Custom Code for a UBIK plugin and generate a C# solution for it. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Mobile}} | feature=Map view in mobile MAUI client | descr= }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Mobile}} | feature=Charts in mobile MAUI client | descr= }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Mobile}} | feature=Native push in mobile MAUI client | descr= }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Mobile}} | feature=POI view in mobile MAUI client | descr= }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Mobile}} | feature=Location service in mobile MAUI client | descr= }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Client}} | feature=Better control over file upload size | descr= }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Client}} | feature=Harder-to-miss branch download summary | descr= }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Client}} | feature=Improved save button design | descr= }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{RoadmapDetailItem &lt;br /&gt;
| version=5.0&lt;br /&gt;
| date= September 2025&lt;br /&gt;
| status={{RoadmapChip-Announced|Current}} &lt;br /&gt;
| content=&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Studio}} | feature=Basic Plugin C# solution generation| descr=Possibility to configure plugins in UBIK.Studio, and to generate a C# solution from this configuration. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Server}} | feature=Server MRO Procedures | descr=Introduces server-side support for managing and executing MRO (Maintenance, Repair, Overhaul) procedures. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Mobile}} | feature=Mobile UBIK .NET MAUI Client | descr=Modernized UBIK mobile application built with .NET MAUI for cross-platform compatibility and improved performance. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Client}} | feature=Improved branch download performance | descr=Improved the branch download performance especially when there are duplicate objects in multiple branches. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Studio}} | feature=Studio Iterative Instance Data Transfer in SmartStudio | descr=Enables transferring instance data between environments or projects using iterative and controlled processes. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Studio}} | feature=Studio Text-Markup Annotations support opacity now | descr=Annotations in SmartStudio now support opacity settings for better visual clarity and flexibility. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Server}} | feature=Server UBIK supports the Exclusive Checkout Query now | descr=Enhances UBIK's versioning control with support for exclusive checkouts via query. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Server}} | feature=Server Extended Archon License Information | descr=Archon licenses now include more detailed metadata and management information on the server. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-CUI}} | feature=Log CUI Web Request V2 | descr=Improved logging of CUI web requests for better traceability and debugging. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Server}} | feature=Server UBIK Traits | descr=New support for defining and using Traits in the UBIK Server model - &amp;quot;Lightweight Properties&amp;quot; }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-MaTaP}} | feature=MaTaP Blind List Management | descr=Adds functionality for blind list handling in MaTaP, improving confidentiality and targeting. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Studio}} | feature=Bulk Editor UID Column | descr=A UID column can now be shown in UBIK.Studio's BulkEditor. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Studio}} | feature=Load &amp;amp; Save Code in WhoBert | descr=WhoBert now provides a rich &amp;quot;Load &amp;amp; Save Code&amp;quot; feature. }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 5]]&lt;br /&gt;
[[Category:Release notes|Version 5]]&lt;br /&gt;
[[Category:Roadmap|Version 5]]&lt;br /&gt;
[[Category:Server|Version 5]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=Version_5.0_(Mobile)&amp;diff=28891</id>
		<title>Version 5.0 (Mobile)</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=Version_5.0_(Mobile)&amp;diff=28891"/>
				<updated>2025-09-30T15:53:07Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: /* Known issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|Existing pre 5.0 XAMLs are not compatible with UBIK Mobile client 5.0. 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.0.? on 2025-10-? {{key press|Android: Store}}{{key press|iOS: Store}} ===&lt;br /&gt;
* Updated the notification message about branch download to avoid misunderstanding. When a branch download is in progress, you can work with the offline data which is already available at the time of the download, but any communication with the content server will be scheduled after the branch download is finished.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 5.0.209 on 2025-09-27 {{key press|Android: Store}} 5.0.207 on 2025-09-25 {{key press|iOS: Store}} ===&lt;br /&gt;
* UBIK GO is the cutting-edge evolution of Augmensys' trusted mobile client — rebuilt from the ground up with a modern architecture that unlocks unprecedented flexibility.&lt;br /&gt;
* Improved the branch download performance especially when there are duplicate objects in multiple branches.&lt;br /&gt;
* Updated some translations.&lt;br /&gt;
* Updated the default Demo profile.&lt;br /&gt;
* Fixed an issue that triggered a license warning even on a failed login.&lt;br /&gt;
* Fixed an issue where the wizard is shown again when you navigate to a new but saved object offline.&lt;br /&gt;
* Fixed an issue where duplicate notifications are shown when you scan an NFC tag for a supervisor task and no fitting supervisor is found.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&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.&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;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 5.0 (Mobile)]]&lt;br /&gt;
[[Category:Mobile|Version 5.0 (Mobile)]]&lt;br /&gt;
[[Category:Version 5.0|Version 5.0 (Mobile)]]&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;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 5.0 (Mobile)]]&lt;br /&gt;
[[Category:Mobile|Version 5.0 (Mobile)]]&lt;br /&gt;
[[Category:Version 5.0|Version 5.0 (Mobile)]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=HowTo:Install_UBIK_Database&amp;diff=28375</id>
		<title>HowTo:Install UBIK Database</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=HowTo:Install_UBIK_Database&amp;diff=28375"/>
				<updated>2025-07-03T14:42:24Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;All content and configuration data of {{UBIK}} is managed in a [http://www.microsoft.com/en-us/sqlserver/default.aspx Microsoft SQL] database (2012 or newer). Once the SQL server engines is installed successfully, an administrator can set up a new {{UBIK}} database simple using the available release database.&lt;br /&gt;
&lt;br /&gt;
[[File:UI_SettingUpUBIKDatabase_01.png|thumb|alt=Microsoft SQL Server Management Studio|Microsoft SQL Server Management Studio]]&lt;br /&gt;
== Setting up {{UBIK}} database ==&lt;br /&gt;
# Start the ''Microsoft SQL Server Management Studio'' and connect to the database server&lt;br /&gt;
# Navigate to ''Databases'' and right click on ''Databases''&amp;amp;rarr; select ''New database...''&lt;br /&gt;
# Right click on the newly created database and choose ''Tasks &amp;amp;rarr; Restore &amp;amp;rarr; Database'' from the context menu&lt;br /&gt;
## Choose the newly created database in the setting ''In database''&lt;br /&gt;
## Choose the copied backup file in ''From media''&lt;br /&gt;
## Check ''Restore'' of the according backup set &amp;lt;br/&amp;gt; [[File:Restore Database.PNG| 440px|border]]&lt;br /&gt;
# Switch to the options-slider and check ''Overwriting actual data'' (if necessary)&lt;br /&gt;
# Finish the process by clicking {{key press|OK}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Attention|Use maintenance plans for periodic backup of your own and the system databases!}}&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
=== Database user ===&lt;br /&gt;
The database user configured in {{UBIK}} Studio used to connect to the database needs&lt;br /&gt;
* to have the role ''sys.admin'' assigned&lt;br /&gt;
* to be marked as ''Database owner'' (dbo) of the according {{UBIK}} database&lt;br /&gt;
&lt;br /&gt;
=== Windows firewall ===&lt;br /&gt;
For a non-local SQL server make sure that the SQL server port (default: 1433) is unlocked by the Windows firewall Inbound and Exbound rules.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[FAQ:Installation_and_Configuration#Network|FAQ: Installation and Configuration / Network]]&lt;br /&gt;
&lt;br /&gt;
[[Category:How-To|Install UBIK Database]]&lt;br /&gt;
[[Category:Installing|Install UBIK Database]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=XAML_Tips&amp;diff=28191</id>
		<title>XAML Tips</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=XAML_Tips&amp;diff=28191"/>
				<updated>2025-05-14T09:23:27Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: /* Default Tab Selection */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Attachable behaviors ==&lt;br /&gt;
It's quite often that you need to attach behaviors to certain XAML elements. For example, on a Grid, you want to attach a behavior which executes a command upon a Tapped event, or you want to execute a command when a certain property on a UBIK object changes.&lt;br /&gt;
&lt;br /&gt;
Notice that in the following examples, &amp;quot;Interactivity&amp;quot; and &amp;quot;Core&amp;quot; are both namespaces and you have to make sure that they are defined at the root of your XAMLs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;DataTemplate&lt;br /&gt;
    ...&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;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
&amp;lt;/DataTemplate&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Event Triggered ===&lt;br /&gt;
With an EventTriggerBehavior, you can react on changes/events of UI Elements:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Grid&amp;gt;&lt;br /&gt;
    &amp;lt;Interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
        &amp;lt;Core:EventTriggerBehavior EventName=&amp;quot;Tapped&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Core:InvokeCommandAction Command=&amp;quot;{Binding NavigateToChildrenCommand}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/Core:EventTriggerBehavior&amp;gt;&lt;br /&gt;
    &amp;lt;/Interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
&amp;lt;/Grid&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Data Triggered ===&lt;br /&gt;
If you want to react on changes of the underlying data (ViewModel), you can use DataTriggerBehavior instead. The following example, when used in the ''UBIKSplashArea'' template, automatically navigates to the root objects once the login process is finished and the user was successfully authenticated:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Grid&amp;gt;&lt;br /&gt;
   &amp;lt;Interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
       &amp;lt;Core:DataTriggerBehavior Binding=&amp;quot;{Binding IsLoggedIn}&amp;quot; Value=&amp;quot;True&amp;quot;&amp;gt;&lt;br /&gt;
           &amp;lt;Core:InvokeCommandAction Command=&amp;quot;{Binding NavigateToRootPageCommand}&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;/Core:DataTriggerBehavior&amp;gt;&lt;br /&gt;
    &amp;lt;/Interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
&amp;lt;/Grid&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Content creation ==&lt;br /&gt;
=== Child item creation ===&lt;br /&gt;
{{Version/WinXSince|3.5.5}}&lt;br /&gt;
To directly create an object on a child of the current object, you can define a Button as follows. The method &amp;quot;Item.IsTypeCreationAllowed&amp;quot;  used in the expression gets the uid of the type that should be created below a child, if a child does not allow the creation of that type underneath it, the child will be hidden in the selection dialog. To actually create the object, the &amp;quot;CreateChildItemCommand&amp;quot; needs to be passed a KeyValueList with two parameters: The Parent-key is the UID or the ContentViewModel of the child underneath the object should be created, the Type-key is the type of object which should be created--this should match the uid passed to the &amp;quot;Item.IsTypeCreationAllowed&amp;quot; method.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    xmlns:uc=&amp;quot;using:UBIK.WinX.Controls&amp;quot;&lt;br /&gt;
    xmlns:cv=&amp;quot;using:UBIK.WinX.UI.CollectionView&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;x:String x:Key=&amp;quot;PlantMap&amp;quot;&amp;gt;Item.IsTypeCreationAllowed(&amp;amp;quot;21fc990a-d064-4bee-8d48-3293351f827a&amp;amp;quot;)&amp;lt;/x:String&amp;gt;&lt;br /&gt;
&amp;lt;cv:ListCollectionView x:Key=&amp;quot;PlantMapView&amp;quot; Expression=&amp;quot;{StaticResource PlantMap}&amp;quot; ItemsSource=&amp;quot;{Binding Children.Items}&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;AppBarButton&amp;gt;&lt;br /&gt;
&amp;lt;AppBarButton.Flyout&amp;gt;&lt;br /&gt;
  &amp;lt;Flyout Placement=&amp;quot;Full&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;ListView ItemsSource=&amp;quot;{Binding Source={StaticResource PlantMapView}}&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;Button Content=&amp;quot;{Binding Header}&amp;quot; Command=&amp;quot;{Binding CreateChildItemCommand}&amp;quot; x:Name=&amp;quot;CreateButton&amp;quot; Tag=&amp;quot;{Binding}&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;Parent&amp;quot; Value=&amp;quot;6D733909-1742-4110-8619-237849BFE453&amp;quot;/&amp;gt;&lt;br /&gt;
				&amp;lt;uc:KeyValueParameter Key=&amp;quot;Type&amp;quot; Value=&amp;quot;21fc990a-d064-4bee-8d48-3293351f827a&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;/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;/Flyout&amp;gt;&lt;br /&gt;
&amp;lt;/AppBarButton.Flyout&amp;gt;&lt;br /&gt;
&amp;lt;/AppBarButton&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;x:String x:Key=&amp;quot;PlantMap&amp;quot;&amp;gt;Item.IsTypeCreationAllowed(&amp;amp;quot;21fc990a-d064-4bee-8d48-3293351f827a&amp;amp;quot;)&amp;lt;/x:String&amp;gt;&lt;br /&gt;
&amp;lt;cv:ListCollectionView x:Key=&amp;quot;PlantMapView&amp;quot; Expression=&amp;quot;{StaticResource PlantMap}&amp;quot; ItemsSource=&amp;quot;{Binding Children.Items}&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;AppBarButton&amp;gt;&lt;br /&gt;
&amp;lt;AppBarButton.Flyout&amp;gt;&lt;br /&gt;
  &amp;lt;Flyout Placement=&amp;quot;Full&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;ListView ItemsSource=&amp;quot;{Binding Source={StaticResource PlantMapView}}&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;Button Content=&amp;quot;{Binding Header}&amp;quot; Command=&amp;quot;{Binding CreateChildItemCommand}&amp;quot; x:Name=&amp;quot;CreateButton&amp;quot; Tag=&amp;quot;{Binding}&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;Parent&amp;quot; Value=&amp;quot;{Binding Tag, ElementName=CreateButton}&amp;quot;/&amp;gt;&lt;br /&gt;
				&amp;lt;uc:KeyValueParameter Key=&amp;quot;Type&amp;quot; Value=&amp;quot;21fc990a-d064-4bee-8d48-3293351f827a&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;/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;/Flyout&amp;gt;&lt;br /&gt;
&amp;lt;/AppBarButton.Flyout&amp;gt;&lt;br /&gt;
&amp;lt;/AppBarButton&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Additionally, the following optional parameters can be added as well.&lt;br /&gt;
* CreateOnly (optional, defaults to false): When set to true, the client will not automatically navigate to the created content, rather automatically save and commit it. If set to true, this overrides the following parameters;&lt;br /&gt;
* AutoNavigate (optional, defaults to true): When set to false, the client will not automatically navigate to the created content;&lt;br /&gt;
* AutoCommit (optional, defaults to false): When set to true, the change(s) will be saved to the local cache and the database, and then committed to the server.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Creating multiple documents ===&lt;br /&gt;
To upload multiple documents at once, the CreateChildItemsCommand can be used. The list of supported command parameters are similar to those of the CreateChildItemCommand (single item). Except that anything other than AutoNavigate=false and AutoCommit=true do not make sense in multi-creation scenario. Therefore, those parameters are fixed and any received from XAML will be ignored.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- &amp;lt;tabs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tab name=&amp;quot;UWP&amp;quot;&amp;gt;--&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 CreateChildItemsCommand}&amp;quot;&lt;br /&gt;
    Content=&amp;quot;Create multiple documents&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;Type&amp;quot; Value=&amp;quot;6170a068-2314-4444-ad62-0da99769a048&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;!--&amp;lt;/tab&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tab name=&amp;quot;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 CreateChildItemsCommand}&amp;quot;&lt;br /&gt;
    Content=&amp;quot;Create multiple documents&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;Type&amp;quot; Value=&amp;quot;6170a068-2314-4444-ad62-0da99769a048&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;
&lt;br /&gt;
&amp;lt;/tabs&amp;gt;--&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Disable FilloutCriteria  ===&lt;br /&gt;
{{Version/WinXSince|3.5}}&lt;br /&gt;
To enable/disable the automatic filtering of a query based on the ParentObject, there is the possibility to specify EnableFillOutCriteria--if it is not set, it defaults to false. Additionaly &amp;quot;SkipDialog&amp;quot; can be set to true, to not display a dialog.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Grid x:Name=&amp;quot;selectionGrid&amp;quot; Tag=&amp;quot;{Binding MetaUID}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
         &amp;lt;Core:EventTriggerBehavior EventName=&amp;quot;Tapped&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Core:InvokeCommandAction Command=&amp;quot;{Binding ElementName=ChildAreaGrid, Path=DataContext.AddTemplatableDataCommand}&amp;quot; &amp;gt;&lt;br /&gt;
                    &amp;lt;Core:InvokeCommandAction.CommandParameter&amp;gt;&lt;br /&gt;
                        &amp;lt;uc:KeyValueList&amp;gt;&lt;br /&gt;
                            &amp;lt;uc:KeyValueParameter Key=&amp;quot;Uid&amp;quot; Value=&amp;quot;{Binding Tag,ElementName=selectionGrid}&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;uc:KeyValueParameter Key=&amp;quot;EnableFillOutCriteria&amp;quot; Value=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;uc:KeyValueParameter Key=&amp;quot;SkipDialog&amp;quot; Value=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
                        &amp;lt;/uc:KeyValueList&amp;gt;&lt;br /&gt;
                    &amp;lt;/Core:InvokeCommandAction.CommandParameter&amp;gt;&lt;br /&gt;
               &amp;lt;/Core:InvokeCommandAction&amp;gt;&lt;br /&gt;
         &amp;lt;/Core:EventTriggerBehavior&amp;gt;&lt;br /&gt;
  &amp;lt;/Interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
&amp;lt;/Grid&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hotspotting ==&lt;br /&gt;
{{Attention|To use a binding in the KeyValueParameter, it has to be applied like in the example provided here: [[KeyValueList]]}}&lt;br /&gt;
The hotspotting command is used for hotspotting as well as for annotating, to configure the button for hotspotting, the commandparameter &amp;quot;Mode&amp;quot; should be set to &amp;quot;HotSpotting&amp;quot;, for annotating the &amp;quot;Mode&amp;quot; should be &amp;quot;Annotate&amp;quot;. The parameter commit is optional, if set to true, the changes get automatically persisted when leaving the editing mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;AppBarToggleButton&lt;br /&gt;
		IsChecked=&amp;quot;{Binding EditingAnnotation, Mode=TwoWay}&amp;quot;&lt;br /&gt;
		IsEnabled=&amp;quot;{Binding IsAnnotatable}&amp;quot;&lt;br /&gt;
		Command=&amp;quot;{Binding HotSpottingCommand}&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;AppBarToggleButton.CommandParameter&amp;gt;&lt;br /&gt;
			&amp;lt;uc:KeyValueList&amp;gt;&lt;br /&gt;
				&amp;lt;uc:KeyValueParameter Key=&amp;quot;Mode&amp;quot; Value=&amp;quot;Annotate&amp;quot;/&amp;gt;&lt;br /&gt;
				&amp;lt;uc:KeyValueParameter Key=&amp;quot;Commit&amp;quot; Value=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
			&amp;lt;/uc:KeyValueList&amp;gt;&lt;br /&gt;
		&amp;lt;/AppBarToggleButton.CommandParameter&amp;gt;&lt;br /&gt;
&amp;lt;/AppBarToggleButton&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remember scroll positions of list views ==&lt;br /&gt;
&lt;br /&gt;
=== Version 3.7 &amp;amp; later {{Version/WinXSince|3.7}} ===&lt;br /&gt;
Starting from this version,&lt;br /&gt;
* The precision of scroll position remembering is improved(by pixel offsets instead of by items);&lt;br /&gt;
* It also works for other scrollable lists (instead of just for content object lists).&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
To enable this feature, you should make sure the following.&lt;br /&gt;
* The SelectionBoundListView is used instead of the standard ListView. Its {{UBIK}} namespace is &amp;lt;code&amp;gt;UBIK.WinX.Controls&amp;lt;/code&amp;gt;;&lt;br /&gt;
* The SelectionBoundListView's &amp;lt;code&amp;gt;RememberScrollPosition&amp;lt;/code&amp;gt; property is not set to &amp;quot;false&amp;quot;; (It's &amp;quot;true&amp;quot; by default.)&lt;br /&gt;
* The SelectionBoundListView's &amp;lt;code&amp;gt;x:Name&amp;lt;/code&amp;gt; property value is unique.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Version 3.6  {{Version/WinXSince|3.6}} ===&lt;br /&gt;
The UBIK-Client does include a function to remember the position in a list (ListView) when navigating away from it. This function is only available when the list (ListView) has a unique name as a property (x:Name). When browsing back to the previously visited list UBIK scrolls back to the last position. The function does not save scroll positions over different sessions.&lt;br /&gt;
Implementing the function to remember the scroll position in a ListView one has to consider that the list elements (Children) could depend on a other UI-element. If the list elements do depend on a other UI-elemente, this element has to be created above the ListView in the XAML.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;DataTemplate xmlns:behaviors=&amp;quot;using:UBIK.WinX.Behaviors&amp;quot; xmlns:uc=&amp;quot;using:UBIK.WinX.Controls&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
     &amp;lt;uc:SelectionBoundListView x:Name=&amp;quot;ChildListView&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
           &amp;lt;behaviors:FirstVisibleItemPersistenceBehavior FirstVisibleItems=&amp;quot;{Binding ScrollItems}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/Interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
     &amp;lt;/uc:SelectionBoundListView&amp;gt;&lt;br /&gt;
&amp;lt;/DataTemplate&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MultiBinding {{Version/WinXSince|3.6}} ==&lt;br /&gt;
Very often we want to display some UI elements (e.g. a Grid) depending on whether multiple criteria are met. It's much easier to achieve this by using a MultiBindingBehavior like the following.&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;DataTemplate&lt;br /&gt;
    xmlns:Interactivity=&amp;quot;using:Microsoft.Xaml.Interactivity&amp;quot;&lt;br /&gt;
    xmlns:behaviors=&amp;quot;using:UBIK.WinX.Behaviors&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;Grid&amp;gt;&lt;br /&gt;
        &amp;lt;Interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
            &amp;lt;behaviors:MultiBindingBehavior Converter=&amp;quot;{StaticResource VisLogicAndConverter}&amp;quot; PropertyName=&amp;quot;Visibility&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;behaviors:MultiBindingItem Value=&amp;quot;{Binding MassEditViewModel, Converter={StaticResource NullToVisConverter}}&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;behaviors:MultiBindingItem Value=&amp;quot;{Binding Documents.Items.Count, Converter={StaticResource ItemCountToVisConverter}}&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/behaviors:MultiBindingBehavior&amp;gt;&lt;br /&gt;
        &amp;lt;/Interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
    &amp;lt;/Grid&amp;gt;&lt;br /&gt;
&amp;lt;/DataTemplate&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
The behavior makes sure the container Grid is set to Visibile only if the mass editing mode is not turned on (MassEditViewModel is null) and the context object has child document(s) (Documents.Items.Count is greater than 0. You can combine any number of binding results (MultiBindingItem) using the VisLogicAndConverter (the name should be self explanatory).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Other Commands ==&lt;br /&gt;
=== InvokeOnItemsCommand {{Version/WinXSince|3.6}} ===&lt;br /&gt;
Available on all ListViewModels, this command allows executing a specified command on a collection of list items. It can be used in combination with features such as [[Mass_Edit_(UBIK_WinX)|mass editing]] and [[XAML_Changes_in_UBIK_WinX_3.5#After_3.5|expression based collection filtering]]. Examples for both combinations are provided below.&lt;br /&gt;
&lt;br /&gt;
{{Attention|The command specified through the &amp;quot;Command&amp;quot; parameter is executed on list items and, therefore, must be available in the list item contexts (view models). If in doubt, the [[Developer_Mode|developer mode]] can be used to inspect if a command is available in a certain context.}}&lt;br /&gt;
&lt;br /&gt;
{{Hint|Parameter &amp;quot;Command&amp;quot; and &amp;quot;SelectedItemsOnly&amp;quot; are specific to the InvokeOnItemsCommand. What other parameters to define or whether to define them at all depends on the type of command to be executed on the items.}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Invoke on selected items ====&lt;br /&gt;
{{Attention|To use a binding in the KeyValueParameter, it has to be applied like in the example provided here: [[KeyValueList]]}}&lt;br /&gt;
This example demonstrates how you can use the mass editing feature to select certain objects from the child list and then execute the SetPropertyValueCommand for those selected.&lt;br /&gt;
* The example code assumes that the child objects have an editable property called &amp;quot;VALUE&amp;quot; and tries to set 50 as their value;&lt;br /&gt;
* You should insert the following code snippet into the default UBIKChildArea template;&lt;br /&gt;
* If the parameter &amp;quot;SelectedItemsOnly&amp;quot; is missed or set to &amp;quot;False&amp;quot;, the command will be executed on all child items;&lt;br /&gt;
* To enable selection, click on the &amp;quot;Mass Edit&amp;quot; button below the property list.&lt;br /&gt;
&amp;lt;br /&amp;gt;&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;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Button&lt;br /&gt;
    xmlns:example=&amp;quot;using:UBIK.WinX.Controls&amp;quot;&lt;br /&gt;
    Command=&amp;quot;{Binding Children.InvokeOnItemsCommand}&amp;quot;&lt;br /&gt;
    Content=&amp;quot;Set to 50%&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Button.CommandParameter&amp;gt;&lt;br /&gt;
        &amp;lt;example:KeyValueList&amp;gt;&lt;br /&gt;
            &amp;lt;example:KeyValueParameter Key=&amp;quot;Command&amp;quot; Value=&amp;quot;SetPropertyValueCommand&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;example:KeyValueParameter Key=&amp;quot;SelectedItemsOnly&amp;quot; Value=&amp;quot;False&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;example:KeyValueParameter Key=&amp;quot;PropertyName&amp;quot; Value=&amp;quot;VALUE&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;example:KeyValueParameter Key=&amp;quot;PropertyValue&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;example:KeyValueParameter.Value&amp;gt;&lt;br /&gt;
                    &amp;lt;x:Double&amp;gt;50&amp;lt;/x:Double&amp;gt;&lt;br /&gt;
                &amp;lt;/example:KeyValueParameter.Value&amp;gt;&lt;br /&gt;
            &amp;lt;/example:KeyValueParameter&amp;gt;&lt;br /&gt;
        &amp;lt;/example: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;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:example=&amp;quot;clr-namespace:UBIK.CPL.Classes;assembly=UBIK.CPL&amp;quot;&lt;br /&gt;
    Command=&amp;quot;{Binding Children.InvokeOnItemsCommand}&amp;quot;&lt;br /&gt;
    Text=&amp;quot;Set to 50%&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Button.CommandParameter&amp;gt;&lt;br /&gt;
        &amp;lt;example:KeyValueList&amp;gt;&lt;br /&gt;
            &amp;lt;example:KeyValueParameter Key=&amp;quot;Command&amp;quot; Value=&amp;quot;SetPropertyValueCommand&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;example:KeyValueParameter Key=&amp;quot;SelectedItemsOnly&amp;quot; Value=&amp;quot;False&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;example:KeyValueParameter Key=&amp;quot;PropertyName&amp;quot; Value=&amp;quot;VALUE&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;example:KeyValueParameter Key=&amp;quot;PropertyValue&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;example:KeyValueParameter.Value&amp;gt;&lt;br /&gt;
                    &amp;lt;x:Double&amp;gt;50&amp;lt;/x:Double&amp;gt;&lt;br /&gt;
                &amp;lt;/example:KeyValueParameter.Value&amp;gt;&lt;br /&gt;
            &amp;lt;/example:KeyValueParameter&amp;gt;&lt;br /&gt;
        &amp;lt;/example: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;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Invoke on filtered results ====&lt;br /&gt;
{{Attention|To use a binding in the KeyValueParameter, it has to be applied like in the example provided here: [[KeyValueList]]}}&lt;br /&gt;
&lt;br /&gt;
* First, you need to setup a filtered list&lt;br /&gt;
**UWP: Setup a ListCollectionView in the Resources section of a UI element (e.g. Grid). This list is only available/visible within that UI element (the Grid in this case).&lt;br /&gt;
**Xamarin: Setup a String with a filtering expression &amp;amp; a SfDataSourceExt in the ResourceDictionary of the ContentView. For the Expression property of the SfDataSourceExt refer to the created expression String.&lt;br /&gt;
&lt;br /&gt;
* The ItemsSource uses Children.Items. Use the [[Developer_Mode|developer mode]] if necessary to find out if this is available where you intend to define the list;&lt;br /&gt;
* The example expression filters for any items that don't contain the text &amp;quot;EXAMPLE&amp;quot; in their Title texts. You can filter differently by altering the expression.&lt;br /&gt;
&amp;lt;br /&amp;gt;&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;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Grid xmlns:CV=&amp;quot;using:UBIK.WinX.UI.CollectionView&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Grid.Resources&amp;gt;&lt;br /&gt;
            &amp;lt;CV:ListCollectionView&lt;br /&gt;
                x:Key=&amp;quot;Filtered&amp;quot;&lt;br /&gt;
                Expression=&amp;quot;!Item.Title.Contains(&amp;amp;quot;EXAMPLE&amp;amp;quot;)&amp;quot;&lt;br /&gt;
                ItemsSource=&amp;quot;{Binding Children.Items}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/Grid.Resources&amp;gt;&lt;br /&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;Xamarin&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ContentView&lt;br /&gt;
    xmlns:controls=&amp;quot;clr-namespace:UBIK.CPL.Controls;assembly=UBIK.CPL&amp;quot;&lt;br /&gt;
    ...&amp;gt;&lt;br /&gt;
    &amp;lt;ContentView.Resources&amp;gt;&lt;br /&gt;
        &amp;lt;ResourceDictionary&amp;gt;&lt;br /&gt;
            &amp;lt;x:String x:Key=&amp;quot;Expresssion&amp;quot;&amp;gt;!Item.Title.Contains(&amp;amp;quot;EXAMLPLE&amp;amp;quot;)&amp;lt;/x:String&amp;gt;&lt;br /&gt;
            &amp;lt;controls:SfDataSourceExt x:Key=&amp;quot;Filtered&amp;quot; Expression=&amp;quot;{StaticResource Expresssion}&amp;quot; ItemsSource=&amp;quot;{Binding Children.Items}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/ResourceDictionary&amp;gt;&lt;br /&gt;
    &amp;lt;/ContentView.Resources&amp;gt;&lt;br /&gt;
&amp;lt;/ContentView&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;
&amp;lt;br /&amp;gt;&lt;br /&gt;
With the filtered list configured, you can then insert the following code snippet to execute the SetPropertyValueCommand for the filtered result items.&lt;br /&gt;
* The example code assumes that the child objects have an editable property called &amp;quot;VALUE&amp;quot; and tries to set 50 as their value;&lt;br /&gt;
* The &amp;quot;Filtered&amp;quot; refers to the ListCollectionView (UWP) or SfDataSourceExt  (Xamarin) configured above.&lt;br /&gt;
&amp;lt;br /&amp;gt;&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;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;AppBarButton&lt;br /&gt;
      xmlns:example=&amp;quot;using:UBIK.WinX.Controls&amp;quot;&lt;br /&gt;
      Command=&amp;quot;{Binding Source={StaticResource Filtered}, Path=ListViewModel.InvokeOnItemsCommand}&amp;quot;&lt;br /&gt;
      Icon=&amp;quot;AllApps&amp;quot;&lt;br /&gt;
      Label=&amp;quot;Set to 50&amp;quot;&lt;br /&gt;
      Style=&amp;quot;{ThemeResource UBIKActionAppBarButton}&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;AppBarButton.CommandParameter&amp;gt;&lt;br /&gt;
          &amp;lt;example:KeyValueList&amp;gt;&lt;br /&gt;
              &amp;lt;example:KeyValueParameter Key=&amp;quot;Command&amp;quot; Value=&amp;quot;SetPropertyValueCommand&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;example:KeyValueParameter Key=&amp;quot;PropertyName&amp;quot; Value=&amp;quot;VALUE&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;example:KeyValueParameter Key=&amp;quot;PropertyValue&amp;quot; Value=&amp;quot;50&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/example:KeyValueList&amp;gt;&lt;br /&gt;
      &amp;lt;/AppBarButton.CommandParameter&amp;gt;&lt;br /&gt;
  &amp;lt;/AppBarButton&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;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:example=&amp;quot;clr-namespace:UBIK.CPL.Classes;assembly=UBIK.CPL&amp;quot;&lt;br /&gt;
    Command=&amp;quot;{Binding Source={StaticResource Filtered}, Path=ListViewModel.InvokeOnItemsCommand}&amp;quot;&lt;br /&gt;
    Text=&amp;quot;Set to 50&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Button.CommandParameter&amp;gt;&lt;br /&gt;
        &amp;lt;example:KeyValueList&amp;gt;&lt;br /&gt;
            &amp;lt;example:KeyValueParameter Key=&amp;quot;Command&amp;quot; Value=&amp;quot;SetPropertyValueCommand&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;example:KeyValueParameter Key=&amp;quot;PropertyName&amp;quot; Value=&amp;quot;VALUE&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;example:KeyValueParameter Key=&amp;quot;PropertyValue&amp;quot; Value=&amp;quot;50&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/example: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;
{{Attention|The binding &amp;lt;code&amp;gt;ListViewModel.InvokeOnItemsCommand&amp;lt;/code&amp;gt; should be updated to &amp;lt;code&amp;gt;BulkOperation.InvokeOnItemsCommand&amp;lt;/code&amp;gt; starting from version 4.3.}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Support for old styled commands ====&lt;br /&gt;
Some old commands might not support KeyValueLists as parameters. In that case, just define the parameter value under the &amp;quot;CommandParameter&amp;quot; key, e.g.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&amp;lt;example:KeyValueParameter Key=&amp;quot;CommandParameter&amp;quot; Value=&amp;quot;some string value for example&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;.&lt;br /&gt;
This single value is then passed as the command parameter instead of the entire KeyValueList.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SetPropertyValueCommand {{Version/WinXSince|3.6}} ===&lt;br /&gt;
{{Attention|To use a binding in the KeyValueParameter, it has to be applied like in the example provided here: [[KeyValueList]]}}&lt;br /&gt;
&lt;br /&gt;
This command existed before but was implemented differently. In the newer version(s), it is improved to provide customizers more control over the things that happen during/after the property value changes.&lt;br /&gt;
The available command parameters are:&lt;br /&gt;
* PropertyName: the name of the property to set a new value to;&lt;br /&gt;
* PropertyValue: the value to be set to the above mentioned property;&lt;br /&gt;
* OnlyForUnvalidated (optional, defaults to false): When set to true, the value will only be set if the property is not yet validated;&lt;br /&gt;
* AutoSave (optional, defaults to false): When set to true, the change(s) will be saved to the local cache and database;&lt;br /&gt;
* AutoCommit (optional, defaults to false): When set to true, the change(s) will be committed to the server.&lt;br /&gt;
&lt;br /&gt;
{{Hint|There's no way to commit changes without saving them locally first. Therefore, the &amp;quot;AutoSave&amp;quot; parameter will be ignored when &amp;quot;AutoCommit&amp;quot; is set to true.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here's an example of the command usage. It tries to set the property called &amp;quot;VALUE&amp;quot; to a double value 50 regardless of its current state and then automatically save and commit the change.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
xmlns:example=&amp;quot;using:UBIK.WinX.Controls&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;Button&lt;br /&gt;
    Command=&amp;quot;{Binding SetPropertyValueCommand}&amp;quot;&lt;br /&gt;
    Style=&amp;quot;{StaticResource UBIKButtonStyle}&amp;quot;&lt;br /&gt;
    Content=&amp;quot;Set Property&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;PropertyName&amp;quot; Value=&amp;quot;MP_PROPERTY&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;controls:KeyValueParameter Key=&amp;quot;PropertyValue&amp;quot; Value=&amp;quot;My Value&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;controls:KeyValueParameter Key=&amp;quot;OnlyForUnvalidated&amp;quot; Value=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;controls:KeyValueParameter Key=&amp;quot;AutoSave&amp;quot; Value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;controls:KeyValueParameter Key=&amp;quot;AutoCommit&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;
&lt;br /&gt;
{{Hint|For simple types, you can try writing them in the text format like &amp;lt;nowiki&amp;gt;&amp;lt;controls:KeyValueParameter Key=&amp;quot;PropertyValue&amp;quot; Value=&amp;quot;50&amp;quot;/&amp;gt;&amp;lt;/nowiki&amp;gt; and {{UBIK}} will try to find the right type. For advanced property types, it is advised to provide typed values like &amp;lt;nowiki&amp;gt;&amp;lt;x:Boolean&amp;gt;true&amp;lt;/x:Boolean&amp;gt;&amp;lt;/nowiki&amp;gt;.}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Set a Binding as PropertyValue ====&lt;br /&gt;
There is a known issue in XAML where Behaviors and KeyValueLists do not inherit the binding context of the control they are attached to. Simply put, trying to use a binding directly in the PropertyValue part of the command; '''&amp;lt;nowiki&amp;gt;&amp;lt;controls:KeyValueParameter Key=&amp;quot;PropertyValue&amp;quot; Value=&amp;quot;{Binding BindingPath}&amp;quot; /&amp;gt;&amp;lt;/nowiki&amp;gt;''', would lead to the client setting the value of MP_PROPERTY to null.&lt;br /&gt;
&lt;br /&gt;
Luckily, there is a simple way to link this Binding to a context. Using the above example as a foundation, adapt the button as shown below:&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Button&lt;br /&gt;
    x:Name=&amp;quot;SetDynamicPropertyButton&amp;quot;&lt;br /&gt;
    Tag=&amp;quot;{Binding}&amp;quot;&lt;br /&gt;
    ... &amp;gt;&lt;br /&gt;
    &amp;lt;Button.CommandParameter&amp;gt;&lt;br /&gt;
        &amp;lt;controls:KeyValueList&amp;gt;&lt;br /&gt;
           ...&lt;br /&gt;
            &amp;lt;controls:KeyValueParameter Key=&amp;quot;PropertyValue&amp;quot; Value=&amp;quot;{Binding Tag.BindingPath, ElementName=SetDynamicPropertyButton}&amp;quot; /&amp;gt;&lt;br /&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;
&lt;br /&gt;
The above code uses the x:Name of the button to specify the viewmodel from which we wish to begin our binding path.&amp;lt;br&amp;gt;&lt;br /&gt;
You do not need to follow this exact syntax, all that is necessary is to provide a connection to the BindingContext of an observable control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Set Current DateTime ====&lt;br /&gt;
The current DateTime stamp can be retrieved from '''AppStatus.LiveDateTime'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Since the known issue described in the section above prevents direct binding to this, below are examples for how to implement it.&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;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
xmlns:example=&amp;quot;using:UBIK.WinX.Controls&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;Button&lt;br /&gt;
    x:Name=&amp;quot;SetCurrentDateTimeButton&amp;quot;&lt;br /&gt;
    Tag=&amp;quot;{Binding}&amp;quot;&lt;br /&gt;
    Command=&amp;quot;{Binding SetPropertyValueCommand}&amp;quot;&lt;br /&gt;
    Style=&amp;quot;{StaticResource UBIKButtonStyle}&amp;quot;&lt;br /&gt;
    Content=&amp;quot;Set Property&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;PropertyName&amp;quot; Value=&amp;quot;MP_PROPERTY&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;controls:KeyValueParameter Key=&amp;quot;PropertyValue&amp;quot; Value=&amp;quot;{Binding Tag.AppStatus.LiveDateTime, ElementName=SetCurrentDateTimeButton}&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;controls:KeyValueParameter Key=&amp;quot;OnlyForUnvalidated&amp;quot; Value=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;controls:KeyValueParameter Key=&amp;quot;AutoSave&amp;quot; Value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;controls:KeyValueParameter Key=&amp;quot;AutoCommit&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;
{{Hint|The DateTime can be set to the desired format by adding a StringFormatConverter to the LiveDateTime binding:&amp;lt;br&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;{Binding Tag.AppStatus.LiveDateTime, ElementName=SetCurrentDateTimeButton, &amp;lt;/nowiki&amp;gt;'''&amp;lt;nowiki&amp;gt;Converter={StaticResource StringFormatConverter}, ConverterParameter={0:yyyy-MM-dd HH:mm}&amp;lt;/nowiki&amp;gt;'''&amp;lt;nowiki&amp;gt;}&amp;quot; &amp;lt;/nowiki&amp;gt;.}}&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;tab name=&amp;quot;Xamarin&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Button&lt;br /&gt;
    x:Name=&amp;quot;SetCurrentDateTimeButton&amp;quot;&lt;br /&gt;
    Command=&amp;quot;{Binding SetPropertyValueCommand}&amp;quot;&lt;br /&gt;
    Text=&amp;quot;Set Property&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;PropertyName&amp;quot; Value=&amp;quot;MP_PROPERTY&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;classes:KeyValueParameter Key=&amp;quot;PropertyValue&amp;quot; Value=&amp;quot;{Binding BindingContext.AppStatus.LiveDateTime, Source={x:Reference SetCurrentDateTimeButton}}&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;classes:KeyValueParameter Key=&amp;quot;OnlyForUnvalidated&amp;quot; Value=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;classes:KeyValueParameter Key=&amp;quot;AutoSave&amp;quot; Value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;classes:KeyValueParameter Key=&amp;quot;AutoCommit&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;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SaveAndCommitCommand ===&lt;br /&gt;
With the ''SaveAndCommitCommand'' it is possible to save and commit unsaved changes on a ContentViewModel.&lt;br /&gt;
&lt;br /&gt;
* ForceCommit CommandParameter (optional, defaults to false): Normally when the App is in Online mode, changes are automatically committed when saved. This is not the case when the App is in Manual mode. Setting the ''ForceCommit'' parameter to true makes it possible to commit the changes when saved in Manual mode.&lt;br /&gt;
* {{Version/WinXSince|4.7}} {{Version/XamarinSince|4.7}} PropertyNameToSave CommandParameter (optional, defaults to null): Delivers the Property Name as String of a specific Property that should be saved. E.g. when called via PropertyViewModel.ResetCommand or PropertyViewModel.DeleteCommand, the ''PropertyNameToSave'' parameter is used to only apply the SaveAndCommitCommand on the related PropertyViewModel called from, and not on other unsaved changes on this ContentViewModel.&lt;br /&gt;
&amp;lt;br/&amp;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;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Button&lt;br /&gt;
      xmlns:example=&amp;quot;using:UBIK.WinX.Controls&amp;quot;&lt;br /&gt;
      Command=&amp;quot;{Binding SaveAndCommitCommand}&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Button.CommandParameter&amp;gt;&lt;br /&gt;
          &amp;lt;example:KeyValueList&amp;gt;&lt;br /&gt;
              &amp;lt;example:KeyValueParameter Key=&amp;quot;ForceCommit&amp;quot; Value=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/example: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;tab name=&amp;quot;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:example=&amp;quot;using:clr-namespace:UBIK.CPL.Classes;assembly=UBIK.CPL&amp;quot;&lt;br /&gt;
      Command=&amp;quot;{Binding SaveAndCommitCommand}&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;Button.CommandParameter&amp;gt;&lt;br /&gt;
          &amp;lt;example:KeyValueList&amp;gt;&lt;br /&gt;
              &amp;lt;example:KeyValueParameter Key=&amp;quot;ForceCommit&amp;quot; Value=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/example: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;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DisplayViewCommand ===&lt;br /&gt;
This command can be used to [[Custom_View_(Client)|display cutom views]].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== TeachInCommand ===&lt;br /&gt;
With the '''TeachInCommand''' you're allowed to set your device's current location (&amp;quot;teach-in&amp;quot;, &amp;quot;TeachIn&amp;quot;) as the value of the context object's [[SYSCLS_GEO|geo property]].&lt;br /&gt;
This command is available in both '''ContentViewModel''' and '''PropertyViewModel'''.&lt;br /&gt;
* ContentViewModel.TeachInCommand: If possible, sets the current location of the device as the value of the context object's [[SYSCLS_GEO|geo property]]. Saves and commits the change;&lt;br /&gt;
* PropertyViewModel.TeachInCommand: If possible, sets the current location of the device as the value of the current property if it's a geo property (not necessarily the [[SYSCLS_GEO|geo property]]). Addtionally supports a boolean command parameter:&lt;br /&gt;
** False (default): The change is not automatically saved. &lt;br /&gt;
** True: The change is saved.&lt;br /&gt;
&amp;lt;br/&amp;gt; {{hint| Make sure you use the correct binding path for your command depending on your current context view model. E.g., if the context view model is already the ContentViewModel then your binding path should simply be TeachInCommand. You can use the [[Developer_Mode|developer mode]] to find out the current view model in a view.}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===UpdateArbitraryObjectCommand {{Version/WinXSince|4.7}}===&lt;br /&gt;
The &amp;quot;UpdateArbitraryObjectCommand&amp;quot; is responsible for updating an arbitrary object based on a set of provided parameters. The command is accessible in the AppStatusViewModel (as '''ViewModel.AppStatus'''). &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
The available command parameters are:&lt;br /&gt;
* Uid (Mandatory): UID of the object to be updated;&lt;br /&gt;
* UpdateChildDepth (Optional): Child depth/level to update (defaults to 1);&lt;br /&gt;
* UpdateParentDepth (Optional): Parent depth/level to update (defaults to 0);&lt;br /&gt;
* UpdateIgnoreExpiry (Optional): Ignore update expiry (defaults to false); &lt;br /&gt;
&lt;br /&gt;
{{Hint|Note that if you set the UpdateChildDepth property to &amp;quot;-1&amp;quot; you are also able to update a whole branch with this command.}}&lt;br /&gt;
&lt;br /&gt;
Here is an example of the command usage: &lt;br /&gt;
&amp;lt;br /&amp;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;
&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 UpdateArbitraryObjectCommand}&amp;quot;&lt;br /&gt;
    Content=&amp;quot;Update Arbitrary Object&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;Uid&amp;quot; Value=&amp;quot;...valid UID...&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;uc:KeyValueParameter Key=&amp;quot;UpdateChildDepth&amp;quot; Value=&amp;quot;2&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;uc:KeyValueParameter Key=&amp;quot;UpdateParentDepth&amp;quot; Value=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;uc:KeyValueParameter Key=&amp;quot;UpdateIgnoreExpiry&amp;quot; Value=&amp;quot;true&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;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:uc=&amp;quot;using:clr-namespace:UBIK.CPL.Classes;assembly=UBIK.CPL&amp;quot;&lt;br /&gt;
    Command=&amp;quot;{Binding UpdateArbitraryObjectCommand}&amp;quot;&lt;br /&gt;
    Content=&amp;quot;Update Arbitrary Object&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;Uid&amp;quot; Value=&amp;quot;...valid UID...&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;uc:KeyValueParameter Key=&amp;quot;UpdateChildDepth&amp;quot; Value=&amp;quot;2&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;uc:KeyValueParameter Key=&amp;quot;UpdateParentDepth&amp;quot; Value=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;uc:KeyValueParameter Key=&amp;quot;UpdateIgnoreExpiry&amp;quot; Value=&amp;quot;true&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;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Access to an arbitrary object {{Version/WinXSince|4.6}} {{Version/XamarinSince|4.6}} ===&lt;br /&gt;
With the ObjectByUID feature it is possible to access any local arbitrary object by its UID and, for example, display a value of it.&lt;br /&gt;
It can be accessed from ContentViewModel, AuthenticationViewModel, and RootPageViewModel levels.&lt;br /&gt;
&lt;br /&gt;
To display a string of e.g. a property of an arbitrary object from ContentViewModel, AuthenticationViewModel &amp;amp; RootPageViewModel, the following syntax can be used in related XAMLs:&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;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding ObjectByUID[paste-your-uid].Properties.VisibleItems[add-your-property-name].DisplayValue}&amp;quot; /&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;Xamarin&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Label Text=&amp;quot;{Binding ObjectByUID[paste-your-uid].Properties.VisibleItems[add-your-property-name].DisplayValue}&amp;quot; /&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;
For Property Dialogs the CallingViewModel prefix is needed to access an arbitrary object:&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;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TextBlock Text=&amp;quot;{Binding CallingViewModel.ObjectByUID[paste-your-uid].Properties.VisibleItems[add-your-property-name].DisplayValue}&amp;quot; /&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;Xamarin&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Label Text=&amp;quot;{Binding CallingViewModel.ObjectByUID[paste-your-uid].Properties.VisibleItems[add-your-property-name].DisplayValue}&amp;quot; /&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;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Localizing UI Texts ====&lt;br /&gt;
The most efficient practice is to use pre-localized texts from the standard client, however, this is not always possible, especially in custom UIs. The ObjectByUID indexer was therefore initially developed as a technique to allow localization of custom UI label texts. &lt;br /&gt;
&lt;br /&gt;
The concept is to create an infrastructure object that carries metaproperties for localized texts, then bind to this infrastructure object using ObjectByUID, and bind to a specific metaproperty to receive it's localized Description text as follows:&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;{Binding ObjectByUID[paste-your-uid].Properties.VisibleItems[add-your-property-name].Description}&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From here there are two approaches; the database-leaning one is to add one metaproperty per UI label, and simply bind to the Description of it. However, this shifts maintenance effort to the UBIK Studio after the initial adding of the label in XAML. Another approach would be to use the metaproperty to provide a &amp;quot;tag&amp;quot; that the xaml customizer can then use to differentiate between hardcoded labels.&lt;br /&gt;
&lt;br /&gt;
A third approach would be to create one infrastructure object per label, however, this can lead to many objects being loaded upon startup.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Approach !! Implementation  !! Maintenance Effort !! Recommendation&lt;br /&gt;
|-&lt;br /&gt;
| One metaproperty per UI Label || Bind the label text to the metaproperty Description || Database / UBIK Studio || Recommended for UWP, customizings with fewer UI texts, finalized customizings.&lt;br /&gt;
|-&lt;br /&gt;
| One metaproperty delivering a  localization &amp;quot;tag&amp;quot; (such as: &amp;quot;EN&amp;quot; / &amp;quot;DE&amp;quot;) || Use something like DataTrigger (Xamarin) to hardcode a different localized text per tag (such as: &amp;quot;eg.&amp;quot; / &amp;quot;zb.&amp;quot;) || XAML || Recommended for Xamarin, highly customized UIs with many texts, customizings that tend to change often.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Showing Images and Icons ==&lt;br /&gt;
In UBIK, there are two types of image;&lt;br /&gt;
* The thumbnail image assigned to a UBIK object, delivered using the &amp;lt;nowiki&amp;gt;{Binding Icon...}&amp;lt;/nowiki&amp;gt; binding, in combination with a ByteToImageConverter. Examples can commonly be found on UBIKChildItem templates.&lt;br /&gt;
* Custom image shown with a specific purpose, such as a company logo or icon on a button/UI element.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Paths as string resources ====&lt;br /&gt;
When using custom images in your UI, it is a good idea not to hardcode path data into your Image control but instead to create a string resource in UBIKThemes that holds the image path, and use this string resource in your Image control. The benefit of the indirect connection between image file and usage is that the &amp;quot;file is in use&amp;quot; issue (sometimes experienced when either manual, or auto-deployment of xamls, tries to change image files when UBIK is running) is avoided this way.&lt;br /&gt;
&lt;br /&gt;
Sample:&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;
'''UBIKThemes:'''&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&amp;lt;x:String x:Key=&amp;quot;MainLogo&amp;quot;&amp;gt;ms-appdata:///local/xaml/Images/MainLogo.png&amp;lt;/x:String&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Usage:'''&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Image&lt;br /&gt;
    x:Name=&amp;quot;LogoImage&amp;quot;&lt;br /&gt;
    Height=&amp;quot;32&amp;quot;&lt;br /&gt;
    Stretch=&amp;quot;Uniform&amp;quot;&lt;br /&gt;
    Source=&amp;quot;{Binding Source={StaticResource MainLogo}, Converter={StaticResource PathToImageConverter}}&amp;quot; /&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;Xamarin&amp;quot;&amp;gt;	&lt;br /&gt;
'''UBIKThemes:'''&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;x:String x:Key=&amp;quot;Logo_Image&amp;quot;&amp;gt;IMG_Logo.png&amp;lt;/x:String&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Usage:'''&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
xmlns:customimage=&amp;quot;clr-namespace:UBIK.CPL.Controls;assembly=UBIK.CPL&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;customimage:FileImage&lt;br /&gt;
    HeightRequest=&amp;quot;140&amp;quot;&lt;br /&gt;
    Aspect=&amp;quot;AspectFit&amp;quot;&lt;br /&gt;
    FileName=&amp;quot;{StaticResource BorealisLogo_Image}&amp;quot; &lt;br /&gt;
    FolderName=&amp;quot;xaml&amp;quot; /&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;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Icons ===&lt;br /&gt;
UBIK comes equipped with a collection of icons that can be easily used in your customizing. [[Icon_Font|Here is an indepth explanation on usage]].&lt;br /&gt;
&lt;br /&gt;
In the case that you require an icon that is not included in our icon font file, there is the possibility to use SVG path data to render your required icon in the UI.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Custom Icons ====&lt;br /&gt;
Here referring to icons which are not included as standard icons un UBIK.&lt;br /&gt;
&lt;br /&gt;
'''Path data''' is a collection of points, which combined together form a vector image. Vector images, compared to raster images like a PNG or JPG, are scalable, because they are always rendered from path data, and not from a bitmap, which has to be stretched or squished to fit your defined size.&lt;br /&gt;
&lt;br /&gt;
Described below two approaches. The UWP approach involves adding an SVG icon file to your xaml project and render it using an Image control. The Xamarin approach shows how to use svg data directly using a Path control.&lt;br /&gt;
&amp;lt;br&amp;gt;&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;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;				&lt;br /&gt;
&amp;lt;Image Width=&amp;quot;14&amp;quot; Height=&amp;quot;14&amp;quot; Margin=&amp;quot;0,0,0,1&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Image.Source &amp;gt;&lt;br /&gt;
        &amp;lt;SvgImageSource UriSource=&amp;quot;{StaticResource PP_Issued}&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/Image.Source&amp;gt;&lt;br /&gt;
&amp;lt;/Image&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tab name=&amp;quot;Xamarin&amp;quot;&amp;gt;&lt;br /&gt;
The first step is to generate path data for your icon. The easiest way is to download the [https://apps.microsoft.com/detail/9wzdncrdxf41?hl=en-US&amp;amp;gl=US| Character Map] tool from Microsoft. This can be used to browse all installed icon files for your icon of choice. Once selected, use Tools &amp;gt; Xaml / Xamarin Forms to show various useful aspects of the icon. In this case, the Path Icon option can be used to generate a Path control that can be pasted directly in your xaml as follows:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Path Fill=&amp;quot;{StaticResource UBIKAccentColor}&amp;quot; Data=&amp;quot;F1 M 8.75 1.25 L 18.75 1.25 L 18.75 18.75 L 1.25 18.75 L 1.25 8.75 L 5 8.75 L 5 6.25 L 1.25 6.25 L 1.25 1.25 L 6.25 1.25 L 6.25 5 L 8.75 5 Z M 10 2.5 L 10 5 L 12.5 5 L 12.5 2.5 Z M 2.5 5 L 5 5 L 5 2.5 L 2.5 2.5 Z M 6.25 6.25 L 6.25 8.75 L 8.75 8.75 L 8.75 6.25 Z M 2.5 10 L 2.5 12.5 L 5 12.5 L 5 10 Z M 17.5 17.5 L 17.5 2.5 L 13.75 2.5 L 13.75 6.25 L 10 6.25 L 10 10 L 6.25 10 L 6.25 13.75 L 2.5 13.75 L 2.5 17.5 Z &amp;quot; /&amp;gt;					&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you have your Path control, you can customize it as [https://learn.microsoft.com/en-us/previous-versions/xamarin/xamarin-forms/user-interface/shapes/path| documented by Microsoft]. Path data generated using the above method will most likely need a Fill attribute, for example &amp;lt;nowiki&amp;gt;Fill=&amp;quot;{StaticResource UBIKAccentColor}&amp;quot;&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Hint|More complicated icons will have longer and more complicated paths.}}&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TabView ==&lt;br /&gt;
&lt;br /&gt;
=== UI virtualization ===&lt;br /&gt;
When using the TabView control in your XAML code, UI virtualization can greatly improve initial loading performance, based on the scenario.Here's how to enable it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
&amp;lt;tab name=&amp;quot;Xamarin&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tabView:SfTabView EnableVirtualization=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
&amp;lt;/tabView:SfTabView&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;
=== Default Tab Selection ===&lt;br /&gt;
The tab selection in UBIKContentView defaults to the first tab, which is Children objects. However, for cases where it makes more sense to display Properties or Documents by default, it is possible to change the tab selection using the following classifications:&lt;br /&gt;
* [[SYSCLS_SHOWDOCUMENTS]]&lt;br /&gt;
* [[SYSCLS_SHOWPROPERTIES]]&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;
Adding the classification to a metaclass is enough for UWP.&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;tab name=&amp;quot;Xamarin&amp;quot;&amp;gt;&lt;br /&gt;
Xamarin currently requires additional customizing to make use of the TabSelector property. One approach is to add a DataTrigger to the SfTabView found in UBIKContentArea that is triggered by the value of the TabSelector property, as shown below;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tabView:SfTabView VisibleHeaderCount=&amp;quot;3&amp;quot; &amp;gt;&lt;br /&gt;
     &amp;lt;!-- tabView:SfTabItems ... --&amp;gt;&lt;br /&gt;
     &amp;lt;tabView:SfTabView.Triggers&amp;gt;&lt;br /&gt;
          &amp;lt;DataTrigger TargetType=&amp;quot;tabView:SfTabView&amp;quot; Binding=&amp;quot;{Binding TabSelector}&amp;quot; Value=&amp;quot;PropertiesTab&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Setter Property=&amp;quot;SelectedIndex&amp;quot; Value=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/DataTrigger&amp;gt;&lt;br /&gt;
          &amp;lt;DataTrigger TargetType=&amp;quot;tabView:SfTabView&amp;quot; Binding=&amp;quot;{Binding TabSelector}&amp;quot; Value=&amp;quot;DocumentsTab&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;Setter Property=&amp;quot;SelectedIndex&amp;quot; Value=&amp;quot;2&amp;quot;/&amp;gt;&lt;br /&gt;
          &amp;lt;/DataTrigger&amp;gt;&lt;br /&gt;
     &amp;lt;/tabView:SfTabView.Triggers&amp;gt;&lt;br /&gt;
&amp;lt;/tabView:SfTabView&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;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|XAML Tips]]&lt;br /&gt;
[[Category:WinX|XAML Tips]]&lt;br /&gt;
[[Category:XAML|XAML Tips]]&lt;br /&gt;
[[Category:Xamarin|XAML Tips]]&lt;br /&gt;
&lt;br /&gt;
== FlipView ==&lt;br /&gt;
&lt;br /&gt;
=== UI virtualization ===&lt;br /&gt;
When using the FlipView control in your XAML code, it's better to enable [https://docs.microsoft.com/en-us/windows/uwp/debug-test-perf/optimize-gridview-and-listview#ui-virtualization UI virtualization]. The difference in performance gets more obvious as the number of items in the FlipView increases. Here's how to enable it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;FlipView&lt;br /&gt;
    ...&lt;br /&gt;
    VirtualizingStackPanel.VirtualizationMode=&amp;quot;Standard&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Flipview.ItemsPanel&amp;gt;&lt;br /&gt;
        &amp;lt;ItemsPanelTemplate&amp;gt;&lt;br /&gt;
            &amp;lt;VirtualizingStackPanel Orientation=&amp;quot;Horizontal&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/ItemsPanelTemplate&amp;gt;&lt;br /&gt;
    &amp;lt;/Flipview.ItemsPanel&amp;gt;&lt;br /&gt;
&amp;lt;/FlipView&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
VirtualizingStackPanel.VirtualizationMode offers two possibilities: Standard &amp;amp; Recycling. In case you are interested, here are their [https://docs.microsoft.com/en-us/dotnet/api/system.windows.controls.virtualizationmode?view=netframework-4.7.2 differences].&lt;br /&gt;
&lt;br /&gt;
=== Auto saving {{Version/WinXSince|4.6}} ===&lt;br /&gt;
Unsaved changes on the document (e.g. Annotations) are gonna be saved and committed automatically when flipping the page in the FlipView.&lt;br /&gt;
&lt;br /&gt;
{{Attention|Changes are lost when leaving the page without flipping the document first.}}&lt;br /&gt;
&lt;br /&gt;
{{Version/WinXSince|4.7}} {{Version/XamarinSince|4.7}} If you want to keep the changes when leaving the page by e.g. navigating away without flipping the document first, there is a boolean property called ''AutoSaveDocumentsOnPageClose'' (default value: false) which enables this behavior. It can be activated by adding the property to (or editing it in) the custom UBIKThemes as follows:&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;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;x:String x:Key=&amp;quot;AutoSaveDocumentsOnPageClose&amp;quot;&amp;gt;true&amp;lt;/x:String&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;Xamarin&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;x:String x:Key=&amp;quot;AutoSaveDocumentsOnPageClose&amp;quot;&amp;gt;true&amp;lt;/x:String&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;
&lt;br /&gt;
== Device and Platform Responsiveness ==&lt;br /&gt;
{{UnderConstructionStart}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Although '''OnPlatform''' and '''OnIdiom''' are used in Xamarin, the following wiki article is valid from MAUI 5.0 (add version flag), as the syntax changed.&lt;br /&gt;
&lt;br /&gt;
'''OnPlatform''' can be used to define different property values based on the platform. Valid Platform names are:&lt;br /&gt;
* iOS&lt;br /&gt;
* Android&lt;br /&gt;
* WinUI (for MAUI Windows)&lt;br /&gt;
* further ones see [https://learn.microsoft.com/en-us/dotnet/maui/platform-integration/customize-ui-appearance?view=net-maui-9.0#customize-ui-appearance-with-a-markup-extension-based-on-the-platform here]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''OnIdom''' can be used to define different property values based on the device type (e.g. Phone, Tablet, Desktop).&lt;br /&gt;
&lt;br /&gt;
When it comes to the proper syntax, we should stick with the approaches mentioned in the [https://learn.microsoft.com/en-us/dotnet/maui/platform-integration/customize-ui-appearance?view=net-maui-9.0 official documentation].&lt;br /&gt;
Means, we should '''avoid''' using the single-tag syntax like ''&amp;lt;OnPlatform Android=&amp;quot;...&amp;quot; iOS=&amp;quot;...&amp;quot; /&amp;gt;'' or ''&amp;lt;OnIdiom Phone=&amp;quot;...&amp;quot; Desktop=&amp;quot;...&amp;quot; /&amp;gt;''.&lt;br /&gt;
&lt;br /&gt;
Instead, we should either use the '''multi-tag syntax''' or the '''inline syntax''' for OnPlatform / OnIdiom.&lt;br /&gt;
&lt;br /&gt;
==== Multi-tag syntax ====&lt;br /&gt;
Here it is mandatory to add '''x:TypeArguments=&amp;quot;TheType&amp;quot;''' with the proper type to OnPlatfrom/OnIdiom. ''Default=&amp;quot;...&amp;quot;'' is optional.&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
&amp;lt;tab name=&amp;quot;OnPlatform&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;OnPlatform x:TypeArguments=&amp;quot;Thickness&amp;quot; Default=&amp;quot;20&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;On Platform=&amp;quot;iOS, WinUI&amp;quot; Value=&amp;quot;0,20,0,0&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;On Platform=&amp;quot;Android&amp;quot; Value=&amp;quot;10,20,20,10&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/OnPlatform&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;tab name=&amp;quot;OnIdiom&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;OnIdiom x:TypeArguments=&amp;quot;Thickness&amp;quot; Default=&amp;quot;20&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;OnIdiom.Desktop&amp;gt;0,60,0,0&amp;lt;/OnIdiom.Desktop&amp;gt;&lt;br /&gt;
&amp;lt;/OnIdiom&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;
If OnPlatform Values contain multiple subtags, the following syntax can be used:&lt;br /&gt;
&amp;lt;source lang = &amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ControlTemplate x:Key=&amp;quot;ExampleControlTemplate&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Grid&amp;gt;&lt;br /&gt;
        &amp;lt;OnPlatform x:TypeArguments=&amp;quot;View&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;On Platform=&amp;quot;Android&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Button&lt;br /&gt;
                    ...&lt;br /&gt;
                    Text=&amp;quot;Button A&amp;quot; /&amp;gt;&lt;br /&gt;
                 ...&lt;br /&gt;
            &amp;lt;/On&amp;gt;&lt;br /&gt;
            &amp;lt;On Platform=&amp;quot;iOS&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Button&lt;br /&gt;
                    ...&lt;br /&gt;
                    Text=&amp;quot;Button B&amp;quot; /&amp;gt;&lt;br /&gt;
                 ...&lt;br /&gt;
            &amp;lt;/On&amp;gt;&lt;br /&gt;
            &amp;lt;On Platform=&amp;quot;WinUI&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Grid&amp;gt;&lt;br /&gt;
                    &amp;lt;Button&lt;br /&gt;
                        ...&lt;br /&gt;
                        Text=&amp;quot;Button C&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;Label Text=&amp;quot;Example&amp;quot; /&amp;gt;&lt;br /&gt;
                    ...&lt;br /&gt;
                &amp;lt;/Grid&amp;gt;&lt;br /&gt;
            &amp;lt;/On&amp;gt;&lt;br /&gt;
        &amp;lt;/OnPlatform&amp;gt;&lt;br /&gt;
    &amp;lt;/Grid&amp;gt;&lt;br /&gt;
&amp;lt;/ControlTemplate&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Attention|When using ''GridLength'' as a type in OnPlatform/OnIdiom, it should only be used in combination with the inline syntax.}}&lt;br /&gt;
&lt;br /&gt;
==== Inline syntax ====&lt;br /&gt;
When using the inline syntax, the type should not be specified. ''Default='' is optional.&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
&amp;lt;tab name=&amp;quot;OnPlatform&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;BoxView Color=&amp;quot;{OnPlatform Default=Yellow, iOS=Red, Android=Green}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;tab name=&amp;quot;OnIdiom&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;BoxView Color=&amp;quot;{OnIdiom Default=Yellow, Phone=Red, Tablet=Green}&amp;quot; /&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;
If the value contains any special characters like '''&amp;quot;''' or ''',''' or a '''string''' when using the OnIdiom or OnPlatform inline variant, it needs to be wrapped between ' '. But be careful with using apostrophes - when using them around curly brackets {} it can lead to an error.&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
&amp;lt;tab name=&amp;quot;Don't&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Margin=&amp;quot;{OnIdiom 10,2, Phone=2,0}&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;tab name=&amp;quot;Instead do&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Margin=&amp;quot;{OnIdiom '10,2', Phone='2,0'}&amp;quot;&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;
=== Complex values ===&lt;br /&gt;
If the OnPlatform/OnIdiom value contains a '''Binding''', '''StaticResource''' or any other complex value in curly brackets, it is recommended to use the '''inline syntax'''. Although there is no official documentation, it seems to work according to our experience. However, the multi-tag syntax doesn't seem to work always for such cases. DynamicResource values seem not to be supported in OnIdiom / OnPlatform.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tabs&amp;gt;&lt;br /&gt;
&amp;lt;tab name=&amp;quot;Don't&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;OnIdiom x:TypeArguments=&amp;quot;...&amp;quot; Default=&amp;quot;{Binding ...}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;OnIdiom.Phone&amp;gt;{Binding ...}&amp;lt;/OnIdiom.Phone&amp;gt;&lt;br /&gt;
&amp;lt;/OnIdiom&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;tab name=&amp;quot;Instead do&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;source lang = &amp;quot;XML&amp;quot;&amp;gt;&lt;br /&gt;
Header=&amp;quot;{OnIdiom Default={Binding ...}, Phone={Binding ...}}&amp;quot;&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;
{{Attention|Unreliable Support: Behavior may vary when using bindings or complex resources. Although it seems to work with the inline syntax according to our experiences, it is recommended to test these edge cases thoroughly.}}&lt;br /&gt;
&lt;br /&gt;
{{UnderConstructionEnd}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|XAML Tips]]&lt;br /&gt;
[[Category:WinX|XAML Tips]]&lt;br /&gt;
[[Category:XAML|XAML Tips]]&lt;br /&gt;
[[Category:Xamarin|XAML Tips]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=UBIK_Client_Foundation_(UCF)&amp;diff=27806</id>
		<title>UBIK Client Foundation (UCF)</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=UBIK_Client_Foundation_(UCF)&amp;diff=27806"/>
				<updated>2025-02-03T10:49:38Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The {{UBIK}} Client Foundation (UCF) is the Client SDK of {{UBIK}}, and therefore the foundation of any client that communicates with a {{UBIK}} server. The UCF can be used to develop own/custom {{UBIK}} clients, for a broad range of operating systems and devices.&lt;br /&gt;
The UCF is designed in a modular way, so that the user of the SDK is enabled to initialize only the features, that a client implementation requires. A Web Client for example, typically doesn't need offline support or NFC features, whereas a Tablet Client on the other hand, would typically benefit greatly from these modules.&lt;br /&gt;
&lt;br /&gt;
==Versioning==&lt;br /&gt;
UCF is versioned together with its released {{UBIK}} client, which means e.g. that the UCF Version 4.8 is also contained in all {{UBIK}} clients of version 4.8 - hence the release notes of that very version also apply to the UCF.&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
The UCF strongly embraces the [[XAML Basics#MVVM|MVVM]] architectural pattern, so it is highly recommended to familiarize yourself with that pattern before starting development. Also, the UCF is inherently asynchronous, thus it is also recommended to bring some experience with asynchronous programming patterns. &lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
It is recommened to use Microsoft Visual Studio for UBIK UCF development. The UCF packages can be obtained in [https://www.nuget.org/packages/UBIK.UCF/ various versions from nuget.org].&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
There are Tutorial projects for several different Platforms available, including Console, Web (Blazor Server), Android, iOS and Windows Apps (Xamarin Forms), as well as Hololens 2 (Unity). All Tutorials are hosted in a [https://github.com/augmensys private GitHub repository], where UBIK customers with a valid maintenance contract will get access upon request.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|UBIK Client Foundation (UCF)]]&lt;br /&gt;
[[Category:UCF|UBIK Client Foundation (UCF)]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=UBIK_Client_Foundation_(UCF)&amp;diff=27792</id>
		<title>UBIK Client Foundation (UCF)</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=UBIK_Client_Foundation_(UCF)&amp;diff=27792"/>
				<updated>2025-01-27T12:09:05Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The {{UBIK}} Client Foundation (UCF) is the Client SDK of {{UBIK}}, and therefore the foundation of any client that communicates with a {{UBIK}} server. The UCF can be used to develop own/custom {{UBIK}} clients, for a broad range of operating systems and devices.&lt;br /&gt;
The UCF is designed in a modular way, so that the user of the SDK is enabled to initialize only the features, that a client implementation requires. A Web Client for example, typically doesn't need offline support or NFC features, whereas a Tablet Client on the other hand, would typically benefit greatly from these modules.&lt;br /&gt;
&lt;br /&gt;
==Versioning==&lt;br /&gt;
UCF is versioned together with its released {{UBIK}} client, which means e.g. that the UCF Version 4.8 is also contained in all {{UBIK}} clients of version 4.8 - hence the release notes of that very version also apply to the UCF.&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
The UCF strongly embraces the [[XAML Basics#MVVM|MVVM]] architectural pattern, so it is highly recommended to familiarize yourself with that pattern before starting development. Also, the UCF is inherently asynchronous, thus it is also recommended to bring some experience with asynchronous programming patterns. &lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
It is recommened to use Microsoft Visual Studio for UBIK UCF development. The UCF packages can be obtained in [https://www.nuget.org/packages/UBIK.UCF/ various versions from nuget.org].&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
There are Tutorial projects for several different Platforms available, including Console, Web (Blazor Server), Android, iOS and Windows Apps (Xamarin Forms), as well as Hololens 2 (Unity). All Tutorials are hosted in a [https://github.com/augmensys private GitHub repository], where UBIK customers with a valid maintenance contract will get access upon request.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|UBIK Client Foundation (UCF)]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=UBIK_Client_Foundation_(UCF)&amp;diff=27791</id>
		<title>UBIK Client Foundation (UCF)</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=UBIK_Client_Foundation_(UCF)&amp;diff=27791"/>
				<updated>2025-01-27T12:07:01Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The {{UBIK}} Client Foundation (UCF) is the Client SDK of {{UBIK}}, and therefore the foundation of any client that communicates with a {{UBIK}} server. The UCF is designed in a modular way, so that the user of the SDK is enabled to initialize only the features, that a client implementation requires. A Web Client for example, typically doesn't need offline support or NFC features, whereas a Tablet Client on the other hand, would typically benefit greatly from these modules.&lt;br /&gt;
&lt;br /&gt;
==Versioning==&lt;br /&gt;
UCF is versioned together with its released {{UBIK}} client, which means e.g. that the UCF Version 4.8 is also contained in all {{UBIK}} clients of version 4.8 - hence the release notes of that very version also apply to the UCF.&lt;br /&gt;
&lt;br /&gt;
==Architecture==&lt;br /&gt;
The UCF strongly embraces the [[XAML Basics#MVVM|MVVM]] architectural pattern, so it is highly recommended to familiarize yourself with that pattern before starting development. Also, the UCF is inherently asynchronous, thus it is also recommended to bring some experience with asynchronous programming patterns. &lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
It is recommened to use Microsoft Visual Studio for UBIK UCF development. The UCF packages can be obtained in [https://www.nuget.org/packages/UBIK.UCF/ various versions from nuget.org].&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
There are Tutorial projects for several different Platforms available, including Console, Web (Blazor Server), Android, iOS and Windows Apps (Xamarin Forms), as well as Hololens 2 (Unity). All Tutorials are hosted in a [https://github.com/augmensys private GitHub repository], where UBIK customers with a valid maintenance contract will get access upon request.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|UBIK Client Foundation (UCF)]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=UBIK_Client_Foundation_(UCF)&amp;diff=27790</id>
		<title>UBIK Client Foundation (UCF)</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=UBIK_Client_Foundation_(UCF)&amp;diff=27790"/>
				<updated>2025-01-27T11:59:22Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The {{UBIK}} Client Foundation (UCF) is the Client SDK of {{UBIK}}, and therefore the foundation of any client that communicates with a {{UBIK}} server. The UCF is designed in a modular way, so that the user of the SDK is enabled to initialize only the features, that a client implementation requires. A Web Client for example, typically doesn't need offline support or NFC features, whereas a Tablet Client on the other hand, would typically benefit greatly from these modules.&lt;br /&gt;
&lt;br /&gt;
==Versioning==&lt;br /&gt;
UCF is versioned together with its released {{UBIK}} client, which means e.g. that the UCF Version 4.8 is also contained in all {{UBIK}} clients of version 4.8 - hence the release notes of that very version also apply to the UCF.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
It is recommened to use Microsoft Visual Studio for UBIK UCF development. The UCF packages can be obtained in [https://www.nuget.org/packages/UBIK.UCF/ various versions from nuget.org].&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
There are Tutorial projects for several different Platforms available, including Console, Web (Blazor Server), Android, iOS and Windows Apps (Xamarin Forms), as well as Hololens 2 (Unity). All Tutorials are hosted in a [https://github.com/augmensys private GitHub repository], where UBIK customers with a valid maintenance contract will get access upon request.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|UBIK Client Foundation (UCF)]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=UBIK_Client_Foundation_(UCF)&amp;diff=27789</id>
		<title>UBIK Client Foundation (UCF)</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=UBIK_Client_Foundation_(UCF)&amp;diff=27789"/>
				<updated>2025-01-27T10:40:33Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The {{UBIK}} Client Foundation (UCF) is the Client SDK of {{UBIK}}, and therefore the foundation of any client that communicates with a {{UBIK}} server. The UCF is designed in a modular way, so that the user of the SDK is enabled to initialize only the features, that a client implementation requires. A Web Client for example, typically doesn't need offline support or NFC features, whereas a Tablet Client on the other hand, would typically benefit greatly from these modules.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
It is recommened to use Microsoft Visual Studio for UBIK UCF development. The UCF packages can be obtained in [https://www.nuget.org/packages/UBIK.UCF/ various versions from nuget.org.]&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
There are Tutorial projects for several different Platforms available, including Console, Web (Blazor Server), Android, iOS and Windows Apps (Xamarin Forms) and Hololens 2 (Unity). All Tutorials are hosted in a [https://github.com/augmensys private GitHub respository], where UBIK customers with a valid maintenance contract will get access upon request.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|UBIK Client Foundation (UCF)]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=UBIK_Client_Foundation_(UCF)&amp;diff=27788</id>
		<title>UBIK Client Foundation (UCF)</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=UBIK_Client_Foundation_(UCF)&amp;diff=27788"/>
				<updated>2025-01-27T10:19:58Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: Created page with &amp;quot;The {{UBIK}} Client Foundation (UCF) is the Client SDK of {{UBIK}}, and therefore the foundation of any client that communicates with a {{UBIK}} server. The UCF is designed in...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The {{UBIK}} Client Foundation (UCF) is the Client SDK of {{UBIK}}, and therefore the foundation of any client that communicates with a {{UBIK}} server. The UCF is designed in a modular way, so that the user of the SDK is enabled to initialize only the features, that a client implementation requires. A Web Client for example, typically doesn't need offline support or NFC features, whereas a Tablet Client on the other hand, would typically benefit greatly from these modules.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
It is recommened to use Microsoft Visual Studio for UBIK UCF development. The UCF packages can be obtained in [https://www.nuget.org/packages/UBIK.UCF/ various versions from nuget.org.]&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
There are Tutorial projects for several different Platforms available, including Console, Web (Blazor Server), Android, iOS and Windows Apps (Xamarin Forms) and Hololens 2 (Unity). All Tutorials are hosted in a [https://github.com/augmensys private GitHub respository], where UBIK customers with a valid maintenance contract will get access upon request.&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=Category:UCF&amp;diff=27787</id>
		<title>Category:UCF</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=Category:UCF&amp;diff=27787"/>
				<updated>2025-01-27T10:19:44Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: Created page with &amp;quot;Category:Client&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Client]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=Category:Development&amp;diff=27786</id>
		<title>Category:Development</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=Category:Development&amp;diff=27786"/>
				<updated>2025-01-27T10:19:38Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: Created page with &amp;quot;Category:Client&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Client]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=Deploy_UI_Customizings_(Client)&amp;diff=27563</id>
		<title>Deploy UI Customizings (Client)</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=Deploy_UI_Customizings_(Client)&amp;diff=27563"/>
				<updated>2024-11-28T07:19:44Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;As a crucial part of the {{UBIK}} client, it is often the case that a set of UI customizings, once finished, is needed on multiple devices. Therefore, the deployment is an important step.&lt;br /&gt;
&lt;br /&gt;
== Location of UI customizing ==&lt;br /&gt;
UBIK clients use the same &amp;lt;code&amp;gt;[CurrentUserFolder]\AppData\Packages\AugmensysGmbH.UBIK.[ClientType]\LocalState\XAML&amp;lt;/code&amp;gt; folder as the root of all UI customizings.&lt;br /&gt;
* [CurrentUserFolder] is something like &amp;quot;C:\Users\UserName&amp;quot;;&lt;br /&gt;
* [ClientType] is either UWP or Xamarin.&lt;br /&gt;
&lt;br /&gt;
=== Profile specific customizing {{Version/XamarinSince|1.2}} ===&lt;br /&gt;
In some scenarios, a user might want to switch between two different sets of UI customizings depending on the selected profile. To achieve this, the customizing files need to be deployed accordingly.&lt;br /&gt;
&lt;br /&gt;
Every profile has a field called &amp;quot;Name&amp;quot;, which not only decides how it's displayed, but also tells the client under which sub folder it should look for profile specific customizings. Imagine a profile named &amp;quot;Demo_V3&amp;quot;, the client first tries to find a &amp;quot;Demo_V3&amp;quot; sub folder under the [[#Location_of_UI_customizing|root XAML folder]]. If it finds none, it then uses those under the root.&lt;br /&gt;
&lt;br /&gt;
{{Hint|There's also another field called &amp;quot;Customizing&amp;quot; in a profile. If specified, it overrules the &amp;quot;Name&amp;quot; field when it comes to the profile specific customizing folder. This is usually only used if you want different profiles to share the same set of customizings.}}&lt;br /&gt;
&lt;br /&gt;
== Manual deployment ==&lt;br /&gt;
This is an obvious approach of deploying UI customizings. From a {{UBIK}} perspective, this can be&lt;br /&gt;
* Manually copying/pasting the UI customizing files (XAMLs, images, etc.) to the desired devices;&lt;br /&gt;
* Other 3rd-party (e.g. customers' private rollout infrastructure) automated deployment systems.&lt;br /&gt;
&lt;br /&gt;
=== Import UI customizing ===&lt;br /&gt;
Since it's impossible to copy/paste files to the app data folder with UBIK.Xamarin for Android and iOS, those clients provide an alternative option to &amp;quot;Import Customizing&amp;quot; in the general settings.&lt;br /&gt;
* You can import a single XAML file which then ends up under the [[#Location_of_UI_customizing|root XAML folder]];&lt;br /&gt;
* You can also import a zip archive of many XAML files at once.&lt;br /&gt;
** With a zip archive, its content (files and folders) is unpacked under the [[#Location_of_UI_customizing|root XAML folder]] '''with the folder structure of the archive preserved'''. This is important because of the [[#Profile_specific_customizing|profile specific customizing]] feature.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== {{UBIK}} server deployment ==&lt;br /&gt;
{{Version/WinXSince|3.7}} {{Version/XamarinSince|1.1}} {{UBIK}} provides a new solution where UI customizings can be deployed from {{UBIK}} servers to the clients the same way content can be fetched.&lt;br /&gt;
&lt;br /&gt;
=== Technical concept ===&lt;br /&gt;
The UI customizings are delivered from {{UBIK}} servers to clients in the form of [[SYSCLS_UI_CUSTOMIZING|archive documents]] which contains the following.&lt;br /&gt;
* The archive files containing the packed UI customizing files;&lt;br /&gt;
* The version of the UI customizings.&lt;br /&gt;
&lt;br /&gt;
=== Client scenario ===&lt;br /&gt;
Once a {{UBIK}} client connects to a server and downloads such a customizing archive, it unpacks the archive file the same way it does during a [[#Import_UI_customizing|manual import]].&lt;br /&gt;
* If a folder or a file at the root level of the archive already has a same-named counterpart in the client's XAML folder, the existing one is first removed before the one from the archive gets unpacked;&lt;br /&gt;
** {{Version/WinXSince|4.7}} {{Version/XamarinSince|4.7}} A copy of the zip archive will be saved to the Documents/UIArchive folder.&lt;br /&gt;
* Once the archive is unpacked, the client tries to reload the UI customizings. If a set is found for the currently selected profile, one should see the changes in the UI;&lt;br /&gt;
* Most likely, you would want to include a certain folder structure in the archive to achieve [[#Profile_specific_customizing|profile specific customizing]].&lt;br /&gt;
&lt;br /&gt;
=== Some other details ===&lt;br /&gt;
* The download of a document file is not always automatically done in {{UBIK}} clients.&lt;br /&gt;
** If the archive document is a part of the infrastructure objects, its file is automatically downloaded during login (as long as the client is in online/auto sync mode);&lt;br /&gt;
** Otherwise, one has to either navigate to that document or download a branch containing that document.&lt;br /&gt;
* One can deploy multiple sets of UI customizings in a single archive document by placing them under corresponding folders. Theoretically, it's okay to configure and deliver multiple archive documents to the clients since the content will be unpacked just the same. However, it's our recommendation to use a single archive document not only because it's simpler, but also see below;&lt;br /&gt;
[[File:UI_WinX_Customizing_Version.png|thumb|alt=Customizing Version|Customizing Version]]&lt;br /&gt;
* The version information of the UI customizings is available on the archive document and is displayed together with the client version at the bottom of the login page. Currently there's no additional UI to display a list of versions, so the version of a randomly chosen archive will be displayed in case multiple are present. Also, the version information only becomes available after a user logins in (which grants access to the content).&lt;br /&gt;
&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
Sometimes, unpacking UI customizing archives might fail because the app cannot overwrite some files which are being used in the current UI. A typical example of this is related to using the Image control.&lt;br /&gt;
In the example below, an image file &amp;quot;UBIK.png&amp;quot; under the &amp;quot;Demo&amp;quot; customizing folder is referenced by an Image control. If such a control is displayed while an archive containing a set of UI customizings with the same name &amp;quot;Demo&amp;quot; is received on the client, the unpacking will fail because the UI is still holding onto the file, which blocks the unpacking.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Grid&amp;gt;&lt;br /&gt;
    &amp;lt;Image ...&lt;br /&gt;
        Source=&amp;quot;ms-appdata:///local/xaml/Demo/Images/UBIK.png&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Grid&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
This tends to happen with image files used in the login/home page since that's where users are most likely at when UI customizing archives are received. In such cases, one can use the following converter technique so that the image files can be safely deleted even when they are being displayed.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Grid&amp;gt;&lt;br /&gt;
    &amp;lt;Grid.Resources&amp;gt;&lt;br /&gt;
        &amp;lt;x:String x:Key=&amp;quot;logo&amp;quot;&amp;gt;ms-appdata:///local/xaml/Demo/Images/UBIK.png&amp;lt;/x:String&amp;gt;&lt;br /&gt;
    &amp;lt;/Grid.Resources&amp;gt;&lt;br /&gt;
    &amp;lt;Image ...&lt;br /&gt;
        Source=&amp;quot;{Binding Source={StaticResource logo}, Converter={StaticResource PathToImageConverter}}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Grid&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{Attention|The converter essentially creates a copy of the image file in the device memory. While solving the deletion problem, it does add up the memory consumption. So one should be cautious about using this converter too much especially when the images are relatively large.}}&lt;br /&gt;
{{Hint|An easy way to verify whether the failing of unpack is related to the deletion is to check in Windows Explorer whether there are files that can not be manually deleted in the target unpakcing folder before closing the {{UBIK}} app. If that's the case, please check the customizings and see if there's any reference to those files that can not be deleted. When the problem is not solvable with the above mentioned technique, please [https://support.augmensys.net/scp/index.php create a ticket with sufficient details] or manually delete the files after closing the app.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Delete UI customizings ==&lt;br /&gt;
In UWP, customizing files can be deleted manually in the app data folder.&lt;br /&gt;
&lt;br /&gt;
Similar to the importing scenario, it's impossible to delete customizing files from the app data folder with UBIK.Xamarin for Android and iOS, those clients provide an alternative option to &amp;quot;Delete Customizing&amp;quot; in the general settings (not yet available on UWP).&lt;br /&gt;
* {{Version/XamarinSince|4.7}} All customizing files for all users will be cleared.&lt;br /&gt;
* Versions before 4.7: to properly clear all customizing related files it is necessary to &amp;quot;Delete files&amp;quot; additionally to &amp;quot;Delete Customizing&amp;quot; (Note: with &amp;quot;Delete files&amp;quot; all online documents will be cleared).&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Deploy UI Customizings (Client)]]&lt;br /&gt;
[[Category:WinX|Deploy UI Customizings (Client)]]&lt;br /&gt;
[[Category:Xamarin|Deploy UI Customizings (Client)]]&lt;br /&gt;
[[Category:XAML|Deploy UI Customizings (Client)]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=MROCLS_MRO_SUPERVISOR&amp;diff=27352</id>
		<title>MROCLS MRO SUPERVISOR</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=MROCLS_MRO_SUPERVISOR&amp;diff=27352"/>
				<updated>2024-10-17T10:50:50Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ClassificationInfoBox&lt;br /&gt;
| title = MRO Supervisor Classification Object &lt;br /&gt;
| name = {{PAGENAMEE}}&lt;br /&gt;
| inheritance = SYSCLS_OBJECTWITHRFIDTAG&lt;br /&gt;
| namespace = System.MRO&lt;br /&gt;
| purpose = Classify a User as a Supervisor to let him approve Supervisor Tasks.&lt;br /&gt;
| version = 4.8.1+&lt;br /&gt;
| id = {1DD7076B-7E27-422D-8317-315EED8CCBB1}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If a Login object is classified as Supervisor it can act as such in the device based  4-eyes acceptance workflow.&lt;br /&gt;
Only Supervisors are allowed to finish Supervisor Tasks.&lt;br /&gt;
&lt;br /&gt;
== MetaProperties ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=50%&lt;br /&gt;
|-&lt;br /&gt;
! width=30% | Name !! width=20% | Data type !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| PERMISSIONS|| {{string}} || Concatenated string to define permissions (codes) that are required to open this task.&lt;br /&gt;
|-&lt;br /&gt;
| PIN_HASH|| {{string}} ||  String property storing the hash code of the entered pin.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:4.8.1|MROCLS MRO SUPERVISOR]]&lt;br /&gt;
[[Category:Classifications|MROCLS MRO SUPERVISOR]]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[MROCLS_MRO_SUPERVISOR_TASK|Supervisor Task]]&lt;br /&gt;
* [[MRO_Objects_(Client)#Supervisor_Task]]&lt;br /&gt;
&lt;br /&gt;
{{Category/Version|4.8.1}}&lt;br /&gt;
&lt;br /&gt;
[[Category:4.8.1|MROCLS MRO SUPERVISOR]]&lt;br /&gt;
[[Category:Classifications|MROCLS MRO SUPERVISOR]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=MROCLS_MRO_SUPERVISOR_TASK&amp;diff=27351</id>
		<title>MROCLS MRO SUPERVISOR TASK</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=MROCLS_MRO_SUPERVISOR_TASK&amp;diff=27351"/>
				<updated>2024-10-17T10:50:28Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ClassificationInfoBox&lt;br /&gt;
| title = MRO Supervisor Task Classification Object &lt;br /&gt;
| name = {{PAGENAMEE}}&lt;br /&gt;
| inheritance = MROCLS_MRO_TASK&lt;br /&gt;
| namespace = System.MRO&lt;br /&gt;
| purpose = Classify a task as a Supervisor Task to let only Supervisors approve this task.&lt;br /&gt;
| version = 4.8.1+&lt;br /&gt;
| id = {C63511FA-4852-4FE7-B5BC-4247136B8B8E}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If a task object is classified as Supervisor Task, it will mark a task as supervisor - task. This means, that this task may only be edited by a supervisor who has to identify himself using a RFID token and a PIN based verification. This task fullfills the requirements of a device based/shared 4-eyes acceptance workflow.&lt;br /&gt;
&lt;br /&gt;
== MetaProperties ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=50%&lt;br /&gt;
|-&lt;br /&gt;
! width=30% | Name !! width=20% | Data type !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| PERMISSIONS|| {{string}} || Concatenated string to define permissions (codes) that are required to open this task.&lt;br /&gt;
|-&lt;br /&gt;
| SUPERVISOR|| {{guid}} || Reference to the supervisor login that finished the Task. &lt;br /&gt;
|}&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[MROCLS_MRO_SUPERVISOR|Supervisor]]&lt;br /&gt;
* [[MRO_Objects_(Client)#Supervisor_Task]]&lt;br /&gt;
&lt;br /&gt;
{{Category/Version|4.8.1}}&lt;br /&gt;
&lt;br /&gt;
[[Category:4.8.1|MROCLS MRO SUPERVISOR TASK]]&lt;br /&gt;
[[Category:Classifications|MROCLS MRO SUPERVISOR TASK]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=View_Cache&amp;diff=26012</id>
		<title>View Cache</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=View_Cache&amp;diff=26012"/>
				<updated>2024-03-14T14:55:06Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: /* GetViewStateDetails */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The View Cache feature increases the performance of the [[web Service]] by caching the data to be published and sent to the clients. All content data as well as the hierarchies, as defined by the [[View]] and in the [[ACM]], is evaluated and cached internally. Be aware, that this data does not encompass the physical documents linked to the objects, hence the documents have to be loaded if requested from the client.&lt;br /&gt;
&lt;br /&gt;
A client's request for hierarchical data, covering '''two or more hierarchy''' levels, will be handled using the cached data. Any request covering only one hierarchy level will by-pass the view cache and be treated directly. For example, browsing through the objects using the [[Content Browser]] does not use the View Cache, whereas preparing the [[HowTo:Switch_to_Offline_Mode|Offline Mode]] utilizes the cache to improve performance.&lt;br /&gt;
&lt;br /&gt;
Once the cache has been initialized, its status and additional information can be retrieved by [[#Web Service Interface|web service methods]].&lt;br /&gt;
{{Attention|Up to now the View Cache needs to be initialized and updated manually after every (re)start of the web service. This can be done manually or by using an automatism!}}&lt;br /&gt;
&lt;br /&gt;
== Using the View Cache ==&lt;br /&gt;
=== Initialization / Update of View Cache ===&lt;br /&gt;
The cache needs to be initialized after a web service has been (re)started by calling the method [[#TriggerViewStateUpdate|TriggerViewStateUpdate]].&lt;br /&gt;
If a client commits data via a web service having the View Cache enabled, the cached data gets updated. Consequently, any other client connected to this web service receives this updates as well.&lt;br /&gt;
{{Attention|Be aware, that the View Cache's scope is valid only within a web service instance. A client connected to a different web service does not receive updates happening in a different web service's View Cache.}}&lt;br /&gt;
&lt;br /&gt;
=== Application Pool Settings ===&lt;br /&gt;
[[File:UI ApplicationPool AdvancedSettings.png|thumb|Application Pool / Advanced Settings]]&lt;br /&gt;
Any in-memory data of a web service, respectively an application pool, is lost whenever application pools are (automatically) recycled. Although there is no downtime during a recycle, this empties the View Cache's memory.&lt;br /&gt;
&lt;br /&gt;
Due to the missing automatism for a periodic initialization or update, the default interval settings for recycling '''must''' be changed, such that the application pool and the related web services are not recycled automatically.&lt;br /&gt;
&lt;br /&gt;
The according settings of the application pool are&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Setting !! Default value !! Recommended value !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| {{Menu nav|Advanced Settings|Recycling|Regular Time Interval (minutes)}} || 1740 || 0 || Application pool will be recycled after this time&lt;br /&gt;
|-&lt;br /&gt;
| {{Menu nav|Advanced Settings|Process model|Idle Time-out (minutes)}}|| 20 || 0 || Application pool will be terminated after this time without any traffic&lt;br /&gt;
|}&lt;br /&gt;
{{Attention|The value of the ''Idle Time-out (in minutes)'' property must be less than the value of the ''Regular Time Interval (in minutes)'' property (Source: [https://support.microsoft.com/en-us/kb/954871 Microsoft Support]).}}&lt;br /&gt;
&lt;br /&gt;
=== Testing ===&lt;br /&gt;
Test the View Cache's result for a single object, given by its {{Guid}}, via the method [[#TestViewState|TestViewState]].&lt;br /&gt;
The result will not retrieve the physical documents.&lt;br /&gt;
&lt;br /&gt;
== Web Service Interface ==&lt;br /&gt;
Use the these web service members to gain status and runtime information of the View Cache. More detailed information and a comprehensive list of all members and data types are located in the {{UBIK}} class documentation.&lt;br /&gt;
&lt;br /&gt;
=== GetViewStateInformation ===&lt;br /&gt;
Get information about the current state of the View Cache.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Gets information abut the state of view cache.&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;appName&amp;quot;&amp;gt;Name of the application.&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;contextName&amp;quot;&amp;gt;Name of the context.&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;authentication&amp;quot;&amp;gt;The authentication.&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;returns&amp;gt;Information about the state of the view cache as human readable string&amp;lt;/returns&amp;gt;&lt;br /&gt;
        [OperationContract]&lt;br /&gt;
        [WebInvoke(UriTemplate = &amp;quot;GetViewStateInformation/{appName}/{contextName}/{authentication}&amp;quot;, Method = &amp;quot;GET&amp;quot;,&lt;br /&gt;
                   RequestFormat = WebMessageFormat.Json,&lt;br /&gt;
                   ResponseFormat = WebMessageFormat.Json)]&lt;br /&gt;
        string GetViewStateInformation(string appName, string contextName, string authentication);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To call this in a web browser, one can access&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
https://ContentServerAddress/ContentServicePath/GetViewStateInformation/AppName/ContextName/333b99c9-233d-41d6-848c-81fe0b13a537&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
to fetch data. Please replace ContentServerAddress, ContentServicePath, AppName and ContextName with the actual service configs.&lt;br /&gt;
&lt;br /&gt;
Once the view cache is ready, the response should say something like &amp;quot;Cache State &amp;lt;&amp;lt;ONLINE&amp;gt;&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== TriggerViewStateUpdate ===&lt;br /&gt;
Start or trigger reinitialization of the View Cache.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Triggers a refresh of the view cache.&lt;br /&gt;
        /// The current cache stays valid until the new cache was fully built.&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;appName&amp;quot;&amp;gt;Name of the application.&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;contextName&amp;quot;&amp;gt;Name of the context.&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;authentication&amp;quot;&amp;gt;The authentication.&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;returns&amp;gt;true as the refresh was triggered successfully, false otherwise&amp;lt;/returns&amp;gt;&lt;br /&gt;
        [OperationContract]&lt;br /&gt;
        [WebInvoke(UriTemplate = &amp;quot;TriggerViewStateUpdate/{appName}/{contextName}/{authentication}&amp;quot;, Method = &amp;quot;GET&amp;quot;,&lt;br /&gt;
                   RequestFormat = WebMessageFormat.Json,&lt;br /&gt;
                   ResponseFormat = WebMessageFormat.Json)]&lt;br /&gt;
        bool TriggerViewStateRefresh(string appName, string contextName, string authentication);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To call this in a web browser, one can access&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
https://ContentServerAddress/ContentServicePath/TriggerViewStateUpdate/AppName/ContextName/333b99c9-233d-41d6-848c-81fe0b13a537&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
to trigger an update. Please replace ContentServerAddress, ContentServicePath, AppName and ContextName with the actual service configs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== GetViewStateDetails ===&lt;br /&gt;
Gets detail information abut the view cache, it's state and the duration for loading its components.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Gets detail information abut the view cache, it's state and the duration for loading its components.&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;appName&amp;quot;&amp;gt;Name of the application.&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;contextName&amp;quot;&amp;gt;Name of the context.&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;authentication&amp;quot;&amp;gt;The authentication.&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;returns&amp;gt;Detail information abut the view cache, it's state and the duration for loading its components&amp;lt;/returns&amp;gt;&lt;br /&gt;
        [OperationContract]&lt;br /&gt;
        [WebInvoke(UriTemplate = &amp;quot;GetViewStateDetails/{appName}/{contextName}/{authentication}&amp;quot;, Method = &amp;quot;GET&amp;quot;,&lt;br /&gt;
                   RequestFormat = WebMessageFormat.Json,&lt;br /&gt;
                   ResponseFormat = WebMessageFormat.Json)]&lt;br /&gt;
        UBIK.Service.DTO.V360.ViewCacheInfoItem[] GetViewStateDetails(string appName, string contextName, string authentication);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To call this in a web browser, one can access&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
https://ContentServerAddress/ContentServicePath/GetViewStateDetails/AppName/ContextName/333b99c9-233d-41d6-848c-81fe0b13a537&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
to fetch details. Please replace ContentServerAddress, ContentServicePath, AppName and ContextName with the actual service configs.&lt;br /&gt;
&lt;br /&gt;
As long as the ViewCache is not initiliazed (not online yet) you will only receive details about the Data Pool and its size.&lt;br /&gt;
&lt;br /&gt;
[[Category:Installing|View Cache]]&lt;br /&gt;
[[Category:Web service|View Cache]]&lt;br /&gt;
&lt;br /&gt;
=== TestViewState===&lt;br /&gt;
Test the View Cache's result for a single object, without retrieving the physical documents.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Test member for testing the View Cache.&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;appName&amp;quot;&amp;gt;Name of the application.&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;contextName&amp;quot;&amp;gt;Name of the context.&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;ownerUID&amp;quot;&amp;gt;UID of the object the test should be executed for (e.g. root object). All data below this object will be delivered.&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name=&amp;quot;authentication&amp;quot;&amp;gt;The authentication.&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;returns&amp;gt;data stored in the view cache as BCHierarchyDeltaShipments&amp;lt;/returns&amp;gt;&lt;br /&gt;
        [OperationContract]&lt;br /&gt;
        [WebInvoke(UriTemplate = &amp;quot;TestViewState/{appName}/{contextName}/{owneruid}/{authentication}&amp;quot;, Method = &amp;quot;GET&amp;quot;,&lt;br /&gt;
                   RequestFormat = WebMessageFormat.Json,&lt;br /&gt;
                   ResponseFormat = WebMessageFormat.Json)]&lt;br /&gt;
        DTO.V211.BCHierarchyDeltaShipments TestViewState(string appName, string contextName, string ownerUID, string authentication);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [http://weblogs.asp.net/owscott/why-is-the-iis-default-app-pool-recycle-set-to-1740-minutes Why is the IIS default app pool recycle set to 1740 minutes?]&lt;br /&gt;
&lt;br /&gt;
[[Category:Installing|View Cache]]&lt;br /&gt;
[[Category:Web service|View Cache]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=Activity:CreateOPCUAConnection_(Activity)&amp;diff=25976</id>
		<title>Activity:CreateOPCUAConnection (Activity)</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=Activity:CreateOPCUAConnection_(Activity)&amp;diff=25976"/>
				<updated>2024-03-06T10:49:29Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The CreateOPCUAConnection creates a connection to an OPC UA data source. A valid connection is the initial step in communicating with OPC sources.&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
{{ActivityInfoBox&lt;br /&gt;
| title = Create OPC UA Connection&lt;br /&gt;
| name = CreateOPCUAConnection&lt;br /&gt;
| image = [[File:UI_Activity_CreateOPCUAConnection.png|220px]]&lt;br /&gt;
| imagecaption = CreateOPCUAConnection (Expanded)&lt;br /&gt;
| purpose = Connect to OPC UA&lt;br /&gt;
| category = UBIK OPC UA Interface&lt;br /&gt;
| returns = True if successful&lt;br /&gt;
| version = 2.4.1+&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Arguments===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; | width = &amp;quot;70%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Argument!! Type !! Direction !! Purpose &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| SessionName|| {{String_MSDN}}|| In || Configures the session name property of an UPC UA connection. This name is transferred to the server when the connection is opened.&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| ApplicationName|| {{String_MSDN}}|| In || Configures the OPC UA application name property of an OPC UA connection. The application name is used to configure the OPC UA endpoint and to identify the client certificate in the Windows certification store.&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| ApplicationURI|| {{String_MSDN}}|| In || Configures the OPC UA application URI property of an OPC UA connection. The application URI is used to configure the OPC UA endpoint.&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| ProductURI|| {{String_MSDN}}|| In || Configures the OPC UA product URI property of an OPC UA connection. The product URI is used to configure the OPC UA endpoint.&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| TransportProfile|| OpcUaTransportProfileType|| In || Configures the transport profile to use for the client endpoint.&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| URL|| {{String_MSDN}}|| In || Configures the session URL property of an OPC UA connection. The session URL specifies the target point for an OPC UA connection and contains the transport protocol (i.e. TCP or HTTP) and the target address, along with optional parameters to identify specific channels on the target server.&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| URL_HTTP|| {{String_MSDN}}|| In || ...&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| URL_TCP|| {{String_MSDN}}|| In || ...&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| OperationTimeOut|| {{TimeSpan_MSDN}}|| In || Configures the operation timeout property of an OPC UA connection. Actions initiated by the client will time out, if they are not completed within the timeout value specified by this option. The default value is 60 seconds.&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| UseBinaryEncoding|| {{String_MSDN}}|| In || Configures the OPC UA connection to use the OPC UA binary encoding. If this option is configured to false, XML encoding will be used.&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| ClientCertificate|| X509Certificate2|| In || Configures the client certificate to use for the OPC UA connection. The client certificate will be used by the server to authenticate the client. Connections no validated successfully will be forcefully closed by the server.&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| [[#CertificateStoreType|CertificateStoreType]] || {{String_MSDN}}|| In || Configures the certificate store type to use for the retrieval of the client certificate when it is not directly configured. The default is to search the Windows certificate storage.&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| [[#CertificateStorePath|CertificateStorePath]] || {{String_MSDN}}|| In || Configures the certificate store path to use for the retrieval of the client certificate when it is not directly configured. The default is to search for certificates installed to the local machine (as opposed to the current user).&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| CertificateSubject|| {{String_MSDN}}|| In || Configures the subject of the client certificate when retrieving that from the certificate storage.&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| SecurityPolicy|| OpcUaSecurityPolicyType|| In || Configures the security policy to use for the client endpoint.&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| MessageSecurity|| OpcUaMessageSecurityMode|| In || Configures the message security mode to use for the client endpoint.&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| UserName|| {{String_MSDN}}|| In || Configures the options for a username/password style authentication.&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Password|| {{String_MSDN}}|| In || Configures the options for a username/password style authentication.&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Connection|| OpcUaServerConnection|| Out || returns the created connection.&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Result|| {{Boolean_MSDN}}|| Out || True if successful, false if failed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== CertificateStoreType ====&lt;br /&gt;
* &amp;quot;Windows&amp;quot; ... for a windows certificate store,&lt;br /&gt;
* &amp;quot;Directory&amp;quot; ... for a directory certificate store.&lt;br /&gt;
==== CertificateStorePath ====&lt;br /&gt;
The value has to be a combination of the OPA UA ''StoreLocation'' and ''StoreNames'' constants, for example &amp;quot;LocalMachine\My&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Constants that identify certificate store locations.&lt;br /&gt;
* &amp;quot;CurrentUser&amp;quot; ... The store assigned to the current user. &lt;br /&gt;
* &amp;quot;LocalMachine&amp;quot; ... The store assigned to the local machine. &lt;br /&gt;
&lt;br /&gt;
Constants that identify certificate store names.&lt;br /&gt;
* &amp;quot;UA Applications&amp;quot; ... The store used for UA application certificates. &lt;br /&gt;
* &amp;quot;UA Certificate Authorities&amp;quot; ... The store used for UA certificate authorities certificates. &lt;br /&gt;
* &amp;quot;My&amp;quot; ... The store used for personal certificates.&lt;br /&gt;
* &amp;quot;Root&amp;quot; ... The store used for trusted root certificate authorities.&lt;br /&gt;
&lt;br /&gt;
[[Category:OPC|CreateOPCUAConnection (Activity)]]&lt;br /&gt;
&lt;br /&gt;
===Usage===&lt;br /&gt;
This activity is used to start the communication with an OPC data source. It is a nestable activity, which means it can host any amount of sub-activities that will be processed sequentially. The hosted activities are typically [[Activity:ConfigureOPCUAVariable (Activity)|ConfigureOPCUAVariable]] activities, either as direct children but also wrapped within looping activities like ForEach or While.&lt;br /&gt;
&lt;br /&gt;
=Example=&lt;br /&gt;
The CreateOPCUAConnection activity, as used in the larger example &amp;quot;Read value from OPC variable&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[File:UI_Activity_CreateOPCUAConnection_Example.png|x700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[OPC UA (Plugin)]]&lt;br /&gt;
* [[Workflow Designer]]&lt;br /&gt;
* [[Activity:ConfigureOPCUAVariable (Activity)]]&lt;br /&gt;
* [[Activity:CreateOPCUAScope (Activity)]]&lt;br /&gt;
* [http://documentation.unified-automation.com/uasdkdotnet/2.3.1/html/namespaceUnifiedAutomation.html UA Bundle SDK .NET]&lt;br /&gt;
&lt;br /&gt;
[[Category:OPC|CreateOPCUAConnection (Activity)]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=OPC_UA_(Plugin)&amp;diff=25975</id>
		<title>OPC UA (Plugin)</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=OPC_UA_(Plugin)&amp;diff=25975"/>
				<updated>2024-03-06T10:48:47Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The {{UBIK}} [http://en.wikipedia.org/wiki/OPC_Unified_Architecture OPC Unified Architecture] interface module enables interfacing between a {{UBIK}} server and any OPC UA compliant data source in a bidirectional manner.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
[[File:UI_OPCUA_Certificate.png|border|thumb|Export Certificate]]&lt;br /&gt;
The {{UBIK}} OPC UA components are acting as an OPC Client, therefore a secure connection to the respective OPC Server needs to be established in order to be able to communicate. The security standards that need to be applied are highly dependent on the server configuration and security infrastructure, but normally at least a client certificate needs to be issued that has to be trusted by the server:&lt;br /&gt;
&lt;br /&gt;
# Open a command box on the {{UBIK}} server with administrator privileges (''&amp;quot;Run as administrator...&amp;quot;'')&lt;br /&gt;
# Run the program ''CreateCertifcate.exe'' from this archive {{FileLink|CreateCertificate.zip|CreateCertificate.zip}}&lt;br /&gt;
# Open the program ''Manage computer certificates'' (typically ''C:\WINDOWS\System32\certlm.msc'')&lt;br /&gt;
# Navigate to ''Personal - Certificates'' and find the certificate named ''UBIK OPCUA Interface'' &lt;br /&gt;
# Export the certificate and trust it on your OPC server&lt;br /&gt;
&lt;br /&gt;
=={{UBIK}} Activities==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Activity!! Category !! Purpose (Short)&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| [[Activity:CreateOPCUAConnection (Activity)|CreateOPCUAConnection]]|| UBIK OPC UA Interface  || Creates a new connection to an OPC UA data source&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| [[Activity:ConfigureOPCUAVariable (Activity)|ConfigureOPCUAVariable]]|| UBIK OPC UA Interface  || Configures a single OPC variable in a connection for later access&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| [[Activity:CreateOPCUAScope (Activity)|CreateOPCUAScope]]|| UBIK OPC UA Interface  || Defines a scope in an OPC UA connection wherein variables can be accessed&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| [[Activity:AccessOPCUAVariable (Activity)|AccessOPCUAVariable]]|| UBIK OPC UA Interface  || Reads or writes a single configured OPC UA variable&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
Download example workflow {{FileLink|OPCReadVariables.uwf|OPCReadVariables.uwf}} for use against the OPC Quickstart Data Access Server.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [http://documentation.unified-automation.com/uasdkdotnet/2.3.1/html/namespaceUnifiedAutomation.html UA Bundle SDK .NET]&lt;br /&gt;
* [[Activity:CreateOPCUAConnection_(Activity)|CreateOPCUAConnection (Activity)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OPC|OPC UA (Module)]]&lt;br /&gt;
[[Category:Plugin|OPC UA (Plugin)]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=HowTo:Configure_Microsoft_IIS_for_UBIK&amp;diff=25843</id>
		<title>HowTo:Configure Microsoft IIS for UBIK</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=HowTo:Configure_Microsoft_IIS_for_UBIK&amp;diff=25843"/>
				<updated>2024-02-08T10:42:00Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: /* Certificate */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:UI_10_IIS_Manager.png|thumb|220px|alt=IIS Manager|IIS Manager]]&lt;br /&gt;
The web server can be configured using the ''Internet Information Services (IIS) Manager'' console, which provides a graphical user interface to manage and configure the web server accordingly for the {{UBIK}} web service.&lt;br /&gt;
&lt;br /&gt;
== Add Application Pool ==&lt;br /&gt;
An application pool is a group of one or more URLs that are served by a worker process or a set of worker processes. Application pools set boundaries for the applications they contain, which means that any applications that are running outside a given application pool cannot affect the applications in the application pool.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;400&amp;quot; heights=&amp;quot;400&amp;quot; &amp;gt;&lt;br /&gt;
File:UI Application Pool.01.png|1 - Application Pool&lt;br /&gt;
File:UI Application Pool.02.png|2 - Application Pool&lt;br /&gt;
File:UI Application Pool.03.png|3 - Application Pool&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Attention|If a [[#Optional:_Local_IIS_User|local user]] is used it must be set at the ''Identity'' parameter of the Application Pool.}}&lt;br /&gt;
&lt;br /&gt;
== Certificate ==&lt;br /&gt;
A secure connection between the {{UBIK}} clients and web service requires a SSL certificate on both, the server and client. This certificate can either be a root authority certificate, or any other public key certificate from a certificate authority enabling a secured connection between the web service and the clients. Self-signed certifcates will be rejected by the client {{Version/WinXSince|4.0}}  {{Version/XamarinSince|4.0}}&lt;br /&gt;
&lt;br /&gt;
A new self-signed certificate can be created in the ''Internet Information Server (IIS) Manager'', exported using the export function and sent to the development team. As already mentioned, the client has to know this certificate as well, hence it need to be integrated it into the mobile application.&lt;br /&gt;
&lt;br /&gt;
{{Attention|{{UBIK}} requires a valid certificate for SSL encryption, free certifcates can be obtained e.g. from [https://letsencrypt.org/ Let's Encrypt]!}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;400&amp;quot; heights=&amp;quot;400&amp;quot; &amp;gt;&lt;br /&gt;
File:UI Certificate.01.png|1 - IIS Configuration&lt;br /&gt;
File:UI Certificate.02.png|2 - Installed certificates&lt;br /&gt;
File:UI Certificate.03.png|3 - Create self-signed certificate&lt;br /&gt;
File:UI Certificate.05.png|4 - Import certificate&lt;br /&gt;
File:UI Certificate.04.png|5 - Installed certificates&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-To|Configure Microsoft IIS for UBIK]]&lt;br /&gt;
[[Category:Installing|Configure Microsoft IIS for UBIK]]&lt;br /&gt;
[[Category:Pages with broken file links|Configure Microsoft IIS for UBIK]]&lt;br /&gt;
[[Category:Web service|Configure Microsoft IIS for UBIK]]&lt;br /&gt;
&lt;br /&gt;
== Bindings ==&lt;br /&gt;
Web sites and services have something called ''Server Bindings'' which represent the underlying address, port, and potentially a host header that the website is accessed using. The {{UBIK}} client accesses the web service via a secured port (https), where it is necessary to configure the appropriate certificate.&lt;br /&gt;
&lt;br /&gt;
===For Android Clients===&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;400&amp;quot; heights=&amp;quot;400&amp;quot; &amp;gt;&lt;br /&gt;
File:UI Binding.01.png|1 - Binding&lt;br /&gt;
File:UI Binding.02.png|2 - Binding&lt;br /&gt;
File:UI Binding.03.png|3 - Binding&lt;br /&gt;
File:UI Binding.04.png|4 - Binding&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===For WinX and Web-Client===&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;400&amp;quot; heights=&amp;quot;400&amp;quot; &amp;gt;&lt;br /&gt;
File:UI Binding.01.png|1 - Binding&lt;br /&gt;
File:UI_Binding_Win8.02.png|2 - Binding&lt;br /&gt;
File:UI_Binding_Win8.01.png|3 - Binding&lt;br /&gt;
File:UI_Binding_Win8.02.png|4 - Binding&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Configure compression ==&lt;br /&gt;
Web service responses can be compressed in order to improve performance and reduce web traffic. This can be easily done from the web server side in IIS manager.&lt;br /&gt;
{{Hint|In case the compression modules are not yet installed, please refer to [[https://www.iis.net/configreference/system.webserver/httpcompression?showTreeNavigation=true this]] for instructions.}}&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;400&amp;quot; heights=&amp;quot;300&amp;quot; &amp;gt;&lt;br /&gt;
File:HowTo_IIS_Compression_01.png|1 - Entries for compression settings&lt;br /&gt;
File:HowTo_IIS_Compression_02.png|2 - Enable compression in general&lt;br /&gt;
File:HowTo_IIS_Compression_03.png|3 - Configure what &amp;amp; when to compress&lt;br /&gt;
File:HowTo_IIS_Compression_04.png|4 - Configure what to compress&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
* It is possible to configure when to compress service responses like shown in Figure.3. The &amp;quot;dynamicCompressionDisableCpuUsage&amp;quot; tells the service to stop compressing when the CPU load reaches above 90%; And the &amp;quot;dynamicCompressionEnableCpuUsage&amp;quot; tells the service to start compressing when the CPU load drops below 50%. These parameters should work well in most cases but can be modified if necessary;&lt;br /&gt;
* {{UBIK}} service responses are in formats of either &amp;quot;text/xml&amp;quot;(text/*) or &amp;quot;application/json&amp;quot;. So just make sure they are configured to be compressed like shown in Figure.4. If there are no such entries, just right click and add them accordingly;&lt;br /&gt;
* There are 10 different levels of compression, ranging from 0~9 where 9 is most CPU intensive but produces the best compress rate. The default level is 0 and this can be changed (e.g. to level 9) with the following command (need to run the Windows console as an administrator first):&lt;br /&gt;
 C:\Windows\System32\Inetsrv\Appcmd.exe set config -section:httpCompression -[name='gzip'].dynamicCompressionLevel:9&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;700&amp;quot; heights=&amp;quot;140&amp;quot; &amp;gt;&lt;br /&gt;
File:HowTo_IIS_Compression_05.png|5 - Change compression levels&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
Here are some test results of the transferred content size and duration under different compression levels.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot; | style=&amp;quot;text-align:right;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align:right;&amp;quot;| Compression Level !! style=&amp;quot;text-align:right;&amp;quot;| Meta Definitions !! style=&amp;quot;text-align:right;&amp;quot;| One Content Level !! style=&amp;quot;text-align:right;&amp;quot;| Branch Download&lt;br /&gt;
|-&lt;br /&gt;
| Level 0|| 4,732,058 bytes || 23,470 bytes || 318,847,597 bytes (9 minutes)&lt;br /&gt;
|-&lt;br /&gt;
| Level 4|| 3,050,115 bytes || 7,915 bytes || 79,384,336 bytes (5 minutes)&lt;br /&gt;
|-&lt;br /&gt;
| Level 9|| 2,851,318 bytes || 5,681 bytes || 48,037,714 bytes (4 minutes)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
As one can see from the table, compression can greatly reduce the amount of data to transfer. So theoretically, it is recommended to turn it on and use a higher compression level whenever possible. In practice, though, one has to check the following facts before making such a decision.&lt;br /&gt;
* CPU: Compression will require additional CPU processing power (more for higher levels).&lt;br /&gt;
* Network bandwidth: The lower the bandwidth, the more sense it makes to enable compression.&lt;br /&gt;
&lt;br /&gt;
In the table above, one might already notice the reduction in time is not linear to the reduction in data amount. Take level 0 and level 9 for example, the time is &amp;quot;only&amp;quot; cut in half even when the data amount is reduced by 85%. These were tested with a 54Mbps bandwidth. Once we did our tests again with a 450Mbps bandwidth, the time reduction is even less (less than 6 minutes v.s. 3 minutes). If the bandwidth increases further, e.g. to Gbps, the time reduction might become negligible. Combined with a weak CPU, it is even possible that the time will be increased with higher compression levels.&lt;br /&gt;
&lt;br /&gt;
Therefore, there is no general rulebooks for whether to turn on compression or not. The safest approach is still to try out different settings in the real setup.&lt;br /&gt;
&lt;br /&gt;
As for the memory consumption, no observable difference was found between different compression settings (no compression and level 0 to 9) during our testing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Create new Web Application ==&lt;br /&gt;
In the ''IIS Manager'' expand the ''Default Web Site'' node and navigate through the folder structure to the folder containing the {{UBIK}} web service components.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;400&amp;quot; heights=&amp;quot;400&amp;quot; &amp;gt;&lt;br /&gt;
File:UI New Service.01.png|1 - New Service&lt;br /&gt;
File:UI_New Service.02.png‎|2 - New Service&lt;br /&gt;
File:UI_New Service.03.png‎|3 - New Service&lt;br /&gt;
File:UI_New Service.04.png‎|4 - New Service&lt;br /&gt;
File:UI_New Service.05.png‎|5 - New Service&lt;br /&gt;
File:UI_New Service.06.png‎|6 - New Service&lt;br /&gt;
File:UI_New Service.07.png|7 - New Service&lt;br /&gt;
File:UI_New Service.08.png|8 - New Service&lt;br /&gt;
File:UI_New Service.09.png|9 - New Service&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Optional: Local IIS User ==&lt;br /&gt;
Create and use a local user on the web server if no appropriate domain-user is available.&lt;br /&gt;
&lt;br /&gt;
{{Attention|The user has to be able to copy the customizing to its local user data directory on the machine! Hence, it also needs appropriate user permissions to the {{UBIK}} data share.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;400&amp;quot; heights=&amp;quot;400&amp;quot; &amp;gt;&lt;br /&gt;
File:UI_Local_IIS_user.01.png|1 - Local IIS-user&lt;br /&gt;
File:UI_Local_IIS_user.02.png‎|2 - Local IIS-user&lt;br /&gt;
File:UI_Local_IIS_user.03.png‎|3 - Local IIS-user&lt;br /&gt;
File:UI_Local_IIS_user.04.png‎|4 - Local IIS-user&lt;br /&gt;
File:UI_Local_IIS_user.05.png‎|5 - Local IIS-user&lt;br /&gt;
File:UI_Local_IIS_user.06.png‎|6 - Local IIS-user&lt;br /&gt;
File:UI_Local_IIS_user.07.png|7 - Local IIS-user&lt;br /&gt;
File:UI_Local_IIS_user.08.png‎|8 - Local IIS-user&lt;br /&gt;
File:UI_Local_IIS_user.09.png‎|9 - Local IIS-user&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;
== Additional prerequisites ==&lt;br /&gt;
* Ensure that the service ports are not blocked by a firewall.&lt;br /&gt;
* Ensure that port forwarding is established if needed (e.g. for Microsoft Azure Virtual Computers or servers behind a gateway)&lt;br /&gt;
&lt;br /&gt;
== Testing the Web Service ==&lt;br /&gt;
Test the web service by entering the following URL in a browser:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;https://&amp;lt;SERVER-IP&amp;gt;[:&amp;lt;PORT&amp;gt;]/&amp;lt;PATH-TO-UBIK-WEBSERVICE&amp;gt;/UBIKContent.svc/GetVersion&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Further Security Configuration &amp;amp; Hardening ==&lt;br /&gt;
&lt;br /&gt;
=== TLS Level ===&lt;br /&gt;
If the {{UBIK}} WebServices are supposed to communicate with other WebServices, e.g. an interface component or an Azure Blob container for file storage, the appropriate TLS level needs to be ensured. While this can be enforced with a registry key, it is best practice to let the OS and the .NET Framework negotiate it. To enable that, the ''targetFramework'' attribute of the ''httpRuntime'' element in the ''Web.config'' file of the WebService in question (normally the {{UBIK}} content WebService) has to be set to the desired .NET Framework level, should typically be the same that the service was compiled against. So if TLS 1.2 shall be supported and default, the ''targetFramework'' needs to be set to 4.6 like in this example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;system.web&amp;gt;&lt;br /&gt;
	&amp;lt;customErrors mode=&amp;quot;Off&amp;quot;/&amp;gt;&lt;br /&gt;
	&amp;lt;httpRuntime maxRequestLength=&amp;quot;65536&amp;quot; targetFramework=&amp;quot;4.6&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;compilation debug=&amp;quot;true&amp;quot;&lt;br /&gt;
				 defaultLanguage=&amp;quot;c#&amp;quot;&lt;br /&gt;
				 targetFramework=&amp;quot;4.6&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/system.web&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The full documentation on TLS best practices with .NET can be found [https://docs.microsoft.com/en-us/dotnet/framework/network-programming/tls here].&lt;br /&gt;
&lt;br /&gt;
=== Hardening ===&lt;br /&gt;
For hardening instructions of IIS, please follow the following best practice guidelines:&lt;br /&gt;
* [https://www.cisecurity.org/benchmark/microsoft_iis/ Center for Internet Security IIS Benchmark]&lt;br /&gt;
* [https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/jj635855(v=ws.11) Security Best Practices for IIS]&lt;br /&gt;
&lt;br /&gt;
[[Category:How-To|Configure Microsoft IIS for UBIK]]&lt;br /&gt;
[[Category:Installing|Configure Microsoft IIS for UBIK]]&lt;br /&gt;
[[Category:Pages with broken file links|Configure Microsoft IIS for UBIK]]&lt;br /&gt;
[[Category:Web service|Configure Microsoft IIS for UBIK]]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[HowTo:Install UBIK Web Service|Install {{UBIK}} Web Service]]&lt;br /&gt;
* [[HowTo:Install Microsoft IIS]]&lt;br /&gt;
&lt;br /&gt;
[[Category:How-To|Configure Microsoft IIS for UBIK]]&lt;br /&gt;
[[Category:Installing|Configure Microsoft IIS for UBIK]]&lt;br /&gt;
[[Category:Pages with broken file links|Configure Microsoft IIS for UBIK]]&lt;br /&gt;
[[Category:Web service|Configure Microsoft IIS for UBIK]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=Version_4&amp;diff=25402</id>
		<title>Version 4</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=Version_4&amp;diff=25402"/>
				<updated>2023-09-29T06:51:14Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RoadmapDetailHeader}}&lt;br /&gt;
&lt;br /&gt;
{{RoadmapDetailItem &lt;br /&gt;
| version=4.7&lt;br /&gt;
| date=2024 &lt;br /&gt;
| status={{RoadmapChip-Announced|Future}} &lt;br /&gt;
| content=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{RoadmapDetailItem &lt;br /&gt;
| version=4.6&lt;br /&gt;
| date=2024 &lt;br /&gt;
| status={{RoadmapChip-Announced|Future}} &lt;br /&gt;
| content=&lt;br /&gt;
{{RoadmapDetailFeature | feature=Prefilter Objects with the same QR code. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Xamarin}} | feature=Customizable Visibility of appbar Menu Button.}}&lt;br /&gt;
{{RoadmapDetailFeature | feature=Productization of MaTaP (Management Tool for Turnarounds and Projects) Features. }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{RoadmapDetailItem &lt;br /&gt;
| version=4.5&lt;br /&gt;
| date=October 2023&lt;br /&gt;
| status={{RoadmapChip-Planned|In Development}} &lt;br /&gt;
| content=&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-CUI}} | feature=Reset of Proxies. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-CUI}} | feature=Support of Comos Reference Documents. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-CUI}} | feature=Support of Comos DocObjs. }}&lt;br /&gt;
{{RoadmapDetailFeature | feature=Extension of Live Value Attributes. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Xamarin}} | feature=Support for Bing Road Map. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Xamarin}} | feature=Support Chinese Characters in Map Pins. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-WinX}} | feature=Auto Search and Highlight on PDF Preview. }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{RoadmapDetailItem &lt;br /&gt;
| version=4.4&lt;br /&gt;
| date=September 2023&lt;br /&gt;
| status={{RoadmapChip-Released|Latest Release}} &lt;br /&gt;
| content=&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Mobile}} | feature=Initial SSO features. | descr=first set of SSO features are now available in the Xamarin Android client and the web client.}}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Xamarin}} | feature=Scanning of small QR-Codes. | descr=Scanning of QR-Codes with a size of roughly 1x1cm.}}&lt;br /&gt;
{{RoadmapDetailFeature | feature=Lazy Loading Queries. | descr=A performance enhancing [[SYSCLS_LAZY_LOADING_QUERY|LazyLoading]] classification can be added to Queries.}}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Studio}} | feature=Classification-Based Creation of MetaProperties. }}&lt;br /&gt;
{{RoadmapDetailFeature | feature=1-to-n: Optical Code Scanning. | descr=Scan multiple QR-Codes that all navigate to one UBIK object.}}&lt;br /&gt;
{{RoadmapDetailFeature | feature=Set current Location to Object. | descr=A TeachInCommand is now available in ContentViewModel and PropertyViewModel to set the device's current location as the geo property value.}}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Mobile}} | feature=Focus highlight text in PDF. | descr=Highlighting of texts based on a property in a Document.}}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-iOS}} | feature=Signature Editing. | descr=Signing functionality is now also available on iOS.}}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-CUI}} | feature=Support of Non-native Comos Documents. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-CUI}} | feature=Import DisplayValue with Unit. | descr=CUI MetaProxy Properties support a new configuration setting called &amp;quot;Import Type&amp;quot; The default value &amp;quot;Standard&amp;quot; will import Property Values as before If set to &amp;quot;DisplayValue&amp;quot; CUI will import the Display Value including the physical Unit from a Comos Specification. Export of such MetaProxy Properties is no supported. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-CUI}} | feature=Support of GeoData. | descr=CUI supports the import and export of Properties of type GeoData now. For this a MetaProxyProperty of type string must be used on the MetaProxy. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-CUI}} | feature=Import of Date Time Values. | descr=Improvements to import of DateTime values from Comos. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Xamarin}} | feature=Increase the maximum zoom factor for the PdfViewer. | descr= Zoom further into a document.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{RoadmapDetailItem &lt;br /&gt;
| version=4.3&lt;br /&gt;
| date=April 2023&lt;br /&gt;
| status={{RoadmapChip-Released|Previous Release}} &lt;br /&gt;
| content=&lt;br /&gt;
{{RoadmapDetailFeature | feature=Overriding of MetaProperties. | descr=It is now possible to override inherited MetaProperties? and MetaProxyProperties?, including relation data details. This can be done using UBIK.Studio's Class Details browser or Relation Editor, as well as using SmartStudio?'s inheritance graph and meta proxy graph.}}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Mobile}} | feature=Extended Mass Editing / Multi Object Selection. | descr=The client now supports a multi select mode which includes actions based on multi select and mass editing properties. The multi select mode can now be turned on independently for XAML filtered lists (UWP/Xamarin) that share the same source list.}}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Mobile}} | feature=Support of Dynamic Selective List. | descr=The dynamic selective list items are now updated even when the relevant dependency properties/objects have changes that are not yet saved.}}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Xamarin}} | feature=In-Document Search. | descr=Activated the text search functionality for the XAMARIN PDF viewer.}}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Android}} | feature=Background Branch Download. | descr=Branch downloads are now performed in a dedicated background service and will work while the device is locked or in sleep mode.}}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Xamarin}} | feature=Copy mobile Device ID. | descr=Now it's possible to copy the device ID by clicking on it.}}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Studio}} | feature=UBIK 4.3 UI Redesign. | descr=New look for UBIK Studio start page.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 4]]&lt;br /&gt;
[[Category:Release notes|Version 4]]&lt;br /&gt;
[[Category:Roadmap|Version 4]]&lt;br /&gt;
[[Category:Server|Version 4]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=RoadmapOverview&amp;diff=25401</id>
		<title>RoadmapOverview</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=RoadmapOverview&amp;diff=25401"/>
				<updated>2023-09-29T06:50:19Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RoadmapOverview&lt;br /&gt;
| versionReleases=[[Version_4|View All v4 Releases]]&lt;br /&gt;
| content=&lt;br /&gt;
&amp;lt;!-- Begin Content (Items) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| latest= {{RoadmapOverviewItem | version=4.4 | date={{RoadmapChip-Released|September 2023}} | content=&lt;br /&gt;
* Initial SSO features.&lt;br /&gt;
* {{RoadmapChip-Xamarin}} Scanning of small QR-Codes. &lt;br /&gt;
* Lazy Loading Queries.&lt;br /&gt;
* {{RoadmapChip-Studio}} Classification-Based Creation of MetaProperties. &lt;br /&gt;
* n-to-1: Optical Code Scanning.&lt;br /&gt;
* Focus highlight text in PDF.&lt;br /&gt;
* {{RoadmapChip-iOS}} Signature Editing.&lt;br /&gt;
* {{RoadmapChip-CUI}} Support of Non-native Comos Documents. &lt;br /&gt;
* {{RoadmapChip-CUI}} Import DisplayValue with Unit. &lt;br /&gt;
* {{RoadmapChip-CUI}} Support of GeoData. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
| next= {{RoadmapOverviewItem | version=4.5 | date={{RoadmapChip-Planned|October 2023}} | content=&lt;br /&gt;
* {{RoadmapChip-CUI}} Reset of Proxies. &lt;br /&gt;
* {{RoadmapChip-CUI}} Support of Comos Reference Documents. &lt;br /&gt;
* {{RoadmapChip-CUI}} Support of Comos DocObjs.&lt;br /&gt;
* Live Value Attributes as Property Description and Unit.&lt;br /&gt;
* {{RoadmapChip-Xamarin}} Support Bing Road Map.&lt;br /&gt;
* {{RoadmapChip-Xamarin}} Support Chinese Characters in Map Pins.&lt;br /&gt;
* {{RoadmapChip-WinX}} Auto Search and Highlight on PDF Preview. &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
| future01= {{RoadmapOverviewItem | version=4.6 | date={{RoadmapChip-Announced|2024}} | content=&lt;br /&gt;
* Prefilter Objects with the same QR code.&lt;br /&gt;
* {{RoadmapChip-Xamarin}} Customizable Visibility of appbar Menu Button. &lt;br /&gt;
* Productization of MaTaP Features.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
| future02= {{RoadmapOverviewItem | version=4.7 | date={{RoadmapChip-Announced}} | content=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- end Content --&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Roadmap|RoadmapOverview]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=Version_4&amp;diff=25400</id>
		<title>Version 4</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=Version_4&amp;diff=25400"/>
				<updated>2023-09-29T06:49:02Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RoadmapDetailHeader}}&lt;br /&gt;
&lt;br /&gt;
{{RoadmapDetailItem &lt;br /&gt;
| version=4.7&lt;br /&gt;
| date=2024 &lt;br /&gt;
| status={{RoadmapChip-Announced|Future}} &lt;br /&gt;
| content=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{RoadmapDetailItem &lt;br /&gt;
| version=4.6&lt;br /&gt;
| date=2024 &lt;br /&gt;
| status={{RoadmapChip-Announced|Future}} &lt;br /&gt;
| content=&lt;br /&gt;
{{RoadmapDetailFeature | feature=Prefilter Objects with the same QR code. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Xamarin}} | feature=Customizable Visibility of appbar Menu Button.}}&lt;br /&gt;
{{RoadmapDetailFeature | feature=Productization of MaTaP (Management Tool for Turnarounds and Projects) Features. }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{RoadmapDetailItem &lt;br /&gt;
| version=4.5&lt;br /&gt;
| date=October 2023&lt;br /&gt;
| status={{RoadmapChip-Planned|In Development}} &lt;br /&gt;
| content=&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-CUI}} | feature=Reset of Proxies. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-CUI}} | feature=Support of Comos Reference Documents. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-CUI}} | feature=Support of Comos DocObjs. }}&lt;br /&gt;
{{RoadmapDetailFeature | feature=Extension of Live Value Attributes. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Xamarin}} | feature=Support for Bing Road Map. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Xamarin}} | feature=Support Chinese Characters in Map Pins. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-WinX}} | feature=Auto Search and Highlight on PDF Preview. }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{RoadmapDetailItem &lt;br /&gt;
| version=4.4&lt;br /&gt;
| date=September 2023&lt;br /&gt;
| status={{RoadmapChip-Released|Latest Release}} &lt;br /&gt;
| content=&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Mobile}} | feature=SSO features. | descr=first set of SSO features are now available in the Xamarin Android client and the web client.}}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Xamarin}} | feature=Scanning of small QR-Codes. | descr=Scanning of QR-Codes with a size of roughly 1x1cm.}}&lt;br /&gt;
{{RoadmapDetailFeature | feature=Lazy Loading Queries. | descr=A performance enhancing [[SYSCLS_LAZY_LOADING_QUERY|LazyLoading]] classification can be added to Queries.}}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Studio}} | feature=Classification-Based Creation of MetaProperties. }}&lt;br /&gt;
{{RoadmapDetailFeature | feature=1-to-n: Optical Code Scanning. | descr=Scan multiple QR-Codes that all navigate to one UBIK object.}}&lt;br /&gt;
{{RoadmapDetailFeature | feature=Set current Location to Object. | descr=A TeachInCommand is now available in ContentViewModel and PropertyViewModel to set the device's current location as the geo property value.}}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Mobile}} | feature=Focus highlight text in PDF. | descr=Highlighting of texts based on a property in a Document.}}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-iOS}} | feature=Signature Editing. | descr=Signing functionality is now also available on iOS.}}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-CUI}} | feature=Support of Non-native Comos Documents. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-CUI}} | feature=Import DisplayValue with Unit. | descr=CUI MetaProxy Properties support a new configuration setting called &amp;quot;Import Type&amp;quot; The default value &amp;quot;Standard&amp;quot; will import Property Values as before If set to &amp;quot;DisplayValue&amp;quot; CUI will import the Display Value including the physical Unit from a Comos Specification. Export of such MetaProxy Properties is no supported. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-CUI}} | feature=Support of GeoData. | descr=CUI supports the import and export of Properties of type GeoData now. For this a MetaProxyProperty of type string must be used on the MetaProxy. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-CUI}} | feature=Import of Date Time Values. | descr=Improvements to import of DateTime values from Comos. }}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Xamarin}} | feature=Increase the maximum zoom factor for the PdfViewer. | descr= Zoom further into a document.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{RoadmapDetailItem &lt;br /&gt;
| version=4.3&lt;br /&gt;
| date=April 2023&lt;br /&gt;
| status={{RoadmapChip-Released|Previous Release}} &lt;br /&gt;
| content=&lt;br /&gt;
{{RoadmapDetailFeature | feature=Overriding of MetaProperties. | descr=It is now possible to override inherited MetaProperties? and MetaProxyProperties?, including relation data details. This can be done using UBIK.Studio's Class Details browser or Relation Editor, as well as using SmartStudio?'s inheritance graph and meta proxy graph.}}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Mobile}} | feature=Extended Mass Editing / Multi Object Selection. | descr=The client now supports a multi select mode which includes actions based on multi select and mass editing properties. The multi select mode can now be turned on independently for XAML filtered lists (UWP/Xamarin) that share the same source list.}}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Mobile}} | feature=Support of Dynamic Selective List. | descr=The dynamic selective list items are now updated even when the relevant dependency properties/objects have changes that are not yet saved.}}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Xamarin}} | feature=In-Document Search. | descr=Activated the text search functionality for the XAMARIN PDF viewer.}}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Android}} | feature=Background Branch Download. | descr=Branch downloads are now performed in a dedicated background service and will work while the device is locked or in sleep mode.}}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Xamarin}} | feature=Copy mobile Device ID. | descr=Now it's possible to copy the device ID by clicking on it.}}&lt;br /&gt;
{{RoadmapDetailFeature | product={{RoadmapChip-Studio}} | feature=UBIK 4.3 UI Redesign. | descr=New look for UBIK Studio start page.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 4]]&lt;br /&gt;
[[Category:Release notes|Version 4]]&lt;br /&gt;
[[Category:Roadmap|Version 4]]&lt;br /&gt;
[[Category:Server|Version 4]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=Version_4.3.0_(Server)&amp;diff=24531</id>
		<title>Version 4.3.0 (Server)</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=Version_4.3.0_(Server)&amp;diff=24531"/>
				<updated>2023-05-22T15:40:35Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable sortable&amp;quot; | width = &amp;quot;300&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Version !! Release Date&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15042 BETA (Revision A) || 2022.11.17&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15076 BETA (Revision B) || 2022.11.23&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15218 BETA (Revision C) || 2022.12.14&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15316 BETA (Revision D) || 2023.01.02&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15352 BETA (Revision E) || 2023.01.10&lt;br /&gt;
|- &lt;br /&gt;
| Studio/ES/WS/Plugins: 4.0.0.15473 BETA&amp;lt;br&amp;gt;SmartStudio: 4.0.0.15356 BETA&amp;lt;br&amp;gt;Revision F: 02392026a1dc637c7d500a85b2d9eb3e3a83fc2e || 2023.02.10&lt;br /&gt;
|- &lt;br /&gt;
| Studio/ES/WS/Plugins: 4.0.0.15523 BETA&amp;lt;br&amp;gt;SmartStudio: 4.0.0.15372 BETA &amp;lt;br&amp;gt;Revision G: 08533f6b067b0b8ecc9746f09ed4df12d0b2c26e || 2023.03.03&lt;br /&gt;
|-&lt;br /&gt;
| Studio/ES/WS/Plugins: 4.0.0.15535 BETA&amp;lt;br&amp;gt;SmartStudio: 4.0.0.15373 BETA &amp;lt;br&amp;gt;Revision H: a0b38df6b075b98e3c6a2bb77d615017b42f2c56 || 2023.03.13&lt;br /&gt;
|-&lt;br /&gt;
| Studio/ES/WS/Plugins: 4.3.0.15521 &amp;lt;br&amp;gt;SmartStudio: 4.3.0.15521 &amp;lt;br&amp;gt;Revision I: 6a9a707c46af2752a2a2d69094e1b330bc0ed029 || 2023.04.11&lt;br /&gt;
|-&lt;br /&gt;
| Studio/ES/WS/Plugins/SmartStudio: 4.3.0.15534&amp;lt;br&amp;gt;Revision J: 47eec642dd0f1e5a504a2f5ce45ad92ff6a51d66 || 2023.04.25&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Hint|UBIK 4.3 was released; the beta phase has ended. &amp;lt;br&amp;gt;SmartStudio will be treated as a release candidate until further notice. }}&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{Attention|This page is under construction.}}&lt;br /&gt;
&lt;br /&gt;
{{Attention|&lt;br /&gt;
'''Beta Version'''&lt;br /&gt;
&lt;br /&gt;
Currently, {{UBIK}} Server version 4.0.0 is in Beta testing stage.&lt;br /&gt;
&lt;br /&gt;
Previously, in addition to the automatic tests, we've done a complete manual test of the Alpha version and have gone through a QA process fixing all defects blocking a release from R&amp;amp;D's point of view. &lt;br /&gt;
&lt;br /&gt;
Now, we want to get feedback from our internal users to make sure we provide our products with the highest quality we can. Thus, the current version 4.0.0 is being distributed to engineers in our Service Department, who will test according to their needs and experience.&lt;br /&gt;
&lt;br /&gt;
Depending on the resulting feedback, we will plan the further QA and release of UBIK.Server version 4.0.0.&lt;br /&gt;
}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Hint|[[HowTo:Transfer_Data_from_3.7_to_4.0| How To Upgrade to {{UBIK}} 4.0]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Kernel =&lt;br /&gt;
&lt;br /&gt;
== Revision History ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;300&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Revision !! Release Date !! Comment &lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15042 (Revision A) || 2022.11.17 || Initial Release&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15076 (Revision B) || 2022.11.23 || Saving performance improvements&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15218 (Revision C) || 2022.12.14 || Several bug fixes and enhancements&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15316 (Revision D) || 2023.01.02 || Several improvements&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15352 (Revision E) || 2023.01.10 || Bug fixes&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15473/15356-SmartStudio (Revision F) || 2023.02.10 || Bug fixes&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15523/15372-SmartStudio (Revision G) || 2023.03.03 || Bug fixes&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15535/15373-SmartStudio  (Revision H) || 2023.03.13 || Several bug fixes and enhancements&lt;br /&gt;
|- &lt;br /&gt;
| 4.3.0.15521/15521-SmartStudio  (Revision I) || 2023.04.11 || Several bug fixes and enhancements&lt;br /&gt;
|- &lt;br /&gt;
| 4.3.0.15534  (Revision J) || 2023.04.25 || No Kernel changes&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
Revision A:&lt;br /&gt;
* Managed System Definitions - No SQL scripts are required to update a database anymore. For installing a new {{UBIK}} Environment, you only need an empty database and {{UBIK}} Studio or SmartStudio.&lt;br /&gt;
* [[Dynamic_Live_Mode|Dynamic Live Mode (DLM)]] - All MetaClasses are always in Live Mode now. If you change a MetaClass, {{UBIK}} adapts the database automatically.&lt;br /&gt;
* Relational Polymorphism - Override MetaProperty assignments for MetaClasses and MetaProxyProperty assignments for MetaProxies.&lt;br /&gt;
Revision D:&lt;br /&gt;
* A set of methods for hard-deleting objects from the database is now available in the IDataFactory interface: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
bool HardDeleteRecords(MetaClass mc, DateTime? markedBefore = null);&lt;br /&gt;
bool HardDeleteRecords(MetaClass mc, List&amp;lt;Guid&amp;gt; idsToDelete);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
E.g.:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
environment.UBIKDataFactory().HardDeleteRecords(metaclass);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Enhancements ==&lt;br /&gt;
Revision B:&lt;br /&gt;
* Better saving performance: The saving performance was improved, especially for individual instances via the network.&lt;br /&gt;
* Better bulk saving performance: The saving performance was improved, especially for many instances via the network.&lt;br /&gt;
Revision C:&lt;br /&gt;
* A base implementation for the ISystemDefinitionProvider interface was created, to make system definition version management easier for plugin developers.&lt;br /&gt;
* Added default instances for View, Application and Context.&lt;br /&gt;
* For system definitions, (read-only and customizable) property values are now accessible.&lt;br /&gt;
* The Kernel system definitions version was raised to 4.0.0.2.&lt;br /&gt;
Revision D:&lt;br /&gt;
* Enhanced system initialization performance for regular startups (without DB upgrade).&lt;br /&gt;
* The Kernel system definitions version was raised to 4.0.0.3.&lt;br /&gt;
* An internal performance benchmark tool for UBIK database operations was provided.&lt;br /&gt;
Revision G:&lt;br /&gt;
* Added descriptions for system meta properties.&lt;br /&gt;
* Consolidated all NuGet package dependencies in the server solutions.&lt;br /&gt;
Revision H:&lt;br /&gt;
* GetLinkedObject and SetLinkedObject do not ignore customized property (getter and setter) any more.&lt;br /&gt;
* UBIK Enterprise Service provides access to an UBIK Content Controller via it's Web Service interface. This controller can be used to create ubik objects.&lt;br /&gt;
Revision I:&lt;br /&gt;
* UBIK Kernel and data are able to process double.NaN now.&lt;br /&gt;
* Hotspotting provides a new method MergeToRevisionDoc now (analogue to MergeToSourceDoc)&lt;br /&gt;
* MRO Task Owner uses a Metareference now. Linked objects are displayed as such - and not only their UID.&lt;br /&gt;
* Importing a proxy which refers to itself does not create a 2nd (broken) proxy with the same external primary key. The proxy reference (to itself) is correct now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bug Fixes ==&lt;br /&gt;
Revision C:&lt;br /&gt;
* An issue where document related system definitions were incomplete was fixed. &lt;br /&gt;
* The UIDs and ORDERs for the default languages were corrected, and Portuguese was added as a default language.&lt;br /&gt;
Revision D:&lt;br /&gt;
* Added default units and unit items to the system definitions.&lt;br /&gt;
Revison E:&lt;br /&gt;
* Fixed an issue where system selective lists yielded redundant items.&lt;br /&gt;
* Fixed an issue where the DeleteConfiguration class broke the customizing build.&lt;br /&gt;
* Removed UTS and CTS from custom code comment header for system meta classes. &lt;br /&gt;
Revision F:&lt;br /&gt;
* Fixed an issue where system objects weren't listed as instances of their meta class.&lt;br /&gt;
* Fixed an issue where numeric sequence objects couldn't be saved to the database.&lt;br /&gt;
* Added a selective list to the ByteStreamType system MetaProperty.&lt;br /&gt;
* Fixed several interfacing and proxy related issues.&lt;br /&gt;
Revision G:&lt;br /&gt;
* Fixed an issue where modifying an existing meta proxy property without virtual MP IDs resulted in an exception when saving.&lt;br /&gt;
* Fixed an issue where the default view VIE_01 was not imported correctly during instance data transfer because it existed already by default.&lt;br /&gt;
* Fixed the erroneous import of a custom meta property by SmartStudio because of confusion with a system property.&lt;br /&gt;
* Fixed an issue where meta classes with the same name (but different namespace) as an existing class couldn't be imported.&lt;br /&gt;
* Fixed an issue where query criteria with &amp;quot;LIKE&amp;quot; operator didn't automatically have a trailing wildcard.&lt;br /&gt;
* Fixed an issue where the customizing wasn't applied to some classes .&lt;br /&gt;
Revision H:&lt;br /&gt;
* Fixed a race condition (multi-threading issue) in the Kernel.&lt;br /&gt;
* Fixed an issue where queries didn't yield all results if the criterion value is null.&lt;br /&gt;
* Fixed an issue where it wasn't possible to add custom meta properties to a custom MetaClass delivered by default.&lt;br /&gt;
Revision I:&lt;br /&gt;
* Fixed an issue when importing Comos Data via the file based interface&lt;br /&gt;
* File based import of Comos Data takes interface timestamps in account now&lt;br /&gt;
* Creation of MRO Objects (with a link property) does not crash UBIK any more.&lt;br /&gt;
* The module based Dataabse update dialogue cannot be closed before the target versions are fully configured&lt;br /&gt;
* Fixed issues when using components from plugins in Workflows&lt;br /&gt;
Revision K:&lt;br /&gt;
* Importing of system configured MetaProxies and MetaProxyProperties works now.&lt;br /&gt;
* A bug in the calculation of MRO related values during imports is fixed now.&lt;br /&gt;
&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
* System meta classes do not have icons and international descriptions at the moment. This does not affect instances or meta classes created by the user.&lt;br /&gt;
* The automatic creation of database views for reporting and human readability requires further polishing.&lt;br /&gt;
&lt;br /&gt;
=  {{UBIK}} Studio =&lt;br /&gt;
&lt;br /&gt;
== Build History ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;300&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Revision !! Release Date !! Comment &lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15042 (Revision A) || 2022.11.17 || Initial Release&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15076 (Revision B) || 2022.11.23 || Saving performance improvements&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15218 (Revision C) || 2022.12.14 || Several bug fixes and enhancements&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15316 (Revision D) || 2023.01.02 || Several improvements&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15352 (Revision E) || 2023.01.10 || Bug fixes&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15473 (Revision F) || 2023.02.10 || Bug fixes&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15523 (Revision G) || 2023.03.03 || Bug fixes&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15535  (Revision H) || 2023.03.13 || Several bug fixes and enhancements&lt;br /&gt;
|- &lt;br /&gt;
| 4.3.0.15521  (Revision I) || 2023.04.11 || Several bug fixes and enhancements&lt;br /&gt;
|- &lt;br /&gt;
| 4.3.0.15534  (Revision J) || 2023.04.25 || No Studio changes&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
https://release.augmensys.com/download/modules/Studio/&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
https://install.appcenter.ms/orgs/releaseportal/apps/ubik-studio/distribution_groups/releasecandidate&lt;br /&gt;
Revision A:&lt;br /&gt;
* {{UBIK}} Server Kernel version 4 compatibility.&lt;br /&gt;
* There is no database manager view anymore, because database management happens automatically now. Languages can be maintained using the Bulk Editor for the Language meta class.&lt;br /&gt;
* You can now use the Class Details browser or the Relation Editor to override inherited MetaProperties for MetaClasses, and to override inherited MetaProxyProperties for MetaProxies. This way, you can specify a different External Key for a MetaProxyProperty in the context of a specialized MetaProxy, for example.&lt;br /&gt;
Revision D:&lt;br /&gt;
* The objects in the View Browser now can be sorted in the same way as they are on the client.&lt;br /&gt;
&lt;br /&gt;
== Enhancements ==&lt;br /&gt;
Revision C:&lt;br /&gt;
* For system definitions, (read-only and customizable) property values are now visible in the Bulk Editor and accessible programmatically.&lt;br /&gt;
Revision G:&lt;br /&gt;
* See Kernel, and:&lt;br /&gt;
* Adapted order ids for bulk editor columns&lt;br /&gt;
* Hide MP_IMP_UID etc. columns for meta proxy property &lt;br /&gt;
* Hide imp/exp columns for meta proxies&lt;br /&gt;
&lt;br /&gt;
== Bug Fixes ==&lt;br /&gt;
Revision C:&lt;br /&gt;
* An issue where drag &amp;amp; drop in the relation editor didn't work was fixed.&lt;br /&gt;
* Fixed an issue where initial values weren't applied for inherited properties when creating a new instance in the Bulk Editor.&lt;br /&gt;
Revision D:&lt;br /&gt;
* See Kernel&lt;br /&gt;
Revision E:&lt;br /&gt;
* See Kernel&lt;br /&gt;
Revision F:&lt;br /&gt;
* See Kernel&lt;br /&gt;
Revision G:&lt;br /&gt;
* See Kernel, and:&lt;br /&gt;
* Applied several fixes to custom code compilation.&lt;br /&gt;
Revision I:&lt;br /&gt;
* An issue where the custom code library couldn't be loaded in the code editor before a customizing exists was fixed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=  {{UBIK}} SmartStudio =&lt;br /&gt;
&lt;br /&gt;
== Build History ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;300&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Revision !! Release Date !! Comment &lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15042 (Revision A) || 2022.11.17 || Initial Release&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15076 (Revision B) || 2022.11.23 || Saving performance improvements&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15218 (Revision C) || 2022.12.14 || Several bug fixes and enhancements&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15316 (Revision D) || 2023.01.02 || Several improvements&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15352 (Revision E) || 2023.01.10 || Bug fixes&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15356 (Revision F) || 2023.02.10 || Bug fixes&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15372 (Revision G) || 2023.03.03 || Bug fixes&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15373  (Revision H) || 2023.03.13 || Several bug fixes and enhancements&lt;br /&gt;
|- &lt;br /&gt;
| 4.3.0.15521  (Revision I) || 2023.04.11 || Several bug fixes and enhancements&lt;br /&gt;
|- &lt;br /&gt;
| 4.3.0.15534  (Revision J) || 2023.04.25 || Smart Import bugfix&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
https://release.augmensys.com/download/modules/Studio/&lt;br /&gt;
&lt;br /&gt;
install.appcenter.ms/orgs/releaseportal/apps/ubik-studio/distribution_groups/releasecandidate&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
Revision A:&lt;br /&gt;
* {{UBIK}} Server Kernel version 4 compatibility.&lt;br /&gt;
* [[HowTo:Transfer_Data_from_3.7_to_4.0|Data Transfer from 3.7 Environments]]&lt;br /&gt;
* You can now use the Inheritance Graph to override inherited MetaProperties for MetaClasses, or the Meta Proxy Graph to override inherited MetaProxyProperties for MetaProxies. This way, you can specify a different External Key for a MetaProxyProperty in the context of a specialized MetaProxy, for example.&lt;br /&gt;
Revision G:&lt;br /&gt;
* Added multilanguage flag for metaproxyproperty&lt;br /&gt;
* Added targetindex member for metaproxyproperty&lt;br /&gt;
Revision H:&lt;br /&gt;
* See Kernel, and:&lt;br /&gt;
* For the Comos meta data import, one can now specify the full name (including namespace) of a UBIK root meta class of a class to be imported, e.g. &amp;quot;System.NAMEDBASECLASS&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Bug Fixes ==&lt;br /&gt;
Revision A:&lt;br /&gt;
* Fixed several issues with the loading of meta proxy properties in the Meta Proxy Graph worksheet.&lt;br /&gt;
Revision F:&lt;br /&gt;
* Fixed an issue where multi-language descriptions weren't applied to MetaProxyProperties when importing from an XML-File.&lt;br /&gt;
* Fixed an issue where empty selective lists, units and classes couldn't be imported from an XML-File.&lt;br /&gt;
Revision G:&lt;br /&gt;
* See Kernel, and:&lt;br /&gt;
* Fixed an issue with matching meta classes and meta properties.&lt;br /&gt;
* Turning off the change notification poller during instance data transfer to avoid errors.&lt;br /&gt;
* Fixed custom code library migration during instance data transfer.&lt;br /&gt;
Revision H:&lt;br /&gt;
* See Kernel, and:&lt;br /&gt;
* A meta proxy property for the ComosUid property is now created automatically when importing meta data from Comos.&lt;br /&gt;
Revision J:&lt;br /&gt;
* An issue where the SmartImport from Comos led to erroneous results was fixed.&lt;br /&gt;
&lt;br /&gt;
= {{UBIK}} Web Services =&lt;br /&gt;
&lt;br /&gt;
== Build History ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;300&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Revision !! Release Date !! Comment &lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15042 (Revision  A) || 2022.11.17 || Initial Release&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15076 (Revision B) || 2022.11.23 || Saving performance improvements&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15218 (Revision C) || 2022.12.14 || Several bug fixes and enhancements&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15316 (Revision D) || 2023.01.02 || Several improvements&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15352 (Revision E) || 2023.01.10 || Bug fixes&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15473 (Revision F) || 2023.02.10 || Bug fixes&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15523 (Revision G) || 2023.03.03 || Bug fixes&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15535  (Revision H) || 2023.03.13 || Several bug fixes and enhancements&lt;br /&gt;
|- &lt;br /&gt;
| 4.3.0.15521  (Revision I) || 2023.04.11 || Several bug fixes and enhancements&lt;br /&gt;
|- &lt;br /&gt;
| 4.3.0.15534  (Revision J) || 2023.04.25 || Session management bug fix&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
https://release.augmensys.com/download/modules/Webservice/&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
Revision A:&lt;br /&gt;
* {{UBIK}} Server Kernel version 4 compatibility.&lt;br /&gt;
&lt;br /&gt;
== Enhancements ==&lt;br /&gt;
Revision G:&lt;br /&gt;
* Introduced build configuration based config transforms (e.g., transform for Web.Debug.Config) to avoid erroneous release configurations.&lt;br /&gt;
Revision I:&lt;br /&gt;
* CUI Notification Endpoint uses an UBIK.Enterprise Service to save data in UBIK&lt;br /&gt;
* CUI Notification Endpoint provides extended logging mechanism now&lt;br /&gt;
* CUI Notification Endpoint provides the possibility to enable / disable logging now&lt;br /&gt;
&lt;br /&gt;
== Bug Fixes ==&lt;br /&gt;
Revision G:&lt;br /&gt;
* See Kernel, and:&lt;br /&gt;
* Adapted push appsettings based on a contemporary project, adding missing configurations.&lt;br /&gt;
* Updated Client.config, which had a wrong endpoint specifying a URL instead of &amp;quot;d&amp;quot;.&lt;br /&gt;
* Updated Service.config.&lt;br /&gt;
* Updated Web config base.&lt;br /&gt;
* Updated Bindings config base.&lt;br /&gt;
* Included createSymbolicLinks.cmd.&lt;br /&gt;
Revision J:&lt;br /&gt;
* UBIK Session management differs between Windows UWP and Windows Xamarin clients now. The correct UI customizing packages can be provided to the clients now.&lt;br /&gt;
Revision K:&lt;br /&gt;
* SSO Authentication manages OS Specific information now. This enables the UIcustomizing download to work again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= {{UBIK}} Enterprise Service =&lt;br /&gt;
&lt;br /&gt;
== Build History ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;300&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Revision !! Release Date !! Comment &lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15042 (Revision A) || 2022.11.17 || Initial Release&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15076 (Revision B) || 2022.11.23 || Saving performance improvements&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15218 (Revision C) || 2022.12.14 || Several bug fixes and enhancements&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15316 (Revision D) || 2023.01.02 || Several improvements&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15352 (Revision E) || 2023.01.10 || Bug fixes&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15473 (Revision F) || 2023.02.10 || Bug fixes&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15523 (Revision G) || 2023.03.03 || Bug fixes&lt;br /&gt;
|- &lt;br /&gt;
| 4.0.0.15535  (Revision H) || 2023.03.13 || Several bug fixes and enhancements&lt;br /&gt;
|- &lt;br /&gt;
| 4.3.0.15521  (Revision I) || 2023.04.11 || Several bug fixes and enhancements&lt;br /&gt;
|- &lt;br /&gt;
| 4.3.0.15534  (Revision J) || 2023.04.25 || No ES changes&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
https://release.augmensys.com/download/modules/Studio/&lt;br /&gt;
&lt;br /&gt;
install.appcenter.ms/orgs/releaseportal/apps/ubik-studio/distribution_groups/releasecandidate&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
Revision A:&lt;br /&gt;
* {{UBIK}} Server Kernel version 4 compatibility.&lt;br /&gt;
&lt;br /&gt;
== Enhancements ==&lt;br /&gt;
Revision C:&lt;br /&gt;
* Created a base system definition provider class for easier version management for plugin developers. Existing plugins were refactored respectively.&lt;br /&gt;
&lt;br /&gt;
== Bug Fixes ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Server|Version 4.0 (Server)]]&lt;br /&gt;
[[Category:Version 4.0|Version 4.0 (Server)]]&lt;br /&gt;
[[Category:Version 4.3|Version 4.3.0 (Server)]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=Getting_Started&amp;diff=24247</id>
		<title>Getting Started</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=Getting_Started&amp;diff=24247"/>
				<updated>2023-03-09T10:26:45Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: /* Built-in Objects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:IL_Platform_Topology.png|thumb|220px|{{UBIK}} Topological overview]]&lt;br /&gt;
==Introduction==&lt;br /&gt;
[[File:IL_Platform_Architecture.png|thumb|220px|{{UBIK}} Platform Architecture]]&lt;br /&gt;
A complete {{UBIK}} System consists of a few parts that play together but have different purposes. Not every component (or access to it) is needed for each and every scenario and sometimes these components are spread over various servers and devices. The only part that is always necessary and therefore not listed in this table is the {{UBIK}} Database. The following table should provide an overview which part of {{UBIK}} has to be installed and accessible for which use case:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Use case/Component !! {{UBIK}} Studio !! {{UBIK}} Web Services !! {{UBIK}} Enterprise Service !! {{UBIK}} Mobile Client&lt;br /&gt;
|-&lt;br /&gt;
| Data model administration || Yes || No|| No || No &lt;br /&gt;
|-&lt;br /&gt;
| Manual interfacing to 3rd party systems|| Yes || No || No || No &lt;br /&gt;
|-&lt;br /&gt;
| Automated interfacing to 3rd party systems || No || No || Yes || No &lt;br /&gt;
|- &lt;br /&gt;
| Mobile working|| No || Yes || No || Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
:''See [[HowTo:Set_up_UBIK|Set up {{UBIK}}]] for details on installation issues.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== First Steps ==&lt;br /&gt;
Follow these four steps to create an {{UBIK}} application from scratch:&lt;br /&gt;
# [[Getting_Started#Installation|Install and configure]] according components required for the existing use case (see table above)&lt;br /&gt;
# [[Entity Data Model|Build up data model]] and publish tables with data&lt;br /&gt;
# Configure the [[ACM|Application Context Management]]&lt;br /&gt;
# '''Enjoy {{UBIK}}!'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
=== {{UBIK}} Studio ===&lt;br /&gt;
[[File:UI_Studio.png|thumb|220px|{{UBIK}} Studio]]&lt;br /&gt;
{{UBIK}} Studio can be installed and used on a local client as well as via a Remote Desktop Connection (RDP). All the structural and content data are stored in the {{UBIK}} database managed by a Microsof SQL server. A Microsoft Internet-Information-Server (IIS) serves as platform to publish this data to the mobile device. A necessary but obvious condition is of course, that all the software packages ({{UBIK}} Studio, Microsoft SQL and IIS) can communicate between each other.&lt;br /&gt;
&lt;br /&gt;
:''See [[HowTo:Install_UBIK_Studio|How to install {{UBIK}} Studio]] for help on installation issues.''&lt;br /&gt;
:''See [[UBIK_Studio_Basics#Options|{{UBIK}} Studio Basics]] for further details on configuration.''&lt;br /&gt;
&lt;br /&gt;
=== {{UBIK}} Enterprise Service ===&lt;br /&gt;
The {{UBIK}} Enterprise Service is a [http://en.wikipedia.org/wiki/Windows_service Windows service] that is meant to automate {{UBIK}} interface components or interface workflows. It typically runs on a server and is triggered by changes in an arbitrary amount of folders in the file system (like new or modified files).&lt;br /&gt;
&lt;br /&gt;
:''See [[HowTo:Install_UBIK_Enterprise_Service|How to install {{UBIK}} Enterprise Service]] for help on installation issues.''&lt;br /&gt;
:''See [[Enterprise_Service|{{UBIK}} Enterprise Service]] for further details about configuration.''&lt;br /&gt;
&lt;br /&gt;
=== {{UBIK}} Web Service ===&lt;br /&gt;
The {{UBIK}} web services publish data from the {{UBIK}} database to mobile devices (i.e. mobile phone, tablet etc.).&lt;br /&gt;
&lt;br /&gt;
:''See [[HowTo:Install_UBIK_Web_Service|How to install {{UBIK}} Web Service]] for help on installation issues.''&lt;br /&gt;
:''See [[:Category:Web_Service|Web Service]] for further details about configuration.''&lt;br /&gt;
&lt;br /&gt;
=== {{UBIK}} Database (SQL) ===&lt;br /&gt;
:''See [[HowTo:Install_UBIK_Database|Set up {{UBIK}} Database]] for help on configuration issues.''&lt;br /&gt;
&lt;br /&gt;
=== {{UBIK}} WinX Client ===&lt;br /&gt;
:''See [[HowTo:Install_UBIK_WinX_Client]] for help on installation.''&lt;br /&gt;
&lt;br /&gt;
[[Category:UBIK|Getting Started]]&lt;br /&gt;
&lt;br /&gt;
== Entity Data Model ==&lt;br /&gt;
Get to know about the relational model used in {{UBIK}} beginning from a rather figurative and abstract point of view.&lt;br /&gt;
:''See: [[Entity Data Model]]''&lt;br /&gt;
&lt;br /&gt;
=== Built-in Objects ===&lt;br /&gt;
Based on the {{UBIK}} meta model a set of Metaclasses and Metaproperties have been already implemented in advance. These objects serve as root nodes for more user specific Metaclasses or containers for a range of functionality. New customer specific meta objects are derivatives of those system objects, hence implicitly inherit a set of Metaproperties and features.&lt;br /&gt;
&lt;br /&gt;
The most important system objects are:&lt;br /&gt;
* [[:Category:Metaclasses|Metaclasses]]&lt;br /&gt;
* [[MetaProperty|MetaProperties]]&lt;br /&gt;
* [[:Category:Classifications|Classifications]]&lt;br /&gt;
* [[:Category:Workflow|Workflows]]&lt;br /&gt;
* [[:Category:Relations|Relations]]&lt;br /&gt;
* [[:Category:References|References]]&lt;br /&gt;
&lt;br /&gt;
[[Category:UBIK|Getting Started]]&lt;br /&gt;
&lt;br /&gt;
== Interfacing ==&lt;br /&gt;
:''See [[:Category:Interfacing|Interfacing]] for a comprehensive list of interfacing topics.''&lt;br /&gt;
&lt;br /&gt;
=== Interface Manager ===&lt;br /&gt;
Used to configure Interface components and Interface Workflows&lt;br /&gt;
:''See [[Interface Manager]]''&lt;br /&gt;
&lt;br /&gt;
=== Interface Toolkits ===&lt;br /&gt;
:''See [[SAP Interface Toolkit]]''&lt;br /&gt;
:''See [[XML Interface Toolkit]]''&lt;br /&gt;
:''See [[Interface Tools Library]]''&lt;br /&gt;
&lt;br /&gt;
== Working mobile ==&lt;br /&gt;
:''See [[UBIK Client Basics|Client Basics]]''&lt;br /&gt;
&lt;br /&gt;
== Frequently Asked Questions ==&lt;br /&gt;
:''See [[:Category:FAQ|FAQ]]''&lt;br /&gt;
&lt;br /&gt;
== Site Map ==&lt;br /&gt;
:''See [[SiteMap]]''&lt;br /&gt;
&lt;br /&gt;
[[Category:UBIK|Getting Started]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=Managed_App_Configuration&amp;diff=24073</id>
		<title>Managed App Configuration</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=Managed_App_Configuration&amp;diff=24073"/>
				<updated>2023-01-03T14:22:14Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In enterprise environments, there are sometimes hundreds of employee phones centrally managed by some EMM (Enterprise Mobility Management) software. This not only allows to limit the apps available for use (via a company-internal store (&amp;quot;Company App Store&amp;quot;)) and remotely wipe devices (in the case of lost devices and fired employees), it also allows you to remotely set configurations of these apps to ease user experience. There are different types of management, like fully managed phones that belong to the company but also privately-owned phones with a work profile.&lt;br /&gt;
&lt;br /&gt;
Starting with [[Version_4.0_Xamarin| App Version 4.0.0]], the {{UBIK}} Xamarin app supports managed app configuration for configuring profiles. That removes the need to manually copy over a {{UBIK}} Profile to every phone and importing it before its users can use {{UBIK}}. Historically, there was also the need to deploy the customizing (&amp;quot;XAML&amp;quot;) before the app could be properly used, however, this has been solved already with the help of the [[Deploy_UI_Customizings_(Client)|XAML rollout feature]].  &lt;br /&gt;
&lt;br /&gt;
== Function ==&lt;br /&gt;
The new '''''profile rollout''''' feature allows for the rollout of up to 25 individual [[Settings|Ubik Profiles]]. The configuration supports the [https://appconfig.org/ AppConfig.org] standard, allowing compatibility to almost every EMM software. During the application start, the current configuration values are read and profiles created (with &amp;lt;code&amp;gt;.managed.profile&amp;lt;/code&amp;gt; ending). All profiles created by the system will be updated to the current configuration during the startup phase, allowing recently configured profiles to appear and no longer configured profiles to be removed. Other profiles added to the {{UBIK}} application will not be affected by this system (except they have a &amp;lt;code&amp;gt;.managed.profile&amp;lt;/code&amp;gt; ending for some unknown reason). Clearing all profiles also clears the configured profiles, and the app needs to be restarted for them to update.&lt;br /&gt;
&lt;br /&gt;
On Android, the system makes use of the Android Restrictions System. On iOS, the NSUserDefaults System is used. These libraries are native to the system and widely supported.&lt;br /&gt;
&lt;br /&gt;
== Configuration==&lt;br /&gt;
Microsoft Intune is just one of the EMM systems that will work with {{UBIK}}. This is the system that Augmensys uses for internal testing. For other EMM systems, the process will be similar.&lt;br /&gt;
&lt;br /&gt;
For Intune, an Application Configuration Policy can be defined. It is possible to limit the scope of this policy to groups, devices, and even device management types. In the Configuration Designer, the desired values can be chosen, but for {{UBIK}}, all of them do the same and only differ by the number. For other EMM systems, this might be different, but you should end up with something similar-looking:&lt;br /&gt;
&lt;br /&gt;
[[File:managed-app-configuration.png|thumb|none|750px|Screenshot of creating an App Configuration for {{UBIK}} in Microsoft Intune/Endpoint. Note that in the right panel the items to configure can be chosen.|center]]&lt;br /&gt;
&lt;br /&gt;
It is currently possible to define 25 {{UBIK}} profiles using this technology.&lt;br /&gt;
&lt;br /&gt;
All that's necessary to get the profile rolled out is to open a profile in your favorite text editor (we recommend Visual Studio Code or Notepad++) and copy the entire content into the configuration value. If your EMM system doesn't want to paste in multi-line strings, use an XML-minifier first.&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 4.0|Managed App Configuration]]&lt;br /&gt;
[[Category:Xamarin|Managed App Configuration]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=Version_4.2_(WinX)&amp;diff=24072</id>
		<title>Version 4.2 (WinX)</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=Version_4.2_(WinX)&amp;diff=24072"/>
				<updated>2023-01-03T11:39:27Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: /* Beta */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Important Notes ==&lt;br /&gt;
&lt;br /&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;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Beta ==&lt;br /&gt;
&lt;br /&gt;
=== 4.2.?? on 2023-??-?? ===&lt;br /&gt;
* Fixed the wrong Spanish translation of &amp;quot;Children&amp;quot; (child objects).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.2.13 on 2023-01-03 ===&lt;br /&gt;
* Fixed an issue where profile selection wasn't working anymore&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.2.12 on 2022-12-22 ===&lt;br /&gt;
* Disabled Undo/Redo in the in-app PDF viewer to avoid accidental lost of signature hotspots.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.2.10 on 2022-12-22 ===&lt;br /&gt;
* Fixed an issue where sequential successors of grouped tasks are not locked/unlocked immediately.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.2.8 on 2022-12-20 ===&lt;br /&gt;
* UBIK now supports a new type of MRO tasks - [[MRO_Objects_(Client)#Grouped_Task|grouped tasks]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 4.2 (WinX)]]&lt;br /&gt;
[[Category:Version 4.2|Version 4.2 (WinX)]]&lt;br /&gt;
[[Category:WinX|Version 4.2 (WinX)]]&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 4.2.6 on 2022-11-21  ===&lt;br /&gt;
* Fixed Issue that could cause Automatic Logout to happen on resuming to the app even when Automatic Logout was not enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.2.3 on 2022-11-18 ===&lt;br /&gt;
* Added Automatic Logout feature that triggers a logout after a defined period of user inactivity. Including handling app suspension.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* During PDF annotating/hotspotting, changes are lost if you leave the page without deselecting the changed annotation/hotspot.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= XAML Notes =&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== XAML changes ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 4.2 (WinX)]]&lt;br /&gt;
[[Category:Version 4.2|Version 4.2 (WinX)]]&lt;br /&gt;
[[Category:WinX|Version 4.2 (WinX)]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=Version_4.1_(Xamarin)&amp;diff=23876</id>
		<title>Version 4.1 (Xamarin)</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=Version_4.1_(Xamarin)&amp;diff=23876"/>
				<updated>2022-09-28T15:43:31Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|UBIK 4 clients can only connect to {{UBIK}} Servers of [[Version 3.6(Server)|version 3.6]] and higher!}}&lt;br /&gt;
&lt;br /&gt;
= Release Notes =&lt;br /&gt;
&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|iOS: Store Beta}}: Available through Apple App Store's [https://testflight.apple.com/join/ijGm4j2h invitation link].&lt;br /&gt;
&lt;br /&gt;
{{key press|UWP: App Center}}{{key press|Android: App Center}}{{key press|iOS: App Center}}: Available to those who have access to the Augmensys App Center.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Release ==&lt;br /&gt;
&lt;br /&gt;
=== 4.1.xx on 2022-09-xx ===&lt;br /&gt;
* Fixed an issue where the locked status of a (sequential) task was not updated correctly in the UI&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.1.56 on 2022-09-19 {{key press|Android: Store}} ===&lt;br /&gt;
* Android: Fixed an issue where launching ARCore crashed the App.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.1.55 on 2022-09-09 {{key press|Android: Store}} {{key press|iOS: Store}} ===&lt;br /&gt;
* Added a possibility to import local database files in the app settings.&lt;br /&gt;
* Android: Fixed an issue where profiles sometimes can not be deployed through AppConfig.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.1.54 on 2022-09-05 {{key press|Android: Store}} {{key press|iOS: Store}} ===&lt;br /&gt;
* Added a navigation action to the ObjectHotSpot template.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.1.53 on 2022-08-31 {{key press|Android: Store Beta}} {{key press|iOS: Store Beta}} ===&lt;br /&gt;
* Fixed an issue where UBIK.Xamarin.Android sometimes gets stuck on second startups.&lt;br /&gt;
* Updated ARCore for UBIK.Xamarin.Android.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.1.52 on 2022-08-30 {{key press|App Center}} ===&lt;br /&gt;
* Fixed an issue where MRO objects are sometimes locked even though they should not be.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.1.51 on 2022-08-30 {{key press|App Center}} ===&lt;br /&gt;
* Fixed an issue where objects in filtered lists are not always updated properly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.1.50 on 2022-08-22 {{key press|Android: Store}} {{key press|iOS: Store}} ===&lt;br /&gt;
* Fixed an issue where the config files for property based content filtering get corrupted when you update the filters.&lt;br /&gt;
* Some minor UI updates including icons.&lt;br /&gt;
* Fixed an issue where the UI doesn’t update when PropertyViewModel.LinkedLevel becomes available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beta ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.1.48 on 2022-08-17 {{key press|Android: Store Beta}} {{key press|iOS: Store Beta}} ===&lt;br /&gt;
* Fixed an issue where dynamic selective list items are not always updated when the dependent property values are changed.&lt;br /&gt;
* Fixed an issue where the app crashes when browsing properties with extremely long texts. (We now truncate a property's DisplayValue to max. 500 characters. If it's absolutely necessary, you can use DisplayValueUntruncated for the full text. Although please be aware, 900,000 characters seem to be beyond the capability of the Xamarin Forms Label control.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.1.47 on 2022-07-20 {{key press|Android: Store Beta}} {{key press|iOS: Store Beta}} ===&lt;br /&gt;
* Fixed an issue where the scanner in string editors ignores the try-color-inverted-code setting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.1.43 on 2022-07-07 {{key press|Android: Store Beta}} {{key press|iOS: Store Beta}} ===&lt;br /&gt;
* (iOS) Fixed an issue where the enabled state in context menu does not update properly.&lt;br /&gt;
* Fixed an issue where content lists are not resorted when navigating back.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 4.1.39 on 2022-07-04 {{key press|App Center}} ===&lt;br /&gt;
* Fixed an issue where POIs sometimes do not update their UI (e.g. live values) until selected.&lt;br /&gt;
* (iOS) Fixed an issue where the menu in the content page is difficult to scroll.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.1.38 on 2022-07-01 {{key press|App Center}} ===&lt;br /&gt;
* Fixed an issue where the app sometimes incorrectly falls back to the default English locale when the device is set to use Chinese.&lt;br /&gt;
* Solved a bug which prevented users to see live value details, after leaving and reentering the page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.1.37 on 2022-06-30 {{key press|App Center}} ===&lt;br /&gt;
* Small UI adjustments to e.g. editors, building level buttons, scan result texts.&lt;br /&gt;
* Fixed an issue where content pages flicker randomly (every time the device receives a location update).&lt;br /&gt;
* Fixed an issue where username and password are not properly updated when you switch profiles.&lt;br /&gt;
* Fixed an issue where it's sometimes difficult to click on map pins (when icons have empty parts or holes).&lt;br /&gt;
* Fixed an issue where a map pin is sometimes not scaled up when you show that object on the map.&lt;br /&gt;
* Reduced the size of map pins from 64px to 48px.&lt;br /&gt;
* Fixed a bug that caused OCR scanning to not work.&lt;br /&gt;
* Fixed an issue where the close POI group button does not work in the map page.&lt;br /&gt;
* Fixed an issue where outdated results are presented in most scan features such as QR code, RFID, AR marker scanning. It happens after the code related property values of the result objects have changed until a new user session.&lt;br /&gt;
* Fixed an issue where the scan result list doesn’t update when a new scan yields no result.&lt;br /&gt;
* Fixed an bug that would cause the geo data input to break when selecting and deleting the whole line.&lt;br /&gt;
* Solved a bug which prevented users to see live value details, after leaving and reentering the page.&lt;br /&gt;
* Added back the Teach-In button to Geo Editing page.&lt;br /&gt;
* Fixed an issue where tasks sometimes stop responding after being editing inline (e.g. user toggling the NA button).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.1.34 on 2022-06-22 {{key press|App Center}} ===&lt;br /&gt;
* Some UI updates including button styles, page layouts, etc.&lt;br /&gt;
* It's now possible for users to request [[Exclusive_Access_Content_(Client)|exclusive access]] for UBIK content to prevent others from editing it at the same time.&lt;br /&gt;
* Custom UBIKContentArea templates can now be chosen automatically based on [[SYSCLS_CHILDAREATEMPLATE|certain properties of the context object]].&lt;br /&gt;
* The [[Managed_App_Configuration|managed app configuration]] on Android now supports for rolling out up to 25 {{UBIK}} profiles in an enterprise environment.&lt;br /&gt;
* Some properties now need to be authenticated first before editing (Authentication Properties).&lt;br /&gt;
* The scroll positions of property lists are now by default also remembered (just like content lists).&lt;br /&gt;
* Fixed an issue when scanning QR codes with line breaks on Android/iOS.&lt;br /&gt;
* Fixed an issue where file (profiles, XAMLs, etc.) import fails on Android due to the outdated permission handling.&lt;br /&gt;
* Fixed an issue where the root list is not updated the first time with an empty database.&lt;br /&gt;
* Fixed an issue where the LaunchDocumentByReferenceCommand can potentially crash the client on non existing document files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.0.13 on 2022-02-24 {{key press|App Center}} ===&lt;br /&gt;
* Xamarin Android now supports [[Managed_App_Configuration|managed app configuration]] for rolling out up to 9 {{UBIK}} profiles in an enterprise environment.&lt;br /&gt;
* [[Property_Direct_Edit_(Client)|Property direct editing]]. However, unlike in the [[Version_4.0_(WinX)#4_0|UWP 4.0]] client, direct editing is not fully enabled by default due to the limited size of the device screen.&lt;br /&gt;
* Some security related improvements.&lt;br /&gt;
** The app now informs the web service to terminate the user session upon logout or app closing.&lt;br /&gt;
** The app no longer allows self signed server certificates.&lt;br /&gt;
* {{UBIK}} clients are now able to log all webservice communication related activities (in UBIKWebserviceDebug.log) for better trouble shooting. It can also be turned off using the EnableSyncLogging setting in the profiles.&lt;br /&gt;
* {{UBIK}} now supports [[Camera Calibration|In-App Camera Calibration]].&lt;br /&gt;
* The app's entire login page is now customizable.&lt;br /&gt;
** As a result, the old feature which allows customizers to configure the background image of the login page (bg_portrait.png/bg_landscape.png) is removed. Because it only worked for Xamarin.UWP and can now be done with regular XAML customizing.&lt;br /&gt;
* The app's default profile is now only generated during app startup when no other profiles are detected.&lt;br /&gt;
* Fixed an issue where the Logout button sometimes disappeared.&lt;br /&gt;
* Fixed an issue where unnecessary messages are logged. (&amp;quot;Message is null&amp;quot;)&lt;br /&gt;
* Fixed an issue where the SetPropertyValueCommand always saves changes regardless of the AutoSave parameter value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* Sometimes, objects shift their positions in the lists after being edited. We found out that this is related to the 3rd party list control we use and are considering replacing it. However, this will take some more time in order to make all features we build around the control still function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= XAML Notes =&lt;br /&gt;
&lt;br /&gt;
== XAML changes ==&lt;br /&gt;
Since there has been a major UI redesign in this version, quite a lot of changes in XAML code (especially bindings) are involved. We have striven to maintain backward compatibility, but some changes either are simply unavoidable or their long term benefits outweigh the efforts required this one time.&lt;br /&gt;
&lt;br /&gt;
=== Converters ===&lt;br /&gt;
* Under namespace UBIK.CPL.Converters, SelectiveItemToValueConverter is renamed as PropertyValueToSelectiveItemConverter to properly reflect what it does.&lt;br /&gt;
* Under namespace UBIK.CPL.Converters, a new &amp;quot;StringToDateTimeTypesConverter&amp;quot; was added. It should be used when binding to a Date/Time Property on a PropertyViewModel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UBIKContentArea ===&lt;br /&gt;
* Changed from &amp;quot;Properties.Items&amp;quot; to &amp;quot;Properties.VisibleItems&amp;quot; in bindings because Items/AllItems now also include those system/invisible ones that users are not supposed to see.&lt;br /&gt;
&lt;br /&gt;
=== UBIKThemes ===&lt;br /&gt;
* Removed &amp;quot;Content.&amp;quot;, &amp;quot;OwnerModel.&amp;quot; from bindings in DateTemplate &amp;quot;UBIKPropertyItem&amp;quot;.&lt;br /&gt;
* &amp;quot;SetValueCommand&amp;quot;  is no longer available and replaced with &amp;quot;SetPropertyValueCommand&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== UBIKEditNA ===&lt;br /&gt;
* Prefixed bindings &amp;quot;EnableNAOption&amp;quot; &amp;amp; &amp;quot;NotApplicable&amp;quot; with &amp;quot;PropertyViewModel.&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Editor related templates ===&lt;br /&gt;
{{Hint|The changes are quite extensive and, therefore, we recommended you taking the default templates from the app and re-customize them from there.}}&lt;br /&gt;
&lt;br /&gt;
The affected list of templates include: UBIKEditDateTime, UBIKEditDouble, UBIKEditInt, UBIKEditGuid, UBIKEditGeo, UBIKEditBool, UBIKEditString.&lt;br /&gt;
* Changed from &amp;quot;PropertyItem&amp;quot; to &amp;quot;PropertyViewModel&amp;quot; in bindings;&lt;br /&gt;
* Prefixed bindings &amp;quot;EnableNAOption&amp;quot;, &amp;quot;NotApplicable&amp;quot;, &amp;quot;Unit&amp;quot; &amp;amp; &amp;quot;ShowComboBox&amp;quot; with &amp;quot;PropertyViewModel.&amp;quot;;&lt;br /&gt;
* Changed from &amp;quot;PropertyValue&amp;quot; to &amp;quot;PropertyViewModel.ValueItem.PropertyValue&amp;quot; in bindings;&lt;br /&gt;
* Prefixed binding &amp;quot;FilterQueryResults.Items&amp;quot; with &amp;quot;PropertyViewModel.&amp;quot;; (UBIKEditGuid)&lt;br /&gt;
* Changed from &amp;quot;ViewGuidObjectCommand&amp;quot; to &amp;quot;NavigateToGuidCommand&amp;quot;.  (UBIKEditGuid)&lt;br /&gt;
&lt;br /&gt;
=== Any template having ViewModel as the data context ===&lt;br /&gt;
See the same named section in [https://wiki.augmensys.com/index.php?title=Version_4.0_(WinX)#4_0 Version 4.0 (WinX) - Xaml Notes]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Category/Version2|{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 4.0 Xamarin]]&lt;br /&gt;
[[Category:Version 4.0|Version 4.0 Xamarin]]&lt;br /&gt;
[[Category:Version 4.1|Version 4.1 Xamarin]]&lt;br /&gt;
[[Category:Version 4.1 Xamarin|Version 4.1 Xamarin]]&lt;br /&gt;
[[Category:Xamarin|Version 4.0 Xamarin]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=Version_4.1_(Xamarin)&amp;diff=23857</id>
		<title>Version 4.1 (Xamarin)</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=Version_4.1_(Xamarin)&amp;diff=23857"/>
				<updated>2022-09-12T15:25:17Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: /* Release */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|UBIK 4 clients can only connect to {{UBIK}} Servers of [[Version 3.6(Server)|version 3.6]] and higher!}}&lt;br /&gt;
&lt;br /&gt;
= Release Notes =&lt;br /&gt;
&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|iOS: Store Beta}}: Available through Apple App Store's [https://testflight.apple.com/join/ijGm4j2h invitation link].&lt;br /&gt;
&lt;br /&gt;
{{key press|UWP: App Center}}{{key press|Android: App Center}}{{key press|iOS: App Center}}: Available to those who have access to the Augmensys App Center.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Release ==&lt;br /&gt;
&lt;br /&gt;
=== 4.1.xx on 2022-09-xx  ===&lt;br /&gt;
* Fixed an issue where launching ARCore crashed the App&lt;br /&gt;
&lt;br /&gt;
=== 4.1.55 on 2022-09-09 {{key press|Android: Store}} {{key press|iOS: Store}} ===&lt;br /&gt;
* Added a possibility to import local database files in the app settings.&lt;br /&gt;
* Android: Fixed an issue where profiles sometimes can not be deployed through AppConfig.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.1.54 on 2022-09-05 {{key press|Android: Store}} {{key press|iOS: Store}} ===&lt;br /&gt;
* Added a navigation action to the ObjectHotSpot template.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.1.53 on 2022-08-31 {{key press|Android: Store Beta}} {{key press|iOS: Store Beta}} ===&lt;br /&gt;
* Fixed an issue where UBIK.Xamarin.Android sometimes gets stuck on second startups.&lt;br /&gt;
* Updated ARCore for UBIK.Xamarin.Android.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.1.52 on 2022-08-30 {{key press|App Center}} ===&lt;br /&gt;
* Fixed an issue where MRO objects are sometimes locked even though they should not be.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.1.51 on 2022-08-30 {{key press|App Center}} ===&lt;br /&gt;
* Fixed an issue where objects in filtered lists are not always updated properly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.1.50 on 2022-08-22 {{key press|Android: Store}} {{key press|iOS: Store}} ===&lt;br /&gt;
* Fixed an issue where the config files for property based content filtering get corrupted when you update the filters.&lt;br /&gt;
* Some minor UI updates including icons.&lt;br /&gt;
* Fixed an issue where the UI doesn’t update when PropertyViewModel.LinkedLevel becomes available.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 4.0 Xamarin]]&lt;br /&gt;
[[Category:Version 4.0|Version 4.0 Xamarin]]&lt;br /&gt;
[[Category:Version 4.1|Version 4.1 Xamarin]]&lt;br /&gt;
[[Category:Version 4.1 Xamarin|Version 4.1 Xamarin]]&lt;br /&gt;
[[Category:Xamarin|Version 4.0 Xamarin]]&lt;br /&gt;
&lt;br /&gt;
== Beta ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.1.48 on 2022-08-17 {{key press|Android: Store Beta}} {{key press|iOS: Store Beta}} ===&lt;br /&gt;
* Fixed an issue where dynamic selective list items are not always updated when the dependent property values are changed.&lt;br /&gt;
* Fixed an issue where the app crashes when browsing properties with extremely long texts. (We now truncate a property's DisplayValue to max. 500 characters. If it's absolutely necessary, you can use DisplayValueUntruncated for the full text. Although please be aware, 900,000 characters seem to be beyond the capability of the Xamarin Forms Label control.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.1.47 on 2022-07-20 {{key press|Android: Store Beta}} {{key press|iOS: Store Beta}} ===&lt;br /&gt;
* Fixed an issue where the scanner in string editors ignores the try-color-inverted-code setting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.1.43 on 2022-07-07 {{key press|Android: Store Beta}} {{key press|iOS: Store Beta}} ===&lt;br /&gt;
* (iOS) Fixed an issue where the enabled state in context menu does not update properly.&lt;br /&gt;
* Fixed an issue where content lists are not resorted when navigating back.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 4.1.39 on 2022-07-04 {{key press|App Center}} ===&lt;br /&gt;
* Fixed an issue where POIs sometimes do not update their UI (e.g. live values) until selected.&lt;br /&gt;
* (iOS) Fixed an issue where the menu in the content page is difficult to scroll.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.1.38 on 2022-07-01 {{key press|App Center}} ===&lt;br /&gt;
* Fixed an issue where the app sometimes incorrectly falls back to the default English locale when the device is set to use Chinese.&lt;br /&gt;
* Solved a bug which prevented users to see live value details, after leaving and reentering the page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.1.37 on 2022-06-30 {{key press|App Center}} ===&lt;br /&gt;
* Small UI adjustments to e.g. editors, building level buttons, scan result texts.&lt;br /&gt;
* Fixed an issue where content pages flicker randomly (every time the device receives a location update).&lt;br /&gt;
* Fixed an issue where username and password are not properly updated when you switch profiles.&lt;br /&gt;
* Fixed an issue where it's sometimes difficult to click on map pins (when icons have empty parts or holes).&lt;br /&gt;
* Fixed an issue where a map pin is sometimes not scaled up when you show that object on the map.&lt;br /&gt;
* Reduced the size of map pins from 64px to 48px.&lt;br /&gt;
* Fixed a bug that caused OCR scanning to not work.&lt;br /&gt;
* Fixed an issue where the close POI group button does not work in the map page.&lt;br /&gt;
* Fixed an issue where outdated results are presented in most scan features such as QR code, RFID, AR marker scanning. It happens after the code related property values of the result objects have changed until a new user session.&lt;br /&gt;
* Fixed an issue where the scan result list doesn’t update when a new scan yields no result.&lt;br /&gt;
* Fixed an bug that would cause the geo data input to break when selecting and deleting the whole line.&lt;br /&gt;
* Solved a bug which prevented users to see live value details, after leaving and reentering the page.&lt;br /&gt;
* Added back the Teach-In button to Geo Editing page.&lt;br /&gt;
* Fixed an issue where tasks sometimes stop responding after being editing inline (e.g. user toggling the NA button).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.1.34 on 2022-06-22 {{key press|App Center}} ===&lt;br /&gt;
* Some UI updates including button styles, page layouts, etc.&lt;br /&gt;
* It's now possible for users to request [[Exclusive_Access_Content_(Client)|exclusive access]] for UBIK content to prevent others from editing it at the same time.&lt;br /&gt;
* Custom UBIKContentArea templates can now be chosen automatically based on [[SYSCLS_CHILDAREATEMPLATE|certain properties of the context object]].&lt;br /&gt;
* The [[Managed_App_Configuration|managed app configuration]] on Android now supports for rolling out up to 25 {{UBIK}} profiles in an enterprise environment.&lt;br /&gt;
* Some properties now need to be authenticated first before editing (Authentication Properties).&lt;br /&gt;
* The scroll positions of property lists are now by default also remembered (just like content lists).&lt;br /&gt;
* Fixed an issue when scanning QR codes with line breaks on Android/iOS.&lt;br /&gt;
* Fixed an issue where file (profiles, XAMLs, etc.) import fails on Android due to the outdated permission handling.&lt;br /&gt;
* Fixed an issue where the root list is not updated the first time with an empty database.&lt;br /&gt;
* Fixed an issue where the LaunchDocumentByReferenceCommand can potentially crash the client on non existing document files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.0.13 on 2022-02-24 {{key press|App Center}} ===&lt;br /&gt;
* Xamarin Android now supports [[Managed_App_Configuration|managed app configuration]] for rolling out up to 9 {{UBIK}} profiles in an enterprise environment.&lt;br /&gt;
* [[Property_Direct_Edit_(Client)|Property direct editing]]. However, unlike in the [[Version_4.0_(WinX)#4_0|UWP 4.0]] client, direct editing is not fully enabled by default due to the limited size of the device screen.&lt;br /&gt;
* Some security related improvements.&lt;br /&gt;
** The app now informs the web service to terminate the user session upon logout or app closing.&lt;br /&gt;
** The app no longer allows self signed server certificates.&lt;br /&gt;
* {{UBIK}} clients are now able to log all webservice communication related activities (in UBIKWebserviceDebug.log) for better trouble shooting. It can also be turned off using the EnableSyncLogging setting in the profiles.&lt;br /&gt;
* {{UBIK}} now supports [[Camera Calibration|In-App Camera Calibration]].&lt;br /&gt;
* The app's entire login page is now customizable.&lt;br /&gt;
** As a result, the old feature which allows customizers to configure the background image of the login page (bg_portrait.png/bg_landscape.png) is removed. Because it only worked for Xamarin.UWP and can now be done with regular XAML customizing.&lt;br /&gt;
* The app's default profile is now only generated during app startup when no other profiles are detected.&lt;br /&gt;
* Fixed an issue where the Logout button sometimes disappeared.&lt;br /&gt;
* Fixed an issue where unnecessary messages are logged. (&amp;quot;Message is null&amp;quot;)&lt;br /&gt;
* Fixed an issue where the SetPropertyValueCommand always saves changes regardless of the AutoSave parameter value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* Sometimes, objects shift their positions in the lists after being edited. We found out that this is related to the 3rd party list control we use and are considering replacing it. However, this will take some more time in order to make all features we build around the control still function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= XAML Notes =&lt;br /&gt;
&lt;br /&gt;
== XAML changes ==&lt;br /&gt;
Since there has been a major UI redesign in this version, quite a lot of changes in XAML code (especially bindings) are involved. We have striven to maintain backward compatibility, but some changes either are simply unavoidable or their long term benefits outweigh the efforts required this one time.&lt;br /&gt;
&lt;br /&gt;
=== Converters ===&lt;br /&gt;
* Under namespace UBIK.CPL.Converters, SelectiveItemToValueConverter is renamed as PropertyValueToSelectiveItemConverter to properly reflect what it does.&lt;br /&gt;
* Under namespace UBIK.CPL.Converters, a new &amp;quot;StringToDateTimeTypesConverter&amp;quot; was added. It should be used when binding to a Date/Time Property on a PropertyViewModel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UBIKContentArea ===&lt;br /&gt;
* Changed from &amp;quot;Properties.Items&amp;quot; to &amp;quot;Properties.VisibleItems&amp;quot; in bindings because Items/AllItems now also include those system/invisible ones that users are not supposed to see.&lt;br /&gt;
&lt;br /&gt;
=== UBIKThemes ===&lt;br /&gt;
* Removed &amp;quot;Content.&amp;quot;, &amp;quot;OwnerModel.&amp;quot; from bindings in DateTemplate &amp;quot;UBIKPropertyItem&amp;quot;.&lt;br /&gt;
* &amp;quot;SetValueCommand&amp;quot;  is no longer available and replaced with &amp;quot;SetPropertyValueCommand&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== UBIKEditNA ===&lt;br /&gt;
* Prefixed bindings &amp;quot;EnableNAOption&amp;quot; &amp;amp; &amp;quot;NotApplicable&amp;quot; with &amp;quot;PropertyViewModel.&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Editor related templates ===&lt;br /&gt;
{{Hint|The changes are quite extensive and, therefore, we recommended you taking the default templates from the app and re-customize them from there.}}&lt;br /&gt;
&lt;br /&gt;
The affected list of templates include: UBIKEditDateTime, UBIKEditDouble, UBIKEditInt, UBIKEditGuid, UBIKEditGeo, UBIKEditBool, UBIKEditString.&lt;br /&gt;
* Changed from &amp;quot;PropertyItem&amp;quot; to &amp;quot;PropertyViewModel&amp;quot; in bindings;&lt;br /&gt;
* Prefixed bindings &amp;quot;EnableNAOption&amp;quot;, &amp;quot;NotApplicable&amp;quot;, &amp;quot;Unit&amp;quot; &amp;amp; &amp;quot;ShowComboBox&amp;quot; with &amp;quot;PropertyViewModel.&amp;quot;;&lt;br /&gt;
* Changed from &amp;quot;PropertyValue&amp;quot; to &amp;quot;PropertyViewModel.ValueItem.PropertyValue&amp;quot; in bindings;&lt;br /&gt;
* Prefixed binding &amp;quot;FilterQueryResults.Items&amp;quot; with &amp;quot;PropertyViewModel.&amp;quot;; (UBIKEditGuid)&lt;br /&gt;
* Changed from &amp;quot;ViewGuidObjectCommand&amp;quot; to &amp;quot;NavigateToGuidCommand&amp;quot;.  (UBIKEditGuid)&lt;br /&gt;
&lt;br /&gt;
=== Any template having ViewModel as the data context ===&lt;br /&gt;
See the same named section in [https://wiki.augmensys.com/index.php?title=Version_4.0_(WinX)#4_0 Version 4.0 (WinX) - Xaml Notes]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Category/Version2|{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 4.0 Xamarin]]&lt;br /&gt;
[[Category:Version 4.0|Version 4.0 Xamarin]]&lt;br /&gt;
[[Category:Version 4.1|Version 4.1 Xamarin]]&lt;br /&gt;
[[Category:Version 4.1 Xamarin|Version 4.1 Xamarin]]&lt;br /&gt;
[[Category:Xamarin|Version 4.0 Xamarin]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=File:Augmensys_xing.png&amp;diff=23825</id>
		<title>File:Augmensys xing.png</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=File:Augmensys_xing.png&amp;diff=23825"/>
				<updated>2022-08-10T10:06:41Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: JKN uploaded a new version of File:Augmensys xing.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=File:Augmensys_xing.png&amp;diff=23824</id>
		<title>File:Augmensys xing.png</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=File:Augmensys_xing.png&amp;diff=23824"/>
				<updated>2022-08-10T10:05:20Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: JKN uploaded a new version of File:Augmensys xing.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=File:UI_IconClient.PNG&amp;diff=23823</id>
		<title>File:UI IconClient.PNG</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=File:UI_IconClient.PNG&amp;diff=23823"/>
				<updated>2022-08-10T10:03:01Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: JKN uploaded a new version of File:UI IconClient.PNG&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=File:UI_IconStudio.png&amp;diff=23822</id>
		<title>File:UI IconStudio.png</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=File:UI_IconStudio.png&amp;diff=23822"/>
				<updated>2022-08-10T10:01:35Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: JKN uploaded a new version of File:UI IconStudio.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=List_of_Versions&amp;diff=23821</id>
		<title>List of Versions</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=List_of_Versions&amp;diff=23821"/>
				<updated>2022-08-10T09:39:09Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:IC_MainPage-20.png]] '''Future versions'''&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;table&amp;quot; style=&amp;quot;width:100%;&amp;quot;&amp;gt;&lt;br /&gt;
{{Item/Version|2022-??-??| {{Version/Server|4.0}}}}&lt;br /&gt;
{{Item/Version|2022-07-??| [[Version_4.1_Xamarin]]}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{Check mark}} '''Released versions'''&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;table&amp;quot; style=&amp;quot;width:100%;&amp;quot;&amp;gt;&lt;br /&gt;
{{Item/Version|2022-08-09| [[Version_3.7.0_Server]]}}&lt;br /&gt;
{{Item/Version|2022-07-22| {{Version/WinX|4.1}}}}&lt;br /&gt;
{{Item/Version|2022-05-31| [[Version_3.6.2_Server]]}}&lt;br /&gt;
{{Item/Version|2022-04-26| {{Version/WinX|4.0}}}}&lt;br /&gt;
{{Item/Version|2022-03-23| [[Version_3.6.1_Server]]}}&lt;br /&gt;
{{Item/Version|2022-01-19| {{Version/Server|3.6}}}}&lt;br /&gt;
{{Item/Version|2021-12-22| [[Version_1.3_Xamarin]]}}&lt;br /&gt;
{{Item/Version|2021-05-31| [[Version_1.2_Xamarin]]}}&lt;br /&gt;
{{Item/Version|2021-04-23| {{Version/WinX|3.8}}}}&lt;br /&gt;
{{Item/Version|2020-11-12| [[Version_1.1_Xamarin]]}}&lt;br /&gt;
{{Item/Version|2020-04-09| {{Version/Server|3.5.0}}}}&lt;br /&gt;
{{Item/Version|2020-03-27| {{Version/WinX|3.7}}}}&lt;br /&gt;
{{Item/Version|2020-02-13| {{Version/WinX|3.6}}}}&lt;br /&gt;
{{Item/Version|2019-11-04| [[Version_1.0_(Xamarin.iOS)]]}}&lt;br /&gt;
{{Item/Version|2019-10-21| [[Version_1.0_(Xamarin.Android)]]}}&lt;br /&gt;
{{Item/Version|2019-04-30| {{Version/WinX|3.5}}}}&lt;br /&gt;
{{Item/Version|2018-12-10| {{Version/Server|2.6.3}}}}&lt;br /&gt;
{{Item/Version|2018-12-10| {{Version/WinX|3.4}}}}&lt;br /&gt;
{{Item/Version|2018-10-24| {{Version/WinX|3.3}}}}&lt;br /&gt;
{{Item/Version|2018-07-06| {{Version/WinX|3.2.0}}}}&lt;br /&gt;
{{Item/Version|2018-04-19| {{Version/Android|3.0.0}}}}&lt;br /&gt;
{{Item/Version|2018-04-04| {{Version/Server|2.6.2}}}}&lt;br /&gt;
{{Item/Version|2018-03-08| {{Version/Android|2.6.0}}}}&lt;br /&gt;
{{Item/Version|2018-01-23| {{Version/WinX|3.1.0}}}}&lt;br /&gt;
{{Item/Version|2017-10-13| {{Version/WinX|3.0.0}}}}&lt;br /&gt;
{{Item/Version|2017-06-14| {{Version/Server|2.6.0}}}}&lt;br /&gt;
{{Item/Version|2017-02-13| {{Version/WinX|2.6.0}}}}&lt;br /&gt;
{{Item/Version|2016-07-21| {{Version/Android|2.5.5}}}}&lt;br /&gt;
{{Item/Version|2016-07-21| {{Version/Android|2.5.4}}}}&lt;br /&gt;
{{Item/Version|2016-04-01| {{Version/Android|2.5.3}}}}&lt;br /&gt;
{{Item/Version|2016-05-13| {{Version/WinX|2.5.2}}}}&lt;br /&gt;
{{Item/Version|2016-01-27| {{Version/Android|2.5.2}}}}&lt;br /&gt;
{{Item/Version|2015-11-25| {{Version/Web|2.5.0}}}}&lt;br /&gt;
{{Item/Version|2015-11-20| {{Version/Android|2.5.1}}}}&lt;br /&gt;
{{Item/Version|2015-11-17| {{Version/Android|2.5.0}}}}&lt;br /&gt;
{{Item/Version|2015-10-15| {{Version/Server|2.5.0}}}}&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{Item/Version|2015-07-09| {{Version/Android|2.4.6}}}}&lt;br /&gt;
{{Item/Version|2015-06-24| {{Version/Android|2.4.5}}}}&lt;br /&gt;
{{Item/Version|2015-05-21| {{Version/Server|2.4.3}}}}&lt;br /&gt;
{{Item/Version|2015-04-23| {{Version/Android|2.4.4}}}}&lt;br /&gt;
{{Item/Version|2015-04-08| {{Version/Android|2.4.3}}}}&lt;br /&gt;
{{Item/Version|2015-03-20| {{Version/Android|2.4.2}}&amp;lt;br /&amp;gt;{{Version/Server|2.4.2}}}}&lt;br /&gt;
{{Item/Version|2015-03-12| {{Version/Server|2.4.1}}}}&lt;br /&gt;
{{Item/Version|2015-03-04| {{Version/Android|2.4.1}}}}&lt;br /&gt;
{{Item/Version|2014-12-05| {{Version/Android|2.4.1}}&amp;lt;br /&amp;gt;{{Version/Server|2.4.0}}}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
[[File:IC_MainPage-20.png]] '''Available Release Candidates'''&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;table&amp;quot; style=&amp;quot;width:100%;&amp;quot;&amp;gt;&lt;br /&gt;
{{Item/Version|2020-01-01| {{Version/Android|3.1.0}}}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;hr/&amp;gt;&lt;br /&gt;
[[File:IC_MainPage-21.png]] '''[[:Category:Release notes|Previous versions]]'''&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=Version_4.1_(WinX)&amp;diff=23810</id>
		<title>Version 4.1 (WinX)</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=Version_4.1_(WinX)&amp;diff=23810"/>
				<updated>2022-07-28T13:19:33Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Important Notes ==&lt;br /&gt;
&lt;br /&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;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Release ==&lt;br /&gt;
&lt;br /&gt;
=== 4.1.xx on 2022-07-xx ===&lt;br /&gt;
* Fixed an issue where HotSpots could only be created on documents that already had HotSpots before&lt;br /&gt;
&lt;br /&gt;
=== 4.1.79 on 2022-07-27 {{key press|AppCenter}} ===&lt;br /&gt;
* Fixed an issue where dynamic selective list items are not always updated when the dependent property values are changed.&lt;br /&gt;
&lt;br /&gt;
=== 4.1.78 on 2022-07-22 {{key press|Store}} ===&lt;br /&gt;
* Fixed an issue where the stroke width of pdf ink annotations was not in sync with the slider.&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 4.1.75 on 2022-06-24 {{key press|DevOps}} ===&lt;br /&gt;
* Fixed an issue where content pages flicker randomly (every time the device receives a location update).&lt;br /&gt;
* Fixed an issue where outdated results are presented in most scan features such as QR code, RFID, AR marker scanning. It happens after the code related property values of the result objects have changed until a new user session.&lt;br /&gt;
* Add a new DependencyProperty for disabling the context menu on annotations.&lt;br /&gt;
* Fixed wrong coordinates when hotspots are placed on existing annotations.&lt;br /&gt;
* Allow placing of Hotspots on existing hotspots.&lt;br /&gt;
* Added a new command for deleting the selected annotation.&lt;br /&gt;
&lt;br /&gt;
=== 4.1.50 on 2022-06-08 {{key press|DevOps}} ===&lt;br /&gt;
* Fixed an issue where annotations/hotspots are not updated on content changes until a page refresh.&lt;br /&gt;
* Fixed an issue where resetting a signature property value might incorrectly mark it as changed (when using different types of clients).&lt;br /&gt;
* Fixed an issue where the legacy/obsolete portion of the ContentViewModel.SetPropertyValueCommand bypasses the property authentication.&lt;br /&gt;
* Fixed an issue where the edit session of a hotspot property doesn’t end when a link property is placed as the hotspot.&lt;br /&gt;
* Fixed an issue where the root list is not updated the first time with an empty database. &lt;br /&gt;
&lt;br /&gt;
=== 4.1.43 on 2022-05-31 {{key press|AppCenter}} ===&lt;br /&gt;
* All AR pages are now fully customizable (including the camera view, map view, etc.).&lt;br /&gt;
* It's now possible for users to request [[Exclusive_Access_Content_(Client)|exclusive access]] for UBIK content to prevent others from editing it at the same time. &lt;br /&gt;
* The PdfViewer now uses a CommandBar that enables automatic items overflow on smaller screens.&lt;br /&gt;
* The PdfViewer now has a text search feature.&lt;br /&gt;
* Some properties now need to be authenticated first before editing ([[UBIK_WinX_Client_Basics#Authentication_Properties|Authentication Properties]]).&lt;br /&gt;
* The app now determines the default tab to select based on different data configurations and scenarios.&lt;br /&gt;
* Custom UBIKContentArea templates can now be chosen automatically based on [[SYSCLS_CONTENTAREATEMPLATE|certain properties of the context object]]. &lt;br /&gt;
* The general locking status of an MRO task owner or work package is now inherited by all its MRO child objects. This applies to all types of locking, e.g. exclusive access, user rights, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* During PDF annotating/hotspotting, changes are lost if you leave the page without deselecting the changed annotation/hotspot.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= XAML Notes =&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== XAML changes ==&lt;br /&gt;
* The following templates need to be re-customized using the new default ones:&lt;br /&gt;
** UBIKPOIArea&lt;br /&gt;
** UBIKMapArea&lt;br /&gt;
** UBIKScanArea&lt;br /&gt;
** UBIKContentArea (due to significant changes to the Document section)&lt;br /&gt;
&lt;br /&gt;
* UBIKChildArea now supports customizable sub-tabs for child list filter presets.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Category/Version2|{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 4.1 (WinX)]]&lt;br /&gt;
[[Category:Version 4.1|Version 4.1 (WinX)]]&lt;br /&gt;
[[Category:WinX|Version 4.1 (WinX)]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=Version_4.1_(WinX)&amp;diff=23777</id>
		<title>Version 4.1 (WinX)</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=Version_4.1_(WinX)&amp;diff=23777"/>
				<updated>2022-07-12T09:19:35Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Important Notes ==&lt;br /&gt;
&lt;br /&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;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Release ==&lt;br /&gt;
&lt;br /&gt;
== Beta ==&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 4.1.xx on 2022-07-xx {{key press|DevOps}} ===&lt;br /&gt;
* Fixed an issue where the stroke width of pdf ink annotations was not in sync with the slider&lt;br /&gt;
&lt;br /&gt;
=== 4.1.75 on 2022-06-24 {{key press|DevOps}} ===&lt;br /&gt;
* Fixed an issue where content pages flicker randomly (every time the device receives a location update).&lt;br /&gt;
* Fixed an issue where outdated results are presented in most scan features such as QR code, RFID, AR marker scanning. It happens after the code related property values of the result objects have changed until a new user session.&lt;br /&gt;
* Add a new DependencyProperty for disabling the context menu on annotations.&lt;br /&gt;
* Fixed wrong coordinates when hotspots are placed on existing annotations.&lt;br /&gt;
* Allow placing of Hotspots on existing hotspots.&lt;br /&gt;
* Added a new command for deleting the selected annotation.&lt;br /&gt;
&lt;br /&gt;
=== 4.1.50 on 2022-06-08 {{key press|DevOps}} ===&lt;br /&gt;
* Fixed an issue where annotations/hotspots are not updated on content changes until a page refresh.&lt;br /&gt;
* Fixed an issue where resetting a signature property value might incorrectly mark it as changed (when using different types of clients).&lt;br /&gt;
* Fixed an issue where the legacy/obsolete portion of the ContentViewModel.SetPropertyValueCommand bypasses the property authentication.&lt;br /&gt;
* Fixed an issue where the edit session of a hotspot property doesn’t end when a link property is placed as the hotspot.&lt;br /&gt;
* Fixed an issue where the root list is not updated the first time with an empty database. &lt;br /&gt;
&lt;br /&gt;
=== 4.1.43 on 2022-05-31 {{key press|AppCenter}} ===&lt;br /&gt;
* All AR pages are now fully customizable (including the camera view, map view, etc.).&lt;br /&gt;
* It's now possible for users to request [[Exclusive_Access_Content_(Client)|exclusive access]] for UBIK content to prevent others from editing it at the same time. &lt;br /&gt;
* The PdfViewer now uses a CommandBar that enables automatic items overflow on smaller screens.&lt;br /&gt;
* The PdfViewer now has a text search feature.&lt;br /&gt;
* Some properties now need to be authenticated first before editing ([[UBIK_WinX_Client_Basics#Authentication_Properties|Authentication Properties]]).&lt;br /&gt;
* The app now determines the default tab to select based on different data configurations and scenarios.&lt;br /&gt;
* Custom UBIKContentArea templates can now be chosen automatically based on [[SYSCLS_CONTENTAREATEMPLATE|certain properties of the context object]]. &lt;br /&gt;
* The general locking status of an MRO task owner or work package is now inherited by all its MRO child objects. This applies to all types of locking, e.g. exclusive access, user rights, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* During PDF annotating/hotspotting, changes are lost if you leave the page without deselecting the changed annotation/hotspot.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= XAML Notes =&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== XAML changes ==&lt;br /&gt;
* The following templates need to be re-customized using the new default ones:&lt;br /&gt;
** UBIKPOIArea&lt;br /&gt;
** UBIKMapArea&lt;br /&gt;
** UBIKScanArea&lt;br /&gt;
** UBIKContentArea (due to significant changes to the Document section)&lt;br /&gt;
&lt;br /&gt;
* UBIKChildArea now supports customizable sub-tabs for child list filter presets.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Category/Version2|{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 4.1 (WinX)]]&lt;br /&gt;
[[Category:Version 4.1|Version 4.1 (WinX)]]&lt;br /&gt;
[[Category:WinX|Version 4.1 (WinX)]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=Deep_Linking&amp;diff=23731</id>
		<title>Deep Linking</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=Deep_Linking&amp;diff=23731"/>
				<updated>2022-06-14T13:01:28Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: /* URI Scheme */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{UBIK}} clients support mobile deep linking through URI schemes and parameters.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
To avoid bypassing the {{UBIK}} security mechanisms with deep links, it is not possible to pass any kind of user credentials or other authentication factors through these links. Instead, a profile has to be specified by name. &lt;br /&gt;
* If there was already a successful authentication against this profile on the mobile device and the credentials were stored, the deep linking will happen without authentication&lt;br /&gt;
* If there are no stored credentials for that profile, the deep link will always end up at the Authentication screen and only after successful authentication, the deep link will be executed&lt;br /&gt;
&lt;br /&gt;
== URI Scheme ==&lt;br /&gt;
{{UBIK}} clients register themselves with the scheme &amp;lt;code&amp;gt;com.augmensys.ubik://&amp;lt;/code&amp;gt; at the OS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Supported Actions ==&lt;br /&gt;
&lt;br /&gt;
=== Navigate to a specific object {{key press|UWP}} ===&lt;br /&gt;
Navigation to a {{UBIK}} object is triggered by the deep link &amp;lt;code&amp;gt;NAVIGATE&amp;lt;/code&amp;gt;, and supports the following parameters:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter!! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;profile&amp;lt;/code&amp;gt;|| The name of the {{UBIK}} profile&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;uid&amp;lt;/code&amp;gt;|| The Guid of the object to navigate to&lt;br /&gt;
|-|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Example:''' &amp;lt;code&amp;gt;com.augmensys.ubik://NAVIGATE/?profile=New.Demo_V3&amp;amp;uid=c6d1e599-c665-408f-b4f9-bf6e64428610&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=Deep_Linking&amp;diff=23730</id>
		<title>Deep Linking</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=Deep_Linking&amp;diff=23730"/>
				<updated>2022-06-14T07:34:26Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: Created page with &amp;quot;{{UBIK}} clients support mobile deep linking through URI schemes and parameters.  == Security == To avoid bypassing the {{UBIK}} security mechanisms with deep links, it is not...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{UBIK}} clients support mobile deep linking through URI schemes and parameters.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
To avoid bypassing the {{UBIK}} security mechanisms with deep links, it is not possible to pass any kind of user credentials or other authentication factors through these links. Instead, a profile has to be specified by name. &lt;br /&gt;
* If there was already a successful authentication against this profile on the mobile device and the credentials were stored, the deep linking will happen without authentication&lt;br /&gt;
* If there are no stored credentials for that profile, the deep link will always end up at the Authentication screen and only after successful authentication, the deep link will be executed&lt;br /&gt;
&lt;br /&gt;
== URI Scheme ==&lt;br /&gt;
{{UBIK}} clients register themselves with the scheme &amp;lt;code&amp;gt;com.augmnesys.ubik://&amp;lt;/code&amp;gt; at the OS.&lt;br /&gt;
&lt;br /&gt;
== Supported Actions ==&lt;br /&gt;
&lt;br /&gt;
=== Navigate to a specific object {{key press|UWP}} ===&lt;br /&gt;
Navigation to a {{UBIK}} object is triggered by the deep link &amp;lt;code&amp;gt;NAVIGATE&amp;lt;/code&amp;gt;, and supports the following parameters:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter!! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;profile&amp;lt;/code&amp;gt;|| The name of the {{UBIK}} profile&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;uid&amp;lt;/code&amp;gt;|| The Guid of the object to navigate to&lt;br /&gt;
|-|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Example:''' &amp;lt;code&amp;gt;com.augmensys.ubik://NAVIGATE/?profile=New.Demo_V3&amp;amp;uid=c6d1e599-c665-408f-b4f9-bf6e64428610&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=Client_Feature_Table&amp;diff=23729</id>
		<title>Client Feature Table</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=Client_Feature_Table&amp;diff=23729"/>
				<updated>2022-06-14T07:12:46Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following tables provide an overview about the {{UBIK}} client features and their availability on the various platforms/clients.&lt;br /&gt;
* If there are further introductions on a feature, you can find the links in the &amp;quot;Feature&amp;quot; column and/or on the bullet points in the platform columns;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; width: 30%; float:right; margin-left: auto; margin-right: 0px&amp;quot;&lt;br /&gt;
|+ Table Legend&lt;br /&gt;
|-&lt;br /&gt;
! Symbol !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:IC_Bullet_Full.png|12px|link=]] || Supported and it's a link&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:IC_Bullet_Full.png|8px|link=]] || Supported&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:IC_Bullet_HalfFull.png|12px|link=]] || Partially supported and it's a link&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:IC_Bullet_HalfFull.png|8px|link=]] || Partially supported&lt;br /&gt;
|-&lt;br /&gt;
| - || Not supported&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; width: 100%&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:28%&amp;quot; | Feature &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | UWP/&amp;lt;br/&amp;gt;WinX &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Xamarin &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Web &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Android&amp;lt;br/&amp;gt;(Obsolete) &lt;br /&gt;
!! style=&amp;quot;width:44%&amp;quot; | Comment&lt;br /&gt;
|-&lt;br /&gt;
| Content Browser&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=UBIK_WinX_Client_Basics#Content_Browser]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=UBIK_Client_Basics#Content_Browser]]&lt;br /&gt;
|| Browse data and documents&lt;br /&gt;
|-&lt;br /&gt;
| UI Customizing&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=XAML]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Xamarin_XAML]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_HalfFull.png|12px|link=UI_Configuration]]&lt;br /&gt;
|| Customize UI using config files (e.g. XAML)&lt;br /&gt;
|-&lt;br /&gt;
| [[Developer_Mode]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| Utility to support UI customizing tasks&lt;br /&gt;
|-&lt;br /&gt;
| [[Deploy_UI_Customizings_(Client)|Server Side UI Distribution]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=XAML]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Xamarin_XAML]]&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| Automatically distributes UI customizings to clients&lt;br /&gt;
|-&lt;br /&gt;
| [[MRO_Objects_(Client)|MRO]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| Tasks and work packages with progress calculation&lt;br /&gt;
|-&lt;br /&gt;
| Map View&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Map_View]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Map_View_(Xamarin)]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Map_View]]&lt;br /&gt;
|| View objects on a map&lt;br /&gt;
|-&lt;br /&gt;
| POI View&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=POI_View]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=POI_View_(Xamarin)]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=POI_View]]&lt;br /&gt;
|| View objects in augmented reality&lt;br /&gt;
|-&lt;br /&gt;
| [[Navigation_via_Augmented_Reality|AR Navigation]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| Navigate to objects in augmented reality&lt;br /&gt;
|-&lt;br /&gt;
| [[AR-Marker]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| Aruco markers for POI display, object search, etc.&lt;br /&gt;
|-&lt;br /&gt;
| [[Optical_code|Optical Code Scanning]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| QR-Codes, Barcodes, ID-Markers&lt;br /&gt;
|-&lt;br /&gt;
| [[Location_Manager|Positioning]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| Positioning systems with pose fusion&lt;br /&gt;
|-&lt;br /&gt;
| [[Settings|Settings/Profiles/Presets]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=UBIK_WinX_Client_Basics#Profiles]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_HalfFull.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Preset]]&lt;br /&gt;
|| Settings and transferable files for settings&lt;br /&gt;
|-&lt;br /&gt;
| Server Side Profile Distribution&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_HalfFull.png|12px|link=Managed_App_Configuration]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=UBIK_Preset_Service]]&lt;br /&gt;
|| Distributes profiles to clients. Xamarin.Android only.&lt;br /&gt;
|-&lt;br /&gt;
| Remote Support&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=UBIK_Client_Basics#Navigation_Drawer]]&lt;br /&gt;
|| Video and audio calls&lt;br /&gt;
|-&lt;br /&gt;
| Free Text Search&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Mobile_Free_Text_Search_(UBIK_WinX)]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Mobile_Free_Text_Search]]&lt;br /&gt;
|| Find objects by free text searches&lt;br /&gt;
|-&lt;br /&gt;
| [[Deep Linking|Deep Linking]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| Open/steer App through URI schemes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Client Feature Table]]&lt;br /&gt;
&lt;br /&gt;
==Content Browser==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; width: 100%&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:28%&amp;quot; | Feature &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | UWP/&amp;lt;br/&amp;gt;WinX &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Xamarin &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Web &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Android&amp;lt;br/&amp;gt;(Obsolete) &lt;br /&gt;
!! style=&amp;quot;width:44%&amp;quot; | Comment&lt;br /&gt;
|-&lt;br /&gt;
| Online Queries&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Query_Objects_(UBIK_Android)]]&lt;br /&gt;
|| &lt;br /&gt;
|-&lt;br /&gt;
| Offline Queries&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Offline_Query_(UBIK_WinX)]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| &lt;br /&gt;
|-&lt;br /&gt;
| [[Data_Replication_(UBIK_Client)|Local Data Replication]]&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_HalfFull.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_HalfFull.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| Copy / Paste and data template based replication&lt;br /&gt;
|-&lt;br /&gt;
| Dynamic Content Tabs&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=UBIK_Client_Basics#Dynamic_Content_Tabs]]&lt;br /&gt;
|| Determines tabs based on the content&lt;br /&gt;
|-&lt;br /&gt;
| Context Aware Action Menu&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| &lt;br /&gt;
|-&lt;br /&gt;
| Content Creation&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| &lt;br /&gt;
|-&lt;br /&gt;
| Document Creation&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_HalfFull.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_HalfFull.png|8px|link=]]&lt;br /&gt;
|| Attach files or capture media&lt;br /&gt;
|-&lt;br /&gt;
| Content Deletion&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| &lt;br /&gt;
|-&lt;br /&gt;
| Safety Instructions&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| &lt;br /&gt;
|-&lt;br /&gt;
| [[User_Rights]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| Restricts which objects can be seen and/or edit per user&lt;br /&gt;
|-&lt;br /&gt;
| [[Property_Based_Content_Filters]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| Custom UI based filtering and sorting&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Objects ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; width: 100%&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:28%&amp;quot; | Feature &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | UWP/&amp;lt;br/&amp;gt;WinX &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Xamarin &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Web &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Android&amp;lt;br/&amp;gt;(Obsolete) &lt;br /&gt;
!! style=&amp;quot;width:44%&amp;quot; | Comment&lt;br /&gt;
|-&lt;br /&gt;
| Icons&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| Icons from [[MetaClass]]&lt;br /&gt;
|-&lt;br /&gt;
| [[SYSCLS_SORTEDITEM|Grouping and Sorting]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| Direct MRO Task Editing&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Property_Direct_Edit_(Client)]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Property_Direct_Edit_(Client)]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_HalfFull.png|12px|link=Task_Objects_(UBIK_Android)]]&lt;br /&gt;
|| Interact with MRO tasks without editors&lt;br /&gt;
|-&lt;br /&gt;
| [[SYSCLS_MEASUREMENTTASK|Measurement Task]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| MRO tasks with double value type and current/previous values&lt;br /&gt;
|-&lt;br /&gt;
| [[SYSCLS_VALUEREPORTING|Value Reporting Task]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| Measurement tasks with predefined value ranges&lt;br /&gt;
|-&lt;br /&gt;
| [[MRO_Objects_(Client)#Sequential_Task|Sequential Task]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
||?&lt;br /&gt;
|| -&lt;br /&gt;
|| Tasks that have predefined predecessors and/or successors&lt;br /&gt;
|-&lt;br /&gt;
| [[SYSCLS_STATUSCOLOR|Status Color]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| Distance Display &amp;amp; Sorting&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| [[Exclusive_Access_Content_(Client)|Exclusive Access Content]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| Check out / Release content for exclusive access&lt;br /&gt;
|-&lt;br /&gt;
| [[SYSCLS UNLOCK BY SCAN|Unlock by Scan]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| Objects get unlocked for a short period of time after scanned&lt;br /&gt;
|-&lt;br /&gt;
| [[SYSCLS_OBJECT_WITH_ICON|Object with Custom Icon]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| Icons from [[ContentClass]]&lt;br /&gt;
|-&lt;br /&gt;
| [[MRO_Objects_(Client)#MRO_objects_with_project_information_.28WinX_only.29|MRO Objects with Project Info]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| Gantt chart like display&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; width: 100%&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:28%&amp;quot; | Feature &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | UWP/&amp;lt;br/&amp;gt;WinX &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Xamarin &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Web &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Android&amp;lt;br/&amp;gt;(Obsolete) &lt;br /&gt;
!! style=&amp;quot;width:44%&amp;quot; | Comment&lt;br /&gt;
|-&lt;br /&gt;
| Property Priority&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| Determines the sorting of properties and affect the [[Property_Wizard_(Client)|wizard creation]]&lt;br /&gt;
|-&lt;br /&gt;
| Invisible/System Properties&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| Hide properties that aren't meant for users&lt;br /&gt;
|-&lt;br /&gt;
| Sorting&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| Editing&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| [[Property_Direct_Edit_(Client)|Direct Editing]]&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| Inline editing instead of editors/dialogs&lt;br /&gt;
|-&lt;br /&gt;
| [[MetaProperty#Default_value|Default and Initial Values]]&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| Value Records / Change Log&lt;br /&gt;
|| [[Image:IC Bullet Full.png|12px|link=UBIK_WinX_Client_Basics#Properties_with_value_records]]&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| Logging the timestamps and users of property values changes.&lt;br /&gt;
|-&lt;br /&gt;
| Value Validity Border&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| A value interval with warning and error boundaries.&lt;br /&gt;
|-&lt;br /&gt;
| Teach-in&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC Bullet Full.png|12px|link=UBIK_Client_Basics#Teach-in_Actions]]&lt;br /&gt;
|| Scan to input property values&lt;br /&gt;
|-&lt;br /&gt;
| [[Live_Values]]&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
||&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| [[SYSCLS_VALUE_SERIES|Value Series]]&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| Chart data and display&lt;br /&gt;
|-&lt;br /&gt;
| Signature&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_HalfFull.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| Digital hand written signatures. Xamarin.iOS not yet available&lt;br /&gt;
|-&lt;br /&gt;
| [[User_Rights]] on Properties&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| Restricts which properties can be seen and/or edit per user&lt;br /&gt;
|-&lt;br /&gt;
| [[UBIK_WinX_Client_Basics#Authentication_Properties|Property Authentication]]&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC Bullet Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| Properties that are locked until authenticated&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; width: 100%&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:28%&amp;quot; | Feature &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | UWP/&amp;lt;br/&amp;gt;WinX &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Xamarin &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Web &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Android&amp;lt;br/&amp;gt;(Obsolete) &lt;br /&gt;
!! style=&amp;quot;width:44%&amp;quot; | Comment&lt;br /&gt;
|-&lt;br /&gt;
| [[SYSCLS_THUMBNAILEDFILE|Thumbnails]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| [[SYSCLS_URLDOCUMENT|Link/URL Documents]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
||?&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| [[SYSCLS_FILEDOCUMENT|Local Documents]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| &lt;br /&gt;
|-&lt;br /&gt;
| [[SYSCLS_ANNOTATION|Annotations]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| [[HotSpotting]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| [[HowTo:Make_a_Document_editable_on_Mobile_Client|Editing]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Documents_(Client)#Editing_Documents_2]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| [[HowTo:Make_a_Document_ready_for_Redlining|Redlining]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Documents_(Client)#Redlining]]&lt;br /&gt;
|| Outdated and replaced by the annotation feature&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Navigation==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; width: 100%&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:28%&amp;quot; | Feature &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | UWP/&amp;lt;br/&amp;gt;WinX &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Xamarin &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Web &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Android&amp;lt;br/&amp;gt;(Obsolete) &lt;br /&gt;
!! style=&amp;quot;width:44%&amp;quot; | Comment&lt;br /&gt;
|-&lt;br /&gt;
| Maps Navigation Online&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| Different map apps on different platforms&lt;br /&gt;
|-&lt;br /&gt;
| Maps Navigation Offline&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| OSM, Sygic or other apps, optionally&lt;br /&gt;
|-&lt;br /&gt;
| [[Navigation_via_Augmented_Reality|AR Navigation]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| Navigate to objects in augmented reality&lt;br /&gt;
|-&lt;br /&gt;
| [[AR-Marker Device Pose Estimation]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| Estimates device positions using AR markers&lt;br /&gt;
|-&lt;br /&gt;
| [[Beacon_Proximity]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| Estimates device positions using bluetooth beacons&lt;br /&gt;
|-&lt;br /&gt;
| [[Compass]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| &lt;br /&gt;
|-&lt;br /&gt;
| [[GPS]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| &lt;br /&gt;
|-&lt;br /&gt;
| [[Gyroscope]]&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| &lt;br /&gt;
|-&lt;br /&gt;
| [[Object Proximity Positioning|Object Proximity]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| Uses geo positions extracted from objects (scanned or selected)&lt;br /&gt;
|-&lt;br /&gt;
| [[Step Detector]]&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| &lt;br /&gt;
|-&lt;br /&gt;
| [[Routing-Graph Snapping]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Points of Interest==&lt;br /&gt;
&lt;br /&gt;
=== Map ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; width: 100%&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:28%&amp;quot; | Feature &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | UWP/&amp;lt;br/&amp;gt;WinX &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Xamarin &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Web &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Android&amp;lt;br/&amp;gt;(Obsolete) &lt;br /&gt;
!! style=&amp;quot;width:44%&amp;quot; | Comment&lt;br /&gt;
|-&lt;br /&gt;
| [[HowTo:Declare_an_Object_as_Map_Item|Map Items]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Map_View#POI_details]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Map_View_(Xamarin)#Geo_POIs]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Map_View#POI_details]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| [[HowTo:Declare_an_Object_as_POI_Group|POI Groups &amp;amp; Buildings]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Map_View#Buildings_.26_Indoor_Maps]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Map_View_(Xamarin)#Group.2C_Building_.26_Level]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Map_View#Buildings_.26_Indoor_Maps]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| [[HowTo:Declare_an_Object_as_Map_Layer|Layers and Layer Items]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Map_View#Map_layers_button]]&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Map_View#Map_layers_button]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| [[HowTo:Create_Image_Map_Overlays|Overlays]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Map_View#Base_map]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Map_View_(Xamarin)#Map_Overlays]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Map_View#Base_map]]&lt;br /&gt;
|| &lt;br /&gt;
|-&lt;br /&gt;
| [[SYSCLS_MAPSHAPE|Shapes]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Map_View_(Xamarin)#Map_Shapes]]&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| New MapsUI based feature&lt;br /&gt;
|-&lt;br /&gt;
| [[Geographies]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| UBIK proprietary solution&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Augmented Reality ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; width: 100%&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:28%&amp;quot; | Feature &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | UWP/&amp;lt;br/&amp;gt;WinX &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Xamarin &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Web &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Android&amp;lt;br/&amp;gt;(Obsolete) &lt;br /&gt;
!! style=&amp;quot;width:44%&amp;quot; | Comment&lt;br /&gt;
|-&lt;br /&gt;
| [[HowTo:Declare_an_Object_as_Map_Item|POI Items]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=POI_View#Billboard]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=POI_View_(Xamarin)#Geo_POI]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=POI_View#Billboard]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| [[HowTo:Declare_an_Object_as_POI_Group|POI Groups &amp;amp; Buildings]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=POI_View_(Xamarin)#Group.2C_Building_.26_Level]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| [[HowTo:Declare_an_Object_as_Map_Layer|Layers and Layer Items]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| The same as in the map&lt;br /&gt;
|-&lt;br /&gt;
| POI Status Color&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Object Identification==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; width: 100%&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:28%&amp;quot; | Feature &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | UWP/&amp;lt;br/&amp;gt;WinX &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Xamarin &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Web &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Android&amp;lt;br/&amp;gt;(Obsolete) &lt;br /&gt;
!! style=&amp;quot;width:44%&amp;quot; | Comment&lt;br /&gt;
|-&lt;br /&gt;
| [[HowTo:Make_an_Object_be_found_by_Optical_Codes|QR Code]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=HowTo:Find_Objects_by_Optical_Codes]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=UBIK_Client_Basics#QR_Code]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| [[HowTo:Make_an_Object_be_found_by_Optical_Codes|Barcode]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=HowTo:Find_Objects_by_Optical_Codes]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Optical_code#Types_of_optical_codes]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| [[HowTo:Make_an_Object_be_found_by_Optical_Codes|ID Marker]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=UBIK_Client_Basics#ID_Marker]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| RFID&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=RFID_tags]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=UBIK_Client_Basics#RFID]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| [[OCR]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| ID Marker 3D&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=UBIK_Client_Basics#ID_Marker_3D]]&lt;br /&gt;
|| Obsolete&lt;br /&gt;
|-&lt;br /&gt;
| Markerless Image Tracking&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=UBIK_Client_Basics#Markerless]]&lt;br /&gt;
|| Obsolete&lt;br /&gt;
|-&lt;br /&gt;
| Configurable AR Content&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=HowTo:Configure_Dynamic_AR_Content]]&lt;br /&gt;
|| UWP and Xamarin use a new and more flexible technique (XAML)&lt;br /&gt;
|-&lt;br /&gt;
| [[AR-Marker]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| Aruco markers for POI display, object search, etc.&lt;br /&gt;
|-&lt;br /&gt;
| [[AR-Marker#Grouped_AR_Marker|Grouped AR Marker]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| To overcome the number limit of available markers&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Synchronization==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; width: 100%&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:28%&amp;quot; | Feature &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | UWP/&amp;lt;br/&amp;gt;WinX &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Xamarin &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Web &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Android&amp;lt;br/&amp;gt;(Obsolete) &lt;br /&gt;
!! style=&amp;quot;width:44%&amp;quot; | Comment&lt;br /&gt;
|-&lt;br /&gt;
| Automatic Mode&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Sync_Mode|Automatic Mode]]&lt;br /&gt;
|| Auto sync/download, auto commit/upload&lt;br /&gt;
|-&lt;br /&gt;
| Manual Mode&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_HalfFull.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Sync_Mode|Manual Mode]]&lt;br /&gt;
|| Auto sync/download, manual commit/upload&lt;br /&gt;
|-&lt;br /&gt;
| Offline Mode&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Sync_Mode|Offline Mode]]&lt;br /&gt;
|| No sync/download, no commit/upload&lt;br /&gt;
|-&lt;br /&gt;
| Branch Download&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Branch_Download]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=Branch_Download]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| Make data offline available&lt;br /&gt;
|-&lt;br /&gt;
| [[Branch_Download#Automatic_Download|Configurable Automatic Branch Download]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| Configure data to be auto download in different manners&lt;br /&gt;
|-&lt;br /&gt;
| [[Push_Service_(Client)|Push]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
||&lt;br /&gt;
|-&lt;br /&gt;
| [[Login_View#Login_details|Login Details]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| Delivers login details (of users) to clients&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; width: 100%&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:28%&amp;quot; | Feature &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | UWP/&amp;lt;br/&amp;gt;WinX &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Xamarin &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Web &lt;br /&gt;
!! style=&amp;quot;width:7%&amp;quot; | Android&amp;lt;br/&amp;gt;(Obsolete) &lt;br /&gt;
!! style=&amp;quot;width:44%&amp;quot; | Comment&lt;br /&gt;
|-&lt;br /&gt;
| User Authentication&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| Resctrict login by user&lt;br /&gt;
|-&lt;br /&gt;
| Device Authentication&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| Resctrict login by device&lt;br /&gt;
|-&lt;br /&gt;
| Offline Authentication&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| Allows offline authentications after successful online ones&lt;br /&gt;
|-&lt;br /&gt;
| [[User_Rights]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| Restricts what data can be seen and/or edit per user&lt;br /&gt;
|-&lt;br /&gt;
| SSL/TLS Encrypted Communication (HTTPS)&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| Secured&lt;br /&gt;
|-&lt;br /&gt;
| HTTP Communication&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| Unsecured&lt;br /&gt;
|-&lt;br /&gt;
| Manage Certificates&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| -&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|12px|link=HowTo:Install_UBIK_Client_Certificate]]&lt;br /&gt;
|| Manages (server) self signed certificates in UBIK&lt;br /&gt;
|-&lt;br /&gt;
| Proxy Support&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| Uses OS proxy settings during service communications&lt;br /&gt;
|-&lt;br /&gt;
| Terminate User Sessions&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_Full.png|8px|link=]]&lt;br /&gt;
|| [[Image:IC_Bullet_HalfFull.png|8px|link=]]&lt;br /&gt;
|| -&lt;br /&gt;
|| Terminates {{UBIK}} service sessions upon logout or closing&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Client Feature Table]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=SYSCLS_DYNAMIC_SELECTIVE_LIST_CRITERION&amp;diff=23712</id>
		<title>SYSCLS DYNAMIC SELECTIVE LIST CRITERION</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=SYSCLS_DYNAMIC_SELECTIVE_LIST_CRITERION&amp;diff=23712"/>
				<updated>2022-06-08T10:55:10Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ClassificationInfoBox&lt;br /&gt;
| title = Selective list item criterion system classification&lt;br /&gt;
| name = {{PAGENAMEE}}&lt;br /&gt;
| inheritance = [[SYSCLS_ROOT]]&lt;br /&gt;
| namespace = System.Classification.Lists&lt;br /&gt;
| purpose = Classify criteria for dynamic selective lists&lt;br /&gt;
| version = 3.6+&lt;br /&gt;
| id = {413F34A9-762A-42BC-A5F5-BB8A6EE7B160}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== MetaProperties ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=50%&lt;br /&gt;
|-&lt;br /&gt;
! width=30% | Name !! width=30% | Data type !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| DYNAMIC_SELECTIVE_LIST || {{Guid}} || The dynamic selective list this criterion belongs to.&lt;br /&gt;
|-&lt;br /&gt;
| IS_MULTI_VALUE_STRING || {{Boolean}} || Does the dependency property contain multiple keys separated by &amp;quot;;&amp;quot;?&lt;br /&gt;
|-&lt;br /&gt;
| DEPENDENCY_CLASS || {{Guid}} || The kind of object do the items depend on - can be null.&lt;br /&gt;
|-&lt;br /&gt;
| DEPENDENCY_PROPERTY_NAME || {{String}} || The name of the property influencing what items should be available.&lt;br /&gt;
|-&lt;br /&gt;
| QUERY_CRITERION_NAME|| {{String}} || The name of the offline query criterion corresponding to this object.&lt;br /&gt;
|-&lt;br /&gt;
| IGNORE_NULL|| {{Boolean}} || Should null dependency property values be ignored (TRUE) or should only items with null keys be found in case the dependency value is null (FALSE)?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
The purpose of this classification is to define a criterion for a dynamic selective list for the client. In combination with a [[SYSCLS_DYNAMIC_SELECTIVE_LIST|Dynamic Selective List Classification]] implementation, a dynamic selective list can be configured for a scoped meta property.&lt;br /&gt;
&lt;br /&gt;
One dynamic selective list criterion describes how a offline query criterion is used to find dynamic selective items. It connects the dependency value to the offline query criterion of a dynamic selective list. &lt;br /&gt;
&lt;br /&gt;
For example, if you want to have a dynamic selective list presenting a list of cars, you could select the dynamic selective items (cars in this case) by manufacturer. Depending on property value telling you the manufacturer, only matching cars should be listed. &lt;br /&gt;
&lt;br /&gt;
Let's say on every car object, we have a property &amp;quot;manufacturer&amp;quot;, by which we could filter the cars conveniently. Then we'd need to configure a query criterion (or just a meta property) on the dynamic selective list searching for cars by this &amp;quot;manufacturer&amp;quot; property. &lt;br /&gt;
&lt;br /&gt;
The dynamic selective list criterion should tell us the name of that query criterion. Now, all we need to do is find out what manufacturer we are talking about. That's where the dependency property comes into play. &lt;br /&gt;
&lt;br /&gt;
The dependency property should contain the value we are filtering for. On the dynamic selective list criterion, you can describe the name of that property. You can also describe the query criterion used to find the items, so the value and the criterion are connected.&lt;br /&gt;
&lt;br /&gt;
The correct object containing the dependency property value is looked up in the ACM hierarchy, so the closest parent (relative to the object where the user should be able to see the dynamic items) with that property will be used and its value will be applied to the offline query when evaluating the dynamic selective list.&lt;br /&gt;
&lt;br /&gt;
It's also possible to configure a lot of additional details, which is implied in the comments of the meta properties table above.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[SYSCLS_DYNAMIC_SELECTIVE_LIST|Dynamic Selective List Classification]]&lt;br /&gt;
* [[HowTo:Configure_Dynamic_Selective_Lists| How to configure Dynamic Selective Lists]]&lt;br /&gt;
* [[Dynamic_Selective_List_(Client)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Classifications|E]]&lt;br /&gt;
[[Category:Version 3.6|SYSCLS DYNAMIC SELECTIVE LIST CRITERION]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=SYSCLS_DYNAMIC_SELECTIVE_LIST&amp;diff=23711</id>
		<title>SYSCLS DYNAMIC SELECTIVE LIST</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=SYSCLS_DYNAMIC_SELECTIVE_LIST&amp;diff=23711"/>
				<updated>2022-06-08T10:54:54Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ClassificationInfoBox&lt;br /&gt;
| title = Dynamic Selective List Classification&lt;br /&gt;
| name = {{PAGENAMEE}}&lt;br /&gt;
| inheritance = [[SYSCLS_OFFLINE_QUERY|Offline Query Classification]]&lt;br /&gt;
| namespace = System.Classification.Lists&lt;br /&gt;
| purpose = Classifies an offline query as dynamic selective list&lt;br /&gt;
| version = 3.6+&lt;br /&gt;
| id = {707B6D8B-D99A-4832-82A9-5341741BE50D}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== MetaProperties ==&lt;br /&gt;
&lt;br /&gt;
Just the inherited one from the offline query, which is autonomous (so no need to add anything).&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=50%&lt;br /&gt;
|-&lt;br /&gt;
! width=30% | Name !! width=30% | Data type !! Comment&lt;br /&gt;
|-&lt;br /&gt;
|   ||  || &lt;br /&gt;
|}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
The purpose of this classification is to define a dynamic selective list for the client. In combination with one or more [[SYSCLS_DYNAMIC_SELECTIVE_LIST_CRITERION|Dynamic Selective List Criterion Classification]] implementations, a dynamic selective list can be configured for a scoped meta property.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[SYSCLS_DYNAMIC_SELECTIVE_LIST_CRITERION|Dynamic Selective List Criterion Classification]]&lt;br /&gt;
* [[HowTo:Configure_Dynamic_Selective_Lists| How to configure Dynamic Selective Lists]]&lt;br /&gt;
* [[Dynamic_Selective_List_(Client)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Classifications|SYSCLS DYNAMIC SELECTIVE LIST]]&lt;br /&gt;
[[Category:Version 3.6|SYSCLS DYNAMIC SELECTIVE LIST]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=Version_4.1_(Xamarin)&amp;diff=23706</id>
		<title>Version 4.1 (Xamarin)</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=Version_4.1_(Xamarin)&amp;diff=23706"/>
				<updated>2022-06-03T10:57:26Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: /* 4.0.13 on 2022-02-24 {{key press|App Center}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|UBIK 4 clients can only connect to {{UBIK}} Servers of [[Version 3.6(Server)|version 3.6]] and higher!}}&lt;br /&gt;
&lt;br /&gt;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Release ==&lt;br /&gt;
&lt;br /&gt;
== Beta ==&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 4.1.xx on 2022-0x-xx ===&lt;br /&gt;
* Fixed an issue when scanning QR codes with line breaks on Android/iOS. &lt;br /&gt;
* The [[Managed_App_Configuration|managed app configuration]] on Android now supports for rolling out up to 25 {{UBIK}} profiles in an enterprise environment.&lt;br /&gt;
* Some properties now need to be authenticated first before editing (Authentication Properties).&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 4.0 Xamarin]]&lt;br /&gt;
[[Category:Version 4.0|Version 4.0 Xamarin]]&lt;br /&gt;
[[Category:Version 4.1|Version 4.1 Xamarin]]&lt;br /&gt;
[[Category:Version 4.1 Xamarin|Version 4.1 Xamarin]]&lt;br /&gt;
[[Category:Xamarin|Version 4.0 Xamarin]]&lt;br /&gt;
&lt;br /&gt;
=== 4.0.13 on 2022-02-24 {{key press|App Center}} ===&lt;br /&gt;
* The app's default profile is now only generated during app startup when no other profiles are detected.&lt;br /&gt;
* Xamarin Android now supports [[Managed_App_Configuration|managed app configuration]] for rolling out up to 9 {{UBIK}} profiles in an enterprise environment.&lt;br /&gt;
* Some security related improvements.&lt;br /&gt;
** The app now informs the web service to terminate the user session upon logout or app closing.&lt;br /&gt;
** The app no longer allows self signed server certificates.&lt;br /&gt;
* The app's entire login page is now customizable.&lt;br /&gt;
** As a result, the old feature which allows customizers to configure the background image of the login page (bg_portrait.png/bg_landscape.png) is removed. Because it only worked for Xamarin.UWP and can now be done with regular XAML customizing.&lt;br /&gt;
* Fixed an issue where the Logout button sometimes disappeared&lt;br /&gt;
* Fixed an issue where unnecessary messages are logged. (&amp;quot;Message is null&amp;quot;)&lt;br /&gt;
* {{UBIK}} clients are now able to log all webservice communication related activities (in UBIKWebserviceDebug.log) for better trouble shooting. It can also be turned off using the EnableSyncLogging setting in the profiles.&lt;br /&gt;
* {{UBIK}} now supports [[Camera Calibration|In-App Camera Calibration]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 4.0 Xamarin]]&lt;br /&gt;
[[Category:Version 4.0|Version 4.0 Xamarin]]&lt;br /&gt;
[[Category:Version 4.1|Version 4.1 Xamarin]]&lt;br /&gt;
[[Category:Version 4.1 Xamarin|Version 4.1 Xamarin]]&lt;br /&gt;
[[Category:Xamarin|Version 4.0 Xamarin]]&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= XAML Notes =&lt;br /&gt;
&lt;br /&gt;
== XAML changes ==&lt;br /&gt;
Since there has been a major UI redesign in this version, quite a lot of changes in XAML code (especially bindings) are involved. We have striven to maintain backward compatibility, but some changes either are simply unavoidable or their long term benefits outweigh the efforts required this one time.&lt;br /&gt;
&lt;br /&gt;
=== Converters ===&lt;br /&gt;
* Under namespace UBIK.CPL.Converters, SelectiveItemToValueConverter is renamed as PropertyValueToSelectiveItemConverter to properly reflect what it does.&lt;br /&gt;
* Under namespace UBIK.CPL.Converters, a new &amp;quot;StringToDateTimeTypesConverter&amp;quot; was added. It should be used when binding to a Date/Time Property on a PropertyViewModel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UBIKContentArea ===&lt;br /&gt;
* Changed from &amp;quot;Properties.Items&amp;quot; to &amp;quot;Properties.VisibleItems&amp;quot; in bindings because Items/AllItems now also include those system/invisible ones that users are not supposed to see.&lt;br /&gt;
&lt;br /&gt;
=== UBIKThemes ===&lt;br /&gt;
* Removed &amp;quot;Content.&amp;quot;, &amp;quot;OwnerModel.&amp;quot; from bindings in DateTemplate &amp;quot;UBIKPropertyItem&amp;quot;.&lt;br /&gt;
* &amp;quot;SetValueCommand&amp;quot;  is no longer available and replaced with &amp;quot;SetPropertyValueCommand&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== UBIKEditNA ===&lt;br /&gt;
* Prefixed bindings &amp;quot;EnableNAOption&amp;quot; &amp;amp; &amp;quot;NotApplicable&amp;quot; with &amp;quot;PropertyViewModel.&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Editor related templates ===&lt;br /&gt;
{{Hint|The changes are quite extensive and, therefore, we recommended you taking the default templates from the app and re-customize them from there.}}&lt;br /&gt;
&lt;br /&gt;
The affected list of templates include: UBIKEditDateTime, UBIKEditDouble, UBIKEditInt, UBIKEditGuid, UBIKEditGeo, UBIKEditBool, UBIKEditString.&lt;br /&gt;
* Changed from &amp;quot;PropertyItem&amp;quot; to &amp;quot;PropertyViewModel&amp;quot; in bindings;&lt;br /&gt;
* Prefixed bindings &amp;quot;EnableNAOption&amp;quot;, &amp;quot;NotApplicable&amp;quot;, &amp;quot;Unit&amp;quot; &amp;amp; &amp;quot;ShowComboBox&amp;quot; with &amp;quot;PropertyViewModel.&amp;quot;;&lt;br /&gt;
* Changed from &amp;quot;PropertyValue&amp;quot; to &amp;quot;PropertyViewModel.ValueItem.PropertyValue&amp;quot; in bindings;&lt;br /&gt;
* Prefixed binding &amp;quot;FilterQueryResults.Items&amp;quot; with &amp;quot;PropertyViewModel.&amp;quot;; (UBIKEditGuid)&lt;br /&gt;
* Changed from &amp;quot;ViewGuidObjectCommand&amp;quot; to &amp;quot;NavigateToGuidCommand&amp;quot;.  (UBIKEditGuid)&lt;br /&gt;
&lt;br /&gt;
=== Any template having ViewModel as the data context ===&lt;br /&gt;
See the same named section in [https://wiki.augmensys.com/index.php?title=Version_4.0_(WinX)#4_0 Version 4.0 (WinX) - Xaml Notes]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Category/Version2|{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 4.0 Xamarin]]&lt;br /&gt;
[[Category:Version 4.0|Version 4.0 Xamarin]]&lt;br /&gt;
[[Category:Version 4.1|Version 4.1 Xamarin]]&lt;br /&gt;
[[Category:Xamarin|Version 4.0 Xamarin]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=Version_4.1_(WinX)&amp;diff=23704</id>
		<title>Version 4.1 (WinX)</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=Version_4.1_(WinX)&amp;diff=23704"/>
				<updated>2022-06-01T06:04:05Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: /* 4.1.43 on 2022-05-31 {{key press|AppCenter}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Important Notes ==&lt;br /&gt;
&lt;br /&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;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Release ==&lt;br /&gt;
&lt;br /&gt;
== Beta ==&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 4.1.43 on 2022-05-31 {{key press|AppCenter}} ===&lt;br /&gt;
* All AR pages are now fully customizable (including the camera view, map view, etc.).&lt;br /&gt;
* It's now possible for users to request [[Exclusive_Access_Content_(Client)|exclusive access]] for UBIK content to prevent others from editing it at the same time. &lt;br /&gt;
* The PdfViewer now uses a CommandBar that enables automatic items overflow on smaller screens.&lt;br /&gt;
* The PdfViewer now has a text search feature.&lt;br /&gt;
* Some properties now need to be authenticated first before editing ([[UBIK_WinX_Client_Basics#Authentication_Properties|Authentication Properties]]).&lt;br /&gt;
* The app now determines the default tab to select based on different data configurations and scenarios.&lt;br /&gt;
* Custom UBIKContentArea templates can now be chosen automatically based on [[SYSCLS_CONTENTAREATEMPLATE|certain properties of the context object]]. &lt;br /&gt;
* The general locking status of an MRO task owner or work package is now inherited by all its MRO child objects. This applies to all types of locking, e.g. exclusive access, user rights, etc.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 4.1 (WinX)]]&lt;br /&gt;
[[Category:Version 4.1|Version 4.1 (WinX)]]&lt;br /&gt;
[[Category:WinX|Version 4.1 (WinX)]]&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* During PDF annotating/hotspotting, changes are lost if you leave the page without deselecting the changed annotation/hotspot.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= XAML Notes =&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== XAML changes ==&lt;br /&gt;
* The following templates need to be re-customized using the new default ones:&lt;br /&gt;
** UBIKPOIArea&lt;br /&gt;
** UBIKMapArea&lt;br /&gt;
** UBIKScanArea&lt;br /&gt;
** UBIKContentArea (due to significant changes to the Document section)&lt;br /&gt;
&lt;br /&gt;
* UBIKChildArea now supports customizable sub-tabs for child list filter presets.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Category/Version2|{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 4.1 (WinX)]]&lt;br /&gt;
[[Category:Version 4.1|Version 4.1 (WinX)]]&lt;br /&gt;
[[Category:WinX|Version 4.1 (WinX)]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	<entry>
		<id>https://wikitest.augmensys.com/index.php?title=Version_4.1_(Xamarin)&amp;diff=23686</id>
		<title>Version 4.1 (Xamarin)</title>
		<link rel="alternate" type="text/html" href="https://wikitest.augmensys.com/index.php?title=Version_4.1_(Xamarin)&amp;diff=23686"/>
				<updated>2022-05-25T10:25:06Z</updated>
		
		<summary type="html">&lt;p&gt;JKN: /* Preview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|UBIK 4 clients can only connect to {{UBIK}} Servers of [[Version 3.6(Server)|version 3.6]] and higher!}}&lt;br /&gt;
&lt;br /&gt;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Release ==&lt;br /&gt;
&lt;br /&gt;
== Beta ==&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 4.1.xx on 2022-0x-xx ===&lt;br /&gt;
* Fixed an issue when scanning QR codes with line breaks on Android/iOS. &lt;br /&gt;
* The [[Managed_App_Configuration|managed app configuration]] on Android now supports for rolling out up to 25 {{UBIK}} profiles in an enterprise environment.&lt;br /&gt;
&lt;br /&gt;
=== 4.0.13 on 2022-02-24 {{key press|App Center}} ===&lt;br /&gt;
* The app's default profile is now only generated during app startup when no other profiles are detected.&lt;br /&gt;
* Xamarin Android now supports [[Managed_App_Configuration|managed app configuration]] for rolling out up to 9 {{UBIK}} profiles in an enterprise environment.&lt;br /&gt;
* Some security related improvements.&lt;br /&gt;
** The app now informs the web service to terminate the user session upon logout or app closing.&lt;br /&gt;
** The app no longer allows self signed server certificates.&lt;br /&gt;
* The app's entire login page is now customizable.&lt;br /&gt;
** As a result, the old feature which allows customizers to configure the background image of the login page (bg_portrait.png/bg_landscape.png) is removed. Because it only worked for Xamarin.UWP and can now be done with regular XAML customizing.&lt;br /&gt;
* Fixed an issue where unnecessary messages are logged. (&amp;quot;Message is null&amp;quot;)&lt;br /&gt;
* {{UBIK}} clients are now able to log all webservice communication related activities (in UBIKWebserviceDebug.log) for better trouble shooting. It can also be turned off using the EnableSyncLogging setting in the profiles.&lt;br /&gt;
* {{UBIK}} now supports [[Camera Calibration|In-App Camera Calibration]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 4.0 Xamarin]]&lt;br /&gt;
[[Category:Version 4.0|Version 4.0 Xamarin]]&lt;br /&gt;
[[Category:Version 4.1|Version 4.1 Xamarin]]&lt;br /&gt;
[[Category:Version 4.1 Xamarin|Version 4.1 Xamarin]]&lt;br /&gt;
[[Category:Xamarin|Version 4.0 Xamarin]]&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= XAML Notes =&lt;br /&gt;
&lt;br /&gt;
== XAML changes ==&lt;br /&gt;
Since there has been a major UI redesign in this version, quite a lot of changes in XAML code (especially bindings) are involved. We have striven to maintain backward compatibility, but some changes either are simply unavoidable or their long term benefits outweigh the efforts required this one time.&lt;br /&gt;
&lt;br /&gt;
=== Converters ===&lt;br /&gt;
* Under namespace UBIK.CPL.Converters, SelectiveItemToValueConverter is renamed as PropertyValueToSelectiveItemConverter to properly reflect what it does.&lt;br /&gt;
* Under namespace UBIK.CPL.Converters, a new &amp;quot;StringToDateTimeTypesConverter&amp;quot; was added. It should be used when binding to a Date/Time Property on a PropertyViewModel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UBIKContentArea ===&lt;br /&gt;
* Changed from &amp;quot;Properties.Items&amp;quot; to &amp;quot;Properties.VisibleItems&amp;quot; in bindings because Items/AllItems now also include those system/invisible ones that users are not supposed to see.&lt;br /&gt;
&lt;br /&gt;
=== UBIKThemes ===&lt;br /&gt;
* Removed &amp;quot;Content.&amp;quot;, &amp;quot;OwnerModel.&amp;quot; from bindings in DateTemplate &amp;quot;UBIKPropertyItem&amp;quot;.&lt;br /&gt;
* &amp;quot;SetValueCommand&amp;quot;  is no longer available and replaced with &amp;quot;SetPropertyValueCommand&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== UBIKEditNA ===&lt;br /&gt;
* Prefixed bindings &amp;quot;EnableNAOption&amp;quot; &amp;amp; &amp;quot;NotApplicable&amp;quot; with &amp;quot;PropertyViewModel.&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Editor related templates ===&lt;br /&gt;
{{Hint|The changes are quite extensive and, therefore, we recommended you taking the default templates from the app and re-customize them from there.}}&lt;br /&gt;
&lt;br /&gt;
The affected list of templates include: UBIKEditDateTime, UBIKEditDouble, UBIKEditInt, UBIKEditGuid, UBIKEditGeo, UBIKEditBool, UBIKEditString.&lt;br /&gt;
* Changed from &amp;quot;PropertyItem&amp;quot; to &amp;quot;PropertyViewModel&amp;quot; in bindings;&lt;br /&gt;
* Prefixed bindings &amp;quot;EnableNAOption&amp;quot;, &amp;quot;NotApplicable&amp;quot;, &amp;quot;Unit&amp;quot; &amp;amp; &amp;quot;ShowComboBox&amp;quot; with &amp;quot;PropertyViewModel.&amp;quot;;&lt;br /&gt;
* Changed from &amp;quot;PropertyValue&amp;quot; to &amp;quot;PropertyViewModel.ValueItem.PropertyValue&amp;quot; in bindings;&lt;br /&gt;
* Prefixed binding &amp;quot;FilterQueryResults.Items&amp;quot; with &amp;quot;PropertyViewModel.&amp;quot;; (UBIKEditGuid)&lt;br /&gt;
* Changed from &amp;quot;ViewGuidObjectCommand&amp;quot; to &amp;quot;NavigateToGuidCommand&amp;quot;.  (UBIKEditGuid)&lt;br /&gt;
&lt;br /&gt;
=== Any template having ViewModel as the data context ===&lt;br /&gt;
See the same named section in [https://wiki.augmensys.com/index.php?title=Version_4.0_(WinX)#4_0 Version 4.0 (WinX) - Xaml Notes]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Category/Version2|{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 4.0 Xamarin]]&lt;br /&gt;
[[Category:Version 4.0|Version 4.0 Xamarin]]&lt;br /&gt;
[[Category:Version 4.1|Version 4.1 Xamarin]]&lt;br /&gt;
[[Category:Xamarin|Version 4.0 Xamarin]]&lt;/div&gt;</summary>
		<author><name>JKN</name></author>	</entry>

	</feed>