Overview
User Management allows administrators to create and manage user accounts for each client organization. Each client has their own set of users with specific roles that determine their permissions and access levels within the greenhouse monitoring system.Users are scoped to a specific client (tenant). Each user account belongs to one client and can only access that client’s greenhouses, devices, and data.
Accessing User Management
To manage users for a client:- Navigate to a client detail screen
- Select the “Users” tab
- View all users for this client organization
User Roles
The system supports three role types with different permission levels:Admin
Full Access
- Manage all client resources
- Create/edit/delete users
- Configure greenhouses and devices
- Modify system settings
- View all data and reports
Operator
Operational Access
- Monitor greenhouse conditions
- Control devices and actuators
- Acknowledge and resolve alerts
- View and export data
- Limited configuration access
Viewer
Read-Only Access
- View greenhouse data
- Monitor device readings
- See alert status
- Generate reports
- No edit or control permissions
User Properties
Each user account has the following attributes:Account Identifiers
- User Code: Unique system-generated identifier
- User ID: Internal database reference
- Client ID: The organization this user belongs to
Login Credentials
- Username: Login identifier (must be unique within the client)
- Email: Contact email address (must be valid format)
- Password: Encrypted authentication credential
Access Control
- Role: Admin, Operator, or Viewer
- Status: Active or Inactive
Activity Tracking
- Last Login: Timestamp of most recent login
- Created At: Account creation date
- Updated At: Last modification date
Creating a New User
Follow these steps to add a user to a client account:Enter User Credentials
Fill in the required login information:
- Username (required): Unique username for login (e.g., “jsmith”, “john.smith”)
- Email (required): Valid email address for notifications and recovery
- Password (required): Secure password for authentication
Assign Role
Select the appropriate role based on the user’s responsibilities:
- Admin: For managers and administrators who need full control
- Operator: For greenhouse workers who monitor and control operations
- Viewer: For stakeholders who need read-only access
Set Status
Choose the account status:
- Active: User can log in and access the system (default)
- Inactive: Account is disabled but preserved
Viewing User Information
The users table displays comprehensive account details:| Column | Description |
|---|---|
| Code | Unique user identifier |
| Username | Login username |
| Contact email address | |
| Role | Admin, Operator, or Viewer badge |
| Status | Active/Inactive indicator |
| Last Login | Most recent login timestamp |
| Actions | Edit and delete buttons |
Role Badges
Roles are displayed with distinct visual indicators:Admin (Green Badge)
Admin (Green Badge)
Users with full administrative privileges. Can manage all aspects of the client account including other users, greenhouses, devices, and settings.
Operator (Blue Badge)
Operator (Blue Badge)
Users with operational access. Can monitor conditions, control devices, and manage day-to-day greenhouse operations but have limited configuration access.
Viewer (Gray Badge)
Viewer (Gray Badge)
Users with read-only access. Can view data, generate reports, and monitor status but cannot make changes or control devices.
Editing User Accounts
To update an existing user:Modify Information
Update any of the following:
- Username: Change the login identifier
- Email: Update contact email
- Password: Set a new password (optional - leave blank to keep existing)
- Role: Promote/demote between Admin, Operator, and Viewer
- Status: Activate or deactivate the account
The user code and client association cannot be changed after account creation. To move a user to a different client, you must create a new account.
Changing User Passwords
Passwords can be updated when editing a user:- Open the edit dialog for the user
- Enter a new password in the password field
- Leave blank to keep the existing password unchanged
- Save to update the password
Managing User Roles
Promoting a User
To give a user more permissions:- Edit the user account
- Change role to a higher level:
- Viewer → Operator (add control capabilities)
- Operator → Admin (grant full administrative access)
- Viewer → Admin (grant full access)
- Save changes
Demoting a User
To restrict a user’s permissions:- Edit the user account
- Change role to a lower level:
- Admin → Operator (remove admin privileges)
- Admin → Viewer (restrict to read-only)
- Operator → Viewer (remove control capabilities)
- Save changes
User Status Management
Active Users
Set accounts to Active when:- The user needs access to the system
- The account is in good standing
- The user is part of the client’s team
- Log in to the system
- Access features based on their role
- Receive notifications and alerts
Inactive Users
Set accounts to Inactive when:- The user has left the organization
- Account access should be temporarily suspended
- You want to preserve the account without allowing login
- Cannot log in to the system
- Don’t receive notifications
- Are preserved in the database for audit trails
- Can be reactivated at any time
Setting a user to Inactive is reversible. Use this instead of deleting when you might need to restore access later.
Deleting User Accounts
To permanently remove a user:Last Login Tracking
The system tracks when each user last logged in:- Recent Login: Shows timestamp of most recent login
- Never Logged In: Displays ”-” or “Never” for accounts that haven’t been used
- Monitoring: Helps identify inactive accounts or security concerns
Use Cases for Login Tracking
- Security Audits: Identify accounts that haven’t been used in a long time
- License Management: Find unused accounts to deactivate
- User Engagement: See which users are actively using the system
- Troubleshooting: Verify that users can successfully log in
Common Workflows
Onboarding a New Team Member
Offboarding a Team Member
Password Reset Request
Role Migration
Promoting an Operator to Admin:- Review the user’s performance and reliability
- Edit the user account
- Change role from Operator to Admin
- Notify user of new permissions
- Provide any additional training on admin features
- Create new user with Viewer role
- Use a descriptive username (e.g., “external.auditor”)
- Set a strong password
- Set to Active only when access is needed
- Set to Inactive when access period ends
Best Practices
- Principle of Least Privilege: Assign the minimum role needed for each user’s responsibilities
- Strong Passwords: Require complex passwords with letters, numbers, and symbols
- Regular Audits: Review user list quarterly to deactivate unused accounts
- Role Clarity: Ensure users understand their role and permissions
- Status Management: Promptly deactivate accounts when team members leave
- Email Accuracy: Keep email addresses current for notifications and password resets
- Username Standards: Use consistent username format (e.g., firstname.lastname)
- Limit Admins: Only assign Admin role to trusted managers and IT staff
Security Considerations
Account Security Tips
- Unique Usernames: Don’t reuse usernames across different clients
- Password Complexity: Enforce strong password requirements
- Regular Reviews: Audit user accounts monthly for security
- Immediate Deactivation: Disable access immediately when users leave
- Separate Accounts: Don’t share login credentials between multiple people
- Monitor Last Login: Watch for suspicious login patterns
Integration with Other Features
User management integrates with:- Authentication: Users log in with credentials to access the system
- Audit Trails: User actions are logged with username and timestamp
- Notifications: Users receive alerts based on their role and permissions
- Dashboard: User activity and statistics appear in admin reports
- Client Management: Users are scoped to specific client organizations