Organization Member Guide

An organization, or org, is an entity used to manage a group of users. Use orgs to associate users, projects, and other resources with one another in a way that models real-world collaborative structures. Orgs simplify management of access, sharing, and billing. Some of these operations require a certain level of access in the org, while others are unrestricted. The exact requirement for each operation is listed in its respective section.

NOTE: these operations do not include tasks that can only be performed by an org admin.

Set an org as your default billing account

Requirements: User must have been granted billable activities access in the org.

Users can set an org as their default billing account. Unless specified otherwise at the time of the org's creation, the org's default billing account is assigned to new projects and apps you create. The default billing account will also be charged when you download data unless otherwise specified at the time of download.

You can perform this action using the user interface or the command-line interface (CLI).

‚Äč

UI

You can change your default billing account in the profile settings page. This page is accessible by clicking on your name in the header and navigating to Profile. You can edit or view billing information and set your default billing account in the Account tab under Billing Accounts.

If you don't see your org in this list, verify with your org admin that you have billable activities access in the org. Only orgs for which you have been granted this level access will be displayed on this page.

CLI

You can also set your default billing account by using the dx api command to call the /user-xxxx/update API route directly and update your billTo field.

In the following example, user-smithj is updating her default billing account to org-demo_org. To use this command yourself, replace user-smithj with your own user ID and org-demo_org with your org ID. This command will succeed only if you are editing your own user account and if you have the minimum required access in the org.

$ dx api user-smithj update '{"billTo": "org-demo"}'
{
"id": "user-smithj"
}

Share a project with an org

Requirements: None.

Any user can quickly share a project with all members of an org by giving the org access to the project. For example, if you want to make a project containing the reference datasets to be used by an entire group, you can simply share that project with the entire org. Alternatively, if you are collaborating with another org and wish to share samples with all the members of the other org, you can share a project containing all the sample data with the other org.

Orgs can be given any access level to a project. The access an org member will receive for the project is further restricted by their shared project access level within the org.

You can share projects using the user interface or the command-line interface (CLI).

UI

In the UI, you can give an org access to a project by entering the org ID (i.e. org-support) in the project's share dialog.

CLI

To invite org-demo_org to the project named "my_new_project", use the dx invite command.

$ dx invite org-demo my_new_project
Invited org-demo to project-xxxx (accepted)

Share an app with an org

Requirements: User must be a developer of the app.

App developers can also designate an org as an authorized user of an app on DNAnexus. This allows developers to make an app available to any user in an org with shared apps access.

For example, if some members of your org have designed a set of best-practice executables to be shared within the org, they can build the executables as apps and share the app with the entire org. This will ensure that all members with shared apps access within the org will have access to the app. If a member is removed from the org, they will also lose their access to these shared apps.

In the following example, a developer of app-mypipeline is sharing the app with org-demo_org, using the dx add users command.

$ dx add users app-mypipeline org-demo_org

Create a new org project

Requirements: User must have been granted billable activities access in the org.

Org members with appropriate access can create new org projects. Org projects are created by assigning the billing account of the project to the org at the time of project creation. If the billing account is not explicitly assigned at the time of project creation, the newly created project will be billed to the user's default billing account.

You can create new org projects using the user interface or the command-line interface (CLI).

UI

When creating a new project in the UI, you can choose to select the billing account to which the project will be billed. To do this, click + New Project on the projects page, which opens the Create a New Project dialog. You can then select the billing account you wish to assign to the project from the drop-down list.

CLI

On the command line, you can create a new project and specify the project's billing account using dx new project while specifying the --bill-to flag. If this flag is not specified, the newly created project will be billed to your default billing account. This command will succeed only if you have appropriate access in the org.

In the following example, a new project named "my-new-project" will be created and billed to org-demo_org.

$ dx new project "my-new-project" --bill-to org-demo_org
Created new project called "my-new-project" (project-xxxx)
Switch to new project now? [y/N]:

Create a new org app

Requirements: User must have been granted billable activities access in the org.

An org app is an app that is billed to an org. To create a new app billed to org-demo_org, use the dx build command and specify the billing account of the app using the --bill-to flag. After an app is published, it is not possible to change the billing account of the app.

$ dx build /path/to/app/directory --bill-to org-demo_org
{"id": "applet-xxxx"}

Transfer a project to an org

Requirements: User must have ADMINISTER access in a project. If the project is billed to an org, the user must have the minimum membership level to transfer the project.

If you have billable activities access in the org to which you wish to transfer the project, you can change the billing account of the project to the org. To do so, navigate to the project settings page by clicking on the gear icon in the project header. On the project settings page, you can then select to which billing account the project should be billed.

If you do not have billable activities access in the org you to which you wish to transfer the project, you must transfer the project to a user who does have this access. The recipient will then be able to follow the instructions below to accept a project transfer on behalf of an org.

Accept a project transfer on behalf of an org

Requirements: User must have been granted billable activities access in the org.

To accept a transfer of a project on behalf of an org, follow the instructions to accept a project transfer and select the org from the drop-down menu of eligible billing accounts to which the project may be billed.

List all orgs

Org projects are defined as projects billed to the org. You can use the search and filter tools built into the DNAnexus platform to list all org projects to which you have access. Note that this filter will not list all org projects. Org admins have a different method to list all org projects.

To do this on the UI, use the filter bar on the projects page to filter all projects by Owner, where the owner of the project is the org. The owner filter is not displayed in the filter bar by default but can be added by selecting it from the Filters dropdown menu on the right.

List all orgs to which you belong

You can use the dx find orgs command in the CLI to list all orgs to which you belong; the command will find all the orgs for which you have at least MEMBER level access.

$ dx find orgs --level MEMBER
org-demo: Example Org