ome / design

OME Design proposals
http://ome.github.io/design/
1 stars 15 forks source link

Web API coverage for 5.3.0 #65

Closed will-moore closed 7 years ago

will-moore commented 7 years ago

Currently the API only supports create, read, update and delete of Projects. We propose to unload Dataset links when saving, so that Projects can be updated without losing linked Datasets: https://github.com/openmicroscopy/openmicroscopy/pull/4930 Issues with saving unloaded collections get much more complex when dealing with Images etc.

We need to decide what objects we want to support for 5.3.0:

E.g. Aim to support Reading ONLY of all BlitzGateway Wrapper objects ("project", "dataset", "image", "screen", "plate", "plateacquisition", "acquisition", "well", "experimenter", "experimentergroup", "originalfile", "fileset", "commentannotation", "tagannotation", "longannotation", "booleanannotation", "fileannotation", "doubleannotation", "termannotation", "timestampannotation", "mapannotation").

NB: this doesn't include ROIs, Shapes omero_marshal doesn't yet support Wells etc.

Maybe also aim to support Creation, Updating and Deleting of 'simple' objects such as P/D/S/P & some annotations (always unloading links as for Project above).

Do we aim to support creating and deleting of Links. E.g. ProjectDataset or DatasetImage etc. Need to decide how to E.g. link 100 images to Dataset without having to create json for 100 links!

cc @joshmoore @chris-allan @jburel @aleksandra-tarkowska @emilroz

will-moore commented 7 years ago

The original idea was also to move the 'projection-based' queries from /webclient/api to /api/p/, but we have been focussing entirely on omero_marshal-based queries at /api/m/ so far. Do we try to support some of this for 5.3.0?

will-moore commented 7 years ago

Discussed today at meeting http://will-moore.github.io/presentations/2017/Web-Api-Update-Jan-2017/#/ cc @chris-allan @jburel @aleksandra-tarkowska Priority of objects to support READING of is: Project, Dataset, Image, Screen, Plate, Well, ROI & Shapes, Annotations.

Next need to decide on what parameters are supported for queries?

All: filter by owner & group.

Project: (no other filters) Dataset: filter by project & orphaned. Image: filter by dataset & orphaned. Also by well? Screen: (no other filters) Plate: filter by screen & orphaned. Well: filter by plate. Order by row/col? Filter by plateAcquisition? ROI: filter by image. Always load shapes?

Annotations. TBD

will-moore commented 7 years ago

All apart from ROI/Shape covered for 5.3.0.