Module ProductExpiryIO: Difference between revisions

no edit summary
No edit summary
Tag: 2017 source edit
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
=Module ProductExpiryIO=
= Module ProductExpiryIO =


[[Category:Complementary modules]]
[[File:ProductExpiryIO-3.20.0-cover.png|center|600px|ProductExpiryIO 3.20.0 - Product Expiry Import/Export Module for Dolibarr]]
 
== Introduction ==
 
'''ProductExpiryIO''' is an external Dolibarr module designed to simplify and secure the bulk management of important product configuration fields through CSV export and import.
 
Instead of editing products one by one, administrators can export product settings to CSV, modify them in Excel or LibreOffice, validate the proposed changes in simulation mode and then perform the real import.
 
The module provides automatic backups, restore, simulation reports, import history, administrative audit and log archives.
 
'''Version 3.20.0''' is the stable release validated on Dolibarr 23.0.4 with both desktop and mobile interfaces.
 
== Main features ==


==Introduction==
* Export product configuration to CSV
* Import products using the Dolibarr product reference/code
* Download a ready-to-use CSV template
* Simulation mode before modifying product data
* Detailed preview of detected changes
* Current value / proposed new value comparison
* Downloadable simulation report CSV
* Automatic backup before every real import
* Automatic backup before every restore
* Restore product values from previous backups
* Download and delete backup files
* Import history and administrative audit log
* Archive the import log before deletion
* Download and manage archived logs
* Simulation report management
* Separate user permissions
* Dolibarr menu and dashboard integration
* Responsive desktop, tablet and mobile interface
* English and Romanian interface


'''ProductExpiryIO''' is an external Dolibarr module designed to manage important product fields in bulk using CSV import/export.
== Import and simulation workflow ==


The module is useful for companies that manage many products and need a safer way to update product settings without editing every product manually.
ProductExpiryIO provides a safe workflow for bulk product updates:


ProductExpiryIO supports simulation mode, automatic backups, backup restore, import logs, administrative audit, simulation reports and log archives.
# Export products to CSV.
# Edit the CSV file in Excel, LibreOffice or another compatible application.
# Upload the modified CSV file.
# Run the import in '''Simulation mode'''.
# Review all detected changes.
# Download the simulation report if required.
# Run the real import.
# ProductExpiryIO automatically creates a backup before modifying the products.
# Review the import result and audit history.


==Main features==
[[File:ProductExpiryIO-3.20.0-import-simulation.png|center|600px|ProductExpiryIO CSV import and simulation mode]]


*Export products to CSV
During simulation, '''the database is not modified'''.
*Import products from CSV
*Download CSV import template
*Simulation mode before modifying product data
*Detected changes table during simulation
*Downloadable simulation report CSV
*Automatic backup before every real import
*Restore products from backup
*Automatic backup before restore
*Import log
*Administrative audit
*Log archive system
*Simulation reports management
*Dashboard with module statistics
*Separate user permissions
*Dolibarr menu integration


==Supported product fields==
The module displays:


ProductExpiryIO supports the following product fields:
* Products processed
* Products that would be updated
* Products not found by code
* Validation errors
* Field being changed
* Current value
* Proposed new value


*Product code
When changes are detected, a CSV simulation report is automatically generated and can be downloaded from the module.
*Product label
*Sale status
*Purchase status
*Batch / serial number management
*Mandatory sell-by / expiry date setting
*Stock management
*Default warehouse
*Product nature


==CSV columns==
== Supported product fields ==


The module uses the following CSV columns:
ProductExpiryIO supports bulk management of the following Dolibarr product fields:


{| class="wikitable"
{| class="wikitable"
!CSV column
! Field
!Description
! Description
|-
|-
|Code
| '''Code'''
|Dolibarr product reference
| Dolibarr product reference/code
|-
|-
|Label
| '''Label'''
|Product label
| Product label
|-
|-
|Sell
| '''Sell'''
|Product available for sale
| Product available for sale
|-
|-
|Buy
| '''Buy'''
|Product available for purchase
| Product available for purchase
|-
|-
|BatchMode
| '''BatchMode'''
|Batch or serial number management
| Batch or serial number management
|-
|-
|MandatoryExpiry
| '''MandatoryExpiry'''
|Mandatory sell-by / expiry date setting
| Mandatory sell-by / use-by date configuration
|-
|-
|StockManagement
| '''StockManagement'''
|Product managed in stock
| Product managed in stock
|-
|-
|Warehouse
| '''Warehouse'''
|Default warehouse code
| Default warehouse
|-
|-
|Nature
| '''Nature'''
|Product nature
| Product nature
|}
|}


==Accepted values==
== CSV columns ==
 
The friendly CSV format generated by ProductExpiryIO uses the following columns:
 
