Skip to content

Refacto config files#1663

Merged
ga-devfront merged 69 commits intoPrestaShop:devfrom
ga-devfront:refacto/config-files
Apr 24, 2026
Merged

Refacto config files#1663
ga-devfront merged 69 commits intoPrestaShop:devfrom
ga-devfront:refacto/config-files

Conversation

@ga-devfront
Copy link
Copy Markdown
Contributor

@ga-devfront ga-devfront commented Feb 13, 2026

Questions Answers
Description? It splits and renames the configurations specific to each process (update, backup, restore). This also makes performance fields configurable (only via CLI). Overall, this brings more clarity to the project and prevents unnecessarily loading configurations for a single variable that has nothing to do with the process.
Type? refactor
BC breaks? yes
Deprecations? no
Fixed ticket? N/A
Sponsor company @PrestaShopCorp
How to test? We have to test all process from CLI (with and without config file) and UI !

@ga-devfront ga-devfront added this to the 8.0.0 milestone Feb 13, 2026
@ga-devfront ga-devfront added the _🥬🍅🧅_ Type: All label Feb 16, 2026
@github-project-automation github-project-automation Bot moved this to Ready for review in PR Dashboard Feb 16, 2026
@ga-devfront ga-devfront added the refacto Type: Refactoring label Feb 16, 2026
@ga-devfront ga-devfront marked this pull request as ready for review February 19, 2026 16:51
Comment thread classes/Commands/Loader/AbstractConfigurationLoader.php Outdated
Comment thread classes/Commands/Loader/AbstractConfigurationLoader.php Outdated
Comment thread classes/Commands/Loader/AbstractConfigurationLoader.php Outdated
Comment thread classes/Commands/CreateBackupCommand.php Outdated
Comment thread classes/Commands/RestoreCommand.php Outdated
Comment thread classes/UpgradeContainer.php
M0rgan01
M0rgan01 previously approved these changes Feb 23, 2026
Copy link
Copy Markdown
Contributor

@M0rgan01 M0rgan01 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seems good for me, I'm waiting for the opinion of @Quetzacoalt91

Comment thread classes/Commands/CreateBackupCommand.php Outdated
Comment thread classes/Commands/UpdateCommand.php Outdated
Comment thread classes/Commands/UpdateCommand.php Outdated
Comment thread classes/Parameters/RestoreConfiguration.php Outdated
Comment thread classes/Parameters/UpdateConfiguration.php Outdated
Comment thread classes/Parameters/Loader/AbstractConfigurationLoader.php Outdated
Comment thread classes/Commands/AbstractCommand.php Outdated
Comment thread classes/Parameters/Loader/BackupConfigurationLoader.php Outdated
Comment thread classes/Parameters/Loader/RestoreConfigurationLoader.php Outdated
Comment thread classes/Parameters/BackupConfiguration.php Outdated
@Quetzacoalt91
Copy link
Copy Markdown
Member

@ga-devfront What do you think about this tree?

$ tree classes/Parameters/
classes/Parameters/
├── Configuration
│   ├── AbstractConfiguration.php
│   ├── BackupConfiguration.php
│   ├── LanguageConfiguration.php
│   ├── Loader
│   │   ├── AbstractConfigurationLoader.php
│   │   ├── BackupConfigurationLoader.php
│   │   ├── RestoreConfigurationLoader.php
│   │   └── UpdateConfigurationLoader.php
│   ├── RestoreConfiguration.php
│   ├── UpdateConfiguration.php
│   └── Validator
│       ├── AbstractConfigurationValidator.php
│       ├── BackupConfigurationValidator.php
│       ├── LocalChannelConfigurationValidator.php
│       ├── RestoreConfigurationValidator.php
│       └── UpdateConfigurationValidator.php
├── ConfigurationStorage.php
├── FileStorage.php
├── index.php
└── UpgradeFileNames.php

Quetzacoalt91
Quetzacoalt91 previously approved these changes Feb 26, 2026
Quetzacoalt91
Quetzacoalt91 previously approved these changes Feb 26, 2026
Quetzacoalt91
Quetzacoalt91 previously approved these changes Mar 6, 2026
Quetzacoalt91
Quetzacoalt91 previously approved these changes Apr 17, 2026
@ps-jarvis ps-jarvis added the Waiting for QA Status: Action required, Waiting for test feedback label Apr 17, 2026
@sonarqubecloud
Copy link
Copy Markdown

Quetzacoalt91
Quetzacoalt91 previously approved these changes Apr 20, 2026
@sonarqubecloud
Copy link
Copy Markdown

Copy link
Copy Markdown

@ingridusta ingridusta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @ga-devfront,

Sorry for the long delay for tests.

Here is what has been tested :

CLI :

