Feature #16583

Updated by Peter Amstutz about 2 months ago

Output collections have properties "container_request: <uuid>" and "type: output". This allows workbench2 to offer a filter on outputs, logs, and general.

Similar to how I can filter on just top level containers, I'd like to be able to filter on top level outputs. We also want to be able to do scripted cleaning up of intermediate outputs while leaving the final output alone.

Top level containers have "requested_by_container_uuid: null". Technically we could look up the container request for each collection to determine if it is top level or not, but that can't be written as a single query filter.

Proposed approach:

# Add an @output_properties@ field on container_request which are properties that will be set on When finalizing the final output container request, the collection (similar to output_name is still marked "type: output", and output_ttl).
# Arvados-cwl-runner gains the ability to set properties on collections, has convention for marking intermediate and final collections.
# Add
add a rake task that the admin property "intermediate_output: true/false". A migration can optionally use add this property to infer existing collections with "type: output" by joining container_uuid property with the intermediate container_requests table and final collection output property from checking requested_by_container_uuid.
# Add to Workbench2 the ability to filter out intermediate collections from project display.