User Tools

Site Tools


android:jobsite:smartsuiteconfiguration

This is an old revision of the document!


Mumble Mumble… early thoughts of the configuration file format.

XML Alternative

<configuration type="SmartTrack">
   <job>
      <cycleline name="line1">lat,lon,alt lat,lon,alt lat,lon,alt lat,lon,alt </cycleline>
      <haulpath name="path1">lat,lon,alt lat,lon,alt lat,lon,alt lat,lon,alt lat,lon,alt lat,lon,alt </haulpath>\
      <warningarea name="area1">lat,lon,alt lat,lon,alt lat,lon,alt lat,lon,alt lat,lon,alt </warningarea>
   </job>
   <ui>
      <settings visible="true">
      <filelist visible="true">
      <gps visible="true">
         <northup value="true">
         <usecompass value="true">
      </gps>
      <preferences visible="true">
         <screen visible="true">
         <machine visible="true">
         <login visible="true">
      </preferences>
      <screenblanking value="10">
      <statistics visible="true">
   </ui>
</configuration>

Notes:

  • Cycleline, haulpath, and warningarea may have zero or more instances.
  • Other values have precisely one entry.

The current thinking is that the server traffics in the XML format, while the client applications have helper objects to deal with it. A model is similar to the Bundle class in Android that lets you do things like:

   boolean gpsIsVisible = config.getBoolean("ui.gps.visible", true);
   double blankspeed = config.getDouble("ui.screenblanking.visible", 37.5);

Helper classes for the config object would be coded for Java and C++.

JSON Alternative

Thinking about XML points out that working with XML is a pain in the butt. The parsers are ugly to work with, and the readability of an XML fragment is not a good as desired. JSON is an alternative that is portable across systems, and much more readable. Here are some thoughts RE: using JSON for the management directive format.

{   "configuration.type": "SmartTrack",
   "job" : {
      "cycleline": "37.4,121.8,90.0 37.4,-121.85,91 37.5,-121.8,92", 
      "haulpath": "37.4,121.8,90.0 37.4,-121.85,91 37.5,-121.8,92", 
      "warningarea": { "name": "area1"
                     "line": "37.4,121.8,90.0 37.4,-121.85,91 37.5,-121.8,92" 
                     }
      }
   "ui": {
      "settings.visible": "true",
      "filelist.visible": "true",
      "gps": { "visible": "true",
               "northup": "true",
               "usecompass": "true"
          },
      "preferences": { "visible": true,
                       "screen.visible": "true",
                       "machine.visible": "true",
                       "login.visible": "true"
          },
      "screeenblanking": 10,
      "statistics.visible": "true"
      }
   }
android/jobsite/smartsuiteconfiguration.1394066270.txt.gz · Last modified: 2014/03/06 00:37 by mjallison