8.2.4-8.1-apache 8.2.4-classic-8.1-apache
php bin/console update:check-requirements --channel=online admin-dev ok ok
php bin/console update:check-requirements --channel=online_recommended admin-dev ok ok
php bin/console update:check-requirements --channel=local admin-dev missing xml and zip missing xml and zip
php bin/console update:check-requirements --channel=local --zip=910prod.zip admin-dev missing xml and zip missing xml and zip
php bin/console update:check-requirements --channel=local --zip=910prod.zip --xml=910prod.xml admin-dev ok ok
php bin/console update:check-requirements --channel=local --zip=920.zip --xml=920.xml admin-dev ok
php bin/console update:check-modules --channel=online admin-dev ok ok
php bin/console update:check-modules --channel=online_recommended admin-dev ok ok
php bin/console update:check-modules --channel=local admin-dev missing xml and zip missing xml and zip
php bin/console update:check-modules --channel=local --zip=910prod.zip admin-dev missing xml and zip missing xml and zip
php bin/console update:check-modules --channel=local --zip=910prod.zip --xml=910prod.xml admin-dev ok
php bin/console update:check-modules --channel=local --zip=920.zip --xml=920.xml admin-dev The compatibility of the modules can't be checked with a version of PrestaShop that is not released yet.
php bin/console backup:list admin-dev ok no backup listed ok no backup listed
`php bin/console backup:create -v admin-dev tee -a aaatest.log` ok back up ok back up
php bin/console backup:list admin-dev ok 1 backup listed ok 1 backup listed
`php bin/console backup:create --include-images=false -v admin-dev tee -a aaabackupwithoutimages.log` ok backup without images ok backup without images
php bin/console backup:list admin-dev ok 2 backup listed ok 2 backup listed
php bin/console backup:create --include-images=true -v admin-dev | tee -a aaabackupwithimages.log ok backup with images ok backup with image
php bin/console backup:list admin-dev ok 3 backup listed ok 3 backup listed
php bin/console backup:create --max-files-per-batch=200 -v admin-dev | tee -a aaabackupmaxfilesperbatch200s.log ok INFO - Backup files in progress. -200 files left ok INFO - Backup files in progress. -200 files left
php bin/console backup:create --max-files-per-batch=400 -v admin-dev | tee -a aaabackupmaxfilesperbatch400s.log ok INFO - Backup files in progress. -400 files left ok INFO - Backup files in progress. -400 files left
php bin/console backup:create --max-files-per-batch=600 -v admin-dev | tee -a aaabackupmaxfilesperbatch600s.log ok INFO - Backup files in progress. -600 files left ok INFO - Backup files in progress. -600 files left
php bin/console backup:create --max-file-size-allowed=15728640 -v admin-dev | tee -a aaabackupmaxfilesizes15728640.log ok ok
php bin/console backup:create --max-file-size-allowed=28000 -v admin-dev | tee -a aaabackupmaxfilesizes28000.log ok files more than 28000 are not in the backup ok files more than 28000 are not in the backup
php bin/console backup:create --max-sql-size-to-write-per-batch=4194304 -v admin-dev | tee -a aaabackupmaxsql4193403.log
php bin/console backup:create --max-sql-size-to-write-per-batch=28000 -v admin-dev | tee -a aaabackupmaxsql28000.log
php bin/console backup:restore -v admin-dev | tee -a aaarestore.log10 ok and backup selection ok ok and backup selection ok
php bin/console backup:restore --backup=V8.2.4_20260422-155515-5b153ad2 -v admin-dev | tee -a aaarestorebackupname.log ok ok
php bin/console backup:restore --max-seconds-per-batch=6 -v admin-dev | tee -a aaarestoremaxseconds6.log ok ok
php bin/console backup:restore --max-seconds-per-batch=1 -v admin-dev | tee -a aaarestoremaxseconds1.log ok ok
php bin/console backup:restore --max-seconds-per-batch=20 -v admin-dev | tee -a aaarestoremaxseconds20.log ok ok
php bin/console backup:delete -v admin-dev | tee -a aaadeletebackup.log ok back up deleted ok back up deleted
php bin/console backup:delete --backup=V8.2.4_20260422-155515-5b153ad2 -v admin-dev | tee -a aaadeletebackupname.log ok back up deleted ok back up deleted
php bin/console update:start --disable-all-overrides=1 -v admin-dev | tee -a aaaupdatedisablealloverridestrue.log ok + BDD ok ok + BDD ok
php bin/console backup:restore admin-dev ok ok
php bin/console update:start --disable-all-overrides=0 -v admin-dev | tee -a aaaupdatedisablealloverridesfalse.log ok + BDD ok ok + BDD ok
php bin/console backup:restore admin-dev ok ok
php bin/console update:start --max-files-per-batch=400 -v admin-dev | tee -a aaaupdatemaxfilesperbatch400.log ok ok
php bin/console backup:restore admin-dev ok ok
php bin/console update:start --max-files-per-batch=200 -v admin-dev | tee -a aaaupdatemaxfilesperbatch200.log ok ok
php bin/console backup:restore admin-dev ok ok
php bin/console update:start --max-files-per-batch=600 -v admin-dev | tee -a aaaupdatemaxfilesperbatch600.log ok ok
php bin/console backup:restore admin-dev ok ok
php bin/console update:start --channel=online -v admin-dev | tee -a aaaupdateonline.log ok ok
php bin/console backup:restore admin-dev ok (QA note fixed) ok
php bin/console update:start --channel=online_recommended -v admin-dev | tee -a aaaupdateonlinerecommended.log ok ok
php bin/console backup:restore admin-dev ok ok
php bin/console update:start --channel=local -v admin-dev | tee -a aaaupdatelocal.log Both 'xml' and 'zip' files attributes must be provided to use the local channel. Both 'xml' and 'zip' files attributes must be provided to use the local channel.
php bin/console update:start --channel=local --zip=910prod.zip --xml=910prod.xml -v admin-dev | tee -a aaaupdatelocalwithzipandxml.log ok ok
php bin/console backup:restore admin-dev ok (QA note fixed) ok
php bin/console update:start --disable-non-native-modules=1 -v admin-dev | tee -a aaaupdatedisabledtrue.log ok (non native modules deactivated) ok (non native modules deactivated)
php bin/console backup:restore admin-dev ok ok
php bin/console update:start --disable-non-native-modules=1 --channel=online -v admin-dev | tee -a aaaupdatedisabledtrueonline.log ok option ignored to v9 (modules not deactivated) ok option ignored to v9 (modules not deactivated)
php bin/console backup:restore admin-dev ok ok
php bin/console update:start --disable-non-native-modules=0 -v admin-dev | tee -a aaaupdatedisabledfalse.log ok (non native modules not deactivated, still active) ok (non native modules not deactivated, still active)
php bin/console backup:restore admin-dev ok ok
avant : modifier 1 template d’email
php bin/console backup:create -v admin-dev | tee -a aaatest.log ok ok
php bin/console update:start --regenerate-email-templates=1 -v admin-dev | tee -a aaaupdateregeneratetrue.log template regenerated ok template regenerated ok
php bin/console backup:restore admin-dev ok ok
php bin/console update:start --regenerate-email-templates=0 -v admin-dev | tee -a aaaupdateregeneratefalse.log template not regenerated (modification still displayed) template not regenerated (modification still displayed)
php bin/console backup:restore admin-dev ok ok
php bin/console backup:create --include-images=false --max-files-per-batch=200 -v admin-dev | tee -a aaabackupwithoutimagesmaxfiles200.log ok ok
php bin/console backup:create --include-images=true --max-sql-size-to-write-per-batch=28000 -v admin-dev | tee -a aaabackupwithimagesmaxbatch28000.log ok ok
php bin/console update:start --channel=online_recommended --disable-non-native-modules=1 --regenerate-email-templates=1 -v admin-dev | tee -a aaaupdateonlinerecommendeddisabledtrueemailtrue.log ok ok
php bin/console update:start --channel=online_recommended --regenerate-email-templates=false --config-file-path=fichierconfig1.json -v admin-dev | tee -a aaaupdateconfig1.log ok ok
php bin/console update:start --channel=online --regenerate-email-templates=true --config-file-path=fichierconfig2.json -v admin-dev | tee -a aaaupdateconfig2.log ok known bug with ps_metrics
php bin/console backup:create --include-images=false --max-files-per-batch=200 --config-file-path=fichierconfig3.json -v admin-dev | tee -a aaaupdateconfi3.log ok ok
php bin/console backup:restore --max-seconds-per-batch=6 --config-file-path=fichierconfig4.json -v admin-dev | tee -a aaaupdateconfig4.log ok ok

