alan-turing-institute / simulate-frontend

Simulate frontend application.
http://simulate.readthedocs.io
0 stars 1 forks source link

Job output page #19

Closed masonlr closed 6 years ago

masonlr commented 7 years ago
radka-j commented 7 years ago

Current requirements for interactive mock 2D graph:

masonlr commented 7 years ago

Something that would be effective for the demo is to populate the dashboard with several existing/mock jobs so we can go "here's one I prepared earlier" to demonstrate the capabilities of Blue. The results pages for these mock jobs will have rich two-dimensional data and we could render a single three-dimensional scene using a manual vtk-js conversion (which @dpshelio and I checked yesterday is feasible). This also lines up with what @klapaukh mentioned regarding mocking relay of results from the middleware to the front-end, so that UI tweaks and feedback can be addressed in some isolation from middleware development.

masonlr commented 7 years ago

These are some more design tweaks that need implementing:

radka-j commented 7 years ago

We have now changed the code so that job id is retrieved from local storage rather than the url

radka-j commented 7 years ago

@masonlr we want the users to be able to download data files - is there anything else they should be able to download (e.g. logs)? I am assuming this means at the front end I should implement something that will convert the provided json data into csv? what format would raw files have?

masonlr commented 7 years ago

Long term we're thinking of moving the data files into third-party storage (eg, azure) and providing links to the file locations. For the prototype though, a direct download of the csv file and log would be good. There is no need to convert to csv -- we can send the raw csv file directly. The log files will just be ascii text as well.

masonlr commented 7 years ago

I'm starting on this mock blue version now on Azure, so we can use that for any testing that's needed (MIME types, etc.)

radka-j commented 7 years ago

@masonlr I am still a bit unclear with the prototype where the csv file is going to come from? Will you give us a link to where it's stored or will it be part of the job json object? Or is there another way for us to access it?

masonlr commented 7 years ago

There may need to be an outputs structure in the job json (just as there is an inputs structure).

"outputs": [
     {"source_uri": "./output.csv"}
]

We can add a middleware endpoint, such as GET api/outputs/<job-id> that will zip and provide the output data files that are listed in the job structure. We could also support wildcards such as

"outputs": [
     {"source_uri": "./*.vtr"}
]

to download all .vtr files when we don't know from the outset how many there will be.

Down the track, we could refactor outputs to contain the links to the third-party file storage.