423 lines
12 KiB
Markdown
423 lines
12 KiB
Markdown
# UI/UX Improvements Documentation
|
||
|
||
## Overview
|
||
|
||
This document describes the user interface and user experience improvements implemented in the Survey Custom Certificate Template module to enhance usability and provide better feedback to users.
|
||
|
||
## Implemented Improvements
|
||
|
||
### 1. Progress Indicators
|
||
|
||
#### Visual Progress Bar
|
||
**Location**: Wizard header (form view)
|
||
|
||
**Features**:
|
||
- Three-stage progress indicator showing:
|
||
1. ✓ Template Uploaded
|
||
2. ✓ Placeholders Detected
|
||
3. ✓ Preview Generated
|
||
- Color-coded badges:
|
||
- Green (✓): Completed steps
|
||
- Gray (○): Pending steps
|
||
- Always visible once template is uploaded
|
||
- Provides clear visual feedback on workflow progress
|
||
|
||
**Benefits**:
|
||
- Users know exactly where they are in the configuration process
|
||
- Reduces confusion about next steps
|
||
- Provides sense of accomplishment as steps complete
|
||
|
||
### 2. Enhanced Error Messages
|
||
|
||
#### Clear, Actionable Error Messages
|
||
All error messages follow a consistent pattern:
|
||
|
||
**Structure**:
|
||
```
|
||
[What went wrong]
|
||
|
||
[Why it happened]
|
||
|
||
[What to do next]
|
||
```
|
||
|
||
**Examples**:
|
||
|
||
1. **File Upload Errors**:
|
||
```
|
||
The uploaded file is not a valid DOCX file or is corrupted.
|
||
|
||
Please ensure you are uploading a Microsoft Word (.docx) file.
|
||
You can create DOCX files using Microsoft Word or LibreOffice Writer.
|
||
```
|
||
|
||
2. **LibreOffice Errors**:
|
||
```
|
||
PDF conversion failed: LibreOffice is not installed.
|
||
|
||
LibreOffice is required to convert certificates to PDF format.
|
||
System administrators have been notified.
|
||
|
||
Please contact your system administrator to install LibreOffice.
|
||
```
|
||
|
||
3. **Validation Errors**:
|
||
```
|
||
Template file exceeds the maximum allowed limit of 10MB.
|
||
|
||
Large files can cause performance issues and slow down certificate generation.
|
||
|
||
Please reduce the file size by:
|
||
• Compressing embedded images
|
||
• Removing unnecessary formatting
|
||
• Simplifying the template design
|
||
```
|
||
|
||
#### Error Message Categories
|
||
|
||
| Category | Color | Icon | Example |
|
||
|----------|-------|------|---------|
|
||
| Validation Error | Red | ⚠️ | Invalid file format |
|
||
| System Error | Orange | 🔧 | LibreOffice unavailable |
|
||
| User Error | Yellow | ℹ️ | Missing required field |
|
||
| Success | Green | ✓ | Template saved successfully |
|
||
|
||
### 3. Loading Indicators
|
||
|
||
#### Button Confirmation Dialogs
|
||
**Implementation**: `confirm` attribute on action buttons
|
||
|
||
**Features**:
|
||
- Confirmation dialog before long-running operations
|
||
- Clear description of what will happen
|
||
- Prevents accidental clicks
|
||
- Sets user expectations for wait time
|
||
|
||
**Examples**:
|
||
```xml
|
||
<button name="action_upload_template"
|
||
confirm="This will analyze your template and extract all placeholders. Continue?"/>
|
||
|
||
<button name="action_generate_preview"
|
||
confirm="This will generate a sample certificate with test data. This may take a few moments. Continue?"/>
|
||
|
||
<button name="action_save_template"
|
||
confirm="This will save the template and mappings to your survey. Certificates will be generated using this configuration. Continue?"/>
|
||
```
|
||
|
||
#### Visual Feedback During Operations
|
||
- Odoo's built-in loading spinner appears during server operations
|
||
- Form is disabled during processing to prevent duplicate submissions
|
||
- Clear success messages after completion
|
||
|
||
### 4. Contextual Help
|
||
|
||
#### Inline Help Text
|
||
**Location**: Throughout the wizard form
|
||
|
||
**Features**:
|
||
- Field-level help tooltips (hover to see)
|
||
- Section-level guidance (always visible)
|
||
- Step-by-step instructions
|
||
- Examples and best practices
|
||
|
||
**Examples**:
|
||
|
||
1. **File Upload Section**:
|
||
```
|
||
Upload a Microsoft Word (.docx) file with placeholders in the format {key.field_name}.
|
||
Examples: {key.name}, {key.course_name}, {key.date}
|
||
Maximum file size: 10MB
|
||
```
|
||
|
||
2. **Placeholder Mapping Section**:
|
||
```
|
||
Configure how each placeholder should be filled:
|
||
• The system has automatically suggested mappings for recognized placeholder names
|
||
• You can change the Value type and Field for each placeholder
|
||
• Drag rows to reorder placeholders
|
||
```
|
||
|
||
3. **Preview Section**:
|
||
```
|
||
This preview uses sample data. Actual certificates will use real participant information.
|
||
```
|
||
|
||
#### Help Section for New Users
|
||
**Location**: Bottom of wizard (visible when no placeholders detected)
|
||
|
||
**Content**:
|
||
- Getting Started guide
|
||
- Step-by-step workflow
|
||
- Link to full documentation
|
||
- Common troubleshooting tips
|
||
|
||
### 5. Visual Enhancements
|
||
|
||
#### Icons and Emojis
|
||
Strategic use of icons to improve scannability:
|
||
|
||
| Element | Icon | Purpose |
|
||
|---------|------|---------|
|
||
| Steps | 📄 🔧 👁️ | Identify workflow stages |
|
||
| Actions | 📤 💾 ❌ | Clarify button purposes |
|
||
| Placeholders | 📍 | Identify placeholder fields |
|
||
| Data Types | 🔄 📊 ✏️ | Distinguish field types |
|
||
| Alerts | ✓ ⚠️ ℹ️ 💡 | Categorize messages |
|
||
|
||
#### Color-Coded Alerts
|
||
**Bootstrap Alert Classes**:
|
||
- `alert-success` (Green): Success messages, confirmations
|
||
- `alert-info` (Blue): Informational messages, tips
|
||
- `alert-warning` (Yellow): Warnings, important notes
|
||
- `alert-danger` (Red): Errors, critical issues
|
||
|
||
#### List Decorations
|
||
**Placeholder Mapping Table**:
|
||
- `decoration-info`: Highlights custom text entries in blue
|
||
- Alternating row colors for better readability
|
||
- Hover effects for interactive elements
|
||
|
||
### 6. Improved Button Labels
|
||
|
||
#### Before and After
|
||
|
||
| Before | After | Improvement |
|
||
|--------|-------|-------------|
|
||
| "Upload" | "📤 Parse Template" | Clearer action |
|
||
| "Preview" | "👁️ Generate Preview" | More descriptive |
|
||
| "Save" | "💾 Save Configuration" | Explicit purpose |
|
||
| "Discard" | "❌ Cancel" | Standard terminology |
|
||
|
||
#### Button Styling
|
||
- Primary actions: `btn-primary oe_highlight` (blue, prominent)
|
||
- Secondary actions: `btn-secondary` (gray, less prominent)
|
||
- Destructive actions: `btn-danger` (red, for deletions)
|
||
|
||
### 7. Smart Defaults and Auto-Suggestions
|
||
|
||
#### Automatic Field Mapping
|
||
**Feature**: System automatically suggests mappings for common placeholders
|
||
|
||
**Recognized Patterns**:
|
||
- Name variations: `{key.name}`, `{key.student_name}`, `{key.fullname}`
|
||
- Email variations: `{key.email}`, `{key.user_email}`
|
||
- Date variations: `{key.date}`, `{key.completion_date}`
|
||
- Course variations: `{key.course_name}`, `{key.survey_name}`
|
||
- Score variations: `{key.score}`, `{key.grade}`, `{key.percentage}`
|
||
|
||
**Benefits**:
|
||
- Reduces configuration time
|
||
- Prevents common mapping errors
|
||
- Provides learning examples for users
|
||
|
||
#### Update Mode Preservation
|
||
**Feature**: When updating templates, existing mappings are preserved
|
||
|
||
**Implementation**:
|
||
- Alert banner notifies user of update mode
|
||
- Matching placeholders retain their mappings
|
||
- New placeholders get auto-suggested mappings
|
||
- Removed placeholders are cleaned up automatically
|
||
|
||
### 8. Responsive Feedback
|
||
|
||
#### Success Messages
|
||
**After Template Upload**:
|
||
```
|
||
✓ Success! Found 5 placeholder(s) in your template.
|
||
```
|
||
|
||
**After Preview Generation**:
|
||
```
|
||
✓ Preview Generated Successfully!
|
||
Review the certificate below to verify that all placeholders are correctly replaced.
|
||
```
|
||
|
||
**After Save**:
|
||
```
|
||
✓ Template Configuration Saved!
|
||
Your survey will now use this custom certificate template.
|
||
```
|
||
|
||
#### Informational Messages
|
||
**Tips and Best Practices**:
|
||
```
|
||
💡 Tip: Generate a preview to verify your configuration before saving.
|
||
```
|
||
|
||
**Context Information**:
|
||
```
|
||
ℹ️ This preview uses sample data. Actual certificates will use real participant information.
|
||
```
|
||
|
||
**Update Notifications**:
|
||
```
|
||
ℹ️ Updating Existing Template
|
||
Existing placeholder mappings will be preserved where placeholders match.
|
||
```
|
||
|
||
### 9. Accessibility Improvements
|
||
|
||
#### ARIA Labels and Roles
|
||
- `role="alert"` on notification divs
|
||
- Descriptive button labels
|
||
- Proper form field labels
|
||
- Keyboard navigation support
|
||
|
||
#### Screen Reader Support
|
||
- All icons have text alternatives
|
||
- Form fields have associated labels
|
||
- Error messages are announced
|
||
- Progress indicators are accessible
|
||
|
||
#### Color Contrast
|
||
- All text meets WCAG AA standards
|
||
- Icons supplement color coding
|
||
- High contrast mode compatible
|
||
|
||
### 10. Mobile Responsiveness
|
||
|
||
#### Responsive Layout
|
||
- Form adapts to smaller screens
|
||
- Buttons stack vertically on mobile
|
||
- Tables scroll horizontally if needed
|
||
- Touch-friendly button sizes
|
||
|
||
#### Mobile-Specific Improvements
|
||
- Larger tap targets (minimum 44x44px)
|
||
- Simplified layout on small screens
|
||
- Optimized file upload widget
|
||
- Readable font sizes (minimum 16px)
|
||
|
||
## User Workflow
|
||
|
||
### Typical User Journey
|
||
|
||
1. **Entry Point**
|
||
- User clicks "Upload Custom Certificate" button on survey form
|
||
- Wizard opens in dialog mode
|
||
- Help section visible for guidance
|
||
|
||
2. **Template Upload**
|
||
- User selects DOCX file
|
||
- Clear instructions and examples provided
|
||
- File validation happens immediately
|
||
- Error messages guide corrections if needed
|
||
|
||
3. **Placeholder Detection**
|
||
- User clicks "Parse Template" button
|
||
- Confirmation dialog sets expectations
|
||
- Loading indicator shows processing
|
||
- Success message shows placeholder count
|
||
|
||
4. **Mapping Configuration**
|
||
- Auto-suggested mappings pre-filled
|
||
- User reviews and adjusts as needed
|
||
- Inline help explains each field
|
||
- Visual indicators show field types
|
||
|
||
5. **Preview Generation**
|
||
- User clicks "Generate Preview" button
|
||
- Confirmation dialog warns of wait time
|
||
- Loading indicator during PDF generation
|
||
- Preview displays in embedded viewer
|
||
|
||
6. **Save Configuration**
|
||
- User clicks "Save Configuration" button
|
||
- Confirmation dialog summarizes action
|
||
- Success message confirms save
|
||
- Wizard closes automatically
|
||
|
||
### Error Recovery Paths
|
||
|
||
1. **Invalid File Format**
|
||
- Clear error message explains issue
|
||
- Suggests correct file format
|
||
- User can upload different file
|
||
- No data loss
|
||
|
||
2. **LibreOffice Unavailable**
|
||
- Error explains requirement
|
||
- Notifies administrators automatically
|
||
- User can save configuration anyway
|
||
- Preview generation skipped gracefully
|
||
|
||
3. **No Placeholders Found**
|
||
- Warning message explains situation
|
||
- Suggests checking template
|
||
- User can upload different template
|
||
- Can proceed with static template
|
||
|
||
## Best Practices for Users
|
||
|
||
### Template Design
|
||
1. Use clear, descriptive placeholder names
|
||
2. Test template in Word/LibreOffice first
|
||
3. Keep file size under 5MB for best performance
|
||
4. Use standard fonts for compatibility
|
||
|
||
### Placeholder Naming
|
||
1. Use lowercase for consistency
|
||
2. Use underscores for multi-word names
|
||
3. Be descriptive: `{key.completion_date}` not `{key.date}`
|
||
4. Follow common patterns for auto-mapping
|
||
|
||
### Configuration
|
||
1. Always generate a preview before saving
|
||
2. Review all placeholder mappings
|
||
3. Test with actual survey completion
|
||
4. Update template if layout issues occur
|
||
|
||
### Troubleshooting
|
||
1. Check error messages carefully
|
||
2. Verify file format is .docx
|
||
3. Ensure placeholders use correct syntax
|
||
4. Contact administrator for system issues
|
||
|
||
## Future Enhancements
|
||
|
||
### Planned Improvements
|
||
1. **Real-time Validation**: Validate placeholders as user types
|
||
2. **Drag-and-Drop Upload**: Drag files directly onto wizard
|
||
3. **Template Library**: Pre-built templates for common use cases
|
||
4. **Bulk Testing**: Test multiple placeholder combinations
|
||
5. **Version History**: Track template changes over time
|
||
6. **Collaborative Editing**: Multiple users can configure templates
|
||
7. **Advanced Preview**: Preview with actual participant data
|
||
8. **Export/Import**: Share template configurations between surveys
|
||
|
||
### User-Requested Features
|
||
- Template duplication across surveys
|
||
- Placeholder autocomplete in Word
|
||
- Visual template editor
|
||
- Certificate gallery/showcase
|
||
- A/B testing for templates
|
||
|
||
## Metrics and Monitoring
|
||
|
||
### User Experience Metrics
|
||
- Time to complete configuration
|
||
- Error rate by error type
|
||
- Preview generation success rate
|
||
- User satisfaction scores
|
||
- Support ticket volume
|
||
|
||
### Performance Metrics
|
||
- Template upload time
|
||
- Placeholder parsing time
|
||
- Preview generation time
|
||
- Save operation time
|
||
- Cache hit rates
|
||
|
||
## Conclusion
|
||
|
||
The UI/UX improvements implemented in this module focus on:
|
||
- **Clarity**: Clear instructions and feedback at every step
|
||
- **Guidance**: Contextual help and smart defaults
|
||
- **Feedback**: Progress indicators and success/error messages
|
||
- **Accessibility**: Support for all users and devices
|
||
- **Efficiency**: Streamlined workflow with minimal clicks
|
||
|
||
These improvements ensure that users can successfully configure custom certificate templates without technical expertise or extensive training.
|