Protocol Management
Last Updated: 2025-01-16
Primary Source: docs/project_status.md
Page: aso-portal/src/pages/ProtocolManagementPage.tsx
Components: aso-portal/src/components/protocols/
Overview
The Protocol Management interface enables administrators to view, create, edit, and manage protocols that define how the ASO interacts with users. It includes protocol cards, forms, versioning UI, and protocol diff viewing.
Architecture
Protocol Management Flow
Core Components
1. Protocol Management Page
File: aso-portal/src/pages/ProtocolManagementPage.tsx
Route: /protocols
Features:
- Protocol list display
- Protocol search and filtering
- Create new protocol button
- Protocol cards grid
- Protocol details view
2. Protocol Card
File: aso-portal/src/components/protocols/ProtocolCard.tsx
Features:
- Protocol display card
- Protocol title and description
- Protocol status indicator
- Protocol actions (view, edit, delete)
- Protocol version badge
- Quick actions menu
Display Information:
- Protocol ID
- Protocol title
- Protocol description
- Protocol status (active, deprecated)
- Protocol version
- Last updated date
3. Protocol Form
File: aso-portal/src/components/protocols/ProtocolForm.tsx
Features:
- Protocol creation form
- Protocol editing form
- Protocol fields:
- ID
- Title
- Description
- Status
- Phases
- Vows
- Rules
- Form validation
- Save/Cancel actions
Form Fields:
id- Protocol identifiertitle- Protocol titledescription- Protocol descriptionstatus- Protocol statusphases- Protocol phases (JSON)vows- Protocol vows (array)rules- Protocol rules (JSON)
Protocol Operations
View Protocol
Process:
- Click protocol card
- View protocol details
- View protocol phases
- View protocol vows
- View protocol rules
Create Protocol
Process:
- Click "Create Protocol"
- Fill protocol form
- Define phases
- Define vows
- Define rules
- Save protocol
API: POST /api/protocols
Edit Protocol
Process:
- Click "Edit" on protocol card
- Modify protocol form
- Update phases/vows/rules
- Save changes
API: PUT /api/protocols/:id
Versioning:
- Creates new version on edit
- Maintains version history
- Immutable version records
Delete Protocol
Process:
- Click "Delete" on protocol card
- Confirm deletion
- Protocol marked as deprecated
- Orphaned (if no references)
API: DELETE /api/protocols/:id
Protocol Versioning
Version History
Features:
- View all protocol versions
- Compare versions
- View version diffs
- Restore previous version
Version Model:
protocolId- Protocol IDversion- Version numberdefinition- Protocol definition (JSON)createdByUserId- Creator user IDcreatedAt- Creation timestamp
Version Diff
Features:
- Side-by-side comparison
- Highlighted changes
- Phase changes
- Vow changes
- Rule changes
Data Flow
API Endpoints
Protocol Management
GET /api/protocols- List protocolsGET /api/protocols/:id- Get protocolPOST /api/protocols- Create protocolPUT /api/protocols/:id- Update protocolDELETE /api/protocols/:id- Delete protocol
Protocol Versioning
GET /api/protocols/:id/versions- Get version historyGET /api/protocols/:id/versions/:version- Get specific versionGET /api/protocols/:id/diff- Get version diffPOST /api/protocols/:id/restore- Restore version
Source Files
Primary Sources:
aso-portal/src/pages/ProtocolManagementPage.tsx- Protocol management pageaso-portal/src/components/protocols/ProtocolCard.tsx- Protocol cardaso-portal/src/components/protocols/ProtocolForm.tsx- Protocol form
Related Files:
backend/src/services/protocol.service.ts- Protocol servicebackend/src/services/protocolMemory.service.ts- Protocol memorybackend/src/models/protocolVersion.model.ts- Version model
Related Documentation
- Protocol Routing - Protocol assignment
- State Machine System - Workflow management
- 03-PLATFORMS/Web-Portal.md - Web portal overview