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