The API allows users create an analysis by uploading files, marking them as inputs and outputs. The POST body includes all information about the files and analysis the user wishes to set and the action is started and completed in one request.
The default and expected analysis type is currently job-based analyses. The user specifies information about the analysis and the job to be created. The inputs on the job are considered inputs to the analysis and the results of the job are uploaded as outputs on the analysis.
Proposed Functionality
The existing "adhoc" analysis endpoint will be replaced with new endpoints:
The first, where a user creates the analysis and references all internal inputs as ContainerReferences. External inputs uploaded by the user will not be accepted
The second, where a user can upload the outputs resulting from their offline analysis work
Clients (for example SDKs and CLIs) would support a workflow allowing users to pull the inputs referenced into a local workspace, process and analyze these files, and push the outputs to core after an arbitrary amount of time. This would require a way to retrieve the input files for the analysis after the initializing endpoint has been used.
Things to consider
there are a few users depended on the existing "adhoc" analysis endpoint, this would be a breaking change that affects their workflow. It may be necessary to allow a transition period for these users.
an analysis in the incomplete state would still need to be returned in lists like analyses whose jobs have not completed
permissions around who can upload output results (Anyone with POST permissions? Only the user that created the analysis?)
where/if to store file-like objects involved in the analysis computation like code/scripts/etc
moving this object to a different name/container type if difference is notable
whether or not to continue the practice of copying the current state of file objects to the analysis' file list. Would become external references when files become separate container
Current Functionality
The API allows users create an analysis by uploading files, marking them as inputs and outputs. The
POST
body includes all information about the files and analysis the user wishes to set and the action is started and completed in one request.The default and expected analysis type is currently job-based analyses. The user specifies information about the analysis and the job to be created. The inputs on the job are considered inputs to the analysis and the results of the job are uploaded as outputs on the analysis.
Proposed Functionality
The existing "adhoc" analysis endpoint will be replaced with new endpoints:
Clients (for example SDKs and CLIs) would support a workflow allowing users to pull the inputs referenced into a local workspace, process and analyze these files, and push the outputs to core after an arbitrary amount of time. This would require a way to retrieve the input files for the analysis after the initializing endpoint has been used.
Things to consider