====== Project Journal ====== The :Project Journal" (journal) is a new feature for the Agtek Access server. The journal will record events related to the project. This enabled applications to timeline of events related to the project. Here are some example of data items to be stored: * Photos * Notes * Measure Areas * User Tracks * Machine Tracks * Files added / modified The end state of this implementation will be expressed in the following apps: * The project summary page in the Access Web appliction * Web app can create summary of events directly to a new KMZ / display * Mobile applications adding data directly to the journal. * Done when the local data store is uploaded Things to note: * Journal will archive and restore with the project * Journal will delete when the project deletes. ===== Data sources ===== Journal Elements can be created and stored from the following source: * Mobile applications (Android/iOS), SmartDirt, Plan, TrackManager * Web application A bridge strategy will be required until mobile applications are enabled. * The server will extract project events from saved KMZ files generated by the mobile apps. ===== Consumers ===== The journal can be consumed by: * Web application (Project tab) * Desktop? * Mobile? ===== Implementation thoughts ===== Each data item has the following attributes: * project link * date-time * User id (handle) of author * LLA of data element. * Data element itself (JSON in DB, POJO, C++ object) Photo { lat: , lon: , alt: , fileHandle: } Note { lat: , lon: , alt: , Text: } User Track { lat: , lon: , alt: , points: []; } point{ lat: , /* decimal degrees (-180 .. 180] */ lon: , /* decimal degrees [-90 .. 90] */ alt: , /* meters */ hdg: , /* [0..360), optional may not appear */ time: /* msSec since Jan 1, 1970 */ } Machine Track { lat: , lon: , alt: , trackHandle: } Measure { lat: , lon: , alt: , points: []; /* Same point struct from User Track */ }