If any logs needed I can provide (if I didn't forgot to DL ^^')

UI :
All features has been tested as for CLI.
From 8.2.1 to 8.2.5
From 8.2.4 to 8.2.5
From 8.2.4 to 9.1.0 (both with online or local)
From 8.2.5 to 9.1.0 (both with online or local)
From 8.2.4 classic to 8.2.5
From 8.2.4 classic to 9.1.0 (both with online or local)
From 8.2.5 classic to 9.1.0 (both with online or local)
From 8.2.5 to local 9.2.0 (unpublished)
From 8.2.5 classic to local 9.2.0 (unpublished)

After all the QA notes been corrected and retested I can ✅ F-I-N-A-L-L-Y ✅ approve your PR. Thanks a lot for your patience, your hard work and your availability to answer my questions 🫶 !

@ga-devfront ga-devfront merged commit 92a74b7 into PrestaShop:dev Apr 24, 2026
105 of 112 checks passed
@github-project-automation github-project-automation Bot moved this from To be tested to Merged in PR Dashboard Apr 24, 2026
@ps-jarvis ps-jarvis moved this from Merged to To be tested in PR Dashboard Apr 24, 2026
@ga-devfront ga-devfront deleted the refacto/config-files branch April 24, 2026 07:50
@ingridusta ingridusta added QA ✔️ Status: Check done, Code approved and removed Waiting for QA Status: Action required, Waiting for test feedback labels Apr 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

_🥬🍅🧅_ Type: All QA ✔️ Status: Check done, Code approved refacto Type: Refactoring

Projects

Status: To be tested

Development

Successfully merging this pull request may close these issues.

6 participants