Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Santhosh Sivan 3 posts 73 karma points
    25 days ago
    Santhosh Sivan
    0

    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:

    1. When I create Organization A, all existing site content should be accessible under that organization.
    2. 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!

  • Ayo Adesina 445 posts 1059 karma points
    25 days ago
    Ayo Adesina
    0

    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:

    http://website.local/umbraco/api/ContentAPI/GetMenu
    

    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:

    http://website.local/umbraco/api/OrganizationA/MethodName
    http://website.local/umbraco/api/OrganizationB/MethodName
    

    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!

  • Santhosh Sivan 3 posts 73 karma points
    24 days ago
    Santhosh Sivan
    0

    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.enter image description here

    enter image description here

  • Tarik 196 posts 840 karma points c-trib
    23 days ago
    Tarik
    0

    Welcome Santhosh Sivan,

    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.

    Best intents

    Tarik Rital

Please Sign in or register to post replies

Write your reply to:

Draft