<pre>
Code;Label;Sell;Buy;BatchMode;MandatoryExpiry;StockManagement;Warehouse;Nature
</pre>
 
=== Accepted values ===


{| class="wikitable"
{| class="wikitable"
!Field
! Field
!Accepted values
! Accepted values
|-
| Sell / Buy / StockManagement
| Yes / No or 1 / 0
|-
|-
|Sell / Buy / StockManagement
| BatchMode
|Yes, No, 1, 0
| No / Batch / Serial or 0 / 1 / 2
|-
|-
|BatchMode
| MandatoryExpiry
|No, Batch, Serial, 0, 1, 2
| None / SellByDate / ExpiryDate / Both or 0 / 1 / 2 / 3
|-
|-
|MandatoryExpiry
| Warehouse
|None, SellByDate, ExpiryDate, Both, 0, 1, 2, 3
| Dolibarr warehouse code. Empty value means no default warehouse.
|-
|-
|Nature
| Nature
|RawMaterial, FinishedProduct, Packaging, IntermediateProduct, 0, 1, 2, 3
| Product nature must exist and be active in the Dolibarr product nature dictionary.
|}
|}


==Recommended workflow==
Product nature values are validated against the active Dolibarr dictionary instead of writing arbitrary values directly to the product record.
 
== Automatic backups and restore ==
 
Before every '''real import''', ProductExpiryIO automatically creates a CSV backup containing the previous product values.
 
Backups can be:
 
* Downloaded
* Restored
* Deleted
* Cleaned according to their age
 
Before restoring an older backup, ProductExpiryIO automatically creates a '''new safety backup''' containing the current values.
 
This allows the administrator to recover the state that existed immediately before the restore operation.
 
[[File:ProductExpiryIO-3.20.0-backup-restore.png|center|600px|ProductExpiryIO automatic backups and safe restore]]
 
The restore operation reports:
 
* Products processed
* Products updated
* Products not found
* Errors
 
Backup restores are also recorded in the import audit log.
 
== Import log and administrative audit ==
 
ProductExpiryIO maintains a history of important operations.
 
The log records:
 
* Simulations
* Real imports
* Backup restores
* Administrative actions
 
Each entry contains information such as:
 
* Date and time
* Dolibarr user
* Operation mode
* Import or backup file
* Products processed
* Products updated
* Products that would be updated
* Products not found
* Errors
* Backup or additional details
 
The import log can be downloaded as CSV.
 
Before deleting the active import log, ProductExpiryIO automatically creates an archive file.
 
Archived logs can later be downloaded or deleted from the '''Log archives''' page.
 
[[File:ProductExpiryIO-3.20.0-audit-log-archives.png|center|600px|ProductExpiryIO import audit trail and log archives]]
 
== Simulation reports ==
 
When a simulation detects changes, ProductExpiryIO can automatically create a CSV report.
 
Simulation reports show the proposed changes before any database modification is made.
 
Reports can be:
 
* Downloaded
* Deleted individually
* Deleted according to age
* Deleted in bulk
 
This provides an additional review step before applying large product updates.
 
== Responsive desktop and mobile interface ==
 
ProductExpiryIO 3.20.0 includes a responsive interface designed for desktop, tablet and mobile use.


#Export products to CSV.
Desktop pages use contained horizontal scrolling for wide registers so the Dolibarr page itself is not expanded.
#Edit the CSV file in Excel or LibreOffice.
#Run import in simulation mode.
#Review detected changes.
#Run the real import.
#Check the automatic backup and import log.


==Backups and restore==
On mobile devices, wide tables such as backups, logs and report registers are transformed into readable cards.


Before every real import, ProductExpiryIO automatically creates a CSV backup of the previous product values.
[[File:ProductExpiryIO-3.20.0-responsive-mobile.png|center|600px|ProductExpiryIO responsive desktop and mobile interface]]


Backups can be downloaded, restored or deleted from the module interface.
Responsive pages include:


When restoring a backup, the module automatically creates a new backup before applying the restore.
* Product import
* Accepted CSV values
* Import backups
* Import log
* Simulation reports
* Log archives


==Simulation reports==
== Safety and data protection ==


After an import simulation with detected changes, ProductExpiryIO can create a downloadable CSV report.
ProductExpiryIO is designed to reduce the risks associated with bulk product configuration changes.


Simulation reports can be managed from the module interface.
Important safeguards include:


==Import log and audit==
* Simulation before import
* No database modification during simulation
* Automatic backup before real import
* Automatic backup before restore
* Validation of supported values
* Product lookup by reference/code
* Audit history
* Simulation reports
* Log archives


The module records simulations, real imports, backup restores and administrative actions in an import log.
Product updates use Dolibarr product logic instead of direct bulk SQL modification of product settings.


