Handover Notes for the Suspension of Development, April 2019

  1. Issues
  2. Martin
    1. Status of Recent Work
      1. Completed, but not in master
    2. Things I wanted to get done
      1. Making the Installer Handle Updates
      2. Local Caching of Base Maps
      3. Better Database Schema Management
      4. Improving Database Access
      5. The Roadmap
    3. Contacting Me
  3. Peter
    1. Current State of the Development
    2. RIF Test system
    3. Database Improvements needed before the Data Loader is built
    4. Front End
    5. Contacting Me

Issues

There are 53 open issues at 17/4/2019. Some of them are mentioned below, but all are things that we could do with fixing, building, or improving.

Martin

Status of Recent Work

Everything is up to date. The installer has been tested on Windows and Mac with both databases and works reliably. Multiple covariates work.

Completed, but not in master

There is a branch called installer_list_amend_scripts_in_single_place which is not merged into master. It improves the installer, in that the current version in master has the various alter scripts listed in two places. The new branch will find any such scripts and run them as required, with no need to list them specifically.

We did not have time to test the changes as fully as we would like, so we have left the branch unmerged.

Things I wanted to get done

Making the Installer Handle Updates

The installer creates a brand-new database. It would be good to make it also handle upgrades from one version to the next. See issue #146.

Local Caching of Base Maps

See issue #89. Support for using maps when no internet connection is available.

Better Database Schema Management

See issue #147. At present we maintain two sets of scripts for creating and updating the database schemas – one for each platform. We’d like to move to using a single set of scripts to the extent that is possible, and Liquibase is a useful tool to help with that.

Improving Database Access

I’d like to restructure the code so that the database access was all in classes that are intended for that. At present things are a bit of a mess, with SQL spread through various parts of the Java code.

Ideally, I think, I would move the whole database access to a separate microservice. This isn’t strictly necessary, and it may be splitting things up further than is strictly needed, but it would be a good way to enforce the separation of concerns.

The Roadmap

Not forgetting everything on the RIF Roadmap.

Contacting Me

If you need me to look at anything you can email me at martin@devilgate.org. I’m on Twitter at @devilgate. Also LinkedIn, Facebook.

Peter

For really fine detail about everything that happens, see the older Building and Installing the RIF section.

Current State of the Development

RIF Test system

Database Improvements needed before the Data Loader is built

The current scripts for creating a RIF database rely on a core set of scripts, and up to 14 alter scripts. The alter script in particular cause dependency issues when they modify trigger SQL. This needs to be resolved so that the RIF can manage its own data structures and to remove dependency issue using Git version control and dynamic triggers:

This is estimated at about 3 months work.

Front End

The use of Angular.js is discussed in RIF Front End.

Contacting Me

If you need me to look at anything you can email me at: phambly@fastmail.co.uk.