Changes

Deploy UI Customizings (Client)

1,583 bytes added, 14:00, 20 September 2021
As a crucial part of the {{UBIK}} client, it is often the case that a set of UI customizings, once finished, is needed on multiple devices. Therefore, the deployment is an important step.
 
== Location of UI customizing ==
UBIK clients use the same <code>[CurrentUserFolder]\AppData\Packages\AugmensysGmbH.UBIK.[ClientType]\LocalState\XAML</code> folder as the root of all UI customizings.
* [CurrentUserFolder] is something like "C:\Users\UserName";
* [ClientType] is either UWP or Xamarin.
 
=== Profile specific customizing {{Version/XamarinSince|1.2}} ===
In some scenarios, a user might want to switch between two different sets of UI customizings depending on the selected profile. To achieve this, the customizing files need to be deployed accordingly.
 
Every profile has a field called "Name", which not only decides how it's displayed, but also tells the client under which sub folder it should look for profile specific customizings. Imagine a profile named "Demo_V3", the client first tries to find a "Demo_V3" sub folder under the [[#Location_of_UI_customizing|root XAML folder]]. If it finds none, it then uses those under the root.
 
{{Hint|There's also another field called "Customizing" in a profile. If specified, it overrules the "Name" field when it comes to the profile specific customizing folder. This is usually only used if you want different profiles to share the same set of customizings.}}
== Manual deployment ==
* Manually copying/pasting the UI customizing files (XAMLs, images, etc.) to the desired devices;
* Other 3rd-party (e.g. customers' private rollout infrastructure) automated deployment systems.
The folder containing the UI customizing is at [AppInstallPath]\LocalState\XAML, where the installation path is in the user's appdata\packages directory.
=== Import UI customizing ===Since it's impossible to copy/paste files to the app data folder with UBIK.Xamarin for Android and iOS, those clients provide an alternative option to "Import Customizing" in the general settings.* You can import a single XAML file which then ends up under the [[Category:Client#Location_of_UI_customizing|Deploy UI Customizings (Client)root XAML folder]];* You can also import a zip archive of many XAML files at once.** With a zip archive, its content (files and folders) is unpacked under the [[Category:WinX#Location_of_UI_customizing|Deploy UI Customizings (Client)root XAML folder]]'''with the folder structure of the archive preserved'''. This is important because of the [[Category:Xamarin#Profile_specific_customizing|Deploy UI Customizings (Client)profile specific customizing]]feature.
== {{UBIK}} server deployment ==
=== Client scenario ===
Once a {{UBIK}} client connects to a server and downloads such a customizing archive, it unpacks the archive file and places all its content (with the folder structures if there's any) under the client's XAML foldersame way it does during a [[#Import_UI_customizing|manual import]].
* If a folder or a file at the root level of the archive already has a same-named counterpart in the client's XAML folder, the existing one is first removed before the one from the archive gets unpacked;
* Once the archive is unpacked, the client tries to reload the UI customizings. If a set is found for the currently selected profile, one should see the changes in the UI.;* Most likely, you would want to include a certain folder structure in the archive to achieve [[Category:Client#Profile_specific_customizing|Deploy UI Customizings (Client)]][[Category:WinX|Deploy UI Customizings (Client)]][[Category:Xamarin|Deploy UI Customizings (Client)profile specific customizing]].
=== Some other details ===