Multi-tenancy
Fiorano Developer Portal supports Multi-tenancy which is a software architecture in which multiple single instances of software can be run on a single physical server which in turn serves multiple tenants.
How does multi-tenancy work in Fiorano Developer Portal?
To support multi-tenancy, Fiorano came up with an idea called Organization where it is given access to a set of products such that the users and suborganizations of the organization can use these products.
Fiorano developer portal allows us to create and manage organizations at the administrator level. The users in an organization will have access to only those APIs which are added to the organization in form of products.
Organization can have one or more organizations as its suborganizations, and the products in the organization will be inherited to suborganizations. It can be picturized as a tree data structure.
Sections below illustrate how the organization UI helps the admin to configure all the organization settings.
Creating an Organization
Developer portal offers two ways to create an organization, which are explained in the sections below.
Through Peoples Page
To create organization from the People page, click the Add organization button.
Through Organizations Page
Select the Create organization option from the Organizations menu.
On performing any of the operations above, Create Organization UI will be shown.
- Server Group: This dropdown will be prepopulated with available server groups.
- Organization ID: Unique organization ID.
- Organization Name: Name of the organization.
- Parent Organization: This dropdown will be prepopulated with all the organizations created under the selected server group.
If the organization does not need any parent organization, then NONE option should be selected. Otherwise, select the parent organization ID in the dropdown.
Based on the parent organization, the PRODUCTS table will be populated.
- Organization Admin Email: A valid and unique email ID. The account provided here is the source of contact for site admin and organization users.
- Products: Products shown in the table are based on the parent organization selected and product access level settings configured.
- If the parent organization is 'NONE', then all the products in that server group, which matches the product access settings will be available for the organization.
- If any other organization is chosen as a parent, products added to that organization will be available here. Organization users can subscribe only to these products.
After creating the organization, an account for the organization admin will be created and a mail containing one-time login link and organization details will be sent to the organization admin.
The user organization administrator account gets added to the drupal database, it can be verified by visiting the Peoples page.
Adding users to an Organization
To add a user to the organization, there are two ways
Through People Page
- Click the 'Add user' button
- Select the server group.
- Provide the required organization ID in which the user needs to be added.
- Provide the user email ID.
- If the user should be an organization administrator, then enable the Organization administrator checkbox under Roles.
- Click the Register button
- Now a user for the organization 'org1' will be created and the user will be notified regarding the same.
- User Account can be seen on the People page after registering.
Through Organization UI
Under the Organization section, click the Edit button of the organization 'org1'
Click users tab of organization 'org1'.
In the Users tab, all the users in the organization along with their roles and status will be shown.
The user created in the above step via the People page is also added.
By clicking the Add user link , the site administrator is able to add a new user/organization administrator to the organization.
Provide email ID and click the Add User button, it will create an authenticated user to the organization.
Operations on Organization Users
Following operations can be performed on Organization users:
- Adding organization administrator role.
- Removing organization administrator role.
- Blocking User Accounts.
- Unblocking User Accounts.
- Deleting user accounts.
These operations are not allowed on the main admin of the organization.
Deletion of the Organization User
If the user is not having any applications, then the user will be deleted, and a success message will be displayed.
Additional Operations
Apart from the above-mentioned operations, the site administrator can contact and view/modify security details of organization users, using Contact and Security options respectively.
Account detail of the user can be viewed by clicking the email link in the table.
Suborganization
An organization can have any number of suborganizations.
Creating Suborganization from Organization tab
- Navigate to the Organizations table.
- Click the Edit button of the organization.
- Navigate to the Suborganizations tab.
- Click the Create suborganization link on the upper-right corner of the table.
Parent organization and servergroup will be filled by default.
All the products available to the parent organization will be available for this organization. Provide the details of the suborganization and click Save Configuration. Suborganization will be created and added to the suborganization table.
Adding Suborganization from People Page
- Click the Add Organization button in people page.
- The server group and parent organization won't be prefilled; the site administrator needs to select these.
- Select the parent organization to which the suborganization should be created.
- After creating suborganization, it will redirect to the Organization table.
Deleting Suborganizations
Select the organization which needs to be deleted and click the Apply to selected items button; a confirmation message appears.
An organization delete will delete all of its suborganizations, users and applications created by the users. Thus, the entire hierarchy will be deleted.
Modifying Organization
A site admin can modify products and admin of the organization. This can be acheived by following below steps.
1.Navigate to organizations > List organizations.
2.Select the servergroup of the organization.
3.click the edit button in the organization table.
Products Table
If a product is used by any of its suborganizations or it is subscribed by organization users,then it cannot be removed from the organization
Changing Admin of the Organization
A site admin can set any of the organization user as person of contact(admin) to that organization.
The newly added admin will receive organization related mail notifications.
Deleting Organization
- Navigate to organizations >List organizations.
- Select the organizations that needs to be deleted.
- Click the Apply to selected Items button; confirmation appears.