Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

This outlines some of the changes to be made over time. No particular order though some depend on others.

Api changes

Change the api to use response objects throughout. No exceptions. Allows for a better networked api.

No db interactions in public (read-only) client.

The public client is read-only and could do all its interactions with elasticsearch. A small amount of work is needed to add more information to ES to enable this. Most interactions are already with ES. The back end needs refactoring into a db + ES version and ES only. Benefits are a much more lightweight client with faster responses.

Limit interactions with db for updates.

Do all interactions with ES - connect to and update db only as needed - use timestamps to ensure db correctness. Benefits are shorter db interactions only at point we update. Less complexity in web clients - no need to have conversations stretching across multiple requests.

Move business logic out of webapps into core

Move as much as possible out of the current webapps module into the core APi implementation - this potentially allows a more RESTful style of client - possibly using the new jmap style interface being developed.

Deployment

Finish off the deployment process - it's THAT close (is there an emoticon for 2 fingers very close together?) to allowing deployers to just replace the ears from prebuilt ears on the site. No builds required - server can detect an update is available.

Networked client api

Subset of svci but can be used for web client interactions.

General work needed
  • Upgrade ES to latest - changes the query structure
  • Upgrade all libraries to latest
  • Preprocess the xsl to build the deployable language specific versions.
  • No labels