/ADR

Architecture Decision Records for the PrestaShop project

ADR

Architecture Decision Records for the PrestaShop project

What is this?

The purpose of this repository is to track the history of design choices on the PrestaShop project.

To learn more about ADRs, read this article.

How do I propose a subject?

  1. Use ADR tools to build your proposal, add it to the status table below, then submit a Pull Request.

  2. New proposals initial status is "In discussion". If the subject is accepted for discussion, it is assigned an ID and added to the table below on master branch.

  3. Once the discussion is over and after all necessary ADR modifications, a vote is cast in the related Pull Request.

  4. All project maintainers vote, and their vote is registered. Decisions are accepted by simple majority. Discussed ADRs are merged even if they are not accepted.

ADR status

ADR ID Date Discussion Title Status
0001 2019-01-22 - Record architecture decisions ✅ Accepted
0002 2019-02-15 - Mixed use of composer and zip modules ✅ Accepted
0003 2019-10-15 - Use of autowiring - amended in FQCN Autowiring ❌ Rejected
0004 2020-04-17 - Keep QA and Devs HTML selectors separate ❌ Rejected
0005 2019-01-22 - Define ACL rules for Symfony pages ❌ Abandoned
0006 2020-02-13 - [Registration of a bundle-like module][006] ❌ Abandoned
0007 2020-03-09 Pull Request Module advanced installation 💬 In discussion
0008 2020-03-23 - Ajax error handling ❌ Abandoned
0009 2020-08-20 - Expose js components using window variable ✅ Accepted
0010 2020-12-15 - Module version bump convention when Core is updated ❌ Abandoned
0011 2021-01-05 - Use constants for configuration variables ❌ Abandoned
0012 2021-01-13 Pull Request Module advanced installation 💬 In discussion
0014 2021-08-25 - Drop the "No Use Of Legacy In New Code" restriction ✅ Accepted
0015 2021-09-16 Pull Request Split business logic from DOM logic of JS 💬 In discussion
0016 2022-01-07 Pull Request Use variadic to type-hint PHP arrays 💬 In discussion
0017 2022-04-17 - Backward compatibility promise ✅ Accepted
0018 2022-05-16 - Horizontal migration ✅ Accepted
0019 2022-11-16 - FQCN Autowiring ✅ Accepted
0020 2023-02-22 - Module versioning when min compat with the core is updated ✅ Accepted
0021 2023-10-27 - Model and Repositories aiming to replace the usages of legacy ObjectModel ❌ Rejected
0022 2023-05-30 Pull Request Module storage folders 💬 In discussion
0023 2023-10-27 - CQRS API quidelines ✅ Accepted
0024 2023-10-27 Pull Request Refactoring of PrestaShop context 💬 In discussion
0025 2023-10-27 Pull Request Doctrine entities migration 💬 In discussion