User Tools

Site Tools


access:track2013stories

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
access:track2013stories [2013/11/22 19:28]
mjallison [Story 1 - Base line]
access:track2013stories [2014/02/26 23:14] (current)
mjallison
Line 3: Line 3:
 To support SmartTrack and Trackwork applications,​ the AGTEK Access server needs to change to accommodate new requirements. The first version of the server, written by external consultants,​ was a C++/Linux based server which had several issues. The second version of the server, written in Java/Linux, has been in production since 2009. A modified server implementation starting in 2014 is anticipated to support the track applications. ​ To support SmartTrack and Trackwork applications,​ the AGTEK Access server needs to change to accommodate new requirements. The first version of the server, written by external consultants,​ was a C++/Linux based server which had several issues. The second version of the server, written in Java/Linux, has been in production since 2009. A modified server implementation starting in 2014 is anticipated to support the track applications. ​
  
-===== Story - Leveling the base =====+===== Story - Leveling the base =====
  
 We are anticipating that the trackwork will be significantly less than the original Java server implementation (2009) and should be less effort than the license extensions (2011). To prepare for the track extensions, the server needs to be in a relatively clean state. This will prevent any lingering server issues from introducing challenges to the track implementation. ​ We are anticipating that the trackwork will be significantly less than the original Java server implementation (2009) and should be less effort than the license extensions (2011). To prepare for the track extensions, the server needs to be in a relatively clean state. This will prevent any lingering server issues from introducing challenges to the track implementation. ​
Line 28: Line 28:
      * 4 - Framework for purging licenselog, don't deploy      * 4 - Framework for purging licenselog, don't deploy
  
-===== Story - Base line =====+===== Story - Base line =====
  
 Provide the server base to support, at least, the capabilities required in SmartTrack. ​ Provide the server base to support, at least, the capabilities required in SmartTrack. ​
    * Storage of normal tracks    * Storage of normal tracks
 +      * Extend track file format to include compass, use floating point.
 +      * Extend track file format to include fixType
 +      * Add version to header to allow server to deal with V1, V2, etc. 
 +      * V2 files write values in float, include position type (AUTO, FIXED, etc)
    * Clean up    * Clean up
       * Remove TMM and TSM tables, ''​drop table TMM; drop table TSM;''​       * Remove TMM and TSM tables, ''​drop table TMM; drop table TSM;''​
       * Remove RTK table, in each customer. ''​drop table RTK; drop table RTKTRACK;''​       * Remove RTK table, in each customer. ''​drop table RTK; drop table RTKTRACK;''​
 +        * Remove RTK related tabs from customerView in com.agtek.support
 +        * Remove RTKTrack related tables from support tool.
 +        * Remove RTKTrackApi,​ protobuf
       * alter table TRACK set START, END, DISCOVERY, LARGESTGAP to bigint(20) ?       * alter table TRACK set START, END, DISCOVERY, LARGESTGAP to bigint(20) ?
       * Add fix type to TRACK table, may be implied by API       * Add fix type to TRACK table, may be implied by API
Line 40: Line 47:
     * API extensions     * API extensions
       * Define constants for machine type       * Define constants for machine type
-      ​Management interface, CRUD directives +        ​Scraper 
-      * Remove Track fields; ''​discovery_time,​ rejected_time, ​rejected_dop, last_version''​ +        * Bulldozer 
-      * Add Track field ''​statistics | int(16)''​+        * Excavator 
 +     * Remove Track fields; ''​rejected_dop''​. fix support display 
 +      * Add Track field ''​statistics | int(16)'' ​Add support tool display options for stats
       * New track statistics, extend TrackDB for this too.<​code>​TrackStatistics       * New track statistics, extend TrackDB for this too.<​code>​TrackStatistics
  {  {
Line 53: Line 62:
     int     ​cycle_count;​     int     ​cycle_count;​
     boolean is_metric;     boolean is_metric;
-    double  ​volume       // CY for non-metric, M**3 for metric +    double  ​amount             // CY for non-metric, M**3 for metric 
-    double ​ average_speed;​ // MPH for non-metric, KPH for metric+    double ​ average_speed; ​      ​// MPH for non-metric, KPH for metric
  } </​code>​ Add a new table to the customer database<​code>​TrackStatistics  } </​code>​ Add a new table to the customer database<​code>​TrackStatistics
  ​+--------------------+------------+------+-----+---------+----------------+  ​+--------------------+------------+------+-----+---------+----------------+
Line 68: Line 77:
  | cycle_count ​       | int(16) ​   | NO   ​| ​    ​| ​        ​| ​               |  | cycle_count ​       | int(16) ​   | NO   ​| ​    ​| ​        ​| ​               |
  | is_metric ​         | tinyint(1) | NO   ​| ​    ​| ​        ​| ​               |  | is_metric ​         | tinyint(1) | NO   ​| ​    ​| ​        ​| ​               |
- ​| ​volume ​            | float      | NO   ​| ​    ​| ​        ​| ​               |+ ​| ​amount ​            | float      | NO   ​| ​    ​| ​        ​| ​               |
  | average_speed ​     | float      | NO   ​| ​    ​| ​        ​| ​               |   | average_speed ​     | float      | NO   ​| ​    ​| ​        ​| ​               | 
  ​+--------------------+------------+------+-----+---------+----------------+</​code>​  ​+--------------------+------------+------+-----+---------+----------------+</​code>​
       * Position Object extensions       * Position Object extensions
