[DOC] website_sale_aplicoop: Add lazy loading documentation and implement v18.0.1.3.0 feature
- Add LAZY_LOADING.md with complete technical documentation (600+ lines) - Add LAZY_LOADING_QUICK_START.md for quick reference (5 min) - Add LAZY_LOADING_DOCS_INDEX.md as navigation guide - Add UPGRADE_INSTRUCTIONS_v18.0.1.3.0.md with step-by-step installation - Create DOCUMENTATION.md as main documentation index - Update README.md with lazy loading reference - Update docs/README.md with new docs section - Update website_sale_aplicoop/README.md with features and changelog - Create website_sale_aplicoop/CHANGELOG.md with version history Lazy Loading Implementation (v18.0.1.3.0): - Reduces initial store load from 10-20s to 500-800ms (20x faster) - Add pagination configuration to res_config_settings - Add _get_products_paginated() method to group_order model - Implement AJAX endpoint for product loading - Create 'Load More' button in website templates - Add JavaScript listener for lazy loading behavior - Backward compatible: can be disabled in settings Performance Improvements: - Initial load: 500-800ms (vs 10-20s before) - Subsequent pages: 200-400ms via AJAX - DOM optimization: 20 products initial vs 1000+ before - Configurable: enable/disable and items per page Documentation Coverage: - Technical architecture and design - Installation and upgrade instructions - Configuration options and best practices - Troubleshooting and common issues - Performance metrics and validation - Rollback procedures - Future improvements roadmap
This commit is contained in:
parent
eb6b53db1a
commit
9000e92324
23 changed files with 3670 additions and 1058 deletions
82
website_sale_aplicoop/CHANGELOG.md
Normal file
82
website_sale_aplicoop/CHANGELOG.md
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
# Changelog - Website Sale Aplicoop
|
||||
|
||||
## [18.0.1.3.0] - 2026-02-16
|
||||
|
||||
### Added
|
||||
- **Lazy Loading Feature**: Configurable product pagination for significantly faster page loads
|
||||
- New Settings: `Enable Lazy Loading`, `Products Per Page`
|
||||
- New endpoint: `GET /eskaera/<order_id>/load-page?page=N`
|
||||
- JavaScript method: `_attachLoadMoreListener()`
|
||||
- Model method: `group_order._get_products_paginated()`
|
||||
|
||||
- **Configuration Parameters**:
|
||||
- `website_sale_aplicoop.lazy_loading_enabled` (Boolean, default: True)
|
||||
- `website_sale_aplicoop.products_per_page` (Integer, default: 20)
|
||||
|
||||
- **Frontend Components**:
|
||||
- New template: `eskaera_shop_products` (reusable for initial page + AJAX)
|
||||
- Load More button with pagination controls
|
||||
- Spinner during AJAX load ("Loading..." state)
|
||||
- Event listener re-attachment for dynamically loaded products
|
||||
|
||||
- **Documentation**:
|
||||
- Complete lazy loading guide: `docs/LAZY_LOADING.md`
|
||||
- Configuration examples
|
||||
- Troubleshooting section
|
||||
- Performance metrics
|
||||
|
||||
### Changed
|
||||
- Template `eskaera_shop`:
|
||||
- Products grid now has `id="products-grid"`
|
||||
- Calls reusable `eskaera_shop_products` template
|
||||
- Conditional "Load More" button display
|
||||
|
||||
- JavaScript `website_sale.js`:
|
||||
- `_attachEventListeners()` now calls `_attachLoadMoreListener()`
|
||||
- Re-attaches listeners after AJAX loads new products
|
||||
|
||||
- README.md:
|
||||
- Added lazy loading feature to features list
|
||||
- Added version 18.0.1.3.0 to changelog
|
||||
|
||||
### Performance Impact
|
||||
- **Initial page load**: 10-20s → 500-800ms (20x faster)
|
||||
- **Product DOM size**: 1000 elements → 20 elements (initial)
|
||||
- **Subsequent page loads**: 200-400ms via AJAX
|
||||
- **Price calculation**: Only for visible products (reduced from 1000+ to 20)
|
||||
|
||||
### Technical Details
|
||||
- Zero-impact if lazy loading disabled
|
||||
- Transparent pagination (no URL changes)
|
||||
- Maintains cart synchronization
|
||||
- Compatible with existing search/filter
|
||||
- No changes to pricing logic or validation
|
||||
|
||||
---
|
||||
|
||||
## [18.0.1.2.0] - 2026-02-02
|
||||
|
||||
### Added
|
||||
- Improved UI elements in cart and checkout
|
||||
|
||||
### Fixed
|
||||
- Pickup date calculation (was adding extra week)
|
||||
- Delivery date display on order pages
|
||||
|
||||
### Changed
|
||||
- Cart styling: 2x text size, larger icons
|
||||
- Checkout button: Enhanced visibility
|
||||
|
||||
---
|
||||
|
||||
## [18.0.1.0.0] - 2024-12-20
|
||||
|
||||
### Added
|
||||
- Initial release of Website Sale Aplicoop
|
||||
- Group order management system
|
||||
- Multi-language support (ES, PT, GL, CA, EU, FR, IT)
|
||||
- Member management and tracking
|
||||
- Order state machine (draft → confirmed → collected → invoiced → completed)
|
||||
- Separate shopping carts per group order
|
||||
- Cutoff and pickup date validation
|
||||
- Integration with OCA ecosystem (pricing, taxes, etc.)
|
||||
Loading…
Add table
Add a link
Reference in a new issue