How to setup Multi-Organization Setup in Umbraco 12.1.2
HI Everyone,
I am new to the umbraco, I have an existing site in Umbraco (version 12.1.2), and we need to implement a new structure for organizations. The goal is to create different organizations (e.g., Organization A, Organization B) under which the existing site content (collections, pages, layouts) will reside.
Here’s what we’re aiming for:
When I create Organization A, all existing site content should be
accessible under that organization.
Similarly, if I create Organization B, the same should happen.
Additionally, in both the CMS admin and the API, we want to access the content like this:
localhost/organization_name/umbraco
localhost/organization_name/api
Any guidance on how to achieve this setup would be greatly appreciated!
You can create two top-level nodes in the Umbraco back office:
One node as the root for Organization A
Another node as the root for Organization B
Using Umbraco's user permissions feature, you can restrict access to these top-level nodes based on user roles. For example, some users can be granted access to Organization A's nodes, while being restricted from accessing Organization B's nodes, and vice versa.
Creating API Endpoints
You can create API endpoints in your Umbraco application by adding a controller that inherits from UmbracoApiController. However, be aware that the UmbracoApiController will be deprecated and removed in Umbraco version 15.
When you create such a controller, you'll have a URL like:
Web API Documentation
You can explore more configuration options in the Umbraco Web API documentation, as there are many ways to set this up based on your requirements.
Thank you for your reply. Below, I've outlined the content structure I have. Using this structure, I would like to create a node. By default, the following elements—collection, location, etc.—will belong to Organization A. If Organization B is created, the same content structure will be applied under Organization B.
When I create Organization A, all existing site content should be
accessible under that organization. Similarly, if I create
Organization B, the same should happen.
Remember that Root content has many configurations and permissions. (Domain, accesses..) I see that Personalization is an excellent solution for your here. (refer to uMarketingsuite)
Additionally, in both the CMS admin and the API, we want to access the
content like this:
localhost/organization_name/umbraco
No because /umbraco depends on installation and one umbraco folder per instance.
localhost/organization_name/api
I think Ayo Adesina mentioned many useful infos but it depends in which solution you consider, duplicate site content for other organization, or use Personalization which I see the new generation.
How to setup Multi-Organization Setup in Umbraco 12.1.2
HI Everyone,
I am new to the umbraco, I have an existing site in Umbraco (version 12.1.2), and we need to implement a new structure for organizations. The goal is to create different organizations (e.g., Organization A, Organization B) under which the existing site content (collections, pages, layouts) will reside.
Here’s what we’re aiming for:
Additionally, in both the CMS admin and the API, we want to access the content like this:
Any guidance on how to achieve this setup would be greatly appreciated!
You can create two top-level nodes in the Umbraco back office:
One node as the root for Organization A
Another node as the root for Organization B
Using Umbraco's user permissions feature, you can restrict access to these top-level nodes based on user roles. For example, some users can be granted access to Organization A's nodes, while being restricted from accessing Organization B's nodes, and vice versa.
Creating API Endpoints
You can create API endpoints in your Umbraco application by adding a controller that inherits from UmbracoApiController. However, be aware that the UmbracoApiController will be deprecated and removed in Umbraco version 15.
When you create such a controller, you'll have a URL like:
This will work if you have a controller named ContentAPIController with a method called GetMenu.
Organizing Controllers by Organization
Depending on the complexity of your API, you could create two controllers—one for each organization.
For example:
OrganizationAController
OrganizationBController
You can then access the API like this:
Web API Documentation You can explore more configuration options in the Umbraco Web API documentation, as there are many ways to set this up based on your requirements.
https://docs.umbraco.com/umbraco-cms/reference/routing/umbraco-api-controllers
I hope this helps!
Hi Ayo Adesina,
Thank you for your reply. Below, I've outlined the content structure I have. Using this structure, I would like to create a node. By default, the following elements—collection, location, etc.—will belong to Organization A. If Organization B is created, the same content structure will be applied under Organization B.
Welcome Santhosh Sivan,
Remember that Root content has many configurations and permissions. (Domain, accesses..) I see that Personalization is an excellent solution for your here. (refer to uMarketingsuite)
No because
/umbraco
depends on installation and one umbraco folder per instance.I think Ayo Adesina mentioned many useful infos but it depends in which solution you consider, duplicate site content for other organization, or use Personalization which I see the new generation.
is working on a reply...