Public OSS Demo
Welcome!
September - Session 6 of 2022
07/09/2022
Hello!
Krystian Podemski
PrestaShop Tech Evangelist & Core Maintainer
Valentin Szczupak
Front-end developer�& Core Maintainer
Today’s agenda
Introduction
Project news
Demos
Q&A
Event rules
Code of Conduct can be read at https://www.prestashop-project.org/code-of-conduct/
Project news
PrestaShop 1.7.8.7 - security patch
Product Comments - security patch
PrestaShop - Backward compatibility promise
“PrestaShop is committed to follow the SemVer convention, which states that backward incompatible changes are only allowed in major versions.”
Why is it important?
Where can I read the details?
Can Maintainers’ team break the promise?
Approved
PrestaShop 8 Beta 🎉
PrestaShop 8.0 Beta has been delivered on the 8th of August.
PrestaShop 8 Beta 🎉
Since the release:
Next steps:
Demos
Demo #1
How could we implement the PrestaShop hooks system in Vue components?�by @NeOMakinG�
Why can’t we use Vue everywhere?
PrestaShop contains some extensibility features such as Action hooks and Display hooks.��Using Vue to manage a whole page is currently blocking the extensibility of modules and users. As an example, we notice that some pages using Vue doesn’t contain any display hooks: Stock, Translations…
We still use it to manage some little parts of the project to keep it as much extensible as possible: As an example, on the new product page, some components are still using Vue (Dropzone component, combinations generator, modification history…)
Front-office API
As a front-office API work will begin in the future, our users will probably use the project as a headless CMS and develop their own SPA consuming it.
We will probably need to find a solution to make it both possible.
Bundling
Our backoffice assets and any SPA assets are still generated by some bundlers: Webpack, Rollup, Vite…��This is something executed on development time, these assets are delivered into production and then read and interpreted by the browser. They are not editable on runtime.
We need to solve the fact that some modules wants to be injected somewhere into the logic.
Solutions: Inject new code at build time
We need to imagine the fact that we have a system detecting that some modules wants to be injected somewhere in the logic:��Everytime someone install the module, every assets would be built again adding some constraints:��- The right nodejs and npm version should be installed on the server.�- We have to deal with build errors because the module could break the build�- The release content would be different from the production build at some point
Solutions: Inject some logic at runtime
Everytime someone install the module, every assets would be already built by the developer and delivered:��- NodeJS and npm are not required�- We have to deal with runtime errors�- PrestaShop assets aren’t edited
Proof of concept
Proof of concept
Architecture
What is the module able to consume?
What’s next?
Thanks!
Demo #2
What’s new for developers in PrestaShop 8?�by @kpodemski�
Questions & Answers
Thank you!