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.