On this page:

Teamwork Cloud is equipped with a Data Manager for administrative processes. You need to download the data manager zip file and extract it to the machine where you installed Cassandra. Before using Data Manager, we recommend that you backup your database in the same manner as you do before using the migration tool. You can download the DataManager tool from the same location you download the migration tools for the Cassandra database and UML meta-model.

Running the Data Manager

To run Data Manager


  1. Stop the Teamwork Cloud server.
  2. Make sure Cassandra is up and running.

    The ports through which Data Manager is connected to Cassandra are 9160 and 9042.

  3. Download DataManager.zip.
  4. Extract the zip file to the machine where you installed Cassandra.
  5. On the command line, change the directory to the DataManager folder. Type the command ./datamanager -help (or datamanager.bat -help on Windows) to display available commands like the following. 

    ./datamanager -help
  6. Run your desired command to show the list of users like the following: 

    ./datamanager -lu

    (On Windows, use datamanager.bat -lu)

  7. Once Data Manager closes, run major compaction on the esi keyspace using the nodetool utility. 

    ./nodetool compact -s esi


    Find detailed information about the nodetool utility and compact command at the following links:

    http://cassandra.apache.org/doc/latest/tools/nodetool/nodetool.html

    http://cassandra.apache.org/doc/latest/tools/nodetool/compact.html

The log file of Data Manager appears in the following directory:

<user folder>/.twcloud/19.0/datamanager.log

Data Manager commands

The following table outlines the commands you can use in Data Manager to manage your data. 

Server tool commandFunction
-lr,--list-resources  
Lists all available resources.
-lrd,--list-marked-deleted-resources
Lists all resources that were marked for deletion.
-lu,--list-users <--no-info>
Lists all usernames and their information, sorted by name. You can add --no-info to show only the usernames.
-help 
Display help information
-version
Display Data Manager version
-dr,--delete-resource <resource ID> <resource ID> ...

Deletes the given resource(s) and all of its related information.

  • Specify multiple resource IDs using space as a separator.
-drd,--delete-marked-deleted resources 
Deletes all resources that were marked as deleted.
-du,--delete-user <username> <username> ...

Deletes a given username(s) and all of its related information.

  • If a username consists of two words (for example, dan smith) you must add double quotation marks (" ") before and after the username, as shown in the following example:
--delete-user "dan smith" 

or

-du "dan smith"
  • Specify multiple usernames using a space as a separator.
-drb,--delete-branch <resourceID=value branchID=<ID1>,<ID2> includeChildBranch=<true/false>>

Delete the given branch(es) and all of its related information

  • Specify multiple branch ID using a comma as a separator.
  • The includeChildBranch has two values: true and false.
    • When the includeChildBranch value is set to False and the branch has child branches, then this branch will not be deleted.
    • When the includeChildBranch value is set to True, then even if the branch has child branches it will be deleted (with child branches).
-drr,--delete-revision <resourceID=value revision=<revision1,revision2> includeChildRevision=<true/false>>

Delete the given revision(s) and all of its related information

  • Specify multiple revisions using a comma as a separator.
  • The includeChildRevision has two values: true and false.
    • When the includeChildRevision value is set to False, and the revision is not the latest, then it will not be deleted.
    • When the includeChildRevision value is set to True, then revisions upward and branches within it from the selected version will be deleted.


The delete command to delete resources and users works as follows.

Deleting selected resource 

-dr,--delete-resource <resource ID> <resource ID> ...

These commands delete a selected resource and all of the following resource-related information:

  • Tags information of the resource. 
  • Category information (the resource will be removed from all categories). 
  • Branch information. 
  • Commit information. 
  • Role assignment information (role assignment information related to the resource will be removed). 
  • Locking information.

Deleting selected user 

-du,--delete-user <username> <username> ...

This command deletes a selected user and all of the following user-related information:

  • Role assignment information (all role assignment information belonging to the user will be removed).
  • Session (the existing user session will be removed).
  • Lock information (model elements in projects locked by the user will be unlocked).
  • User group information (the user will be removed from all user groups).

In the modeling tool's history panels, the word deleted will appear in brackets next to the deleted users.

Deleting selected branch 

-drb,--delete-branch <resourceID=value branchID=<ID1>,<ID2> includeChildBranch=<true/false>>

The branch-related information which will be removed together with the branch includes:

  • Tags information of each revision in the branch
  • Object information created/modified at each revision in the branch
  • Commit information of each revision in the branch
  • Locking information of each object locked in the branch
  • Branch information of the branch
  • If the branch has child branches, depending on the includeChildBranch value, the branch will be deleted or not:  
    • When the includeChildBranch value is set to False and the branch has child branches, then this branch will not be deleted.
    • When the includeChildBranch value is set to True, then even if the branch has child branches it will be deleted.

Deleting revisions 

-drr,--delete-revision <resourceID=value revision=<revision1,revision2> includeChildRevision=<true/false>>

The revision-related information which will be removed together with the revision includes:

  • Tags information of the revision
  • Object information created/modified at the revision
  • Commit information of the revision
  • Locking information of objects whose id's do not exist anymore in the branch that the revision belongs to
  • Branch information of the branch if the revision was the first revision of the branch
  • If a selected revision is not the latest, depending on the includeChildRevision value, the revision will be deleted or not: 
    • When the includeChildRevision value is set to False, and the revision is not the latest, then it will not be deleted.
    • When the includeChildRevision value is set to True, then revisions upward and branches within it from the selected version will be deleted.