-         * Add compass ​to recorded points in track file, Position objects represent if they have compass.  +         * Add fixtype and compass field <​code>​ Position
-         * Add fixtype ​field <​code>​ Position+
  {  {
     enum FixType {Auto, DGPS, Float, Fixed };     enum FixType {Auto, DGPS, Float, Fixed };
     FixType type;     FixType type;
 +    boolean hasCompass;
     float   ​compass;​ // 0.0 .. 359.9999999     float   ​compass;​ // 0.0 .. 359.9999999
  ​}</​code>​  ​}</​code>​
Line 82: Line 91:
          * Override upload to include project. The existing method operates as it does today. Tracks would be tagged with no project. Null will be acceptable for the StoredProject argument and makes this new method behave just like the old one. <​code>​upload( StoredProject proj, String serial, List<​Position>​ positions)</​code>​          * Override upload to include project. The existing method operates as it does today. Tracks would be tagged with no project. Null will be acceptable for the StoredProject argument and makes this new method behave just like the old one. <​code>​upload( StoredProject proj, String serial, List<​Position>​ positions)</​code>​
          * Make sure that the Position object is in the JavaDocs          * Make sure that the Position object is in the JavaDocs
-         * Modify server track file format 
-           * Add version to header to allow server to deal with V1, V2, etc.  
-           * V2 files write values in float, include position type (AUTO, FIXED, etc) 
       * Move Track/​Position API to authenticated states in Server (require authentication)\       * Move Track/​Position API to authenticated states in Server (require authentication)\
       * TrackAPI Modifications       * TrackAPI Modifications
         * Add ''​TrackAPI.getGPSStats(String serialNumber )''​ for a single serial number. Return instance of GPS Stats or null, if not found.         * Add ''​TrackAPI.getGPSStats(String serialNumber )''​ for a single serial number. Return instance of GPS Stats or null, if not found.
         * Add ''​TrackAPI.updateGPSStats( GPSStats statObject )''​ application to set stats + latest_version         * Add ''​TrackAPI.updateGPSStats( GPSStats statObject )''​ application to set stats + latest_version
-      * Add ProjectAPI.deleteProject - will only succeed if project has zero tracks ​and zero files +      * GPSSim may need some changes. 
-      * Add login dialog to HaulSim +      * AccessSupport program 
-      * Modify HaulSim to be able to write GPX files. +        * Devices page/tab can go because no longer assign to customer. 
-      * Extend track file format ​to include compassuse floating point.+        * Delete com.agtek.net.storage.data.Device;​ 
 +        * Delete com.agtek.net.support.gui.DeviceTableModel;​ 
 +        * Delete com.agtek.net.support.dialog.AssignDeviceDialog 
 +        * Delete com.agtek.net.support.op.GetDevices,​ DeleteDeviceOp,​ AssignDeviceOp 
 +        * Remove Device oriented methods from SupportAPI ​and drop protobuf items for those. 
 +        * Delete DeviceDB from storageDB 
 +        * Delete RTK panels 
 + 
 +===== Story 3 - Supervisory level ===== 
 +      ​* HaulSim 
 +        ​* Add login dialog to HaulSim 
 +        * Modify HaulSim to be able to write GPX files. 
 +      * SmartTrack Management interface, CRUD directives  
 +        * See [[android:​jobsite:​SmartSuiteConfiguration|Smartsuite Configuration]] for directive ​file information 
 +        * TrackAPI.CreateTrackerDirective( SerialNumber,​ StoredProject,​ StoredFile ) 
 +        * <​del>​TrackAPI.DeleteTrackerDirective(int directiveId )</​del>​ 
 +        * <​del>​TrackAPI.updateTrackerDirective(TrackerDirective newDirective) - May only be updated if NOT acknowledged</​del>​ 
 +        * List<​TrackerDirective>​ TrackApi.getTrackerDirective(StoredProject) 
 +        * TrackerDirective TrackApi.getTrackerDirective(StoredProject,​ SerialNumber) 
 +        * TrackApi.acknowledgeTrackerDirective(int directiveNumber) 
 +        * All directives are permanent until project is archived 
 +        * Tracker directives can be superceeded,​ and will not be usable, only newest one is available. 
 +        * Add new client side data object, configuratuion policy, possibly attached ​to vehicle table  
 +<​code>​TrackerDirective 
 + { 
 +    int           ​handle;​ 
 +    long          time; 
 +    String ​       trackerSerialNumber;​ 
 +    StoredProject project; 
 +    StoredFile ​   job_file; 
 +    boolean ​      ​isAcknowledged;​ 
 + ​}</​code>​ 
 +        * (MAYBE) Add database table for directivecould be extension of vehicle table <​code>​tracker_directives 
 + ​+--------------------+------------+------+-----+---------+----------------+ 
 + | Field              | Type       | Null | Key | Default | Extra          | 
 + ​+--------------------+------------+------+-----+---------+----------------+ 
 + | handle ​            | int(16) ​   | NO   | PRI |         | auto_increment | 
 + | time               | int(16) ​   | NO   ​| ​    ​| ​        ​| ​               | 
 + | project ​           | int(16) ​   | NO   ​| ​    ​| ​        ​| ​               | 
 + | job_file ​          | int(16) ​   | NO   ​| ​    ​| ​        ​| ​               | 
 + | acknowledged ​      | tinyint(1) | NO   ​| ​    ​| ​      0 |                |  
 + ​+--------------------+------------+------+-----+---------+----------------+ 
 +</​code>​ 
 +       * ProjectApi 
 +        * Add ProjectAPI.archiveProject - packages documents, tracks, directives into a ZIP file and stores it the Project directory. Will only work on an inactive project. 
 +        * Add ProjectApi.deleteProject - Deletes all project related DB entries, and files. Only works if project in inactive (or does not exist inside of the project table). 
access/track2013stories.1385148490.txt.gz · Last modified: 2013/11/22 19:28 by mjallison