StageNow Remote XML – Combining Profiles

Summary

This blog details how to automatically combine up to 10 XML profiles (which have previously been deployed as Remote XML profiles) into one single large profile. This allows re-use of existing profiles to create new profiles quickly and easily e.g. a customer may require a combination of EHS, Enterprise Browser and PPT Express configuration which can very easily be created by combining the three separate profiles into one.

Note:

If you are having problems viewing the images embedded in this blog , the original version is posted as a PDF file at this link:

http://zebra.airsetup.com/2020/blogs/

 

The updated utilities to create remote XML profiles are also available here:

http://zebra.airsetup.com/2020/xmlremote/

 

Overview

The article here (http://developer.zebra.com/blog/stagenow-3x-remote-xml-hosting-v2 )  describes two methods to remotely host a StageNow profile for Zebra devices. Remote hosting has the following main advantages:

  1. The profile size is reduced so that the user only has to scan 1 PDF417 barcode regardless of the size of the profile . The profile can fit on a small capacity (256 bytes) IEC15693 NFC tag so it can staged via a NFC tag on any version of StageNow from KitKat onwards
  2. The remotely hosted XML profile can be edited and modified without having to regenerate the profile barcode/NFC tag (using method 2 only)

If using method 2 above (raw XML) there is a further advantage which is that multiple XML profiles can easily be combined into one profile for later use. As an example, you may have profiles already created for installing common apps such as Enterprise Home Screen , Velocity and Speakeasy . When a customer requires all three elements in one staging profile, they can now be combined using a new batch file (xml_combine.bat) which has the following syntax:

Xmlcombine combined_profilename profilename1 profilename2 profilename3

(supports up to 9 profiles to be combined)

e.g to create one combined profile using the example above, just enter the following command in the xmlstage working folder (actual profile names will vary according to what has been previously created):

 

xml_combine.bat full_profile velocity2 speakeasy ehs3dot2

This will create a new sub-folder named full_profile and a new XML file with the same name in that folder. The individual XML files will be combined into the new XML file and the new profile can be staged after importing the _import_to_stagenow.xml file into StageNow as detailed below.  Note that the original profile files will still be deployed in the original locations so are not duplicated in a new location.  Also, the original advantage of this Remote Hosting method still applies i.e. any size profile can be deployed using one single PDF barcode or a small capacity (256 byte) NFC tag.

Preparation

a) Download the utilities from the link at the top of this article – note that these files are modified from the ones posted with the original blog  

b) Unzip the contents of this archive to a working folder e.g. /projects/stagenow/xmlremote

c) Open a command prompt and navigate to the working (installation) folder e.g cd /projects/stagenow/xmlremote

 

 Method to generate individual XML profiles

Overview

This method supports automatic generation and deployment of a template XML file which can then be manually edited and re-deployed using the supplied tools. This method has the following additional advantages :

  1. The remote XML can be edited with a text editor which can be easier when working with large XML profiles
  2. It is possible to mix different levels of Mx in the same profile whereas with StageNow , the Mx level is fixed when the profile is initially created.

Usage

  1. Using a command prompt in the installation folder , create a template project using the command line below:

xmlgen.bat projectname (where projectname is a unique name for your profile e.g.

xmlgen.bat jb_profile1

  1. This will create a sub-folder named projectname containing a template xml file (projectname.xml) and a StageNow import file named _import_to_stagenow.xml
  2. Copy any required files for the project to the sub-folder – these are files which need to be transferred to the device
  3. Using a text editor, edit the XML file to modify the filename in the existing XML to include the required filenames e.g.

Existing:

http://airsetup.com/airbeam/rxml/profilename/com.adobe.reader.apk

Modified:

http://airsetup.com/airbeam/rxml/mynewprofilename/com.zebra.myapp.apk

Note that the filename needs to be modified in several places in the XML file if this is a profile which downloads and installs APK files.

  1. Add any additional XML steps using the templates contained in CSP.xml – each functional block of XML is delimited by comments
  2. Save the file
  3. Run the same command line again in order to update the files on the remote server i.e.

xmlgen.bat projectname

  1. In  StageNow , select the All Profiles screen and then the import profile button below:

 

 

 

  1. Select the _import_to_stagenow.xml file from the project folder under the working folder. 

 

  1. Profile will be imported under the profile name  ‘server_myxml’

 

  1. Select Home to see the imported profile. Select the profile and change the name via the pen icon next to the existing name. I would recommend using a postfix to the project name e.g. _http indicates this is a remotely hosted XML profile using http as the file transfer protocol.

 

 

 

  1. Select Complete Profile and generate the barcodes and/or NFC BIN file to test the remote profile. Note that the BIN file can be staged using the new ‘Local File Staging’ option in StageNow on Oreo onwards i.e. copy the BIN file to the device, browse for this file via the StageNow client and select it to stage.

 

  1. Subsequent changes can be made by editing the XML and repeating the command line deployment.

 

Generate combined XML profile

After creating multiple individual profiles via the technique above, combine any of these profiles into one using the method outlined below:

  1. Install the supplied utility xml_remove_installer (using xml_remove_install.exe ) but do not run it at this stage

 

  1. In the root of your working folder, use the xml_combine command line to join multiple profiles together e.g.

xml_combine.bat full_profile velocity2 speakeasy ehs3dot2

 

(replace the folder names above with the ones in your own working folder). This will create a new sub-folder named full_profile and a new XML file with the same name in that folder. The individual XML files will be combined into the new XML file and the new profile can be staged after importing the _import_to_stagenow.xml file into StageNow as detailed below. 

 

  1. Select the _import_to_stagenow.xml file from the project folder under the working folder. 

 

  1. Profile will be imported under the profile name  ‘server_myxml’

 

  1. Select Home to see the imported profile. Select the profile and change the name via the pen icon next to the existing name. I would recommend using a postfix to the project name e.g. _http indicates this is a remotely hosted XML profile using http to transfer files.

 

  1. Select Complete Profile and generate the barcodes and/or NFC BIN file to test the remote profile. Note that the BIN file can be staged using the new ‘Local File Staging’ option in StageNow on Oreo onwards i.e. copy the BIN file to the device, browse for this file via the StageNow client and select it to stage.

 

Each time the command line in step (2) above is repeated , the profile will be regenerated using the specified arguments to combine required profiles.