A script used for copying organization setup from a template organization to a fresh new organization.
There are multiple situations when you need to manage multiple organizations in Rossum:
- you are providing Rossum service to multiple customers and you would like to separate their data or give them more freedom by providing their users with the "Admin" role
- your company has multiple departments and you would like to separate the departments while providing high enough independence.
In Rossum you can group organizations into an object Organization group. Within this group you can gather all the Rossum organizations. The organization group is created right when you create your first organization in Rossum.
If you would like to create multiple organizations within the same group, then you should request a create_key for your Rossum organization groups.
For easier managemement of the organizations within the organization group we have prepared a new role "Organization group admin" that can:
- See all organizations within the org group
- Get auth token to any organization within the organization group (with the auth token from the users primary organization)
- Allow specific users (admins, annotators, managers) to access multiple organizations from the organization group
Organization group admin is a user who can access all the organizations in the organization group by default. The organization group admin role cannot be set over the API. Such a role can be setup for one of your users only by contacting your Rossum's key point of contact. In the UI this user cannot be deactivated by any other user since the user is responsible for managing the whole organization group.
As an example of what the organization group means and what the organization group admin can do, we have prepared a script that:
- Let's you create a new organization in given organization group
- Lists all organizations in the given group and finds the one organization that is used as a "template" organization in your org group.
- Fetches all objects that should be copied from the template organization
- Initializes the new organization to the same setup as the "template" organization
Example of the config for running the script:
python orgs_deep_copy_scripy.py --org_name "German department" --username "[email protected]" --email "[email protected]" --password "<YOUR_PASSWORD>" --create_key "<YOUR_ORG_GROUP_CREATE_KEY>" --token "<YOUR_USER_AUTH_TOKEN>"
The template organization is identified by special key in metadata attribute of the organization object. In general, you can store any of your customer keys in the metadata object. For the purpose of this script the metadata object contains value:
"id": "master_data_organization"
Of course, more user roles can be shared among multiple organizations. E.g. admin user George can be assigned to the German and French department where he will check the setup of the organization. Please read how to assign the user to another organization. However, keep in mind that such action can be done only by organization group admin.
Please watch a video about Sharing of users in Rossum here
If you would like to get the billing data for each organization for a specific time rage, use Rossum's billing endpoint which can happily provide you with such information.