{{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 Windows 8.1WinX, 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]].
== Start Screen ==
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.
== Login ==
Users need to login in order to access confidential data, this can be done in the [[Login Dialog]] ({{Version/AndroidSince|2.5.0}}).
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}}
== Automatic Logout ==
It is possible to define an automatic logout timer for a profile, which logs the user out after a configurable period of inactivity. [[Automatic Logout]] {{Version/WinXSince|4.2}}{{Version/XamarinSince|4.2}}
== Settings ==
Users can configure access and edit the settings controlling {{UBIK}} environment using the [[Settings|settings list]].
== Action Bar ==
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.
== Settings ==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.
Users can configure access {| class="wikitable" | width = "100%"|-! Icon !! Action item !! Purpose|-| [[File:Action_update.png|46 px|center]] || ''Update'' || Updates the currently viewed object and edit its children or (if no object is viewed) the settings controlling meta definitions and infrastructure objects from the server.|-| [[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. {{UBIKVersion/AndroidSince|2.5.2}} environment using the |-| [[SettingsFile:Action_search.png|settings list46 px|center]]|| ''Search'' || Opens an input field that can be used for finding objects by free text search.{{Version/AndroidSince|2.4.5}}|-| [[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}}|-|}
== Navigation Drawer ==
{{Version/AndroidSince|2.4.0}}
[[File:UI_Android_Navigation_Drawer.png|180 px|thumb|border|alt=Navigation Drawer|Navigation Drawer]]
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.
* Pressing the app logo in the top-left corner;
* Swiping from/to the left edge of the screen
{| class="wikitable" | width = "50100%"
|-
! Drawer item !! Purpose
| Information || Shows information about the software version and the device
|-
| Scanning|| Contains child items for scanning various codes and markers . {{Version/AndroidSince|2.4.3}}|-| AR || Contains child items for opening the Map or POI view. {{Version/AndroidSince|2.5.3}}
|-
| 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. <br/>The respective target Uri is configurable . {{Version/AndroidSince|2.5.2}}.
|-
| Sync mode || Switches {{UBIK}} between different [[Sync Mode|sync modes]]
|}
[[Category:Client|UBIK Client Basics]][[Category:Pages with broken file links|UBIK Client Basics]]
== Info Screen ==
Shows static information about the app, like the version code and the minimum required web service version.
It also contains additional buttons:
* {{key press|Install Certificate}}: Allows to [[HowTo:Add a Certificate (UBIK Android)Install_UBIK_Client_Certificate|add a server certificate]] to the app.* {{key press|Clear Cache}}: Deletes all local data for the current user (. {{Version/AndroidSince|2.5.0}}).* {{key press|Show Certificates}}: Shows a list of installed certificates, with alias/subject and expiry date (. {{Version/AndroidSince|2.5.1}}).
=== Context Menu ===
From the [[File:UBIK_Android_UI_Content_Browser_Context_actions.png|400px|border|thumb|alt=Context Menu|Context Menu, ]]In the Content Browser a context sensitive menu is available where actions can be triggered that are relevant for the currently viewed object.E.g., For example the creation of a child element or showing this object in another view. [[File:UBIK_Android_UI_Content_Browser_Context_actions.png|400 px|thumb|border|alt=Context Menu|Context Menu]]
{| class="wikitable" | width = "55100%"
|-
! Context Icon !! style="width:150px" | Action item !! Purpose
|-
| ''Support'' (Demo)[[File:Action_supportAction_create_content.png|46 px46px|rightcenter]] || ''Create Object'' || Opens the configured support appa selection dialog for possible child MetaClasses, e.g. creating an object for the Visocon Xing appuser's choice. The new object is opened in a view for editing.
|-
| ''Create Object''[[File:Action_create_contentAction_take_picture.png|46px46 px|rightcenter]] || ''Take Picture'' || Opens the camera activity and creates a selection dialog for possible child MetaClasses, creating an new document object for the user's choiceresulting picture. The new object is opened in a view for editing.
|-
| ''Take Picture''[[File:Action_take_pictureAction_ar_nav.png|46 px|rightcenter]] || ''AR Navigation'' || Opens the camera AR navigation activity and creates a new document object for in order to navigate to the resulting picture. The new current object is opened in a view for editingusing augmented reality.
|-
| ''Geo Actions''[[File:Action_geo_group.png|46 px|rightcenter]] || ''Geo Actions'' || Opens a selection dialog for several geo-related actions.
* ''Edit Geo Data'':[[File:Action_edit_geo_data.png|46 px|right]]
: Opens an editor for the geo location of the current object. Allows to use the device's current location for teach-in.
* ''AR Navigation'':[[File:Action_ar_nav.png|46 px|right]]
: Opens the AR navigation activity in order to navigate to the current object using augmented reality.{{Tip/Version|Feature removed in 2.5.3}}
* ''Show in Map'':[[File:Action_show_in_map.png|46 px|right]]
: Opens the Map activity, showing the current object.
: Uses the current object's location for positioning; applies the position for the device's location management.
|-
| ''Download Branch''[[File:Action_download_branch.png|46 px|rightcenter]] || ''Download Branch'' || Downloads the current object and all children and switches to offline mode.
|-
| [[File:Action_object_deletion_group.png|46 px|center]] || ''Delete Actions'' ( <br/>{{Version/AndroidSince|2.5.0}})[[File:Action_object_deletion_group.png|46 px|right]] || Provides several actions for reverting or removing the current object:
* ''Discard Local Object'':[[File:Action_icon_discard.png|46 px|right]]
: Deletes the object locally.
* ''Revert Changes'':[[File:Action_icon_revert.png|46 px|right]]
: Undoes all local changes for the current object, resetting it to the last known status from the server.
|-
| [[File:Action_object_teach_in_group_wiki.png|46 px|center]] || ''[[UBIK_Client_Basics#Teach-in_Actions|Teach-in Actions]]'' <br /> {{Version/AndroidSince|2.5.2}} || Provides several actions for teaching-in values of scannable properties:
* ''QR-Code teach-in'':[[File:Action_icon_teach_in_qr_wiki.png|46 px|right]]
: Sets the value of the QR-Code property by scanning a QR-Code.
* ''Barcode teach-in'':[[File:Action_icon_teach_in_barcode_wiki.png|46 px|right]]
: Sets the value of the Barcode property by scanning a Barcode.
* ''RFID teach-in'':[[File:Action_icon_teach_in_rfid_wiki.png|46 px|right]]
: Sets the value of the RFID property by scanning a RFID-Tag.
|-
|}
{{Hint|Some actions are summarized 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. <br/>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.}}
==== Locked objects ====
In some cases it might be useful to lock objects until the user varifies that he is to be near to these objects. This can be done with the [[SYSCLS_UNLOCK_BY_SCAN | SYSCLS UNLOCK BY SCAN]] classification {{Version/AndroidSince|2.5.2}}and [[SYSCLS_UNLOCK_GROUP_BY_SCAN]] {{Version/AndroidSince|3.<br/>Objects 1.0}} classifications. Instances of MetaClasses with implementing this classification can only be edited, if after the Object 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 desired according object. After a given amount certain period of time (default=15min) the object gets locked again. <br/>Take care that objects which have In the [[SYSCLS_UNLOCK_BY_SCAN | SYSCLS UNLOCK BY SCAN]] classification also need properties(e.g. QR-Code Property) allowing the user to unlock these objects.<br/>If an object is locked, it is not possible to edit its properties. Furthermore context actions like redlining or editing case 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 Unlocking a group of objects, except for work packages – unlocking them alternatively also means unlocking all underlying items (Tasks, Commissioning Checks) as wellmore than one object can be unlocked at once by sharing a common unlock code.
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.
==== Selective List Properties ====
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.
==== Teach-in Actions ====
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.
==== Default and Initial Values ====
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]
==== Editors ====
There are {{UBIK}} has built-in editors for each different property typetypes, including String, Integer, Double, Boolean, DateTime and , Geo Datadata and Selective list.Clicking on the input field of a property (or task) will open the respective editor.
===== Geo Editor & Teach In =====
[[File:UI_ContentBrowser_TeachIn2_Android.png|thumb|220px|Geo Editor]]
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.
UBIK supports and displays document objects and a bunch of actions related to them (editing, redlining, creation, thumbnails, ...).
See the [[Documents_(UBIK_Android)|Documents]] article for further information on documents.
=== MRO ===
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.
=== Dynamic Content Tabs ===
{{Version/AndroidSince|2.5.0}}, the The content browser's tabs (children, properties and documents) are only shown if necessary (and if they aren't are not empty).<br/>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.<br/><br/>It is possible to configure this feature in order to behave more precisely as desired.<br/>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.<br/>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.<br/> 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.<br/> 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.<br/>
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.<br/>
==== Customizing Possibilities ====
There are basically two ways to configure the dynamic tabs feature.<br/>:First, one * One can configure the [[SYSCLS_CHILDINFOOWNER|Children Information Classification, ]] (former: Document Owner Classification]].This ): 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.<br/>* Another possibility is the configuration of the [[SYSCLS_SHOWPROPERTIES]] or [[SYSCLS_SHOWDOCUMENTS]] classifications. This : this will lead to the displaying of the properties/documents tab as initial view, even if it is empty.
== UI Configurations ==
See [[UI_Configuration_(Mobile_Client)]].
== AR Features ==
Opens the [[map View|Map view]] and displays Points of Interest (POI's) related to the current location of the mobile device.
=== Positioning ===The user can choose different positioning methods. In addition geo-information from nearby objects can be used through [[UBIK Client Basics#Object Proximity Positioning|Object Proximity Positioning]]. ==== 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 LocationUBIK}} in the clients use a [[UBIK Client Basics#Context MenuLocation_Manager|Context MenuLocation Manager]]. The geo information of an object gets used automatically if exactly one single object is found through scanning. If more objects are found, in order to gain knowledge about their geo information doesn´t get used. Scanning includes [[UBIK Client Basics#ID Marker|ID Marker]]position, [[UBIK Client Basics#Bar Code|Bar Code]], [[UBIK Client Basics#QR Code|QR Code]], [[UBIK Client Basics#OCR|OCR]], [[UBIK Client Basics#RFID|RFID]], [[UBIK Client Basics#Markerless|Markerless]] and [[UBIK Client Basics#ID Marker 3D|ID Marker 3D]]. The automatic use of Geo-Object´s location so it can be turned off by disabling the "EnableObjectProximityPositioning" setting. ==== iBeacon-Trilateration Positioning ====iBeacons are small, battery-powered devices, which are sending an unique identifier via Bluetooth Low Energy. iBeacons have to be mounted on known positions inside a building. If more than three beacons are in reach of the mobile device, the position of help the user can be calculated. In order navigate to use iBeacon-Trilateration as a Positioning System, Bluetooth Low Energy has to be available and enabled on the mobile devicehis/her target. If a new environment should be equipped with iBeacon-Positioning, an expert has to mount iBeacons on known positions and calibrate the transmission behaviour of these beacons. Currently the positions of beacons have to be hardcoded into UBIK through the Development Team. In future this should happen through UBIK Studio.
== Finding Objects ==
=== Free Text Search ===
A [[Mobile_Free_Text_Search|free text search feature]] is available in the Action Bar ({{Version/AndroidSince|2.4.5}}). 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}}
=== Custom Query Search ===
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}}
=== ID Marker ===
=== OCR ===
Provides a fast and convenient way for users to find objects that are identifiable through [[OCR|OCR]] ({{Version/AndroidSince|2.5.0}}). 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}}
=== Push ===
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.
== See also ==
[[Category:Client|UBIK Client Basics]]
[[Category:Pages with broken file links|UBIK Client Basics]]