From 3872dc0f96b3bd5a9d55b492fb2a013883397988 Mon Sep 17 00:00:00 2001 From: marsaldev Date: Mon, 31 Oct 2022 12:35:51 +0100 Subject: [PATCH 1/2] First multilingual commit (home localised, urls localised, some content localised) Changed main config.yml to add Italian language, created menus.it.yml and moved menus.yml in menus.en.yml --- config.yml | 12 +- config/_default/menus.en.yml | 49 ++++ config/_default/menus.it.yml | 49 ++++ content/_index.it.md | 40 +++ content/about.it.md | 7 + content/code-of-conduct/_index.it.md | 87 +++++++ content/maintainers-guide/_index.it.md | 19 ++ .../how-to-become-a-committer.it.md | 59 +++++ .../how-to-become-a-maintainer.it.md | 67 +++++ content/maintainers-guide/license.it.md | 22 ++ content/maintainers-guide/processes.it.md | 16 ++ .../project-organization.it.md | 138 ++++++++++ .../release-a-native-PS-module.it.md | 94 +++++++ .../releasing-prestashop/_index.it.md | 96 +++++++ .../releasing-prestashop/create-build.it.md | 176 +++++++++++++ .../releasing-prestashop/final-steps.it.md | 85 ++++++ .../preliminary-tasks.it.md | 125 +++++++++ .../release-publicly.it.md | 112 ++++++++ .../reviewing-pull-requests.it.md | 242 ++++++++++++++++++ .../summary-github-lifecycle.it.md | 109 ++++++++ content/slack/_index.it.md | 38 +++ ...nd-integrationsapps-and-integrations.it.md | 13 + content/slack/channels.it.md | 145 +++++++++++ content/support/_index.it.md | 35 +++ content/user-groups/_index.it.md | 43 ++++ 25 files changed, 1877 insertions(+), 1 deletion(-) create mode 100644 config/_default/menus.en.yml create mode 100644 config/_default/menus.it.yml create mode 100644 content/_index.it.md create mode 100644 content/about.it.md create mode 100644 content/code-of-conduct/_index.it.md create mode 100644 content/maintainers-guide/_index.it.md create mode 100644 content/maintainers-guide/how-to-become-a-committer.it.md create mode 100644 content/maintainers-guide/how-to-become-a-maintainer.it.md create mode 100644 content/maintainers-guide/license.it.md create mode 100644 content/maintainers-guide/processes.it.md create mode 100644 content/maintainers-guide/project-organization.it.md create mode 100644 content/maintainers-guide/release-a-native-PS-module.it.md create mode 100644 content/maintainers-guide/releasing-prestashop/_index.it.md create mode 100644 content/maintainers-guide/releasing-prestashop/create-build.it.md create mode 100644 content/maintainers-guide/releasing-prestashop/final-steps.it.md create mode 100644 content/maintainers-guide/releasing-prestashop/preliminary-tasks.it.md create mode 100644 content/maintainers-guide/releasing-prestashop/release-publicly.it.md create mode 100644 content/maintainers-guide/reviewing-pull-requests.it.md create mode 100644 content/maintainers-guide/summary-github-lifecycle.it.md create mode 100644 content/slack/_index.it.md create mode 100644 content/slack/apps-and-integrationsapps-and-integrations.it.md create mode 100644 content/slack/channels.it.md create mode 100644 content/support/_index.it.md create mode 100644 content/user-groups/_index.it.md diff --git a/config.yml b/config.yml index cb64a241..76fba325 100644 --- a/config.yml +++ b/config.yml @@ -1,7 +1,17 @@ baseURL: "https://www.prestashop-project.org/" languageCode: "en-us" defaultContentLanguage: "en" -title: "PrestaShop Project - Open Source e-Commerce platform" +languages: + en: + title: "PrestaShop Project - Open Source e-Commerce platform" + languageCode: "en-us" + languageName: "English" + weight: 1 + it: + title: "PrestaShop Project - Piattaforma e-Commerce Open Source" + languageCode: "it-it" + languageName: "Italiano" + weight: 2 theme: "ps-org-theme" enableGitInfo: true diff --git a/config/_default/menus.en.yml b/config/_default/menus.en.yml new file mode 100644 index 00000000..90535786 --- /dev/null +++ b/config/_default/menus.en.yml @@ -0,0 +1,49 @@ +main: + #- name: "About" + # url: "about" + # enable: false + # weight: 1 + - name: "Blog" + url: "https://build.prestashop-project.org" + weight: 1 + - name: "GitHub" + url: "https://github.com/PrestaShop/PrestaShop/" + weight: 2 + - name: "Get Involved" + url: "https://devdocs.prestashop-project.org/8/contribute/" + weight: 3 + - name: "Contributors" + url: "https://contributors.prestashop.com/" + weight: 4 + - name: "Support" + pageRef: "support" + weight: 5 + - name: "Resources" + weight: 6 + +footer_left: + - name: Blog + url: "https://build.prestashop-project.org" + - name: GitHub + url: "https://github.com/PrestaShop/PrestaShop/" + - name: Slack + pageRef: "slack" + +footer_middle: + - name: "User documentation" + url: "https://prestashop.gitbook.io/english-documentation-1-7/" + weight: 1 + - name: "Developer documentation" + url: "https://devdocs.prestashop-project.org" + weight: 2 + - name: "Specifications" + url: "https://build.prestashop-project.org/prestashop-specs/" + weight: 3 + +footer_right: + - name: "Code of conduct" + pageRef: "code-of-conduct" + weight: 10 + - name: "Maintainer's guide" + pageRef: "maintainers-guide" + weight: 20 diff --git a/config/_default/menus.it.yml b/config/_default/menus.it.yml new file mode 100644 index 00000000..8320cdd3 --- /dev/null +++ b/config/_default/menus.it.yml @@ -0,0 +1,49 @@ +main: + #- name: "About" + # url: "about" + # enable: false + # weight: 1 + - name: "Blog" + url: "https://build.prestashop-project.org" + weight: 1 + - name: "GitHub" + url: "https://github.com/PrestaShop/PrestaShop/" + weight: 2 + - name: "Come contribuire?" + url: "https://devdocs.prestashop-project.org/8/contribute/" + weight: 3 + - name: "Contributors" + url: "https://contributors.prestashop.com/" + weight: 4 + - name: "Supporto" + pageRef: "support" + weight: 5 + - name: "Risorse" + weight: 6 + +footer_left: + - name: Blog + url: "https://build.prestashop-project.org" + - name: GitHub + url: "https://github.com/PrestaShop/PrestaShop/" + - name: Slack + pageRef: "slack" + +footer_middle: + - name: "Documentazione Utente" + url: "https://prestashop.gitbook.io/english-documentation-1-7/" + weight: 1 + - name: "Documentazione Sviluppatori" + url: "https://devdocs.prestashop-project.org" + weight: 2 + - name: "Specifiche" + url: "https://build.prestashop-project.org/prestashop-specs/" + weight: 3 + +footer_right: + - name: "Codice di condotta" + pageRef: "code-of-conduct" + weight: 10 + - name: "Guida per Maintainer" + pageRef: "maintainers-guide" + weight: 20 diff --git a/content/_index.it.md b/content/_index.it.md new file mode 100644 index 00000000..86f98f86 --- /dev/null +++ b/content/_index.it.md @@ -0,0 +1,40 @@ +--- +menuTitle: Home +description: Il progetto PrestaShop è una piattaforma software open source universale per costruire la tua soluzione di e-commerce. + +####################### Banner ######################### +banner: + title: "Benvenuto nel PrestaShop Project" + image: "/images/home-artwork.png" + content: "Il progetto PrestaShop è una piattaforma software open source universale per costruire la tua soluzione di e-commerce." + +##################### Featured links ########################## +feature: + enable: true + title: "Documentazione progetto" + feature_item: + - name: "Documentazione utente" + link: "https://docs.prestashop-project.org/" + icon: "fas fa-book" + content: "Per merchants e utenti finali" + - name: "Documentazione per sviluppatori" + link: "https://devdocs.prestashop-project.org" + icon: "fas fa-file-code" + content: "Per sviluppatori integrator, di core e moduli" + - name: "Specifiche" + link: "https://build.prestashop-project.org/prestashop-specs/" + icon: "fas fa-map" + content: "Per sviluppatori integrator, di core e moduli" + + +##################### Call to action ##################### +call_to_action: + enable: true + title: "Sei Pronto/a?" + image: "images/download.png" + content: "PrestaShop è disponibile gratuitamente su GitHub." + button: + enable: true + label: "Ultime Release" + link: "https://github.com/PrestaShop/PrestaShop/releases" +--- diff --git a/content/about.it.md b/content/about.it.md new file mode 100644 index 00000000..06c490e5 --- /dev/null +++ b/content/about.it.md @@ -0,0 +1,7 @@ +--- +title: "A proposito del PrestaShop Project" +--- + +## Cosa è PrestaShop? + +PrestaShop è un e-Commerce CMS (Content Management System) open-source. diff --git a/content/code-of-conduct/_index.it.md b/content/code-of-conduct/_index.it.md new file mode 100644 index 00000000..ce68905e --- /dev/null +++ b/content/code-of-conduct/_index.it.md @@ -0,0 +1,87 @@ +--- +Title: Codice di condotta +slug: codice-di-condotta +url: codice-di-condotta +menu: + main: + parent: 'Risorse' + name: 'Codice di condotta' + weight: 5 +--- + +# PrestaShop Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to make participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, sex characteristics, gender identity and expression, +level of experience, education, socio-economic status, nationality, personal +appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or + advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies within all project spaces, and it also applies when +an individual is representing the project or its community in public spaces. +Examples of representing a project or community include using an official +project e-mail address, posting via an official social media account, or acting +as an appointed representative at an online or offline event. Representation of +a project may be further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at [https://www.prestashop.com/en/abuse](https://www.prestashop.com/en/abuse). All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see +https://www.contributor-covenant.org/faq diff --git a/content/maintainers-guide/_index.it.md b/content/maintainers-guide/_index.it.md new file mode 100644 index 00000000..6054a5ae --- /dev/null +++ b/content/maintainers-guide/_index.it.md @@ -0,0 +1,19 @@ +--- +title: Guida dei Maintainer +url: guida-dei-maintainer +slug: guida-dei-maintainer +menu: + main: + parent: "Risorse" + name: "Guida dei Maintainer" + url: guida-dei-maintainer + slug: guida-dei-maintainer + weight: 10 +--- + +# Guida per PrestaShop Maintainer + +Questa sezione descrive i processi e le linee guida per i Maintainer del progetto. + +{{% children /%}} + diff --git a/content/maintainers-guide/how-to-become-a-committer.it.md b/content/maintainers-guide/how-to-become-a-committer.it.md new file mode 100644 index 00000000..0d01b104 --- /dev/null +++ b/content/maintainers-guide/how-to-become-a-committer.it.md @@ -0,0 +1,59 @@ +--- +title: Come diventare un committer +url: guida-dei-maintainer/come-diventare-un-committer +weight: 12 +--- + +# Come diventare un committer + +In the PrestaShop project, committer are contributors with partial merge rights. + +Committers participate in reviewing code contributions and are able to include them in the project once they have been accepted and verified. + + +## Prerequisites to become a committer + +1. **Active participation in the project** + - Have at least one accepted, quality Pull Request. + - Display a record of Pull Request reviews. + - Real interest in getting involved in code review. +2. **Cultural convergence** + - Respect the Code of Conduct; behave respectfully and in good faith. + - Agree to work together with the rest of the maintainer team towards main goals (see [The Future Architecture][future-architecture]): migration to Symfony, adoption of VueJS ... + +## Requirements to continue being a committer + +All the above, plus: + +1. **Continuous participation and involvement** + - Actively and responsibly review Pull Requests. +2. **Responsible behavior** + - Respect & enforce the project’s quality standards and contribution guidelines. + - Respect & enforce the project’s issue and code review workflow. + - Respect & enforce convergence with the project’s goals. + - Put the best interest of the project before one’s own (in case of conflict of interests). + +## How to apply to be a committer + +1. [Open an issue on the open source repository](https://github.com/PrestaShop/open-source/issues/new) explaining why you apply to become a committer, and on what part of the project (Core or module/subproject). +2. If three maintainers approve the application, the new committer is approved. +3. After 30 days, if the issue did not receive three positive votes, it is considered rejected and closed. + +Note: the above process is not mandatory for individuals who are offered the committer role by maintainers, as long as the candidate is supported by at least three maintainers. + +Upon approval, new committer is granted full committer rights and accesses for a 90-day trial period. This period aims to provide both the maintainer team and the new committer a better understanding of this new arrival and to validate whether expectations meet reality. Both maintainer team or new committer can express their wish for this situation to end before the 90-day trial period, revoking the committer status. + +At the end of the 90-day trial period, the committer is confirmed in his position. + +## How to lose the committer status + +A project committer status can be revoked for any of the following reasons: + +- Refusal to follow the rules and policies stated in this document. +- Lack of activity for the past three months. +- Willful negligence or intent to harm the PrestaShop project. +- On their demand, for personal reasons. +- On request of at least three maintainers. + +[future-architecture]: https://build.prestashop.com/news/prestashop-in-2019-and-beyond-part-3-the-future-architecture/ +[slack]: {{< param ProjectUrls.Slack >}} diff --git a/content/maintainers-guide/how-to-become-a-maintainer.it.md b/content/maintainers-guide/how-to-become-a-maintainer.it.md new file mode 100644 index 00000000..beb728ae --- /dev/null +++ b/content/maintainers-guide/how-to-become-a-maintainer.it.md @@ -0,0 +1,67 @@ +--- +title: Come diventare un maintainer +url: guida-dei-maintainer/come-diventare-un-maintainer +weight: 10 +--- + +# Come diventare un maintainer + +In the PrestaShop project, maintainers are contributors with merge rights. + +The maintainer status is a position of great power, but it also carries great responsibility. +As gatekeepers to the project's code, maintainers are ultimately responsible for every contribution that is included in the project. + +Candidates can apply to become maintainer over the whole project, or just a scope (a project, a repository, or a technology). + +## Requirements to become a maintainer + +1. **Active participation in the project** + - Display a record of several accepted, quality Pull Requests having received little or no objections from maintainers. + - Display a record of participation in several issues and/or in technical discussions (e.g. Pull Request reviews). + - Be active in the project’s [Slack][slack] chat. + - Real interest in getting involved. +2. **Demonstrate a good level of technical knowledge** + - Justify a good level of technical skills (SOLID, readable, well-documented, stable, testable code) – in discussions and in code contributions. + - Display a good understanding of the project, its architecture, its ecosystem, its constraints (transparency, license, backwards compatibility, dependencies, expected behavior...) + - Be competent with git and the GitHub workflow (use a fork, be able to rebase, be able to fetch and update a remote branch...) +3. **Cultural convergence** + - Respect the Code of Conduct; behave respectfully and in good faith. + - Agree to work together with the rest of the maintainer team towards main goals (see [The Future Architecture][future-architecture]): migration to Symfony, adoption of VueJS ... + +## Requirements to continue being a maintainer + +All the above, plus: + +1. **Continuous participation and involvement** + - Actively and responsibly review Pull Requests. + - Engage and participate in technical discussions with maintainers and the community on Slack. + - Mentor new contributors. +2. **Responsible behavior** + - Respect & enforce the project’s quality standards and contribution guidelines. + - Respect & enforce the project’s issue and code review workflow. + - Respect & enforce the project’s release lifecycle (feature freeze, RC, minor and patch release scope, module releases...) + - Respect & enforce convergence with the project’s goals. + - Put the best interest of the project before one’s own (in case of conflict of interests). + +## How to apply to be a maintainer + +1. [Open an issue on the open source repository](https://github.com/PrestaShop/open-source/issues/new) explaining why you apply to become a maintainer, and on what part of the project (Core or module/subproject). +2. Discuss with current maintainers on this issue; particularly, this will be the time for maintainers to analyze the candidate's motivation and skills on the different parts of the project that they applied for. +3. Once all questions have been answered, current maintainers vote. +4. If the qualified majority of two-thirds positive votes is achieved, the new maintainer is approved. + +Upon approval, new maintainer is granted full maintainer rights and accesses for a 90-day trial period. This period aims to provide both the maintainer team and the new maintainer a better understanding of this new arrival and to validate whether expectations meet reality. Both maintainer team or new maintainer can express their wish for this situation to end before the 90-day trial period, revoking the maintainer status. + +At the end of the 90-day trial period, the maintainer is confirmed in his position. + +## How to lose the maintainer status + +A project maintainer can be revoked for any of the following reasons: + +- Refusal to follow the rules and policies stated in this document. +- Lack of activity for the past six months. +- Willful negligence or intent to harm the PrestaShop project. +- On their demand, for personal reasons. + +[future-architecture]: https://build.prestashop.com/news/prestashop-in-2019-and-beyond-part-3-the-future-architecture/ +[slack]: {{< param ProjectUrls.Slack >}} diff --git a/content/maintainers-guide/license.it.md b/content/maintainers-guide/license.it.md new file mode 100644 index 00000000..d4a95d90 --- /dev/null +++ b/content/maintainers-guide/license.it.md @@ -0,0 +1,22 @@ +--- +title: Licenza e compatibilità della licenza +url: guida-dei-maintainer/licenza +slug: licenza +--- + +# License & license compatibility + +In order to protect PrestaShop users from patent trolls, it's important to make sure that all content included and distributed with PrestaShop is covered under homogeneous license terms. + +The **PrestaShop Core** software is released under the [OSL 3.0 license](https://opensource.org/licenses/OSL-3.0). Therefore, all original work included in PrestaShop itself must be released under that license as well. + +PrestaShop's [Native Modules][native-modules] and the **Classic theme** are released under the [AFL 3.0 license](https://opensource.org/licenses/AFL-3.0). Similarly, this license applies to all original work contributed to these projects. + +## Third party content + +Third party content may be included in PrestaShop as long as its original authors have released it under a [compatible license][compatible-licenses]. If the proposed content is available with a compliant license, a last check must be done to make sure that there is no additional clause that would introduce a restriction of use. + + +[native-modules]: {{< devdocs "development/native-modules/" >}} +[compatible-licenses]: {{< devdocs "contribute/contribution-guidelines/compatible-licenses/" >}} + diff --git a/content/maintainers-guide/processes.it.md b/content/maintainers-guide/processes.it.md new file mode 100644 index 00000000..5b6fcebf --- /dev/null +++ b/content/maintainers-guide/processes.it.md @@ -0,0 +1,16 @@ +--- +title: Processi +url: guida-dei-maintainer/processi +slug: processi +--- + +# Processi + +## Security recommendations + +Maintainer GitHub accounts are granted extended rights on the PrestaShop organization. + +We require from maintainers to take the necessary steps to make sure this account is protected. This means, but not only: +- enable 2FA on GitHub +- use a safe and strong password +- be very careful about GitHub tokens granting account accesses diff --git a/content/maintainers-guide/project-organization.it.md b/content/maintainers-guide/project-organization.it.md new file mode 100644 index 00000000..8a97b763 --- /dev/null +++ b/content/maintainers-guide/project-organization.it.md @@ -0,0 +1,138 @@ +--- +title: Organizzazione del progetto +url: guida-dei-maintainer/organizzazione-del-progetto +weight: 1 +--- + +# Project organization + +## Project roles + +### Product Managers + +Product Managers provide the product vision for the project, ensuring that the software meets the needs of its various users. + +Current product managers: + +- Fabien Vallon ([@fabienvallon](https://github.com/fabienvallon)) +- Mateus Shirlaw ([@MatShir](https://github.com/MatShir)) +- Eshane Rawat ([@eshraw](https://github.com/eshraw)) + +### Project Maintainers + +Project maintainers provide the technical vision for the whole project, reviewing and merging code contributions, while ensuring that the software is developed according to the product vision. + +Current maintainers: + +- Ibrahima Sow ([@sowbiba](https://github.com/sowbiba)) +- Jonathan Lelièvre ([@jolelievre](https://github.com/jolelievre)) +- Krystian Podemski ([@kpodemski](https://github.com/kpodemski)) +- Mathieu Ferment ([@matks](https://github.com/matks)) +- Matthieu Rolland ([@matthieu-rolland](https://github.com/matthieu-rolland)) +- Pablo Borowicz ([@eternoendless](https://github.com/eternoendless)) +- Pululu Kinanga André ([@PululuK](https://github.com/PululuK)) +- Thomas Baccelli ([@atomiix](https://github.com/atomiix)) +- Valentin Szczupak ([@NeOMakinG](https://github.com/NeOMakinG)) + +#### Scoped Maintainers + +Scoped Maintainers have the same mission as Project Maintainers, but over a limited scope (e.g. a project, a repository, or a technology). + +If the scope is one or multiple repositories, maintainers rights are granted only on these repositories. +If the scope is larger (example: being in charge of a folder inside a repository) maintainer rights are granted on the repository and the scoped maintainer is trusted not to abuse. + +- Daniel Hlavacek ([@Hlavtox](https://github.com/Hlavtox)) is a scoped maintainer for [Classic](https://github.com/prestashop/classic-theme) and [Hummingbird](https://github.com/prestashop/hummingbird) themes + +### Committers + +Committers participate in reviewing code contributions and are able to include them in the project once they have been accepted and verified. + +Current committers: + +- Julius Žukauskas ([@zuk3975](https://github.com/zuk3975)) +- Mahmoud Parvazi ([@mparvazi](https://github.com/mparvazi)) +- Marco Salvatore ([@marsaldev](https://github.com/marsaldev)) +- Thomas Roux ([@okom3pom](https://github.com/okom3pom)) +- Tomasz Zając ([@SharakPL](https://github.com/SharakPL)) +- Fabien Papet ([@FabienPapet](https://github.com/FabienPapet)) + +### UX Designers + +UX Designers make sure that interfaces follow the best practices in usability and design. + +Current UX designers: + +- Tristan Lehot ([@TristanLDD](https://github.com/TristanLDD)) + +### Issue Managers + +Issue managers reproduce and qualify new issues to avoid duplicates and, if they are indeed defects in the software, their severity. They also redirect new improvement suggestions to the right Product Manager. + +Current issue managers: + +- Aurélien Rita ([@AureRita](https://github.com/AureRita)) +- Faten Mhiri ([@MhiriFaten](https://github.com/MhiriFaten)) +- Florine Hea ([@florine2623](https://github.com/florine2623)) +- Hana Rebai ([@HanaRebaiQA](https://github.com/HanaRebaiQA)) +- Hibatallah Aouadni ([@hibatallahAouadni](https://github.com/hibatallahAouadni)) +- Ines sallemi ([@sallemiines](https://github.com/sallemiines)) +- Khouloud Belguith ([@khouloudbelguith](https://github.com/khouloudbelguith)) +- Paul-Noël Cholot ([@paulnoelcholot](https://github.com/paulnoelcholot)) +- Sarah Lorenzini Cavrot ([@sLorenzini](https://github.com/sLorenzini)) + +### Software Testers + +Software Testers make sure that the quality of the software improves over time, by verifying that code changes behave as expected. To do this, they extensively test Pull Requests, PrestaShop's releases and its built-in modules. + +Current Software Testers: + +- Aurélien Rita ([@AureRita](https://github.com/AureRita)) +- Faten Mhiri ([@MhiriFaten](https://github.com/MhiriFaten)) +- Florine Hea ([@florine2623](https://github.com/florine2623)) +- Hana Rebai ([@HanaRebaiQA](https://github.com/HanaRebaiQA)) +- Hibatallah Aouadni ([@hibatallahAouadni](https://github.com/hibatallahAouadni)) +- Ines sallemi ([@sallemiines](https://github.com/sallemiines)) +- Khouloud Belguith ([@khouloudbelguith](https://github.com/khouloudbelguith)) +- Paul-Noël Cholot ([@paulnoelcholot](https://github.com/paulnoelcholot)) +- Robin Fischer ([@Robin-Fischer-PS](https://github.com/Robin-Fischer-PS)) +- Sarah Lorenzini Cavrot ([@sLorenzini](https://github.com/sLorenzini)) +- Sarah Dib ([@sarahdib](https://github.com/sarahdib)) + +### Software Developers in Test + +Software Developers in Test provide technical vision, review contribution and write automated tests, which help accelerate the testing process. + +Current Software Developers in Test: + + +- Boubker Bribri ([@boubkerbribri](https://github.com/boubkerbribri)) +- Chedly Farhani ([@cfarhani06](https://github.com/cfarhani06)) +- Franck Lefèvre ([@Progi1984](https://github.com/Progi1984)) +- Nesrine Abdmouleh ([@nesrineabdmouleh](https://github.com/nesrineabdmouleh)) +- Stéphane Decisy ([@SD1982](https://github.com/SD1982)) + +### Wording Manager + +Wording managers ensure that wordings are adequate, follow the project's tone of voice, and are categorized properly. + +Current wording managers: + +- Julie Varisellaz ([@Julievrz](https://github.com/Julievrz)) +- Léa Delin ([@l-delin](https://github.com/l-delin)) + +### User Documentation Managers + +User documentation managers ensure the quality and consistency of the [user documentation](https://docs.prestashop-project.org/). + +Current user documentation managers: + +- Julie Varisellaz ([@Julievrz](https://github.com/Julievrz)) +- Léa Delin ([@l-delin](https://github.com/l-delin)) + +### Technical Documentation Managers + +Tech documentation managers ensure the quality and consistency of the [developer documentation](https://devdocs.prestashop-project.org/) + +Current tech documentation managers: + +_No one yet_ diff --git a/content/maintainers-guide/release-a-native-PS-module.it.md b/content/maintainers-guide/release-a-native-PS-module.it.md new file mode 100644 index 00000000..0184f1f0 --- /dev/null +++ b/content/maintainers-guide/release-a-native-PS-module.it.md @@ -0,0 +1,94 @@ +--- +title: Rilasciare una nuova versione di modulo nativo PrestaShop +url: guida-dei-maintainer/rilascio-nuova-versione-modulo-ps +slug: rilascio-nuova-versione-modulo-ps +weight: 80 +--- + +# Release a new version of a native PrestaShop module + +Some modules are embedded within PrestaShop ZIP archives and loaded through Composer package manager. They consequently are listed in the `composer.json` of the Core project. + +This is what we call "native PrestaShop modules". The source code of these modules is hosted on GitHub. + +This page explains what is needed to release these modules. + +## Requirements + +### Mandatory requirements + +The module should be valid which means: + +- it works as expected +- it complies with modules [contribution guidelines][contribution-guidelines]: license headers must be valid and necessary files (LICENSE, CONTRIBUTORS) must be embedded + +### Recommended requirements + +It is recommended: + +- to have enabled [Release Drafter](https://github.com/release-drafter/release-drafter) on the module to automatize the process of creating a new GitHub release +- have enabled some Continous Integration tools such as phpstan or php-cs-fixer on the module + +These tools will help releasing a clean module in a smooth manner but the release can happen without them. + +## Release process + + +When multiple improvements (bug fixes, enhancements or new features) have been merged into the `dev` branch of a module, we can merge them into `master` to deliver a new release of the module. + +### Choosing the new version number + +We follow [SemVer](https://semver.org/) guidelines: + +If the new version of the module is backward compatible, you can increase the version number either by a minor version or by a patch version. + +However, if the new version of the module breaks backward compatibility, it must be a new major version. + +### Update version number in the code + +Create a Pull Request targeting `dev` branch. In this PR: + +Update the module version in the following files: + +- `config.xml` +- `.php` + +Commit the changes with git message: +``` +// Version updated to v +``` +Get this PR approved and merge it into `dev`. See an [example](https://github.com/PrestaShop/ps_shoppingcart/pull/50/) of such PR. + +### Merge dev into master + +Create a new PR to merge branch `dev` into branch `master`. See an [example](https://github.com/PrestaShop/ps_shoppingcart/pull/51) of such PR. + +Kindly ask the QA team to perform a release test on this PR, warning them that this PR is a release PR and consequently they need to check the whole module behavior. + +If QA validates the PR, it can be merged, which will update the `master` branch with the new code changes from `dev`. + +### Create a GitHub Release + +If you have enabled Release Drafter, it will create a draft release for you. You can review it and publish it. + +Else, you need to do it manually: + +Create a new tag with "v" that targets the last commit on `master` and push it. This will publish the module version on https://packagist.org/ . + +Create a release on Github based on the tag you just pushed. +In the content section, write a small changelog: list the PRs merged since the last version so that people can know what is included in the release (see this [example](https://github.com/PrestaShop/ps_shoppingcart/releases/tag/v2.0.3)). + +(by the way, GitHub is able to create the release _and_ the tag at the same time from the "create a new release" page) + +Attach to GitHub release a stand-alone ready-to-use ZIP archive of the module. + +This archive must be a stand-alone running module, which means it musts embeds all necessary files for its correct behavior. This includes bundled frontend assets (JS, CSS), NPM dependencies or Composer dependencies. + +### Addons API + +PrestaShop instances are able to download new versions of modules through the Addons API. Addons API monitors the modules listed into the GitHub repository https://github.com/PrestaShop/PrestaShop-modules + +When a `master` branch of one of these modules receives an update, Addons API will update the ZIP it delivers with the new content within 24 hours. + + +[contribution-guidelines]: {{< devdocs "contribute/contribution-guidelines/project-modules/" >}} diff --git a/content/maintainers-guide/releasing-prestashop/_index.it.md b/content/maintainers-guide/releasing-prestashop/_index.it.md new file mode 100644 index 00000000..7554d8c4 --- /dev/null +++ b/content/maintainers-guide/releasing-prestashop/_index.it.md @@ -0,0 +1,96 @@ +--- +title: Come rilasciare una nuova versione di PrestaShop +url: guida-dei-maintainer/rilascio-nuova-versione-prestashop +slug: rilascio-nuova-versione-prestashop +menuTitle: Rilasciare nuova versione di PS +chapter: true +weight: 40 +--- + +# Come rilasciare una nuova versione di PrestaShop + +This section describes the release process, step by step. A PrestaShop version release requires all these steps to be completed. + +## Prerequisites + +To perform a build, you will need the following: + +- [Git][git-scm], so you can clone [the project's Git repository][github-repository] on your computer. +- The [PHP CLI][php] executable (within the [compatible version range][compatible-php-versions] of the PrestaShop version you will be building), so you can create a build. +- The [Composer][get-composer] executable, to fetch PHP dependencies. +- The [NodeJs CLI][nodejs] executable (within the [compatible version range][nodejs-requirements]) and NPM, to compile assets. + +{{% notice note %}} +Some of steps will require special tools or access rights which are currently not accessible for maintainers outside the PrestaShop Company. A notice indicates when this is the case. +{{% /notice %}} + +## Process overview + +1. **[Perform preliminary tasks][preliminary-tasks]**: (click to see the full step) + + Short summary: + + - **Set up the new version on the PrestaShop Addons Marketplace and update native modules' compatibility.** + _To allow the PrestaShop Addons Marketplace and its API to serve modules compatible with this new PrestaShop version._ + + - **Update the version number in the Core.** + + - **Make sure the default translation catalogue has been updated and pushed to Crowdin.** + _To make any new wordings translatable._ + + - **Perform manual verifications.** + _To make sure that the project is ready to be built._ + +2. **[Create a new build][create-build]**: (click to see the full step) + + Short summary: + + - **Merge security PRs locally.** + _Any security PRs must be merged on a local branch before making them public._ + + - **Update the Changelog and Contributors list.** + _These files must be included in the build._ + + - **Build the zip archive.** + _The ZIP archive contains the software (including third party dependencies) and compiled assets (Javascript and CSS), but not the development sources, dev dependencies & tests._ + +3. **[Release the version publicly][release-publicly]**: (click to see the full step) + + Short summary: + + - **Merge security PRs on GitHub.** + _And publish the security advisories._ + + - **Merge the updated Changelog and Contributors list on GitHub.** + + - **Tag the version using Git and publish the release on GitHub.** + + - **Release the archive on PrestaShop.com.** + + - **Communicate.** + +4. **[Final steps][final-steps]**: (click to see the full step) + + Short summary: + + - **Update API stream for 1-click upgrade.** + _So that the 1-Click Upgrade (autoupgrade) module becomes aware of the new release._ + + - **Create Docker images for the new version.** + + - **Go through the checklist.** + _To make sure everything went all right._ + + +[git-scm]: https://git-scm.com/ +[github-repository]: https://github.com/prestashop/prestashop +[php]: https://www.php.net/ +[compatible-php-versions]: {{< devdocs "basics/installation/system-requirements.md#php-requirements" >}} +[get-composer]: https://getcomposer.org/ +[nodejs]: https://nodejs.org/ +[nodejs-requirements]: {{< devdocs "development/compile-assets.md#requirements" >}} + +[preliminary-tasks]: {{< relref "preliminary-tasks.md" >}} +[create-build]: {{< relref "create-build.md" >}} +[release-publicly]: {{< relref "release-publicly.md" >}} +[final-steps]: {{< relref "final-steps.md" >}} diff --git a/content/maintainers-guide/releasing-prestashop/create-build.it.md b/content/maintainers-guide/releasing-prestashop/create-build.it.md new file mode 100644 index 00000000..280e90ee --- /dev/null +++ b/content/maintainers-guide/releasing-prestashop/create-build.it.md @@ -0,0 +1,176 @@ +--- +title: Create the build +url: guida-dei-maintainer/rilascio-nuova-versione-prestashop/creare-la-build +slug: creare-la-build +weight: 20 +--- + +# Create a build package + +Once preliminary tasks have been completed, the project is ready to be built. + +## 1. Communicate + +Starting this step means that the Development phase of this release is over. + +Before you go further, make sure to **tick the "Development" box** in the Release Tracker GitHub issue (there is one per version, see the [1.7.6.6 example][release-tracker-issue]). + +## 2. Create a local branch for your build + +The following tasks will require you to perform changes and submit them as a Pull Request. + +* **Clone the project** on your computer using Git (only if you don't already have a local copy of the repository). + + ```shell + git clone git@github.com:PrestaShop/PrestaShop.git + ``` + +* **Make sure that you switch to the appropriate branch** regarding the version you'll be building (e.g. you must be on branch 1.7.7.x if you're building a 1.7.7 release). + +* **Make sure your branch is up-to-date with upstream.** Especially if you already had a local clone of the repository. + +* **Create a local branch for your work.** Keep it! You will need to go back to it later. + +## 3. Merge any not-yet merged security fixes into your branch + +To avoid disclosing security issues before the version is released, security Pull Request are merged in GitHub _after_ the build has been validated. In order to include them in your build, you need to retrieve them manually and merge them in your local branch. + +If this release includes security PRs: + +- Add the different private temporary repositories for each Security Advisory as remotes of your local git repository. +- Merge each one of those PRs into your working local branch. + + +## 4. Update the Changelog & Contributors list + +### Extract list of changes and contributors using the changelog tool + +{{% notice warning %}} +**This step requires special rights.** + +Ask a maintainer from the PrestaShop Company with access to the Changelog Tool to perform this step. +{{% /notice %}} + +After this step, you should obtain two files: + +- the Changelog file – including a list of all the merged Pull Requests. Make sure to keep this file, you'll need it later. +- the New Contributors file – a list of all the people who contributed code for this version for their first time. + +### Update the project's files + +- Add the contents of the changelog at the top of PrestaShop's [Changelog file][changelog-file]. +- Update PrestaShop's [Contributors file][contributors-file] by adding the new contributors. Keep the alphabetical order. +- Commit your changed files with following message: "// Changelog [version]" + +## 5. Push your work into a build branch + +The build branch helps other people verify your work, and allows the base branch to continue receiving merges while your build is being validated. + +If your build is rejected because of a bug, the fixes will have to be merged into your build branch, instead of the base branch. + +### If the branch does not contain security fixes + +- Push your changes to a new branch in the public repository. + Name your branch following this scheme: `[version]-build` (for example: "1.7.8.1-build") +- Create a new pull request to merge your changes. If you're lost, see [this example](https://github.com/PrestaShop/PrestaShop/pull/20032) from the 1.7.6.6 release. + +{{% notice warning %}} +**Make sure your PR is not merged accidentally!** + +The build must be validated before the PR can be merged. +{{% /notice %}} + + +### If the branch contains security fixes + + +- Push your local branch into a private repository, in order to avoid disclosing the security bugs. +- Share access to your private repository with other maintainers so that they can verify your work. + +## 5. Build the ZIP archive + +Use the [Release Creator CLI script][release-creator-readme] included with PrestaShop's sources to create the ZIP archive. + +From the root path of your repository, execute: + +```shell +php tools/build/CreateRelease.php --version="1.7.6.6" +``` + +{{% notice note %}} +Note: the version number will be the same for pre-release versions and final release versions. +{{% /notice %}} + +This tool creates a build based on the state of your workspace using git archive. Therefore, files not tracked by git won't be included in the build. + +**Make sure you're building from the branch you updated in the previous step.** Otherwise the package won't include the updated changelog and contributors files. + +By default, the release package will create two files in a new subdirectory in `/tools/build/releases`: + +- A ZIP package, containing the software. +- An XML file, containing md5 checksums for every file within the package. + +{{% notice warning %}} +**Make sure to keep them both!** You will need them later on. +{{% /notice %}} + +As an optional step, consider downloading the latest stable release package and compare the contents of the zip archives to look for suspicious changes. + +## 6. Archive your build + +### Rename files + +Rename both files according to our naming convention: + +```text +prestashop_-[beta.|rc.]+build.. +``` + +{{% callout %}} +##### Examples + +* `prestashop_1.7.4.0-beta.1+build.1.zip` – First build of beta 1 +* `prestashop_1.7.4.0-beta.1+build.2.zip` – Second build of beta 1 +* `prestashop_1.7.4.0-beta.2+build.1.zip` – First build of beta 2 +* `prestashop_1.7.4.0-rc.1+build.1.zip` – First build of RC 1 +* `prestashop_1.7.4.0+build.1.zip` – First build of final version +* `prestashop_1.7.4.0+build.2.zip` – Second build of final version + +For major versions, we may build a Beta Version (example: `prestashop_1.7.4.0-beta.1+build.1.zip`). + +When the beta testing phase is over, we build one Release Candidate (example: `prestashop_1.7.4.0-rc.1+build.1.zip`). + +For patch versions, the beta and RC phase can be skipped (example: `prestashop_1.7.4.1+build.1.zip`) +{{% /callout %}} + +### Upload files to the archive + +{{% notice warning %}} +**This step requires special rights.** + +Send both ZIP and XML files to a maintainer from the PrestaShop Company with access to the Archive Drive to perform this step. +{{% /notice %}} + +## 7. Communicate and wait for QA validation + +At this point, the build process is over. + +- Make sure the build files have been submitted to the QA team. +- **Update the Release Tracker GitHub issue**. Tick the "Build" box, and add a comment to announce that the build has been submitted to QA ([see example][example-build-comment]). +- Wait for QA to validate the build. + +### If the QA rejects the build + +In case the QA team finds blocking defects in the build, then these issues _must_ be fixed and merged before the branch can be built again. + +- **Communicate** that the build validation has failed by updating the Release Tracker GitHub issue. +- **Fix the issues** or wait for them to be fixed and merged in the **build** branch you created above _(and **NOT** in the base branch!)_. +- **Repeat the build process from the top**. Make sure that you have checked out the head of the updated version branch. + +Once the QA has greenlighted the build, you can move on to publishing the version. + +[release-tracker-issue]: https://github.com/PrestaShop/PrestaShop/issues/19959 +[changelog-file]: https://github.com/PrestaShop/PrestaShop/blob/develop/docs/CHANGELOG.txt +[contributors-file]: https://github.com/PrestaShop/PrestaShop/blob/develop/CONTRIBUTORS.md +[release-creator-readme]: https://github.com/PrestaShop/PrestaShop/blob/develop/tools/build/README.md +[example-build-comment]: https://github.com/PrestaShop/PrestaShop/issues/19959#issuecomment-651685219 diff --git a/content/maintainers-guide/releasing-prestashop/final-steps.it.md b/content/maintainers-guide/releasing-prestashop/final-steps.it.md new file mode 100644 index 00000000..5c6652fc --- /dev/null +++ b/content/maintainers-guide/releasing-prestashop/final-steps.it.md @@ -0,0 +1,85 @@ +--- +title: Final steps +url: guida-dei-maintainer/rilascio-nuova-versione-prestashop/steps-finali +slug: steps-finali +weight: 40 +--- + +# Final steps + +## 1. Update API stream for 1-click upgrade + +{{% notice note %}} +**This should only be done for stable releases.** + +_(i.e. if not for betas and RCs)._ +{{% /notice %}} + +{{% notice warning %}} +**This step requires special rights.** + +Ask a maintainer from the PrestaShop Company with administrative rights on the PrestaShop API repository to perform this step. +{{% /notice %}} + +Once this step is done, update the Release Tracker GitHub issue by ticking the "Available for upgrade" box. + +## 2. Create Docker images for the new version + +* Checkout the [project][docker-repository], install the project and create a new branch +* Modify the file `versions.py` to add the new version and the related php matrix compatibility +* Commit these changes +* Run `prestashop_docker.py generate` to generate the new Dockerfiles in the folder `images/` (See [documentation][docker-generate-doc]) +* Commit these changes +* Push to your fork or the original repository, create a PR and wait for the tests to pass before merging (see this [example][docker-release-pr-example]) +* Once the PR has been merged, a GitHub Action will publish the new images on Docker + +Some other registries depend on this registry to be updated (like [Docker internal images](https://hub.docker.com/r/prestashop/docker-internal-images)). The update will be automatic. + +It may take a few hours for the images to be updated. + +You can update the Release Tracker GitHub issue: step "Docker image" is done. + +## 3. Go through the checklist + +* Check the PrestaShop API content for auto-upgrade module is correct: + + - [channel.xml](https://api.prestashop.com/xml/channel.xml) + - [channel17.xml](https://api.prestashop.com/xml/channel17.xml) + - [1.7.6.0.xml](https://api.prestashop.com/xml/md5/1.7.6.0.xml) (replace with the version you have just released) + +* Check the PrestaShop localization packs are correct (only needed for major and minor releases): + + - [Repository](https://github.com/PrestaShop/TranslationFiles/tree/master/1.7/translations/) + - [Example download link](http://i18n.prestashop.com/translations/1.7.6.0/es-ES/es-ES.zip) (replace 1.7.6.0 with the version you just released) + +* Check the Addons API content for fresh installs is correct (replace 1.7.6.0 with the version you just released): + + - [Native modules](http://api-addons.prestashop.com?format=json&iso_lang=en&iso_code=FR&version=1.7.6.0&method=listing&action=native) + - [Pushed modules](http://api-addons.prestashop.com?format=json&iso_lang=en&iso_code=FR&version=1.7.6.0&method=listing&action=install-modules) + +* Check the new release can be downloaded from the prestashop.com website and GitHub: + + - [GitHub releases](https://github.com/PrestaShop/PrestaShop/releases) + - [PrestaShop.com archives](https://www.prestashop.com/en/previous-versions) + +* Check that if you try to install PrestaShop 1.7.5 from the archive, the installer suggests you install the latest version instead +* Check that the release note has been published on the [Build Blog](http://build.prestashop.com) +* Check that the [PrestaShop.com](https://www.prestashop.com) shows the right "latest version", and the links are correct +* Check that the latest release has an available docker image on the [Docker repository][docker-repository] +* Check that the [public demo](https://demo.prestashop.com) runs on the latest version (a few hours after the docker image release) + +## 4. Improve the process + +If during the process you encountered issues or there was some information not 100% clear, please improve this process documentation. + + +{{% notice tip %}} +**Congratulations!** + +The release is now complete, you can close the Release Tracker GitHub issue. +{{% /notice %}} + +[docker-repository]: https://github.com/PrestaShop/docker +[docker-hub-prestashop]: https://hub.docker.com/r/prestashop/prestashop/ +[docker-release-pr-example]: https://github.com/PrestaShop/docker/pull/287 +[docker-generate-doc]: https://github.com/PrestaShop/docker/blob/master/HOW-TO-USE.md diff --git a/content/maintainers-guide/releasing-prestashop/preliminary-tasks.it.md b/content/maintainers-guide/releasing-prestashop/preliminary-tasks.it.md new file mode 100644 index 00000000..6e48e0f4 --- /dev/null +++ b/content/maintainers-guide/releasing-prestashop/preliminary-tasks.it.md @@ -0,0 +1,125 @@ +--- +title: Preliminary tasks +url: guida-dei-maintainer/rilascio-nuova-versione-prestashop/tasks-preliminari +slug: tasks-preliminari +weight: 10 +--- + +# Preliminary tasks + +Before you can start your build, you must make sure that the project is ready to be built. + +## 1. Create the new version in Addons Marketplace and update native module compatibility + +{{% notice warning %}} +**This step requires special rights.** + +Ask a maintainer from the PrestaShop Company with administrative rights on the Addons Marketplace to perform this step. +{{% /notice %}} + +{{% notice note %}} +**This only needs to be done once per release.** + +_(i.e. if done for a beta, it doesn't need to be performed again for the final release)._ +{{% /notice %}} + +## 2. Make sure the version number has been updated in the Core + +{{% notice note %}} +**This only needs to be done once per release.** + +PrestaShop does not support pre-release versioning yet. Any build of 1.7.6.0 will be identified as 1.7.6.0 regardless if the release is alpha, beta, RC or stable. +{{% /notice %}} + +Check the following files and update them if necessary: + +* `/install-dev/install_version.php`: + + ```php + // update the version number below + define('_PS_INSTALL_VERSION_', '1.7.6.2'); + ``` + +* `/app/AppKernel.php`: + + ```php + // Update the version number and version components (const *VERSION and the other one, which depends for patch or minor) + const VERSION = '1.7.6.2'; + const MAJOR_VERSION_STRING = '1.7'; + const MAJOR_VERSION = 17; + const MINOR_VERSION = 6; + const RELEASE_VERSION = 2; + ``` + +Make a pull request and have it merged. + +{{% notice tip %}} +If you're lost, check out [this example][bump-core-version-pr-example] from the 1.7.6.6 release. + +[bump-core-version-pr-example]: https://github.com/PrestaShop/PrestaShop/pull/19980 +{{% /notice %}} + +## 3. Make sure the default translation catalogue has been updated and pushed to Crowdin + +{{% notice warning %}} +**This step requires special rights.** + +Ask a maintainer from the PrestaShop Company with access to the Translation Tool to perform this step. +{{% /notice %}} + +{{% notice note %}} +**This step is only needed for minor and major releases.** + +It is usually only done once per release as well. +{{% /notice %}} + +## 4. Manual verifications + +Make sure that in the current branch: + +* All license headers are correct: + + ```bash + php bin/console prestashop:licenses:update + ``` + +* All controllers are secured by annotations, and legacy link are provided for Symfony routes: + + ```bash + php bin/console prestashop:linter:security-annotation + php bin/console prestashop:linter:legacy-link + ``` + +* There are no known vulnerabilities in composer dependencies using [Fabpot Local PHP Security Checker][security-checker]. Consider using [this][security-checker-installer] if installing Fabpot Security Checker proves troublesome. + +* _(Minor and major releases only)_ – No important `@todo` annotations have been left forgotten in new code + +* All new hooks have been [registered][register-new-hook] + +* The generated [FOS JSON routing][fos-js-routing] file is up-to-date: + + ```bash + php bin/console fos:js-routing:dump \ + --format=json \ + --target=admin-dev/themes/new-theme/js/fos_js_routes.json + ``` + +* Any new native modules have been added into `composer.json` and their latest versions have been updated in `composer.lock`: + + ```bash + composer outdated -D "prestashop/*" + ``` + +* [Nightly builds][nightly-build-board] are green + + +{{% notice warning %}} +If any of above verifications fails, it MUST be addressed in a Pull Requests and merged before moving forward. +{{% /notice %}} + +[security-checker]: https://github.com/fabpot/local-php-security-checker +[register-new-hook]: {{< devdocs "development/components/hook/register-new-hook/" >}} +[fos-js-routing]: https://github.com/FriendsOfSymfony/FOSJsRoutingBundle +[how-to-build-assets]: {{< devdocs "development/compile-assets/" >}} +[nightly-build-board]: https://nightly.prestashop.com/ +[security-checker-installer]: https://github.com/thislg/local-php-security-checker-installer diff --git a/content/maintainers-guide/releasing-prestashop/release-publicly.it.md b/content/maintainers-guide/releasing-prestashop/release-publicly.it.md new file mode 100644 index 00000000..478fefc2 --- /dev/null +++ b/content/maintainers-guide/releasing-prestashop/release-publicly.it.md @@ -0,0 +1,112 @@ +--- +title: Release publicly +url: guida-dei-maintainer/rilascio-nuova-versione-prestashop/release-pubblica +slug: release-pubblica +weight: 30 +--- + +# Release the version publicly + +Once the QA team has greenlighted your build, you can move forward with the public release. + +{{% notice warning %}} +**Make certain you have go for publish!** Also, avoid starting this process after 4 PM or on a Friday. +{{% /notice %}} + +## 1. Merge security PRs on GitHub + +If there are unmerged security PRs: + +- **Merge them on GitHub** and publishing their security advisories. +- **Rebase the build branch** that you created on the previous step to remove the merge commits from the security PRs you merged manually before. + +## 2. Merge the build branch + +- **Double check your build branch** + - Verify that it contains only the updated contributors list and the new changelog, as well as any fix that was merged during QA validation. + - The commit named "// Changelog [version]" should be the last one. + If it's not, you have probably forgotten to build it again after merging a bug fix. In that case, you will have to build again. +- **Create a Pull Request** to merge the branch (if you haven't done it already), and have it merged. + +## 3. Tag & release on GitHub + +### Tag the version using git + +{{% notice tip %}} +You can do this step using Git or directly on GitHub on the next step. +{{% /notice %}} + +- Check out the commit named "// Changelog [version]" +- [Tag][git-tag] the new version: + ```bash + git tag 1.7.2.0 # replace with your version + ``` +- Push the tag: + ```bash + git push 1.7.2.0 # replace with your version + + # Alternatively (e.g. if you need to overwrite an existing tag) + git push origin refs/tags/1.7.7.2 + ``` + +### Publish the release on GitHub + +Create a [new Release Draft on GitHub](https://github.com/PrestaShop/PrestaShop/releases/new) + +- To start, **choose** the tag that you created in the previous step. + + Alternatively, you can **create** the tag by picking the Changelog commit that you just merged. + ⚠️ _Make sure you pick the Changelog commit itself, and **not** the PR's merge commit!_ + +- **Paste** the changelog as a description + + If you're publishing a version that includes changes from a previous pre-release version (including beta and RC releases): + + - Include a note explaining what other changes are included ([Example](https://github.com/PrestaShop/PrestaShop/releases/tag/1.7.6.0)) + - Precede the changelog with the title _"Changes since beta XX / RC YY..."_ ([Example](https://github.com/PrestaShop/PrestaShop/releases/tag/1.7.6.0-rc.1)) + + If you're publishing a pre-release version: + + - Make sure to add a _"Known issues"_ section ([Example](https://github.com/PrestaShop/PrestaShop/releases/tag/1.7.6.0-beta.1)) + - Don't forget to check the _"This a pre-release"_ checkbox at the bottom of the form + + If you're publishing a patch version: + + - Write a short intro explaining what the release fixes – especially if it's a security release! ([Example](https://github.com/PrestaShop/PrestaShop/releases/tag/1.7.5.1)) + +- **Upload** the new version zip archive (the one that has been validated by QA). + Remove the build number from the file name to avoid confusions. + +{{% callout %}} +##### If the Changelog content is too long + +It's not unusual to have very long changelogs, especially in minor versions. To reduce its size, we recommend putting it in a collapsable paragraph: + +```html +# Full Changelog + +
Click here to see +

