✨ New Features
📄 CSV Import for Expected Signers
Bulk import from CSV file:
- ✅ CSV file upload directly from admin interface
- ✅ Data preview before import with validation
- ✅ Automatic separator detection (comma or semicolon)
- ✅ Smart column detection (email, name)
- ✅ Support for files with or without headers
- ✅ Email validation with detailed error report
- ✅ Selective import: ability to modify list before confirmation
- ✅ Configurable limit on number of signers per import
Supported formats:
- CSV with comma (
,) or semicolon (;) separator - Recognized columns: email, e-mail, mail, courriel
- Name columns: name, nom, prénom, firstname, lastname, fullname
- Automatic detection if no header present
Configuration:
ACKIFY_IMPORT_MAX_SIGNERS: maximum signers limit per CSV import (default: 500)
📚 Impact
This feature simplifies expected signers management:
- 🚀 Productivity: Import hundreds of signers in a few clicks
- 🛡️ Reliability: Validation and preview before import
- 🔄 Flexibility: Support for common CSV formats (Excel, Google Sheets, LibreOffice)
🔗 Useful Links
- Full Changelog: https://github.com/btouchard/ackify-ce/blob/main/CHANGELOG.md
- Documentation: https://github.com/btouchard/ackify-ce/blob/main/README.md
- Diff: v1.2.3...v1.2.4
📝 Migration from v1.2.3
Version 100% backward compatible with v1.2.3.
Update
docker compose pull
docker compose up -dNo database migration or configuration changes required.
🎉 Ackify CE v1.2.4 - Import CSV des Signataires
✨ Nouvelles Fonctionnalités
📄 Import CSV des Signataires Attendus
Import en masse depuis fichier CSV :
- ✅ Upload de fichiers CSV directement depuis l'interface admin
- ✅ Prévisualisation des données avant import avec validation
- ✅ Détection automatique du séparateur (virgule ou point-virgule)
- ✅ Détection intelligente des colonnes (email, nom)
- ✅ Support des fichiers avec ou sans en-tête
- ✅ Validation des adresses email avec rapport d'erreurs détaillé
- ✅ Import sélectif : possibilité de modifier la liste avant confirmation
- ✅ Limite configurable du nombre de signataires par import
Formats supportés :
- CSV avec séparateur virgule (
,) ou point-virgule (;) - Colonnes reconnues : email, e-mail, mail, courriel
- Colonnes nom : name, nom, prénom, firstname, lastname, fullname
- Détection automatique si pas d'en-tête
🔧 Améliorations Techniques
Backend :
- Nouveau service
CSVParserpour le parsing robuste des fichiers CSV - Tests unitaires complets pour le parser CSV (edge cases, encodages, formats)
- Endpoints API :
POST /api/v1/admin/documents/{docId}/signers/preview-csvetPOST /api/v1/admin/documents/{docId}/signers/import - Validation et normalisation des emails (lowercase, trim)
Frontend :
- Interface d'upload drag-and-drop pour les fichiers CSV
- Modal de prévisualisation avec tableau des signataires valides/invalides
- Affichage des erreurs de parsing avec numéro de ligne
- Possibilité de supprimer des entrées avant import final
Configuration :
ACKIFY_IMPORT_MAX_SIGNERS: limite maximale de signataires par import CSV (défaut: 500)
📚 Impact
Cette fonctionnalité simplifie la gestion des signataires attendus :
- 🚀 Productivité : Import de centaines de signataires en quelques clics
- 🛡️ Fiabilité : Validation et prévisualisation avant import
- 🔄 Flexibilité : Support des formats CSV courants (Excel, Google Sheets, LibreOffice)
🔗 Liens Utiles
- Changelog complet : https://github.com/btouchard/ackify-ce/blob/main/CHANGELOG.md
- Documentation : https://github.com/btouchard/ackify-ce/blob/main/README.md
- Diff : v1.2.3...v1.2.4
📝 Migration depuis v1.2.3
Version 100% rétrocompatible avec v1.2.3.
Mise à jour
docker compose pull
docker compose up -dAucune migration de base de données ou changement de configuration requis.