Administrative actions such as backup deletion, report deletion and log archive deletion are also recorded.
== Permissions ==


==Compatibility==
ProductExpiryIO uses separate permissions:


{| class="wikitable"
{| class="wikitable"
!Item
! Permission
!Value
! Purpose
|-
|Dolibarr version
|V23
|-
|-
|PHP version
| '''View Product Expiry IO'''
|7.2+
| Access the module dashboard and export functions
|-
|-
|Module version
| '''Import products Product Expiry IO'''
|3.18.0
| Run imports, simulations and manage simulation reports
|-
|-
|License
| '''Manage backups and logs Product Expiry IO'''
|GPL-v3-or-later
| Manage backups, restores, import logs, archives and administrative actions
|}
|}


==Installation==
Administrators can assign the permissions through the standard Dolibarr user/group permission system.
 
== Installation ==
 
ProductExpiryIO can be installed using the standard Dolibarr external module deployment system.
 
# Download the ProductExpiryIO ZIP package from DoliStore.
# In Dolibarr go to '''Home → Setup → Modules/Applications'''.
# Open '''Deploy/Install external app/module'''.
# Upload the ProductExpiryIO ZIP file.
# Enable '''ProductExpiryIO'''.
# Assign the required permissions to users or groups.
 
The ZIP package contains the required root directory:
 
<pre>
productexpiryio/
</pre>


The module can be installed from DoliStore using the Dolibarr external module deployment feature:
== Upgrade ==


#Download the ZIP package from DoliStore.
To upgrade an existing ProductExpiryIO installation:
#In Dolibarr, go to '''Home → Setup → Modules → Deploy an external module'''.
#Upload the ZIP package.
#Enable the module from the module list.
#Assign the required user permissions.


==Permissions==
# Download the new ZIP package.
# Upload it through '''Deploy/Install external app/module'''.
# Replace the previous module files when requested.
# Return to the Modules/Applications page.
# Verify that ProductExpiryIO is enabled.
# Open the module pages and confirm the displayed version.


ProductExpiryIO uses separate permissions:
Normal module upgrades preserve existing ProductExpiryIO backups, reports and logs.
 
== Compatibility ==


{| class="wikitable"
{| class="wikitable"
!Permission
! Item
!Purpose
! Value
|-
| Dolibarr
| '''V23'''
|-
| Validated Dolibarr version
| '''23.0.4'''
|-
| PHP
| '''7.4+'''
|-
| Database
| MariaDB / MySQL
|-
|-
|View Product Expiry IO
| ProductExpiryIO
|Access dashboard and export
| '''3.20.0 Stable'''
|-
|-
|Import products Product Expiry IO
| License
|Import, simulation and simulation reports
| GPL-3.0-or-later
|-
|-
|Manage backups and logs Product Expiry IO
| Interface languages
|Backups, logs, archives and administrative actions
| English, Romanian
|}
|}


==DoliStore==
== Version 3.20.0 Stable ==
 
ProductExpiryIO 3.20.0 consolidates the complete import/export workflow after functional and responsive-interface testing.
 
Validated workflows include:


The module is available on DoliStore:
* Module installation and activation
* Access from Dolibarr menu
* Access from module dashboard
* CSV export
* CSV template
* CSV import
* Simulation without database modification
* Detected changes preview
* Simulation report generation
* Real product update
* Automatic pre-import backup
* Backup download
* Backup restore
* Automatic pre-restore safety backup
* Import logging
* Administrative audit
* Import log archiving
* Log archive download
* Desktop interface
* Mobile interface
* Upgrade to 3.20.0 on Dolibarr 23.0.4


ProductExpiryIO - Product Expiry Import/Export Module for Dolibarr
== DoliStore ==


==Author==
ProductExpiryIO is available on DoliStore:


Vasile Panciuc
[https://www.dolistore.com/product.php?id=3204&title=productexpiryio-product-expiry-import-export-module-for-dolibarr&l=en ProductExpiryIO - Product Expiry Import/Export Module for Dolibarr]


==Support==
== Author ==


Support by email: mikrosha2000@gmail.com
'''Vasile Panciuc'''
 
PanciucSoft
 
== Support ==
 
Support by email:
 
'''support@panciucsoft.com'''


When requesting support, please include:
When requesting support, please include:


*Dolibarr version
* Dolibarr version
*PHP version
* PHP version
*ProductExpiryIO version
* ProductExpiryIO version
*Screenshots
* Screenshot of the issue
*Steps to reproduce the issue
* Steps to reproduce the issue
 
Website:
 
[https://panciucsoft.com panciucsoft.com]
 
[[Category:Complementary modules]]
222

edits