Jump to: navigation, search

Difference between revisions of "HowTo:Configure Start Screen Content"


Line 3: Line 3:
  
 
== Setup ==
 
== Setup ==
* The first step is to configure the start screen data using an xml in order for UBIK® to recognize the different tabs and buttons. The xml file should be placed in a subfolder under the "UBIK" folder on the device's SD card.  
+
* The first step is to configure the start screen data using an xml in order for UBIK® to recognize the different tabs and buttons. The xml file, which must have the name '''css_config.xml''', should be placed under '''''SD_CARD''/Android/data/''APP_PACKAGE_NAME''/files/UIConfigurations''' where
 +
{| class="wikitable" | width = "50%"
 +
|-
 +
! Parameter!! Purpose
 +
|-
 +
| ''SD_CARD''|| represents the root of the external storage of a device
 +
|-
 +
| ''APP_PACKAGE_NAME''|| is the concatenation of "com.augmensys.ubik." and the application name, e.g. ''demo'', ''manualtest'', ''companyname'' etc.
 +
|}
  
 
* After the folder is configured, the next step is to validate the XML configuration file against the [http://wiki.augmensys.com/index.php/File:Start_Screen_Configuration_Schema.zip schema] using an online validator. A solution can be found at [http://www.utilities-online.info/xsdvalidation/ Online XML Schema Validator]. The schema used to validate against will be found inside the UBIK Folder and is named ConfigurableStartScreenSchema.
 
* After the folder is configured, the next step is to validate the XML configuration file against the [http://wiki.augmensys.com/index.php/File:Start_Screen_Configuration_Schema.zip schema] using an online validator. A solution can be found at [http://www.utilities-online.info/xsdvalidation/ Online XML Schema Validator]. The schema used to validate against will be found inside the UBIK Folder and is named ConfigurableStartScreenSchema.
Line 11: Line 19:
 
     <Tab caption="Content">
 
     <Tab caption="Content">
 
       <ContentBrowserButton caption="Content Browser"/>
 
       <ContentBrowserButton caption="Content Browser"/>
       <ContentBrowserButton caption="Events" UBIK-UID="31aaa5c9-85dd-4243-9cf8-89d712d32405" iconPath="/sdcard/Augmensys/events.png"/>
+
       <ContentBrowserButton caption="Events" UBIK-UID="31aaa5c9-85dd-4243-9cf8-89d712d32405" iconPath="events.png"/>
 
     </Tab>
 
     </Tab>
 
+
 
     <Tab caption="AR1">
 
     <Tab caption="AR1">
 
       <MapsButton/>
 
       <MapsButton/>
 
       <POIViewButton caption="AR View"/>
 
       <POIViewButton caption="AR View"/>
       <CustomIntentButton caption="Map of Linz" iconPath="/sdcard/Augmensys/linz.png">
+
       <CustomIntentButton caption="Map of Linz" iconPath="linz.png">
 
         <TargetURI>
 
         <TargetURI>
 
           https://www.google.com/maps/place/Linz/@48.295065,14.327405,12z/data=!3m1!4b1!4m2!3m1!1s0x47739595fa99854d:0x7c53292c577975c4
 
           https://www.google.com/maps/place/Linz/@48.295065,14.327405,12z/data=!3m1!4b1!4m2!3m1!1s0x47739595fa99854d:0x7c53292c577975c4
Line 24: Line 32:
 
       <TargetMapsButton caption="Flow Controller 213"  UBIK-UID="2ccd91c0-9cee-42f3-9d1d-be745908457d"/>
 
       <TargetMapsButton caption="Flow Controller 213"  UBIK-UID="2ccd91c0-9cee-42f3-9d1d-be745908457d"/>
 
     </Tab>
 
     </Tab>
+
 
     <Tab caption="AR2">
 
     <Tab caption="AR2">
 
       <IDMarkerScanButton caption="ID Marker Scan"/>
 
       <IDMarkerScanButton caption="ID Marker Scan"/>
Line 36: Line 44:
 
</source>
 
</source>
  
== Tab Groups ==
+
== Tab groups ==
The user can configure tab groups in the XML, however the allowed number of tabs to configure may vary depending on the screen size of the device. As parameters, the caption is mandatory.
+
The user can configure tab groups in the XML. They will be used as groupings for buttons.
  
 
== Buttons ==
 
== Buttons ==
Line 46: Line 54:
 
* Action + Parameters if needed
 
* Action + Parameters if needed
  
For now, the supported button types are as follows: (The buttons demonstrated in the screenshots are the results of the example XML configuration.)
+
{{Hint|The icons are specified by their relative paths under '''''SD_CARD''/Android/data/''APP_PACKAGE_NAME''/files/UIConfigurations/CSSButtonIcons''' }}
 +
 
 +
The supported button types are as follows:
  
 
* Content Browser Button : Opens a content browser for displaying an object or the root if no object/uid is specified.
 
* Content Browser Button : Opens a content browser for displaying an object or the root if no object/uid is specified.
<br/>[[File:UI_Android_CSS_Buttons_Content_Browser.jpg|border|alt=Content Browser Button|Content Browser Button]][[File:UI_Android_CSS_Buttons_Content_Browser_Events.jpg|border|alt=Content Browser Button For Events|Content Browser Button For Events]]
+
[[File:UI_Android_CSS_Buttons_Content_Browser.jpg|border|alt=Content Browser Button|Content Browser Button]][[File:UI_Android_CSS_Buttons_Content_Browser_Events.jpg|border|alt=Content Browser Button For Events|Content Browser Button For Events]]
 
* Custom Intent Button (using a customized intent URI or target class) : Launches a certain application for the specified Intent.
 
* Custom Intent Button (using a customized intent URI or target class) : Launches a certain application for the specified Intent.
<br/>[[File:UI_Android_CSS_Buttons_Custom_Intent.jpg|border|alt=Custom Intent Button|Custom Intent Button]]
+
[[File:UI_Android_CSS_Buttons_Custom_Intent.jpg|border|alt=Custom Intent Button|Custom Intent Button]]
 
+
 
* Maps Button : Opens {{UBIK}} map.
 
* Maps Button : Opens {{UBIK}} map.
<br/>[[File:UI_Android_CSS_Buttons_Maps.jpg|border|alt=Maps Button|Maps Button]]
+
[[File:UI_Android_CSS_Buttons_Maps.jpg|border|alt=Maps Button|Maps Button]]
 
* Target Maps Button : Opens {{UBIK}} map for a target object.
 
* Target Maps Button : Opens {{UBIK}} map for a target object.
<br/>[[File:UI_Android_CSS_Buttons_Target_Maps.jpg|border|alt=Target Maps Button|Target Maps Button]]
+
[[File:UI_Android_CSS_Buttons_Target_Maps.jpg|border|alt=Target Maps Button|Target Maps Button]]
 
* ID Marker Scan Button : Starts ID marker scanning.
 
* ID Marker Scan Button : Starts ID marker scanning.
<br/>[[File:UI_Android_CSS_Buttons_ID_Marker_Scan.jpg|border|alt=ID Marker Scan Button|ID Marker Scan Button]]
+
[[File:UI_Android_CSS_Buttons_ID_Marker_Scan.jpg|border|alt=ID Marker Scan Button|ID Marker Scan Button]]
 
* QR Scan Button : Starts QR code scanning.
 
* QR Scan Button : Starts QR code scanning.
<br/>[[File:UI_Android_CSS_Buttons_QR_Code_Scan.jpg|border|alt=QR Code Scan Button|QR Code Scan Button]]
+
[[File:UI_Android_CSS_Buttons_QR_Code_Scan.jpg|border|alt=QR Code Scan Button|QR Code Scan Button]]
 
* POI View Button : Opens {{UBIK}} POI view.
 
* POI View Button : Opens {{UBIK}} POI view.
<br/>[[File:UI_Android_CSS_Buttons_POI_View.jpg|border|alt=POI View Button|POI View Button]]
+
[[File:UI_Android_CSS_Buttons_POI_View.jpg|border|alt=POI View Button|POI View Button]]
 
* Configurable AR Button : Opens the markerless view.
 
* Configurable AR Button : Opens the markerless view.
<br/>[[File:UI_Android_CSS_Buttons_Config_AR.jpg|border|alt=Configurable AR Button|Configurable AR Button]]
+
[[File:UI_Android_CSS_Buttons_Config_AR.jpg|border|alt=Configurable AR Button|Configurable AR Button]]
 
* Configurable Image Marker Button : Opens the ID marker 3D view.
 
* Configurable Image Marker Button : Opens the ID marker 3D view.
<br/>[[File:UI_Android_CSS_Buttons_Config_Image.jpg|border|alt=Configurable Image Marker Button|Configurable Image Marker Button]]
+
[[File:UI_Android_CSS_Buttons_Config_Image.jpg|border|alt=Configurable Image Marker Button|Configurable Image Marker Button]]
 
+
 
* AR Navigation POI View Button : Opens {{UBIK}} POI view with the AR navigation support.
 
* AR Navigation POI View Button : Opens {{UBIK}} POI view with the AR navigation support.
<br/>[[File:UI_Android_CSS_Buttons_AR_Navigation.jpg|border|alt=AR Navigation Button|AR Navigation Button]]
+
[[File:UI_Android_CSS_Buttons_AR_Navigation.jpg|border|alt=AR Navigation Button|AR Navigation Button]]
 
* AR Navigation Maps Button : Starts navigating to the specified object.
 
* AR Navigation Maps Button : Starts navigating to the specified object.
<br/>[[File:UI_Android_CSS_Buttons_Nav_Maps.jpg|border|alt=Navigation Button|Navigation Button]]
+
[[File:UI_Android_CSS_Buttons_Nav_Maps.jpg|border|alt=Navigation Button|Navigation Button]]
  
Additionally, Button parameter configurations should maintain the following guidelines:
+
== Configuration guidelines ==
 +
* The maximum number of tabs is 6. Once this limit is exceeded, the configuration is invalid and won't be shown.
 +
* The captions of tabs are optional. In case there's only one tab, the tab will be invisible.
 +
* The buttons should always be nested inside tabs. Otherwise, the configuration is also invalid.
 
* When either the caption parameter or the icon parameter is not explicitly customized in the xml file, default caption and icons, specific to each button, are used.
 
* When either the caption parameter or the icon parameter is not explicitly customized in the xml file, default caption and icons, specific to each button, are used.
* While configuring the custom intent button, either target class or target URI should be specified, but not both and not neither. The later two cases will result in an error.
+
* While configuring the custom intent button, one should always specify one and only one of the target class and the target URI. Otherwise, the button is invalid and the error will be shown.
* The configuration of the UID parameter is obligatory for AR Navigation POI View Button, AR Navigation Maps View Button, RAG Navigation Maps View Button and Demo Navigation Maps View Button.
+
* The configuration of the UID parameter is obligatory for AR Navigation POI View Button, AR Navigation Maps Button and Target Maps Button.
  
 
== Results ==
 
== Results ==
 
The result is that the tabs and buttons configured in the XML file will be visible and open the right activity once they are clicked.
 
The result is that the tabs and buttons configured in the XML file will be visible and open the right activity once they are clicked.
 +
 +
The following screenshots demonstrates the results of the example XML configuration.
 +
<br/>[[File:UI_Android_CSS_Buttons_Tab1.jpg|border|alt=The First Tab|The First Tab]]
 +
<br/>[[File:UI_Android_CSS_Buttons_Tab2.jpg|border|alt=The Second Tab|The Second Tab]]
 +
<br/>[[File:UI_Android_CSS_Buttons_Tab3.jpg|border|alt=The Third Tab|The Third Tab]]
 +
 +
After users log in, the buttons are enabled and colored. Upon being clicked, they should trigger different actions.
 +
<br/>[[File:UI_Android_CSS_Buttons_After_Login.jpg|border|alt=Buttons After Login|Buttons After Login]]
  
 
[[Category:How-To]]
 
[[Category:How-To]]
 
[[Category:UBIK Client]]
 
[[Category:UBIK Client]]
 
[[Category:UBIK Android]]
 
[[Category:UBIK Android]]

Revision as of 08:58, 2 September 2014

Introduction

The Dynamic Configurable start screen feature allows the UBIK Service engineer to tailor the buttons on the start screen according to the needs of the customer.

Setup

  • The first step is to configure the start screen data using an xml in order for UBIK® to recognize the different tabs and buttons. The xml file, which must have the name css_config.xml, should be placed under SD_CARD/Android/data/APP_PACKAGE_NAME/files/UIConfigurations where
Parameter Purpose
SD_CARD represents the root of the external storage of a device
APP_PACKAGE_NAME is the concatenation of "com.augmensys.ubik." and the application name, e.g. demo, manualtest, companyname etc.
  • After the folder is configured, the next step is to validate the XML configuration file against the schema using an online validator. A solution can be found at Online XML Schema Validator. The schema used to validate against will be found inside the UBIK Folder and is named ConfigurableStartScreenSchema.

The following xml shows an example configuration (also can be downloaded as an xml file):

  <StartScreenConfiguration>
    <Tab caption="Content">
      <ContentBrowserButton caption="Content Browser"/>
      <ContentBrowserButton caption="Events" UBIK-UID="31aaa5c9-85dd-4243-9cf8-89d712d32405" iconPath="events.png"/>
    </Tab>
 
    <Tab caption="AR1">
      <MapsButton/>
      <POIViewButton caption="AR View"/>
      <CustomIntentButton caption="Map of Linz" iconPath="linz.png">
        <TargetURI>
          https://www.google.com/maps/place/Linz/@48.295065,14.327405,12z/data=!3m1!4b1!4m2!3m1!1s0x47739595fa99854d:0x7c53292c577975c4
        </TargetURI>
      </CustomIntentButton>
      <TargetMapsButton caption="Flow Controller 213"  UBIK-UID="2ccd91c0-9cee-42f3-9d1d-be745908457d"/>
    </Tab>
 
    <Tab caption="AR2">
      <IDMarkerScanButton caption="ID Marker Scan"/>
      <QRCodeScanButton caption="QR Code Scan"/>
      <ConfigurableARButton caption="Configurable AR"/>
      <ConfigurableImageMarkerButton caption="Configurable Image Marker"/>
      <ARNavigationButton caption="Flow Controller 213" UBIK-UID="2ccd91c0-9cee-42f3-9d1d-be745908457d"/>
      <NavigationMapsButton caption="Flow Controller 213" UBIK-UID="2ccd91c0-9cee-42f3-9d1d-be745908457d"/>
    </Tab>
  </StartScreenConfiguration>

Tab groups

The user can configure tab groups in the XML. They will be used as groupings for buttons.

Buttons

Buttons should be placed inside tab elements and can be parameterized. Buttons are configurable in terms of

  • Icon
  • Caption
  • Group/tab
  • Action + Parameters if needed
IC Hint square.pngThe icons are specified by their relative paths under SD_CARD/Android/data/APP_PACKAGE_NAME/files/UIConfigurations/CSSButtonIcons

The supported button types are as follows:

  • Content Browser Button : Opens a content browser for displaying an object or the root if no object/uid is specified.

Content Browser ButtonContent Browser Button For Events

  • Custom Intent Button (using a customized intent URI or target class) : Launches a certain application for the specified Intent.

Custom Intent Button

  • Maps Button : Opens UBIK® map.

Maps Button

  • Target Maps Button : Opens UBIK® map for a target object.

Target Maps Button

  • ID Marker Scan Button : Starts ID marker scanning.

ID Marker Scan Button

  • QR Scan Button : Starts QR code scanning.

QR Code Scan Button

  • POI View Button : Opens UBIK® POI view.

POI View Button

  • Configurable AR Button : Opens the markerless view.

Configurable AR Button

  • Configurable Image Marker Button : Opens the ID marker 3D view.

Configurable Image Marker Button

  • AR Navigation POI View Button : Opens UBIK® POI view with the AR navigation support.

AR Navigation Button

  • AR Navigation Maps Button : Starts navigating to the specified object.

Navigation Button

Configuration guidelines

  • The maximum number of tabs is 6. Once this limit is exceeded, the configuration is invalid and won't be shown.
  • The captions of tabs are optional. In case there's only one tab, the tab will be invisible.
  • The buttons should always be nested inside tabs. Otherwise, the configuration is also invalid.
  • When either the caption parameter or the icon parameter is not explicitly customized in the xml file, default caption and icons, specific to each button, are used.
  • While configuring the custom intent button, one should always specify one and only one of the target class and the target URI. Otherwise, the button is invalid and the error will be shown.
  • The configuration of the UID parameter is obligatory for AR Navigation POI View Button, AR Navigation Maps Button and Target Maps Button.

Results

The result is that the tabs and buttons configured in the XML file will be visible and open the right activity once they are clicked.

The following screenshots demonstrates the results of the example XML configuration.
The First Tab
The Second Tab
The Third Tab

After users log in, the buttons are enabled and colored. Upon being clicked, they should trigger different actions.
Buttons After Login