helix/docs/users-management.md
2026-05-14 03:43:55 +05:30

76 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Users Management
## Status: ❌ Not Implemented (Stub)
The Users Management page exists as a placeholder component and a registered admin menu page, but contains no functional implementation.
## Current State
### Component (Stub)
**File**: [src/App.jsx](../src/App.jsx), lines 1825
```jsx
function UsersApp() {
return (
<div className="helix-page">
<h1>Users Management</h1>
<p>Users management interface will be implemented here.</p>
</div>
);
}
```
### Mount Point
The component mounts at `#helix-users-root` container on the `helix-users` admin page. The container is rendered by `helix_users_callback()` in [admin/menu-customization.php](../admin/menu-customization.php).
### Admin Menu
A "Users" menu item is registered at position 4 in the Helix admin menu (between Posts and Settings), accessible to users with `list_users` capability.
## Planned Features
The following features are needed to complete the Users Management page:
### Phase 1 — Foundation
- [ ] **User list table** with columns: avatar, username, name, email, role, posts count
- [ ] **Pagination** for large user bases
- [ ] **Search & filtering** by username, email, role
- [ ] **Sortable columns**
### Phase 2 — CRUD Operations
- [ ] **View user details** (profile information, metadata)
- [ ] **Edit user** — name, email, role, password reset
- [ ] **Create new user** form with role assignment and notification email
- [ ] **Delete user** with content reassignment option
- [ ] **Bulk actions** — change role, delete, send email
### Phase 3 — Advanced Features
- [ ] **Role management** — create/edit/delete custom roles and capabilities
- [ ] **User activity log**
- [ ] **Last login tracking**
- [ ] **User export** (CSV)
- [ ] **User import**
## API Integration
The WordPress REST API already provides user endpoints that the UI would consume:
| Endpoint | Method | Purpose |
|----------|--------|---------|
| `/wp-json/wp/v2/users` | GET | List users (with pagination, search, role filters) |
| `/wp-json/wp/v2/users/{id}` | GET | Get single user |
| `/wp-json/wp/v2/users` | POST | Create user |
| `/wp-json/wp/v2/users/{id}` | POST/PUT | Update user |
| `/wp-json/wp/v2/users/{id}` | DELETE | Delete user |
| `/wp-json/wp/v2/users/me` | GET | Current user profile |
## Dependencies
- WordPress REST API (already available)
- Existing Helix component library (FormField, TextInput, SelectInput, ToggleInput, Notification, SaveButton)
- `react-router-dom` (already installed as a dependency)