User Types

User types play a crucial role in shaping the interactions within a D3E Studio application. This documentation provides a comprehensive understanding of user types, their significance, and the essential concepts associated with managing different user roles.

Creating a user type in D3E Studio is a fundamental step in defining the roles and permissions within your application.

Understanding and managing user types is foundational to effective D3E Studio application development. This documentation provides insights into user types, their roles, and the necessary considerations for creating and interacting with users in a D3E application. Developers can leverage this information to design robust user systems tailored to their application's needs

User Types and Requests

In D3E Studio, requests are categorized into two types:

1. Anonymous Requests

Definition: Requests sent by individuals who have not been authenticated by the system.

Usage: Typically used for general public interactions or non-logged-in users.

2. Authenticated Requests

Definition: Requests sent by users who have successfully authenticated themselves within the system.

Usage: Associated with users who have logged in and are recognized by the system.

Types of Users

D3E applications often involve various types of users, each with specific roles, needs, and expectations. Common user types include:

1. Regular Users

Description: Standard users with basic access and functionalities.

Interaction: Engage with the application for regular tasks and services.

2. Admin Users

Description: Users with administrative privileges.

Features: Access to additional features such as user management and system configuration.

3. Developer Users

Description: Users involved in application development using D3E Studio.

Features: Specialized tools and functionalities for application development purposes.

User Models

Every user type in D3E corresponds to a user model. Key considerations for user models include:

Model Definition: Developers define a model for each user type, specifying fields based on the information required.

User Record Creation: User records are created either programmatically through business logic or manually through a database management tool.

User Registration and Authentication

The process of user registration and authentication varies based on the application's requirements. Key scenarios include:

User Signup: Users provide details, create an account, and log in with credentials.

Admin/User Addition: Admins or users with appropriate permissions add users to the system, often through invitations.

Model Actions for User Creation

Creating user records is facilitated through model actions. Developers can define actions like createUser to handle the creation of user instances.

Key Features

Name:

  • Every usertype is uniquely identified by a name within the API.

Description

  • Here you can give a detailed and informative explanation or representation of UserType. It is a narrative that provides additional information to help understand, identify, or explain about the usertype.

Documentation

  • Allows users to document and store information about specific UserType in the project. Write notes, explanations, or guidelines related to UserType. Facilitates collaboration by providing a shared space for notes and documentation.

Session Model

Definition: The session model represents the data associated with a user's session.

Configuration: Select the appropriate model to serve as the session model for the user type.

Role Access Type

Definition: Specifies how roles are assigned to users.

  • Types:

    1. Fixed: Fixed roles assigned to users.

    2. Dynamic: Roles dynamically assigned based on conditions.

    3. None: No predefined roles.

Model Access Permissions

Definition: Determines the access permissions for each model within the user type.

Configuration: Define permissions for creating, updating, and deleting records for each model.

Data Query Permissions

Definition: Specifies which data queries are allowed for the user type.

Configuration: Allow or disallow specific data queries and define conditions if necessary.

Object List Permissions

Definition: Determines the allowed object lists for the user type.

Configuration: Specify the object lists that the user type can access and define any required conditions.

Login Settings Components

Email Field

Definition: Specifies the property to bind for the email field.

Configuration: Select the property that represents the user's email address.

Phone Field

Definition: Specifies the property to bind for the phone field.

Configuration: Select the property that represents the user's phone number.

Username Field

Definition: Specifies the property to bind for the username field.

Configuration: Select the property that represents the user's username.

Password Field

Definition: Specifies the property to bind for the password field.

Configuration: Select the property that represents the user's password.

Email OTP Subject

Definition: Specifies the property to bind for the email OTP subject field.

Configuration: Select the property that represents the subject of the email OTP.

Email OTP Body

Definition: Specifies the property to bind for the email OTP body field.

Configuration: Select the property that represents the body of the email OTP.

Phone OTP Subject

Definition: Specifies the property to bind for the phone OTP subject field.

Configuration: Select the property that represents the subject of the phone OTP.

Need Demo User

Definition: Determines whether to enable the demo user.

Configuration: Enable or disable the demo user feature based on project requirements.

User Type Creation Steps

Follow these steps to create a user type:

Step 1: To create a user type, specify the BaseUser for a model as Parent to make it appear in the user types drop-down.

Step 2: Choose the appropriate model to serve as the session model for the user type (Optional).

Step 3: Select the role access type as Fixed, Dynamic, or None based on your application's requirements.

Step 4: Set permissions for each model, specifying whether users can create, update, or delete records.

Step 5: Allow or disallow specific data queries for the user type, and define conditions if needed.

Step 6: Specify the object lists that the user type can access, and define any required conditions.

Step 7:

  • Login Settings Configuration

    Step 7.1: Select the property representing the user's email address.

    Step 7.2: Select the property representing the user's phone number (If needed).

    Step 7.3: Select the property representing the user's username (If needed).

    Step 7.4: Select the property representing the user's password.

    Step 7.5: Select the property representing the subject of the email OTP (If needed).

    Step 7.6: Select the property representing the body of the email OTP (If needed).

    Step 7.7: Select the property representing the subject of the phone OTP (If needed).

    Step 7.8: Enable or disable the demo user feature based on project requirements.

Step 8: Click the "Save" or "Create" button to save the configured user type settings.

Step 9: Review the configured settings to ensure accuracy and completeness.

Step 10: The user type with login settings is now successfully created and ready for use in your D3E application.

Conclusion

Creating user types in D3E Studio is a critical aspect of defining access and permissions within your application. By following the steps outlined in this documentation, developers can seamlessly configure user types with precise control over data access and functionality. This information serves as a comprehensive guide for users aiming to establish robust user management systems in their D3E applications.