m2ms / fragalysis-frontend

The React, Redux frontend built by webpack
Other
1 stars 2 forks source link

Frontend to accommodate historic data (separate server) #1076

Open phraenquex opened 1 year ago

phraenquex commented 1 year ago

Plan A:
fragalysis.old - the current pod fragalysis - the new schema for new and actively migrated data

Landing page for fragalysis should have a clearly separate window that points to fragalyis.old, ideally listing the targets available there.

alanbchristie commented 1 year ago

In order to avoid potentially costly and difficult historic data migrations, and a complex frontend and API that can pick data from one or the other, we plan to deploy the new Fragalysis (uploading data via XChem-Align output files) as a separate server and keep the existing Fraglayis for historic data, moving its data "as and when is needed".

The proposal here is to deploy the new (XCA-based) Fragalysis so that it takes the place of the existing server at fragalysis.diamond.ac.uk (see #1077). The current Fragalysis will then be moved to (something like) fragalysis.old.diamond.ac.uk (TBD).

As a result, for a period of time we must expect to support two Production servers (and two production UIs).

So the historic (and new) FE will need to present the user with a landing page that a) makes this clear and b) gives the user the choice to navigate to the historic data if they want to, i.e. the FE can be configured but the user to switch to server "A" or "B". So you can use the "historic" server or the "new" server, but not both.

As an example of the side-effect of this proposal is than when a user runs a Squonk Job they must first decide (at the landing page step) whether they're using server "A" or server "B". Everything then runs as normal but you cannot run a job (on either server) that uses data from both. So you make an active decision via the landing page that determines where you go. This should be obvious but is valuable to make absolutely clear - they are two distinct servers that essentially do not know or can refer to the other.

alanbchristie commented 1 year ago

Frank is keen that the user experience is "streamlined" so, rather than simply "publishing" separate URLs, the user should be "told" (via a landing page) that these two "sites" exists (and why) so they can then make an "informed" choice and "switch" to one or the other.

phraenquex commented 1 year ago

@alanbchristie this means we need a separate staging stack as well, for v2.

phraenquex commented 1 year ago

Needs to be really obvious when on the old fragalysis, that it is the old one. Top-left or something.

phraenquex commented 1 year ago

@boriskovar-m2ms needs (somehow) to be given a URL to fragalysis.old.

Put them in a single list, and add a column "old" for the old targets. (@boriskovar-m2ms says simler than a separate window for the old targets. he can decide.)

alanbchristie commented 11 months ago

The backend effort is done, a URL is available in the f/e context dictionary now (LEGACY_URL?)