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

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

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

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File_Upload_Size_Restriction&amp;diff=29650</id>
		<title>File Upload Size Restriction</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File_Upload_Size_Restriction&amp;diff=29650"/>
				<updated>2026-04-08T09:44:03Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Overview'''&lt;br /&gt;
&lt;br /&gt;
This feature introduces a configurable file upload size restriction. Its purpose is to prevent users from attempting to upload excessively large files (for example, a 100 MB file) when a much smaller upload limit is enforced.&lt;br /&gt;
&lt;br /&gt;
Previously, when a file exceeded the allowed limit, the system would repeatedly attempt to upload it. Since the upload could never succeed, this resulted in an internal retry loop. The user received no feedback, leaving them confused and unaware of why their changes were not being fully committed.&lt;br /&gt;
&lt;br /&gt;
The new '''FileUploadSizeRestriction''' mechanism resolves this issue by enforcing a maximum allowed file size before any upload attempt is performed. When a file exceeds this configured limit, the system immediately stops the upload and provides clear user feedback.&lt;br /&gt;
&lt;br /&gt;
== Server Classification ==&lt;br /&gt;
To enable this feature, the SYSCLS_RESTRICTED_UPLOAD classification must be added to the relevant Document Metaclass. In addition, the MAX_UPLOAD_SIZE property must be configured in order to use this mechanism.&lt;br /&gt;
  &lt;br /&gt;
=== User Feedback ===&lt;br /&gt;
&lt;br /&gt;
When an over-sized file is detected:&lt;br /&gt;
&lt;br /&gt;
* The user immediately receives a notification.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The notification includes:&lt;br /&gt;
&lt;br /&gt;
* The actual size of the selected file.&lt;br /&gt;
&lt;br /&gt;
* The configured maximum size allowed for uploads.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This ensures that the user knows exactly:&lt;br /&gt;
&lt;br /&gt;
* What went wrong&lt;br /&gt;
&lt;br /&gt;
* How large their file currently is&lt;br /&gt;
&lt;br /&gt;
* What the maximum allowed file size is&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Notification_FileUploadSizeRestriction.png]]&lt;br /&gt;
&lt;br /&gt;
=== ViewModel Properties ===&lt;br /&gt;
&lt;br /&gt;
To provide additional flexibility and UI customization, two new properties are available for UI developers and Customizer implementations.&lt;br /&gt;
&lt;br /&gt;
==== 1. FileNotUploadedReason ====&lt;br /&gt;
&lt;br /&gt;
A string containing a explanation of why the file was not uploaded.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''It includes:'''&lt;br /&gt;
&lt;br /&gt;
* The actual file size (MB, rounded to 2 decimals)&lt;br /&gt;
* The configured upload limit (MB)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''If no size-restriction applies or the file does not exceed the configured limit, this property returns null as its default value.''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example usage:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;Text=&amp;quot;{Binding DocumentViewModel.FileNotUploadedReason}&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 2. MaxUploadSizeMB ====&lt;br /&gt;
&lt;br /&gt;
A double representing the maximum allowed file size in megabytes.&amp;lt;br&amp;gt;&lt;br /&gt;
This allows UI elements to display helpful contextual information directly.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
''If no size restriction is configured for the content, this property returns null as its default value.''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example usage:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;Text=&amp;quot;{Binding DocumentViewModel.MaxUploadSizeMB}&amp;quot;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How and where these values are displayed is entirely up to the UI customizer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Availability =&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center; width: 30%&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:60%&amp;quot; | Clients&lt;br /&gt;
!! style=&amp;quot;width:40%&amp;quot; | Available since&lt;br /&gt;
|-&lt;br /&gt;
| Mobile&lt;br /&gt;
|| [[Version_5.1_(Mobile)]]&lt;br /&gt;
|-&lt;br /&gt;
| WinX&lt;br /&gt;
|| [[Version_5.1_(WinX)]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|File Upload Size Restriction]]&lt;br /&gt;
[[Category:Mobile|File Upload Size Restriction]]&lt;br /&gt;
[[Category:Version 5.1|File Upload Size Restriction]]&lt;br /&gt;
[[Category:WinX|File Upload Size Restriction]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

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

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_5.1_(Mobile)&amp;diff=29288</id>
		<title>Version 5.1 (Mobile)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_5.1_(Mobile)&amp;diff=29288"/>
				<updated>2026-02-03T13:12:49Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* Preview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|Existing pre 5.0 XAMLs are not compatible with UBIK Mobile client 5.1. Please refer to [[HowTo:Convert_Xamarin_XAMLs_to_Maui]] for migrating them to the new client.}}&lt;br /&gt;
&lt;br /&gt;
{{Attention|UBIK 5 clients can only connect to {{UBIK}} Servers of [[Version 3.6(Server)|version 3.6]] and higher!}}&lt;br /&gt;
&lt;br /&gt;
{{Attention|The minimum supported OS versions are:&lt;br /&gt;
* Android 9;&lt;br /&gt;
* iOS 12.}}&lt;br /&gt;
&lt;br /&gt;
== Availability ==&lt;br /&gt;
{{key press|Android: Store}}{{key press|iOS: Store}}: Publicly available in Google Play Store / Apple App Store.&lt;br /&gt;
&lt;br /&gt;
{{key press|Android: Store Beta}}: Publicly available in Google Play Store as beta versions. You can opt in or out of the beta at any time in the store.&lt;br /&gt;
&lt;br /&gt;
{{key press|Android: Store Preview}}: Available through Google Play Store's [https://play.google.com/store/apps/details?id=com.augmensys.ubik.go invitation link].&lt;br /&gt;
&lt;br /&gt;
{{key press|iOS: Store Beta}}: Available through Apple App Store's [https://testflight.apple.com/join/Kmb1HG9E invitation link].&lt;br /&gt;
&lt;br /&gt;
{{key press|iOS: Store Preview}}: Available through Apple App Store's [https://testflight.apple.com/join/yHRnbYbt invitation link].&lt;br /&gt;
&lt;br /&gt;
{{key press|Windows: Store Preview}}: The mobile Windows client is not an official product and is only distributed as test versions upon request and/or in our [https://release.augmensys.com/download/modules/client/mobile/ release portal].&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Attention|Some customized XAMLs might need an update to work properly. These changes are marked with a ⚠️}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 5.1.??? on 202?-??-?? ===&lt;br /&gt;
* Fixed an issue where the Chart Thresholds didn't update.&lt;br /&gt;
* Added support for configurable file-upload size restrictions, preventing oversized files from being uploaded and providing users with feedback when limits are exceeded.&lt;br /&gt;
* (Android) Fixed an issue in the WebView where some links could not be opened.&lt;br /&gt;
* Added support for conditionally showing the ImageEditor Save button only when edits have been made, enabled when MergeAnnotationsOnSave is set to true.&lt;br /&gt;
* Fixed an issue where the deletion of some objects was not reflected in the UI until refresh.&lt;br /&gt;
* Fixed an issue that caused content to not be rendered sometimes.&lt;br /&gt;
* Fixed issue that caused app to be stuck on splash screen after resuming from background.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 5.1 (Mobile)]]&lt;br /&gt;
[[Category:Mobile|Version 5.1 (Mobile)]]&lt;br /&gt;
[[Category:Version 5.1|Version 5.1 (Mobile)]]&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* Due to third-party limitations, the feature that shows the ImageEditor Save button only when edits have been made is only active when MergeAnnotationsOnSave is set to true. In Mobile, deleting the last annotation does not correctly update the editor's internal edit state. As a result, the Save button may remain visible even though no edits exist.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= ⚠️ XAML Notes =&lt;br /&gt;
Due to the change of the underlying XAML technology, the existing XAMLs for the old mobile clients (pre 5.0) are no longer compatible. Please refer to [[HowTo:Convert_Xamarin_XAMLs_to_Maui]] for migrating them to the new client.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 5.1 (Mobile)]]&lt;br /&gt;
[[Category:Mobile|Version 5.1 (Mobile)]]&lt;br /&gt;
[[Category:Version 5.1|Version 5.1 (Mobile)]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_5.1_(WinX)&amp;diff=29287</id>
		<title>Version 5.1 (WinX)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_5.1_(WinX)&amp;diff=29287"/>
				<updated>2026-02-03T13:11:44Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* Preview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|This version requires [https://en.wikipedia.org/wiki/Windows_10_version_history#Version_1809_(October_2018_Update) Windows 10 build 17763] or higher}}&lt;br /&gt;
&lt;br /&gt;
== Availability ==&lt;br /&gt;
{{key press|Store}}: Publicly available in Microsoft Store.&lt;br /&gt;
&lt;br /&gt;
{{key press|Store Beta}} / {{key press|Store Preview}}: Publicly available in Microsoft Store as beta or preview versions to those whose account email is participating in our beta or preview test. To join, please send an email to testing@augmensys.com and provide an email address to add to the list as well as the information which test you want to join. Alternatively you can contact the Augmensys staff and submit your chosen email address.&lt;br /&gt;
&lt;br /&gt;
Example: Please add my email account example@example.com to the '''Beta''' test group for the '''WinX''' client.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Attention|Some customized XAMLs might need an update to work properly. These changes are marked with ⚠️}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 5.1.?? on 202?-??-?? ===&lt;br /&gt;
* Fixed an issue where the Chart Thresholds didn't update.&lt;br /&gt;
* Added a [[XAML#UBIKWebView|UBIKWebView]] control that includes a fix in the WebView2 where some links could not be opened.&lt;br /&gt;
* Added support for configurable file-upload size restrictions, preventing oversized files from being uploaded and providing users with feedback when limits are exceeded.&lt;br /&gt;
* Added support for conditionally showing the ImageEditor Save button only when edits have been made, enabled when MergeAnnotationsOnSave is set to true.&lt;br /&gt;
* Fixed an issue where the deletion of some objects was not reflected in the UI until refresh.&lt;br /&gt;
* Fixed an issue where certain documents couldn't be loaded anymore.&lt;br /&gt;
* Fixed issue that caused input fields to be focused but not editable.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 5.1 (WinX)]]&lt;br /&gt;
[[Category:Version 5.1|Version 5.1 (WinX)]]&lt;br /&gt;
[[Category:WinX|Version 5.1 (WinX)]]&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* Due to third-party limitations, the feature that shows the ImageEditor Save button only when edits have been made is only active when MergeAnnotationsOnSave is set to true.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ⚠️ XAML Notes =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Category/Version2|{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 5.1 (WinX)]]&lt;br /&gt;
[[Category:Version 5.1|Version 5.1 (WinX)]]&lt;br /&gt;
[[Category:WinX|Version 5.1 (WinX)]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_5.1_(Mobile)&amp;diff=29281</id>
		<title>Version 5.1 (Mobile)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_5.1_(Mobile)&amp;diff=29281"/>
				<updated>2026-01-29T09:15:56Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* 5.1.??? on 202?-??-?? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|Existing pre 5.0 XAMLs are not compatible with UBIK Mobile client 5.1. Please refer to [[HowTo:Convert_Xamarin_XAMLs_to_Maui]] for migrating them to the new client.}}&lt;br /&gt;
&lt;br /&gt;
{{Attention|UBIK 5 clients can only connect to {{UBIK}} Servers of [[Version 3.6(Server)|version 3.6]] and higher!}}&lt;br /&gt;
&lt;br /&gt;
{{Attention|The minimum supported OS versions are:&lt;br /&gt;
* Android 9;&lt;br /&gt;
* iOS 12.}}&lt;br /&gt;
&lt;br /&gt;
== Availability ==&lt;br /&gt;
{{key press|Android: Store}}{{key press|iOS: Store}}: Publicly available in Google Play Store / Apple App Store.&lt;br /&gt;
&lt;br /&gt;
{{key press|Android: Store Beta}}: Publicly available in Google Play Store as beta versions. You can opt in or out of the beta at any time in the store.&lt;br /&gt;
&lt;br /&gt;
{{key press|Android: Store Preview}}: Available through Google Play Store's [https://play.google.com/store/apps/details?id=com.augmensys.ubik.go invitation link].&lt;br /&gt;
&lt;br /&gt;
{{key press|iOS: Store Beta}}: Available through Apple App Store's [https://testflight.apple.com/join/Kmb1HG9E invitation link].&lt;br /&gt;
&lt;br /&gt;
{{key press|iOS: Store Preview}}: Available through Apple App Store's [https://testflight.apple.com/join/yHRnbYbt invitation link].&lt;br /&gt;
&lt;br /&gt;
{{key press|Windows: Store Preview}}: The mobile Windows client is not an official product and is only distributed as test versions upon request and/or in our [https://release.augmensys.com/download/modules/client/mobile/ release portal].&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Attention|Some customized XAMLs might need an update to work properly. These changes are marked with a ⚠️}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 5.1.??? on 202?-??-?? ===&lt;br /&gt;
* Fixed an issue where the Chart Thresholds didn't update.&lt;br /&gt;
* Added support for configurable file-upload size restrictions, preventing oversized files from being uploaded and providing users with feedback when limits are exceeded.&lt;br /&gt;
* (Android) Fixed an issue in the WebView where some links could not be opened.&lt;br /&gt;
* Added support for conditionally showing the ImageEditor Save button only when edits have been made, enabled when MergeAnnotationsOnSave is set to true.&lt;br /&gt;
* Fixed an issue where the deletion of some objects was not reflected in the UI until refresh.&lt;br /&gt;
* Fixed an issue that caused content to not be rendered sometimes.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 5.1 (Mobile)]]&lt;br /&gt;
[[Category:Mobile|Version 5.1 (Mobile)]]&lt;br /&gt;
[[Category:Version 5.1|Version 5.1 (Mobile)]]&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* Due to third-party limitations, the feature that shows the ImageEditor Save button only when edits have been made is only active when MergeAnnotationsOnSave is set to true. In Mobile, deleting the last annotation does not correctly update the editor's internal edit state. As a result, the Save button may remain visible even though no edits exist.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= ⚠️ XAML Notes =&lt;br /&gt;
Due to the change of the underlying XAML technology, the existing XAMLs for the old mobile clients (pre 5.0) are no longer compatible. Please refer to [[HowTo:Convert_Xamarin_XAMLs_to_Maui]] for migrating them to the new client.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 5.1 (Mobile)]]&lt;br /&gt;
[[Category:Mobile|Version 5.1 (Mobile)]]&lt;br /&gt;
[[Category:Version 5.1|Version 5.1 (Mobile)]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_5.0_(WinX)&amp;diff=29246</id>
		<title>Version 5.0 (WinX)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_5.0_(WinX)&amp;diff=29246"/>
				<updated>2026-01-13T13:53:31Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* 5.0.40 on 2025-12-?? {{key press|Store}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|This version requires [https://en.wikipedia.org/wiki/Windows_10_version_history#Version_1809_(October_2018_Update) Windows 10 build 17763] or higher}}&lt;br /&gt;
&lt;br /&gt;
== Availability ==&lt;br /&gt;
{{key press|Store}}: Publicly available in Microsoft Store.&lt;br /&gt;
&lt;br /&gt;
{{key press|Store Beta}} / {{key press|Store Preview}}: Publicly available in Microsoft Store as beta or preview versions to those whose account email is participating in our beta or preview test. To join, please send an email to testing@augmensys.com and provide an email address to add to the list as well as the information which test you want to join. Alternatively you can contact the Augmensys staff and submit your chosen email address.&lt;br /&gt;
&lt;br /&gt;
Example: Please add my email account example@example.com to the '''Beta''' test group for the '''WinX''' client.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Attention|Some customized XAMLs might need an update to work properly. These changes are marked with ⚠️}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Release ==&lt;br /&gt;
&lt;br /&gt;
=== 5.0.40 on 2025-12-18 {{key press|Store}}  ===&lt;br /&gt;
* Fixed an issue where the deletion of some objects was not reflected in the UI until refresh.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 5.0 (WinX)]]&lt;br /&gt;
[[Category:Version 5.0|Version 5.0 (WinX)]]&lt;br /&gt;
[[Category:WinX|Version 5.0 (WinX)]]&lt;br /&gt;
&lt;br /&gt;
=== 5.0.36 on 2025-10-02 {{key press|Store}}  ===&lt;br /&gt;
* Fixed an issue where task direct editing doesn't work the first time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 5.0.35 on 2025-09-29 {{key press|Store}}  ===&lt;br /&gt;
* Updated some translations.&lt;br /&gt;
* Updated the default Demo profile.&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;
* Fixed issue that rendered authentication when editing a geo property impossible.&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 editing Guid Link properties, you can no longer further edit the filtering if there are predefined filter parameters (such as the [[Dynamic_Selective_List_(Client)#Dependency_property_values|dependency property values in dynamic selective lists]]). This is because those parameters are to be enforced by design and should not be changed by users. In the future, we might consider a finer level of control over which parameters can be edited in such cases.&lt;br /&gt;
* Free Text Annotations that where created in former sessions cannot be selected and therefore cannot be edited any more.&lt;br /&gt;
* There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* Known issues regarding the [[Documents_(Client)#Remember_Document_Settings|Remember Document Settings]] feature:&lt;br /&gt;
** Saving the Zoom value via touch gestures is not supported.&lt;br /&gt;
** Due to a third-party framework issue it can't be guaranteed that saving the Zoom level is always working properly. We reported this issue and will update our solution as soon as it is resolved on their side.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ⚠️ XAML Notes =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Category/Version2|{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|Version 5.0 (WinX)]]&lt;br /&gt;
[[Category:Version 5.0|Version 5.0 (WinX)]]&lt;br /&gt;
[[Category:WinX|Version 5.0 (WinX)]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=HowTo:Convert_Xamarin_XAMLs_to_Maui&amp;diff=28464</id>
		<title>HowTo:Convert Xamarin XAMLs to Maui</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=HowTo:Convert_Xamarin_XAMLs_to_Maui&amp;diff=28464"/>
				<updated>2025-08-05T12:49:01Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* Mandatory */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Information ==&lt;br /&gt;
=== Frame to Border ===  &lt;br /&gt;
'''Use Border instead of Frame.'''  &lt;br /&gt;
Frame is deprecated in MAUI. Use Border with `Stroke` instead of `BorderColor`.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;Frame ... /&amp;gt;&lt;br /&gt;
| &amp;lt;Border ... /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== LayoutOptions with &amp;quot;...AndExpand&amp;quot; ===  &lt;br /&gt;
'''Replace &amp;quot;...AndExpand&amp;quot; with Grid layout.'''  &lt;br /&gt;
Horizontal/VerticalOptions ending in &amp;quot;...AndExpand&amp;quot; are deprecated. Use Grid with `ColumnDefinition Width=&amp;quot;*&amp;quot;` for expansion.&lt;br /&gt;
&lt;br /&gt;
=== GlyphLabel and Styles ===  &lt;br /&gt;
'''Use Label with new styles.'''  &lt;br /&gt;
Custom controls like `GlyphLabel` are no longer needed. Use `Label` with styles like `UBIKSymbolText`.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| controls:GlyphLabel&lt;br /&gt;
| Label with UBIKSymbolText style&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SfTabView Virtualization ===  &lt;br /&gt;
'''Enable virtualization.'''  &lt;br /&gt;
Add `EnableVirtualization=&amp;quot;True&amp;quot;` to all SfTabView instances or styles.&lt;br /&gt;
&lt;br /&gt;
=== Swipe Menu Icons on Android ===  &lt;br /&gt;
'''Refactor swipe templates and label styles.'''  &lt;br /&gt;
Icons in swipe menus were truncated on Android. Fixed via refactoring.&lt;br /&gt;
&lt;br /&gt;
=== Color Style Changes ===  &lt;br /&gt;
'''Dark theme adjustments.'''  &lt;br /&gt;
Changes to color styles may affect appearance. Review usage of `UBIKDarkThemeColor`, `UBIKDarkTextColor`, etc.&lt;br /&gt;
&lt;br /&gt;
=== Strikethrough Converter ===  &lt;br /&gt;
'''Use `TextDecorations=&amp;quot;Strikethrough&amp;quot;` instead of converter.'''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| Text=&amp;quot;{Binding ..., Converter={StaticResource StrikethroughConverter}}&amp;quot;&lt;br /&gt;
| Text=&amp;quot;{Binding ...}&amp;quot; TextDecorations=&amp;quot;Strikethrough&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Button Disabled Trigger ===  &lt;br /&gt;
'''Add trigger for disabled buttons.'''  &lt;br /&gt;
Maui buttons don’t visually change when disabled. Add trigger to style.&lt;br /&gt;
&lt;br /&gt;
=== TapGestureRecognizer Replacement ===  &lt;br /&gt;
'''Use TappedBehavior instead.'''  &lt;br /&gt;
TapGestureRecognizer now intercepts taps. Use `TappedBehavior` to avoid conflicts.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;... .GestureRecognizers&amp;gt;&amp;lt;TapGestureRecognizer Command=&amp;quot;{Binding ...}&amp;quot; /&amp;gt;&amp;lt;/... .GestureRecognizers&amp;gt;&lt;br /&gt;
| &amp;lt;... .Behaviors&amp;gt;&amp;lt;behaviors:TappedBehavior&amp;gt;&amp;lt;behaviors:InvokeCommandAction Command=&amp;quot;{Binding ...}&amp;quot; /&amp;gt;&amp;lt;/behaviors:TappedBehavior&amp;gt;&amp;lt;/... .Behaviors&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TapGestureRecognizer and Swipe Conflict ===  &lt;br /&gt;
'''Remove TapGestureRecognizer from root Grid.'''  &lt;br /&gt;
TapGestureRecognizer blocks swipe behavior. Remove it and adapt parent list to trigger navigation.&lt;br /&gt;
&lt;br /&gt;
=== Navigation in UBIKChildItem ===  &lt;br /&gt;
'''Use EventHandlerBehavior for navigation.'''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| [none]&lt;br /&gt;
| &amp;lt;controls:SfListViewExt.Behaviors&amp;gt;&amp;lt;behaviors:EventHandlerBehavior EventName=&amp;quot;ItemTapped&amp;quot;&amp;gt;&amp;lt;behaviors:InvokeCommandAction Command=&amp;quot;{Binding AppStatus.RootList.Items[0].NavigateToChildrenCommand}&amp;quot; /&amp;gt;&amp;lt;/behaviors:EventHandlerBehavior&amp;gt;&amp;lt;/controls:SfListViewExt.Behaviors&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
== Recommended ==&lt;br /&gt;
=== Extract DataTemplates from UBIKThemes ===&lt;br /&gt;
'''Create separate .xamlx files for the following DataTemplates.'''&lt;br /&gt;
It's not so easy about the namespaces:&lt;br /&gt;
* In our default templates, it's enough to add the following ones to every new separate .xamlx files at the beginning;&lt;br /&gt;
    * xmlns:ctrls=&amp;quot;clr-namespace:UBIK.MAUI.Controls;assembly=UBIK.MAUI&amp;quot;;&lt;br /&gt;
    * xmlns:platform=&amp;quot;clr-namespace:UBIK.MAUI.Platform.Renderers;assembly=UBIK.MAUI&amp;quot;;&lt;br /&gt;
    * xmlns:resources=&amp;quot;clr-namespace:UBIK.MAUI.Resources;assembly=UBIK.MAUI&amp;quot;;&lt;br /&gt;
    * xmlns:services=&amp;quot;clr-namespace:UBIK.MAUI.Services;assembly=UBIK.MAUI&amp;quot;;&lt;br /&gt;
    * xmlns:uiservices=&amp;quot;clr-namespace:UBIK.UI.Services;assembly=UBIK.UI&amp;quot;.&lt;br /&gt;
* But we don't know if other namespaces might be used in the custom templates. So it might be necessary to really analyze the namespaces used and find/copy them from the UBIKThemes file.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &amp;amp;nbsp; !! Templates !! &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| UBIKMainItem || UBIKChildItem || UBIKTaskItem&lt;br /&gt;
|-&lt;br /&gt;
| UBIKTaskProperty || UBIKTaskPropertyString || UBIKTaskPropertyDouble&lt;br /&gt;
|-&lt;br /&gt;
| UBIKTaskPropertyInt || UBIKTaskPropertyNumeric || UBIKTaskPropertyDateTime&lt;br /&gt;
|-&lt;br /&gt;
| UBIKTaskPropertyGeoData || UBIKTaskPropertyBool || UBIKTaskPropertyPopup&lt;br /&gt;
|-&lt;br /&gt;
| UBIKTaskPropertyList || UBIKTaskPropertyGuid || UBIKPropertyItem&lt;br /&gt;
|-&lt;br /&gt;
| UBIKPropertyTextLengthHint || UBIKPropertyDirectEditButtons || UBIKTaskPropertyEditButtons&lt;br /&gt;
|-&lt;br /&gt;
| UBIKPropertyDirectItemString || UBIKPropertyDirectItemDouble || UBIKPropertyDirectItemInt&lt;br /&gt;
|-&lt;br /&gt;
| UBIKPropertyDirectItemMinMax || UBIKPropertyDirectItemNumeric || UBIKPropertyDirectItemDateTime&lt;br /&gt;
|-&lt;br /&gt;
| UBIKPropertyDirectItemGeoData || UBIKPropertyDirectItemBool || UBIKPropertyDirectItemPopup&lt;br /&gt;
|-&lt;br /&gt;
| UBIKPropertyDirectItemList || UBIKPropertyDirectItemGuid || UBIKDocumentItem&lt;br /&gt;
|-&lt;br /&gt;
| UBIKSearchResultItem || UBIKDefaultHotSpot || UBIKAngularLinkHotSpot&lt;br /&gt;
|-&lt;br /&gt;
| UBIKRoundLinkHotSpot || UBIKInputHotSpot || UBIKSignatureHotSpot&lt;br /&gt;
|-&lt;br /&gt;
| UBIKObjectHotSpot || UBIKMediaHotSpot || &lt;br /&gt;
|}&lt;br /&gt;
=== VideoPlayer Adjustments ===&lt;br /&gt;
'''This property is repsonsible for the video player regarding how or if it should get scaled up depending on the value of the&lt;br /&gt;
Aspect property'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;VideoPlayer...&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;VideoPlayer Aspect=&amp;quot;AspectFit&amp;quot;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''The UriToVideoSourceConverter is no longer needed because the conversion of the &lt;br /&gt;
VideoSource gets done by the MediaElement itself. It is marked as obsolete and should therefore no longer be used.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;controls:VideoPlayer... Source=&amp;quot;{Binding DocumentViewModel.LocalURI, Converter={StaticResource UriToVideoSource}}&amp;quot;/&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;controls:VideoPlayer... Source=&amp;quot;{Binding DocumentViewModel.LocalURI}&amp;quot;/&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''The StopTimer property is obsolete and no longer needed because the MediaElement behind does the Stop of the VideoPlayer&lt;br /&gt;
by itself.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;controls:VideoPlayer... StopTimer=&amp;quot;{Binding Unloaded}&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;controls:VideoPlayer... /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
=== SearchBar Style Fix on iOS ===&lt;br /&gt;
'''On iOS, defining a transparent background for the SearchBar control results in a black text on black background appearance.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;[issue on iOS only] UBIKThemes: SearchBar style: &amp;lt;Setter Property=&amp;quot;BackgroundColor&amp;quot; Value=&amp;quot;Transparent&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;Delete this setter&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
=== Avoid Redundant ControlTemplate in DataTriggers ===&lt;br /&gt;
'''This is about finding ControlTemplates that are set in DataTriggers in customized Xamls. When the same template is already set as a ContentView default ControlTemplate, it is recommended to remove the default ControlTemplate on the ContentView. For a detailed description please refer to sheet &amp;quot;Mandatory&amp;quot; in cell 27A-27C.&lt;br /&gt;
Behavior that might occur if it remains unchanged: Property editor might not open on Android.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;ContentView x:Name=&amp;quot;containerName&amp;quot; ControlTemplate=&amp;quot;{StaticResource YourTemplate1}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ContentView.Triggers&amp;gt;&lt;br /&gt;
        &amp;lt;DataTrigger&lt;br /&gt;
            Binding=&amp;quot;{Binding Source={x:Reference containerName}, Path=...}&amp;quot;&lt;br /&gt;
            TargetType=&amp;quot;ContentView&amp;quot;&lt;br /&gt;
            Value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Setter Property=&amp;quot;ControlTemplate&amp;quot;&lt;br /&gt;
                    Value=&amp;quot;{StaticResource YourTemplate1}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/DataTrigger&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
    &amp;lt;/ContentView.Triggers&amp;gt;&lt;br /&gt;
&amp;lt;/ContentView&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;ContentView x:Name=&amp;quot;containerName&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ContentView.Triggers&amp;gt;&lt;br /&gt;
        &amp;lt;DataTrigger&lt;br /&gt;
            Binding=&amp;quot;{Binding Source={x:Reference containerName}, Path=...}&amp;quot;&lt;br /&gt;
            TargetType=&amp;quot;ContentView&amp;quot;&lt;br /&gt;
            Value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Setter Property=&amp;quot;ControlTemplate&amp;quot;&lt;br /&gt;
                    Value=&amp;quot;{StaticResource YourTemplate1}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/DataTrigger&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
    &amp;lt;/ContentView.Triggers&amp;gt;&lt;br /&gt;
&amp;lt;/ContentView&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
=== Replace TemplateBinding with Binding and Source ===&lt;br /&gt;
'''This is about finding SfListViewExt controls in customizings, and if there are TemplateBindings used, it's recommended to replace them with Binding, and the Source reference should be added. For a detailed description please refer to sheet &amp;quot;Mandatory&amp;quot; in cell 26A-26C.&lt;br /&gt;
Behavior that might occur if it remains unchanged: Pre-selected item might appear unselected.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;ContentView&lt;br /&gt;
   ...&lt;br /&gt;
   x:Name=&amp;quot;YourContentViewName&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;ContentView.Resources&amp;gt;&lt;br /&gt;
      &amp;lt;ResourceDictionary&amp;gt;&lt;br /&gt;
         ...&lt;br /&gt;
         &amp;lt;ControlTemplate x:Key=&amp;quot;YourTemplateKey&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;ctrls:SfListViewExt&lt;br /&gt;
                 ItemsSource=&amp;quot;{TemplateBinding BindingContext.YourBinding,&lt;br /&gt;
                              ...}&amp;quot;&lt;br /&gt;
                 SelectedItem=&amp;quot;{TemplateBinding BindingContext.YourBinding,&lt;br /&gt;
                              ...}&amp;quot;&lt;br /&gt;
             ... /&amp;gt;&lt;br /&gt;
         &amp;lt;/ControlTemplate&amp;gt;&lt;br /&gt;
         ...&lt;br /&gt;
      &amp;lt;/ResourceDictionary&amp;gt;&lt;br /&gt;
   &amp;lt;/ContentView.Resources&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/ContentView&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;ContentView&lt;br /&gt;
   ...&lt;br /&gt;
   x:Name=&amp;quot;YourContentViewName&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;ContentView.Resources&amp;gt;&lt;br /&gt;
      &amp;lt;ResourceDictionary&amp;gt;&lt;br /&gt;
         ...&lt;br /&gt;
         &amp;lt;ControlTemplate x:Key=&amp;quot;YourTemplateKey&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;ctrls:SfListViewExt&lt;br /&gt;
                 ItemsSource=&amp;quot;{Binding BindingContext.YourBinding,&lt;br /&gt;
                                       Source={x:Reference YourContentViewName},&lt;br /&gt;
                                       ...}&amp;quot;&lt;br /&gt;
                 SelectedItem=&amp;quot;{Binding BindingContext.YourBinding,&lt;br /&gt;
                                        Source={x:Reference YourContentViewName},&lt;br /&gt;
                                        ...}&amp;quot;&lt;br /&gt;
             ... /&amp;gt;&lt;br /&gt;
         &amp;lt;/ControlTemplate&amp;gt;&lt;br /&gt;
         ...&lt;br /&gt;
      &amp;lt;/ResourceDictionary&amp;gt;&lt;br /&gt;
   &amp;lt;/ContentView.Resources&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/ContentView&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
=== Remove TapGestureRecognizer from Main Item ===&lt;br /&gt;
'''Swiping on the Main items was broken by Maui (Documented in Information). The workaround is to remove the TapGestureRecognizer from UBIKMainItem, and add ListView-based navigation similar to that found in UBIKChildArea (with an extended binding path for technical reasons).'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;(In UBIKMainItem)&lt;br /&gt;
&amp;lt;Grid.GestureRecognizers&amp;gt;&lt;br /&gt;
	&amp;lt;TapGestureRecognizer Command=&amp;quot;{Binding NavigateToChildrenCommand}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Grid.GestureRecognizers&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;[nothing]&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
=== Add Navigation Behavior in Child Area ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;(In UBIKChildArea)&lt;br /&gt;
[nothing]&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;controls:SfListViewExt.Behaviors&amp;gt;&lt;br /&gt;
	&amp;lt;behaviors:EventHandlerBehavior EventName=&amp;quot;ItemTapped&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;behaviors:InvokeCommandAction Command=&amp;quot;{Binding AppStatus.RootList.Items[0].NavigateToChildrenCommand}&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/behaviors:EventHandlerBehavior&amp;gt;&lt;br /&gt;
&amp;lt;/controls:SfListViewExt.Behaviors&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
== Highly Recommended ==&lt;br /&gt;
=== CircularImage to AvatarView ===  &lt;br /&gt;
'''Use AvatarView instead of CircularImage.'''  &lt;br /&gt;
CircularImage and its wrapping Frame are no longer needed. Use AvatarView from the MAUI Community Toolkit. Add the namespace:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
xmlns:toolkit=&amp;quot;http://schemas.microsoft.com/dotnet/2022/maui/toolkit&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;Frame&amp;gt;&amp;lt;CircularImage Source=&amp;quot;...&amp;quot; /&amp;gt;&amp;lt;/Frame&amp;gt;&lt;br /&gt;
| &amp;lt;toolkit:AvatarView ImageSource=&amp;quot;...&amp;quot; BorderWidth=&amp;quot;...&amp;quot; BackgroundColor=&amp;quot;...&amp;quot; /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== GlyphSize to FontSize and Alignment ===  &lt;br /&gt;
'''Use FontSize and alignment properties instead of GlyphSize.'''  &lt;br /&gt;
The GlyphSize property is obsolete. Use FontSize and add alignment properties for better layout.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;Setter Property=&amp;quot;GlyphSize&amp;quot; Value=&amp;quot;13.0&amp;quot; /&amp;gt;&lt;br /&gt;
| &amp;lt;Setter Property=&amp;quot;FontSize&amp;quot; Value=&amp;quot;16&amp;quot; /&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;Setter Property=&amp;quot;VerticalOptions&amp;quot; Value=&amp;quot;Center&amp;quot; /&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;Setter Property=&amp;quot;HorizontalOptions&amp;quot; Value=&amp;quot;Center&amp;quot; /&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;Setter Property=&amp;quot;VerticalTextAlignment&amp;quot; Value=&amp;quot;Center&amp;quot; /&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;Setter Property=&amp;quot;HorizontalTextAlignment&amp;quot; Value=&amp;quot;Center&amp;quot; /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== StaticResource to DynamicResource ===  &lt;br /&gt;
'''Use DynamicResource and BaseResourceKey.'''  &lt;br /&gt;
For dynamic theming, use DynamicResource instead of StaticResource. When inheriting styles, use BaseResourceKey.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| BasedOn=&amp;quot;{StaticResource SomeStyle}&amp;quot;&amp;lt;br/&amp;gt;Style=&amp;quot;{StaticResource SomeStyle}&amp;quot;&lt;br /&gt;
| BaseResourceKey=&amp;quot;SomeStyle&amp;quot;&amp;lt;br/&amp;gt;Style=&amp;quot;{DynamicResource SomeStyle}&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
== Mandatory ==&lt;br /&gt;
&lt;br /&gt;
=== Namespace conversion ===  &lt;br /&gt;
'''Update all namespaces to MAUI equivalents.'''  &lt;br /&gt;
All `xmlns` and `clr-namespace` declarations must be updated to their MAUI counterparts.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| xmlns=&amp;quot;http://xamarin.com/schemas/2014/forms&amp;quot;&lt;br /&gt;
| xmlns=&amp;quot;http://schemas.microsoft.com/dotnet/2021/maui&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core&lt;br /&gt;
| clr-namespace:Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific;assembly=Microsoft.Maui.Controls&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:UBIK.CPL.Behaviors;assembly=UBIK.CPL&lt;br /&gt;
| clr-namespace:UBIK.MAUI.Behaviors;assembly=UBIK.MAUI&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:UBIK.CPL.Classes;assembly=UBIK.CPL&lt;br /&gt;
| clr-namespace:UBIK.MAUI.Classes;assembly=UBIK.MAUI&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:UBIK.CPL.Controls;assembly=UBIK.CPL&lt;br /&gt;
| clr-namespace:UBIK.MAUI.Controls;assembly=UBIK.MAUI&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:UBIK.CPL.Converters;assembly=UBIK.CPL&lt;br /&gt;
| clr-namespace:UBIK.MAUI.Converters;assembly=UBIK.MAUI&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:UBIK.CPL.Platform.Renderers;assembly=UBIK.CPL&lt;br /&gt;
| clr-namespace:UBIK.MAUI.Platform.Controls;assembly=UBIK.MAUI&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:UBIK.CPL.Services;assembly=UBIK.CPL&lt;br /&gt;
| clr-namespace:UBIK.MAUI.Services;assembly=UBIK.MAUI&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:UBIK.CPL.Resources;assembly=UBIK.CPL&lt;br /&gt;
| clr-namespace:UBIK.MAUI.Resources;assembly=UBIK.MAUI&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:UBIK.Scanning.Forms;assembly=UBIK.Scanning.Forms&lt;br /&gt;
| clr-namespace:UBIK.MAUI.Controls.ZXingScanner;assembly=UBIK.MAUI&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:Syncfusion.SfPullToRefresh.XForms;assembly=Syncfusion.SfPullToRefresh.XForms&lt;br /&gt;
| clr-namespace:Syncfusion.Maui.Toolkit.PullToRefresh;assembly=Syncfusion.Maui.Toolkit&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:Syncfusion.XForms.TabView;assembly=Syncfusion.SfTabView.Xforms&lt;br /&gt;
| clr-namespace:Syncfusion.Maui.Toolkit.TabView;assembly=Syncfusion.Maui.Toolkit&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:Syncfusion.ListView.XForms;assembly=Syncfusion.SfListView.XForms&lt;br /&gt;
| clr-namespace:Syncfusion.Maui.ListView;assembly=Syncfusion.Maui.ListView&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:Syncfusion.XForms.TreeView;assembly=Syncfusion.SfTreeView.XForms&lt;br /&gt;
| clr-namespace:Syncfusion.Maui.TreeView;assembly=Syncfusion.Maui.TreeView&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:Syncfusion.XForms.TextInputLayout;assembly=Syncfusion.Core.XForms&lt;br /&gt;
| clr-namespace:Syncfusion.Maui.Core;assembly=Syncfusion.Maui.Core&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For classes referenced in the XAML code, please don't forget to also replace &amp;quot;CPL&amp;quot; with &amp;quot;MAUI&amp;quot; in the class namespace.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Syncfusion control updates ===&lt;br /&gt;
'''There are some other properties that have changed their names on SfListView/SfListViewExt. We don't use them in our standard XAMLs. But if you use them in customizings, please refer to https://help.syncfusion.com/maui/listview/migration for the complete list.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
SfListViewExt:&lt;br /&gt;
    * ItemHolding&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| ItemLongPress&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Syncfusion control updates ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| * LeftSwipeTemplate, RightSwipeTemplate&lt;br /&gt;
| StartSwipeTemplate, EndSwipeTemplate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Layout name change ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
* &amp;lt;sync:SfListView.LayoutManager&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sync:SfListView.ItemsLayout&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TemplateService binding for extracted templates ===&lt;br /&gt;
'''1. We need to add the following namespace where the changes are applied:&lt;br /&gt;
xmlns:services=&amp;quot;clr-namespace:UBIK.MAUI.Services;assembly=UBIK.MAUI&amp;quot;;&lt;br /&gt;
2. We need to search for both &amp;quot;StaticResource&amp;quot; and &amp;quot;DynamicResource&amp;quot;;&lt;br /&gt;
3. We only listed some examples here. But the same rule applies to all those templates exacted from UBIKThemes (see the first &amp;quot;Recommended&amp;quot; point).'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| {StaticResource UBIKChildItem}&lt;br /&gt;
| {Binding [UBIKChildItem], Source={x:Static services:TemplateService.Instance}}&lt;br /&gt;
|-&lt;br /&gt;
| {StaticResource UBIKDocumentItem}&lt;br /&gt;
| {Binding [UBIKDocumentItem], Source={x:Static services:TemplateService.Instance}}&lt;br /&gt;
|-&lt;br /&gt;
| {StaticResource UBIKMainItem}&lt;br /&gt;
| {Binding [UBIKMainItem], Source={x:Static services:TemplateService.Instance}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== OnPlatform and OnIdiom syntax changes ===&lt;br /&gt;
'''All code containing the OnPlatform and OnIdiom functionalities needs to be refactored as the syntax changed. It is recommended to use the inline syntax (see example) as a default wherever possible, but there are also other approaches.&lt;br /&gt;
When using Bindings, Resources or other complex values in OnIdiom or OnPlatform values, it should only be used with the inline syntax.&lt;br /&gt;
Please rely to the wiki for more details and possibilities (e.g. if the value contains multiple elements): https://wiki.augmensys.com/index.php?title=XAML_Tips#Platform_and_Device-specific_UI_with_OnPlatform_and_OnIdiom'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| OnPlatform&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TheControl&lt;br /&gt;
        ...&lt;br /&gt;
        TheProperty=&amp;quot;{OnPlatform Android=False, iOS=True}&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TheControl&lt;br /&gt;
     ...&lt;br /&gt;
     TheProperty=&amp;quot;{OnPlatform Android={Binding ...}, iOS={Binding ...}}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| OnIdiom&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TheControl&lt;br /&gt;
        ...&lt;br /&gt;
        TheProperty=&amp;quot;{OnIdiom Phone=False, Desktop=True}&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TheControl&lt;br /&gt;
     ...&lt;br /&gt;
     TheProperty=&amp;quot;{OnIdiom Desktop={Binding ...}, Phone={Binding ...}}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| WinPhone&lt;br /&gt;
| WinUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
e.g.&lt;br /&gt;
&amp;lt;ColumnDefinition.Width&amp;gt;&lt;br /&gt;
   &amp;lt;OnIdiom&lt;br /&gt;
        ...&lt;br /&gt;
        Desktop=&amp;quot;Auto&amp;quot;&lt;br /&gt;
        Phone=&amp;quot;*&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/ColumnDefinition.Width&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;RowDefinition.Height&amp;gt;&lt;br /&gt;
   &amp;lt;OnPlatform&lt;br /&gt;
        ...&lt;br /&gt;
        Android=&amp;quot;Auto&amp;quot;&lt;br /&gt;
        iOS=&amp;quot;*&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/RowDefinition.Height&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ColumnDefinition Width=&amp;quot;{OnIdiom Desktop='Auto', Phone='*'}&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;RowDefinition Height=&amp;quot;{OnPlatform Android='Auto', iOS='*'}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Syncfusion control updates ===&lt;br /&gt;
'''It is necessary to use the default Binding with the Source reference to the parent control instead of TemplateBinding when using a SfListViewExt ControlTemplate with selectable items in the ResourceDictionary to be set in the ContentView DataTrigger. Otherwise, the pre-selected items might not appear selected anymore according to our experience.&lt;br /&gt;
&lt;br /&gt;
Affected standard Xamls are:&lt;br /&gt;
- UBIKEditDouble&lt;br /&gt;
- UBIKEditInt&lt;br /&gt;
- UBIKEditString&lt;br /&gt;
- UBIKEditMinMax&lt;br /&gt;
(For the exact syntax please refer to our latest standard Xamls.)&lt;br /&gt;
&lt;br /&gt;
If the above explained is also used in any custom Xamls, please consider changing it there, too.&lt;br /&gt;
&lt;br /&gt;
However, the problem only seems to occur if there is TemplateBinding in the ItemsSource &amp;amp; SelectedItem property. But, for example, if the TemplateBinding is only in the BindingContext property of the SfListViewExt (like it is the case in the UBIKPropertyDirectEditListPopup), there seems to be no such problem and therefore no change is necessary.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ContentView&lt;br /&gt;
   ...&lt;br /&gt;
   x:Name=&amp;quot;YourContentViewName&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;ContentView.Resources&amp;gt;&lt;br /&gt;
      &amp;lt;ResourceDictionary&amp;gt;&lt;br /&gt;
         ...&lt;br /&gt;
         &amp;lt;ControlTemplate x:Key=&amp;quot;YourTemplateKey&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;ctrls:SfListViewExt&lt;br /&gt;
                 ItemsSource=&amp;quot;{TemplateBinding BindingContext.YourBinding,&lt;br /&gt;
                              ...}&amp;quot;&lt;br /&gt;
                 SelectedItem=&amp;quot;{TemplateBinding BindingContext.YourBinding,&lt;br /&gt;
                              ...}&amp;quot;&lt;br /&gt;
             ... /&amp;gt;&lt;br /&gt;
         &amp;lt;/ControlTemplate&amp;gt;&lt;br /&gt;
         ...&lt;br /&gt;
      &amp;lt;/ResourceDictionary&amp;gt;&lt;br /&gt;
   &amp;lt;/ContentView.Resources&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/ContentView&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ContentView&lt;br /&gt;
   ...&lt;br /&gt;
   x:Name=&amp;quot;YourContentViewName&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;ContentView.Resources&amp;gt;&lt;br /&gt;
      &amp;lt;ResourceDictionary&amp;gt;&lt;br /&gt;
         ...&lt;br /&gt;
         &amp;lt;ControlTemplate x:Key=&amp;quot;YourTemplateKey&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;ctrls:SfListViewExt&lt;br /&gt;
                 ItemsSource=&amp;quot;{Binding BindingContext.YourBinding,&lt;br /&gt;
                                       Source={x:Reference YourContentViewName},&lt;br /&gt;
                                       ...}&amp;quot;&lt;br /&gt;
                 SelectedItem=&amp;quot;{Binding BindingContext.YourBinding,&lt;br /&gt;
                                        Source={x:Reference YourContentViewName},&lt;br /&gt;
                                        ...}&amp;quot;&lt;br /&gt;
             ... /&amp;gt;&lt;br /&gt;
         &amp;lt;/ControlTemplate&amp;gt;&lt;br /&gt;
         ...&lt;br /&gt;
      &amp;lt;/ResourceDictionary&amp;gt;&lt;br /&gt;
   &amp;lt;/ContentView.Resources&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/ContentView&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Remove default ControlTemplate in DataTriggers ===&lt;br /&gt;
'''To prevent an issue on Android where the direct edit Link to Object editor does not open, there is a change necessary in the UBIKPropertyDirectEditListPopup Xaml:&lt;br /&gt;
The default ControlTemplate needs to be removed from the ContentView that contains the DataTriggers.&lt;br /&gt;
&lt;br /&gt;
According to our experience, this issue only occurs to our UBIKPropertyDirectEditListPopup standard Xaml, but we can't guarantee that there is no such issue in customized Xamls.&lt;br /&gt;
So please, if you encounter an issue on Android where a Property Editor doesn't open, report it the mobile development team, and/or try removing the default ControlTemplate from the affected control.&lt;br /&gt;
&lt;br /&gt;
In our standard Xamls, we removed the default ControlTemplate in every ContentView that contains DataTriggers with ControlTemplates where the same template is already set in a DataTrigger. So please, also remove the default ControlTemplates it in the following Xamls if you use customized ones:&lt;br /&gt;
- UBIKEditDouble&lt;br /&gt;
- UBIKEditInt&lt;br /&gt;
- UBIKEditString&lt;br /&gt;
- UBIKEditMinMax&lt;br /&gt;
(For the exact syntax please refer to our latest standard Xamls.)&lt;br /&gt;
&lt;br /&gt;
If the above explained is also used in any of your other custom Xamls, please consider changing it there, too. Otherwise, some property editor might not open.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ContentView x:Name=&amp;quot;containerName&amp;quot; ControlTemplate=&amp;quot;{StaticResource YourTemplate}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ContentView.Triggers&amp;gt;&lt;br /&gt;
        &amp;lt;DataTrigger&lt;br /&gt;
            Binding=&amp;quot;{Binding Source={x:Reference containerName}, Path=...}&amp;quot;&lt;br /&gt;
            TargetType=&amp;quot;ContentView&amp;quot;&lt;br /&gt;
            Value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Setter Property=&amp;quot;ControlTemplate&amp;quot;&lt;br /&gt;
                    Value=&amp;quot;{StaticResource YourTemplate}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/DataTrigger&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
    &amp;lt;/ContentView.Triggers&amp;gt;&lt;br /&gt;
&amp;lt;/ContentView&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ContentView x:Name=&amp;quot;containerName&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ContentView.Triggers&amp;gt;&lt;br /&gt;
        &amp;lt;DataTrigger&lt;br /&gt;
            Binding=&amp;quot;{Binding Source={x:Reference containerName}, Path=...}&amp;quot;&lt;br /&gt;
            TargetType=&amp;quot;ContentView&amp;quot;&lt;br /&gt;
            Value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Setter Property=&amp;quot;ControlTemplate&amp;quot;&lt;br /&gt;
                    Value=&amp;quot;{StaticResource YourTemplate}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/DataTrigger&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
    &amp;lt;/ContentView.Triggers&amp;gt;&lt;br /&gt;
&amp;lt;/ContentView&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Remove HeadlessLayout style ===&lt;br /&gt;
'''This Style has no longer any effect in MAUI and even degrades app performance. We are keeping it in our standard UBIKThemes under the Obsolete section to maintain backward compatibility.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Style x:Key=&amp;quot;HeadlessLayout&amp;quot; TargetType=&amp;quot;Layout&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Setter Property=&amp;quot;CompressedLayout.IsHeadless&amp;quot; Value=&amp;quot;{OnPlatform False, Android=True}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Style&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delete it from your custom UBIKThemes file&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Additional mandatory rule ===&lt;br /&gt;
'''In the customizings, however, it can and should be removed entirely, as it negatively affects performance, as mentioned before. To remove the style, you can simply use VS Code or any other editor with a search function and look through all custom .xaml files for usages of {StaticResource HeadlessLayout} or {DynamicResource HeadlessLayout}. These references should be removed from the respective elements or controls.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ContentView&lt;br /&gt;
    Grid.Column=&amp;quot;2&amp;quot;&lt;br /&gt;
    ControlTemplate=&amp;quot;{DynamicResource ChildCountBadge}&amp;quot;&lt;br /&gt;
    HorizontalOptions=&amp;quot;Start&amp;quot;&lt;br /&gt;
    Style=&amp;quot;{DynamicResource HeadlessLayout}&amp;quot;&lt;br /&gt;
    VerticalOptions=&amp;quot;Start&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ContentView&lt;br /&gt;
    Grid.Column=&amp;quot;2&amp;quot;&lt;br /&gt;
    ControlTemplate=&amp;quot;{DynamicResource ChildCountBadge}&amp;quot;&lt;br /&gt;
    HorizontalOptions=&amp;quot;Start&amp;quot;&lt;br /&gt;
    VerticalOptions=&amp;quot;Start&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Avoid multiple SfPullToRefresh controls ===&lt;br /&gt;
'''To prevent an issue that causes the app to freeze, avoid placing more then one SfPullToRefresh controls as siblings in a xaml hierarchy'''. If switching between contents in a SfPullToRefresh control is necessary use separate DataTemplates for the contents and use a e.g. a DataTrigger to set one of them as the ControlTemplate of a ContentControl inside the SfPullToRefresh control&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pullToRefresh:SfPullToRefresh IsVisible = {Binding ShowContentB, Converter={StaticResource BoolToNotBool}}&amp;gt;&lt;br /&gt;
    &amp;lt;pullToRefresh:SfPullToRefresh.PullableContent&amp;gt;&lt;br /&gt;
        &amp;lt;Grid x:Name=&amp;quot;ContentA&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/pullToRefresh:SfPullToRefresh.PullableContent&amp;gt;&lt;br /&gt;
&amp;lt;/pullToRefresh:SfPullToRefresh&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pullToRefresh:SfPullToRefresh  IsVisible = {Binding ShowContentB}&amp;gt;&lt;br /&gt;
    &amp;lt;pullToRefresh:SfPullToRefresh.PullableContent&amp;gt;&lt;br /&gt;
        &amp;lt;Grid x:Name=&amp;quot;ContentB&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/pullToRefresh:SfPullToRefresh.PullableContent&amp;gt;&lt;br /&gt;
&amp;lt;/pullToRefresh:SfPullToRefresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&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;ResourceDictionary&amp;gt;&lt;br /&gt;
            &amp;lt;DataTemplate x:Key=&amp;quot;TemplateA&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Grid x:Name=&amp;quot;ContentA&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/DataTemplate&amp;gt;&lt;br /&gt;
            &amp;lt;DataTemplate x:Key=&amp;quot;TemplateB&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Grid x:Name=&amp;quot;ContentB&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/DataTemplate&amp;gt;&lt;br /&gt;
        &amp;lt;/ResourceDictionary&amp;gt;&lt;br /&gt;
    &amp;lt;/Grid.Resources&amp;gt;&lt;br /&gt;
   &amp;lt;pullToRefresh:SfPullToRefresh&amp;gt;&lt;br /&gt;
       &amp;lt;pullToRefresh:SfPullToRefresh.PullableContent&amp;gt;&lt;br /&gt;
           &amp;lt;controls:ContentControl ContentTemplate=&amp;quot;{DynamicResource TemplateA}&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;controls:ContentControl.Triggers&amp;gt;&lt;br /&gt;
                   &amp;lt;DataTrigger&lt;br /&gt;
                       Binding=&amp;quot;{Binding ShowContentB}}&amp;quot;&lt;br /&gt;
                       TargetType=&amp;quot;controls:ContentControl&amp;quot;&lt;br /&gt;
                       Value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                       &amp;lt;Setter Property=&amp;quot;ContentTemplate&amp;quot; Value=&amp;quot;{DynamicResource TemplateB}&amp;quot; /&amp;gt;&lt;br /&gt;
                   &amp;lt;/DataTrigger&amp;gt;&lt;br /&gt;
               &amp;lt;/controls:ContentControl.Triggers&amp;gt;&lt;br /&gt;
           &amp;lt;/controls:ContentControl&amp;gt;&lt;br /&gt;
       &amp;lt;/pullToRefresh:SfPullToRefresh.PullableContent&amp;gt;&lt;br /&gt;
    &amp;lt;/pullToRefresh:SfPullToRefresh&amp;gt;&lt;br /&gt;
&amp;lt;/Grid&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Rename SfPullToRefresh properties ===&lt;br /&gt;
'''Renamed in Maui, however, currently these properties cause an issue and should not be included in customizings.'''&lt;br /&gt;
SfPullToRefresh:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| RefreshContentHeight, RefreshContentWidth&lt;br /&gt;
| RefreshViewHeight, RefreshViewWidth&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Rename progress colors ===&lt;br /&gt;
'''Renamed in Maui.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| ProgressBackgroundColor, ProgressStrokeColor&lt;br /&gt;
| ProgressBackground, ProgressColor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:How-To|Convert Xamarin XAMLs to Maui]]&lt;br /&gt;
[[Category:MAUI|Convert Xamarin XAMLs to Maui]]&lt;br /&gt;
[[Category:XAML|Convert Xamarin XAMLs to Maui]]&lt;br /&gt;
&lt;br /&gt;
== SfTabView ==&lt;br /&gt;
&lt;br /&gt;
=== Namespace Update ===&lt;br /&gt;
'''Update Syncfusion TabView namespace.'''&lt;br /&gt;
Replace the Xamarin namespace with the MAUI equivalent.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:Syncfusion.XForms.TabView;assembly=Syncfusion.SfTabView.XForms&lt;br /&gt;
| clr-namespace:Syncfusion.Maui.Toolkit.TabView;assembly=Syncfusion.Maui.Toolkit&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Remove Obsolete Converters ===&lt;br /&gt;
'''Remove ItemCountToBoolConverter from Resources.'''&lt;br /&gt;
This converter is no longer usable in TabView headers.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;converters:ItemCountToBoolConverter x:Key=&amp;quot;ItemCountToBool&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| [remove]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Add StringFormatConverter ===&lt;br /&gt;
'''Use StringFormatConverter for combined header strings.'''&lt;br /&gt;
Syncfusion MAUI TabView uses a single `Header` property instead of templates.&lt;br /&gt;
For all tab headers, formatters should be specified to assemble the text. As a best practice, even for simple header strings.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| [template-based header]&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;converters:StringFormatConverter x:Key=&amp;quot;ChildrenTabFormatter&amp;quot; Parameter1=&amp;quot;{resources:Translate ChildrenTitle}&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the above example, a previously defined formatter (that must be also added to the resource dictionary) is used to fill in the header attribute value.&lt;br /&gt;
⚠️ Avoid using bindings in `Parameter1` and `Parameter2` — use static strings only. For complex cases, use `EvalExpression`.&lt;br /&gt;
&lt;br /&gt;
[[Category:How-To|Convert Xamarin XAMLs to Maui]]&lt;br /&gt;
[[Category:MAUI|Convert Xamarin XAMLs to Maui]]&lt;br /&gt;
[[Category:XAML|Convert Xamarin XAMLs to Maui]]&lt;br /&gt;
&lt;br /&gt;
=== FontImageSource Styling ===&lt;br /&gt;
'''Add local style for FontImageSource.'''&lt;br /&gt;
Global styles are not supported.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| [global FontImageSource style]&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Style TargetType=&amp;quot;FontImageSource&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Setter Property=&amp;quot;FontFamily&amp;quot; Value=&amp;quot;{DynamicResource UBIKSymbols}&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;Setter Property=&amp;quot;Color&amp;quot; Value=&amp;quot;{DynamicResource UBIKLightThemeColor}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Style&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TabView Structure ===&lt;br /&gt;
'''Use Grid to wrap TabView.'''&lt;br /&gt;
MAUI TabView requires a different structure and property set.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight 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;
  ...&lt;br /&gt;
&amp;lt;/tabView:SfTabView&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&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;tabView:SfTabView&amp;gt;&lt;br /&gt;
    &amp;lt;tabView:SfTabItem Header=&amp;quot;string example header&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tabView:SfTabItem.ImageSource&amp;gt;&lt;br /&gt;
        &amp;lt;FontImageSource Glyph=&amp;quot;{x:Static resources:UBIKIcons.XXX}&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;controls:UBIKContentView x:Name=&amp;quot;ChildContainer&amp;quot; Converter=&amp;quot;{StaticResource ChildAreaTemplateConverter}&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/tabView:SfTabItem.Content&amp;gt;&lt;br /&gt;
    &amp;lt;/tabView:SfTabItem&amp;gt;&lt;br /&gt;
  &amp;lt;/tabView:SfTabView&amp;gt;&lt;br /&gt;
&amp;lt;/Grid&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Property Changes ===&lt;br /&gt;
'''Update renamed or removed properties.'''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| VisibleHeaderCount&lt;br /&gt;
| [not available yet]&lt;br /&gt;
|-&lt;br /&gt;
| UBIKCenterButtonSettings&lt;br /&gt;
| CenterButtonSettings&lt;br /&gt;
|-&lt;br /&gt;
| SelectionIndicatorSettings&lt;br /&gt;
| IndicatorPlacement, IndicatorStrokeThickness, IndicatorBackground&lt;br /&gt;
|-&lt;br /&gt;
| SelectionColor&lt;br /&gt;
| Use VisualStateManager instead&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
⚠️ Refer to [https://help.syncfusion.com/maui/tabview/migration Syncfusion migration guide] for full property list.&lt;br /&gt;
&lt;br /&gt;
== OnPlatform + OnIdiom backup ==&lt;br /&gt;
&lt;br /&gt;
=== Syntax Changes ===&lt;br /&gt;
'''Use inline or multi-tag syntax.'''&lt;br /&gt;
Single-tag syntax is outdated and may not build.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;OnPlatform Android=&amp;quot;False&amp;quot; iOS=&amp;quot;True&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;TheControl TheProperty=&amp;quot;{OnPlatform Android=False, iOS=True}&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;OnPlatform x:TypeArguments=&amp;quot;TheType&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;On Platform=&amp;quot;Android&amp;quot; Value=&amp;quot;False&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;On Platform=&amp;quot;iOS&amp;quot; Value=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/OnPlatform&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Required for multi-tag syntax&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== WinPhone to WinUI ===&lt;br /&gt;
'''Replace WinPhone with WinUI.'''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| WinPhone&lt;br /&gt;
| WinUI&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== GridLength and TypeArguments ===&lt;br /&gt;
'''Avoid x:TypeArguments with GridLength.'''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ColumnDefinition.Width&amp;gt;&lt;br /&gt;
  &amp;lt;OnIdiom x:TypeArguments=&amp;quot;GridLength&amp;quot; Desktop=&amp;quot;Auto&amp;quot; Phone=&amp;quot;*&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/ColumnDefinition.Width&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;ColumnDefinition Width=&amp;quot;{OnIdiom Desktop='Auto', Phone='*'}&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
⚠️ Inline syntax is more reliable when using bindings or resources.&lt;br /&gt;
&lt;br /&gt;
=== Special Characters ===&lt;br /&gt;
'''Wrap values in quotes if they contain commas or strings.'''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| Margin={OnIdiom 10,2, Phone=2,0}&lt;br /&gt;
| Margin={OnIdiom '10,2', Phone='2,0'}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== UWP to WinUI ===&lt;br /&gt;
'''Replace UWP with WinUI in all OnPlatform scopes.'''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| UWP&lt;br /&gt;
| WinUI&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
⚠️ For more details, refer to the [https://wiki.augmensys.com/index.php?title=XAML_Tips#Device_and_Platform_Responsiveness Wiki documentation].&lt;br /&gt;
&lt;br /&gt;
[[Category:How-To|Convert Xamarin XAMLs to Maui]]&lt;br /&gt;
[[Category:MAUI|Convert Xamarin XAMLs to Maui]]&lt;br /&gt;
[[Category:XAML|Convert Xamarin XAMLs to Maui]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=HowTo:Convert_Xamarin_XAMLs_to_Maui&amp;diff=28463</id>
		<title>HowTo:Convert Xamarin XAMLs to Maui</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=HowTo:Convert_Xamarin_XAMLs_to_Maui&amp;diff=28463"/>
				<updated>2025-08-05T12:48:18Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* Avoid multiple SfPullToRefresh controls */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Information ==&lt;br /&gt;
=== Frame to Border ===  &lt;br /&gt;
'''Use Border instead of Frame.'''  &lt;br /&gt;
Frame is deprecated in MAUI. Use Border with `Stroke` instead of `BorderColor`.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;Frame ... /&amp;gt;&lt;br /&gt;
| &amp;lt;Border ... /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== LayoutOptions with &amp;quot;...AndExpand&amp;quot; ===  &lt;br /&gt;
'''Replace &amp;quot;...AndExpand&amp;quot; with Grid layout.'''  &lt;br /&gt;
Horizontal/VerticalOptions ending in &amp;quot;...AndExpand&amp;quot; are deprecated. Use Grid with `ColumnDefinition Width=&amp;quot;*&amp;quot;` for expansion.&lt;br /&gt;
&lt;br /&gt;
=== GlyphLabel and Styles ===  &lt;br /&gt;
'''Use Label with new styles.'''  &lt;br /&gt;
Custom controls like `GlyphLabel` are no longer needed. Use `Label` with styles like `UBIKSymbolText`.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| controls:GlyphLabel&lt;br /&gt;
| Label with UBIKSymbolText style&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SfTabView Virtualization ===  &lt;br /&gt;
'''Enable virtualization.'''  &lt;br /&gt;
Add `EnableVirtualization=&amp;quot;True&amp;quot;` to all SfTabView instances or styles.&lt;br /&gt;
&lt;br /&gt;
=== Swipe Menu Icons on Android ===  &lt;br /&gt;
'''Refactor swipe templates and label styles.'''  &lt;br /&gt;
Icons in swipe menus were truncated on Android. Fixed via refactoring.&lt;br /&gt;
&lt;br /&gt;
=== Color Style Changes ===  &lt;br /&gt;
'''Dark theme adjustments.'''  &lt;br /&gt;
Changes to color styles may affect appearance. Review usage of `UBIKDarkThemeColor`, `UBIKDarkTextColor`, etc.&lt;br /&gt;
&lt;br /&gt;
=== Strikethrough Converter ===  &lt;br /&gt;
'''Use `TextDecorations=&amp;quot;Strikethrough&amp;quot;` instead of converter.'''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| Text=&amp;quot;{Binding ..., Converter={StaticResource StrikethroughConverter}}&amp;quot;&lt;br /&gt;
| Text=&amp;quot;{Binding ...}&amp;quot; TextDecorations=&amp;quot;Strikethrough&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Button Disabled Trigger ===  &lt;br /&gt;
'''Add trigger for disabled buttons.'''  &lt;br /&gt;
Maui buttons don’t visually change when disabled. Add trigger to style.&lt;br /&gt;
&lt;br /&gt;
=== TapGestureRecognizer Replacement ===  &lt;br /&gt;
'''Use TappedBehavior instead.'''  &lt;br /&gt;
TapGestureRecognizer now intercepts taps. Use `TappedBehavior` to avoid conflicts.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;... .GestureRecognizers&amp;gt;&amp;lt;TapGestureRecognizer Command=&amp;quot;{Binding ...}&amp;quot; /&amp;gt;&amp;lt;/... .GestureRecognizers&amp;gt;&lt;br /&gt;
| &amp;lt;... .Behaviors&amp;gt;&amp;lt;behaviors:TappedBehavior&amp;gt;&amp;lt;behaviors:InvokeCommandAction Command=&amp;quot;{Binding ...}&amp;quot; /&amp;gt;&amp;lt;/behaviors:TappedBehavior&amp;gt;&amp;lt;/... .Behaviors&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TapGestureRecognizer and Swipe Conflict ===  &lt;br /&gt;
'''Remove TapGestureRecognizer from root Grid.'''  &lt;br /&gt;
TapGestureRecognizer blocks swipe behavior. Remove it and adapt parent list to trigger navigation.&lt;br /&gt;
&lt;br /&gt;
=== Navigation in UBIKChildItem ===  &lt;br /&gt;
'''Use EventHandlerBehavior for navigation.'''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| [none]&lt;br /&gt;
| &amp;lt;controls:SfListViewExt.Behaviors&amp;gt;&amp;lt;behaviors:EventHandlerBehavior EventName=&amp;quot;ItemTapped&amp;quot;&amp;gt;&amp;lt;behaviors:InvokeCommandAction Command=&amp;quot;{Binding AppStatus.RootList.Items[0].NavigateToChildrenCommand}&amp;quot; /&amp;gt;&amp;lt;/behaviors:EventHandlerBehavior&amp;gt;&amp;lt;/controls:SfListViewExt.Behaviors&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
== Recommended ==&lt;br /&gt;
=== Extract DataTemplates from UBIKThemes ===&lt;br /&gt;
'''Create separate .xamlx files for the following DataTemplates.'''&lt;br /&gt;
It's not so easy about the namespaces:&lt;br /&gt;
* In our default templates, it's enough to add the following ones to every new separate .xamlx files at the beginning;&lt;br /&gt;
    * xmlns:ctrls=&amp;quot;clr-namespace:UBIK.MAUI.Controls;assembly=UBIK.MAUI&amp;quot;;&lt;br /&gt;
    * xmlns:platform=&amp;quot;clr-namespace:UBIK.MAUI.Platform.Renderers;assembly=UBIK.MAUI&amp;quot;;&lt;br /&gt;
    * xmlns:resources=&amp;quot;clr-namespace:UBIK.MAUI.Resources;assembly=UBIK.MAUI&amp;quot;;&lt;br /&gt;
    * xmlns:services=&amp;quot;clr-namespace:UBIK.MAUI.Services;assembly=UBIK.MAUI&amp;quot;;&lt;br /&gt;
    * xmlns:uiservices=&amp;quot;clr-namespace:UBIK.UI.Services;assembly=UBIK.UI&amp;quot;.&lt;br /&gt;
* But we don't know if other namespaces might be used in the custom templates. So it might be necessary to really analyze the namespaces used and find/copy them from the UBIKThemes file.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &amp;amp;nbsp; !! Templates !! &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| UBIKMainItem || UBIKChildItem || UBIKTaskItem&lt;br /&gt;
|-&lt;br /&gt;
| UBIKTaskProperty || UBIKTaskPropertyString || UBIKTaskPropertyDouble&lt;br /&gt;
|-&lt;br /&gt;
| UBIKTaskPropertyInt || UBIKTaskPropertyNumeric || UBIKTaskPropertyDateTime&lt;br /&gt;
|-&lt;br /&gt;
| UBIKTaskPropertyGeoData || UBIKTaskPropertyBool || UBIKTaskPropertyPopup&lt;br /&gt;
|-&lt;br /&gt;
| UBIKTaskPropertyList || UBIKTaskPropertyGuid || UBIKPropertyItem&lt;br /&gt;
|-&lt;br /&gt;
| UBIKPropertyTextLengthHint || UBIKPropertyDirectEditButtons || UBIKTaskPropertyEditButtons&lt;br /&gt;
|-&lt;br /&gt;
| UBIKPropertyDirectItemString || UBIKPropertyDirectItemDouble || UBIKPropertyDirectItemInt&lt;br /&gt;
|-&lt;br /&gt;
| UBIKPropertyDirectItemMinMax || UBIKPropertyDirectItemNumeric || UBIKPropertyDirectItemDateTime&lt;br /&gt;
|-&lt;br /&gt;
| UBIKPropertyDirectItemGeoData || UBIKPropertyDirectItemBool || UBIKPropertyDirectItemPopup&lt;br /&gt;
|-&lt;br /&gt;
| UBIKPropertyDirectItemList || UBIKPropertyDirectItemGuid || UBIKDocumentItem&lt;br /&gt;
|-&lt;br /&gt;
| UBIKSearchResultItem || UBIKDefaultHotSpot || UBIKAngularLinkHotSpot&lt;br /&gt;
|-&lt;br /&gt;
| UBIKRoundLinkHotSpot || UBIKInputHotSpot || UBIKSignatureHotSpot&lt;br /&gt;
|-&lt;br /&gt;
| UBIKObjectHotSpot || UBIKMediaHotSpot || &lt;br /&gt;
|}&lt;br /&gt;
=== VideoPlayer Adjustments ===&lt;br /&gt;
'''This property is repsonsible for the video player regarding how or if it should get scaled up depending on the value of the&lt;br /&gt;
Aspect property'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;VideoPlayer...&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;VideoPlayer Aspect=&amp;quot;AspectFit&amp;quot;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''The UriToVideoSourceConverter is no longer needed because the conversion of the &lt;br /&gt;
VideoSource gets done by the MediaElement itself. It is marked as obsolete and should therefore no longer be used.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;controls:VideoPlayer... Source=&amp;quot;{Binding DocumentViewModel.LocalURI, Converter={StaticResource UriToVideoSource}}&amp;quot;/&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;controls:VideoPlayer... Source=&amp;quot;{Binding DocumentViewModel.LocalURI}&amp;quot;/&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''The StopTimer property is obsolete and no longer needed because the MediaElement behind does the Stop of the VideoPlayer&lt;br /&gt;
by itself.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;controls:VideoPlayer... StopTimer=&amp;quot;{Binding Unloaded}&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;controls:VideoPlayer... /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
=== SearchBar Style Fix on iOS ===&lt;br /&gt;
'''On iOS, defining a transparent background for the SearchBar control results in a black text on black background appearance.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;[issue on iOS only] UBIKThemes: SearchBar style: &amp;lt;Setter Property=&amp;quot;BackgroundColor&amp;quot; Value=&amp;quot;Transparent&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;Delete this setter&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
=== Avoid Redundant ControlTemplate in DataTriggers ===&lt;br /&gt;
'''This is about finding ControlTemplates that are set in DataTriggers in customized Xamls. When the same template is already set as a ContentView default ControlTemplate, it is recommended to remove the default ControlTemplate on the ContentView. For a detailed description please refer to sheet &amp;quot;Mandatory&amp;quot; in cell 27A-27C.&lt;br /&gt;
Behavior that might occur if it remains unchanged: Property editor might not open on Android.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;ContentView x:Name=&amp;quot;containerName&amp;quot; ControlTemplate=&amp;quot;{StaticResource YourTemplate1}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ContentView.Triggers&amp;gt;&lt;br /&gt;
        &amp;lt;DataTrigger&lt;br /&gt;
            Binding=&amp;quot;{Binding Source={x:Reference containerName}, Path=...}&amp;quot;&lt;br /&gt;
            TargetType=&amp;quot;ContentView&amp;quot;&lt;br /&gt;
            Value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Setter Property=&amp;quot;ControlTemplate&amp;quot;&lt;br /&gt;
                    Value=&amp;quot;{StaticResource YourTemplate1}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/DataTrigger&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
    &amp;lt;/ContentView.Triggers&amp;gt;&lt;br /&gt;
&amp;lt;/ContentView&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;ContentView x:Name=&amp;quot;containerName&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ContentView.Triggers&amp;gt;&lt;br /&gt;
        &amp;lt;DataTrigger&lt;br /&gt;
            Binding=&amp;quot;{Binding Source={x:Reference containerName}, Path=...}&amp;quot;&lt;br /&gt;
            TargetType=&amp;quot;ContentView&amp;quot;&lt;br /&gt;
            Value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Setter Property=&amp;quot;ControlTemplate&amp;quot;&lt;br /&gt;
                    Value=&amp;quot;{StaticResource YourTemplate1}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/DataTrigger&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
    &amp;lt;/ContentView.Triggers&amp;gt;&lt;br /&gt;
&amp;lt;/ContentView&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
=== Replace TemplateBinding with Binding and Source ===&lt;br /&gt;
'''This is about finding SfListViewExt controls in customizings, and if there are TemplateBindings used, it's recommended to replace them with Binding, and the Source reference should be added. For a detailed description please refer to sheet &amp;quot;Mandatory&amp;quot; in cell 26A-26C.&lt;br /&gt;
Behavior that might occur if it remains unchanged: Pre-selected item might appear unselected.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;ContentView&lt;br /&gt;
   ...&lt;br /&gt;
   x:Name=&amp;quot;YourContentViewName&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;ContentView.Resources&amp;gt;&lt;br /&gt;
      &amp;lt;ResourceDictionary&amp;gt;&lt;br /&gt;
         ...&lt;br /&gt;
         &amp;lt;ControlTemplate x:Key=&amp;quot;YourTemplateKey&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;ctrls:SfListViewExt&lt;br /&gt;
                 ItemsSource=&amp;quot;{TemplateBinding BindingContext.YourBinding,&lt;br /&gt;
                              ...}&amp;quot;&lt;br /&gt;
                 SelectedItem=&amp;quot;{TemplateBinding BindingContext.YourBinding,&lt;br /&gt;
                              ...}&amp;quot;&lt;br /&gt;
             ... /&amp;gt;&lt;br /&gt;
         &amp;lt;/ControlTemplate&amp;gt;&lt;br /&gt;
         ...&lt;br /&gt;
      &amp;lt;/ResourceDictionary&amp;gt;&lt;br /&gt;
   &amp;lt;/ContentView.Resources&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/ContentView&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;ContentView&lt;br /&gt;
   ...&lt;br /&gt;
   x:Name=&amp;quot;YourContentViewName&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;ContentView.Resources&amp;gt;&lt;br /&gt;
      &amp;lt;ResourceDictionary&amp;gt;&lt;br /&gt;
         ...&lt;br /&gt;
         &amp;lt;ControlTemplate x:Key=&amp;quot;YourTemplateKey&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;ctrls:SfListViewExt&lt;br /&gt;
                 ItemsSource=&amp;quot;{Binding BindingContext.YourBinding,&lt;br /&gt;
                                       Source={x:Reference YourContentViewName},&lt;br /&gt;
                                       ...}&amp;quot;&lt;br /&gt;
                 SelectedItem=&amp;quot;{Binding BindingContext.YourBinding,&lt;br /&gt;
                                        Source={x:Reference YourContentViewName},&lt;br /&gt;
                                        ...}&amp;quot;&lt;br /&gt;
             ... /&amp;gt;&lt;br /&gt;
         &amp;lt;/ControlTemplate&amp;gt;&lt;br /&gt;
         ...&lt;br /&gt;
      &amp;lt;/ResourceDictionary&amp;gt;&lt;br /&gt;
   &amp;lt;/ContentView.Resources&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/ContentView&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
=== Remove TapGestureRecognizer from Main Item ===&lt;br /&gt;
'''Swiping on the Main items was broken by Maui (Documented in Information). The workaround is to remove the TapGestureRecognizer from UBIKMainItem, and add ListView-based navigation similar to that found in UBIKChildArea (with an extended binding path for technical reasons).'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;(In UBIKMainItem)&lt;br /&gt;
&amp;lt;Grid.GestureRecognizers&amp;gt;&lt;br /&gt;
	&amp;lt;TapGestureRecognizer Command=&amp;quot;{Binding NavigateToChildrenCommand}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Grid.GestureRecognizers&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;[nothing]&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
=== Add Navigation Behavior in Child Area ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;(In UBIKChildArea)&lt;br /&gt;
[nothing]&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;controls:SfListViewExt.Behaviors&amp;gt;&lt;br /&gt;
	&amp;lt;behaviors:EventHandlerBehavior EventName=&amp;quot;ItemTapped&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;behaviors:InvokeCommandAction Command=&amp;quot;{Binding AppStatus.RootList.Items[0].NavigateToChildrenCommand}&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/behaviors:EventHandlerBehavior&amp;gt;&lt;br /&gt;
&amp;lt;/controls:SfListViewExt.Behaviors&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
== Highly Recommended ==&lt;br /&gt;
=== CircularImage to AvatarView ===  &lt;br /&gt;
'''Use AvatarView instead of CircularImage.'''  &lt;br /&gt;
CircularImage and its wrapping Frame are no longer needed. Use AvatarView from the MAUI Community Toolkit. Add the namespace:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
xmlns:toolkit=&amp;quot;http://schemas.microsoft.com/dotnet/2022/maui/toolkit&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;Frame&amp;gt;&amp;lt;CircularImage Source=&amp;quot;...&amp;quot; /&amp;gt;&amp;lt;/Frame&amp;gt;&lt;br /&gt;
| &amp;lt;toolkit:AvatarView ImageSource=&amp;quot;...&amp;quot; BorderWidth=&amp;quot;...&amp;quot; BackgroundColor=&amp;quot;...&amp;quot; /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== GlyphSize to FontSize and Alignment ===  &lt;br /&gt;
'''Use FontSize and alignment properties instead of GlyphSize.'''  &lt;br /&gt;
The GlyphSize property is obsolete. Use FontSize and add alignment properties for better layout.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;Setter Property=&amp;quot;GlyphSize&amp;quot; Value=&amp;quot;13.0&amp;quot; /&amp;gt;&lt;br /&gt;
| &amp;lt;Setter Property=&amp;quot;FontSize&amp;quot; Value=&amp;quot;16&amp;quot; /&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;Setter Property=&amp;quot;VerticalOptions&amp;quot; Value=&amp;quot;Center&amp;quot; /&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;Setter Property=&amp;quot;HorizontalOptions&amp;quot; Value=&amp;quot;Center&amp;quot; /&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;Setter Property=&amp;quot;VerticalTextAlignment&amp;quot; Value=&amp;quot;Center&amp;quot; /&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;Setter Property=&amp;quot;HorizontalTextAlignment&amp;quot; Value=&amp;quot;Center&amp;quot; /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== StaticResource to DynamicResource ===  &lt;br /&gt;
'''Use DynamicResource and BaseResourceKey.'''  &lt;br /&gt;
For dynamic theming, use DynamicResource instead of StaticResource. When inheriting styles, use BaseResourceKey.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| BasedOn=&amp;quot;{StaticResource SomeStyle}&amp;quot;&amp;lt;br/&amp;gt;Style=&amp;quot;{StaticResource SomeStyle}&amp;quot;&lt;br /&gt;
| BaseResourceKey=&amp;quot;SomeStyle&amp;quot;&amp;lt;br/&amp;gt;Style=&amp;quot;{DynamicResource SomeStyle}&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
== Mandatory ==&lt;br /&gt;
&lt;br /&gt;
=== Namespace conversion ===  &lt;br /&gt;
'''Update all namespaces to MAUI equivalents.'''  &lt;br /&gt;
All `xmlns` and `clr-namespace` declarations must be updated to their MAUI counterparts.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| xmlns=&amp;quot;http://xamarin.com/schemas/2014/forms&amp;quot;&lt;br /&gt;
| xmlns=&amp;quot;http://schemas.microsoft.com/dotnet/2021/maui&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core&lt;br /&gt;
| clr-namespace:Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific;assembly=Microsoft.Maui.Controls&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:UBIK.CPL.Behaviors;assembly=UBIK.CPL&lt;br /&gt;
| clr-namespace:UBIK.MAUI.Behaviors;assembly=UBIK.MAUI&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:UBIK.CPL.Classes;assembly=UBIK.CPL&lt;br /&gt;
| clr-namespace:UBIK.MAUI.Classes;assembly=UBIK.MAUI&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:UBIK.CPL.Controls;assembly=UBIK.CPL&lt;br /&gt;
| clr-namespace:UBIK.MAUI.Controls;assembly=UBIK.MAUI&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:UBIK.CPL.Converters;assembly=UBIK.CPL&lt;br /&gt;
| clr-namespace:UBIK.MAUI.Converters;assembly=UBIK.MAUI&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:UBIK.CPL.Platform.Renderers;assembly=UBIK.CPL&lt;br /&gt;
| clr-namespace:UBIK.MAUI.Platform.Controls;assembly=UBIK.MAUI&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:UBIK.CPL.Services;assembly=UBIK.CPL&lt;br /&gt;
| clr-namespace:UBIK.MAUI.Services;assembly=UBIK.MAUI&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:UBIK.CPL.Resources;assembly=UBIK.CPL&lt;br /&gt;
| clr-namespace:UBIK.MAUI.Resources;assembly=UBIK.MAUI&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:UBIK.Scanning.Forms;assembly=UBIK.Scanning.Forms&lt;br /&gt;
| clr-namespace:UBIK.MAUI.Controls.ZXingScanner;assembly=UBIK.MAUI&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:Syncfusion.SfPullToRefresh.XForms;assembly=Syncfusion.SfPullToRefresh.XForms&lt;br /&gt;
| clr-namespace:Syncfusion.Maui.Toolkit.PullToRefresh;assembly=Syncfusion.Maui.Toolkit&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:Syncfusion.XForms.TabView;assembly=Syncfusion.SfTabView.Xforms&lt;br /&gt;
| clr-namespace:Syncfusion.Maui.Toolkit.TabView;assembly=Syncfusion.Maui.Toolkit&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:Syncfusion.ListView.XForms;assembly=Syncfusion.SfListView.XForms&lt;br /&gt;
| clr-namespace:Syncfusion.Maui.ListView;assembly=Syncfusion.Maui.ListView&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:Syncfusion.XForms.TreeView;assembly=Syncfusion.SfTreeView.XForms&lt;br /&gt;
| clr-namespace:Syncfusion.Maui.TreeView;assembly=Syncfusion.Maui.TreeView&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:Syncfusion.XForms.TextInputLayout;assembly=Syncfusion.Core.XForms&lt;br /&gt;
| clr-namespace:Syncfusion.Maui.Core;assembly=Syncfusion.Maui.Core&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For classes referenced in the XAML code, please don't forget to also replace &amp;quot;CPL&amp;quot; with &amp;quot;MAUI&amp;quot; in the class namespace.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Syncfusion control updates ===&lt;br /&gt;
'''There are some other properties that have changed their names on SfListView/SfListViewExt. We don't use them in our standard XAMLs. But if you use them in customizings, please refer to https://help.syncfusion.com/maui/listview/migration for the complete list.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
SfListViewExt:&lt;br /&gt;
    * ItemHolding&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| ItemLongPress&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Syncfusion control updates ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| * LeftSwipeTemplate, RightSwipeTemplate&lt;br /&gt;
| StartSwipeTemplate, EndSwipeTemplate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Layout name change ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
* &amp;lt;sync:SfListView.LayoutManager&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sync:SfListView.ItemsLayout&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TemplateService binding for extracted templates ===&lt;br /&gt;
'''1. We need to add the following namespace where the changes are applied:&lt;br /&gt;
xmlns:services=&amp;quot;clr-namespace:UBIK.MAUI.Services;assembly=UBIK.MAUI&amp;quot;;&lt;br /&gt;
2. We need to search for both &amp;quot;StaticResource&amp;quot; and &amp;quot;DynamicResource&amp;quot;;&lt;br /&gt;
3. We only listed some examples here. But the same rule applies to all those templates exacted from UBIKThemes (see the first &amp;quot;Recommended&amp;quot; point).'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| {StaticResource UBIKChildItem}&lt;br /&gt;
| {Binding [UBIKChildItem], Source={x:Static services:TemplateService.Instance}}&lt;br /&gt;
|-&lt;br /&gt;
| {StaticResource UBIKDocumentItem}&lt;br /&gt;
| {Binding [UBIKDocumentItem], Source={x:Static services:TemplateService.Instance}}&lt;br /&gt;
|-&lt;br /&gt;
| {StaticResource UBIKMainItem}&lt;br /&gt;
| {Binding [UBIKMainItem], Source={x:Static services:TemplateService.Instance}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== OnPlatform and OnIdiom syntax changes ===&lt;br /&gt;
'''All code containing the OnPlatform and OnIdiom functionalities needs to be refactored as the syntax changed. It is recommended to use the inline syntax (see example) as a default wherever possible, but there are also other approaches.&lt;br /&gt;
When using Bindings, Resources or other complex values in OnIdiom or OnPlatform values, it should only be used with the inline syntax.&lt;br /&gt;
Please rely to the wiki for more details and possibilities (e.g. if the value contains multiple elements): https://wiki.augmensys.com/index.php?title=XAML_Tips#Platform_and_Device-specific_UI_with_OnPlatform_and_OnIdiom'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| OnPlatform&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TheControl&lt;br /&gt;
        ...&lt;br /&gt;
        TheProperty=&amp;quot;{OnPlatform Android=False, iOS=True}&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TheControl&lt;br /&gt;
     ...&lt;br /&gt;
     TheProperty=&amp;quot;{OnPlatform Android={Binding ...}, iOS={Binding ...}}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| OnIdiom&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TheControl&lt;br /&gt;
        ...&lt;br /&gt;
        TheProperty=&amp;quot;{OnIdiom Phone=False, Desktop=True}&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TheControl&lt;br /&gt;
     ...&lt;br /&gt;
     TheProperty=&amp;quot;{OnIdiom Desktop={Binding ...}, Phone={Binding ...}}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| WinPhone&lt;br /&gt;
| WinUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
e.g.&lt;br /&gt;
&amp;lt;ColumnDefinition.Width&amp;gt;&lt;br /&gt;
   &amp;lt;OnIdiom&lt;br /&gt;
        ...&lt;br /&gt;
        Desktop=&amp;quot;Auto&amp;quot;&lt;br /&gt;
        Phone=&amp;quot;*&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/ColumnDefinition.Width&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;RowDefinition.Height&amp;gt;&lt;br /&gt;
   &amp;lt;OnPlatform&lt;br /&gt;
        ...&lt;br /&gt;
        Android=&amp;quot;Auto&amp;quot;&lt;br /&gt;
        iOS=&amp;quot;*&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/RowDefinition.Height&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ColumnDefinition Width=&amp;quot;{OnIdiom Desktop='Auto', Phone='*'}&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;RowDefinition Height=&amp;quot;{OnPlatform Android='Auto', iOS='*'}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Syncfusion control updates ===&lt;br /&gt;
'''It is necessary to use the default Binding with the Source reference to the parent control instead of TemplateBinding when using a SfListViewExt ControlTemplate with selectable items in the ResourceDictionary to be set in the ContentView DataTrigger. Otherwise, the pre-selected items might not appear selected anymore according to our experience.&lt;br /&gt;
&lt;br /&gt;
Affected standard Xamls are:&lt;br /&gt;
- UBIKEditDouble&lt;br /&gt;
- UBIKEditInt&lt;br /&gt;
- UBIKEditString&lt;br /&gt;
- UBIKEditMinMax&lt;br /&gt;
(For the exact syntax please refer to our latest standard Xamls.)&lt;br /&gt;
&lt;br /&gt;
If the above explained is also used in any custom Xamls, please consider changing it there, too.&lt;br /&gt;
&lt;br /&gt;
However, the problem only seems to occur if there is TemplateBinding in the ItemsSource &amp;amp; SelectedItem property. But, for example, if the TemplateBinding is only in the BindingContext property of the SfListViewExt (like it is the case in the UBIKPropertyDirectEditListPopup), there seems to be no such problem and therefore no change is necessary.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ContentView&lt;br /&gt;
   ...&lt;br /&gt;
   x:Name=&amp;quot;YourContentViewName&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;ContentView.Resources&amp;gt;&lt;br /&gt;
      &amp;lt;ResourceDictionary&amp;gt;&lt;br /&gt;
         ...&lt;br /&gt;
         &amp;lt;ControlTemplate x:Key=&amp;quot;YourTemplateKey&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;ctrls:SfListViewExt&lt;br /&gt;
                 ItemsSource=&amp;quot;{TemplateBinding BindingContext.YourBinding,&lt;br /&gt;
                              ...}&amp;quot;&lt;br /&gt;
                 SelectedItem=&amp;quot;{TemplateBinding BindingContext.YourBinding,&lt;br /&gt;
                              ...}&amp;quot;&lt;br /&gt;
             ... /&amp;gt;&lt;br /&gt;
         &amp;lt;/ControlTemplate&amp;gt;&lt;br /&gt;
         ...&lt;br /&gt;
      &amp;lt;/ResourceDictionary&amp;gt;&lt;br /&gt;
   &amp;lt;/ContentView.Resources&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/ContentView&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ContentView&lt;br /&gt;
   ...&lt;br /&gt;
   x:Name=&amp;quot;YourContentViewName&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;ContentView.Resources&amp;gt;&lt;br /&gt;
      &amp;lt;ResourceDictionary&amp;gt;&lt;br /&gt;
         ...&lt;br /&gt;
         &amp;lt;ControlTemplate x:Key=&amp;quot;YourTemplateKey&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;ctrls:SfListViewExt&lt;br /&gt;
                 ItemsSource=&amp;quot;{Binding BindingContext.YourBinding,&lt;br /&gt;
                                       Source={x:Reference YourContentViewName},&lt;br /&gt;
                                       ...}&amp;quot;&lt;br /&gt;
                 SelectedItem=&amp;quot;{Binding BindingContext.YourBinding,&lt;br /&gt;
                                        Source={x:Reference YourContentViewName},&lt;br /&gt;
                                        ...}&amp;quot;&lt;br /&gt;
             ... /&amp;gt;&lt;br /&gt;
         &amp;lt;/ControlTemplate&amp;gt;&lt;br /&gt;
         ...&lt;br /&gt;
      &amp;lt;/ResourceDictionary&amp;gt;&lt;br /&gt;
   &amp;lt;/ContentView.Resources&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/ContentView&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Remove default ControlTemplate in DataTriggers ===&lt;br /&gt;
'''To prevent an issue on Android where the direct edit Link to Object editor does not open, there is a change necessary in the UBIKPropertyDirectEditListPopup Xaml:&lt;br /&gt;
The default ControlTemplate needs to be removed from the ContentView that contains the DataTriggers.&lt;br /&gt;
&lt;br /&gt;
According to our experience, this issue only occurs to our UBIKPropertyDirectEditListPopup standard Xaml, but we can't guarantee that there is no such issue in customized Xamls.&lt;br /&gt;
So please, if you encounter an issue on Android where a Property Editor doesn't open, report it the mobile development team, and/or try removing the default ControlTemplate from the affected control.&lt;br /&gt;
&lt;br /&gt;
In our standard Xamls, we removed the default ControlTemplate in every ContentView that contains DataTriggers with ControlTemplates where the same template is already set in a DataTrigger. So please, also remove the default ControlTemplates it in the following Xamls if you use customized ones:&lt;br /&gt;
- UBIKEditDouble&lt;br /&gt;
- UBIKEditInt&lt;br /&gt;
- UBIKEditString&lt;br /&gt;
- UBIKEditMinMax&lt;br /&gt;
(For the exact syntax please refer to our latest standard Xamls.)&lt;br /&gt;
&lt;br /&gt;
If the above explained is also used in any of your other custom Xamls, please consider changing it there, too. Otherwise, some property editor might not open.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ContentView x:Name=&amp;quot;containerName&amp;quot; ControlTemplate=&amp;quot;{StaticResource YourTemplate}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ContentView.Triggers&amp;gt;&lt;br /&gt;
        &amp;lt;DataTrigger&lt;br /&gt;
            Binding=&amp;quot;{Binding Source={x:Reference containerName}, Path=...}&amp;quot;&lt;br /&gt;
            TargetType=&amp;quot;ContentView&amp;quot;&lt;br /&gt;
            Value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Setter Property=&amp;quot;ControlTemplate&amp;quot;&lt;br /&gt;
                    Value=&amp;quot;{StaticResource YourTemplate}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/DataTrigger&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
    &amp;lt;/ContentView.Triggers&amp;gt;&lt;br /&gt;
&amp;lt;/ContentView&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ContentView x:Name=&amp;quot;containerName&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ContentView.Triggers&amp;gt;&lt;br /&gt;
        &amp;lt;DataTrigger&lt;br /&gt;
            Binding=&amp;quot;{Binding Source={x:Reference containerName}, Path=...}&amp;quot;&lt;br /&gt;
            TargetType=&amp;quot;ContentView&amp;quot;&lt;br /&gt;
            Value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Setter Property=&amp;quot;ControlTemplate&amp;quot;&lt;br /&gt;
                    Value=&amp;quot;{StaticResource YourTemplate}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/DataTrigger&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
    &amp;lt;/ContentView.Triggers&amp;gt;&lt;br /&gt;
&amp;lt;/ContentView&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Remove HeadlessLayout style ===&lt;br /&gt;
'''This Style has no longer any effect in MAUI and even degrades app performance. We are keeping it in our standard UBIKThemes under the Obsolete section to maintain backward compatibility.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Style x:Key=&amp;quot;HeadlessLayout&amp;quot; TargetType=&amp;quot;Layout&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Setter Property=&amp;quot;CompressedLayout.IsHeadless&amp;quot; Value=&amp;quot;{OnPlatform False, Android=True}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Style&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delete it from your custom UBIKThemes file&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Additional mandatory rule ===&lt;br /&gt;
'''In the customizings, however, it can and should be removed entirely, as it negatively affects performance, as mentioned before. To remove the style, you can simply use VS Code or any other editor with a search function and look through all custom .xaml files for usages of {StaticResource HeadlessLayout} or {DynamicResource HeadlessLayout}. These references should be removed from the respective elements or controls.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ContentView&lt;br /&gt;
    Grid.Column=&amp;quot;2&amp;quot;&lt;br /&gt;
    ControlTemplate=&amp;quot;{DynamicResource ChildCountBadge}&amp;quot;&lt;br /&gt;
    HorizontalOptions=&amp;quot;Start&amp;quot;&lt;br /&gt;
    Style=&amp;quot;{DynamicResource HeadlessLayout}&amp;quot;&lt;br /&gt;
    VerticalOptions=&amp;quot;Start&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ContentView&lt;br /&gt;
    Grid.Column=&amp;quot;2&amp;quot;&lt;br /&gt;
    ControlTemplate=&amp;quot;{DynamicResource ChildCountBadge}&amp;quot;&lt;br /&gt;
    HorizontalOptions=&amp;quot;Start&amp;quot;&lt;br /&gt;
    VerticalOptions=&amp;quot;Start&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{UnderConstructionStart}}&lt;br /&gt;
=== Avoid multiple SfPullToRefresh controls ===&lt;br /&gt;
'''To prevent an issue that causes the app to freeze, avoid placing more then one SfPullToRefresh controls as siblings in a xaml hierarchy'''. If switching between contents in a SfPullToRefresh control is necessary use separate DataTemplates for the contents and use a e.g. a DataTrigger to set one of them as the ControlTemplate of a ContentControl inside the SfPullToRefresh control&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pullToRefresh:SfPullToRefresh IsVisible = {Binding ShowContentB, Converter={StaticResource BoolToNotBool}}&amp;gt;&lt;br /&gt;
    &amp;lt;pullToRefresh:SfPullToRefresh.PullableContent&amp;gt;&lt;br /&gt;
        &amp;lt;Grid x:Name=&amp;quot;ContentA&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/pullToRefresh:SfPullToRefresh.PullableContent&amp;gt;&lt;br /&gt;
&amp;lt;/pullToRefresh:SfPullToRefresh&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pullToRefresh:SfPullToRefresh  IsVisible = {Binding ShowContentB}&amp;gt;&lt;br /&gt;
    &amp;lt;pullToRefresh:SfPullToRefresh.PullableContent&amp;gt;&lt;br /&gt;
        &amp;lt;Grid x:Name=&amp;quot;ContentB&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/pullToRefresh:SfPullToRefresh.PullableContent&amp;gt;&lt;br /&gt;
&amp;lt;/pullToRefresh:SfPullToRefresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&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;ResourceDictionary&amp;gt;&lt;br /&gt;
            &amp;lt;DataTemplate x:Key=&amp;quot;TemplateA&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Grid x:Name=&amp;quot;ContentA&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/DataTemplate&amp;gt;&lt;br /&gt;
            &amp;lt;DataTemplate x:Key=&amp;quot;TemplateB&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Grid x:Name=&amp;quot;ContentB&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/DataTemplate&amp;gt;&lt;br /&gt;
        &amp;lt;/ResourceDictionary&amp;gt;&lt;br /&gt;
    &amp;lt;/Grid.Resources&amp;gt;&lt;br /&gt;
   &amp;lt;pullToRefresh:SfPullToRefresh&amp;gt;&lt;br /&gt;
       &amp;lt;pullToRefresh:SfPullToRefresh.PullableContent&amp;gt;&lt;br /&gt;
           &amp;lt;controls:ContentControl ContentTemplate=&amp;quot;{DynamicResource TemplateA}&amp;quot;&amp;gt;&lt;br /&gt;
               &amp;lt;controls:ContentControl.Triggers&amp;gt;&lt;br /&gt;
                   &amp;lt;DataTrigger&lt;br /&gt;
                       Binding=&amp;quot;{Binding ShowContentB}}&amp;quot;&lt;br /&gt;
                       TargetType=&amp;quot;controls:ContentControl&amp;quot;&lt;br /&gt;
                       Value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                       &amp;lt;Setter Property=&amp;quot;ContentTemplate&amp;quot; Value=&amp;quot;{DynamicResource TemplateB}&amp;quot; /&amp;gt;&lt;br /&gt;
                   &amp;lt;/DataTrigger&amp;gt;&lt;br /&gt;
               &amp;lt;/controls:ContentControl.Triggers&amp;gt;&lt;br /&gt;
           &amp;lt;/controls:ContentControl&amp;gt;&lt;br /&gt;
       &amp;lt;/pullToRefresh:SfPullToRefresh.PullableContent&amp;gt;&lt;br /&gt;
    &amp;lt;/pullToRefresh:SfPullToRefresh&amp;gt;&lt;br /&gt;
&amp;lt;/Grid&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:How-To|Convert Xamarin XAMLs to Maui]]&lt;br /&gt;
[[Category:MAUI|Convert Xamarin XAMLs to Maui]]&lt;br /&gt;
[[Category:XAML|Convert Xamarin XAMLs to Maui]]&lt;br /&gt;
&lt;br /&gt;
=== Rename SfPullToRefresh properties ===&lt;br /&gt;
'''Renamed in Maui, however, currently these properties cause an issue and should not be included in customizings.'''&lt;br /&gt;
SfPullToRefresh:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| RefreshContentHeight, RefreshContentWidth&lt;br /&gt;
| RefreshViewHeight, RefreshViewWidth&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Rename progress colors ===&lt;br /&gt;
'''Renamed in Maui.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| ProgressBackgroundColor, ProgressStrokeColor&lt;br /&gt;
| ProgressBackground, ProgressColor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:How-To|Convert Xamarin XAMLs to Maui]]&lt;br /&gt;
[[Category:MAUI|Convert Xamarin XAMLs to Maui]]&lt;br /&gt;
[[Category:XAML|Convert Xamarin XAMLs to Maui]]&lt;br /&gt;
&lt;br /&gt;
== SfTabView ==&lt;br /&gt;
&lt;br /&gt;
=== Namespace Update ===&lt;br /&gt;
'''Update Syncfusion TabView namespace.'''&lt;br /&gt;
Replace the Xamarin namespace with the MAUI equivalent.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:Syncfusion.XForms.TabView;assembly=Syncfusion.SfTabView.XForms&lt;br /&gt;
| clr-namespace:Syncfusion.Maui.Toolkit.TabView;assembly=Syncfusion.Maui.Toolkit&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Remove Obsolete Converters ===&lt;br /&gt;
'''Remove ItemCountToBoolConverter from Resources.'''&lt;br /&gt;
This converter is no longer usable in TabView headers.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;converters:ItemCountToBoolConverter x:Key=&amp;quot;ItemCountToBool&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| [remove]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Add StringFormatConverter ===&lt;br /&gt;
'''Use StringFormatConverter for combined header strings.'''&lt;br /&gt;
Syncfusion MAUI TabView uses a single `Header` property instead of templates.&lt;br /&gt;
For all tab headers, formatters should be specified to assemble the text. As a best practice, even for simple header strings.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| [template-based header]&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;converters:StringFormatConverter x:Key=&amp;quot;ChildrenTabFormatter&amp;quot; Parameter1=&amp;quot;{resources:Translate ChildrenTitle}&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the above example, a previously defined formatter (that must be also added to the resource dictionary) is used to fill in the header attribute value.&lt;br /&gt;
⚠️ Avoid using bindings in `Parameter1` and `Parameter2` — use static strings only. For complex cases, use `EvalExpression`.&lt;br /&gt;
&lt;br /&gt;
[[Category:How-To|Convert Xamarin XAMLs to Maui]]&lt;br /&gt;
[[Category:MAUI|Convert Xamarin XAMLs to Maui]]&lt;br /&gt;
[[Category:XAML|Convert Xamarin XAMLs to Maui]]&lt;br /&gt;
&lt;br /&gt;
=== FontImageSource Styling ===&lt;br /&gt;
'''Add local style for FontImageSource.'''&lt;br /&gt;
Global styles are not supported.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| [global FontImageSource style]&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Style TargetType=&amp;quot;FontImageSource&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Setter Property=&amp;quot;FontFamily&amp;quot; Value=&amp;quot;{DynamicResource UBIKSymbols}&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;Setter Property=&amp;quot;Color&amp;quot; Value=&amp;quot;{DynamicResource UBIKLightThemeColor}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Style&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TabView Structure ===&lt;br /&gt;
'''Use Grid to wrap TabView.'''&lt;br /&gt;
MAUI TabView requires a different structure and property set.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight 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;
  ...&lt;br /&gt;
&amp;lt;/tabView:SfTabView&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&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;tabView:SfTabView&amp;gt;&lt;br /&gt;
    &amp;lt;tabView:SfTabItem Header=&amp;quot;string example header&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tabView:SfTabItem.ImageSource&amp;gt;&lt;br /&gt;
        &amp;lt;FontImageSource Glyph=&amp;quot;{x:Static resources:UBIKIcons.XXX}&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;controls:UBIKContentView x:Name=&amp;quot;ChildContainer&amp;quot; Converter=&amp;quot;{StaticResource ChildAreaTemplateConverter}&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/tabView:SfTabItem.Content&amp;gt;&lt;br /&gt;
    &amp;lt;/tabView:SfTabItem&amp;gt;&lt;br /&gt;
  &amp;lt;/tabView:SfTabView&amp;gt;&lt;br /&gt;
&amp;lt;/Grid&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Property Changes ===&lt;br /&gt;
'''Update renamed or removed properties.'''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| VisibleHeaderCount&lt;br /&gt;
| [not available yet]&lt;br /&gt;
|-&lt;br /&gt;
| UBIKCenterButtonSettings&lt;br /&gt;
| CenterButtonSettings&lt;br /&gt;
|-&lt;br /&gt;
| SelectionIndicatorSettings&lt;br /&gt;
| IndicatorPlacement, IndicatorStrokeThickness, IndicatorBackground&lt;br /&gt;
|-&lt;br /&gt;
| SelectionColor&lt;br /&gt;
| Use VisualStateManager instead&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
⚠️ Refer to [https://help.syncfusion.com/maui/tabview/migration Syncfusion migration guide] for full property list.&lt;br /&gt;
&lt;br /&gt;
== OnPlatform + OnIdiom backup ==&lt;br /&gt;
&lt;br /&gt;
=== Syntax Changes ===&lt;br /&gt;
'''Use inline or multi-tag syntax.'''&lt;br /&gt;
Single-tag syntax is outdated and may not build.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;OnPlatform Android=&amp;quot;False&amp;quot; iOS=&amp;quot;True&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;TheControl TheProperty=&amp;quot;{OnPlatform Android=False, iOS=True}&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;OnPlatform x:TypeArguments=&amp;quot;TheType&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;On Platform=&amp;quot;Android&amp;quot; Value=&amp;quot;False&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;On Platform=&amp;quot;iOS&amp;quot; Value=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/OnPlatform&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Required for multi-tag syntax&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== WinPhone to WinUI ===&lt;br /&gt;
'''Replace WinPhone with WinUI.'''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| WinPhone&lt;br /&gt;
| WinUI&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== GridLength and TypeArguments ===&lt;br /&gt;
'''Avoid x:TypeArguments with GridLength.'''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ColumnDefinition.Width&amp;gt;&lt;br /&gt;
  &amp;lt;OnIdiom x:TypeArguments=&amp;quot;GridLength&amp;quot; Desktop=&amp;quot;Auto&amp;quot; Phone=&amp;quot;*&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/ColumnDefinition.Width&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;ColumnDefinition Width=&amp;quot;{OnIdiom Desktop='Auto', Phone='*'}&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
⚠️ Inline syntax is more reliable when using bindings or resources.&lt;br /&gt;
&lt;br /&gt;
=== Special Characters ===&lt;br /&gt;
'''Wrap values in quotes if they contain commas or strings.'''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| Margin={OnIdiom 10,2, Phone=2,0}&lt;br /&gt;
| Margin={OnIdiom '10,2', Phone='2,0'}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== UWP to WinUI ===&lt;br /&gt;
'''Replace UWP with WinUI in all OnPlatform scopes.'''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| UWP&lt;br /&gt;
| WinUI&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
⚠️ For more details, refer to the [https://wiki.augmensys.com/index.php?title=XAML_Tips#Device_and_Platform_Responsiveness Wiki documentation].&lt;br /&gt;
&lt;br /&gt;
[[Category:How-To|Convert Xamarin XAMLs to Maui]]&lt;br /&gt;
[[Category:MAUI|Convert Xamarin XAMLs to Maui]]&lt;br /&gt;
[[Category:XAML|Convert Xamarin XAMLs to Maui]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=HowTo:Convert_Xamarin_XAMLs_to_Maui&amp;diff=28451</id>
		<title>HowTo:Convert Xamarin XAMLs to Maui</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=HowTo:Convert_Xamarin_XAMLs_to_Maui&amp;diff=28451"/>
				<updated>2025-08-04T12:20:22Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* Mandatory */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Information ==&lt;br /&gt;
=== Frame to Border ===  &lt;br /&gt;
'''Use Border instead of Frame.'''  &lt;br /&gt;
Frame is deprecated in MAUI. Use Border with `Stroke` instead of `BorderColor`.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;Frame ... /&amp;gt;&lt;br /&gt;
| &amp;lt;Border ... /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== LayoutOptions with &amp;quot;...AndExpand&amp;quot; ===  &lt;br /&gt;
'''Replace &amp;quot;...AndExpand&amp;quot; with Grid layout.'''  &lt;br /&gt;
Horizontal/VerticalOptions ending in &amp;quot;...AndExpand&amp;quot; are deprecated. Use Grid with `ColumnDefinition Width=&amp;quot;*&amp;quot;` for expansion.&lt;br /&gt;
&lt;br /&gt;
=== GlyphLabel and Styles ===  &lt;br /&gt;
'''Use Label with new styles.'''  &lt;br /&gt;
Custom controls like `GlyphLabel` are no longer needed. Use `Label` with styles like `UBIKSymbolText`.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| controls:GlyphLabel&lt;br /&gt;
| Label with UBIKSymbolText style&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SfTabView Virtualization ===  &lt;br /&gt;
'''Enable virtualization.'''  &lt;br /&gt;
Add `EnableVirtualization=&amp;quot;True&amp;quot;` to all SfTabView instances or styles.&lt;br /&gt;
&lt;br /&gt;
=== Swipe Menu Icons on Android ===  &lt;br /&gt;
'''Refactor swipe templates and label styles.'''  &lt;br /&gt;
Icons in swipe menus were truncated on Android. Fixed via refactoring.&lt;br /&gt;
&lt;br /&gt;
=== Color Style Changes ===  &lt;br /&gt;
'''Dark theme adjustments.'''  &lt;br /&gt;
Changes to color styles may affect appearance. Review usage of `UBIKDarkThemeColor`, `UBIKDarkTextColor`, etc.&lt;br /&gt;
&lt;br /&gt;
=== Strikethrough Converter ===  &lt;br /&gt;
'''Use `TextDecorations=&amp;quot;Strikethrough&amp;quot;` instead of converter.'''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| Text=&amp;quot;{Binding ..., Converter={StaticResource StrikethroughConverter}}&amp;quot;&lt;br /&gt;
| Text=&amp;quot;{Binding ...}&amp;quot; TextDecorations=&amp;quot;Strikethrough&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Button Disabled Trigger ===  &lt;br /&gt;
'''Add trigger for disabled buttons.'''  &lt;br /&gt;
Maui buttons don’t visually change when disabled. Add trigger to style.&lt;br /&gt;
&lt;br /&gt;
=== TapGestureRecognizer Replacement ===  &lt;br /&gt;
'''Use TappedBehavior instead.'''  &lt;br /&gt;
TapGestureRecognizer now intercepts taps. Use `TappedBehavior` to avoid conflicts.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;... .GestureRecognizers&amp;gt;&amp;lt;TapGestureRecognizer Command=&amp;quot;{Binding ...}&amp;quot; /&amp;gt;&amp;lt;/... .GestureRecognizers&amp;gt;&lt;br /&gt;
| &amp;lt;... .Behaviors&amp;gt;&amp;lt;behaviors:TappedBehavior&amp;gt;&amp;lt;behaviors:InvokeCommandAction Command=&amp;quot;{Binding ...}&amp;quot; /&amp;gt;&amp;lt;/behaviors:TappedBehavior&amp;gt;&amp;lt;/... .Behaviors&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TapGestureRecognizer and Swipe Conflict ===  &lt;br /&gt;
'''Remove TapGestureRecognizer from root Grid.'''  &lt;br /&gt;
TapGestureRecognizer blocks swipe behavior. Remove it and adapt parent list to trigger navigation.&lt;br /&gt;
&lt;br /&gt;
=== Navigation in UBIKChildItem ===  &lt;br /&gt;
'''Use EventHandlerBehavior for navigation.'''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| [none]&lt;br /&gt;
| &amp;lt;controls:SfListViewExt.Behaviors&amp;gt;&amp;lt;behaviors:EventHandlerBehavior EventName=&amp;quot;ItemTapped&amp;quot;&amp;gt;&amp;lt;behaviors:InvokeCommandAction Command=&amp;quot;{Binding AppStatus.RootList.Items[0].NavigateToChildrenCommand}&amp;quot; /&amp;gt;&amp;lt;/behaviors:EventHandlerBehavior&amp;gt;&amp;lt;/controls:SfListViewExt.Behaviors&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
== Recommended ==&lt;br /&gt;
=== Extract DataTemplates from UBIKThemes ===&lt;br /&gt;
'''Create separate .xamlx files for the following DataTemplates.'''&lt;br /&gt;
It's not so easy about the namespaces:&lt;br /&gt;
* In our default templates, it's enough to add the following ones to every new separate .xamlx files at the beginning;&lt;br /&gt;
    * xmlns:ctrls=&amp;quot;clr-namespace:UBIK.MAUI.Controls;assembly=UBIK.MAUI&amp;quot;;&lt;br /&gt;
    * xmlns:platform=&amp;quot;clr-namespace:UBIK.MAUI.Platform.Renderers;assembly=UBIK.MAUI&amp;quot;;&lt;br /&gt;
    * xmlns:resources=&amp;quot;clr-namespace:UBIK.MAUI.Resources;assembly=UBIK.MAUI&amp;quot;;&lt;br /&gt;
    * xmlns:services=&amp;quot;clr-namespace:UBIK.MAUI.Services;assembly=UBIK.MAUI&amp;quot;;&lt;br /&gt;
    * xmlns:uiservices=&amp;quot;clr-namespace:UBIK.UI.Services;assembly=UBIK.UI&amp;quot;.&lt;br /&gt;
* But we don't know if other namespaces might be used in the custom templates. So it might be necessary to really analyze the namespaces used and find/copy them from the UBIKThemes file.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &amp;amp;nbsp; !! Templates !! &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| UBIKMainItem || UBIKChildItem || UBIKTaskItem&lt;br /&gt;
|-&lt;br /&gt;
| UBIKTaskProperty || UBIKTaskPropertyString || UBIKTaskPropertyDouble&lt;br /&gt;
|-&lt;br /&gt;
| UBIKTaskPropertyInt || UBIKTaskPropertyNumeric || UBIKTaskPropertyDateTime&lt;br /&gt;
|-&lt;br /&gt;
| UBIKTaskPropertyGeoData || UBIKTaskPropertyBool || UBIKTaskPropertyPopup&lt;br /&gt;
|-&lt;br /&gt;
| UBIKTaskPropertyList || UBIKTaskPropertyGuid || UBIKPropertyItem&lt;br /&gt;
|-&lt;br /&gt;
| UBIKPropertyTextLengthHint || UBIKPropertyDirectEditButtons || UBIKTaskPropertyEditButtons&lt;br /&gt;
|-&lt;br /&gt;
| UBIKPropertyDirectItemString || UBIKPropertyDirectItemDouble || UBIKPropertyDirectItemInt&lt;br /&gt;
|-&lt;br /&gt;
| UBIKPropertyDirectItemMinMax || UBIKPropertyDirectItemNumeric || UBIKPropertyDirectItemDateTime&lt;br /&gt;
|-&lt;br /&gt;
| UBIKPropertyDirectItemGeoData || UBIKPropertyDirectItemBool || UBIKPropertyDirectItemPopup&lt;br /&gt;
|-&lt;br /&gt;
| UBIKPropertyDirectItemList || UBIKPropertyDirectItemGuid || UBIKDocumentItem&lt;br /&gt;
|-&lt;br /&gt;
| UBIKSearchResultItem || UBIKDefaultHotSpot || UBIKAngularLinkHotSpot&lt;br /&gt;
|-&lt;br /&gt;
| UBIKRoundLinkHotSpot || UBIKInputHotSpot || UBIKSignatureHotSpot&lt;br /&gt;
|-&lt;br /&gt;
| UBIKObjectHotSpot || UBIKMediaHotSpot || &lt;br /&gt;
|}&lt;br /&gt;
=== VideoPlayer Adjustments ===&lt;br /&gt;
'''This property is repsonsible for the video player regarding how or if it should get scaled up depending on the value of the&lt;br /&gt;
Aspect property'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;VideoPlayer...&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;VideoPlayer Aspect=&amp;quot;AspectFit&amp;quot;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''The UriToVideoSourceConverter is no longer needed because the conversion of the &lt;br /&gt;
VideoSource gets done by the MediaElement itself. It is marked as obsolete and should therefore no longer be used.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;controls:VideoPlayer... Source=&amp;quot;{Binding DocumentViewModel.LocalURI, Converter={StaticResource UriToVideoSource}}&amp;quot;/&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;controls:VideoPlayer... Source=&amp;quot;{Binding DocumentViewModel.LocalURI}&amp;quot;/&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''The StopTimer property is obsolete and no longer needed because the MediaElement behind does the Stop of the VideoPlayer&lt;br /&gt;
by itself.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;controls:VideoPlayer... StopTimer=&amp;quot;{Binding Unloaded}&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;controls:VideoPlayer... /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
=== SearchBar Style Fix on iOS ===&lt;br /&gt;
'''On iOS, defining a transparent background for the SearchBar control results in a black text on black background appearance.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;[issue on iOS only] UBIKThemes: SearchBar style: &amp;lt;Setter Property=&amp;quot;BackgroundColor&amp;quot; Value=&amp;quot;Transparent&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;Delete this setter&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
=== Avoid Redundant ControlTemplate in DataTriggers ===&lt;br /&gt;
'''This is about finding ControlTemplates that are set in DataTriggers in customized Xamls. When the same template is already set as a ContentView default ControlTemplate, it is recommended to remove the default ControlTemplate on the ContentView. For a detailed description please refer to sheet &amp;quot;Mandatory&amp;quot; in cell 27A-27C.&lt;br /&gt;
Behavior that might occur if it remains unchanged: Property editor might not open on Android.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;ContentView x:Name=&amp;quot;containerName&amp;quot; ControlTemplate=&amp;quot;{StaticResource YourTemplate1}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ContentView.Triggers&amp;gt;&lt;br /&gt;
        &amp;lt;DataTrigger&lt;br /&gt;
            Binding=&amp;quot;{Binding Source={x:Reference containerName}, Path=...}&amp;quot;&lt;br /&gt;
            TargetType=&amp;quot;ContentView&amp;quot;&lt;br /&gt;
            Value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Setter Property=&amp;quot;ControlTemplate&amp;quot;&lt;br /&gt;
                    Value=&amp;quot;{StaticResource YourTemplate1}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/DataTrigger&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
    &amp;lt;/ContentView.Triggers&amp;gt;&lt;br /&gt;
&amp;lt;/ContentView&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;ContentView x:Name=&amp;quot;containerName&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ContentView.Triggers&amp;gt;&lt;br /&gt;
        &amp;lt;DataTrigger&lt;br /&gt;
            Binding=&amp;quot;{Binding Source={x:Reference containerName}, Path=...}&amp;quot;&lt;br /&gt;
            TargetType=&amp;quot;ContentView&amp;quot;&lt;br /&gt;
            Value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Setter Property=&amp;quot;ControlTemplate&amp;quot;&lt;br /&gt;
                    Value=&amp;quot;{StaticResource YourTemplate1}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/DataTrigger&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
    &amp;lt;/ContentView.Triggers&amp;gt;&lt;br /&gt;
&amp;lt;/ContentView&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
=== Replace TemplateBinding with Binding and Source ===&lt;br /&gt;
'''This is about finding SfListViewExt controls in customizings, and if there are TemplateBindings used, it's recommended to replace them with Binding, and the Source reference should be added. For a detailed description please refer to sheet &amp;quot;Mandatory&amp;quot; in cell 26A-26C.&lt;br /&gt;
Behavior that might occur if it remains unchanged: Pre-selected item might appear unselected.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;ContentView&lt;br /&gt;
   ...&lt;br /&gt;
   x:Name=&amp;quot;YourContentViewName&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;ContentView.Resources&amp;gt;&lt;br /&gt;
      &amp;lt;ResourceDictionary&amp;gt;&lt;br /&gt;
         ...&lt;br /&gt;
         &amp;lt;ControlTemplate x:Key=&amp;quot;YourTemplateKey&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;ctrls:SfListViewExt&lt;br /&gt;
                 ItemsSource=&amp;quot;{TemplateBinding BindingContext.YourBinding,&lt;br /&gt;
                              ...}&amp;quot;&lt;br /&gt;
                 SelectedItem=&amp;quot;{TemplateBinding BindingContext.YourBinding,&lt;br /&gt;
                              ...}&amp;quot;&lt;br /&gt;
             ... /&amp;gt;&lt;br /&gt;
         &amp;lt;/ControlTemplate&amp;gt;&lt;br /&gt;
         ...&lt;br /&gt;
      &amp;lt;/ResourceDictionary&amp;gt;&lt;br /&gt;
   &amp;lt;/ContentView.Resources&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/ContentView&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;ContentView&lt;br /&gt;
   ...&lt;br /&gt;
   x:Name=&amp;quot;YourContentViewName&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;ContentView.Resources&amp;gt;&lt;br /&gt;
      &amp;lt;ResourceDictionary&amp;gt;&lt;br /&gt;
         ...&lt;br /&gt;
         &amp;lt;ControlTemplate x:Key=&amp;quot;YourTemplateKey&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;ctrls:SfListViewExt&lt;br /&gt;
                 ItemsSource=&amp;quot;{Binding BindingContext.YourBinding,&lt;br /&gt;
                                       Source={x:Reference YourContentViewName},&lt;br /&gt;
                                       ...}&amp;quot;&lt;br /&gt;
                 SelectedItem=&amp;quot;{Binding BindingContext.YourBinding,&lt;br /&gt;
                                        Source={x:Reference YourContentViewName},&lt;br /&gt;
                                        ...}&amp;quot;&lt;br /&gt;
             ... /&amp;gt;&lt;br /&gt;
         &amp;lt;/ControlTemplate&amp;gt;&lt;br /&gt;
         ...&lt;br /&gt;
      &amp;lt;/ResourceDictionary&amp;gt;&lt;br /&gt;
   &amp;lt;/ContentView.Resources&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/ContentView&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
=== Remove TapGestureRecognizer from Main Item ===&lt;br /&gt;
'''Swiping on the Main items was broken by Maui (Documented in Information). The workaround is to remove the TapGestureRecognizer from UBIKMainItem, and add ListView-based navigation similar to that found in UBIKChildArea (with an extended binding path for technical reasons).'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;(In UBIKMainItem)&lt;br /&gt;
&amp;lt;Grid.GestureRecognizers&amp;gt;&lt;br /&gt;
	&amp;lt;TapGestureRecognizer Command=&amp;quot;{Binding NavigateToChildrenCommand}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Grid.GestureRecognizers&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;[nothing]&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
=== Add Navigation Behavior in Child Area ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;(In UBIKChildArea)&lt;br /&gt;
[nothing]&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;controls:SfListViewExt.Behaviors&amp;gt;&lt;br /&gt;
	&amp;lt;behaviors:EventHandlerBehavior EventName=&amp;quot;ItemTapped&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;behaviors:InvokeCommandAction Command=&amp;quot;{Binding AppStatus.RootList.Items[0].NavigateToChildrenCommand}&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/behaviors:EventHandlerBehavior&amp;gt;&lt;br /&gt;
&amp;lt;/controls:SfListViewExt.Behaviors&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
== Highly Recommended ==&lt;br /&gt;
=== CircularImage to AvatarView ===  &lt;br /&gt;
'''Use AvatarView instead of CircularImage.'''  &lt;br /&gt;
CircularImage and its wrapping Frame are no longer needed. Use AvatarView from the MAUI Community Toolkit. Add the namespace:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
xmlns:toolkit=&amp;quot;http://schemas.microsoft.com/dotnet/2022/maui/toolkit&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;Frame&amp;gt;&amp;lt;CircularImage Source=&amp;quot;...&amp;quot; /&amp;gt;&amp;lt;/Frame&amp;gt;&lt;br /&gt;
| &amp;lt;toolkit:AvatarView ImageSource=&amp;quot;...&amp;quot; BorderWidth=&amp;quot;...&amp;quot; BackgroundColor=&amp;quot;...&amp;quot; /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== GlyphSize to FontSize and Alignment ===  &lt;br /&gt;
'''Use FontSize and alignment properties instead of GlyphSize.'''  &lt;br /&gt;
The GlyphSize property is obsolete. Use FontSize and add alignment properties for better layout.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;Setter Property=&amp;quot;GlyphSize&amp;quot; Value=&amp;quot;13.0&amp;quot; /&amp;gt;&lt;br /&gt;
| &amp;lt;Setter Property=&amp;quot;FontSize&amp;quot; Value=&amp;quot;16&amp;quot; /&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;Setter Property=&amp;quot;VerticalOptions&amp;quot; Value=&amp;quot;Center&amp;quot; /&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;Setter Property=&amp;quot;HorizontalOptions&amp;quot; Value=&amp;quot;Center&amp;quot; /&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;Setter Property=&amp;quot;VerticalTextAlignment&amp;quot; Value=&amp;quot;Center&amp;quot; /&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;Setter Property=&amp;quot;HorizontalTextAlignment&amp;quot; Value=&amp;quot;Center&amp;quot; /&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== StaticResource to DynamicResource ===  &lt;br /&gt;
'''Use DynamicResource and BaseResourceKey.'''  &lt;br /&gt;
For dynamic theming, use DynamicResource instead of StaticResource. When inheriting styles, use BaseResourceKey.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| BasedOn=&amp;quot;{StaticResource SomeStyle}&amp;quot;&amp;lt;br/&amp;gt;Style=&amp;quot;{StaticResource SomeStyle}&amp;quot;&lt;br /&gt;
| BaseResourceKey=&amp;quot;SomeStyle&amp;quot;&amp;lt;br/&amp;gt;Style=&amp;quot;{DynamicResource SomeStyle}&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
== Mandatory ==&lt;br /&gt;
&lt;br /&gt;
=== Namespace conversion ===  &lt;br /&gt;
'''Update all namespaces to MAUI equivalents.'''  &lt;br /&gt;
All `xmlns` and `clr-namespace` declarations must be updated to their MAUI counterparts.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| xmlns=&amp;quot;http://xamarin.com/schemas/2014/forms&amp;quot;&lt;br /&gt;
| xmlns=&amp;quot;http://schemas.microsoft.com/dotnet/2021/maui&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core&lt;br /&gt;
| clr-namespace:Microsoft.Maui.Controls.PlatformConfiguration.AndroidSpecific;assembly=Microsoft.Maui.Controls&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:UBIK.CPL.Behaviors;assembly=UBIK.CPL&lt;br /&gt;
| clr-namespace:UBIK.MAUI.Behaviors;assembly=UBIK.MAUI&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:UBIK.CPL.Classes;assembly=UBIK.CPL&lt;br /&gt;
| clr-namespace:UBIK.MAUI.Classes;assembly=UBIK.MAUI&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:UBIK.CPL.Controls;assembly=UBIK.CPL&lt;br /&gt;
| clr-namespace:UBIK.MAUI.Controls;assembly=UBIK.MAUI&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:UBIK.CPL.Converters;assembly=UBIK.CPL&lt;br /&gt;
| clr-namespace:UBIK.MAUI.Converters;assembly=UBIK.MAUI&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:UBIK.CPL.Platform.Renderers;assembly=UBIK.CPL&lt;br /&gt;
| clr-namespace:UBIK.MAUI.Platform.Controls;assembly=UBIK.MAUI&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:UBIK.CPL.Services;assembly=UBIK.CPL&lt;br /&gt;
| clr-namespace:UBIK.MAUI.Services;assembly=UBIK.MAUI&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:UBIK.CPL.Resources;assembly=UBIK.CPL&lt;br /&gt;
| clr-namespace:UBIK.MAUI.Resources;assembly=UBIK.MAUI&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:UBIK.Scanning.Forms;assembly=UBIK.Scanning.Forms&lt;br /&gt;
| clr-namespace:UBIK.MAUI.Controls.ZXingScanner;assembly=UBIK.MAUI&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:Syncfusion.SfPullToRefresh.XForms;assembly=Syncfusion.SfPullToRefresh.XForms&lt;br /&gt;
| clr-namespace:Syncfusion.Maui.Toolkit.PullToRefresh;assembly=Syncfusion.Maui.Toolkit&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:Syncfusion.XForms.TabView;assembly=Syncfusion.SfTabView.Xforms&lt;br /&gt;
| clr-namespace:Syncfusion.Maui.Toolkit.TabView;assembly=Syncfusion.Maui.Toolkit&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:Syncfusion.ListView.XForms;assembly=Syncfusion.SfListView.XForms&lt;br /&gt;
| clr-namespace:Syncfusion.Maui.ListView;assembly=Syncfusion.Maui.ListView&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:Syncfusion.XForms.TreeView;assembly=Syncfusion.SfTreeView.XForms&lt;br /&gt;
| clr-namespace:Syncfusion.Maui.TreeView;assembly=Syncfusion.Maui.TreeView&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:Syncfusion.XForms.TextInputLayout;assembly=Syncfusion.Core.XForms&lt;br /&gt;
| clr-namespace:Syncfusion.Maui.Core;assembly=Syncfusion.Maui.Core&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For classes referenced in the XAML code, please don't forget to also replace &amp;quot;CPL&amp;quot; with &amp;quot;MAUI&amp;quot; in the class namespace.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Syncfusion control updates ===&lt;br /&gt;
'''There are some other properties that have changed their names on SfListView/SfListViewExt. We don't use them in our standard XAMLs. But if you use them in customizings, please refer to https://help.syncfusion.com/maui/listview/migration for the complete list.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
SfListViewExt:&lt;br /&gt;
    * ItemHolding&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| ItemLongPress&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Syncfusion control updates ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| * LeftSwipeTemplate, RightSwipeTemplate&lt;br /&gt;
| StartSwipeTemplate, EndSwipeTemplate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Layout name change ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
* &amp;lt;sync:SfListView.LayoutManager&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sync:SfListView.ItemsLayout&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TemplateService binding for extracted templates ===&lt;br /&gt;
'''1. We need to add the following namespace where the changes are applied:&lt;br /&gt;
xmlns:services=&amp;quot;clr-namespace:UBIK.MAUI.Services;assembly=UBIK.MAUI&amp;quot;;&lt;br /&gt;
2. We need to search for both &amp;quot;StaticResource&amp;quot; and &amp;quot;DynamicResource&amp;quot;;&lt;br /&gt;
3. We only listed some examples here. But the same rule applies to all those templates exacted from UBIKThemes (see the first &amp;quot;Recommended&amp;quot; point).'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| {StaticResource UBIKChildItem}&lt;br /&gt;
| {Binding [UBIKChildItem], Source={x:Static services:TemplateService.Instance}}&lt;br /&gt;
|-&lt;br /&gt;
| {StaticResource UBIKDocumentItem}&lt;br /&gt;
| {Binding [UBIKDocumentItem], Source={x:Static services:TemplateService.Instance}}&lt;br /&gt;
|-&lt;br /&gt;
| {StaticResource UBIKMainItem}&lt;br /&gt;
| {Binding [UBIKMainItem], Source={x:Static services:TemplateService.Instance}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== OnPlatform and OnIdiom syntax changes ===&lt;br /&gt;
'''All code containing the OnPlatform and OnIdiom functionalities needs to be refactored as the syntax changed. It is recommended to use the inline syntax (see example) as a default wherever possible, but there are also other approaches.&lt;br /&gt;
When using Bindings, Resources or other complex values in OnIdiom or OnPlatform values, it should only be used with the inline syntax.&lt;br /&gt;
Please rely to the wiki for more details and possibilities (e.g. if the value contains multiple elements): https://wiki.augmensys.com/index.php?title=XAML_Tips#Platform_and_Device-specific_UI_with_OnPlatform_and_OnIdiom'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| OnPlatform&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TheControl&lt;br /&gt;
        ...&lt;br /&gt;
        TheProperty=&amp;quot;{OnPlatform Android=False, iOS=True}&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TheControl&lt;br /&gt;
     ...&lt;br /&gt;
     TheProperty=&amp;quot;{OnPlatform Android={Binding ...}, iOS={Binding ...}}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| OnIdiom&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;TheControl&lt;br /&gt;
        ...&lt;br /&gt;
        TheProperty=&amp;quot;{OnIdiom Phone=False, Desktop=True}&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;TheControl&lt;br /&gt;
     ...&lt;br /&gt;
     TheProperty=&amp;quot;{OnIdiom Desktop={Binding ...}, Phone={Binding ...}}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| WinPhone&lt;br /&gt;
| WinUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
e.g.&lt;br /&gt;
&amp;lt;ColumnDefinition.Width&amp;gt;&lt;br /&gt;
   &amp;lt;OnIdiom&lt;br /&gt;
        ...&lt;br /&gt;
        Desktop=&amp;quot;Auto&amp;quot;&lt;br /&gt;
        Phone=&amp;quot;*&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/ColumnDefinition.Width&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;RowDefinition.Height&amp;gt;&lt;br /&gt;
   &amp;lt;OnPlatform&lt;br /&gt;
        ...&lt;br /&gt;
        Android=&amp;quot;Auto&amp;quot;&lt;br /&gt;
        iOS=&amp;quot;*&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/RowDefinition.Height&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ColumnDefinition Width=&amp;quot;{OnIdiom Desktop='Auto', Phone='*'}&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;RowDefinition Height=&amp;quot;{OnPlatform Android='Auto', iOS='*'}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Syncfusion control updates ===&lt;br /&gt;
'''It is necessary to use the default Binding with the Source reference to the parent control instead of TemplateBinding when using a SfListViewExt ControlTemplate with selectable items in the ResourceDictionary to be set in the ContentView DataTrigger. Otherwise, the pre-selected items might not appear selected anymore according to our experience.&lt;br /&gt;
&lt;br /&gt;
Affected standard Xamls are:&lt;br /&gt;
- UBIKEditDouble&lt;br /&gt;
- UBIKEditInt&lt;br /&gt;
- UBIKEditString&lt;br /&gt;
- UBIKEditMinMax&lt;br /&gt;
(For the exact syntax please refer to our latest standard Xamls.)&lt;br /&gt;
&lt;br /&gt;
If the above explained is also used in any custom Xamls, please consider changing it there, too.&lt;br /&gt;
&lt;br /&gt;
However, the problem only seems to occur if there is TemplateBinding in the ItemsSource &amp;amp; SelectedItem property. But, for example, if the TemplateBinding is only in the BindingContext property of the SfListViewExt (like it is the case in the UBIKPropertyDirectEditListPopup), there seems to be no such problem and therefore no change is necessary.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ContentView&lt;br /&gt;
   ...&lt;br /&gt;
   x:Name=&amp;quot;YourContentViewName&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;ContentView.Resources&amp;gt;&lt;br /&gt;
      &amp;lt;ResourceDictionary&amp;gt;&lt;br /&gt;
         ...&lt;br /&gt;
         &amp;lt;ControlTemplate x:Key=&amp;quot;YourTemplateKey&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;ctrls:SfListViewExt&lt;br /&gt;
                 ItemsSource=&amp;quot;{TemplateBinding BindingContext.YourBinding,&lt;br /&gt;
                              ...}&amp;quot;&lt;br /&gt;
                 SelectedItem=&amp;quot;{TemplateBinding BindingContext.YourBinding,&lt;br /&gt;
                              ...}&amp;quot;&lt;br /&gt;
             ... /&amp;gt;&lt;br /&gt;
         &amp;lt;/ControlTemplate&amp;gt;&lt;br /&gt;
         ...&lt;br /&gt;
      &amp;lt;/ResourceDictionary&amp;gt;&lt;br /&gt;
   &amp;lt;/ContentView.Resources&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/ContentView&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ContentView&lt;br /&gt;
   ...&lt;br /&gt;
   x:Name=&amp;quot;YourContentViewName&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;ContentView.Resources&amp;gt;&lt;br /&gt;
      &amp;lt;ResourceDictionary&amp;gt;&lt;br /&gt;
         ...&lt;br /&gt;
         &amp;lt;ControlTemplate x:Key=&amp;quot;YourTemplateKey&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;ctrls:SfListViewExt&lt;br /&gt;
                 ItemsSource=&amp;quot;{Binding BindingContext.YourBinding,&lt;br /&gt;
                                       Source={x:Reference YourContentViewName},&lt;br /&gt;
                                       ...}&amp;quot;&lt;br /&gt;
                 SelectedItem=&amp;quot;{Binding BindingContext.YourBinding,&lt;br /&gt;
                                        Source={x:Reference YourContentViewName},&lt;br /&gt;
                                        ...}&amp;quot;&lt;br /&gt;
             ... /&amp;gt;&lt;br /&gt;
         &amp;lt;/ControlTemplate&amp;gt;&lt;br /&gt;
         ...&lt;br /&gt;
      &amp;lt;/ResourceDictionary&amp;gt;&lt;br /&gt;
   &amp;lt;/ContentView.Resources&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   ...&lt;br /&gt;
&amp;lt;/ContentView&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Remove default ControlTemplate in DataTriggers ===&lt;br /&gt;
'''To prevent an issue on Android where the direct edit Link to Object editor does not open, there is a change necessary in the UBIKPropertyDirectEditListPopup Xaml:&lt;br /&gt;
The default ControlTemplate needs to be removed from the ContentView that contains the DataTriggers.&lt;br /&gt;
&lt;br /&gt;
According to our experience, this issue only occurs to our UBIKPropertyDirectEditListPopup standard Xaml, but we can't guarantee that there is no such issue in customized Xamls.&lt;br /&gt;
So please, if you encounter an issue on Android where a Property Editor doesn't open, report it the mobile development team, and/or try removing the default ControlTemplate from the affected control.&lt;br /&gt;
&lt;br /&gt;
In our standard Xamls, we removed the default ControlTemplate in every ContentView that contains DataTriggers with ControlTemplates where the same template is already set in a DataTrigger. So please, also remove the default ControlTemplates it in the following Xamls if you use customized ones:&lt;br /&gt;
- UBIKEditDouble&lt;br /&gt;
- UBIKEditInt&lt;br /&gt;
- UBIKEditString&lt;br /&gt;
- UBIKEditMinMax&lt;br /&gt;
(For the exact syntax please refer to our latest standard Xamls.)&lt;br /&gt;
&lt;br /&gt;
If the above explained is also used in any of your other custom Xamls, please consider changing it there, too. Otherwise, some property editor might not open.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ContentView x:Name=&amp;quot;containerName&amp;quot; ControlTemplate=&amp;quot;{StaticResource YourTemplate}&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ContentView.Triggers&amp;gt;&lt;br /&gt;
        &amp;lt;DataTrigger&lt;br /&gt;
            Binding=&amp;quot;{Binding Source={x:Reference containerName}, Path=...}&amp;quot;&lt;br /&gt;
            TargetType=&amp;quot;ContentView&amp;quot;&lt;br /&gt;
            Value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Setter Property=&amp;quot;ControlTemplate&amp;quot;&lt;br /&gt;
                    Value=&amp;quot;{StaticResource YourTemplate}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/DataTrigger&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
    &amp;lt;/ContentView.Triggers&amp;gt;&lt;br /&gt;
&amp;lt;/ContentView&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ContentView x:Name=&amp;quot;containerName&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ContentView.Triggers&amp;gt;&lt;br /&gt;
        &amp;lt;DataTrigger&lt;br /&gt;
            Binding=&amp;quot;{Binding Source={x:Reference containerName}, Path=...}&amp;quot;&lt;br /&gt;
            TargetType=&amp;quot;ContentView&amp;quot;&lt;br /&gt;
            Value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Setter Property=&amp;quot;ControlTemplate&amp;quot;&lt;br /&gt;
                    Value=&amp;quot;{StaticResource YourTemplate}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/DataTrigger&amp;gt;&lt;br /&gt;
        ...&lt;br /&gt;
    &amp;lt;/ContentView.Triggers&amp;gt;&lt;br /&gt;
&amp;lt;/ContentView&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Remove HeadlessLayout style ===&lt;br /&gt;
'''This Style has no longer any effect in MAUI and even degrades app performance. We are keeping it in our standard UBIKThemes under the Obsolete section to maintain backward compatibility.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Style x:Key=&amp;quot;HeadlessLayout&amp;quot; TargetType=&amp;quot;Layout&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Setter Property=&amp;quot;CompressedLayout.IsHeadless&amp;quot; Value=&amp;quot;{OnPlatform False, Android=True}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Style&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delete it from your custom UBIKThemes file&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Additional mandatory rule ===&lt;br /&gt;
'''In the customizings, however, it can and should be removed entirely, as it negatively affects performance, as mentioned before. To remove the style, you can simply use VS Code or any other editor with a search function and look through all custom .xaml files for usages of {StaticResource HeadlessLayout} or {DynamicResource HeadlessLayout}. These references should be removed from the respective elements or controls.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ContentView&lt;br /&gt;
    Grid.Column=&amp;quot;2&amp;quot;&lt;br /&gt;
    ControlTemplate=&amp;quot;{DynamicResource ChildCountBadge}&amp;quot;&lt;br /&gt;
    HorizontalOptions=&amp;quot;Start&amp;quot;&lt;br /&gt;
    Style=&amp;quot;{DynamicResource HeadlessLayout}&amp;quot;&lt;br /&gt;
    VerticalOptions=&amp;quot;Start&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ContentView&lt;br /&gt;
    Grid.Column=&amp;quot;2&amp;quot;&lt;br /&gt;
    ControlTemplate=&amp;quot;{DynamicResource ChildCountBadge}&amp;quot;&lt;br /&gt;
    HorizontalOptions=&amp;quot;Start&amp;quot;&lt;br /&gt;
    VerticalOptions=&amp;quot;Start&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{UnderConstructionStart}}&lt;br /&gt;
=== Avoid multiple SfPullToRefresh controls ===&lt;br /&gt;
'''To prevent an issue that causes the app to freeze avoid placing more then one SfPullToRefresh controls as siblings in a xaml hierarchy'''. If switching between contents in a SfPullToRefresh control is necessary use separate DataTemplates for the contents and use a e.g. a DataTrigger to set one of them as the ControlTemplate of a ContentControl inside the SfPullToRefresh control&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pullToRefresh:SfPullToRefresh IsVisible = {Binding ShowContentB, Converter={StaticResource BoolToNotBool}}&amp;gt;&lt;br /&gt;
    &amp;lt;pullToRefresh:SfPullToRefresh.PullableContent&amp;gt;&lt;br /&gt;
        &amp;lt;Grid x:Name=&amp;quot;ContentA&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/pullToRefresh:SfPullToRefresh.PullableContent&amp;gt;&lt;br /&gt;
&amp;lt;/pullToRefresh:SfPullToRefresh&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pullToRefresh:SfPullToRefresh  IsVisible = {Binding ShowContentB}&amp;gt;&lt;br /&gt;
    &amp;lt;pullToRefresh:SfPullToRefresh.PullableContent&amp;gt;&lt;br /&gt;
        &amp;lt;Grid x:Name=&amp;quot;ContentB&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/pullToRefresh:SfPullToRefresh.PullableContent&amp;gt;&lt;br /&gt;
&amp;lt;/pullToRefresh:SfPullToRefresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pullToRefresh:SfPullToRefresh&amp;gt;&lt;br /&gt;
    &amp;lt;pullToRefresh:SfPullToRefresh.PullableContent&amp;gt;&lt;br /&gt;
        &amp;lt;controls:ContentControl ContentTemplate=&amp;quot;{DynamicResource TemplateA}&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;controls:ContentControl.Triggers&amp;gt;&lt;br /&gt;
                &amp;lt;DataTrigger&lt;br /&gt;
                    Binding=&amp;quot;{Binding UseTemplateB}}&amp;quot;&lt;br /&gt;
                    TargetType=&amp;quot;controls:ContentControl&amp;quot;&lt;br /&gt;
                    Value=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;Setter Property=&amp;quot;ContentTemplate&amp;quot; Value=&amp;quot;{DynamicResource TemplateB}&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/DataTrigger&amp;gt;&lt;br /&gt;
            &amp;lt;/controls:ContentControl.Triggers&amp;gt;&lt;br /&gt;
        &amp;lt;/controls:ContentControl&amp;gt;&lt;br /&gt;
    &amp;lt;/pullToRefresh:SfPullToRefresh.PullableContent&amp;gt;&lt;br /&gt;
&amp;lt;/pullToRefresh:SfPullToRefresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
{{UnderConstructionEnd}}&lt;br /&gt;
&lt;br /&gt;
=== Rename SfPullToRefresh properties ===&lt;br /&gt;
'''Renamed in Maui, however, currently these properties cause an issue and should not be included in customizings.'''&lt;br /&gt;
SfPullToRefresh:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| RefreshContentHeight, RefreshContentWidth&lt;br /&gt;
| RefreshViewHeight, RefreshViewWidth&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Rename progress colors ===&lt;br /&gt;
'''Renamed in Maui.'''&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| ProgressBackgroundColor, ProgressStrokeColor&lt;br /&gt;
| ProgressBackground, ProgressColor&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:How-To|Convert Xamarin XAMLs to Maui]]&lt;br /&gt;
[[Category:MAUI|Convert Xamarin XAMLs to Maui]]&lt;br /&gt;
[[Category:XAML|Convert Xamarin XAMLs to Maui]]&lt;br /&gt;
&lt;br /&gt;
== SfTabView ==&lt;br /&gt;
&lt;br /&gt;
=== Namespace Update ===&lt;br /&gt;
'''Update Syncfusion TabView namespace.'''&lt;br /&gt;
Replace the Xamarin namespace with the MAUI equivalent.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| clr-namespace:Syncfusion.XForms.TabView;assembly=Syncfusion.SfTabView.XForms&lt;br /&gt;
| clr-namespace:Syncfusion.Maui.Toolkit.TabView;assembly=Syncfusion.Maui.Toolkit&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Remove Obsolete Converters ===&lt;br /&gt;
'''Remove ItemCountToBoolConverter from Resources.'''&lt;br /&gt;
This converter is no longer usable in TabView headers.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;converters:ItemCountToBoolConverter x:Key=&amp;quot;ItemCountToBool&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| [remove]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Add StringFormatConverter ===&lt;br /&gt;
'''Use StringFormatConverter for combined header strings.'''&lt;br /&gt;
Syncfusion MAUI TabView uses a single `Header` property instead of templates.&lt;br /&gt;
For all tab headers, formatters should be specified to assemble the text. As a best practice, even for simple header strings.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| [template-based header]&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;converters:StringFormatConverter x:Key=&amp;quot;ChildrenTabFormatter&amp;quot; Parameter1=&amp;quot;{resources:Translate ChildrenTitle}&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In the above example, a previously defined formatter (that must be also added to the resource dictionary) is used to fill in the header attribute value.&lt;br /&gt;
⚠️ Avoid using bindings in `Parameter1` and `Parameter2` — use static strings only. For complex cases, use `EvalExpression`.&lt;br /&gt;
&lt;br /&gt;
[[Category:How-To|Convert Xamarin XAMLs to Maui]]&lt;br /&gt;
[[Category:MAUI|Convert Xamarin XAMLs to Maui]]&lt;br /&gt;
[[Category:XAML|Convert Xamarin XAMLs to Maui]]&lt;br /&gt;
&lt;br /&gt;
=== FontImageSource Styling ===&lt;br /&gt;
'''Add local style for FontImageSource.'''&lt;br /&gt;
Global styles are not supported.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| [global FontImageSource style]&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Style TargetType=&amp;quot;FontImageSource&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Setter Property=&amp;quot;FontFamily&amp;quot; Value=&amp;quot;{DynamicResource UBIKSymbols}&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;Setter Property=&amp;quot;Color&amp;quot; Value=&amp;quot;{DynamicResource UBIKLightThemeColor}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/Style&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TabView Structure ===&lt;br /&gt;
'''Use Grid to wrap TabView.'''&lt;br /&gt;
MAUI TabView requires a different structure and property set.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight 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;
  ...&lt;br /&gt;
&amp;lt;/tabView:SfTabView&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&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;tabView:SfTabView&amp;gt;&lt;br /&gt;
    &amp;lt;tabView:SfTabItem Header=&amp;quot;string example header&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tabView:SfTabItem.ImageSource&amp;gt;&lt;br /&gt;
        &amp;lt;FontImageSource Glyph=&amp;quot;{x:Static resources:UBIKIcons.XXX}&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;controls:UBIKContentView x:Name=&amp;quot;ChildContainer&amp;quot; Converter=&amp;quot;{StaticResource ChildAreaTemplateConverter}&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/tabView:SfTabItem.Content&amp;gt;&lt;br /&gt;
    &amp;lt;/tabView:SfTabItem&amp;gt;&lt;br /&gt;
  &amp;lt;/tabView:SfTabView&amp;gt;&lt;br /&gt;
&amp;lt;/Grid&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Property Changes ===&lt;br /&gt;
'''Update renamed or removed properties.'''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| VisibleHeaderCount&lt;br /&gt;
| [not available yet]&lt;br /&gt;
|-&lt;br /&gt;
| UBIKCenterButtonSettings&lt;br /&gt;
| CenterButtonSettings&lt;br /&gt;
|-&lt;br /&gt;
| SelectionIndicatorSettings&lt;br /&gt;
| IndicatorPlacement, IndicatorStrokeThickness, IndicatorBackground&lt;br /&gt;
|-&lt;br /&gt;
| SelectionColor&lt;br /&gt;
| Use VisualStateManager instead&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
⚠️ Refer to [https://help.syncfusion.com/maui/tabview/migration Syncfusion migration guide] for full property list.&lt;br /&gt;
&lt;br /&gt;
== OnPlatform + OnIdiom backup ==&lt;br /&gt;
&lt;br /&gt;
=== Syntax Changes ===&lt;br /&gt;
'''Use inline or multi-tag syntax.'''&lt;br /&gt;
Single-tag syntax is outdated and may not build.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;OnPlatform Android=&amp;quot;False&amp;quot; iOS=&amp;quot;True&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;TheControl TheProperty=&amp;quot;{OnPlatform Android=False, iOS=True}&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;OnPlatform x:TypeArguments=&amp;quot;TheType&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;On Platform=&amp;quot;Android&amp;quot; Value=&amp;quot;False&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;On Platform=&amp;quot;iOS&amp;quot; Value=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/OnPlatform&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Required for multi-tag syntax&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== WinPhone to WinUI ===&lt;br /&gt;
'''Replace WinPhone with WinUI.'''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| WinPhone&lt;br /&gt;
| WinUI&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== GridLength and TypeArguments ===&lt;br /&gt;
'''Avoid x:TypeArguments with GridLength.'''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ColumnDefinition.Width&amp;gt;&lt;br /&gt;
  &amp;lt;OnIdiom x:TypeArguments=&amp;quot;GridLength&amp;quot; Desktop=&amp;quot;Auto&amp;quot; Phone=&amp;quot;*&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/ColumnDefinition.Width&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;ColumnDefinition Width=&amp;quot;{OnIdiom Desktop='Auto', Phone='*'}&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
⚠️ Inline syntax is more reliable when using bindings or resources.&lt;br /&gt;
&lt;br /&gt;
=== Special Characters ===&lt;br /&gt;
'''Wrap values in quotes if they contain commas or strings.'''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| Margin={OnIdiom 10,2, Phone=2,0}&lt;br /&gt;
| Margin={OnIdiom '10,2', Phone='2,0'}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== UWP to WinUI ===&lt;br /&gt;
'''Replace UWP with WinUI in all OnPlatform scopes.'''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Xamarin&lt;br /&gt;
! MAUI&lt;br /&gt;
|-&lt;br /&gt;
| UWP&lt;br /&gt;
| WinUI&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
⚠️ For more details, refer to the [https://wiki.augmensys.com/index.php?title=XAML_Tips#Device_and_Platform_Responsiveness Wiki documentation].&lt;br /&gt;
&lt;br /&gt;
[[Category:How-To|Convert Xamarin XAMLs to Maui]]&lt;br /&gt;
[[Category:MAUI|Convert Xamarin XAMLs to Maui]]&lt;br /&gt;
[[Category:XAML|Convert Xamarin XAMLs to Maui]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_5.0_(Mobile)&amp;diff=28443</id>
		<title>Version 5.0 (Mobile)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_5.0_(Mobile)&amp;diff=28443"/>
				<updated>2025-07-31T12:29:24Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* Known issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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}}: To join the preview tests please send an email to testing@augmensys.com and provide an email address that is connected to a google play account as well as the information that you want to join the android preview test.  Alternatively you can contact the Augmensys staff and submit your chosen email address. You can opt in or out of the test at any time in the store.&lt;br /&gt;
&lt;br /&gt;
Example: Please add my email account example@example.com to the '''Preview''' test group for the '''Android''' client.&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|iOS: Store Preview}}: Available through Apple App Store's [https://testflight.apple.com/join/qDMZjTgg invitation link].&lt;br /&gt;
&lt;br /&gt;
{{key press|UWP: Store Preview}}:Publicly available in Microsoft Store as preview versions to those whose account email is participating in our preview test. To join, please send an email testing@augmensys.com and provide an email address to add to the list as well as the information which test you want to join. Alternatively you can contact the Augmensys staff and submit your chosen email address.&lt;br /&gt;
&lt;br /&gt;
Example: Please add my email account example@example.com to the '''Preview''' test group for the '''Xamarin UWP''' client.&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;
&lt;br /&gt;
== Beta ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
* Improved the branch download performance especially when there are duplicate objects in multiple branches.&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 on Windows.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= ⚠️ XAML Notes =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_4.9_(WinX)&amp;diff=28278</id>
		<title>Version 4.9 (WinX)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_4.9_(WinX)&amp;diff=28278"/>
				<updated>2025-05-28T09:54:50Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* 4.9.7 on 2025-05-07 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|This version requires [https://en.wikipedia.org/wiki/Windows_10_version_history#Version_1809_(October_2018_Update) Windows 10 build 17763] or higher}}&lt;br /&gt;
&lt;br /&gt;
== Availability ==&lt;br /&gt;
{{key press|Store}}: Publicly available in Microsoft Store.&lt;br /&gt;
&lt;br /&gt;
{{key press|Store Beta}} / {{key press|Store Preview}}: Publicly available in Microsoft Store as beta or preview versions to those whose account email is participating in our beta or preview test. To join, please send an email to testing@augmensys.com and provide an email address to add to the list as well as the information which test you want to join. Alternatively you can contact the Augmensys staff and submit your chosen email address.&lt;br /&gt;
&lt;br /&gt;
Example: Please add my email account example@example.com to the '''Beta''' test group for the '''WinX''' client.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Attention|Some customized XAMLs might need an update to work properly. These changes are marked with ⚠️}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Release ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.? on 2025-06-?? ===&lt;br /&gt;
* Improved the quality/sharpness of PDF content when it's printed out using the embedded PDF control.&lt;br /&gt;
* Resolved an issue where annotations created with external tools were displayed incorrectly in PDFs.&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 4.9|Version 4.9 (WinX)]]&lt;br /&gt;
&lt;br /&gt;
=== 4.9.7 on 2025-05-07 ===&lt;br /&gt;
* Improved the quality/sharpness of PDF content when it's printed out using the embedded PDF control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.9.5 on 2025-02-19 ===&lt;br /&gt;
* [[Property_Based_Content_Filters#Troubleshooting|Property based filtering configs]] are now persisted per profile and per user.&lt;br /&gt;
* Fixed an issue where excessive license warnings are displayed sometimes (when you don't have enough licenses and push/live value updates are active).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.9.4 on 2025-02-05 ===&lt;br /&gt;
* Fixed an issue where the values of a geo task item content control had a bad readability.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beta ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.2 on 2025-01-28 {{key press|Store Beta}}  ===&lt;br /&gt;
* Fixed issue that wrongly enabled the Copy button in the multi select panel.&lt;br /&gt;
* Fixed an issue that affected multi selection of objects with multi owner properties.&lt;br /&gt;
* Added an indicator for invalid values to direct editing tasks.&lt;br /&gt;
* Fixed an issue where the guid property value did not display.&lt;br /&gt;
* Fixed an issue where the UBIK push service is not started when the profile used has starting/trailing spaces in their Project tag.&lt;br /&gt;
* Fixed an issue where navigating to a linked object when it's not yet available locally doesn't always work.&lt;br /&gt;
* Fixed an issue where the entered valid values do not get confirmed when the task direct editing UI loses focus.&lt;br /&gt;
* Fixed an issue where the UI of task items looked destroyed after pressing the NA button.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.1 on 2024-12-20 {{key press|App Center}}  ===&lt;br /&gt;
* The [[Data_Replication_(UBIK_Client)#Data_templates|data template replication]] feature is redesigned.&lt;br /&gt;
* The offline query feature is improved when there are [[Offline_Query_(UBIK_WinX)#Query_with_context_filter_values|automatically applied context values]].&lt;br /&gt;
** The UI displays context filter values and user entered filter values differently;&lt;br /&gt;
** It's now possible to reset/delete context filters values as well.&lt;br /&gt;
* A [[Custom_Query_Search|custom query based search]] is now available to be used in customizing.&lt;br /&gt;
* The [[Documents_(Client)#Remember_Document_Settings|Remember Document Settings]] feature enables the option to save PDF Viewer settings.&lt;br /&gt;
* Fixed some issues in the embedded PDF viewer.&lt;br /&gt;
** Fixed an issue where PDF free text annotations might change their colors (when you create many).&lt;br /&gt;
** Fixed some selection related issues for PDF annotations.&lt;br /&gt;
** Fixed an issue where underline &amp;amp; strike through text Annotations were not saved properly.&lt;br /&gt;
** There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* Fixed an issue where Guid/link properties do not always display their current selected values.&lt;br /&gt;
* Fixed an issue where dynamic selective list properties do not always display their current selected values.&lt;br /&gt;
* Fixed an issue where unconfirmed Guid property values couldn't get deleted.&lt;br /&gt;
* Fixed an issue where images with the same height &amp;amp; width got rotated 90 degrees after saving.&lt;br /&gt;
* Fixed an issue where document items do not get properly refilterd in a expression based filtering list.&lt;br /&gt;
* Fixed an issue where new annotations might be lost on PDF documents if you exit annotation mode too fast right after creation (e.g. by activating hotspotting mode).&lt;br /&gt;
* Fixed an issue where the thumbnails of hotspots are only updated once during creation, which results in potentially incorrect flattened results on the server.&lt;br /&gt;
* Fixed an issue where [[XAML_Tips#Access_to_an_arbitrary_object|ObjectByUID]] didn't update on Login.&lt;br /&gt;
* Fixed an issue that caused the validation time stamp of work packages to be null when confirming them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* When editing Guid Link properties, you can no longer further edit the filtering if there are predefined filter parameters (such as the [[Dynamic_Selective_List_(Client)#Dependency_property_values|dependency property values in dynamic selective lists]]). This is because those parameters are to be enforced by design and should not be changed by users. In the future, we might consider a finer level of control over which parameters can be edited in such cases.&lt;br /&gt;
* Free Text Annotations that where created in former sessions cannot be selected and therefore cannot be edited any more.&lt;br /&gt;
* There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* Known issues regarding the [[Documents_(Client)#Remember_Document_Settings|Remember Document Settings]] feature:&lt;br /&gt;
** Saving the Zoom value via touch gestures is not supported.&lt;br /&gt;
** Due to a third-party framework issue it can't be guaranteed that saving the Zoom level is always working properly. We reported this issue and will update our solution as soon as it is resolved on their side.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ⚠️ XAML Notes =&lt;br /&gt;
&lt;br /&gt;
* UBIKTaskControlFullWidth in UBIKThemes is increased to 210 to fit the task editing fields in the task item templates. If you have this resource present in your custom UBIKThemes, you need to increase it accordingly. Otherwise, the task editing fields might be cut off. Likewise, you have to make sure any UI elements/templates (e.g. Grids) containing controls using this resource do not limit the width to less than this amount.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Category/Version2|{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 4.9|Version 4.9 (WinX)]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_4.9_(WinX)&amp;diff=28277</id>
		<title>Version 4.9 (WinX)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_4.9_(WinX)&amp;diff=28277"/>
				<updated>2025-05-28T09:41:48Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* 4.9.? on 2025-06-?? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|This version requires [https://en.wikipedia.org/wiki/Windows_10_version_history#Version_1809_(October_2018_Update) Windows 10 build 17763] or higher}}&lt;br /&gt;
&lt;br /&gt;
== Availability ==&lt;br /&gt;
{{key press|Store}}: Publicly available in Microsoft Store.&lt;br /&gt;
&lt;br /&gt;
{{key press|Store Beta}} / {{key press|Store Preview}}: Publicly available in Microsoft Store as beta or preview versions to those whose account email is participating in our beta or preview test. To join, please send an email to testing@augmensys.com and provide an email address to add to the list as well as the information which test you want to join. Alternatively you can contact the Augmensys staff and submit your chosen email address.&lt;br /&gt;
&lt;br /&gt;
Example: Please add my email account example@example.com to the '''Beta''' test group for the '''WinX''' client.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Attention|Some customized XAMLs might need an update to work properly. These changes are marked with ⚠️}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Release ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.7 on 2025-05-07 ===&lt;br /&gt;
* Improved the quality/sharpness of PDF content when it's printed out using the embedded PDF control.&lt;br /&gt;
* Resolved an issue where annotations created with external tools were displayed incorrectly in PDFs.&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 4.9|Version 4.9 (WinX)]]&lt;br /&gt;
&lt;br /&gt;
=== 4.9.7 on 2025-05-07 ===&lt;br /&gt;
* Improved the quality/sharpness of PDF content when it's printed out using the embedded PDF control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.9.5 on 2025-02-19 ===&lt;br /&gt;
* [[Property_Based_Content_Filters#Troubleshooting|Property based filtering configs]] are now persisted per profile and per user.&lt;br /&gt;
* Fixed an issue where excessive license warnings are displayed sometimes (when you don't have enough licenses and push/live value updates are active).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.9.4 on 2025-02-05 ===&lt;br /&gt;
* Fixed an issue where the values of a geo task item content control had a bad readability.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beta ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.2 on 2025-01-28 {{key press|Store Beta}}  ===&lt;br /&gt;
* Fixed issue that wrongly enabled the Copy button in the multi select panel.&lt;br /&gt;
* Fixed an issue that affected multi selection of objects with multi owner properties.&lt;br /&gt;
* Added an indicator for invalid values to direct editing tasks.&lt;br /&gt;
* Fixed an issue where the guid property value did not display.&lt;br /&gt;
* Fixed an issue where the UBIK push service is not started when the profile used has starting/trailing spaces in their Project tag.&lt;br /&gt;
* Fixed an issue where navigating to a linked object when it's not yet available locally doesn't always work.&lt;br /&gt;
* Fixed an issue where the entered valid values do not get confirmed when the task direct editing UI loses focus.&lt;br /&gt;
* Fixed an issue where the UI of task items looked destroyed after pressing the NA button.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.1 on 2024-12-20 {{key press|App Center}}  ===&lt;br /&gt;
* The [[Data_Replication_(UBIK_Client)#Data_templates|data template replication]] feature is redesigned.&lt;br /&gt;
* The offline query feature is improved when there are [[Offline_Query_(UBIK_WinX)#Query_with_context_filter_values|automatically applied context values]].&lt;br /&gt;
** The UI displays context filter values and user entered filter values differently;&lt;br /&gt;
** It's now possible to reset/delete context filters values as well.&lt;br /&gt;
* A [[Custom_Query_Search|custom query based search]] is now available to be used in customizing.&lt;br /&gt;
* The [[Documents_(Client)#Remember_Document_Settings|Remember Document Settings]] feature enables the option to save PDF Viewer settings.&lt;br /&gt;
* Fixed some issues in the embedded PDF viewer.&lt;br /&gt;
** Fixed an issue where PDF free text annotations might change their colors (when you create many).&lt;br /&gt;
** Fixed some selection related issues for PDF annotations.&lt;br /&gt;
** Fixed an issue where underline &amp;amp; strike through text Annotations were not saved properly.&lt;br /&gt;
** There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* Fixed an issue where Guid/link properties do not always display their current selected values.&lt;br /&gt;
* Fixed an issue where dynamic selective list properties do not always display their current selected values.&lt;br /&gt;
* Fixed an issue where unconfirmed Guid property values couldn't get deleted.&lt;br /&gt;
* Fixed an issue where images with the same height &amp;amp; width got rotated 90 degrees after saving.&lt;br /&gt;
* Fixed an issue where document items do not get properly refilterd in a expression based filtering list.&lt;br /&gt;
* Fixed an issue where new annotations might be lost on PDF documents if you exit annotation mode too fast right after creation (e.g. by activating hotspotting mode).&lt;br /&gt;
* Fixed an issue where the thumbnails of hotspots are only updated once during creation, which results in potentially incorrect flattened results on the server.&lt;br /&gt;
* Fixed an issue where [[XAML_Tips#Access_to_an_arbitrary_object|ObjectByUID]] didn't update on Login.&lt;br /&gt;
* Fixed an issue that caused the validation time stamp of work packages to be null when confirming them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* When editing Guid Link properties, you can no longer further edit the filtering if there are predefined filter parameters (such as the [[Dynamic_Selective_List_(Client)#Dependency_property_values|dependency property values in dynamic selective lists]]). This is because those parameters are to be enforced by design and should not be changed by users. In the future, we might consider a finer level of control over which parameters can be edited in such cases.&lt;br /&gt;
* Free Text Annotations that where created in former sessions cannot be selected and therefore cannot be edited any more.&lt;br /&gt;
* There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* Known issues regarding the [[Documents_(Client)#Remember_Document_Settings|Remember Document Settings]] feature:&lt;br /&gt;
** Saving the Zoom value via touch gestures is not supported.&lt;br /&gt;
** Due to a third-party framework issue it can't be guaranteed that saving the Zoom level is always working properly. We reported this issue and will update our solution as soon as it is resolved on their side.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ⚠️ XAML Notes =&lt;br /&gt;
&lt;br /&gt;
* UBIKTaskControlFullWidth in UBIKThemes is increased to 210 to fit the task editing fields in the task item templates. If you have this resource present in your custom UBIKThemes, you need to increase it accordingly. Otherwise, the task editing fields might be cut off. Likewise, you have to make sure any UI elements/templates (e.g. Grids) containing controls using this resource do not limit the width to less than this amount.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Category/Version2|{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 4.9|Version 4.9 (WinX)]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_4.9.0_(Server)&amp;diff=28207</id>
		<title>Version 4.9.0 (Server)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_4.9.0_(Server)&amp;diff=28207"/>
				<updated>2025-05-19T13:11:33Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* Hot fixes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Kernel (initial release)=&lt;br /&gt;
== Features ==&lt;br /&gt;
* UBIK provides the possibility to customize an online text search. See [[SYSCLS_CUSTOMTEXTQUERY|Custom Text Search Classification]].&lt;br /&gt;
* Human-readable database views can be created in the same database instance where the data is stored.&lt;br /&gt;
* Custom code for MetaProxies can now be edited and transported using SmartStudio.&lt;br /&gt;
* UBIK.Studio provides the possibility to define the UID for a new derived MetaClass now.&lt;br /&gt;
* UBIK CUI Interface supports the (re)import of undeleted Comos objects now.&lt;br /&gt;
* UBIK StandardImport supports null values for strings, (nullable) GUIDs, and geodata now. Depending on the import configuration, these null values will be processed and imported to the ubiqule.&lt;br /&gt;
* A custom query-based search is now available to be used in customizing.&lt;br /&gt;
* UBIK OLEDB Plugin supports customizing the OLEDB provider string now.&lt;br /&gt;
* An improved configuration dialog for the auto-create MetaClassScope drag &amp;amp; drop action was created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bug Fixes ==&lt;br /&gt;
* A bug in managing changelog/history items for properties with configured MetaAttributes was fixed.&lt;br /&gt;
* A problem in handling references to deleted objects was fixed: misleading exceptions are not thrown anymore.&lt;br /&gt;
* An issue where custom code couldn't be transported for system meta classes using SmartStudio was fixed.&lt;br /&gt;
* Fixed the bug where the Instance Picker results were not shown when clicking the three-dot symbol for the first time in SmartStudio and AdminTool.&lt;br /&gt;
* New instances created in the AdminTool are now also saved if a refresh occurs beforehand.&lt;br /&gt;
* A problem in the new support to undelete CUI objects was fixed: the ID of the target object does not change when executing the undelete.&lt;br /&gt;
* System.Memory.dll is now provided in the release packages.&lt;br /&gt;
* OSIPI and ModuleReporting Plugins support the newest version of System.Memory now.&lt;br /&gt;
* A bug in the UBIK.NotificationEndPoint Service was fixed: it can handle subfolders in the Queue directory now.&lt;br /&gt;
* A bug when flattening Annotations and Hotspots into Document Revisions was fixed.&lt;br /&gt;
* Improved Exception Handling when saving objects and proxies during the interface execution, result in a higher stability as customizing related crashes do not stop the process any more.&lt;br /&gt;
* Fixed an issue in the AdminTool that permitted manipulation of locked properties.&lt;br /&gt;
* An issue where values for new languages weren't saved was fixed.&lt;br /&gt;
* A bug in the handling of History/Changelog items for MRO tasks was fixed: if the value is set directly to N.A., a changelog item gets created now.&lt;br /&gt;
* A Issue was fixed where the PunchPoint link was not visualized in the &amp;quot;Punchpoint Attachments&amp;quot; use case&lt;br /&gt;
* Issues in internal file handling (of queued notifications) were solved for the Event Notificatoin Endpoint.&lt;br /&gt;
* System.Numerics.Vectors, Microsoft.Bcl.TimeProvider, Microsoft.Bcl.AsyncInterfaces DLLs were added to the OIDC Processor plugin&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enhancements ==&lt;br /&gt;
* UBIK Standard-Import supports null values for strings, (nullable) GUIDs, and geodata now. Depending on the import configuration, these null values will be processed and imported to the ubiqule.&lt;br /&gt;
* A possibility to customize &amp;quot;real&amp;quot; property values for system design objects via Plugin was provided. Further, CUI system definitions can now be used without deriving.&lt;br /&gt;
* MetaProxy properties are now modeled more consistently in SmartStudio.&lt;br /&gt;
* A set of vulnerable 3rd party components were updated.&lt;br /&gt;
* For reduced RAM consumption, a system classification SYSCLS_PREVENT_CACHING was provided, and future measures were triggered.&lt;br /&gt;
* UBIK supports *.docx as standard filetype now&lt;br /&gt;
* The UBIK.EnterpriseService now processes queued tasks in an awaitable manner, with configurable pauses and idle-interruption when adding new tasks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MaTaP Improvements and fixes ==&lt;br /&gt;
* Fixed an issue where QRF and Check Operations were not included in Mile Stone Calculation of Workorder.&lt;br /&gt;
* Predefined views get saved and are available for Admin Tools now.&lt;br /&gt;
* The Project Usecase in the MATAP Admin Tool is standardized now: Job Descriptions + presented columns.&lt;br /&gt;
* MATAP supports encrypted passwords for imported MATAP users now.&lt;br /&gt;
* MATAP supports Quality Record Forms now.&lt;br /&gt;
* MATAP supports Check Tasks now.&lt;br /&gt;
* MATAP Wallpaper Client supports project-related Punchpoint columns now.&lt;br /&gt;
* The Project Status is now managed on the Project Instance itself.&lt;br /&gt;
* UBIK MATAP supports project-related data caching on the View Cache now.&lt;br /&gt;
* The communication feature is now available in MATAP.&lt;br /&gt;
* All operation imports support the import of a work property.&lt;br /&gt;
* MATAP supports reports now.&lt;br /&gt;
* Admin Tool shows the duration of a successful job run now instead of presenting start and end timestamps.&lt;br /&gt;
* MATAP supports the import and presentation of materials per operation now.&lt;br /&gt;
* In the Admin Tool, the (Turnaround) Project Usecase does not show SAP-specific columns anymore.&lt;br /&gt;
* In the Admin Tool, the Operation Usecases do not show SAP and Primavera-specific columns anymore.&lt;br /&gt;
* Identified an issue where activity codes were cut off when the project name was too long.&lt;br /&gt;
* Identified an issue where companies were cut off when the project name was too long.&lt;br /&gt;
* Deletion of default activity codes works now.&lt;br /&gt;
* Reimporting deleted objects is now possible.&lt;br /&gt;
* Wallpaper Client does not crash when opening a Scope Change anymore.&lt;br /&gt;
* A bug in evaluating the code was fixed. Configured grouped codes are no longer ignored.&lt;br /&gt;
* The Admin Tool is now able to download the customizing.&lt;br /&gt;
* Operations being set to Not Applicable show the right status color now (gray).&lt;br /&gt;
* Scheduling import works now for check and QRF operations too.&lt;br /&gt;
* Wallpaper does not crash anymore during progress reporting.&lt;br /&gt;
* Location assigning performance was improved.&lt;br /&gt;
* A misconfiguration that caused duplicated scope changes to also duplicate the progress was fixed.&lt;br /&gt;
* Fixed an issue where Punchpoint numbers were overwritten multiple times causing the number to unnecessarily increase.&lt;br /&gt;
* Fixed the bug where the Instance Picker results were not shown when clicking the three-dot symbol for the first time.&lt;br /&gt;
* MATAP now provides the possibility to schedule nightly app pool restarts for all active projects.&lt;br /&gt;
* MATAP imports will not overwrite once edited string data with empty values anymore.&lt;br /&gt;
* The &amp;quot;Turnaround Project&amp;quot; use case was renamed to &amp;quot;Project&amp;quot;.&lt;br /&gt;
* The description for the Currency Setting Property was wrong. It shows &amp;quot;Currency Settings&amp;quot; now.&lt;br /&gt;
* The currency on projects is now set to &amp;quot;€&amp;quot; by default.&lt;br /&gt;
* Key and unique filename have now been removed from the Plot Plans use case.&lt;br /&gt;
* Description has been replaced with Name in the Plot Plans use case (Admin Tool)&lt;br /&gt;
* The Plot Plan Name is now displayed in Plant Layouts (Client)&lt;br /&gt;
* Removed columns &amp;quot;Offline Sync Configuration&amp;quot; and &amp;quot;Branch Download&amp;quot; from Admin Tool &amp;quot;Functionality&amp;quot; use case.&lt;br /&gt;
* Removed columns &amp;quot;Unique Filename&amp;quot; and &amp;quot;Path to local file&amp;quot; from Admin Tool &amp;quot;Daily HSE&amp;quot; use case.&lt;br /&gt;
* Vertical and horizontal scroll bars now remain in their last set position after the saving process.&lt;br /&gt;
* The Zone column is now available in the Commissioning Package Usecase.&lt;br /&gt;
* Systems and subsystems are available in the Commissioning Tasks use case now.&lt;br /&gt;
* Documents below work orders are sorted by their type now.&lt;br /&gt;
* Names for systems and subsystems show in the expected order now.&lt;br /&gt;
* MATAP allows project names with a length of up to 100 characters now.&lt;br /&gt;
* New instances are now also saved if a refresh occurs beforehand.&lt;br /&gt;
* SC Desc., Operation No., and Estimated Costs are now displayed as saved after saving.&lt;br /&gt;
* Timesheets calculation issue for standard operations was solved.&lt;br /&gt;
* A sorting error for operations was fixed.&lt;br /&gt;
* When selecting import files, the file picker now remembers its last position.&lt;br /&gt;
* Template Usecases will now be replicated including their column configurations.&lt;br /&gt;
* Precom Activity Code cells show default operations information on the Turnaround Wallpaper now.&lt;br /&gt;
* An unused property (MATAP_PROJECT_ID) has been removed from the standard property pool.&lt;br /&gt;
* A new property (MATAP_ID) has been added to the standard property pool and integrated into the Activity Code Use Cases.&lt;br /&gt;
* The Admin Tool Turnaround Project Usecase now provides project creation status information.&lt;br /&gt;
* A problem in the Admin Tool which led to random warnings is solved now.&lt;br /&gt;
* MATAP Wallpaper Client now shows correct labels for Check/Operation detail tabs.&lt;br /&gt;
* Fixed recurring warnings in UBIK.Studio.&lt;br /&gt;
* Fixed recurring warnings in Admin Tool.&lt;br /&gt;
* The key column for MATAP users gets automatically filled if the object is created manually.&lt;br /&gt;
* Document system property will not be delivered to the client anymore.&lt;br /&gt;
* Fixed the issue where setting an operation status to N/A could cause the client to freeze or crash.&lt;br /&gt;
* The scope change workflow shows the user details again.&lt;br /&gt;
* A problem in the View Item Setup for the Communication Feature was fixed.&lt;br /&gt;
* Cells on the Commissioning Wallpaper only show the last change date if the task is considered to be finished.&lt;br /&gt;
* CODE_TYPE property doesn't get replicated when creating a Scope Change.&lt;br /&gt;
* A bug was fixed where empty Meta Classes were created after removing the MATAP plugin.&lt;br /&gt;
* Performance improvements and general bug fixes for Admin Tool.&lt;br /&gt;
* The Bulk Editor scroll bars now retain their positions after a refresh.&lt;br /&gt;
* Admin Tool shows the name of the referenced project when displaying use cases now.&lt;br /&gt;
* Punchpoints show a changelog for the 'Responsibility' property now.&lt;br /&gt;
* The Admin - Tool Scope Change Usecase shows scope changes only now.&lt;br /&gt;
* Import of EquipmentGroup and EquipmentType data is standardized now: the standard import supports import via the Equipment instance.&lt;br /&gt;
* The Admin - Tool Scope Change Attachment Usecase works now.&lt;br /&gt;
* Import of Equipments support a complex plant-system-subsystem structure as well as plant zone structure. it is not required any more that system and subsystem names are unique.&lt;br /&gt;
* Execution Documents show the Local Full Path in the AdminTool now.&lt;br /&gt;
* Punchpoints now show a changelog for the 'Responsibility' and 'Due Date' properties.&lt;br /&gt;
* A digit counter was added for Operation, Operation Description and ScopeChange Description in the Wallpaper Client.&lt;br /&gt;
* The current Project Status can now be seen in the project header of the start screen.&lt;br /&gt;
* In the Admin Tool, the Task - Progress is now displayed in the corresponding column.&lt;br /&gt;
* The filtering of instances in the Picker within the Admin Tool is now possible without reopening the popup.&lt;br /&gt;
* A Issue was fixed where the link to the PunchPoint was not visualized in the PunchpointAttachment usecase in the Admin Tool&lt;br /&gt;
* Users can change a project name only until the creation is finished.&lt;br /&gt;
* Wrong order of CTS and UTS columns at Commissioning Package and Commissioning Task Use Cases was fixed.&lt;br /&gt;
* Corrected the locked status for timesheet Use Case columns.&lt;br /&gt;
* Fixed an issue where users with Create only permissions could not edit Scopechange details.&lt;br /&gt;
* Added final document location to file path in Scope Change attachment use case.&lt;br /&gt;
* An issue was fixed where the information on the Commissioning Wallpaper did not update when grouped commissioning tasks were added/removed/finished.&lt;br /&gt;
&lt;br /&gt;
= Hot fixes =&lt;br /&gt;
&lt;br /&gt;
Version 4.9.0.10042 on 2025/05/16:&lt;br /&gt;
* An issue where attributes weren't reloaded for objects updated via change detection was fixed.&lt;br /&gt;
* A memory leak occurring for the UBIK Enterprise Service with Web Interface was fixed.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Version 4.9.0.10040 on 2025/05/15:&lt;br /&gt;
* Importing of MATAP data containing empty strings does not result the Proxies having an import status of error any more.&lt;br /&gt;
* MATAP - AdminTool: An issue was fixed where new instances were added to the bottom of the list.&lt;br /&gt;
* CUI does not send empty update requests to the Comos RestAPI any more.&lt;br /&gt;
* An issue where MetaClasses with instances couldn't be deleted was fixed.&lt;br /&gt;
* The user group cache and rights evaluation mechanism was overhauled for better integrity and performance.&lt;br /&gt;
* Fixed an HotSpotting issue where the empty revision creation did not work.&lt;br /&gt;
* An issue where ComosMetaProxyProperties were created with the wrong meta class when importing from Comos XML was fixed.&lt;br /&gt;
* Fixed an issue where spare parts (materials) were not displayed on the client.&lt;br /&gt;
* Fixed an issue where system selective items' localizations were not provided via the web service.&lt;br /&gt;
* Fixed an issue that triggered a license warning even on a failed login.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Version 4.9.0.10024 on 2025/04/17:&lt;br /&gt;
* An issue where proxy attributes were created unnecessarily was fixed.&lt;br /&gt;
* An issue where MetaClasses couldn't be loaded from a Plugin was fixed.&lt;br /&gt;
* A memory Leak in the Enterprise Service (Notification Controller - Usease) was fixed.&lt;br /&gt;
* A bug where certain database adaptations were skipped if no db-views were configured was fixed.&lt;br /&gt;
* A missleading (false) https status code was documented for failed http communication in the post log was fixed.&lt;br /&gt;
* CUI Document Proxies get saved immediately when exporting them to Comos. This will avoid duplicates in exports if further processing fails.&lt;br /&gt;
* An issue where database connections are not closed under certain erroneous circumstances was fixed.&lt;br /&gt;
* MATAP: Imports were improved. They do not overwrite data that were manually changed by using the Admin Tool any more.&lt;br /&gt;
* MATAP: An issue was fixed where template instances were not shown under the Template Use Case.&lt;br /&gt;
* MATAP:Fixed an issue where it was not possible to import new operations with a previously deleted Operation ID.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
* Exclusive Access is not fully supported (missing aspect: lock on database level)&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_5.0_(WinX)&amp;diff=28205</id>
		<title>Version 5.0 (WinX)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_5.0_(WinX)&amp;diff=28205"/>
				<updated>2025-05-19T12:56:48Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* 5.0.0 on 2025-??-?? {{key press|Store Preview}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|This version requires [https://en.wikipedia.org/wiki/Windows_10_version_history#Version_1809_(October_2018_Update) Windows 10 build 17763] or higher}}&lt;br /&gt;
&lt;br /&gt;
== Availability ==&lt;br /&gt;
{{key press|Store}}: Publicly available in Microsoft Store.&lt;br /&gt;
&lt;br /&gt;
{{key press|Store Beta}} / {{key press|Store Preview}}: Publicly available in Microsoft Store as beta or preview versions to those whose account email is participating in our beta or preview test. To join, please send an email to testing@augmensys.com and provide an email address to add to the list as well as the information which test you want to join. Alternatively you can contact the Augmensys staff and submit your chosen email address.&lt;br /&gt;
&lt;br /&gt;
Example: Please add my email account example@example.com to the '''Beta''' test group for the '''WinX''' client.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Attention|Some customized XAMLs might need an update to work properly. These changes are marked with ⚠️}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Release ==&lt;br /&gt;
&lt;br /&gt;
=== 5.0.0 on 2025-??-?? ===&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beta ==&lt;br /&gt;
&lt;br /&gt;
=== 5.0.0 on 2025-??-?? {{key press|Store Beta}}  ===&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 5.0.0 on 2025-??-?? {{key press|Store Preview}}  ===&lt;br /&gt;
* Fixed issue that rendered authentication when editing a geo property impossible.&lt;br /&gt;
* Fixed an issue that triggered a license warning even on a failed login.&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 5.0|Version 5.0 (WinX)]]&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* When editing Guid Link properties, you can no longer further edit the filtering if there are predefined filter parameters (such as the [[Dynamic_Selective_List_(Client)#Dependency_property_values|dependency property values in dynamic selective lists]]). This is because those parameters are to be enforced by design and should not be changed by users. In the future, we might consider a finer level of control over which parameters can be edited in such cases.&lt;br /&gt;
* Free Text Annotations that where created in former sessions cannot be selected and therefore cannot be edited any more.&lt;br /&gt;
* There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* Known issues regarding the [[Documents_(Client)#Remember_Document_Settings|Remember Document Settings]] feature:&lt;br /&gt;
** Saving the Zoom value via touch gestures is not supported.&lt;br /&gt;
** Due to a third-party framework issue it can't be guaranteed that saving the Zoom level is always working properly. We reported this issue and will update our solution as soon as it is resolved on their side.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ⚠️ XAML Notes =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Category/Version2|{{PAGENAME}}}}&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

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

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=List_of_Versions&amp;diff=27879</id>
		<title>List of Versions</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=List_of_Versions&amp;diff=27879"/>
				<updated>2025-02-18T11:25:30Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: &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|2025-??-??| {{Version/WinX|5.0}}}}&lt;br /&gt;
{{Item/Version|2025-02-??| {{Version/Server|4.9}}}}&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|2025-02-05| {{Version/WinX|4.9}}}}&lt;br /&gt;
{{Item/Version|2025-02-05| {{Version/Xamarin|4.9}}}}&lt;br /&gt;
{{Item/Version|2024-09-14| {{Version/Server|4.8.1}}}}&lt;br /&gt;
{{Item/Version|2024-09-11| {{Version/WinX|4.8}}}}&lt;br /&gt;
{{Item/Version|2024-09-11| {{Version/Xamarin|4.8}}}}&lt;br /&gt;
{{Item/Version|2024-05-16| {{Version/Xamarin|4.7}}}}&lt;br /&gt;
{{Item/Version|2024-05-16| {{Version/WinX|4.7}}}}&lt;br /&gt;
{{Item/Version|2024-05-07| {{Version/Server|4.7.0}}}}&lt;br /&gt;
{{Item/Version|2024-02-05| {{Version/Server|4.6.0}}}}&lt;br /&gt;
{{Item/Version|2024-02-15| {{Version/WinX|4.6}}}}&lt;br /&gt;
{{Item/Version|2024-02-05| {{Version/Xamarin|4.6}}}}&lt;br /&gt;
{{Item/Version|2023-11-06| {{Version/Server|4.5.0}}}}&lt;br /&gt;
{{Item/Version|2023-11-02| {{Version/Xamarin|4.5}}}}&lt;br /&gt;
{{Item/Version|2023-11-02| {{Version/WinX|4.5}}}}&lt;br /&gt;
{{Item/Version|2023-09-12| {{Version/Server|4.4.0}}}}&lt;br /&gt;
{{Item/Version|2023-09-04| {{Version/Xamarin|4.4}}}}&lt;br /&gt;
{{Item/Version|2023-09-04| {{Version/WinX|4.4}}}}&lt;br /&gt;
{{Item/Version|2022-04-11| [[Version_4.3.0_(Server)|Version 4.3.0 - Server]]}}&lt;br /&gt;
{{Item/Version|2023-04-04| {{Version/Xamarin|4.3}}}}&lt;br /&gt;
{{Item/Version|2023-04-04| {{Version/WinX|4.3}}}}&lt;br /&gt;
{{Item/Version|2023-01.31| [[Version_3.7.1|Version 3.7.1 - Server]]}}&lt;br /&gt;
{{Item/Version|2023-01-30| {{Version/Xamarin|4.2}}}}&lt;br /&gt;
{{Item/Version|2023-01-30| {{Version/WinX|4.2}}}}&lt;br /&gt;
{{Item/Version|2022-11-17| {{Version/Server|4.0}}}}&lt;br /&gt;
{{Item/Version|2022-08-22| {{Version/Xamarin|4.1}}}}&lt;br /&gt;
{{Item/Version|2022-08-09| [[Version_3.7.0_Server|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|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|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/Xamarin|1.3}}}}&lt;br /&gt;
{{Item/Version|2021-05-31| {{Version/Xamarin|1.2}}}}&lt;br /&gt;
{{Item/Version|2021-04-23| {{Version/WinX|3.8}}}}&lt;br /&gt;
{{Item/Version|2020-11-12| {{Version/Xamarin|1.1}}}}&lt;br /&gt;
{{Item/Version|2020-04-09| {{Version/Server|3.5}}}}&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)|Version 1.0&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; - Xamarin.iOS]]}}&lt;br /&gt;
{{Item/Version|2019-10-21| [[Version_1.0_(Xamarin.Android)|Version 1.0&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; - 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}}}}&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}}}}&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}}}}&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}}}}&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>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_4.9_(WinX)&amp;diff=27874</id>
		<title>Version 4.9 (WinX)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_4.9_(WinX)&amp;diff=27874"/>
				<updated>2025-02-17T12:59:53Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* Availability */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|This version requires [https://en.wikipedia.org/wiki/Windows_10_version_history#Version_1809_(October_2018_Update) Windows 10 build 17763] or higher}}&lt;br /&gt;
&lt;br /&gt;
== Availability ==&lt;br /&gt;
{{key press|Store}}: Publicly available in Microsoft Store.&lt;br /&gt;
&lt;br /&gt;
{{key press|Store Beta}} / {{key press|Store Preview}}: Publicly available in Microsoft Store as beta or preview versions to those whose account email is participating in our beta or preview test. To join, please send an email to testing@augmensys.com and provide an email address to add to the list as well as the information which test you want to join. Alternatively you can contact the Augmensys staff and submit your chosen email address.&lt;br /&gt;
&lt;br /&gt;
Example: Please add my email account example@example.com to the '''Beta''' test group for the '''WinX''' client.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Attention|Some customized XAMLs might need an update to work properly. These changes are marked with ⚠️}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 4.9|Version 4.9 (WinX)]]&lt;br /&gt;
&lt;br /&gt;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Release ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.? on 2025-02-?? ===&lt;br /&gt;
* [[Property_Based_Content_Filters#Troubleshooting|Property based filtering configs]] are now persisted per profile and per user.&lt;br /&gt;
* Fixed an issue where excessive license warnings are displayed sometimes (when you don't have enough licenses and push/live value updates are active).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.9.4 on 2025-02-05 ===&lt;br /&gt;
* Fixed an issue where the values of a geo task item content control had a bad readability.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beta ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.2 on 2025-01-28 {{key press|Store Beta}}  ===&lt;br /&gt;
* Fixed issue that wrongly enabled the Copy button in the multi select panel.&lt;br /&gt;
* Fixed an issue that affected multi selection of objects with multi owner properties.&lt;br /&gt;
* Added an indicator for invalid values to direct editing tasks.&lt;br /&gt;
* Fixed an issue where the guid property value did not display.&lt;br /&gt;
* Fixed an issue where the UBIK push service is not started when the profile used has starting/trailing spaces in their Project tag.&lt;br /&gt;
* Fixed an issue where navigating to a linked object when it's not yet available locally doesn't always work.&lt;br /&gt;
* Fixed an issue where the entered valid values do not get confirmed when the task direct editing UI loses focus.&lt;br /&gt;
* Fixed an issue where the UI of task items looked destroyed after pressing the NA button.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.1 on 2024-12-20 {{key press|App Center}}  ===&lt;br /&gt;
* The [[Data_Replication_(UBIK_Client)#Data_templates|data template replication]] feature is redesigned.&lt;br /&gt;
* The offline query feature is improved when there are [[Offline_Query_(UBIK_WinX)#Query_with_context_filter_values|automatically applied context values]].&lt;br /&gt;
** The UI displays context filter values and user entered filter values differently;&lt;br /&gt;
** It's now possible to reset/delete context filters values as well.&lt;br /&gt;
* A [[Custom_Query_Search|custom query based search]] is now available to be used in customizing.&lt;br /&gt;
* The [[Documents_(Client)#Remember_Document_Settings|Remember Document Settings]] feature enables the option to save PDF Viewer settings.&lt;br /&gt;
* Fixed some issues in the embedded PDF viewer.&lt;br /&gt;
** Fixed an issue where PDF free text annotations might change their colors (when you create many).&lt;br /&gt;
** Fixed some selection related issues for PDF annotations.&lt;br /&gt;
** Fixed an issue where underline &amp;amp; strike through text Annotations were not saved properly.&lt;br /&gt;
** There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* Fixed an issue where Guid/link properties do not always display their current selected values.&lt;br /&gt;
* Fixed an issue where dynamic selective list properties do not always display their current selected values.&lt;br /&gt;
* Fixed an issue where unconfirmed Guid property values couldn't get deleted.&lt;br /&gt;
* Fixed an issue where images with the same height &amp;amp; width got rotated 90 degrees after saving.&lt;br /&gt;
* Fixed an issue where document items do not get properly refilterd in a expression based filtering list.&lt;br /&gt;
* Fixed an issue where new annotations might be lost on PDF documents if you exit annotation mode too fast right after creation (e.g. by activating hotspotting mode).&lt;br /&gt;
* Fixed an issue where the thumbnails of hotspots are only updated once during creation, which results in potentially incorrect flattened results on the server.&lt;br /&gt;
* Fixed an issue where [[XAML_Tips#Access_to_an_arbitrary_object|ObjectByUID]] didn't update on Login.&lt;br /&gt;
* Fixed an issue that caused the validation time stamp of work packages to be null when confirming them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* When editing Guid Link properties, you can no longer further edit the filtering if there are predefined filter parameters (such as the [[Dynamic_Selective_List_(Client)#Dependency_property_values|dependency property values in dynamic selective lists]]). This is because those parameters are to be enforced by design and should not be changed by users. In the future, we might consider a finer level of control over which parameters can be edited in such cases.&lt;br /&gt;
* Free Text Annotations that where created in former sessions cannot be selected and therefore cannot be edited any more.&lt;br /&gt;
* There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* Known issues regarding the [[Documents_(Client)#Remember_Document_Settings|Remember Document Settings]] feature:&lt;br /&gt;
** Saving the Zoom value via touch gestures is not supported.&lt;br /&gt;
** Due to a third-party framework issue it can't be guaranteed that saving the Zoom level is always working properly. We reported this issue and will update our solution as soon as it is resolved on their side.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ⚠️ XAML Notes =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Category/Version2|{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 4.9|Version 4.9 (WinX)]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_4.9_(Xamarin)&amp;diff=27873</id>
		<title>Version 4.9 (Xamarin)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_4.9_(Xamarin)&amp;diff=27873"/>
				<updated>2025-02-17T12:52:09Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* Availability */&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;
{{Attention|The minimum supported OS versions are:&lt;br /&gt;
* Android 9;&lt;br /&gt;
* iOS 11.}}&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}}: To join the preview tests please send an email to testing@augmensys.com and provide an email address that is connected to a google play account as well as the information that you want to join the android preview test.  Alternatively you can contact the Augmensys staff and submit your chosen email address. You can opt in or out of the test at any time in the store.&lt;br /&gt;
&lt;br /&gt;
Example: Please add my email account example@example.com to the '''Preview''' test group for the '''Android''' client.&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|iOS: Store Preview}}: Available through Apple App Store's [https://testflight.apple.com/join/qDMZjTgg invitation link].&lt;br /&gt;
&lt;br /&gt;
{{key press|UWP: Store Preview}}:Publicly available in Microsoft Store as preview versions to those whose account email is participating in our preview test. To join, please send an email testing@augmensys.com and provide an email address to add to the list as well as the information which test you want to join. Alternatively you can contact the Augmensys staff and submit your chosen email address.&lt;br /&gt;
&lt;br /&gt;
Example: Please add my email account example@example.com to the '''Preview''' test group for the '''Xamarin UWP''' client.&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;
=== 4.9.? on 2025-02-?? ===&lt;br /&gt;
* [[Property_Based_Content_Filters#Troubleshooting|Property based filtering configs]] are now persisted per profile and per user.&lt;br /&gt;
* Fixed an issue where excessive license warnings are displayed sometimes (when you don't have enough licenses and push/live value updates are active).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.9.7 on 2025-02-05 {{key press|Android: Store}}{{key press|iOS: Store}}{{key press|UWP: App Center}}  ===&lt;br /&gt;
* (Android) {{UBIK}} can now also use web proxies configured through the Android Proxy Auto-Config setting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beta ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.5 on 2025-01-28 {{key press|Android: Store Beta}}{{key press|iOS: Store Beta}}{{key press|UWP: App Center}}  ===&lt;br /&gt;
* Fixed issue that wrongly enabled the Copy button in the multi select panel.&lt;br /&gt;
* Fixed an issue that affected multi selection of objects with multi owner properties.&lt;br /&gt;
* Fixed an issue where a trust warning is displayed when a user logs in with an already validated SSO session. Changing the SSO related configuration in the profile is needed, see details [[HowTo:Integrate_UBIK_in_an_SSO_Environment#tab=Client|here under &amp;quot;CLIENT - OIDC&amp;quot;]].&lt;br /&gt;
* Fixed an issue that caused the template for tasks to not update immediately when being locked or unlocked.&lt;br /&gt;
* Fixed an issue where navigating to a linked object when it's not yet available locally doesn't always work.&lt;br /&gt;
* Fixed an issue where the virtual keyboard sometimes appeared for no reason.&lt;br /&gt;
* Fixed an issue where the UI of task items looked destroyed after pressing the NA button.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.1 on 2024-12-20 {{key press|App Center}}  ===&lt;br /&gt;
* The [[Data_Replication_(UBIK_Client)#Data_templates|data template replication]] feature is redesigned.&lt;br /&gt;
* The offline query feature is improved when there are [[Offline_Query_(UBIK_WinX)#Query_with_context_filter_values|automatically applied context values]].&lt;br /&gt;
** The UI displays context filter values and user entered filter values differently;&lt;br /&gt;
** It's now possible to reset/delete context filters values as well.&lt;br /&gt;
* A [[Custom_Query_Search|custom query based search]] is now available to be used in customizing.&lt;br /&gt;
* Fixed some issues in the embedded PDF viewer.&lt;br /&gt;
** Fixed an issue where PDF ink annotations might change their colors (when you create many).&lt;br /&gt;
** Fixed an issue where saved PDF annotations are no longer selectable even when they are created by the current user.&lt;br /&gt;
** Fixed some selection related issues for PDF annotations.&lt;br /&gt;
** Fixed an issue where the color of some Annotations changes after saving.&lt;br /&gt;
** There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* Fixed an issue where Guid/link properties do not always display their current selected values.&lt;br /&gt;
* Fixed issue where the Metadefinitions were not updated when in expert mode.&lt;br /&gt;
* (Android) Fixed an issue where the switching of sync modes might cause the Android system to prompt the app not responding warning.&lt;br /&gt;
* Fixed an issue where [[XAML_Tips#Access_to_an_arbitrary_object|ObjectByUID]] didn't update on Login.&lt;br /&gt;
* Fixed an issue that caused the validation time stamp of work packages to be null when confirming them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&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;
* Android: When changing multiple objects at the same time (e.g. via [[Multi_Select_(UBIK_Client)|Mass Edit]]), the sorting order might be messed up and some of the items might appear duplicated.&lt;br /&gt;
* There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ⚠️ XAML Notes =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_4.9_(Xamarin)&amp;diff=27872</id>
		<title>Version 4.9 (Xamarin)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_4.9_(Xamarin)&amp;diff=27872"/>
				<updated>2025-02-17T12:39:36Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* Availability */&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;
{{Attention|The minimum supported OS versions are:&lt;br /&gt;
* Android 9;&lt;br /&gt;
* iOS 11.}}&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}}: To join the preview tests please send an email to testing@augmensys.com and provide an email address that is connected to a google play account as well as the information that you want to join the android preview test.  Alternatively you can contact the Augmensys staff and submit your chosen email address. You can opt in or out of the test at any time in the store.&lt;br /&gt;
&lt;br /&gt;
Example: Please add my email account example@example.com to the '''Preview''' test group for the '''Android''' client.&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|iOS: Store Preview}}: Available through Apple App Store's [https://testflight.apple.com/join/qDMZjTgg invitation link].&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;
=== 4.9.? on 2025-02-?? ===&lt;br /&gt;
* [[Property_Based_Content_Filters#Troubleshooting|Property based filtering configs]] are now persisted per profile and per user.&lt;br /&gt;
* Fixed an issue where excessive license warnings are displayed sometimes (when you don't have enough licenses and push/live value updates are active).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.9.7 on 2025-02-05 {{key press|Android: Store}}{{key press|iOS: Store}}{{key press|UWP: App Center}}  ===&lt;br /&gt;
* (Android) {{UBIK}} can now also use web proxies configured through the Android Proxy Auto-Config setting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beta ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.5 on 2025-01-28 {{key press|Android: Store Beta}}{{key press|iOS: Store Beta}}{{key press|UWP: App Center}}  ===&lt;br /&gt;
* Fixed issue that wrongly enabled the Copy button in the multi select panel.&lt;br /&gt;
* Fixed an issue that affected multi selection of objects with multi owner properties.&lt;br /&gt;
* Fixed an issue where a trust warning is displayed when a user logs in with an already validated SSO session. Changing the SSO related configuration in the profile is needed, see details [[HowTo:Integrate_UBIK_in_an_SSO_Environment#tab=Client|here under &amp;quot;CLIENT - OIDC&amp;quot;]].&lt;br /&gt;
* Fixed an issue that caused the template for tasks to not update immediately when being locked or unlocked.&lt;br /&gt;
* Fixed an issue where navigating to a linked object when it's not yet available locally doesn't always work.&lt;br /&gt;
* Fixed an issue where the virtual keyboard sometimes appeared for no reason.&lt;br /&gt;
* Fixed an issue where the UI of task items looked destroyed after pressing the NA button.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.1 on 2024-12-20 {{key press|App Center}}  ===&lt;br /&gt;
* The [[Data_Replication_(UBIK_Client)#Data_templates|data template replication]] feature is redesigned.&lt;br /&gt;
* The offline query feature is improved when there are [[Offline_Query_(UBIK_WinX)#Query_with_context_filter_values|automatically applied context values]].&lt;br /&gt;
** The UI displays context filter values and user entered filter values differently;&lt;br /&gt;
** It's now possible to reset/delete context filters values as well.&lt;br /&gt;
* A [[Custom_Query_Search|custom query based search]] is now available to be used in customizing.&lt;br /&gt;
* Fixed some issues in the embedded PDF viewer.&lt;br /&gt;
** Fixed an issue where PDF ink annotations might change their colors (when you create many).&lt;br /&gt;
** Fixed an issue where saved PDF annotations are no longer selectable even when they are created by the current user.&lt;br /&gt;
** Fixed some selection related issues for PDF annotations.&lt;br /&gt;
** Fixed an issue where the color of some Annotations changes after saving.&lt;br /&gt;
** There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* Fixed an issue where Guid/link properties do not always display their current selected values.&lt;br /&gt;
* Fixed issue where the Metadefinitions were not updated when in expert mode.&lt;br /&gt;
* (Android) Fixed an issue where the switching of sync modes might cause the Android system to prompt the app not responding warning.&lt;br /&gt;
* Fixed an issue where [[XAML_Tips#Access_to_an_arbitrary_object|ObjectByUID]] didn't update on Login.&lt;br /&gt;
* Fixed an issue that caused the validation time stamp of work packages to be null when confirming them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&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;
* Android: When changing multiple objects at the same time (e.g. via [[Multi_Select_(UBIK_Client)|Mass Edit]]), the sorting order might be messed up and some of the items might appear duplicated.&lt;br /&gt;
* There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ⚠️ XAML Notes =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_4.9_(WinX)&amp;diff=27871</id>
		<title>Version 4.9 (WinX)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_4.9_(WinX)&amp;diff=27871"/>
				<updated>2025-02-17T12:35:46Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* Availability */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|This version requires [https://en.wikipedia.org/wiki/Windows_10_version_history#Version_1809_(October_2018_Update) Windows 10 build 17763] or higher}}&lt;br /&gt;
&lt;br /&gt;
== Availability ==&lt;br /&gt;
{{key press|Store}}: Publicly available in Microsoft Store.&lt;br /&gt;
&lt;br /&gt;
{{key press|Store Beta}} / {{key press|Store Preview}}: Publicly available in Microsoft Store as beta or preview versions to those whose account email is participating in our beta or preview test. To join, please send an email to the email address testing@augmensys.com and provide an email address to add to the list as well as the information which test you want to join. Alternatively you can contact the Augmensys staff and submit your chosen email address.&lt;br /&gt;
&lt;br /&gt;
Example: Please add my email account example@example.com to the '''Beta''' test group for the '''WinX''' client.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Attention|Some customized XAMLs might need an update to work properly. These changes are marked with ⚠️}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 4.9|Version 4.9 (WinX)]]&lt;br /&gt;
&lt;br /&gt;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Release ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.? on 2025-02-?? ===&lt;br /&gt;
* [[Property_Based_Content_Filters#Troubleshooting|Property based filtering configs]] are now persisted per profile and per user.&lt;br /&gt;
* Fixed an issue where excessive license warnings are displayed sometimes (when you don't have enough licenses and push/live value updates are active).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.9.4 on 2025-02-05 ===&lt;br /&gt;
* Fixed an issue where the values of a geo task item content control had a bad readability.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beta ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.2 on 2025-01-28 {{key press|Store Beta}}  ===&lt;br /&gt;
* Fixed issue that wrongly enabled the Copy button in the multi select panel.&lt;br /&gt;
* Fixed an issue that affected multi selection of objects with multi owner properties.&lt;br /&gt;
* Added an indicator for invalid values to direct editing tasks.&lt;br /&gt;
* Fixed an issue where the guid property value did not display.&lt;br /&gt;
* Fixed an issue where the UBIK push service is not started when the profile used has starting/trailing spaces in their Project tag.&lt;br /&gt;
* Fixed an issue where navigating to a linked object when it's not yet available locally doesn't always work.&lt;br /&gt;
* Fixed an issue where the entered valid values do not get confirmed when the task direct editing UI loses focus.&lt;br /&gt;
* Fixed an issue where the UI of task items looked destroyed after pressing the NA button.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.1 on 2024-12-20 {{key press|App Center}}  ===&lt;br /&gt;
* The [[Data_Replication_(UBIK_Client)#Data_templates|data template replication]] feature is redesigned.&lt;br /&gt;
* The offline query feature is improved when there are [[Offline_Query_(UBIK_WinX)#Query_with_context_filter_values|automatically applied context values]].&lt;br /&gt;
** The UI displays context filter values and user entered filter values differently;&lt;br /&gt;
** It's now possible to reset/delete context filters values as well.&lt;br /&gt;
* A [[Custom_Query_Search|custom query based search]] is now available to be used in customizing.&lt;br /&gt;
* The [[Documents_(Client)#Remember_Document_Settings|Remember Document Settings]] feature enables the option to save PDF Viewer settings.&lt;br /&gt;
* Fixed some issues in the embedded PDF viewer.&lt;br /&gt;
** Fixed an issue where PDF free text annotations might change their colors (when you create many).&lt;br /&gt;
** Fixed some selection related issues for PDF annotations.&lt;br /&gt;
** Fixed an issue where underline &amp;amp; strike through text Annotations were not saved properly.&lt;br /&gt;
** There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* Fixed an issue where Guid/link properties do not always display their current selected values.&lt;br /&gt;
* Fixed an issue where dynamic selective list properties do not always display their current selected values.&lt;br /&gt;
* Fixed an issue where unconfirmed Guid property values couldn't get deleted.&lt;br /&gt;
* Fixed an issue where images with the same height &amp;amp; width got rotated 90 degrees after saving.&lt;br /&gt;
* Fixed an issue where document items do not get properly refilterd in a expression based filtering list.&lt;br /&gt;
* Fixed an issue where new annotations might be lost on PDF documents if you exit annotation mode too fast right after creation (e.g. by activating hotspotting mode).&lt;br /&gt;
* Fixed an issue where the thumbnails of hotspots are only updated once during creation, which results in potentially incorrect flattened results on the server.&lt;br /&gt;
* Fixed an issue where [[XAML_Tips#Access_to_an_arbitrary_object|ObjectByUID]] didn't update on Login.&lt;br /&gt;
* Fixed an issue that caused the validation time stamp of work packages to be null when confirming them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* When editing Guid Link properties, you can no longer further edit the filtering if there are predefined filter parameters (such as the [[Dynamic_Selective_List_(Client)#Dependency_property_values|dependency property values in dynamic selective lists]]). This is because those parameters are to be enforced by design and should not be changed by users. In the future, we might consider a finer level of control over which parameters can be edited in such cases.&lt;br /&gt;
* Free Text Annotations that where created in former sessions cannot be selected and therefore cannot be edited any more.&lt;br /&gt;
* There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* Known issues regarding the [[Documents_(Client)#Remember_Document_Settings|Remember Document Settings]] feature:&lt;br /&gt;
** Saving the Zoom value via touch gestures is not supported.&lt;br /&gt;
** Due to a third-party framework issue it can't be guaranteed that saving the Zoom level is always working properly. We reported this issue and will update our solution as soon as it is resolved on their side.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ⚠️ XAML Notes =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Category/Version2|{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 4.9|Version 4.9 (WinX)]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_4.9_(Xamarin)&amp;diff=27862</id>
		<title>Version 4.9 (Xamarin)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_4.9_(Xamarin)&amp;diff=27862"/>
				<updated>2025-02-13T08:38:56Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* Availability */&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;
{{Attention|The minimum supported OS versions are:&lt;br /&gt;
* Android 9;&lt;br /&gt;
* iOS 11.}}&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}}: To join the preview tests please send an email to testing@augmensys.com and provide an email address that is connected to a google play account as well as the information that you want to join the android preview test.  Alternatively you can contact the Augmensys staff and submit your chosen email address. You can opt in or out of the test 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|iOS: Store Preview}}: Available through Apple App Store's [https://testflight.apple.com/join/qDMZjTgg invitation link].&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;
=== 4.9.? on 2025-02-?? ===&lt;br /&gt;
* [[Property_Based_Content_Filters#Troubleshooting|Property based filtering configs]] are now persisted per profile and per user.&lt;br /&gt;
* Fixed an issue where excessive license warnings are displayed sometimes (when you don't have enough licenses and push/live value updates are active).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.9.7 on 2025-02-05 {{key press|Android: Store}}{{key press|iOS: Store}}{{key press|UWP: App Center}}  ===&lt;br /&gt;
* (Android) {{UBIK}} can now also use web proxies configured through the Android Proxy Auto-Config setting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beta ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.5 on 2025-01-28 {{key press|Android: Store Beta}}{{key press|iOS: Store Beta}}{{key press|UWP: App Center}}  ===&lt;br /&gt;
* Fixed issue that wrongly enabled the Copy button in the multi select panel.&lt;br /&gt;
* Fixed an issue that affected multi selection of objects with multi owner properties.&lt;br /&gt;
* Fixed an issue where a trust warning is displayed when a user logs in with an already validated SSO session. Changing the SSO related configuration in the profile is needed, see details [[HowTo:Integrate_UBIK_in_an_SSO_Environment#tab=Client|here under &amp;quot;CLIENT - OIDC&amp;quot;]].&lt;br /&gt;
* Fixed an issue that caused the template for tasks to not update immediately when being locked or unlocked.&lt;br /&gt;
* Fixed an issue where navigating to a linked object when it's not yet available locally doesn't always work.&lt;br /&gt;
* Fixed an issue where the virtual keyboard sometimes appeared for no reason.&lt;br /&gt;
* Fixed an issue where the UI of task items looked destroyed after pressing the NA button.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.1 on 2024-12-20 {{key press|App Center}}  ===&lt;br /&gt;
* The [[Data_Replication_(UBIK_Client)#Data_templates|data template replication]] feature is redesigned.&lt;br /&gt;
* The offline query feature is improved when there are [[Offline_Query_(UBIK_WinX)#Query_with_context_filter_values|automatically applied context values]].&lt;br /&gt;
** The UI displays context filter values and user entered filter values differently;&lt;br /&gt;
** It's now possible to reset/delete context filters values as well.&lt;br /&gt;
* A [[Custom_Query_Search|custom query based search]] is now available to be used in customizing.&lt;br /&gt;
* Fixed some issues in the embedded PDF viewer.&lt;br /&gt;
** Fixed an issue where PDF ink annotations might change their colors (when you create many).&lt;br /&gt;
** Fixed an issue where saved PDF annotations are no longer selectable even when they are created by the current user.&lt;br /&gt;
** Fixed some selection related issues for PDF annotations.&lt;br /&gt;
** Fixed an issue where the color of some Annotations changes after saving.&lt;br /&gt;
** There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* Fixed an issue where Guid/link properties do not always display their current selected values.&lt;br /&gt;
* Fixed issue where the Metadefinitions were not updated when in expert mode.&lt;br /&gt;
* (Android) Fixed an issue where the switching of sync modes might cause the Android system to prompt the app not responding warning.&lt;br /&gt;
* Fixed an issue where [[XAML_Tips#Access_to_an_arbitrary_object|ObjectByUID]] didn't update on Login.&lt;br /&gt;
* Fixed an issue that caused the validation time stamp of work packages to be null when confirming them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&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;
* Android: When changing multiple objects at the same time (e.g. via [[Multi_Select_(UBIK_Client)|Mass Edit]]), the sorting order might be messed up and some of the items might appear duplicated.&lt;br /&gt;
* There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ⚠️ XAML Notes =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_4.9_(WinX)&amp;diff=27844</id>
		<title>Version 4.9 (WinX)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_4.9_(WinX)&amp;diff=27844"/>
				<updated>2025-02-10T13:26:14Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* Availability */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|This version requires [https://en.wikipedia.org/wiki/Windows_10_version_history#Version_1809_(October_2018_Update) Windows 10 build 17763] or higher}}&lt;br /&gt;
&lt;br /&gt;
== Availability ==&lt;br /&gt;
{{key press|Store}}: Publicly available in Microsoft Store.&lt;br /&gt;
&lt;br /&gt;
{{key press|Store Beta}}: Publicly available in Microsoft Store as beta versions to those whose account email is included in our beta program. To join the beta program please send an email to the email address testing@augmensys.com and provide an email address to add to the list as well as the information that you want to join the windows beta test. Alternatively you can contact the Augmensys staff and submit your chosen email address.&lt;br /&gt;
&lt;br /&gt;
{{key press|Store Preview}}: Publicly available in Microsoft Store as preview versions to those whose account email is included in our preview program. To join the preview program please send an email to the email address testing@augmensys.com and provide an email address to add to the list as well as the information that you want to join the windows preview test. Alternatively you can contact the Augmensys staff and submit your chosen email address.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Attention|Some customized XAMLs might need an update to work properly. These changes are marked with ⚠️}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 4.9|Version 4.9 (WinX)]]&lt;br /&gt;
&lt;br /&gt;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Release ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.? on 2025-02-?? ===&lt;br /&gt;
* [[Property_Based_Content_Filters#Troubleshooting|Property based filtering configs]] are now persisted per profile and per user.&lt;br /&gt;
* Fixed an issue where excessive license warnings are displayed sometimes (when you don't have enough licenses and push/live value updates are active).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.9.4 on 2025-02-05 ===&lt;br /&gt;
* Fixed an issue where the values of a geo task item content control had a bad readability.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beta ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.2 on 2025-01-28 {{key press|Store Beta}}  ===&lt;br /&gt;
* Fixed issue that wrongly enabled the Copy button in the multi select panel.&lt;br /&gt;
* Fixed an issue that affected multi selection of objects with multi owner properties.&lt;br /&gt;
* Added an indicator for invalid values to direct editing tasks.&lt;br /&gt;
* Fixed an issue where the guid property value did not display.&lt;br /&gt;
* Fixed an issue where the UBIK push service is not started when the profile used has starting/trailing spaces in their Project tag.&lt;br /&gt;
* Fixed an issue where navigating to a linked object when it's not yet available locally doesn't always work.&lt;br /&gt;
* Fixed an issue where the entered valid values do not get confirmed when the task direct editing UI loses focus.&lt;br /&gt;
* Fixed an issue where the UI of task items looked destroyed after pressing the NA button.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.1 on 2024-12-20 {{key press|App Center}}  ===&lt;br /&gt;
* The [[Data_Replication_(UBIK_Client)#Data_templates|data template replication]] feature is redesigned.&lt;br /&gt;
* The offline query feature is improved when there are [[Offline_Query_(UBIK_WinX)#Query_with_context_filter_values|automatically applied context values]].&lt;br /&gt;
** The UI displays context filter values and user entered filter values differently;&lt;br /&gt;
** It's now possible to reset/delete context filters values as well.&lt;br /&gt;
* A [[Custom_Query_Search|custom query based search]] is now available to be used in customizing.&lt;br /&gt;
* The [[Documents_(Client)#Remember_Document_Settings|Remember Document Settings]] feature enables the option to save PDF Viewer settings.&lt;br /&gt;
* Fixed some issues in the embedded PDF viewer.&lt;br /&gt;
** Fixed an issue where PDF free text annotations might change their colors (when you create many).&lt;br /&gt;
** Fixed some selection related issues for PDF annotations.&lt;br /&gt;
** Fixed an issue where underline &amp;amp; strike through text Annotations were not saved properly.&lt;br /&gt;
** There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* Fixed an issue where Guid/link properties do not always display their current selected values.&lt;br /&gt;
* Fixed an issue where dynamic selective list properties do not always display their current selected values.&lt;br /&gt;
* Fixed an issue where unconfirmed Guid property values couldn't get deleted.&lt;br /&gt;
* Fixed an issue where images with the same height &amp;amp; width got rotated 90 degrees after saving.&lt;br /&gt;
* Fixed an issue where document items do not get properly refilterd in a expression based filtering list.&lt;br /&gt;
* Fixed an issue where new annotations might be lost on PDF documents if you exit annotation mode too fast right after creation (e.g. by activating hotspotting mode).&lt;br /&gt;
* Fixed an issue where the thumbnails of hotspots are only updated once during creation, which results in potentially incorrect flattened results on the server.&lt;br /&gt;
* Fixed an issue where [[XAML_Tips#Access_to_an_arbitrary_object|ObjectByUID]] didn't update on Login.&lt;br /&gt;
* Fixed an issue that caused the validation time stamp of work packages to be null when confirming them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* When editing Guid Link properties, you can no longer further edit the filtering if there are predefined filter parameters (such as the [[Dynamic_Selective_List_(Client)#Dependency_property_values|dependency property values in dynamic selective lists]]). This is because those parameters are to be enforced by design and should not be changed by users. In the future, we might consider a finer level of control over which parameters can be edited in such cases.&lt;br /&gt;
* Free Text Annotations that where created in former sessions cannot be selected and therefore cannot be edited any more.&lt;br /&gt;
* There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* Known issues regarding the [[Documents_(Client)#Remember_Document_Settings|Remember Document Settings]] feature:&lt;br /&gt;
** Saving the Zoom value via touch gestures is not supported.&lt;br /&gt;
** Due to a third-party framework issue it can't be guaranteed that saving the Zoom level is always working properly. We reported this issue and will update our solution as soon as it is resolved on their side.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ⚠️ XAML Notes =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Category/Version2|{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 4.9|Version 4.9 (WinX)]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_4.9_(Xamarin)&amp;diff=27783</id>
		<title>Version 4.9 (Xamarin)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_4.9_(Xamarin)&amp;diff=27783"/>
				<updated>2025-01-22T07:37:14Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* 4.9.2 on 2025-01-?? {{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;
{{Attention|The minimum supported OS versions are:&lt;br /&gt;
* Android 9;&lt;br /&gt;
* iOS 11.}}&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;
&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;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.2 on 2025-01-?? {{key press|App Center}}  ===&lt;br /&gt;
* Fixed issue that wrongly enabled the Copy button in the multi select panel.&lt;br /&gt;
* Fixed an issue that affected multi selection of objects with multi owner properties.&lt;br /&gt;
* Fixed an issue where a trust warning is displayed when a user logs in with an already validated SSO session. Changing the SSO related configuration in the profile is needed, see details [[HowTo:Integrate_UBIK_in_an_SSO_Environment#tab=Client|here under &amp;quot;CLIENT - OIDC&amp;quot;]].&lt;br /&gt;
* Fixed an issue that caused the template for tasks to not update immediately when being locked or unlocked.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4.9.1 on 2024-12-20 {{key press|App Center}}  ===&lt;br /&gt;
* The [[Data_Replication_(UBIK_Client)#Data_templates|data template replication]] feature is redesigned.&lt;br /&gt;
* The offline query feature is improved when there are [[Offline_Query_(UBIK_WinX)#Query_with_context_filter_values|automatically applied context values]].&lt;br /&gt;
** The UI displays context filter values and user entered filter values differently;&lt;br /&gt;
** It's now possible to reset/delete context filters values as well.&lt;br /&gt;
* A [[Custom_Query_Search|custom query based search]] is now available to be used in customizing.&lt;br /&gt;
* Fixed some issues in the embedded PDF viewer.&lt;br /&gt;
** Fixed an issue where PDF ink annotations might change their colors (when you create many).&lt;br /&gt;
** Fixed an issue where saved PDF annotations are no longer selectable even when they are created by the current user.&lt;br /&gt;
** Fixed some selection related issues for PDF annotations.&lt;br /&gt;
** Fixed an issue where the color of some Annotations changes after saving.&lt;br /&gt;
** There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* Fixed an issue where Guid/link properties do not always display their current selected values.&lt;br /&gt;
* Fixed issue where the Metadefinitions were not updated when in expert mode.&lt;br /&gt;
* (Android) Fixed an issue where the switching of sync modes might cause the Android system to prompt the app not responding warning.&lt;br /&gt;
* Fixed an issue where [[XAML_Tips#Access_to_an_arbitrary_object|ObjectByUID]] didn't update on Login.&lt;br /&gt;
* Fixed an issue that caused the validation time stamp of work packages to be null when confirming them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&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;
* Android: When changing multiple objects at the same time (e.g. via [[Multi_Select_(UBIK_Client)|Mass Edit]]), the sorting order might be messed up and some of the items might appear duplicated.&lt;br /&gt;
* There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ⚠️ XAML Notes =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_4.9_(Xamarin)&amp;diff=27768</id>
		<title>Version 4.9 (Xamarin)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_4.9_(Xamarin)&amp;diff=27768"/>
				<updated>2025-01-20T11:31:47Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* 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;
{{Attention|The minimum supported OS versions are:&lt;br /&gt;
* Android 9;&lt;br /&gt;
* iOS 11.}}&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;
&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;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.2 on 2025-01-?? {{key press|App Center}}  ===&lt;br /&gt;
* Fixed issue that wrongly enabled the Copy button in the multi select panel.&lt;br /&gt;
* Fixed an issue that affected multi selection of objects with multi owner properties.&lt;br /&gt;
&lt;br /&gt;
=== 4.9.1 on 2024-12-20 {{key press|App Center}}  ===&lt;br /&gt;
* The [[Data_Replication_(UBIK_Client)#Data_templates|data template replication]] feature is redesigned.&lt;br /&gt;
* The offline query feature is improved when there are [[Offline_Query_(UBIK_WinX)#Query_with_context_filter_values|automatically applied context values]].&lt;br /&gt;
** The UI displays context filter values and user entered filter values differently;&lt;br /&gt;
** It's now possible to reset/delete context filters values as well.&lt;br /&gt;
* A [[Custom_Query_Search|custom query based search]] is now available to be used in customizing.&lt;br /&gt;
* Fixed some issues in the embedded PDF viewer.&lt;br /&gt;
** Fixed an issue where PDF ink annotations might change their colors (when you create many).&lt;br /&gt;
** Fixed an issue where saved PDF annotations are no longer selectable even when they are created by the current user.&lt;br /&gt;
** Fixed some selection related issues for PDF annotations.&lt;br /&gt;
** Fixed an issue where the color of some Annotations changes after saving.&lt;br /&gt;
** There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* Fixed an issue where Guid/link properties do not always display their current selected values.&lt;br /&gt;
* Fixed issue where the Metadefinitions were not updated when in expert mode.&lt;br /&gt;
* (Android) Fixed an issue where the switching of sync modes might cause the Android system to prompt the app not responding warning.&lt;br /&gt;
* Fixed an issue where [[XAML_Tips#Access_to_an_arbitrary_object|ObjectByUID]] didn't update on Login.&lt;br /&gt;
* Fixed an issue that caused the validation time stamp of work packages to be null when confirming them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&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;
* Android: When changing multiple objects at the same time (e.g. via [[Multi_Select_(UBIK_Client)|Mass Edit]]), the sorting order might be messed up and some of the items might appear duplicated.&lt;br /&gt;
* There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ⚠️ XAML Notes =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_4.9_(WinX)&amp;diff=27767</id>
		<title>Version 4.9 (WinX)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_4.9_(WinX)&amp;diff=27767"/>
				<updated>2025-01-20T11:31:39Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* Preview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|This version requires [https://en.wikipedia.org/wiki/Windows_10_version_history#Version_1809_(October_2018_Update) Windows 10 build 17763] or higher}}&lt;br /&gt;
&lt;br /&gt;
== Availability ==&lt;br /&gt;
{{key press|Store}}: Publicly available in Microsoft Store.&lt;br /&gt;
&lt;br /&gt;
{{key press|Store Beta}}: Publicly available in Microsoft Store as beta versions to those whose account email is included in our beta program. Please contact the Augmensys staff and submit your chosen email address if you would like to join.&lt;br /&gt;
&lt;br /&gt;
{{key press|App Center}}: Available to those who have access to the Augmensys App Center.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Attention|Some customized XAMLs might need an update to work properly. These changes are marked with ⚠️}}&lt;br /&gt;
&lt;br /&gt;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.2 on 2025-01-?? {{key press|App Center}}  ===&lt;br /&gt;
* Fixed issue that wrongly enabled the Copy button in the multi select panel.&lt;br /&gt;
* Fixed an issue that affected multi selection of objects with multi owner properties.&lt;br /&gt;
&lt;br /&gt;
=== 4.9.1 on 2024-12-20 {{key press|App Center}}  ===&lt;br /&gt;
* The [[Data_Replication_(UBIK_Client)#Data_templates|data template replication]] feature is redesigned.&lt;br /&gt;
* The offline query feature is improved when there are [[Offline_Query_(UBIK_WinX)#Query_with_context_filter_values|automatically applied context values]].&lt;br /&gt;
** The UI displays context filter values and user entered filter values differently;&lt;br /&gt;
** It's now possible to reset/delete context filters values as well.&lt;br /&gt;
* A [[Custom_Query_Search|custom query based search]] is now available to be used in customizing.&lt;br /&gt;
* The [[Documents_(Client)#Remember_Document_Settings|Remember Document Settings]] feature enables the option to save PDF Viewer settings.&lt;br /&gt;
* Fixed some issues in the embedded PDF viewer.&lt;br /&gt;
** Fixed an issue where PDF free text annotations might change their colors (when you create many).&lt;br /&gt;
** Fixed some selection related issues for PDF annotations.&lt;br /&gt;
** Fixed an issue where underline &amp;amp; strike through text Annotations were not saved properly.&lt;br /&gt;
** There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* Fixed an issue where Guid/link properties do not always display their current selected values.&lt;br /&gt;
* Fixed an issue where dynamic selective list properties do not always display their current selected values.&lt;br /&gt;
* Fixed an issue where unconfirmed Guid property values couldn't get deleted.&lt;br /&gt;
* Fixed an issue where images with the same height &amp;amp; width got rotated 90 degrees after saving.&lt;br /&gt;
* Fixed an issue where document items do not get properly refilterd in a expression based filtering list.&lt;br /&gt;
* Fixed an issue where new annotations might be lost on PDF documents if you exit annotation mode too fast right after creation (e.g. by activating hotspotting mode).&lt;br /&gt;
* Fixed an issue where the thumbnails of hotspots are only updated once during creation, which results in potentially incorrect flattened results on the server.&lt;br /&gt;
* Fixed an issue where [[XAML_Tips#Access_to_an_arbitrary_object|ObjectByUID]] didn't update on Login.&lt;br /&gt;
* Fixed an issue that caused the validation time stamp of work packages to be null when confirming them.&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 4.9|Version 4.9 (WinX)]]&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* When editing Guid Link properties, you can no longer further edit the filtering if there are predefined filter parameters (such as the [[Dynamic_Selective_List_(Client)#Dependency_property_values|dependency property values in dynamic selective lists]]). This is because those parameters are to be enforced by design and should not be changed by users. In the future, we might consider a finer level of control over which parameters can be edited in such cases.&lt;br /&gt;
* Free Text Annotations that where created in former sessions cannot be selected and therefore cannot be edited any more.&lt;br /&gt;
* There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* Known issues regarding the [[Documents_(Client)#Remember_Document_Settings|Remember Document Settings]] feature:&lt;br /&gt;
** Saving the Zoom value via touch gestures is not supported.&lt;br /&gt;
** Due to a third-party framework issue it can't be guaranteed that saving the Zoom level is always working properly. We reported this issue and will update our solution as soon as it is resolved on their side.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ⚠️ XAML Notes =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Category/Version2|{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 4.9|Version 4.9 (WinX)]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_4.9_(Xamarin)&amp;diff=27707</id>
		<title>Version 4.9 (Xamarin)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_4.9_(Xamarin)&amp;diff=27707"/>
				<updated>2025-01-07T10:38:54Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* 4.9.1 on 2024-12-20 {{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;
{{Attention|The minimum supported OS versions are:&lt;br /&gt;
* Android 9;&lt;br /&gt;
* iOS 11.}}&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;
&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;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.1 on 2024-12-20 {{key press|App Center}}  ===&lt;br /&gt;
* The [[Data_Replication_(UBIK_Client)#Data_templates|data template replication]] feature is redesigned.&lt;br /&gt;
* The offline query feature is improved when there are [[Offline_Query_(UBIK_WinX)#Query_with_context_filter_values|automatically applied context values]].&lt;br /&gt;
** The UI displays context filter values and user entered filter values differently;&lt;br /&gt;
** It's now possible to reset/delete context filters values as well.&lt;br /&gt;
* A [[Custom_Query_Search|custom query based search]] is now available to be used in customizing.&lt;br /&gt;
* Fixed some issues in the embedded PDF viewer.&lt;br /&gt;
** Fixed an issue where PDF ink annotations might change their colors (when you create many).&lt;br /&gt;
** Fixed an issue where saved PDF annotations are no longer selectable even when they are created by the current user.&lt;br /&gt;
** Fixed some selection related issues for PDF annotations.&lt;br /&gt;
** Fixed an issue where the color of some Annotations changes after saving.&lt;br /&gt;
** There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* Fixed an issue where Guid/link properties do not always display their current selected values.&lt;br /&gt;
* Fixed issue where the Metadefinitions were not updated when in expert mode.&lt;br /&gt;
* (Android) Fixed an issue where the switching of sync modes might cause the Android system to prompt the app not responding warning.&lt;br /&gt;
* Fixed an issue where [[XAML_Tips#Access_to_an_arbitrary_object|ObjectByUID]] didn't update on Login.&lt;br /&gt;
* Fixed an issue that caused the validation time stamp of work packages to be null when confirming them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&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;
* Android: When changing multiple objects at the same time (e.g. via [[Multi_Select_(UBIK_Client)|Mass Edit]]), the sorting order might be messed up and some of the items might appear duplicated.&lt;br /&gt;
* There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ⚠️ XAML Notes =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_4.9_(WinX)&amp;diff=27706</id>
		<title>Version 4.9 (WinX)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_4.9_(WinX)&amp;diff=27706"/>
				<updated>2025-01-07T10:37:09Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* 4.9.1 on 2024-12-20 {{key press|App Center}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|This version requires [https://en.wikipedia.org/wiki/Windows_10_version_history#Version_1809_(October_2018_Update) Windows 10 build 17763] or higher}}&lt;br /&gt;
&lt;br /&gt;
== Availability ==&lt;br /&gt;
{{key press|Store}}: Publicly available in Microsoft Store.&lt;br /&gt;
&lt;br /&gt;
{{key press|Store Beta}}: Publicly available in Microsoft Store as beta versions to those whose account email is included in our beta program. Please contact the Augmensys staff and submit your chosen email address if you would like to join.&lt;br /&gt;
&lt;br /&gt;
{{key press|App Center}}: Available to those who have access to the Augmensys App Center.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Attention|Some customized XAMLs might need an update to work properly. These changes are marked with ⚠️}}&lt;br /&gt;
&lt;br /&gt;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.1 on 2024-12-20 {{key press|App Center}}  ===&lt;br /&gt;
* The [[Data_Replication_(UBIK_Client)#Data_templates|data template replication]] feature is redesigned.&lt;br /&gt;
* The offline query feature is improved when there are [[Offline_Query_(UBIK_WinX)#Query_with_context_filter_values|automatically applied context values]].&lt;br /&gt;
** The UI displays context filter values and user entered filter values differently;&lt;br /&gt;
** It's now possible to reset/delete context filters values as well.&lt;br /&gt;
* A [[Custom_Query_Search|custom query based search]] is now available to be used in customizing.&lt;br /&gt;
* The [[Documents_(Client)#Remember_Document_Settings|Remember Document Settings]] feature enables the option to save PDF Viewer settings.&lt;br /&gt;
* Fixed some issues in the embedded PDF viewer.&lt;br /&gt;
** Fixed an issue where PDF free text annotations might change their colors (when you create many).&lt;br /&gt;
** Fixed some selection related issues for PDF annotations.&lt;br /&gt;
** Fixed an issue where underline &amp;amp; strike through text Annotations were not saved properly.&lt;br /&gt;
** There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* Fixed an issue where Guid/link properties do not always display their current selected values.&lt;br /&gt;
* Fixed an issue where dynamic selective list properties do not always display their current selected values.&lt;br /&gt;
* Fixed an issue where unconfirmed Guid property values couldn't get deleted.&lt;br /&gt;
* Fixed an issue where images with the same height &amp;amp; width got rotated 90 degrees after saving.&lt;br /&gt;
* Fixed an issue where document items do not get properly refilterd in a expression based filtering list.&lt;br /&gt;
* Fixed an issue where new annotations might be lost on PDF documents if you exit annotation mode too fast right after creation (e.g. by activating hotspotting mode).&lt;br /&gt;
* Fixed an issue where the thumbnails of hotspots are only updated once during creation, which results in potentially incorrect flattened results on the server.&lt;br /&gt;
* Fixed an issue where [[XAML_Tips#Access_to_an_arbitrary_object|ObjectByUID]] didn't update on Login.&lt;br /&gt;
* Fixed an issue that caused the validation time stamp of work packages to be null when confirming them.&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 4.9|Version 4.9 (WinX)]]&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* When editing Guid Link properties, you can no longer further edit the filtering if there are predefined filter parameters (such as the [[Dynamic_Selective_List_(Client)#Dependency_property_values|dependency property values in dynamic selective lists]]). This is because those parameters are to be enforced by design and should not be changed by users. In the future, we might consider a finer level of control over which parameters can be edited in such cases.&lt;br /&gt;
* Free Text Annotations that where created in former sessions cannot be selected and therefore cannot be edited any more.&lt;br /&gt;
* There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* Known issues regarding the [[Documents_(Client)#Remember_Document_Settings|Remember Document Settings]] feature:&lt;br /&gt;
** Saving the Zoom value via touch gestures is not supported.&lt;br /&gt;
** Due to a third-party framework issue it can't be guaranteed that saving the Zoom level is always working properly. We reported this issue and will update our solution as soon as it is resolved on their side.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ⚠️ XAML Notes =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Category/Version2|{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 4.9|Version 4.9 (WinX)]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_4.9_(Xamarin)&amp;diff=27619</id>
		<title>Version 4.9 (Xamarin)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_4.9_(Xamarin)&amp;diff=27619"/>
				<updated>2024-12-18T13:19:49Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* 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;
{{Attention|The minimum supported OS versions are:&lt;br /&gt;
* Android 9;&lt;br /&gt;
* iOS 11.}}&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;
&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;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.?? on 2024-??-?? {{key press|App Center}}  ===&lt;br /&gt;
* The [[Data_Replication_(UBIK_Client)#Data_templates|data template replication]] feature is redesigned.&lt;br /&gt;
* The offline query feature is improved when there are [[Offline_Query_(UBIK_WinX)#Query_with_context_filter_values|automatically applied context values]].&lt;br /&gt;
** The UI displays context filter values and user entered filter values differently;&lt;br /&gt;
** It's now possible to reset/delete context filters values as well.&lt;br /&gt;
* Fixed some issues in the embedded PDF viewer.&lt;br /&gt;
** Fixed an issue where PDF ink annotations might change their colors (when you create many).&lt;br /&gt;
** Fixed an issue where saved PDF annotations are no longer selectable even when they are created by the current user.&lt;br /&gt;
** Fixed some selection related issues for PDF annotations.&lt;br /&gt;
** Fixed an issue where the color of some Annotations changes after saving.&lt;br /&gt;
** There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* Fixed an issue where Guid/link properties do not always display their current selected values.&lt;br /&gt;
* Fixed issue where the Metadefinitions were not updated when in expert mode.&lt;br /&gt;
* (Android) Fixed an issue where the switching of sync modes might cause the Android system to prompt the app not responding warning.&lt;br /&gt;
* A [[Custom_Query_Search|custom query based search]] is now available to be used in customizing.&lt;br /&gt;
* Fixed an issue where ObjectByUID didn't update on Login.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&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;
* Android: When changing multiple objects at the same time (e.g. via [[Multi_Select_(UBIK_Client)|Mass Edit]]), the sorting order might be messed up and some of the items might appear duplicated.&lt;br /&gt;
* There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ⚠️ XAML Notes =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_4.9_(WinX)&amp;diff=27618</id>
		<title>Version 4.9 (WinX)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_4.9_(WinX)&amp;diff=27618"/>
				<updated>2024-12-18T13:19:03Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* Preview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|This version requires [https://en.wikipedia.org/wiki/Windows_10_version_history#Version_1809_(October_2018_Update) Windows 10 build 17763] or higher}}&lt;br /&gt;
&lt;br /&gt;
== Availability ==&lt;br /&gt;
{{key press|Store}}: Publicly available in Microsoft Store.&lt;br /&gt;
&lt;br /&gt;
{{key press|Store Beta}}: Publicly available in Microsoft Store as beta versions to those whose account email is included in our beta program. Please contact the Augmensys staff and submit your chosen email address if you would like to join.&lt;br /&gt;
&lt;br /&gt;
{{key press|App Center}}: Available to those who have access to the Augmensys App Center.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Attention|Some customized XAMLs might need an update to work properly. These changes are marked with ⚠️}}&lt;br /&gt;
&lt;br /&gt;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.? on 2024-??-?? {{key press|App Center}}  ===&lt;br /&gt;
* The [[Data_Replication_(UBIK_Client)#Data_templates|data template replication]] feature is redesigned.&lt;br /&gt;
* The offline query feature is improved when there are [[Offline_Query_(UBIK_WinX)#Query_with_context_filter_values|automatically applied context values]].&lt;br /&gt;
** The UI displays context filter values and user entered filter values differently;&lt;br /&gt;
** It's now possible to reset/delete context filters values as well.&lt;br /&gt;
* Fixed some issues in the embedded PDF viewer.&lt;br /&gt;
** Fixed an issue where PDF free text annotations might change their colors (when you create many).&lt;br /&gt;
** Fixed some selection related issues for PDF annotations.&lt;br /&gt;
** Fixed an issue where underline &amp;amp; strike through text Annotations were not saved properly.&lt;br /&gt;
** There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* Fixed an issue where Guid/link properties do not always display their current selected values.&lt;br /&gt;
* Fixed an issue where dynamic selective list properties do not always display their current selected values.&lt;br /&gt;
* Fixed an issue where unconfirmed Guid property values couldn't get deleted.&lt;br /&gt;
* Fixed an issue where images with the same height &amp;amp; width got rotated 90 degrees after saving.&lt;br /&gt;
* Fixed an issue where document items do not get properly refilterd in a expression based filtering list.&lt;br /&gt;
* Fixed an issue where new annotations might be lost on PDF documents if you exit annotation mode too fast right after creation (e.g. by activating hotspotting mode).&lt;br /&gt;
* A [[Custom_Query_Search|custom query based search]] is now available to be used in customizing.&lt;br /&gt;
* Fixed an issue where the thumbnails of hotspots are only updated once during creation, which results in potentially incorrect flattened results on the server.&lt;br /&gt;
* Fixed an issue where ObjectByUID didn't update on Login.&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 4.9|Version 4.9 (WinX)]]&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* When editing Guid Link properties, you can no longer further edit the filtering if there are predefined filter parameters (such as the [[Dynamic_Selective_List_(Client)#Dependency_property_values|dependency property values in dynamic selective lists]]). This is because those parameters are to be enforced by design and should not be changed by users. In the future, we might consider a finer level of control over which parameters can be edited in such cases.&lt;br /&gt;
* Free Text Annotations that where created in former sessions cannot be selected and therefore cannot be edited any more.&lt;br /&gt;
* There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ⚠️ XAML Notes =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Category/Version2|{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 4.9|Version 4.9 (WinX)]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_4.9_(WinX)&amp;diff=27598</id>
		<title>Version 4.9 (WinX)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_4.9_(WinX)&amp;diff=27598"/>
				<updated>2024-12-12T12:46:38Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* 4.9.? on 2024-??-?? {{key press|App Center}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Attention|This version requires [https://en.wikipedia.org/wiki/Windows_10_version_history#Version_1809_(October_2018_Update) Windows 10 build 17763] or higher}}&lt;br /&gt;
&lt;br /&gt;
== Availability ==&lt;br /&gt;
{{key press|Store}}: Publicly available in Microsoft Store.&lt;br /&gt;
&lt;br /&gt;
{{key press|Store Beta}}: Publicly available in Microsoft Store as beta versions to those whose account email is included in our beta program. Please contact the Augmensys staff and submit your chosen email address if you would like to join.&lt;br /&gt;
&lt;br /&gt;
{{key press|App Center}}: Available to those who have access to the Augmensys App Center.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Attention|Some customized XAMLs might need an update to work properly. These changes are marked with ⚠️}}&lt;br /&gt;
&lt;br /&gt;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.? on 2024-??-?? {{key press|App Center}}  ===&lt;br /&gt;
* The [[Data_Replication_(UBIK_Client)#Data_templates|data template replication]] feature is redesigned.&lt;br /&gt;
* The offline query feature is improved when there are [[Offline_Query_(UBIK_WinX)#Query_with_context_filter_values|automatically applied context values]].&lt;br /&gt;
** The UI displays context filter values and user entered filter values differently;&lt;br /&gt;
** It's now possible to reset/delete context filters values as well.&lt;br /&gt;
* Fixed some issues in the embedded PDF viewer.&lt;br /&gt;
** Fixed an issue where PDF free text annotations might change their colors (when you create many).&lt;br /&gt;
** Fixed some selection related issues for PDF annotations.&lt;br /&gt;
** Fixed an issue where underline &amp;amp; strike through text Annotations were not saved properly.&lt;br /&gt;
** There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* Fixed an issue where Guid/link properties do not always display their current selected values.&lt;br /&gt;
* Fixed an issue where dynamic selective list properties do not always display their current selected values.&lt;br /&gt;
* Fixed an issue where unconfirmed Guid property values couldn't get deleted.&lt;br /&gt;
* Fixed an issue where images with the same height &amp;amp; width got rotated 90 degrees after saving.&lt;br /&gt;
* Fixed an issue where document items do not get properly refilterd in a expression based filtering list.&lt;br /&gt;
* Fixed an issue where new annotations might be lost on PDF documents if you exit annotation mode too fast right after creation (e.g. by activating hotspotting mode).&lt;br /&gt;
* A custom query based search is now available to be used in customizing.&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 4.9|Version 4.9 (WinX)]]&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* When editing Guid Link properties, you can no longer further edit the filtering if there are predefined filter parameters (such as the [[Dynamic_Selective_List_(Client)#Dependency_property_values|dependency property values in dynamic selective lists]]). This is because those parameters are to be enforced by design and should not be changed by users. In the future, we might consider a finer level of control over which parameters can be edited in such cases.&lt;br /&gt;
* Free Text Annotations that where created in former sessions cannot be selected and therefore cannot be edited any more.&lt;br /&gt;
* There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ⚠️ XAML Notes =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Category/Version2|{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 4.9|Version 4.9 (WinX)]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_4.9_(Xamarin)&amp;diff=27597</id>
		<title>Version 4.9 (Xamarin)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_4.9_(Xamarin)&amp;diff=27597"/>
				<updated>2024-12-12T12:46:14Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* 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;
{{Attention|The minimum supported OS versions are:&lt;br /&gt;
* Android 9;&lt;br /&gt;
* iOS 11.}}&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;
&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;
= Release Notes =&lt;br /&gt;
&lt;br /&gt;
== Preview ==&lt;br /&gt;
&lt;br /&gt;
=== 4.9.?? on 2024-??-?? {{key press|App Center}}  ===&lt;br /&gt;
* The [[Data_Replication_(UBIK_Client)#Data_templates|data template replication]] feature is redesigned.&lt;br /&gt;
* The offline query feature is improved when there are [[Offline_Query_(UBIK_WinX)#Query_with_context_filter_values|automatically applied context values]].&lt;br /&gt;
** The UI displays context filter values and user entered filter values differently;&lt;br /&gt;
** It's now possible to reset/delete context filters values as well.&lt;br /&gt;
* Fixed some issues in the embedded PDF viewer.&lt;br /&gt;
** Fixed an issue where PDF ink annotations might change their colors (when you create many).&lt;br /&gt;
** Fixed an issue where saved PDF annotations are no longer selectable even when they are created by the current user.&lt;br /&gt;
** Fixed some selection related issues for PDF annotations.&lt;br /&gt;
** Fixed an issue where the color of some Annotations changes after saving.&lt;br /&gt;
** There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
* Fixed an issue where Guid/link properties do not always display their current selected values.&lt;br /&gt;
* Fixed issue where the Metadefinitions were not updated when in expert mode.&lt;br /&gt;
* (Android) Fixed an issue where the switching of sync modes might cause the Android system to prompt the app not responding warning.&lt;br /&gt;
* A custom query based search is now available to be used in customizing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&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;
* Android: When changing multiple objects at the same time (e.g. via [[Multi_Select_(UBIK_Client)|Mass Edit]]), the sorting order might be messed up and some of the items might appear duplicated.&lt;br /&gt;
* There are still some [[Annotation_and_HotSpot#Known_issues|known issues with free text and text markup annotations]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ⚠️ XAML Notes =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;headertabs /&amp;gt;&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Custom_Query_Search&amp;diff=27596</id>
		<title>Custom Query Search</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Custom_Query_Search&amp;diff=27596"/>
				<updated>2024-12-12T12:26:50Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* Application */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The custom query search uses a query provided via the customizing to define the context of the search. {{Version/WinXSince|4.9}}{{Version/XamarinSince|4.9}}&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
The custom query search is used when the [[Mobile_Free_Text_Search|free text search]] does not deliver the desired results and a customized online search based on the results of a query is desired. The custom query search does NOT include an offline search (in contrast to the [[Mobile_Free_Text_Search|free text search]]).&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 4.9|Custom Query Search]]&lt;br /&gt;
&lt;br /&gt;
== Functionality ==&lt;br /&gt;
To use the custom query search it is necessary to customize the project as it is not part of the default UI. When the custom query search is added to the customizing it can be used to replace the standard UI's [[Mobile_Free_Text_Search|free text search]] field or added additionally. &lt;br /&gt;
&lt;br /&gt;
When using the custom query search in the customizing of a project it is necessary to provide the UID of the query object that should be used to define the search context. When no UID is given the search will never provide results. How exactly the search term is interpreted and used to return a List of results is handled on the server side.&lt;br /&gt;
&lt;br /&gt;
The custom query search utilizes the same result handling as the [[Mobile_Free_Text_Search|free text search]]. This means the results for both searches are represented in the same list, replacing each other.&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
* SearchText: takes the string that should be used as search term for the search.&lt;br /&gt;
* QueryID: takes the UID of the query object that should be used as search context.&lt;br /&gt;
* (Optional) NavigateOnSingleResult: if this is set to true and a search returns only a single result the app will automatically navigate to the found object. By default its value is true.&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 4.9|Custom Query Search]]&lt;br /&gt;
&lt;br /&gt;
== Example ==&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;AutoSuggestBox x:Name=&amp;quot;Search&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
    &amp;lt;interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
        &amp;lt;behaviors:AutoSuggestBoxInputBehavior&amp;gt;&lt;br /&gt;
            &amp;lt;core:InvokeCommandAction Command=&amp;quot;{Binding CustomQuerySearchCommand}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;core:InvokeCommandAction.CommandParameter&amp;gt;&lt;br /&gt;
                    &amp;lt;controls:KeyValueList&amp;gt;&lt;br /&gt;
                        &amp;lt;controls:KeyValueParameter Key=&amp;quot;SearchText&amp;quot; Value=&amp;quot;{Binding ElementName=Search, Path=Text}&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;controls:KeyValueParameter Key=&amp;quot;NavigateOnSingleResult&amp;quot; Value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;controls:KeyValueParameter Key=&amp;quot;QueryID&amp;quot; Value=&amp;quot;bab1c694-a5ad-421f-8c85-faa385891e4b&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/controls: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;/behaviors:AutoSuggestBoxInputBehavior&amp;gt;&lt;br /&gt;
    &amp;lt;/interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
&amp;lt;/AutoSuggestBox&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;SearchBar x:Name=&amp;quot;SearchField&amp;quot;&lt;br /&gt;
   ...&lt;br /&gt;
        &amp;lt;behaviors:EventHandlerBehavior EventName=&amp;quot;SearchButtonPressed&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;behaviors:InvokeCommandAction Command=&amp;quot;{Binding CustomQuerySearchCommand}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;behaviors:InvokeCommandAction.CommandParameter&amp;gt;&lt;br /&gt;
                    &amp;lt;classes:KeyValueList&amp;gt;&lt;br /&gt;
                        &amp;lt;classes:KeyValueParameter Key=&amp;quot;SearchText&amp;quot; &lt;br /&gt;
                                                    Value=&amp;quot;{Binding Path=Text, Source={x:Reference SearchField}}&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;classes:KeyValueParameter Key=&amp;quot;NavigateOnSingleResult&amp;quot; Value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;classes:KeyValueParameter Key=&amp;quot;QueryID&amp;quot; Value=&amp;quot;bab1c694-a5ad-421f-8c85-faa385891e4b&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/classes:KeyValueList&amp;gt;&lt;br /&gt;
                &amp;lt;/behaviors:InvokeCommandAction.CommandParameter&amp;gt;&lt;br /&gt;
            &amp;lt;/behaviors:InvokeCommandAction&amp;gt;&lt;br /&gt;
        &amp;lt;/behaviors:EventHandlerBehavior&amp;gt;&lt;br /&gt;
    &amp;lt;/SearchBar.Behaviors&amp;gt;&lt;br /&gt;
&amp;lt;/SearchBar&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;
== See also ==&lt;br /&gt;
* [[SYSCLS_CUSTOMQUERYSEARCH]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 4.9|Custom Query Search]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Custom_Query_Search&amp;diff=27594</id>
		<title>Custom Query Search</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Custom_Query_Search&amp;diff=27594"/>
				<updated>2024-12-12T10:04:07Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* Parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The custom query search uses a query provided via the customizing to define the context of the search. {{Version/WinXSince|4.9}}{{Version/XamarinSince|4.9}}&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
The custom query search is used when it is necessary to search within a defined subset of objects rather then the entire data structure. Additionally the custom query search does not include an offline search (in contrast to the [[Mobile_Free_Text_Search|free text search]]).&lt;br /&gt;
&lt;br /&gt;
== Functionality ==&lt;br /&gt;
To use the custom query search it is necessary to customize the project as it is not part of the default UI. When the custom query search is added to the customizing it can be used to replace the standard UI's [[Mobile_Free_Text_Search|free text search]] field or added additionally. &lt;br /&gt;
&lt;br /&gt;
When using the custom query search in the customizing of a project it is necessary to provide the UID of the query object that should be used to define the search context. When no UID is given the search will never provide results. How exactly the search term is interpreted and used to return a List of results is handled on the server side.&lt;br /&gt;
&lt;br /&gt;
The custom query search utilizes the same result handling as the [[Mobile_Free_Text_Search|free text search]]. This means the results for both searches are represented in the same list, replacing each other.&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
* SearchText: takes the string that should be used as search term for the search.&lt;br /&gt;
* QueryID: takes the UID of the query object that should be used as search context.&lt;br /&gt;
* (Optional) NavigateOnSingleResult: if this is set to true and a search returns only a single result the app will automatically navigate to the found object. By default its value is true.&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 4.9|Custom Query Search]]&lt;br /&gt;
&lt;br /&gt;
== Example ==&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;AutoSuggestBox x:Name=&amp;quot;Search&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
    &amp;lt;interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
        &amp;lt;behaviors:AutoSuggestBoxInputBehavior&amp;gt;&lt;br /&gt;
            &amp;lt;core:InvokeCommandAction Command=&amp;quot;{Binding CustomQuerySearchCommand}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;core:InvokeCommandAction.CommandParameter&amp;gt;&lt;br /&gt;
                    &amp;lt;controls:KeyValueList&amp;gt;&lt;br /&gt;
                        &amp;lt;controls:KeyValueParameter Key=&amp;quot;SearchText&amp;quot; Value=&amp;quot;{Binding ElementName=Search, Path=Text}&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;controls:KeyValueParameter Key=&amp;quot;NavigateOnSingleResult&amp;quot; Value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;controls:KeyValueParameter Key=&amp;quot;QueryID&amp;quot; Value=&amp;quot;bab1c694-a5ad-421f-8c85-faa385891e4b&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/controls: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;/behaviors:AutoSuggestBoxInputBehavior&amp;gt;&lt;br /&gt;
    &amp;lt;/interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
&amp;lt;/AutoSuggestBox&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;SearchBar x:Name=&amp;quot;SearchField&amp;quot;&lt;br /&gt;
   ...&lt;br /&gt;
        &amp;lt;behaviors:EventHandlerBehavior EventName=&amp;quot;SearchButtonPressed&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;behaviors:InvokeCommandAction Command=&amp;quot;{Binding CustomQuerySearchCommand}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;behaviors:InvokeCommandAction.CommandParameter&amp;gt;&lt;br /&gt;
                    &amp;lt;classes:KeyValueList&amp;gt;&lt;br /&gt;
                        &amp;lt;classes:KeyValueParameter Key=&amp;quot;SearchText&amp;quot; &lt;br /&gt;
                                                    Value=&amp;quot;{Binding Path=Text, Source={x:Reference SearchField}}&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;classes:KeyValueParameter Key=&amp;quot;NavigateOnSingleResult&amp;quot; Value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;classes:KeyValueParameter Key=&amp;quot;QueryID&amp;quot; Value=&amp;quot;bab1c694-a5ad-421f-8c85-faa385891e4b&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/classes:KeyValueList&amp;gt;&lt;br /&gt;
                &amp;lt;/behaviors:InvokeCommandAction.CommandParameter&amp;gt;&lt;br /&gt;
            &amp;lt;/behaviors:InvokeCommandAction&amp;gt;&lt;br /&gt;
        &amp;lt;/behaviors:EventHandlerBehavior&amp;gt;&lt;br /&gt;
    &amp;lt;/SearchBar.Behaviors&amp;gt;&lt;br /&gt;
&amp;lt;/SearchBar&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;
== See also ==&lt;br /&gt;
* [[SYSCLS_CUSTOMQUERYSEARCH]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 4.9|Custom Query Search]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Custom_Query_Search&amp;diff=27593</id>
		<title>Custom Query Search</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Custom_Query_Search&amp;diff=27593"/>
				<updated>2024-12-12T09:57:18Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The custom query search uses a query provided via the customizing to define the context of the search. {{Version/WinXSince|4.9}}{{Version/XamarinSince|4.9}}&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
The custom query search is used when it is necessary to search within a defined subset of objects rather then the entire data structure. Additionally the custom query search does not include an offline search (in contrast to the [[Mobile_Free_Text_Search|free text search]]).&lt;br /&gt;
&lt;br /&gt;
== Functionality ==&lt;br /&gt;
To use the custom query search it is necessary to customize the project as it is not part of the default UI. When the custom query search is added to the customizing it can be used to replace the standard UI's [[Mobile_Free_Text_Search|free text search]] field or added additionally. &lt;br /&gt;
&lt;br /&gt;
When using the custom query search in the customizing of a project it is necessary to provide the UID of the query object that should be used to define the search context. When no UID is given the search will never provide results. How exactly the search term is interpreted and used to return a List of results is handled on the server side.&lt;br /&gt;
&lt;br /&gt;
The custom query search utilizes the same result handling as the [[Mobile_Free_Text_Search|free text search]]. This means the results for both searches are represented in the same list, replacing each other.&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
* SearchText: takes the string that should be used as search term for the search.&lt;br /&gt;
* QueryID: takes the UID of the query object that should be used as search context.&lt;br /&gt;
* (Optional) NavigateOnSingleResult: if this is set to true and a search returns only a single result the app will automatically navigate to the found object. By default its value is false.&lt;br /&gt;
&lt;br /&gt;
== Example ==&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;AutoSuggestBox x:Name=&amp;quot;Search&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
    &amp;lt;interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
        &amp;lt;behaviors:AutoSuggestBoxInputBehavior&amp;gt;&lt;br /&gt;
            &amp;lt;core:InvokeCommandAction Command=&amp;quot;{Binding CustomQuerySearchCommand}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;core:InvokeCommandAction.CommandParameter&amp;gt;&lt;br /&gt;
                    &amp;lt;controls:KeyValueList&amp;gt;&lt;br /&gt;
                        &amp;lt;controls:KeyValueParameter Key=&amp;quot;SearchText&amp;quot; Value=&amp;quot;{Binding ElementName=Search, Path=Text}&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;controls:KeyValueParameter Key=&amp;quot;NavigateOnSingleResult&amp;quot; Value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;controls:KeyValueParameter Key=&amp;quot;QueryID&amp;quot; Value=&amp;quot;bab1c694-a5ad-421f-8c85-faa385891e4b&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/controls: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;/behaviors:AutoSuggestBoxInputBehavior&amp;gt;&lt;br /&gt;
    &amp;lt;/interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
&amp;lt;/AutoSuggestBox&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;SearchBar x:Name=&amp;quot;SearchField&amp;quot;&lt;br /&gt;
   ...&lt;br /&gt;
        &amp;lt;behaviors:EventHandlerBehavior EventName=&amp;quot;SearchButtonPressed&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;behaviors:InvokeCommandAction Command=&amp;quot;{Binding CustomQuerySearchCommand}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;behaviors:InvokeCommandAction.CommandParameter&amp;gt;&lt;br /&gt;
                    &amp;lt;classes:KeyValueList&amp;gt;&lt;br /&gt;
                        &amp;lt;classes:KeyValueParameter Key=&amp;quot;SearchText&amp;quot; &lt;br /&gt;
                                                    Value=&amp;quot;{Binding Path=Text, Source={x:Reference SearchField}}&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;classes:KeyValueParameter Key=&amp;quot;NavigateOnSingleResult&amp;quot; Value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;classes:KeyValueParameter Key=&amp;quot;QueryID&amp;quot; Value=&amp;quot;bab1c694-a5ad-421f-8c85-faa385891e4b&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/classes:KeyValueList&amp;gt;&lt;br /&gt;
                &amp;lt;/behaviors:InvokeCommandAction.CommandParameter&amp;gt;&lt;br /&gt;
            &amp;lt;/behaviors:InvokeCommandAction&amp;gt;&lt;br /&gt;
        &amp;lt;/behaviors:EventHandlerBehavior&amp;gt;&lt;br /&gt;
    &amp;lt;/SearchBar.Behaviors&amp;gt;&lt;br /&gt;
&amp;lt;/SearchBar&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;
== See also ==&lt;br /&gt;
* [[SYSCLS_CUSTOMQUERYSEARCH]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 4.9|Custom Query Search]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Custom_Query_Search&amp;diff=27585</id>
		<title>Custom Query Search</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Custom_Query_Search&amp;diff=27585"/>
				<updated>2024-12-10T06:58:11Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{UnderConstructionStart}}&lt;br /&gt;
&lt;br /&gt;
The custom query search uses a query provided via the customizing to define the context of the search. {{Version/WinXSince|4.9}}{{Version/XamarinSince|4.9}}&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
The custom query search is used when it is necessary to search within a defined subset of objects rather then the entire data structure. Additionally the custom query search does not include an offline search (in contrast to the [[Mobile_Free_Text_Search|free text search]]).&lt;br /&gt;
&lt;br /&gt;
== Functionality ==&lt;br /&gt;
To use the custom query search it is necessary to customize the project as it is not part of the default UI. When the custom query search is added to the customizing it can be used to replace the standard UI's [[Mobile_Free_Text_Search|free text search]] field or added additionally. &lt;br /&gt;
&lt;br /&gt;
When using the custom query search in the customizing of a project it is necessary to provide the UID of the query object that should be used to define the search context. When no UID is given the search will never provide results. How exactly the search term is interpreted and used to return a List of results is handled on the server side.&lt;br /&gt;
&lt;br /&gt;
The custom query search utilizes the same result handling as the [[Mobile_Free_Text_Search|free text search]]. This means the results for both searches are represented in the same list, replacing each other.&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
* SearchText: takes the string that should be used as search term for the search.&lt;br /&gt;
* QueryID: takes the UID of the query object that should be used as search context.&lt;br /&gt;
* NavigateOnSingleResult: if this is set to true and a search returns only a single result the app will automatically navigate to the found object.&lt;br /&gt;
&lt;br /&gt;
== Example ==&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;AutoSuggestBox&lt;br /&gt;
...&lt;br /&gt;
    &amp;lt;interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
        &amp;lt;behaviors:AutoSuggestBoxInputBehavior&amp;gt;&lt;br /&gt;
            &amp;lt;core:InvokeCommandAction Command=&amp;quot;{Binding CustomQuerySearchCommand}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;core:InvokeCommandAction.CommandParameter&amp;gt;&lt;br /&gt;
                    &amp;lt;controls:KeyValueList&amp;gt;&lt;br /&gt;
                        &amp;lt;controls:KeyValueParameter Key=&amp;quot;SearchText&amp;quot; Value=&amp;quot;{Binding ElementName=Search, Path=Text}&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;controls:KeyValueParameter Key=&amp;quot;NavigateOnSingleResult&amp;quot; Value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;controls:KeyValueParameter Key=&amp;quot;QueryID&amp;quot; Value=&amp;quot;bab1c694-a5ad-421f-8c85-faa385891e4b&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/controls: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;/behaviors:AutoSuggestBoxInputBehavior&amp;gt;&lt;br /&gt;
    &amp;lt;/interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
&amp;lt;/AutoSuggestBox&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;SearchBar&lt;br /&gt;
   ...&lt;br /&gt;
        &amp;lt;behaviors:EventHandlerBehavior EventName=&amp;quot;SearchButtonPressed&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;behaviors:InvokeCommandAction Command=&amp;quot;{Binding CustomQuerySearchCommand}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;behaviors:InvokeCommandAction.CommandParameter&amp;gt;&lt;br /&gt;
                    &amp;lt;classes:KeyValueList&amp;gt;&lt;br /&gt;
                        &amp;lt;classes:KeyValueParameter Key=&amp;quot;SearchText&amp;quot; &lt;br /&gt;
                                                    Value=&amp;quot;{Binding Path=Text, Source={x:Reference SearchField}}&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;classes:KeyValueParameter Key=&amp;quot;NavigateOnSingleResult&amp;quot; Value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;classes:KeyValueParameter Key=&amp;quot;QueryID&amp;quot; Value=&amp;quot;bab1c694-a5ad-421f-8c85-faa385891e4b&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/classes:KeyValueList&amp;gt;&lt;br /&gt;
                &amp;lt;/behaviors:InvokeCommandAction.CommandParameter&amp;gt;&lt;br /&gt;
            &amp;lt;/behaviors:InvokeCommandAction&amp;gt;&lt;br /&gt;
        &amp;lt;/behaviors:EventHandlerBehavior&amp;gt;&lt;br /&gt;
    &amp;lt;/SearchBar.Behaviors&amp;gt;&lt;br /&gt;
&amp;lt;/SearchBar&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;
== See also ==&lt;br /&gt;
* [[SYSCLS_CUSTOMQUERYSEARCH]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 4.9|Custom Query Search]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Custom_Query_Search&amp;diff=27584</id>
		<title>Custom Query Search</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Custom_Query_Search&amp;diff=27584"/>
				<updated>2024-12-10T06:57:41Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{UnderConstructionStart}}&lt;br /&gt;
&lt;br /&gt;
The custom query search uses a query provided via the customizing to define the context of the search. {{Version/WinXSince|4.9}}{{Version/XamarinSince|4.9}}&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
The custom query search is used when it is necessary to search within a defined subset of objects rather then the entire data structure. Additionally the custom query search does not include an offline search (in contrast to the [[Mobile_Free_Text_Search|free text search]]).&lt;br /&gt;
&lt;br /&gt;
== Functionality ==&lt;br /&gt;
To use the custom query search it is necessary to customize the project as it is not part of the default UI. When the custom query search is added to the customizing it can be used to replace the standard UI's [[Mobile_Free_Text_Search|free text search]] field or added additionally. &lt;br /&gt;
&lt;br /&gt;
When using the custom query search in the customizing of a project it is necessary to provide the UID of the query object that should be used to define the search context. When no UID is given the search will never provide results. How exactly the search term is interpreted and used to return a List of results is handled on the server side.&lt;br /&gt;
&lt;br /&gt;
The custom query search utilizes the same result handling as the [[Mobile_Free_Text_Search|free text search]]. This means the results for both searches are represented in the same list, replacing each other.&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
* SearchText: takes the string that should be used as search term for the search.&lt;br /&gt;
* QueryID: takes the UID of the query object that should be used as search context.&lt;br /&gt;
* NavigateOnSingleResult: if this is set to true and a search returns only a single result the app will automatically navigate to the found object.&lt;br /&gt;
&lt;br /&gt;
== Example ==&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;AutoSuggestBox&lt;br /&gt;
...&lt;br /&gt;
    &amp;lt;interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
        &amp;lt;behaviors:AutoSuggestBoxInputBehavior&amp;gt;&lt;br /&gt;
            &amp;lt;core:InvokeCommandAction Command=&amp;quot;{Binding CustomQuerySearchCommand}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;core:InvokeCommandAction.CommandParameter&amp;gt;&lt;br /&gt;
                    &amp;lt;controls:KeyValueList&amp;gt;&lt;br /&gt;
                        &amp;lt;controls:KeyValueParameter Key=&amp;quot;SearchText&amp;quot; Value=&amp;quot;{Binding ElementName=Search, Path=Text}&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;controls:KeyValueParameter Key=&amp;quot;NavigateOnSingleResult&amp;quot; Value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;controls:KeyValueParameter Key=&amp;quot;QueryID&amp;quot; Value=&amp;quot;bab1c694-a5ad-421f-8c85-faa385891e4b&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/controls: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;/behaviors:AutoSuggestBoxInputBehavior&amp;gt;&lt;br /&gt;
    &amp;lt;/interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
&amp;lt;/AutoSuggestBox&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;SearchBar&lt;br /&gt;
   ...&lt;br /&gt;
        &amp;lt;behaviors:EventHandlerBehavior EventName=&amp;quot;SearchButtonPressed&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;behaviors:InvokeCommandAction Command=&amp;quot;{Binding CustomQuerySearchCommand}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;behaviors:InvokeCommandAction.CommandParameter&amp;gt;&lt;br /&gt;
                    &amp;lt;classes:KeyValueList&amp;gt;&lt;br /&gt;
                        &amp;lt;classes:KeyValueParameter Key=&amp;quot;SearchText&amp;quot; &lt;br /&gt;
                                                    Value=&amp;quot;{Binding Path=Text, Source={x:Reference SearchField}}&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;classes:KeyValueParameter Key=&amp;quot;NavigateOnSingleResult&amp;quot; Value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;classes:KeyValueParameter Key=&amp;quot;QueryID&amp;quot; Value=&amp;quot;bab1c694-a5ad-421f-8c85-faa385891e4b&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/classes:KeyValueList&amp;gt;&lt;br /&gt;
                &amp;lt;/behaviors:InvokeCommandAction.CommandParameter&amp;gt;&lt;br /&gt;
            &amp;lt;/behaviors:InvokeCommandAction&amp;gt;&lt;br /&gt;
        &amp;lt;/behaviors:EventHandlerBehavior&amp;gt;&lt;br /&gt;
    &amp;lt;/SearchBar.Behaviors&amp;gt;&lt;br /&gt;
&amp;lt;/SearchBar&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;/tab&amp;gt;&lt;br /&gt;
&amp;lt;/tabs&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Version 4.9|Custom Query Search]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=SYSCLS_CUSTOMQUERYSEARCH&amp;diff=27583</id>
		<title>SYSCLS CUSTOMQUERYSEARCH</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=SYSCLS_CUSTOMQUERYSEARCH&amp;diff=27583"/>
				<updated>2024-12-10T06:56:54Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ClassificationInfoBox&lt;br /&gt;
| title = Custom Query Search&lt;br /&gt;
| name = {{PAGENAME}}&lt;br /&gt;
| inheritance = [[SYSCLS_QUERY]]&lt;br /&gt;
| namespace = System.Classification.Query&lt;br /&gt;
| purpose = Online search for objects defined by query&lt;br /&gt;
| version = 4.9+&lt;br /&gt;
| id = {4b3a85f5-1c6b-4215-afc9-796ce140c584}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An object classified by SYSCLS_CUSTOMQUERYSEARCH and implementing the [[MetaProperties]] marks a [[query]] object as query used for searching within a subset of objects based on a search term online. The value of the SEARCHTEXT property has to be set.&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=30% | Data type !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| SEARCHTEXT || {{Text}} || Contains the text to search for online&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Custom_Query_Search]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Classifications|SYSCLS CUSTOMQUERYSEARCH]]&lt;br /&gt;
[[Category:Version 4.9|SYSCLS CUSTOMQUERYSEARCH]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Category:Version_4.9&amp;diff=27582</id>
		<title>Category:Version 4.9</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Category:Version_4.9&amp;diff=27582"/>
				<updated>2024-12-10T06:56:50Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: Created page with &amp;quot;Category:Version&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Version]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=SYSCLS_CUSTOMQUERYSEARCH&amp;diff=27581</id>
		<title>SYSCLS CUSTOMQUERYSEARCH</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=SYSCLS_CUSTOMQUERYSEARCH&amp;diff=27581"/>
				<updated>2024-12-10T06:56:19Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ClassificationInfoBox&lt;br /&gt;
| title = Custom Query Search&lt;br /&gt;
| name = {{PAGENAME}}&lt;br /&gt;
| inheritance = [[SYSCLS_QUERY]]&lt;br /&gt;
| namespace = System.Classification.Query&lt;br /&gt;
| purpose = Online search for objects defined by query&lt;br /&gt;
| version = 4.9+&lt;br /&gt;
| id = {4b3a85f5-1c6b-4215-afc9-796ce140c584}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An object classified by SYSCLS_CUSTOMQUERYSEARCH and implementing the [[MetaProperties]] marks a [[query]] object as query used for searching within a subset of objects based on a search term online. The value of the SEARCHTEXT property has to be set.&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=30% | Data type !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| SEARCHTEXT || {{Text}} || Contains the text to search for online&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Custom_Query_Search]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Classifications|SYSCLS CUSTOMQUERYSEARCH]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Category:4.9&amp;diff=27580</id>
		<title>Category:4.9</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Category:4.9&amp;diff=27580"/>
				<updated>2024-12-10T06:55:53Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: Created page with &amp;quot;Category:Version&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Version]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=SYSCLS_CUSTOMQUERYSEARCH&amp;diff=27579</id>
		<title>SYSCLS CUSTOMQUERYSEARCH</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=SYSCLS_CUSTOMQUERYSEARCH&amp;diff=27579"/>
				<updated>2024-12-10T06:54:54Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: Created page with &amp;quot;{{ClassificationInfoBox | title = Custom Query Search | name = {{PAGENAME}} | inheritance = SYSCLS_QUERY | namespace = System.Classification.Query | purpose = Online searc...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ClassificationInfoBox&lt;br /&gt;
| title = Custom Query Search&lt;br /&gt;
| name = {{PAGENAME}}&lt;br /&gt;
| inheritance = [[SYSCLS_QUERY]]&lt;br /&gt;
| namespace = System.Classification.Query&lt;br /&gt;
| purpose = Online search for objects defined by query&lt;br /&gt;
| version = 4.9+&lt;br /&gt;
| id = {4b3a85f5-1c6b-4215-afc9-796ce140c584}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An object classified by SYSCLS_CUSTOMQUERYSEARCH and implementing the [[MetaProperties]] marks a [[query]] object as query used for searching within a subset of objects based on a search term online. The value of the SEARCHTEXT property has to be set.&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=30% | Data type !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| SEARCHTEXT || {{Text}} || Contains the text to search for online&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Custom_Query_Search]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_Client_Basics&amp;diff=27578</id>
		<title>UBIK Client Basics</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_Client_Basics&amp;diff=27578"/>
				<updated>2024-12-05T05:32:56Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* Finding Objects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{UBIK}} Client is the mobile application for viewing and modifying data, showing documents, starting navigation, visualizing POIs and much more.&lt;br /&gt;
&lt;br /&gt;
Client applications are available for Android and WinX, however the features available on each of the platform dependent applications might differ. An overview of the available features can be found in the [[Client_Feature_Table|feature comparison table]].&lt;br /&gt;
&lt;br /&gt;
== Start Screen ==&lt;br /&gt;
The start screen (or start menu) is the first visible view. It contains the login button and several actions, most of them accessible only after login. The start screen's content is [[HowTo:Configure Start Screen Content|configurable]]. For any specific app, the start screen usually also has a (overwritable) default configuration compiled into the app.&lt;br /&gt;
&lt;br /&gt;
== Login ==&lt;br /&gt;
Users need to login in order to access confidential data, this can be done in the [[Login Dialog]].&lt;br /&gt;
&lt;br /&gt;
There is the possibility to define user credentials on a webservice. The user might get a different login UI then, for further information please take a look at [[Serverside Account Configuration]]. {{Version/AndroidSince|2.5.0}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Settings ==&lt;br /&gt;
Users can configure access and edit the settings controlling {{UBIK}} environment using the [[Settings|settings list]].&lt;br /&gt;
&lt;br /&gt;
== Action Bar ==&lt;br /&gt;
On the top of every {{UBIK}} Android view, there is the action bar. It provides features like the [[Mobile_Free_Text_Search|free text search]] and buttons for receiving/sending changes from/to the server. Depending on the customization, other items like a ''Support button'' or a ''QR Code Scan button'' can be available. In some views, there are different actions than in others; e.g. in the map view there are map-specific actions.&lt;br /&gt;
&lt;br /&gt;
The action bar also allows access to the navigation drawer. It also shows an icon of the currently viewed object or the app's logo if the view is not object-related.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Icon !! Action item !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Action_update.png|46 px|center]] || ''Update''  || Updates the currently viewed object and its children or (if no object is viewed) the meta definitions and infrastructure objects from the server.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Action_commit.png|46 px|center]] || ''Commit''  || Sends eventual changes of the currently viewed object (and its children) to the server, or opens the commit manager if no context object is viewed. {{Version/AndroidSince|2.5.2}}&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Action_search.png|46 px|center]] || ''Search''  || Opens an input field that can be used for finding objects by free text search. {{Version/AndroidSince|2.4.5}}&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Action_support.png|46 px|center]] || ''Support'' (Demo only) || Opens the configured support app, e.g. the Visocon Xing app. {{Version/AndroidSince|2.5.1}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Navigation Drawer ==&lt;br /&gt;
[[File:UI_Android_Navigation_Drawer.png|180 px|thumb|border|alt=Navigation Drawer|Navigation Drawer]]&lt;br /&gt;
The navigation drawer provides a convenient and familiar way of navigating the app. {{Version/AndroidSince|2.4.0}} There are two ways of opening/closing the drawer.&lt;br /&gt;
* Pressing the app logo in the top-left corner;&lt;br /&gt;
* Swiping from/to the left edge of the screen&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Drawer item !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| Start menu || Opens the start screen&lt;br /&gt;
|-&lt;br /&gt;
| Settings || Opens the [[Settings|settings]]&lt;br /&gt;
|-&lt;br /&gt;
| Information || Shows information about the software version and the device&lt;br /&gt;
|-&lt;br /&gt;
| Scanning|| Contains child items for scanning various codes and markers. {{Version/AndroidSince|2.4.3}}&lt;br /&gt;
|-&lt;br /&gt;
| AR || Contains child items for opening the Map or POI view. {{Version/AndroidSince|2.5.3}}&lt;br /&gt;
|-&lt;br /&gt;
| Support || Starts the communication application (e.g. Skype or Visocon) and is available in the UBIK.Android.Demo application only. It is used to directly get in touch with a support agent. &amp;lt;br/&amp;gt;The respective target Uri is configurable. {{Version/AndroidSince|2.5.2}}&lt;br /&gt;
|-&lt;br /&gt;
| Sync mode || Switches {{UBIK}} between different [[Sync Mode|sync modes]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Info Screen ==&lt;br /&gt;
&lt;br /&gt;
[[File:UBIK_Android_UI_Info_Activity_Certificate_List.png|400 px|thumb|border|alt=Certificate List|Certificate List]]&lt;br /&gt;
&lt;br /&gt;
Shows static information about the app, like the version code and the minimum required web service version.&lt;br /&gt;
It also contains additional buttons:&lt;br /&gt;
* {{key press|Install Certificate}}: Allows to [[HowTo:Install_UBIK_Client_Certificate|add a server certificate]] to the app.&lt;br /&gt;
* {{key press|Clear Cache}}: Deletes all local data for the current user. {{Version/AndroidSince|2.5.0}}&lt;br /&gt;
* {{key press|Show Certificates}}: Shows a list of installed certificates, with alias/subject and expiry date. {{Version/AndroidSince|2.5.1}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Content Browser ==&lt;br /&gt;
Allows to navigate through the entire data model in a hierarchical manner, as it is published by the server.&lt;br /&gt;
&lt;br /&gt;
Initially, a list of objects (&amp;quot;root objects&amp;quot;) is shown. Upon selecting an object, a new browser is opened for that object, showing details about it.&lt;br /&gt;
When an object is selected in the content browser, it is called the browser's context.&lt;br /&gt;
For such a contextual object, child objects, properties and child documents are shown. Also, there is a context menu providing actions related to the currently selected object.&lt;br /&gt;
&lt;br /&gt;
As every {{UBIK}} Android activity, the content browser also contains an action bar on the very top. By default, it provides a search button and buttons for updating an object or sending changes to the server (&amp;quot;committing&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== Context Menu ===&lt;br /&gt;
[[File:UBIK_Android_UI_Content_Browser_Context_actions.png|400px|border|thumb|alt=Context Menu|Context Menu]]&lt;br /&gt;
In the Content Browser a context sensitive menu is available where actions can be triggered that are relevant for the currently viewed object.&lt;br /&gt;
For example the creation of a child element or showing this object in another view.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Icon !! style=&amp;quot;width:150px&amp;quot; | Action item !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Action_create_content.png|46px|center]] || ''Create Object'' || Opens a selection dialog for possible child MetaClasses, creating an object for the user's choice. The new object is opened in a view for editing.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Action_take_picture.png|46 px|center]] || ''Take Picture'' || Opens the camera activity and creates a new document object for the resulting picture. The new object is opened in a view for editing.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Action_ar_nav.png|46 px|center]] || ''AR Navigation'' || Opens the AR navigation activity in order to navigate to the current object using augmented reality.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Action_geo_group.png|46 px|center]] || ''Geo Actions'' || Opens a selection dialog for several geo-related actions.&lt;br /&gt;
* ''Edit Geo Data'':[[File:Action_edit_geo_data.png|46 px|right]]&lt;br /&gt;
: Opens an editor for the geo location of the current object. Allows to use the device's current location for teach-in.&lt;br /&gt;
* ''AR Navigation'':[[File:Action_ar_nav.png|46 px|right]]&lt;br /&gt;
: Opens the AR navigation activity in order to navigate to the current object using augmented reality. {{Tip/Version|Feature removed in 2.5.3}}&lt;br /&gt;
* ''Show in Map'':[[File:Action_show_in_map.png|46 px|right]]&lt;br /&gt;
: Opens the Map activity, showing the current object.&lt;br /&gt;
* ''Use Location'':[[File:Action_use_location.png|46 px|right]]&lt;br /&gt;
: Uses the current object's location for positioning; applies the position for the device's location management.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Action_download_branch.png|46 px|center]] || ''Download Branch'' || Downloads the current object and all children and switches to offline mode.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Action_object_deletion_group.png|46 px|center]] || ''Delete Actions''  &amp;lt;br/&amp;gt;{{Version/AndroidSince|2.5.0}} || Provides several actions for reverting or removing the current object:&lt;br /&gt;
* ''Discard Local Object'':[[File:Action_icon_discard.png|46 px|right]]&lt;br /&gt;
: Deletes the object locally.&lt;br /&gt;
* ''Delete Object on Server'':[[File:Action_icon_delete.png|46 px|right]]&lt;br /&gt;
: Marks the object for deletion on the server.&lt;br /&gt;
* ''Revert Changes'':[[File:Action_icon_revert.png|46 px|right]]&lt;br /&gt;
: Undoes all local changes for the current object, resetting it to the last known status from the server.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Action_object_teach_in_group_wiki.png|46 px|center]] || ''[[UBIK_Client_Basics#Teach-in_Actions|Teach-in Actions]]'' &amp;lt;br /&amp;gt; {{Version/AndroidSince|2.5.2}} || Provides several actions for teaching-in values of scannable properties:&lt;br /&gt;
* ''QR-Code teach-in'':[[File:Action_icon_teach_in_qr_wiki.png|46 px|right]]&lt;br /&gt;
: Sets the value of the QR-Code property by scanning a QR-Code.&lt;br /&gt;
* ''Barcode teach-in'':[[File:Action_icon_teach_in_barcode_wiki.png|46 px|right]]&lt;br /&gt;
: Sets the value of the Barcode property by scanning a Barcode.&lt;br /&gt;
* ''RFID teach-in'':[[File:Action_icon_teach_in_rfid_wiki.png|46 px|right]]&lt;br /&gt;
: Sets the value of the RFID property by scanning a RFID-Tag.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Hint|Some actions are united in groups, e.g. the ''Geo Actions'' or the ''Delete Actions''. Clicking on the respective icons opens a selection dialog for the detail actions. &amp;lt;br/&amp;gt;Depending on the current object, some actions might not be available. If a group consequently contains only one element, it is displayed directly instead of the group.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Objects ===&lt;br /&gt;
&lt;br /&gt;
==== Root objects vs child objects ====&lt;br /&gt;
&lt;br /&gt;
The first entry point in the ''Content Browser'' is the list of root objects.&lt;br /&gt;
Since no element is viewed initially, there is no ''Context Menu'' here.&lt;br /&gt;
&lt;br /&gt;
If an object is opened in the ''Content Browser'', it serves as its current &amp;quot;context&amp;quot;.&lt;br /&gt;
The list of its child objects is shown in the left tab of the content browser when viewing an object.&lt;br /&gt;
&lt;br /&gt;
==== Task objects ====&lt;br /&gt;
[[Task Objects (UBIK Android)|Task objects]] are {{UBIK}} objects with properties the user has to fill in. They can be identified by the status check box that shows their status (open or finished).&lt;br /&gt;
&lt;br /&gt;
==== Query objects ====&lt;br /&gt;
[[Query Objects (UBIK Android)|Query objects]] are used for finding objects on the server using criteria entered on the client.&lt;br /&gt;
&lt;br /&gt;
==== Safety relevant objects ====&lt;br /&gt;
The [[Safety Instructions]] feature allows to make sure a user has to view special ''Safety Documents'' before an object can be opened in the ''Content Browser''. {{Version/AndroidSince|2.5.1}}&lt;br /&gt;
&lt;br /&gt;
==== Commissioning objects ====&lt;br /&gt;
[[Commissioning Objects (UBIK Android)|Commissioning objects]] are task objects with extended functionality. They can be identified by the status ican which either shows a cross a check or a circle.&lt;br /&gt;
&lt;br /&gt;
==== Locked objects ====&lt;br /&gt;
In some cases it might be useful to lock objects until the user varifies to be near to these objects. This can be done with the [[SYSCLS_UNLOCK_BY_SCAN]] {{Version/AndroidSince|2.5.2}} and [[SYSCLS_UNLOCK_GROUP_BY_SCAN]] {{Version/AndroidSince|3.1.0}} classifications. Instances of MetaClasses implementing this classification can only be edited after the object gets unlocked. The unlocking can currently happen by scanning any type of code (QR-Code, Barcode, ID-Marker, RFID, OCR) which is related to the according object. After a certain period of time (default 15min) the object gets locked again. In the case of Unlocking a group of objects, alternatively also more than one object can be unlocked at once by sharing a common unlock code.&lt;br /&gt;
&lt;br /&gt;
Take care that objects classified by [[SYSCLS_UNLOCK_BY_SCAN]] also need the corresponding properties (e.g. QR-Code property) such that the user is allowed to unlock these objects. In the case of unlocking a group of objects, only one of the objects needs to be scannable in order to onlock all of them. If an object is locked, it is not possible to edit its properties. Furthermore, context actions like redlining or editing of documents, geo teach-in and deletion of the object on the server is not possible. Basically the locking is the same for all types of objects, except for work packages – unlocking them also means unlocking all underlying items (Tasks, Commissioning checks) as well.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|UBIK Client Basics]]&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
In the Content Browser, properties are shown in the properties tab. Their appearance depends on the data type of their value, whether they are modifiable and whether they are currently modified.&lt;br /&gt;
Also, modifiable properties can be edited using the property editors described below.&lt;br /&gt;
&lt;br /&gt;
==== Live value properties ====&lt;br /&gt;
&lt;br /&gt;
If a user wants to know an up-to-date measurement value, for instance whether it is save to enter a room or shut down a pump, this property provides him this information with very frequently updated [[Live Values| live values]].&lt;br /&gt;
&lt;br /&gt;
==== Direct editing of boolean properties ====&lt;br /&gt;
The user can switch {{Boolean}} properties by either clicking the checkbox in the property list view (without visible editor), or by clicking the property row to open the corresponding editor.&lt;br /&gt;
&lt;br /&gt;
==== Selective List Properties ====&lt;br /&gt;
The user can select a value from a list of possible values for this property, by clicking on the saved property value on the property list view. The corresponding editor is displayed with the drop-down list already expanded. Once the user selects a value from the list, the value is immediately saved and editor closed. It is also possible to cancel the editing or delete the value.&lt;br /&gt;
&lt;br /&gt;
==== Teach-in Actions ====&lt;br /&gt;
Properties of type QR-Code, Barcode or RFID can be taught-in using the corresponding teach-in action, which is located in the context sensitive action bar. {{Version/AndroidSince|2.5.2}} An object has to implement the [[SYSCLS_OBJECTWITHIDMARKER]] or [[SYSCLS_OBJECTWITHRFIDTAG]] classification and a respective editable property in order to use this feature. When clicking on a teach-in action the corresponding scanner appears and once the right marker/tag is scanned, the code directly appears as the new property value.&lt;br /&gt;
&lt;br /&gt;
==== Default and Initial Values ====&lt;br /&gt;
Default values are used as long as a property has no value on its own. Initial values are used for new instances so they aren't completely empty after creation. Both can be configured on the server. See also: [http://wiki.augmensys.com/index.php?title=MetaProperty#Default_value MetaProperty Wiki Article]&lt;br /&gt;
&lt;br /&gt;
==== Editors ====&lt;br /&gt;
{{UBIK}} has built-in editors for different property types, including String, Integer, Double, Boolean, DateTime, Geo data and Selective list.&lt;br /&gt;
Clicking on the input field of a property (or task) will open the respective editor. &lt;br /&gt;
&lt;br /&gt;
===== Geo Editor &amp;amp; Teach In =====&lt;br /&gt;
[[File:UI_ContentBrowser_TeachIn2_Android.png|thumb|220px|Geo Editor]]&lt;br /&gt;
Editor used to set GEO locations for a specific content object. This is done by accessing the GEO property editor of the object.&lt;br /&gt;
&lt;br /&gt;
The user can enter the location manually or, if available, can use the location provided by the positioning service. In case the positioning service doesn't deliver any location the user has only the possibility to enter the location manually.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|UBIK Client Basics]]&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
UBIK supports and displays document objects and a bunch of actions related to them (editing, redlining, creation, thumbnails, ...).&lt;br /&gt;
See the [[Documents_(UBIK_Android)|Documents]] article for further information on documents.&lt;br /&gt;
&lt;br /&gt;
=== MRO ===&lt;br /&gt;
UBIK provides the logic for Maintenance, Repair and Operations (MRO) features. This means, a user can report the status of work to be accomplished. Therefore specific MRO configuartions provide essential objects like workpackages and tasks to report accomplished tasks, results and confirmed workpackages. See the [[MRO_Objects_(UBIK_WinX)|MRO]] article for further information on MRO.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|UBIK Client Basics]]&lt;br /&gt;
&lt;br /&gt;
=== Dynamic Content Tabs ===&lt;br /&gt;
{{Version/AndroidSince|2.5.0}}&lt;br /&gt;
&lt;br /&gt;
The content browser's tabs (children, properties and documents) are only shown if necessary (and if they are not empty). For some types of objects (e.g. tasks) specific tabs are always shown though, especially if a tab is considered the main view for that object.&lt;br /&gt;
&lt;br /&gt;
It is possible to configure this feature in order to behave more precisely as desired. By default, the children tab is shown if no other view should be shown explicitely and if the client has no information whether there are children or not. This means that for objects where (by customizing) the properties tab or the documents tab should be shown when entering the browser, the children view is only shown if it is not empty.&lt;br /&gt;
&lt;br /&gt;
However, if nothing is configured, the children tab will be shown by default, because there could be children on the server and it would be annoying for the user to not see the children tab at all until something is loaded.&lt;br /&gt;
&lt;br /&gt;
This is the other way round for the properties tab, because properties are always known as soon as the object itself is available on the client.&lt;br /&gt;
&lt;br /&gt;
Also, the documents tab is not shown by default because the documents most often are not the primary view. If they are, the customizing should take this into account.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Customizing Possibilities ====&lt;br /&gt;
There are basically two ways to configure the dynamic tabs feature:&lt;br /&gt;
* One can configure the [[SYSCLS_CHILDINFOOWNER|Children Information Classification]] (former: Document Owner Classification): this will lead to a precise behaviour of the dynamic tabs, because the client has more detailed knowledge about the children of respectively classified objects.&lt;br /&gt;
* Another possibility is the configuration of the [[SYSCLS_SHOWPROPERTIES]] or [[SYSCLS_SHOWDOCUMENTS]] classifications: this will lead to the displaying of the properties/documents tab as initial view, even if it is empty.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|UBIK Client Basics]]&lt;br /&gt;
&lt;br /&gt;
== UI Configurations ==&lt;br /&gt;
See [[UI_Configuration_(Mobile_Client)]].&lt;br /&gt;
&lt;br /&gt;
== AR Features ==&lt;br /&gt;
&lt;br /&gt;
=== POI View ===&lt;br /&gt;
Brings up the [[POI View|Augmented Reality view]] and displays Points of Interest (POI's) related to the current location of the mobile device.&lt;br /&gt;
&lt;br /&gt;
=== AR Navigation ===&lt;br /&gt;
Allows the user to navigate to an object using the [[AR Navigation|Augmented Reality Navigation]] feature.&lt;br /&gt;
It is accessible via a {{UBIK}} object's context menu in the Content Browser.&lt;br /&gt;
&lt;br /&gt;
=== Markerless ===&lt;br /&gt;
Opens the [[POI View|Augmented Reality view]] supporting [[HowTo:Configure_Dynamic_AR_Content#Markerless_Activity|Markerless Scanning]] based on Image Detection. If the scanned Object is a Geo-Object, it´s location can be used through [[UBIK Client Basics#Object Proximity Positioning|Object Proximity Positioning]]&lt;br /&gt;
&lt;br /&gt;
=== ID Marker 3D ===&lt;br /&gt;
Opens the [[POI View|Augmented Reality view]] supporting [[HowTo:Configure_Dynamic_AR_Content#ID_Marker_Activity|ID Marker Scanning]] based on ID Markers. If the scanned Object is a Geo-Object, it´s location can be used through [[UBIK Client Basics#Object Proximity Positioning|Object Proximity Positioning]]&lt;br /&gt;
&lt;br /&gt;
=== Map View ===&lt;br /&gt;
Opens the [[map View|Map view]] and displays Points of Interest (POI's) related to the current location of the mobile device.&lt;br /&gt;
&lt;br /&gt;
== Positioning ==&lt;br /&gt;
{{UBIK}} clients use a [[Location_Manager|Location Manager]] in order to gain knowledge about their position, so it can help the user navigate to his/her target.&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|UBIK Client Basics]]&lt;br /&gt;
&lt;br /&gt;
== Finding Objects ==&lt;br /&gt;
=== Free Text Search ===&lt;br /&gt;
A [[Mobile_Free_Text_Search|free text search feature]] is available in the Action Bar. The search action item opens a text input field when clicked. Use it to find objects by their Meta Class name, their Display Strings or properties. The search feature works online and offline. {{Version/AndroidSince|2.4.5}}&lt;br /&gt;
&lt;br /&gt;
=== Custom Query Search ===&lt;br /&gt;
The [[Custom_Query_Search|custom query search feature]] provides the possibility to search in a subset of objects defined by a query. In contrast to the [[Mobile_Free_Text_Search|free text search feature]] it does not include a offline search.{{Version/XamarinSince|4.9}}{{Version/WinXSince|4.9}}&lt;br /&gt;
&lt;br /&gt;
=== ID Marker ===&lt;br /&gt;
Provides a fast and convenient way for users to find objects that are identifiable through [[optical code|optical codes]], in this case ID Markers. If the scanned Object is a Geo-Object, it´s location can be used through [[UBIK Client Basics#Object Proximity Positioning|Object Proximity Positioning]]&lt;br /&gt;
&lt;br /&gt;
=== QR Code ===&lt;br /&gt;
Provides a fast and convenient way for users to find objects that are identifiable through [[optical code|optical codes]], in this case QR Codes. When using Getac Z710 the integrated barcode/qr-code scanner can get used. If the scanned Object is a Geo-Object, it´s location can be used through [[UBIK Client Basics#Object Proximity Positioning|Object Proximity Positioning]]&lt;br /&gt;
&lt;br /&gt;
=== Bar Code ===&lt;br /&gt;
Provides a fast and convenient way for users to find objects that are identifiable through [[optical code|optical codes]], in this case Bar Codes. When using Getac Z710 the integrated barcode/qr-code scanner can get used. If the scanned Object is a Geo-Object, it´s location can be used through [[UBIK Client Basics#Object Proximity Positioning|Object Proximity Positioning]]&lt;br /&gt;
&lt;br /&gt;
=== RFID ===&lt;br /&gt;
Provides a fast and convenient way for users to find objects that are identifiable through [[RFID tags|RFID tags]]. If the scanned Object is a Geo-Object, it´s location can be used through [[UBIK Client Basics#Object Proximity Positioning|Object Proximity Positioning]]&lt;br /&gt;
&lt;br /&gt;
=== OCR ===&lt;br /&gt;
Provides a fast and convenient way for users to find objects that are identifiable through [[OCR|OCR]]. If the scanned Object is a Geo-Object, it´s location can be used through [[UBIK Client Basics#Object Proximity Positioning|Object Proximity Positioning]]. {{Version/AndroidSince|2.5.0}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|UBIK Client Basics]]&lt;br /&gt;
&lt;br /&gt;
== Synchronization ==&lt;br /&gt;
The {{UBIK}} client gets its data from the UBIK Content web service and is capable of synchronizing differences between this service and itself.&lt;br /&gt;
All data can be worked with offline.&lt;br /&gt;
&lt;br /&gt;
=== Updating and Committing ===&lt;br /&gt;
Sending changed data from the mobile device to the {{UBIK}} server is called &amp;quot;committing&amp;quot;. Fetching new data from the server is called &amp;quot;updating&amp;quot;.&amp;lt;br/&amp;gt;&lt;br /&gt;
In {{UBIK}} Android's Action Bar, there are buttons for both actions. Their detail behaviour depends on the current view:&lt;br /&gt;
* In the Start Menu, the update button acquires basic data like the meta definitions or the infrastructure objects. The commit button opens the Commit Manager.&lt;br /&gt;
* In the Content Browser, the update button updates the currently viewed object and its children. Similarly, the commit button sends changes for the currently viewed object to the server. When committing an object in the Content Browser, all its changed child objects are also committed. {{Version/AndroidSince|2.5.2}}&lt;br /&gt;
* In the Commit Manager, one can select objects to commit or update from a list of all changed objects.&lt;br /&gt;
&lt;br /&gt;
=== Synchronization Mode ===&lt;br /&gt;
Depending on the [[Sync Mode]] setting, the synchronization will behave differently - either taking care of everything automatically or giving the user full control over which changes are sent (&amp;quot;committed&amp;quot;) to the server and which updates are fetched from it.&amp;lt;br/&amp;gt;&lt;br /&gt;
There are the following Sync Modes:&lt;br /&gt;
* Automatic: Handles updates and commits without requiring user input.&lt;br /&gt;
* Manual Commit: Updates automatically, lets the user decide when to commit changes.&lt;br /&gt;
* Offline: Doesn't update nor commit anything automatically; except for special situations like the first login in a new environment.&lt;br /&gt;
&lt;br /&gt;
=== Error Handling ===&lt;br /&gt;
{{UBIK}} tries to solve problems automatically, for example by retrying failed web requests or updating missing content. &lt;br /&gt;
In case of an error that couldn't be resolved automatically, an Android Notification is shown to gently notify the user what has happened and eventually give hints on how to solve the problem.&lt;br /&gt;
&lt;br /&gt;
=== Push ===&lt;br /&gt;
The {{UBIK}} [[Push Service (Client)|push service]] is a mechanism used to notify a client of updates, show messages to the user or trigger other events on the client.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Client_Feature_Table]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Client|UBIK Client Basics]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Custom_Query_Search&amp;diff=27577</id>
		<title>Custom Query Search</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Custom_Query_Search&amp;diff=27577"/>
				<updated>2024-12-05T05:25:22Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: Created page with &amp;quot;{{UnderConstructionStart}}  The custom query search uses a query provided via the customizing to define the context of the search. {{Version/WinXSince|4.9}}{{Version/XamarinSi...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{UnderConstructionStart}}&lt;br /&gt;
&lt;br /&gt;
The custom query search uses a query provided via the customizing to define the context of the search. {{Version/WinXSince|4.9}}{{Version/XamarinSince|4.9}}&lt;br /&gt;
&lt;br /&gt;
== Application ==&lt;br /&gt;
The custom query search is used when it is necessary to search within a defined subset of objects rather then the entire data structure. Additionally the custom query search does not include an offline search (in contrast to the [[Mobile_Free_Text_Search|free text search]]).&lt;br /&gt;
&lt;br /&gt;
== Functionality ==&lt;br /&gt;
To use the custom query search it is necessary to customize the project as it is not part of the default UI. When the custom query search is added to the customizing it can be used to replace the standard UI's [[Mobile_Free_Text_Search|free text search]] field or added additionally. &lt;br /&gt;
&lt;br /&gt;
When using the custom query search in the customizing of a project it is necessary to provide the UID of the query object that should be used to define the search context. When no UID is given the search will never provide results. How exactly the search term is interpreted and used to return a List of results is handled on the server side.&lt;br /&gt;
&lt;br /&gt;
The custom query search utilizes the same result handling as the [[Mobile_Free_Text_Search|free text search]]. This means the results for both searches are represented in the same list, replacing each other.&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
* SearchText: takes the string that should be used as search term for the search.&lt;br /&gt;
* QueryID: takes the UID of the query object that should be used as search context.&lt;br /&gt;
* NavigateOnSingleResult: if this is set to true and a search returns only a single result the app will automatically navigate to the found object.&lt;br /&gt;
&lt;br /&gt;
== Example ==&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;AutoSuggestBox&lt;br /&gt;
...&lt;br /&gt;
    &amp;lt;interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
        &amp;lt;behaviors:AutoSuggestBoxInputBehavior&amp;gt;&lt;br /&gt;
            &amp;lt;core:InvokeCommandAction Command=&amp;quot;{Binding CustomQuerySearchCommand}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;core:InvokeCommandAction.CommandParameter&amp;gt;&lt;br /&gt;
                    &amp;lt;controls:KeyValueList&amp;gt;&lt;br /&gt;
                        &amp;lt;controls:KeyValueParameter Key=&amp;quot;SearchText&amp;quot; Value=&amp;quot;{Binding ElementName=Search, Path=Text}&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;controls:KeyValueParameter Key=&amp;quot;NavigateOnSingleResult&amp;quot; Value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;controls:KeyValueParameter Key=&amp;quot;QueryID&amp;quot; Value=&amp;quot;bab1c694-a5ad-421f-8c85-faa385891e4b&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/controls: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;/behaviors:AutoSuggestBoxInputBehavior&amp;gt;&lt;br /&gt;
    &amp;lt;/interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
&amp;lt;/AutoSuggestBox&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;SearchBar&lt;br /&gt;
   ...&lt;br /&gt;
        &amp;lt;behaviors:EventHandlerBehavior EventName=&amp;quot;SearchButtonPressed&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;behaviors:InvokeCommandAction Command=&amp;quot;{Binding CustomQuerySearchCommand}&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;behaviors:InvokeCommandAction.CommandParameter&amp;gt;&lt;br /&gt;
                    &amp;lt;classes:KeyValueList&amp;gt;&lt;br /&gt;
                        &amp;lt;classes:KeyValueParameter Key=&amp;quot;SearchText&amp;quot; &lt;br /&gt;
                                                    Value=&amp;quot;{Binding Path=Text, Source={x:Reference SearchField}}&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;classes:KeyValueParameter Key=&amp;quot;NavigateOnSingleResult&amp;quot; Value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;classes:KeyValueParameter Key=&amp;quot;QueryID&amp;quot; Value=&amp;quot;bab1c694-a5ad-421f-8c85-faa385891e4b&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/classes:KeyValueList&amp;gt;&lt;br /&gt;
                &amp;lt;/behaviors:InvokeCommandAction.CommandParameter&amp;gt;&lt;br /&gt;
            &amp;lt;/behaviors:InvokeCommandAction&amp;gt;&lt;br /&gt;
        &amp;lt;/behaviors:EventHandlerBehavior&amp;gt;&lt;br /&gt;
    &amp;lt;/SearchBar.Behaviors&amp;gt;&lt;br /&gt;
&amp;lt;/SearchBar&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;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=SYSCLS_EDITABLEDOCUMENT&amp;diff=27447</id>
		<title>SYSCLS EDITABLEDOCUMENT</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=SYSCLS_EDITABLEDOCUMENT&amp;diff=27447"/>
				<updated>2024-10-30T13:39:43Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ClassificationInfoBox&lt;br /&gt;
| title = Editable file classification&lt;br /&gt;
| name = {{PAGENAMEE}}&lt;br /&gt;
| inheritance = [[SYSCLS_FILEDOCUMENT]]&lt;br /&gt;
| namespace = System.Classification.Document&lt;br /&gt;
| purpose = Classify documents to be editable&lt;br /&gt;
| version = 2+&lt;br /&gt;
| id = {c084a457-f100-40eb-88bd-843fd7f402d4}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Classifies an object for being recognized as editable file document object by the client. The physical document of such an object can be actually modifized on the client (e.g. editied by an appropriate PDF reader) and is sent back to the server.&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=30% | Data type !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| EDIT_FILE_ALLOWED|| {{Boolean}} || Allow the docmument to be edited&lt;br /&gt;
|-&lt;br /&gt;
| ''FILETYPE'' || {{Text}} || Specifies the file type (inherited from [[SYSCLS_FILEDOCUMENT]])&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[SYSCLS_FILEDOCUMENT]]&lt;br /&gt;
* [[FILEDOCUMENT]]&lt;br /&gt;
* [[Documents_(Client)#Editing_Documents]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Classifications|E]]&lt;br /&gt;
[[Category:Document|E]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Documents_(Client)&amp;diff=27446</id>
		<title>Documents (Client)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Documents_(Client)&amp;diff=27446"/>
				<updated>2024-10-30T13:38:52Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* Editing Documents */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[DOCUMENT|Documents]] are [[:Category:UBIK Object|{{UBIK}} objects]] referencing a file, e.g. a PDF document.&lt;br /&gt;
Like other {{UBIK}} objects, they can be synchronized to the {{UBIK Client}}.&lt;br /&gt;
The Android client provides various features related to documents.&lt;br /&gt;
&lt;br /&gt;
== Document Types ==&lt;br /&gt;
&lt;br /&gt;
* Managed Document - Documents with a locally managed file.&lt;br /&gt;
* Linked Document - Documents with a file linked by an URL, not locally managed by {{UBIK}}.&lt;br /&gt;
&lt;br /&gt;
== Viewing Documents ==&lt;br /&gt;
&lt;br /&gt;
=== Viewing the File ===&lt;br /&gt;
Documents can be viewed using the [[UBIK_Client_Basics#Content_Browser|Content Browser]].&lt;br /&gt;
For every object, three content tabs are shown: &amp;quot;Children&amp;quot;, &amp;quot;Properties&amp;quot; and &amp;quot;Documents&amp;quot;.&lt;br /&gt;
The latter contains a thumbnail grid view for all document-type children of the current object.&lt;br /&gt;
&lt;br /&gt;
A click on such a thumbnail shows the document if it was already downloaded, otherwise the document will be downloaded from the server and a dialog for showing it will be shown on success.&lt;br /&gt;
&lt;br /&gt;
3rd party applications are used to show documents. Therefore, if no viewer for a certain file type (e.g. PDF) is installed, an error message will be shown.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
File:UI_TechSpec_UBIKClient_Document_01.png|Content Browser&lt;br /&gt;
File:UI_TechSpec_UBIKClient_Document_02.png|Object List&lt;br /&gt;
File:UI_TechSpec_UBIKClient_Document_03.png|Thumbnail grid&lt;br /&gt;
File:UI_TechSpec_UBIKClient_Document_04.png|Download document&lt;br /&gt;
File:UI_TechSpec_UBIKClient_Document_05.png|Open document&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Viewing the Object Data ===&lt;br /&gt;
&lt;br /&gt;
Not only the file, but also the {{UBIK}} property values of a document object can be viewed.&lt;br /&gt;
To do so, the thumbnail has to be long-clicked.&lt;br /&gt;
Then, the property list view for the respective object will be opened, allowing the user to change values (if it was configured on the server).&lt;br /&gt;
&lt;br /&gt;
== Creating Documents ==&lt;br /&gt;
&lt;br /&gt;
Depending on the configuration of the {{UBIK}} data model and the [[ACM]], documents can be created as children for existing objects.&lt;br /&gt;
A context menu entry appears in the [[UBIK_Client_Basics#Content_Browser|Content Browser]] for creating objects if this is configured.&lt;br /&gt;
&lt;br /&gt;
Find detailed information how to create a new document on the client [[HowTo:Create_a_new_Document_(UBIK_Android)|here]].&lt;br /&gt;
&lt;br /&gt;
=== Taking a Picture ===&lt;br /&gt;
&lt;br /&gt;
In certain cases, the camera can be used to take a picture and create a document for it - in this case, another &amp;quot;Take Picture&amp;quot; context menu entry is available.&lt;br /&gt;
&lt;br /&gt;
=== Editing and Submitting the newly created Document ===&lt;br /&gt;
&lt;br /&gt;
After either a document was chosen or a picture was taken, the newly created object is opened in a property view, allowing the user to abort the creation or to enter specific property values (e.g. for the description of the object) and finally save the object.&lt;br /&gt;
&lt;br /&gt;
{{Version/WinXSince|3.6}} uploaded Document objects can potentially  contain [[SYSCLS_FILEDETAILSCLASSIFICATION|detailed Information]] concerning the original file (e.g. file name, path)&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
=== Synchronization ===&lt;br /&gt;
&lt;br /&gt;
Depending on the connectivity mode, the next synchronization run will bring the new content and file to the server.&lt;br /&gt;
&lt;br /&gt;
== Modify Documents ==&lt;br /&gt;
&lt;br /&gt;
For editing, [[HowTo:Make_a_Document_ready_for_Redlining|Redlining]] and actually changing [[ManagedDocuments]] (where changing is allowed) is possible.&lt;br /&gt;
&lt;br /&gt;
=== Redlining ===&lt;br /&gt;
&lt;br /&gt;
Redlining is the process of creating a new, adapted version of an existing document. This can be achieved on the {{UBIK}} Android client, if it has been configured correctly in the {{UBIK}} data model and ACM.&lt;br /&gt;
A respective context menu button will be available in the ''Content Browser'' for a document object in this case.&lt;br /&gt;
&lt;br /&gt;
For redlining, a copy of the document will be created and opened for editing in any installed 3rd party application that can handle the &amp;quot;intent&amp;quot;.&lt;br /&gt;
When the user accepts the change, the creation of a new document object classified as a redlined document will be triggered (as described in &amp;quot;Creating Documents in {{UBIK}} Android&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
The previous redlining number indicators are replaced by the [[Child_Document_Indicator_(Android)|child document indicators]]. {{Version/AndroidSince|2.4.5}}&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
=== Editing Documents ===&lt;br /&gt;
In order to edit a document managed by {{UBIK}}, one has to access the Document object by long-clicking its thumbnail in the documents-tab of its parent object's ''Content Browser''.&lt;br /&gt;
Then, the ''Content Browser'' for the Document object provides an &amp;quot;Edit File&amp;quot; action item in the context aware action bar. {{Version/AndroidSince|2.4.5}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200&amp;quot; heights=&amp;quot;200&amp;quot;&amp;gt;&lt;br /&gt;
File:UI_TechSpec_UBIKClient_Document_01.png|Content Browser&lt;br /&gt;
File:UI_TechSpec_UBIKClient_Document_02.png|Object List&lt;br /&gt;
File:UI_TechSpec_UBIKClient_Document_03.png|Thumbnail grid&lt;br /&gt;
File:UI_TechSpec_UBIKClient_Document_Properties.png|Document in Content Browser&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Editing an already downloaded file ====&lt;br /&gt;
[[File:UI_TechSpec_UBIKClient_ChooseAppForEditing.png|thumb|Choosing a 3rd party application for editing]]&lt;br /&gt;
If the file was already downloaded, the user is asked to choose any installed 3rd party application for editing the respective file.&lt;br /&gt;
In case no such app is installed, editing the document is not possible.&lt;br /&gt;
&lt;br /&gt;
{{Attention|The 3rd party app used for editing the file must be able to return the resulting file (in contrast to store it on the file system without telling {{UBIK}})!&lt;br /&gt;
A recommended app fitting this requirement is the [[https://play.google.com/store/apps/details?id=com.aviary.android.feather Photo Editor by Aviary]].}}&lt;br /&gt;
&lt;br /&gt;
When the editing was finished, the new file is marked as changed and will be committed automatically if Automatic Sync mode is active, else the user can commit manually.&lt;br /&gt;
&lt;br /&gt;
==== Editing a not yet downloaded file ====&lt;br /&gt;
[[File:UI_TechSpec_UBIKClient_EditDownloadedFile.png|thumb|Notification for editing a downloaded file]]&lt;br /&gt;
When a file wasn't downloaded yet but editing was chosen nontheless, the {{UBIK}} Android client will automatically download the file.&lt;br /&gt;
After the download was finished, the user is asked if (s)he wants to edit the document now.&lt;br /&gt;
If so, the editing proceeds as described for an already downloaded file.&lt;br /&gt;
&lt;br /&gt;
=== PDF Text Search ===&lt;br /&gt;
It is possible to search and highlight arbitrary texts in the UBIK PDF viewer. By clicking the magnifier button, an input field opens to search for specific text entries in the document. The results will be highlighted in the PDF file. By clicking the arrow buttons, it is possible to switch to the next and previous results.  {{Version/XamarinSince|4.3.0}}&lt;br /&gt;
==== Automatic Text Search {{Version/XamarinSince|4.4.0}}{{Version/WinXSince|4.4.0}} ====&lt;br /&gt;
Using the [[SYSCLS_DOCUMENT_HIGHLIGHTING_CLASSIFICATION|Document Highlighting Classification]] A PDF document can search for a defined search term from its parents properties automatically as soon as it is being navigated to.&lt;br /&gt;
&lt;br /&gt;
[[Category:Android|Documents (UBIK Android)]]&lt;br /&gt;
[[Category:Document|Documents (UBIK Android)]]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[HowTo:Create_a_new_Document_(UBIK_Android)]]&lt;br /&gt;
* [[HowTo:Make_a_Document_ready_for_Redlining]]&lt;br /&gt;
* [[SYSCLS_DOCUMENT]] (Classification)&lt;br /&gt;
* [[SYSCLS_FILEDOCUMENT]] (Classification)&lt;br /&gt;
* [[SYSCLS_EDITABLEDOCUMENT]] (Classification)&lt;br /&gt;
* [[SYSCLS_REDLINEDFILE]] (Classification)&lt;br /&gt;
* [[SYSCLS_DOCUMENT_HIGHLIGHTING_CLASSIFICATION]] (Classification)&lt;br /&gt;
* [[SYSCLS_URLDOCUMENT]] (Classification)&lt;br /&gt;
* [[SYSCLS_THUMBNAILEDDOCUMENT]] (Classification)&lt;br /&gt;
* [[SYSCLS_TEXTDOCUMENT]] (Classification)&lt;br /&gt;
* [[SYSCLS_OFFLINE_AVAILABLE_DOCUMENT]] (Classification)&lt;br /&gt;
&lt;br /&gt;
[[Category:Android|Documents (UBIK Android)]]&lt;br /&gt;
[[Category:Document|Documents (UBIK Android)]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=SYSCLS_REDLINEDFILE&amp;diff=27445</id>
		<title>SYSCLS REDLINEDFILE</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=SYSCLS_REDLINEDFILE&amp;diff=27445"/>
				<updated>2024-10-30T13:31:55Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ClassificationInfoBox&lt;br /&gt;
| title = Redlined file classification&lt;br /&gt;
| name = {{PAGENAMEE}}&lt;br /&gt;
| inheritance = [[SYSCLS_FILEDOCUMENT]]&lt;br /&gt;
| namespace = System.Classification.Document&lt;br /&gt;
| purpose = Classify file documents to be redlined&lt;br /&gt;
| version = 2+&lt;br /&gt;
| id = {96402695-d892-4de7-9e13-62e29976925e}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Classifies an object for being recognized as redline file document object by the client. A redline file document can be created as child object of another document and is sent back to the server.&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=30% | Data type !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| ''FILETYPE'' || {{Text}} || Specifies the file type (inherited from [[SYSCLS_FILEDOCUMENT]])&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Documents_(Client)#Redlining]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Classifications|R]]&lt;br /&gt;
[[Category:Document|R]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=SYSCLS_URLDOCUMENT&amp;diff=27444</id>
		<title>SYSCLS URLDOCUMENT</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=SYSCLS_URLDOCUMENT&amp;diff=27444"/>
				<updated>2024-10-30T13:16:40Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ClassificationInfoBox&lt;br /&gt;
| title = Url document classification&lt;br /&gt;
| name = {{PAGENAMEE}}&lt;br /&gt;
| inheritance = [[SYSCLS_DOCUMENT]]&lt;br /&gt;
| namespace = System.Classification&lt;br /&gt;
| purpose = Classify objects as URL documents&lt;br /&gt;
| version = 2.4.3&lt;br /&gt;
| id = {D9890FE0-5C34-11E3-949A-0800200C9A66}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Classifies an object for being recognized as URL document object by the client. URL documents can be viewed by clicking a link when the client is online.&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;
| URL|| String || Specifies the url link to the document&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Attention|To provide links to local documents located in the client's file storage, the placeholder %PUBLIC% can be used. It will be replaced by the local user's &amp;quot;Picture&amp;quot; directory, as this an accessible, public folder on Windows 10 clients. E.g. you can provide &amp;quot;%PUBLIC%MyDocument.PDF&amp;quot; as a local link on the client. (Version 3.0.0.23+)}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Documents_(Client)#Document_Types]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Classifications|U]]&lt;br /&gt;
[[Category:Document|U]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=SYSCLS_URLDOCUMENT&amp;diff=27443</id>
		<title>SYSCLS URLDOCUMENT</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=SYSCLS_URLDOCUMENT&amp;diff=27443"/>
				<updated>2024-10-30T13:15:03Z</updated>
		
		<summary type="html">&lt;p&gt;LKR: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ClassificationInfoBox&lt;br /&gt;
| title = Url document classification&lt;br /&gt;
| name = {{PAGENAMEE}}&lt;br /&gt;
| inheritance = SYSCLS_DOCUMENT&lt;br /&gt;
| namespace = System.Classification&lt;br /&gt;
| purpose = Classify objects as URL documents&lt;br /&gt;
| version = 2.4.3&lt;br /&gt;
| id = {D9890FE0-5C34-11E3-949A-0800200C9A66}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Classifies an object for being recognized as URL document object by the client. URL documents can be viewed by clicking a link when the client is online.&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;
| URL|| String || Specifies the url link to the document&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Attention|To provide links to local documents located in the client's file storage, the placeholder %PUBLIC% can be used. It will be replaced by the local user's &amp;quot;Picture&amp;quot; directory, as this an accessible, public folder on Windows 10 clients. E.g. you can provide &amp;quot;%PUBLIC%MyDocument.PDF&amp;quot; as a local link on the client. (Version 3.0.0.23+)}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Documents_(Client)#Document_Types]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Classifications|U]]&lt;br /&gt;
[[Category:Document|U]]&lt;/div&gt;</summary>
		<author><name>LKR</name></author>	</entry>

	</feed>