188 lines
5.5 KiB
Markdown
188 lines
5.5 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to the Helpdesk Rating Five Stars module will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [1.0.0] - 2024-11-25
|
|
|
|
### Added
|
|
|
|
#### Core Features
|
|
- 5-star rating system (1-5 stars) replacing standard 0-3 emoticon system
|
|
- Interactive star rating widget with hover effects for web forms
|
|
- Clickable star links in email rating requests for one-click feedback
|
|
- Automatic migration of existing ratings from 0-3 to 0-5 scale
|
|
- Enhanced rating reports and analytics with 0-5 scale calculations
|
|
|
|
#### User Interface
|
|
- Beautiful star display in backend ticket views (form, tree, kanban)
|
|
- Responsive design optimized for mobile and desktop devices
|
|
- Accessible UI with keyboard navigation (arrow keys, Enter)
|
|
- ARIA labels for screen reader compatibility
|
|
- Touch-friendly star sizing for mobile devices
|
|
|
|
#### Backend Features
|
|
- Extended rating.rating model with 0-5 scale support
|
|
- Extended helpdesk.ticket model with star display fields
|
|
- Extended helpdesk.ticket.report model for analytics
|
|
- Custom rating submission controller
|
|
- Duplicate rating prevention with automatic update logic
|
|
|
|
#### Email Integration
|
|
- Custom email template with 5 clickable star links
|
|
- Token-based authentication for secure rating submissions
|
|
- Automatic redirect to confirmation page after rating
|
|
- Error handling for invalid or expired tokens
|
|
|
|
#### Views and Templates
|
|
- Enhanced rating views with star display
|
|
- Updated helpdesk ticket views with star ratings
|
|
- Updated report views with 0-5 scale
|
|
- Web rating form template with interactive widget
|
|
- Email rating request template
|
|
|
|
#### JavaScript Components
|
|
- OWL-based star rating widget
|
|
- Hover effects showing potential rating
|
|
- Click handlers for star selection
|
|
- Keyboard navigation support
|
|
- Mobile touch event handling
|
|
|
|
#### Styling
|
|
- SCSS styles for star icons
|
|
- Responsive breakpoints for mobile/desktop
|
|
- Hover and focus states
|
|
- Filled and empty star styles
|
|
- High contrast colors for accessibility
|
|
|
|
#### Security
|
|
- Token-based authentication for rating submissions
|
|
- Server-side validation of rating values (1-5 range)
|
|
- SQL injection prevention through ORM usage
|
|
- Access control for rating modifications
|
|
- Audit logging for rating changes
|
|
|
|
#### Testing
|
|
- Unit tests for rating model
|
|
- Unit tests for rating controller
|
|
- Unit tests for helpdesk ticket model
|
|
- Unit tests for rating migration
|
|
- Unit tests for rating views
|
|
- Unit tests for rating reports
|
|
- Unit tests for security features
|
|
- Property-based tests for validation
|
|
|
|
#### Documentation
|
|
- Comprehensive module documentation (index.html)
|
|
- README with installation and usage instructions
|
|
- CHANGELOG for version tracking
|
|
- Inline code documentation
|
|
- Widget demo page
|
|
|
|
#### Migration
|
|
- Post-install hook for automatic rating migration
|
|
- Mapping: 0→0, 1→3, 2→4, 3→5
|
|
- Data integrity preservation
|
|
- Error handling and rollback mechanism
|
|
- Migration logging
|
|
|
|
### Changed
|
|
- Rating field range from 0-3 to 0-5
|
|
- Rating display from emoticons to stars
|
|
- Average rating calculations to use 0-5 scale
|
|
- Rating filtering and grouping to use 0-5 scale
|
|
- Rating export to include 0-5 scale values
|
|
|
|
### Technical Details
|
|
|
|
#### Dependencies
|
|
- helpdesk (required)
|
|
- rating (required)
|
|
- mail (required)
|
|
- web (required)
|
|
|
|
#### Database Changes
|
|
- Modified constraints on rating_rating.rating field
|
|
- Added computed fields for star display
|
|
- No new tables created
|
|
|
|
#### API Compatibility
|
|
- Maintains full compatibility with Odoo's rating API
|
|
- No breaking changes to rating model interface
|
|
- Other modules using rating system continue to function
|
|
|
|
#### Performance Optimizations
|
|
- Indexed rating field for fast queries
|
|
- Computed fields with storage for frequent access
|
|
- Batch migration updates (1000 records at a time)
|
|
- CSS-based star rendering (no images)
|
|
- Lazy loading of JavaScript widget
|
|
|
|
### Fixed
|
|
- N/A (initial release)
|
|
|
|
### Deprecated
|
|
- N/A (initial release)
|
|
|
|
### Removed
|
|
- N/A (initial release)
|
|
|
|
### Security
|
|
- Implemented token-based authentication
|
|
- Added server-side validation
|
|
- Prevented SQL injection through ORM
|
|
- Added access control for modifications
|
|
- Implemented audit logging
|
|
|
|
## [Unreleased]
|
|
|
|
### Planned Features
|
|
- Half-star ratings (0.5 increments)
|
|
- Custom star icon upload
|
|
- Rating categories (multiple dimensions)
|
|
- Advanced analytics and trend analysis
|
|
- Rating reminders for unrated tickets
|
|
- Rating incentives and gamification
|
|
|
|
---
|
|
|
|
## Version History
|
|
|
|
- **1.0.0** (2024-11-25): Initial release with 5-star rating system
|
|
|
|
## Migration Guide
|
|
|
|
### From Standard Odoo Rating (0-3) to Five Stars (0-5)
|
|
|
|
The module automatically migrates existing ratings during installation:
|
|
|
|
1. **Backup your database** before installation
|
|
2. Install the module from Apps menu
|
|
3. Migration runs automatically on installation
|
|
4. Verify migration completed successfully in logs
|
|
5. Test rating functionality in a few tickets
|
|
|
|
**Migration Mapping:**
|
|
- 0 (No rating) → 0 (No rating)
|
|
- 1 (Unhappy 😞) → 3 (Average ⭐⭐⭐)
|
|
- 2 (Okay 😐) → 4 (Good ⭐⭐⭐⭐)
|
|
- 3 (Happy 😊) → 5 (Excellent ⭐⭐⭐⭐⭐)
|
|
|
|
**Rollback:**
|
|
If you need to rollback, uninstall the module. Note that ratings will remain in the 0-5 scale and will need manual conversion back to 0-3 if required.
|
|
|
|
## Support
|
|
|
|
For issues, questions, or feature requests:
|
|
- Contact your Odoo administrator
|
|
- Review the module documentation
|
|
- Check the Odoo server logs
|
|
- Consult the source code
|
|
|
|
---
|
|
|
|
**Maintained by**: Odoo Administrator
|
|
**License**: LGPL-3
|