COOPGIS Offline Use
COOPGIS capabilities for offline use
COOPGIS was designed with one of its initial goals being usable while not connected to a network. This was accomplished in the following ways:
Every computer that runs COOPGIS has a complete copy of the COOPGIS database served by PostGreSQL. The entire web application stack is installed on each computer. This is done in Virtual Machines for users that utilize Windows based laptops and can be installed in a Virtual Machine or directly on the computer for Ubuntu Linux based users.
Each time a user makes a change to the GIS (GPSing a feature, creating a Staker Work Order, changing a conductor, etc), a command is generated and applied to their computer, with an Indicator to flag it as not residing on the server.
When users return to the office, they run an update process which sends their new commands to the server, applies the changes, and downloads the latest version of the COOPGIS database and code. The update process typically takes 5-15 minutes or so unless a user has many days of modifications that need to be applied to the server. The number of changes on the Server side do not make an update process take any longer [speeds also vary based on how fast the client laptop is].
Commands are transferred to the Server utilizing FTP (individual commands are .CSV formatted lines defined in the command.py model file). The server performs a pg_dump of the database which the laptop loads automatically. Mercurial is utilized to transfer changed files from the server back to each client computer.
Areas in which the update process could be improved include utilizing a non-static http setup for Mercurial and speeding up the processing of Commands (rebuilding Symbology only when needed for each point should speed things up somewhat). Testing should also be performed to ensure the process is robust if multiple users update at the same time.
Overall, the update process in its current form has been fairly stable for use in a low volume office. Users are able to Stake in the field directly to the GIS without any network connectivity.
Comments