This is an old revision of the document!
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.
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.
The following items will set the base line for the track work:
Provide the server base to support, at least, the capabilities required in SmartTrack.
drop table TMM; drop table TSM;drop table RTK; drop table RTKTRACK;discovery_time, rejected_time, rejected_dop, last_versionstatistics | int(16)TrackStatistics
 {
    int     track_id;            // Handle of associated track
    long    moving_seconds;      // delta seconds
    long    start_seconds;       // absolute time
    long    end_seconds;         // absolute time
    long    last_cycle_time;     // delta seconds
    long    average_cycle_time;  // delta seconds
    int     cycle_count;
    boolean is_metric;
    double  volume;        // CY for non-metric, M**3 for metric
    double  average_speed; // MPH for non-metric, KPH for metric
 } 
Add a new table to the customer database
TrackStatistics +--------------------+------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------------+------------+------+-----+---------+----------------+ | handle | int(16) | NO | PRI | | auto_increment | | track | int(16) | NO | | | | | start_seconds | int(16) | NO | | | | | end_seconds | int(16) | NO | | | | | moving_seconds | int(16) | NO | | | | | last_cycle_time | int(16) | NO | | | | | average_cycle_time | int(16) | NO | | | | | cycle_count | int(16) | NO | | | | | is_metric | tinyint(1) | NO | | | | | volume | float | NO | | | | | average_speed | float | NO | | | | +--------------------+------------+------+-----+---------+----------------+
 Position
 {
    enum FixType {Auto, DGPS, Float, Fixed };
    FixType type;
    float   compass; // 0.0 .. 359.9999999
 }
upload( StoredProject proj, String serial, List<Position> positions)
TrackAPI.getGPSStats(String serialNumber ) for a single serial number. Return instance of GPS Stats or null, if not found.TrackAPI.updateGPSStats( GPSStats statObject ) application to set stats + latest_version