NIH | National Cancer Institute | NCI Wiki  

If your user account has the Write or Own permission level on an existing collection in DME, you can use a CLU command to update the metadata of that collection. 

The character limit for each metadata value is 2700.

To update the metadata of a collection:

  1. Consider the metadata requirements for the type of collection that you intend to update: 
    • What are the required attributes for this collection type?
    • What are the acceptable values and default values for each attribute?
  2. In your local system, create a JSON file that specifies the metadata for the collection, as follows:

    {
        "metadataEntries": [
            {
             "attribute": "project",
             "value": "my-project-name"
            },
            {
             "attribute": "example_date",
             "value": "20201231",
             "dateFormat": "yyyyMMdd"
            }
        ]
    }
  3. For each date attribute, specify one of the following date formats, and specify the date value in that format:

    • yyyyMMdd
    • yyyy.MM.dd
    • yyyy-MM-dd
    • yyyy/MM/dd
    • MM/dd/yyyy
    • MM-dd-yyyy
    • MM.dd.yyyy

    The system parses your date using the date format you specify. Then however, if the date attribute has a metadata validation rule in a different format, the system stores the date in the format specified by that rule.

  4. In your JSON file, if you want to update the metadata of the parent collection, also specify the metadata for the parent collection. Click the following link to view the syntax:
    {
        "metadataEntries": [
            {
             "attribute": "project",
             "value": "my-project-name"
            },
            {
             "attribute": "notes",
             "value": "my-project-notes"
            }
        ],
        "createParentCollections": true,
    	"parentCollectionsBulkMetadataEntries": {
    		"pathsMetadataEntries": [{
    			"path": "/Example_Archive/PI_Lab1/Project_New",
    			"pathMetadataEntries": [{
    					"attribute": "collection_type",
    					"value": "Folder"
    				},
    				{
    					"attribute": "example info",
    					"value": "123456"
    				}]
    		}]
    	}
    }
  5. Run the following command:

    dm_register_collection [optional parameters] <description.json> <destination-path>


    The following table describes each parameter:

    ParameterDescription
    [-h]If you want to print a usage (help) message for this command, specify this option.
    [-D <REST-response>]

    An optional parameter, specifying a path and filename in your local system. The system always creates a response file:

    • If you specify this parameter, the system saves the response from the server to the specified file in the specified location.
    • If you omit this parameter, the system saves the file as collection-registration-response-header.tmp in your home directory.
    [-o <output-json-file>]

    An optional parameter, specifying a path and filename in your local system. The system always creates an output file: 

    • If you specify this parameter, the system saves the output to the specified file in the specified location.
    • If you omit this parameter, the system saves the output as collection-registration-response-message.json.tmp in your home directory.

    If the command is successful, the output file is empty.

    <description.json>
    A path within a local system, including the name of the JSON file that specifies the metadata for the collection you intend to update.
    <destination-path>
    A path within DME, including the name of the collection you intend to update. (If you specify a collection that does not already exist, the command creates a new collection. For details, refer to Creating an Empty Collection via the CLU.)

    The command registers the metadata specified in <description.json> to the <destination-path> in DME. 

For example, the following command updates the Project1 collection within the PI_Lab1 collection, based on the metadata in the my-collection.json file:

dm_register_collection my-collection.json /Example_Archive/PI_Lab1/Project1


The JSON file must contain metadata for the collection, Project1.