On this page

This document outlines the functionality and purpose of User Groups within the SiteGUI platform. User Groups provide a robust mechanism for managing user permissions, controlling access to applications, and automating customer tagging based on product/service purchases.

Overview

SiteGUI User Groups allow Site Managers to categorize customers/users manually or automatically through purchased products/services. Each group is associated with a specific permission, which dictate the applications users within that group can access. Customers can belong to multiple groups, accumulating the permissions granted by each group. This flexible system allows for granular control over user access and facilitates targeted content delivery.

Key Concepts

  • User Group: A collection of customers/users sharing common permissions and characteristics.
  • Permission: A specific capability allowed for a user group (e.g., access to a particular application, editing specific content).
  • Product/Service Association: Linking a product or service to user groups, enabling automatic group assignment upon purchase.
  • SiteGUI App Integration: Designing applications to recognize and enforce user group permissions, restricting access to authorized groups.

Functionality and Benefits

  • Simplified User Management: Group users with similar needs and apply permissions collectively, reducing administrative overhead.
  • Automated Customer Tagging: Streamline customer onboarding and segmentation by automatically assigning users to groups based on their purchases.
  • Granular Access Control: Precisely control access to specific applications and features within the SiteGUI platform based on group membership.
  • Targeted Content Delivery: Tailor content and experiences for different user groups, ensuring users see only relevant information.
  • Enhanced Security: Restrict sensitive data and functionality to authorized groups, protecting valuable information.
  • Streamlined App Development: Build specialized applications for specific user groups, leveraging group permissions for access control.

Use Cases

  • Customer Segmentation: Create groups for different customer tiers (e.g., "Premium," "Standard," "Basic") and provide tiered access to features and content.
  • Product-Based Access: Grant access to specific applications or features based on purchased products or services.
  • Beta Testing: Create a dedicated group for beta testers and provide access to pre-release applications.

Implementation Details

  • Creating User Groups: Site Managers can create user groups via the SiteGUI admin panel, defining a group name and description. A permission (Group::Group_Name) will be assigned automatically to the user group.

  • Associating Products/Services: Products or services can be linked to specific user groups. When a customer purchases an associated product/service, they are automatically added to the corresponding group.

  • Integrating with SiteGUI Apps: Developers can integrate user group permissions into their applications. This allows for restricting access to specific app features based on group membership.

Example Scenario

Let's consider an example scenario for using SiteGUI User Groups:

An online education platform offers various courses. They want to provide access to specific course materials based on the courses a student has enrolled in. They can achieve this using SiteGUI User Groups as follows:

  1. Create User Groups for Each Course: They create separate user groups for each course offered, such as Python1 for "Introduction to Python," JS2 for "Advanced JavaScript" and DS1 for "Data Science Fundamentals."

  2. Assign Permissions: Each course group is granted permission to access the corresponding course materials. For example, the "Introduction to Python" group has permission to access the Python course modules, videos, and quizzes through custom built apps that restrict access to Python1 group.

  3. Associate Courses with User Groups: During the enrollment process, each course is linked to its respective user group. When a student enrolls in "Introduction to Python," they are automatically added to the Python1 user group.

  4. Control Access to Course Materials: The online learning platform build custom course apps with SiteGUI's user group permissions. When a student logs in, the platform checks their group memberships and displays only the course materials they have access to based on their enrolled courses.

Scenario Walk-through:

A student named Alex enrolls in both "Introduction to Python" and "Data Science Fundamentals." Upon enrollment:

  • Alex is automatically added to the Python1 and DS1 user groups.
  • Alex logs into the customer portal.
  • The platform identifies Alex's membership in both groups.
  • Alex is granted access to the any apps that allows Python1 and DS1 user groups, including apps providing learning materials for both "Introduction to Python" and "Data Science Fundamentals."
  • Alex does not see materials for other courses they haven't enrolled in e.g: Advanced JavaScript 

This example illustrates how SiteGUI User Groups can be used to manage access to content based on purchased courses, ensuring students only see relevant materials and simplifying content delivery. This approach also scales easily as new courses are added to the platform.

Activating the User Group app

The User Group app is included in the Ecommerce plan and also available as a paid app for other plans on our Appstore. Once you have purchased it, it should be shown together with other apps when you go to the App Listing menu and choose Core apps. You should activate it in order to manage user groups.

Creating a New User Group

Click on the New menu and choose Group to create a new User Group. You can enter a name and a short description for the group.

Managing User Groups

Click on the App Listing menu and choose Groups to list all current user groups for your Site. You can edit each user group to change the group description, changing group name is possible but is not recommended if the group permission is already associated with an application (as updating the application with the new permission is required)