helpdesk_rating_five_stars/CHANGELOG.md
2025-11-26 10:39:26 +07:00

5.5 KiB

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, and this project adheres to Semantic Versioning.

[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