Release Notes 2.15 (November 2023)

New Cloud Workstations: Ubuntu Desktop and IGV

Ubuntu Desktop Cloud Workstation (Beta)

A full implementation of Ubuntu Desktop (22.04) is now available as a Cloud Workstation to allow users to work with desktop applications that would currently otherwise require them to download data locally and break the trusted chain of science.

IGV Cloud Workstation (Beta)

A specialized version of the Ubuntu Desktop which opens IGV (Interactive Genomics Viewer) is now available as a Cloud Workstation.

New Data Type: External Result

Users can now create External Data Assets from Capsule/Pipeline Results which will be located on an External S3 Bucket specified by the user. These Data Assets will still automatically generate lineage and provenance just as Internal Results Data Assets do.

Data Management: Attach All/Detach All

Two additional buttons: “Attach All” and “Detach All” have been added to the Attach/Detach Data side panel to allow users to perform these actions on all Data Assets on the page at once.

Additional Capsule Usage Information

Additional information has been added to the Capsule Usage Information Box which can be accessed at the bottom of the Files Pane in a Capsule. It will now also display the total Attached Data, Scratch, and Results sizes.

Data Architecture - Initial Optimizations

Code Ocean is working to optimize the underlying data architecture of the platform to increase efficiency and save cost. As a result, deployment administrators may begin seeing storage savings following upgrade. Additional optimizations will be coming soon.

Code Ocean will now be able to make more than three Recommended Starter Environments availalble to all VPCs. Additionally, the list of Recommended Starter Environments will be dynamically populated so all deployments can have immediate access to the most recent environments without needing to upgrade to a new version of Code Ocean.

When a user doesn't have access to any Capsules yet, the user's Capsule Dashboard will now also include a link to Duplicate from Code Ocean Apps to make it even easier to get started by browsing pre-made Capsules which the user can duplicate.

Code Ocean Public API

Attach/Detach Data Assets

A new endpoint has been added to the Code Ocean API which allows users to attach or detach Data Assets from Capsules/Pipelines.

• For both attaching and detaching, the API behavior follows an all or nothing strategy. If one or more Data Asset can’t be attached/detached, none will be attached/detached, and the response body will include the problematic Data Asset IDs. • Changing Mount folders during a Cloud Workstation run is not supported.

Attach Data Assets Example

curl -X POST \
'https://acmecorp-edge.codeocean.com/api/v1/capsules/<capsule_id>/data_assets' \
-u $API_KEY: -H 'Content-Type: application/json' \
--data-raw '[ 
		{"id": "<id1>"},
		{"id": "<id2>", "mount": "<mount2>"}

Detach Data Assets Example

curl -X DELETE \
'https://acmecorp-edge.codeocean.com/api/v1/capsules/<capsule_id>/data_assets' \
-u $API_KEY: -H 'Content-Type: application/json' \
--data-raw '[ 
		"<id1>", "<id2>"
]'

Create Data Asset - Updated

In 2.15 the behavior of the Create Data Asset API endpoint has been changed to match the behavior in the Code Ocean UI by removing the need to specify credentials to a private bucket in the API call. Instead, the system will use the appropriate credentials; either an assumed role or the AWS secret entered in the user’s account page. This changes the body of the API call in the following ways: in the aws field of the source struct in the API call, users will only need to specify the bucket and prefix instead of bucket, prefix, accessKeyID, and secretAccessKey. Additionally, if the source bucket is public, the user will now need to add "public": true to the aws field of the source struct.

Note: This is a breaking change which will require updates to any scripts using this endpoint.

Example with Private Bucket Source

curl -H "Content-Type: application/json" -u USER_API_TOKEN: -X POST https://codeocean.com/api/v1/data_assets --data-raw '{
  "name": "my dataset",
  "description": "a descriptive description",
  "mount": "mount",
  "tags": ["t1", "t2"],
  "source": {
    "aws": {
      "bucket": "MY_BUCKET",
      "prefix": "PREFIX"
    }
  }
}'

Example with Public Bucket Source

curl -H "Content-Type: application/json" -u USER_API_TOKEN: -X POST https://codeocean.com/api/v1/data_assets --data-raw '{
  "name": "my dataset",
  "description": "a descriptive description",
  "mount": "mount",
  "tags": [ "t1", "t2" ],
  "source": {
    "aws": {
      "bucket": "MY_BUCKET",
      "prefix": "PREFIX",
      "public": true,
    }
  }
}'

Last updated