[Progress News] [Progress OpenEdge ABL] Sitefinity User Groups: Road to Multitenancy

Status
Not open for further replies.
A

Angel Tsvetkov

Guest
User Groups is a concept that lets Sitefinity customers scale the number of brands/departments/websites without scaling their IT team. Manage multiple sites with designated users and specific configurations within one, unified hub to reduce IT overhead, streamline content governance and simplify workflows.

Company growth correlates with the number of employees. The more business and customers you have, the more staff you need.

While growth is the main objective for any organization, it brings new types of challenges. To tackle them, organizations take a decentralized approach. Instead of one monolithic business unit, the company gets decomposed into smaller departments.

Moreover, regulations such as GDPR and CCPA mandate that a bare minimum number of staff have access to customer data.

The question for the IT team is whether to have separate instances of the internal tooling or to implement a multi-tenant approach. While partitioning the tools gives the IT unit a higher level of freedom and customization flexibility, it requires a tremendous amount of effort to set up and maintain and, therefore, a bigger financial investment.

Sitefinity Multisite Management and Roles​


The same question stands when it comes to digital presence. Sitefinity has offered multisite capabilities for quite some time now, and our customers have been using it to reduce the cost of ownership and boost their ROI. Multisite is quite a powerful approach, but with some important points to carefully consider:

  • How to prevent team X from interfering with team Y?
  • How to introduce hierarchy (roles) in each team?

Until recently, the answer to those questions was Sitefinity roles.

Let us look at an organization with multiple departments and a traditional set of user roles:

  1. Authors creating content
  2. Editors in charge of quality and approval
  3. Administrators responsible for the entire setup

Sitefinity Roles Diagram


While it solves the problem on the surface, the approach is far from ideal.

  1. The number of roles can get out of hand as you keep on adding websites
  2. Complicated workflows and performance issues
  3. No isolation between instances on the API level
  4. Does not allow administrators per website

Sitefinity User Groups​


To address these challenges, we’ve introduced User Groups. User Group is an abstraction that provides the mapping between a set of users and a set of websites and their content. With User Groups, the above diagram transforms to:

Sitefinity User Group Diagram


So, how to implement the User Groups approach?

  1. Enable User Groups (Here’s a quick guide you can follow)

    Enable User Groups

  2. Create 2 websites – Website 1 and Website 2
    • In the “Configure modules and access” screen, define specific content sources for the different websites. This is the default behavior. Essentially, you’re making sure that the content created by the users of Website 1 is not going to be available in Website 2. The following documentation article is a good reference.
    • Create the User Groups as you set up the websites (UG1 for Website 1 and UG2 for Website 2).

    NB! Unselect Default user group so the users are not going to have access to the websites that are associated with the Default user group (i.e. only the Default website is associated with the Default user group).​

    Create User Group


    • Go to Administration -> Roles and create the roles you need. You can use the default Sitefinity roles of Author, Editor, and Administrator.
    • Go to Administration -> Users
    • Select Website 1 from the site selector in the top left corner.
    • Because only UG1 is associated with Website 1, all the created users will be members of UG1.
    • Repeat steps #5 and #6 for Website 2.
    • Log in with any of the newly created users.

    Sitefinity Dashboard


The user can only access the website their user group is associated with and has permissions for, as defined by the assigned role.

User Groups also allow the IT unit to create administrators under a specific group. This was not possible through roles prior to Sitefinity 14.

Did you notice that with the user groups approach we have 3 layers of users?

  1. Global Administrators – these are the owners of the entire multi-site instance, ideally the IT team.
  2. Local administrators – these are the administrators of a specific instance in the context of a user group
  3. Users with distinct roles that have access to websites based on the user group to which they belong, with a predefined set of permissions based on the assigned role.

Let's see how the Global Administrators can expose a specific configuration to the Local Administrators. This is necessary when you have different configurations for the different website instances.

Let’s assume there is a different SMTP server for the different instances and the local administrators of each department need to be able to manage it.

  1. Log in to the Sitefinity backend as a Global Administrator
  2. Go to Administration -> Settings
  3. Expand the Notifications -> Profiles -> Default
  4. To expose the Host you should click on the (?), next to the configuration name and get the “Path to configuration property”. In this case “notificationsConfig/profiles/Default:host”. You get the paths for all the properties that need to be available to local administrators to customize.

    Configure Host

  5. Expand SiteSettings -> SiteSpecificProperties
  6. Create new and add the path to the property that needs to be available to the local administrators

    Site-specific Config


You can learn more about site-specific settings in this documentation article.

Now, when a local administrator logs in, they will be presented with the option to set a custom value for the exposed configurations. This value will be applicable only to the websites that are associated with the relevant user group.

Custom Configurations Local Administrators


Whenever the global administrator expands a section with configurations that have been exposed to the local administrators, they have a dropdown with all the websites listed.

Custom Configurations Global Administrator


Common Questions about Sitefinity User Groups​


So, there you go. I hope the traditionally user-friendly Sitefinity UI will make you feel at home. But before you get real hands-on—here’s a list of FAQs that adds some extra context to the User Group concept and how to make the most of it.

Is it possible to have a user group that can access multiple websites?
Yes, a user group can be associated with more than one website.​



What is the Global user group for?
Global Administrators are created under the Global user group. The global user group is the first user group created during the initial Sitefinity setup and is associated with the Default website.​



How to migrate users from one group to another?
Sometimes you want to move an author from one website to another. To achieve this, either a global or a local administrator should:​

  1. Select the website to which the user has access – e.g. Website 2.
  2. Go to Administration -> Users.
  3. Expand the “Actions” dropdown next to the users that you want to move to another user group.
  4. Click “Move to another user group.”
  5. Select the desired user group (UG1) and click “Move.”

User Groups Move User



When you switch to Website 1 (to which UG1 is associated) and view its Users, you will notice that the user that was previously in UG2 is now in UG1 and has access to Website 1.​

User Group List of Users



Do User Groups support external authentication providers (Azure AD, etc.)?
Yes. You can have Azure AD users distributed in different user groups in Sitefinity.​



Can users with the same email address be assigned to multiple different user groups?
It is possible to have a user with the same email address in more than one user group as long as the password varies by group.​


Wrap-up​


Sitefinity user groups are the recommended approach for an IT team that wants a tight grip on administration and yet enough independence for the right roles to access the right things. By leveraging user groups, customers can scale out their web presence without adding staff and spending more money.

In multi-brand, multi-department organizations, there’s usually a single IT team in charge of it all. Many of them used to spin up a separate instance for each brand. Which in turn had its own editorial team.

Multiple instances mean extra cost of infrastructure. But that’s also extra maintenance and support—hence even more IT folk and more money. Overall, a complex setup that’s hard to efficiently manage and expensive to scale, making the IT team a bottleneck.

Download Your Free Sitefinity Trial

The solution is there and it’s simple: instead of spinning up a new instance, deploy Sitefinity in a multi-site setup. And count on User Groups to provide the necessary level of isolation between the separate sites.

You can keep on adding new website instances without the size of your investment getting out of hand. Better yet, you can put the investment where it matters: new content, new experiences, new business.

Continue reading...
 
Status
Not open for further replies.
Top