+- Back Office: + - New feature: + - #xxxxx ..... +... +

+
+``` +{{% /callout %}} + +## 4. Release on prestashop.com + +{{% notice warning %}} +**This step requires special rights.** + +Ask a maintainer from the PrestaShop Company with admin access to prestashop.com to perform this step. +{{% /notice %}} + +## 5. Communicate + +Congratulations! You can now update the Release Tracker GitHub issue: tick the "QA" and "Development" boxes and [add a comment](https://github.com/PrestaShop/PrestaShop/issues/19959#issuecomment-653083656). + + +[git-tag]: https://git-scm.com/book/en/v2/Git-Basics-Tagging diff --git a/content/maintainers-guide/reviewing-pull-requests.it.md b/content/maintainers-guide/reviewing-pull-requests.it.md new file mode 100644 index 00000000..04d6f3fe --- /dev/null +++ b/content/maintainers-guide/reviewing-pull-requests.it.md @@ -0,0 +1,242 @@ +--- +title: Revisionare ed approvare Pull Requests +url: guida-dei-maintainer/revisionare-pull-requests +slug: revisionare-pull-requests +weight: 30 +--- + + + +# Reviewing and approving Pull Requests + +All contributions to the PrestaShop project are subject to review. The main objective of this process is to make sure that proposed changes are desirable, coherent with the project's objectives, and that its inclusion won't produce undesired side effects. + +Approving a Pull Request is a meaningful act. It carries multiple messages: + +1. **The submitted code is correct.** This is the most obvious requirement; a Pull Request containing invalid code will never be merged. + +2. **The resulting behavior is desired.** Some Pull Requests might be technically correct, but are not merged because they aren't considered useful for the project. For example a Pull Request implementing support for the XCF format for images is likely to be rejected as this esoteric image format is rarely used for the web. + +3. **Maintainers and committers agree to maintain the added code.** Code that is merged inside the project becomes part of it. It means the project maintainers agree to maintain, manage, test, document and update this code as if it was their own. + +Everybody in the community can and is encouraged to review submitted Pull Requests. However, only some project members have the ability to accept or reject contributions. + +In order to be merged by project members, contributions must undergo up to three stages of approval: **Code review**, **Product / UX / Wording review** (if necessary), and **QA verification**. + +## Code review + +The code review process is generally regarded as a good practice and is adopted by most software projects around the world. It provides many benefits: + +- **it helps spot errors in the code**, because we all make mistakes, and it can be hard to find one's own mistakes. +- **it helps improve code quality**, not only by ensuring the code is readable and understandable, but also by pinpointing design, performance or security issues that may have been missed by the author. +- **it helps spread knowledge of the codebase**, because reviewers will learn how the code works too. + +The goal of the code review is to find the best solution by sharing different points of view through constructive conversation. + +Pull Requests submitted to the [PrestaShop Core repository](https://github.com/PrestaShop/PrestaShop/) require approval from at least two different maintainers. Other repositories require approval from at least one maintainer. + +### Acceptance criteria + +During review, Pull Requests should be checked against these requirements: + +* The change provides enough value to be worth merging, and is coherent with the rest of the project. +* The is code clear enough, and it includes all the necessary comments to understand it. +* The PR complies with the [contribution guidelines][contribution-guidelines], including: + * The PR targets right branch. + * The nature of the change and the author's reasoning is clear. + * The PR title is clear enough to be added as a line in the Changelog. + * The change address the issue the PR is intended to fix/implement. + * The PR stays within scope to address _only_ that issue. + * The PR provides clear instructions to verify that the change works as expected. + * All the files include the right licence headers. + * Any and all breaking changes have been described in the PR body. + * Any and all deprecations have been described in the code and in the PR body. +* The changes are covered by automated tests (where possible), and those tests cover all relevant edge cases. +* The changes don't introduce evident regressions nor degrade the software quality in any way. If a compromise is being done, it has been documented. +* If the change introduces or modifies a feature, the expected behavior of the feature been [documented][specs] and approved by the project's Product Managers. + +Not fulfilling the above requirements usually blocks a contribution from being accepted. However, the opposite does not automatically mean that such a contribution must be accepted. + +#### Breaking changes + +Since PrestaShop follows [SemVer][semver], Pull Requests introducing [Breaking Changes][bc-break] can generally only be accepted in major versions. + +This rule can be overridden in special cases, for example when a critical or security issue cannot be fixed in a backward compatible manner. + +#### Red flags + +Here are some examples of "red flags" that should not be approved during code review: + +- Anti-patterns or code that clearly violates software development best practices such as [SOLID][solid] principles. +- Code that does not comply with current PrestaShop architecture, unless for good reasons (example: view logic inside the model layer). +- Code that performs and/or scales poorly. +- Code that is very hard to read and consequently less maintainable. +- Code that is missing standard features or that is not generic enough (example: logic that only makes sense for a specific country or region). +- Code that is missing a key need of PrestaShop's users (example: CSS that is not [RTL][rtl]-compliant). +- Code that is not secure. + +More details available [here][pull-request-process]. + +## Product, UX & Wording review + +Besides the maintainers' code review, additional approval from other members is required in the following cases: + +* **Product Managers**, when the change introduces a new feature or changes in existing features (eg: a new page, adding a button, modifying a business rule...). +* **UX Managers**, when the change introduces visual changes (eg: changing a layout, modifying a color...). +* **Wording Managers**, when the change introduces new wordings. + +Whenever any of cases above applies, the Pull Request cannot proceed to QA verification until at least one of each of the required project members have given their approval. + +If necessary, these people can be reached out on the [Slack chat][slack]. + +## QA verification + +After the Pull Request has been approved, the change must go through a Quality Assurance (QA) verification. Software testers will proceed to manually test the modified software to make that it works as expected. + +As a general rule, all Pull Requests undergo the QA verification, except for the following cases: + +* Version branch merges +* Changes that have no functional impact (e.g. code comments), cannot be manually verified, or are verified by automated tests. + +The Pull Request can proceed to merge once the QA verification is successful. + +## Requesting changes + +Be polite and respectful. Remember that you're reviewing the hard work of other people. The Symfony project provides good tips on providing [respectful review comments](https://symfony.com/doc/current/contributing/community/review-comments.html). + +The reviewer's job is to evaluate whether the proposed solution is appropriate, not to reverse-engineer it. If a change appears as cryptical or difficult to understand, ask the author to clarify their intent and/or justify their choice of implementation. + +PrestaShop is complex software, and it's not unusual to be unaware of the details of all components or subsystems. When in doubt, ask other maintainers for their opinion. If a PR introduces significant changes (a new dependency, a new extensibility mechanism), consider asking the opinion of multiple maintainers. + +Note that architecture related changes require submitting a [formal request for comments][adr], which are subject to a vote from maintainers, and are approved by majority. + +Pull Requests may be closed after 30 days of inactivity following a request for modifications. + +## Merging Pull Requests + +A Pull Request may only be merged after the following requirements have been fulfilled: + +- The change has received all the required approvals. +- The change does not have any outstanding merge conflicts. +- Automated checks (including automated tests) are passing. + +On the [PrestaShop Core repository][prestashop-core-repository]), two approvals are required: +- either two approvals set by two maintainers +- or one approval by a committer and one approval by a maintainer + +### After merging + +After merging a Pull Request on the Core Repository, maintainers must make sure to: + +- Link the Pull Request to the right milestone. The milestone to choose is the next target release. +- Add the label if the Pull Request must be mentioned in the Release Note. +- Add the label if the Pull Request introduces a [BC Break][bc-break]. +- Add the label if the Pull Request introduces changes that need to be documented in [DevDocs][dev-doc]. + +These actions are very important as they will be key to writing a good Release Note and ChangeLog for the next version. + +#### Documentation + +Some Pull Request contain changes that need an update of the developer documentation. + +Example of such Pull Requests: +- If it contains [BC breaks][bc-break] or deprecations, they must be listed, including recommended workarounds (if any). +- If it introduces or modifies a component or subsystem — especially when theme or module developers are expected to use it. + +#### Final actions + +- If the Pull Request is related to an issue, check whether the issue is fixed and closed and whether it should be: some issues can get closed automatically even though the Pull Request only addresses part of the issue. +- Thank the Pull Request author and anybody else who invested notable energy into the Pull Request (code review, code suggestions, QA validation, usecase specification ...). + +![Thank you message](../../images/thank-you.png) + +## Labeling reference + +Labeling helps project members keep track of the status of Pull Requests. + +Two bots monitor the project's Issues and Pull Requests on GitHub to help automate common tasks. + +- [Prestonbot][prestonbot] will evaluate whether there are missing/invalid items in Pull Requests' descriptions and label them accordingly. +- [Issuebot][issuebot] helps sync the status of Issues with its linked Pull Request by applying labels and performing kaban board automation. + +### Action required + +The following labels are added when an action is required: + +| When | Who is concerned | Label
(action required) | Label
(done) | +|--------------------------------------------------------------------------------------------|:----------------:|:--------------------------------------------------:|:-------------------------------------------:| +| The PR is waiting for the author to address feedback | The PR's author | | _(no label)_ | +| The PR must be rebased
(because of merge conflicts or wrong base branch) | The PR's author | | _(no label)_ | +| The PR introduced functional changes | Product Managers | | | +| The PR introduced visual changes | UX Designers | | | +| The PR introduced wording changes | Wording Managers | | | +| The PR is ready for QA verification | Software Testers | | | +| The PR needs to be documented in DevDocs | Maintainers | | | + +### Meta labels + +The following labels provide metadata and are essentially informative: + +| Label | Meaning | +|:---------------------------------------------|:-------------------------------------------------------------| +| | This PR fixes a bug | +| | This PR introduces a new feature | +| | This PR is an improvement (e.g. performance) | +| | This PR is a refactoring | +| | Destination branch (e.g. 1.7.8.x, develop, ...) | +| | This PR includes breaking changes | +| | This PR includes a feature to be highlighted in this release | +| | This PR is a work in progress | +| | This PR is about UI automated tests | +| | This PR is about the Symfony migration project | + +## Process breakdown + +Following the above items, here is an example of a PR workflow + +Upon opening a PR and you are the first reviewer, please verify: + +1. Is the The Pull Request form correctly filled with relevant informations, especially `How to test`? +2. Does the CI pass? +3. When relevant, is there a linked GitHub issue (for bugfixes or new features)? + +If any of the above items are missing, you can ask the PR author to provide them. Else, you can review the code. + +While reviewing, an action might be required, then add the right label (see above section `Action required`), for example +- If the code needs changes, you can add `Waiting for author` label. +- If the PR introduced visual changes, you can add `Waiting for UX` label. + +If no action is needed and the code is correct, you can approve the PR. + +If it has the right number of approvals (Pull Requests submitted to the [PrestaShop Core repository](https://github.com/PrestaShop/PrestaShop/) require approval from at least two different maintainers while other repositories require approval from at least one maintainer), the last step for most PRs is QA validation. + +You can add `Waiting for QA` label to request a validation from QA team. Some PRs do not need QA testing, for example fixing a typo or a code change that only impacts CI. + +If the PR behavior is confirmed by QA Team, the PR can be merged. See above section `Merging Pull Requests` for the different actions needed following the merge. + +[contribution-guidelines]: {{< devdocs "contribute/contribution-guidelines/" >}} +[prestashop-core-repository]: https://github.com/PrestaShop/PrestaShop/ +[bc-break]: https://stackoverflow.com/questions/8891005/what-does-bc-break-mean +[slack]: {{< relref "/slack" >}} +[adr]: https://github.com/prestashop/ADR +[prestonbot]: https://github.com/PrestaShop/prestonbot +[issuebot]: https://github.com/PrestaShop/issuebot +[solid]: https://en.wikipedia.org/wiki/SOLID +[RTL]: {{< devdocs "themes/reference/rtl/" >}} +[pull-request-process]: {{< devdocs "contribute/contribution-process/how-pull-requests-are-processed/" >}} +[semver]: https://semver.org/ +[dev-doc]: https://github.com/prestashop/docs +[specs]: https://github.com/PrestaShop/prestashop-specs diff --git a/content/maintainers-guide/summary-github-lifecycle.it.md b/content/maintainers-guide/summary-github-lifecycle.it.md new file mode 100644 index 00000000..1bbaaf96 --- /dev/null +++ b/content/maintainers-guide/summary-github-lifecycle.it.md @@ -0,0 +1,109 @@ +--- +title: Riepilogo di come vengono elaborati gli Issues di GitHub e le Pull Request +url: guida-dei-maintainer/sommario-lifecycle-github +slug: sommario-lifecycle-github +weight: 20 +menuTitle: Processing issues and PRs +--- + +# Riepilogo di come vengono elaborati gli Issues di GitHub e le Pull Request + +GitHub is the main tool used by maintainers to manage the PrestaShop project. + +This page quickly describes how [Issues](https://guides.github.com/features/issues/) and [Pull Requests](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests) are processed on GitHub. + +## The teams + +On GitHub, there are mainly three teams working together on the project. + +- Product Team: this team takes care of the product vision of the software. It has Product Managers, UX Designers and Wording Managers. +- Quality Assurance (QA) team: this team takes care of ensuring the quality of the software. It has QA analysts and QA automation engineers. +- Developers team a.k.a Core Team: this team takes care of the code and act as maintainer for the project. + +A maintainer will naturally belong to the Developers team but can also assist and work with the Product Team and QA Team. + +## Issues + +Currently, there are 4 different types of Issues submitted by users on GitHub. + +### Feature Request + +When a user submits a Feature Request, it can be either a Product feature request (example: add a new Back office page) or a Technical feature request (example: support PostgreSQL). + +Product feature requests are labelled "Waiting for PM" while Technical feature request are labelled "Waiting for dev". + +The team in charge will then analyse the request and either reject it or accept it. Rejected feature requests are closed while accepted feature requests are added to the roadmap and labelled. Labels will help triaging the backlog. + +### Bug report + +When a user submits a bug report, the QA team will analyse it and attempt to reproduce it. If it can be reproduced and is confirmed to be an issue, it will be labelled and added to the roadmap. + +If it cannot be reproduced, QA team will attempt to explore the issue with the contributor to isolate the very settings responsible for the buggy behavior. + +If the user does not answer for 30 days or after multiple attempts, it cannot be reproduced on our side, the issue is closed. + +#### Regressions + +If the bug report is confirmed, one of the key elements to evaluate is whether it is a regression. A regression is a bug that cannot be observed in the previous PrestaShop version, it means the software quality level has decreased instead of increasing. Regressions are usually milestoned to be fixed in the next patch version. + +#### This is not easy + +The work of analyzing and testing all submitted bug reports is a very complex one, because there might be a very diverse range of reports. Moreover quite a huge number of them are actually not related to the software but to how the shop is being used: the server configuration, the shop configuration, the installed modules and the installed theme might introduce buggy behaviors that the user mistakenly believes come from the software. + +This is why so much Issues cannot be reproducted on our side, but to find it out multiple explorations and attempts are necessary. + +### Support request + +We sometimes receive support requests on GitHub, ranging from questions about the software to "please help me to do X in my shop" requests. GitHub is for the software development so we usually redirect users to [other channels]({{< relref "/support" >}}). + +### Other + +There are some Issues which do not fit in the previous categories, such as [releases Issues](https://github.com/PrestaShop/PrestaShop/issues/20804). They serve a specific purpose. + +## Pull Requests + +When a contributor submits a Pull Request, it goes through multiple stages. + +### Is it eligible + +Maintainers must first validate that the Pull Request is eligible to review (the template is filled, the license headers are correct, the target branch is the right one ...). + +If there is an issue with the Pull Request and it is not eligible, maintainers kindly ask the contributor to fix it. + +### About the intent + +If the Pull Request is eligible, maintainers can evaluate if the changes brought by the Pull Request are desirables. + +- If the Pull Request brings in changes in design, they can ask the validation of UX designers by adding the label "Waiting for UX". +- If the Pull Request brings in changes to the product, they can ask the validation of Product managers by adding the label "Waiting for PM". +- If the Pull Request brings in changes in wording, they can ask the validation of UX designers by adding the label "Waiting for wording". + +If one "Waiting for ..." label has been applied, the team in charge will process the Pull Request and then add a "... approved" label. For example if Product team validates the new behavior implemented in a Pull Request, they will remove the "Waiting for PM" label and add the "PM approved" label instead. + +There are some automated bots running on GitHub that will help maintainers to label the Pull Requests. For example Prestonbot is able to extract the new wordings and add the "Waiting for wording" label. You can read more about them [here][how-pull-requests]. + +### About the code + +If the Pull Request is validated and there are no more "Waiting for ..." labels, then it awaits a [code review]. Maintainers provide this code review. + +A maintainer can choose to +- Ask for changes in the Pull Request (which blocks merging) +- Provides comments wihout blocking or approving +- Approve the Pull Request + +When the Pull Request has been approved (it needs two approvals on the Core repository), the Pull Request must be tested. It is labelled "Waiting for QA". + +### Testing the Pull Request + +On regular Pull Requests, the QA team is in charge of testing the Pull Request. They will use the "How to test" part of the Pull Request description to validate the behavior implemented, and also run some more tests to validate there are no regressions. + +Some Pull Requests however cannot be tested by QA team, the Developers team might validate them. + +If the Pull Request is tested successfully, the label "QA approved" is applied. Else, the author is notified about the Issues found by the tests. + +### Merging the Pull Request + +Pull Requests that have been validated by QA can be merged. They must also be milestoned, and if they fix an issue, the issue must be labelled, milestoned, and closed. + +[how-pull-requests]: {{< devdocs "contribute/contribution-process/how-pull-requests-are-processed/" >}} +[code-review]: ({{< relref "/reviewing-pull-requests" >}}) diff --git a/content/slack/_index.it.md b/content/slack/_index.it.md new file mode 100644 index 00000000..201cf939 --- /dev/null +++ b/content/slack/_index.it.md @@ -0,0 +1,38 @@ +--- +title: Chat Slack del PrestaShop Project + +menu: + main: + parent: 'Risorse' + name: 'Slack chat' + weight: 15 + +aliases: + - /slack/readme/ +--- + +# Slack chat del PrestaShop Project + +The project's Slack chat è aperta a chiunque voglia discutere, aiutare e/o contribuire al progetto Open Source PrestaShop. Se sei un/una contributor attivo/a, o vuoi diventarlo/a, questo è sicuramente il posto dove esserci! + +Request an invitation for PrestaShop's Slack chat +{.text-center} + +## Ground rules & good practices + +- Communicate respectfully and constructively. The project's [Code of Conduct]({{< relref "/code-of-conduct" >}}) applies to Slack as well. Disrespectful behavior will not be tolerated. +- English is the project's official working language. When discussing in public channels, please use English only. +- Help people know who you are by filling out your Slack user profile. Consider adding your real name, your company, and of course, your GitHub account if you have one. +- If you need help, see [Get help with PrestaShop]({{< relref "/support" >}}). +- If you find a bug in the project, don't forget to [report it on GitHub](https://github.com/PrestaShop/PrestaShop/issues/new/choose). +- If you find the solution to your question, consider [improving the docs](https://github.com/PrestaShop/docs). + +{{% notice tip %}} +**Tip:** If you feel that someone is being aggressive, consider the possibility that English might not be their native language, and thus they might be having a hard time expressing themselves effectively. Keep a cool head and assume good intentions until proven otherwise. +{{% /notice %}} + +## More information + +- [List of current active channels]({{< relref "channels.md#active-channels" >}}) +- [Request a new channel]({{< relref "channels.md#request-a-new-channel" >}}) +- [List of active applications]({{< relref "apps-and-integrationsapps-and-integrations" >}}) diff --git a/content/slack/apps-and-integrationsapps-and-integrations.it.md b/content/slack/apps-and-integrationsapps-and-integrations.it.md new file mode 100644 index 00000000..3c404664 --- /dev/null +++ b/content/slack/apps-and-integrationsapps-and-integrations.it.md @@ -0,0 +1,13 @@ +# List of apps and integrations used in Slack + +## Productboard +- **Description:** Productboard is a product management tool, used by the PrestaShop Core's product team to gather feedback, organize and prioritize features and improvements to build, and to follow their development. +These feedback are grouped together to create "features ideas" that you can see at http://feedback.prestashop.com/. +The Productboard app connects this Slack to the PrestaShop's Productboard. +It allows the product managers to transform a Slack message (and its comments) into a feedback "note" on productboard. +More info on the [productboard website](https://www.productboard.com/) +- **Access to the app:** Limited +- **Users:** Only the PrestaShop's productboard users can create note from Slack +- **Owners:** PrestaShop Core's product management team, coreproduct@prestashop.com, currently composed by PrestaShop employees only. +- **Language:** EN +- **Channels perimeter:** all channels diff --git a/content/slack/channels.it.md b/content/slack/channels.it.md new file mode 100644 index 00000000..cfa5225c --- /dev/null +++ b/content/slack/channels.it.md @@ -0,0 +1,145 @@ +--- +title: Canali Slack (channels) +slug: canali +--- + +# Slack channels + +A Slack dedicated to the PrestaShop open source project is now available. Its purpose is to foster the development of the software and of its ecosystem. The current priority is to configure channels for development and product management purpose. Once done, it will be open more progressively to other needs, like community management, business, etc. + +[More information about prestashop.slack.com](https://github.com/PrestaShop/open-source/blob/master/slack/readme.md) + +## Request a new channel + +Creating a new channel is reserved to the administrators. If you want to add a new channel, please create an issue in this repository, or a pull request, to add a new entry in this file, and explain your need. Below is a template to follow. Please keep the list alphabetically sorted. You can also contact one of the administrator on Slack. + +Please note that like any open source project, the main language on this Slack in English, to foster a global collaboration around the PrestaShop project. If special needs require another language, please explain why in your request. + +**#channel-name** +- Description: explain the purpose of the channel +- Users: Category of people targeted (eg: devs, product management) +- Owners: Firstname Name (add also a way to contact you, like Twitter, Linkedin, email, ...), Firstname Name (contact info), ... +- Status: Private/Public +- Language: EN (or FR, or use a two letter code) + + +## Active Channels + +**#ambassadors** +- Description: A channel to discuss about ambassadors, meetups and other topics related to their activity +- Users: For ambassadors and their contacts +- Owners: Ambassador program manager +- Status: Public +- Language: EN + +**#committers** +- Description: For committers, to discuss the project management +- Users: For core maintainers and committers +- Owners: PrestaShop project maintainers +- Status: Private +- Language: EN + +**#community-help** +- Description: A place for folks who need help while using the PrestaShop project to build online shops. Please open an issue on the devdocs when this is about a missing information. +- Users: For the community at large +- Owners: PrestaShop project maintainers +- Status: Public +- Language: EN + +**#dev-core** +- Description: For discussions about PrestaShop core development +- Users: For core developers of the community +- Owners: PrestaShop project maintainers +- Status: Public +- Language: EN + +**#dev-modules** +- Description: The best place on earth to discuss about module development for PrestaShop +- Users: For modules developers of the community +- Owners: PrestaShop project maintainers +- Status: Public +- Language: EN + +**#dev-themes** +- Description: The best place on earth to discuss about theme development for PrestaShop +- Users: For themes developers of the community +- Owners: PrestaShop project maintainers +- Status: Public +- Language: EN + +**#general** +- Description: General discussions about the PrestaShop open source project. This channel will be used for announcements. +- Users: For the community at large +- Owners: PrestaShop project administrators +- Status: Public +- Language: EN + +**#governance** +- Description: About the governance of the PrestaShop open source project +- Users: For the community at large +- Owners: PrestaShop project administrators +- Status: Public +- Language: EN + +**#jobs** +- Description: Find a community expert to help you on your projects +- Users: For the community at large +- Owners: PrestaShop project administrators +- Status: Public +- Language: EN + +**#maintainers-core** +- Description: For core maintainers, to discuss the project management +- Users: For core maintainers +- Owners: PrestaShop project maintainers +- Status: Private +- Language: EN + +**#million-club-members-fr** +- Description: A chat to discuss between big merchants of big shops +- Users: Merchants only with invitation +- Owners: Nicolas Rateau (PrestaShop) +- Status: Private +- Language: FR + +**#project-members** +- Description: For all project members to discuss any topic +- Users: For core maintainers and committers, QA team and Product team +- Owners: PrestaShop project administrators +- Status: Private +- Language: EN + +**#product** +- Description: Features, roadmap, and everything about product management around the open source project +- Users: People with questions or working on this topic +- Owners: PrestaShop product management team +- Status: Public +- Language: EN + +**#random** +- Description: Random topics +- Users: For the community at large +- Owners: PrestaShop project administrators +- Status: Public +- Language: EN + +**#sf-migration-dev** +- Description: For technical discussions about the Symfony migration +- Users: For people involved in the Symfony migration +- Owners: PrestaShop project maintainers +- Status: Private +- Language: EN + +**#sf-migration-product** +- Description: For roadmap, features, specs and other product management oriented discussions about the Symfony migration +- Users: For people involved in the Symfony migration +- Owners: PrestaShop project maintainers +- Status: Private +- Language: EN + +**#translation** +- Description: For discussions about translating the project +- Users: For the community at large +- Owners: Translation managers +- Status: Public +- Language: EN diff --git a/content/support/_index.it.md b/content/support/_index.it.md new file mode 100644 index 00000000..467b7f53 --- /dev/null +++ b/content/support/_index.it.md @@ -0,0 +1,35 @@ +--- +title: Supporto +url: supporto +--- + +# Get help with PrestaShop + +The PrestaShop open-source project can be freely downloaded and used by anyone, but it is provided "as is", with no warranty or dedicated support. + +Rest assured, there are many resources to help you if you need assistance. + +## Community help + +PrestaShop has a sizeable community, and there are many volunteers willing to help each other on the web: + +* [Report a bug on GitHub]({{< devdocs "contribute/contribute-reporting-issues/" >}}) +* [Join the community forums](https://www.prestashop.com/forums/) +* [Ask on Stack Overflow](https://stackoverflow.com/questions/tagged/prestashop) +* [Discuss on Slack]({{< relref "/slack" >}}) + +## Contact a professional + +If you need serious help with your project, your best choice is to contact a professional. There are thousands of agencies and freelance experts located around the globe: + +* [Commercial support](https://www.prestashop.com/support) (sponsored by PrestaShop SA) +* [List of agencies and experts](https://www.prestashop.com/experts) (sponsored by PrestaShop SA) +* [Find a community expert on Slack]({{< relref "/slack" >}}) (within the `#jobs` channel) + +## Learn PrestaShop + +"Give a man a fish and you feed him for a day; teach a man to fish and you feed him for a lifetime." + +* [Training courses](https://www.prestashop-academy.com/it) (sponsored by PrestaShop SA) +* [User documentation](https://docs.prestashop-project.org/) +* [Developer documentation](https://devdocs.prestashop.com) diff --git a/content/user-groups/_index.it.md b/content/user-groups/_index.it.md new file mode 100644 index 00000000..2130dacd --- /dev/null +++ b/content/user-groups/_index.it.md @@ -0,0 +1,43 @@ +--- +title: Using PrestaShop brand and logo for a user group +menu: + main: + parent: "Risorse" + name: "Gruppi utenti e branding" + weight: 20 +--- + +# Using PrestaShop brand and logo for a user group + +You have created a user group about PrestaShop, or you are creating content like blog articles or videos about PrestaShop, and you would like to know how to use the PrestaShop brand and logo. You are in the right place. + + +## Step 1, read the guidelines + +The PrestaShop company legal team and brand team took time to design and write guidelines about how to use the PrestaShop brand and logo the right way. And, they also created templates that you can use to create a visual identity for your group. + +Please read carefully [IP Right Policies document](/files/ip-right-policies.pdf). + + +## Step 2, use the templates + +When you have read the guidelines and you are ready to follow them, you can then download the [ZIP archive with all the templates](/files/PrestaShop_Privacy_Policies.zip). + +You will find in it: +- A copy of the guidelines in PDF, for reference +- The Montserrat-Bold.ttf text font, used for the logo +- Horizontal user group logo template, one line, EPS +- Horizontal user group logo template, two lines, EPS +- User group single logo, SVG +- User group single logo, EPS +- Vertical user group logo template, one line, EPS +- Vertical user group logo template, two lines, EPS + +In order to edit them, you will need a vector graphic software like Inkscape (free software) or Adobe Illustrator, or an equivalent. + + +## Tell us more about your user group + +When you have created you user group logo and published it on your forum, group, chat, or your favourite communication channel, please tell the world about it: add it to the list in the dedicated document (coming soon). + +This way, interested people will be able to find your group easily and join it with a few clicks. From d0856b1805a4fba8183dabc2db6da8c49c794341 Mon Sep 17 00:00:00 2001 From: marsaldev Date: Tue, 13 Dec 2022 12:35:35 +0100 Subject: [PATCH 2/2] remove menus.yml --- config/_default/menus.yml | 63 --------------------------------------- 1 file changed, 63 deletions(-) delete mode 100644 config/_default/menus.yml diff --git a/config/_default/menus.yml b/config/_default/menus.yml deleted file mode 100644 index 820f2691..00000000 --- a/config/_default/menus.yml +++ /dev/null @@ -1,63 +0,0 @@ -main: - #- name: "About" - # url: "about" - # enable: false - # weight: 1 - - name: "News" - url: "https://build.prestashop-project.org" - weight: 1 - - name: "Download" - weight: 2 - - name: "Latest Releases" - parent: "Download" - url: "https://github.com/PrestaShop/PrestaShop/releases" - weight: 1 - - name: "Community" - weight: 3 - - name: "GitHub" - parent: "Community" - url: "https://github.com/PrestaShop/PrestaShop/" - weight: 1 - - name: "Get Involved" - parent: "Community" - url: "get-involved" - weight: 2 - - name: "Contributors" - parent: "Community" - url: "https://contributors.prestashop.com/" - weight: 3 - - name: "Support" - pageRef: "support" - weight: 4 - - name: "Resources" - weight: 5 - -footer_left: - - name: Blog - url: "https://build.prestashop-project.org" - - name: GitHub - url: "https://github.com/PrestaShop/PrestaShop/" - - name: Slack - pageRef: "slack" - -footer_middle: - - name: "User documentation" - url: "https://prestashop.gitbook.io/english-documentation-1-7/" - weight: 1 - - name: "Developer documentation" - url: "https://devdocs.prestashop-project.org" - weight: 2 - - name: "Specifications" - url: "https://build.prestashop-project.org/prestashop-specs/" - weight: 3 - -footer_right: - - name: "Code of conduct" - pageRef: "code-of-conduct" - weight: 10 - - name: "Maintainer's guide" - pageRef: "maintainers-guide" - weight: 20 - - name: "Legal notice" - pageRef: "legal" - weight: 30