Quantcast
Channel: PrestaShop Developers' blog
Viewing all 939 articles
Browse latest View live

How bug reports are handled

$
0
0

PrestaShop is a successful Open Source project – with more than 300 000 shops worldwide, merchants trust us to help them build their ecommerce shop.

However this success has a cost: every day our users discover new bugs and inconsistencies in the project, and they come to GitHub to report them. On average, 10 new issues are created every day on GitHub (counting bug reports and feedback about features), and 2 out of 3 issues are either invalid or duplicates. For every bug report on GitHub, PrestaShop maintainers have to:

  • Ask and wait for additional information when it’s lacking,
  • Manually verify that it is indeed linked to the Core or native modules,
  • Check if the issue has been tackled in the latest version or the next version to come,
  • Check if it’s not already been reported,
  • Try to reproduce it in the correct environment,
  • Label it correctly to make sure project maintainers can tackle it later

Half of these steps are really time-consuming (waiting for answers and clarification, reproducing, deduplicating) and these are mandatory steps: we cannot skip any of them since we need to be sure this is a proper bug report.

Sadly, PrestaShop doesn’t have a dedicated team so this is becoming overwhelming. Given this situation, project maintainers then cannot guarantee a homogenous treatment to every issue since they’re short on time, and it’s clearly not the correct way to handle things.

More annoyingly, a small subset of issues are low quality: questions in the template are not answered (reproduction steps missing, no PrestaShop version…) and this slows down the whole workflow.

Stricter rules

A bug report must add value to the project: the goal of an issue is to improve the project for everyone, not solve someone’s particular problem. An issue must only be reported when it’s not originated by one’s specific server configuration or environment (if it doesn’t meet PrestaShop system requirements, for example), but a reproducible problem caused by a defect in the software. A good issue report should allow maintainers to pinpoint a problem that needs to be fixed in the Core or native modules.

The maintainers team really wants to improve the issue processing workflow, and for that will soon become stricter. In fact, a lot of big Open Source projects are already pretty strict about issues: if you don’t respect their template, your issue is most likely to be closed!

This is a good thing: by filtering out all the low quality issues, we ensure that developers can focus on the interesting ones, the issues that can bring the most value to the project and improve the quality of PrestaShop as a whole. It also speeds up the whole process by making sure that they can immediately start working on an issue while wasting as little time as possible reproducing, investigating, verifying the environment/the modules, etc.

We will progressively start to enforce these rules by refusing and even closing bug reports that do not provide the information required in the template, and in particular the mandatory information we need to verify it: reproduction steps, PrestaShop version, PHP version, etc.

This obviously is not an absolute, and if your issue doesn’t need reproduction steps the team will not blindly close it! However, this will help us make sure we can immediately start to work on the issue.

Please remember that if your issue is closed because of these new rules, it is NOT because the team doesn’t care or doesn’t want PrestaShop to improve: it’s about optimizing resources. We will be happy to review your issue if you open a new one with all the information we need to reproduce.

Some examples

:scream: Bad bug reports

  • Clearly incomplete: you forgot to include some mandatory information like the PrestaShop version, the exact problem you encountered, or even the steps to reproduce!
  • Wrong use of Github: the team created a few templates to help you provide the information that’s typically needed to reproduce an issue. If you delete the whole template, we most likely won’t have this information and will lose time by asking and waiting for an answer. Same thing if you don’t write your issue in English, or just paste a 200 lines long log message with zero details.
  • Request for support: Bug reports should only be used to report issues which are caused by an error in the software. If the problem you report lies in your own configuration, or environment, or a module/theme that doesn’t belong to the project, the team will not be able to help you. You can use our dedicated support, or reach out in our public Slack server for this kind of issue!

:+1: Good bug reports

  • Can be reproduced: It contains all the elements needed to know exactly what your problem is, reproduce it and investigate it! That means all the versions (PHP, PrestaShop, module if necessary…) and all the reproduction steps. Here is a good example.
  • Is helpful: It contains an in-depth description of the problem, some ideas to try to tackle it, or even a Pull Request to fix it (thanks!). Check this issue for example.

A good bug report respects the people processing it! To make sure you didn’t forget anything, just try to reverse the process: what would YOU need to know if you wanted to reproduce your issue?

Remember: the goal of a bug report is to improve the project for everyone! By making sure project maintainers can focus their efforts on fixing issues, the team as a whole will be able to save time to work on features, fixing bugs, and in overall improving the project we all love!


PrestaShop Core Weekly - Week 27 of 2020

$
0
0

This edition of the Core Weekly report highlights changes in PrestaShop’s core codebase from Monday 29th of June to Sunday 5th of July 2020.

Core Weekly banner

General messages

PrestaShop 1.7.6.6 and 1.7.6.7 have been released, don’t forget to update as they fix security issues and regressions.

A quick update about PrestaShop’s GitHub issues and pull requests:

Code changes in the ‘develop’ branch

Back office

  • #19882: Remove duplicated info_outline icon in stock alert. Thank you @PululuK

Installer

  • #19791: Allow user to choose to enable SSL or not in install process, by @Progi1984

Code changes in the ‘1.7.7.x’ branch

Back office

  • #19929: Fixes the import configuration save, by @Progi1984
  • #17399: Expand Categories search capabilities for categories listing home page and avoid going from subcategory to root category when using grid filters, by @matks

Tests

Code changes in the ‘1.7.6.x’ branch

Core

Back office

Front office

Code changes in modules, themes & tools

Changes in developer documentation

Wishlist block

Nightly board

OnBoarding

  • #65: Use preprend-autoloader in composer.json, by @matks

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @NeOMakinG, @boubkerbribri, @matks, @eternoendless, @zalexki, @jolelievre, @nesrineabdmouleh, @Progi1984, @PululuK!

Thank you to the contributors whose PRs haven’t been merged yet! And of course, a big thank you to all those who contribute with issues and comments on GitHub!

If you want to contribute to PrestaShop with code, please read these pages first:

…and if you do not know how to fix an issue but wish to report it, please read this: How to use GitHub to report an issue. Thank you!

Happy contributin’ everyone!

Product development at PrestaShop

$
0
0

In March 2020, the Core product team at PrestaShop, in charge of building and prioritizing new features, decided to work with a new tool: Productboard.

The team thought it was the right occasion to talk more about the product development at PrestaShop, the steps, the roles and responsibilities and what happens behind the scenes before a new feature is added to PrestaShop.

PrestaShop’s product development cycle

Core product team

In the PrestaShop company, a cross-functional team is dedicated to maintaining the PrestaShop open source project: the Core team.

Its mission is to make sure the software is stable, usable, and valuable to all of its users while following the industry standards. All this requires many people and several different skills. Currently, the Core team counts 9 developers, 5 QA engineers, 2 designers, 1 content manager, and 4 product managers.

Editing and maintaining a software like PrestaShop means fixing bugs but also adding improvements and new features.

Fixing a bug does not require the same skills that defining a new feature. Most of the time, the functional scope of a bug is obvious: the ‘save’ button does not work, let’s fix it so that it can save. Adding a feature is a bit more complex: in-depth search must be done to specify the functional scope.

Why so? Because the goal of any feature is to solve a problem. So we need to answer the following questions get a better definition of the issue: what exactly is the problem? how many users encounter it? how painful is it? is there any workaround?

But each added feature makes the software more complex again - more complex to maintain and in some cases more complex to use… So, on one hand, we cannot afford to add useless features and, on the other hand, we must make sure that any added feature will be usable. And that’s where our product team is needed!

Our product managers are responsible for delivering value to all PrestaShop users. And the first step to do so is to decide which features must be improved or built. How? By getting insights on the users’ needs and issues to solve.

Once we know what problem to address, it is time to design the feature. It will allow us to create a tangible and usable solution, coherent with the software. That is the designers’ and the product content manager’s responsibility.

While the product manager’s job is to identify the problem to solve, the designer’s job is to design the best solution. Of course, this is done in collaboration with everyone. And then the whole team can start building the feature.

How to know what to focus on?

Everything starts with feedback. Without feedback, without talking with users, we are blind, lost in the fog.

PrestaShop being an open source project, the team can rely on its tremendous community to gather feedback, identify pain points, and discuss many topics. So collecting feedback is not that difficult, GitHub is probably the main source, but there are also events such as ambassadors’ meetups, PrestaShop events, user interviews regularly conducted by the product team, and the community Slack. We also keep an eye on what happens around in the e-commerce and CMS industries to make sure the software goes in the right direction regarding the market’s evolutions and expectations.

Collecting feedback is easy. What is more difficult is to centralize and analyze it in order to identify the users’ needs lying behind.

Productboard will help the team here. By making it easier and automatic to centralize feedback directly in the same place. Wherever it comes from. We call these feedback insights. On Productboard, product managers can create topics to group insights together, this step helps form a first expression of needs. Sometimes the expression of needs already gives the best solution, sometimes it is still a bit early to know how it could be solved.

How interesting is it for the community? Well, Productboard allows us to share this work externally! This is great to inform the community about the problems the team has identified and to keep collecting more information about them. It is crucial to help us understand all the possible use cases of a problem.

You will soon be able to see these expressions of needs on the PrestaShop Feedback website.

How to go from a need to a feature?

Centralizing and analyzing insights is difficult. But the next step of our product development is even more difficult: prioritizing the users’ needs.

PrestaShop is used on 300k+ online stores around the world, and its community gathers more than 1 million people. There are hundreds of needs out there, waiting to be solved. So how does the team decide what to build next?

The Core product team uses several criteria to evaluate the importance of a need. There is no scientific, or magical, formula. It is a list of aspects that the team reviews in light of the research and analysis previously run. Among these aspects are:

  • legal requirements,
  • the impact on the merchants’ businesses,
  • the impact on merchant productivity,
  • the impact on the developer experience,
  • and many more…

As you can see, it is important for the team to take into account all the impacts of solving a need and building features. It is also crucial for us to keep in touch with the users at all steps, especially while doing some research and during the conception phase, so that we can never lose sight of the initial need.

Designing a feature

Lastly, once you know what to focus on, and what you should work on next, it is actually time to design the feature, to define what to build.

Designing a feature means defining what is the best solution to a problem, a need. There are many ways to solve a problem. But design is not about solving a problem, it is about solving a problem the best way possible and with elegance.

The usual process to design and build a feature is the following:

  • User Research
  • Prototyping and design
  • Specifications
  • Development
  • QA testing
  • Release

And sometimes there are several iterations in between to reach a complete feature.

Once the prototyping and design phases approved, we create an EPIC on GitHub including the feature description and all of the related user stories (each US being a specific issue) that need to be addressed. It can also contain a few bugs to fix in the meantime.

In parallel, we write down functional specifications and add it to the dedicated repository with all prototypes screenshots and links to the mockups.

If all the stakeholders of the feature (PM, CM, designer, developer, and QA engineer) agree on it, the development phase starts. Step by step, the user stories reach the version kanban. When all issues are developed and their pull requests merged, we close the EPIC.

This process stays the same, whether the development is done internally or with the help of the community. We do so to ensure alignment before the development phase.

Here is how feature development goes at the Core product team, dealing with feedback and skills from both the external and the internal contributors! Product development on such a huge project is quite challenging, that is why the team makes a point of keeping this workflow clear and available for all. As usual, feel free to comment and let us know what you think about it. Even better, tell us about how do you prioritize, organize your own development process… we would love to have your feedback!

Do you speak PrestaShop? – June 2020 edition

$
0
0

Contributing to PrestaShop is not only about the code, it’s also about taking part in the PrestaShop translation project! This report will tell you how the translations of the software evolved in May.

Crowdin Monthly banner

Project news

First news, Esperanto is on the rise :fire:

I am thrilled to let you know that Esperanto has been on the rise since the last past months. From the beginning of May to the end of June, the Esperanto translation project went from 9% to 34% words translated, that is to say a 25% evolution. I would like to take this opportunity to thank mirmal and Milan Kolka for your work! :heart_eyes:

Interested in becoming a proofreader?

A lot of translators dedicate their time to contribute to the PrestaShop’s translation projects on Crowdin but some strings cannot reach the software because they remain unvalidated. This is for instance the case of the Esperanto project which, as mentioned above, had an increase of translated words but no progress in approving these strings.

I thus wanted to tell you that you can ask me if you wish to become a proofreader. If you are already an active translator and wish to be more involved in the translation project by vouching for the translation consistency and approving strings, you can reach out to me! :wink:

Daily language packs updates

In the last monthly report, I explained how the translation packs are updated in PrestaShop now. What has to be kept in mind is that only translations of the 1.7.7 PrestaShop version translation projects can be updated and that it has to be manually exported and uploaded to one’s PrestaShop.

But the good news is that an issue has been created to start finding a solution to this inconvenience. You can follow the progress, or even involve if you feel like it - it would be a great contribution -, just here. :sparkles:

:two_hearts: Special thanks to newcomers

Many people subscribe to the project(s) of their choice each month, but not so many start translating straightaway. For that reason, the PrestaShop team would like to thank the ones who rushed into the effort immediately! So lots of love to the dedicated: corona2019ncov, Daniel Hlavacek (Hlavtox), Gabi Manea (gabimaneaonline), Maureen Mwende (MsKendi), Pharit Chotkhakkhanan (pharit), Semih Tekin (semihtekin) and Waleed Butt (waleedbutt112). See you soon on Crowdin… and in PrestaShop!

A few stats

  • 27 members were active on the project this month.
  • A total of 18,283 words have been translated and 7,841 validated.
  • All this in 21 different languages.

Thank you for your involvement!

Top contributors

A lot of you are working every day on Crowdin to have PrestaShop available in many languages, and we can’t thank you enough for your dedication! Here are the most active translators and proofreaders for June 2020.

Top 10 translators in June:

 TranslatorLanguage# Words
1.Rolige Ecommerce Solutions (Rolige)Spanish, Mexico4,827
2.mirmalEsperanto4,500
3.Gerardas (gerardas)Lithuanian1,594
4.kozi lamre (kozmetika2000)Albanian1,454
5.Yevhenii (evgenij_sobolev)Russian1,334
6.Gabriel Tenita (ggedamed)Romanian1,170
7.Maciej Wyka (BeroMero)Polish939
8.Rauno Riikman (weaver)Finnish893
9.Waleed Butt (waleedbutt112)Urdu (Pakistan)363
10.Daniel Hlavacek (Hlavtox)Czech202

Top 7 proofreaders in June:

 ProofreaderLanguage# Words
1.Rauno Riikman (weaver)Finnish3,226
2.Gerardas (gerardas)Lithuanian1,735
3.Yevhenii (evgenij_sobolev)Russian1,643
4.Gabriel Tenita (ggedamed)Romanian1,203
5.Zoran Tejic (zotamal)Serbian (Latin)26
6.Marcin Orzechowski (Martinovy)Polish5
7.Rodrigo Laurindo (rblaurin)Portuguese, Brazilian3

Congrats, and welcome to our new top contributors! :clap:

Remember, you can see who’s been contributing to our translation project thanks to the Translators page.

Complete translations

Fully translated languages

At the end of June 2020, PrestaShop 1.7.7 was fully available (= 100% translated and validated) in 10 languages:

Chinese TraditionalDanishDutchFrenchItalian
Portuguese, BrazilSlovakSloveneSpanishSwedish

Languages with the best evolution

In comparison with May 2020, the following languages had the best progress thanks to the translation community:

  • Esperanto (+9% to reach 34% translated)
  • Finnish (+6% to reach 92% approved)
  • Spanish, Mexico (+5% to reach 63% translated)

Best translation progress for June 2020

A huge thank you to all the contributors!

Of course, this is highlighting the languages that made some progress with new translations; but it doesn’t mean that the languages that aren’t mentioned here aren’t active. Indeed, some editing and rewriting could be going on, but the percentage of translation wouldn’t be modified (since it’s working on strings that are already translated). So let’s not forget about the work of other proofreaders! Thanks to you too!

Languages that need (more) proofreaders

A translated string will not be available in PrestaShop as long as it is not validated. For this reason, it’s important to keep a high level of validated strings vs. translated strings, to make sure everyone benefits from the latest translations! :fire:

At the end of June 2020, some languages would still benefit from some proofreading:

  • Spanish, Argentina (100% translated vs 13% validated).
  • Spanish, Venezuela (52% vs 11%).
  • Galician (100% vs 59%).
  • Esperanto (34% vs 0%).
  • Tagalog (48% vs 24%).

Languages that need proofreading

If you wish to help to proofread what has been translated, please contact PrestaShop with the language you’d like to proofread: just send an email to translation@prestashop.com. Your help is needed!

If you haven’t joined us on Crowdin yet, it’s never too late! :wink:

If you want to gather your fellow translators to work towards a better harmonization, start a glossary, or anything else, do let me know: I’ll include a word about it in the next monthly report.

Do you have a question, a remark? Don’t hesitate to leave a comment. See you next month! :raising_hand:

PrestaShop Core Weekly - Week 28 of 2020

$
0
0

This edition of the Core Weekly report highlights changes in PrestaShop’s core codebase from Monday 6th to Sunday 12th of July 2020.

Core Weekly banner

General messages

Dear developers,

Similarly to many other PHP Open Source Projects, we are now running PHPStan on Pull Requests being submitted for develop branch thanks to Progi1984 work. We think this wonderful tool will increase the overall quality of PrestaShop PHP code.

We are running only the first level, but work is already happening to level up!

A quick update about PrestaShop’s GitHub issues and pull requests:

Code changes in the ‘develop’ branch

Core

Back office

  • #20070: Fix incorrect redirect URL parameter when editing translations. Thank you @Xesau
  • #20028: BO - Customers / Wrong redirection after creating a new address from the customer detail page. Thank you @JoshHargreaves
  • #19951: Truncate category description in BO list view. Thank you @ks129
  • #19947: Fixed preview in Order Page, by @Progi1984
  • #19871: Add UpdateProductCategoriesCommand. Thank you @zuk3975
  • #19239: Always display “Related product” title. Thank you @idnovate

Front office

  • #20096: Show last visible order state in customer order history page, by @matthieu-rolland
  • #16439: Frontend Translation mixed up when switching languages. Thank you @23b

Installer

Code changes in the ‘1.7.7.x’ branch

Back office

Installer

Tests

Merge

Code changes in modules, themes & tools

Changes in developer documentation

PHP Developer Tools

Wishlist block

Customer reassurance block

Dashboard Products

Docker images

Shopping cart module

  • #62: Use preprend-autoloader in composer.json, by @matks
  • #59: Bug Fix change quantity in shopping cart. Thank you @jeckyl

Google Sitemap module

  • #141: Add prepend-autoloader: false in composer.json, by @matks

Prestashop UI Kit

  • #96: Add GitHub action for stylelint, by @NeOMakinG
  • #95: Bugfix of select2, error inputs, height of inputs, some adjustments.., by @NeOMakinG

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @eternoendless, @LouiseBonnard, @stijnstroeve, @matks, @Quetzacoalt91, @Matt75, @jolelievre, @matthieu-rolland, @Progi1984, @nesrineabdmouleh, @pablopolyte, @PierreRambaud, @NeOMakinG, @atomiix, @Xesau, @zalexki, @Daaaaad, @JoshHargreaves, @PululuK, @sowbiba, @ks129, @marekjedrzejewski, @zuk3975, @jeckyl, @cdcvince, @idnovate, @luigimassa, @23b!

Thank you to the contributors whose PRs haven’t been merged yet! And of course, a big thank you to all those who contribute with issues and comments on GitHub!

If you want to contribute to PrestaShop with code, please read these pages first:

…and if you do not know how to fix an issue but wish to report it, please read this: How to use GitHub to report an issue. Thank you!

Happy contributin’ everyone!

PrestaShop Core Weekly - Week 29 of 2020

$
0
0

This edition of the Core Weekly report highlights changes in PrestaShop’s core codebase from Monday 13th to Sunday 19th of July 2020.

Core Weekly banner

General messages

Dear developers,

Last two weeks there was some reports of people unable to login into their Back-Office after upgrading to 1.7.6.7.

Obviously the project maintainers explored this topic deeply but were unable to find any issues into the code. We believe some of the issues might come from third party upgrade tools that would not follow PrestaShop migration path. If you have valuable feedback, feel free to tell us on GitHub!

In the meantime, work continues on 1.7.7.x branch to prepare the first Release Candidate and on develop branch to bring some long-awaited features for 1.7.8, such as php7.4-compatibility or native lazy-loading.

Releases

A quick update about PrestaShop’s GitHub issues and pull requests:

Code changes in the ‘develop’ branch

Core

Back office

Front office

  • #20148: [BO] Color picker doesn’t recognize html color name on page load. Thank you @PululuK
  • #20132: Enable hook ‘displayAfterProductThumbs’ to access product - thanks @elburgl69, by @matks
  • #19560: Implement Native Lazy Loading on theme classic, by @Progi1984

Tests

Merge

Code changes in the ‘1.7.7.x’ branch

Core

Back office

  • #20166: Return Response to provide a good error message when import directory doesnt exist, by @matks
  • #20126: Correctly uncheck previous default combination. Thank you @Amazzing
  • #20124: Use /usr/sbin/sendmail instead of mail() in config wording, by @atomiix

Tests

Code changes in modules, themes & tools

Wishlist block

Dashboard Goals

Nightly board

Changes in developer documentation

Prestashop UI Kit

PHP Developer Tools

Data mining for statistics

Customer reassurance block

Email subscription module

  • #65: Add email input validation to column tpl. Thank you @davidglezz
  • #64: Set email input basic browser validation again. Thank you @davidglezz

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @Quetzacoalt91, @boubkerbribri, @Progi1984, @NeOMakinG, @matks, @PierreRambaud, @eternoendless, @dependabot[bot], @zalexki, @nesrineabdmouleh, @mcorteel-harel, @levyn, @PululuK, @LouiseBonnard, @Amazzing, @atomiix, @cdefy, @davidglezz, @Rolige, @zuk3975, @JevgenijVisockij!

Thank you to the contributors whose PRs haven’t been merged yet! And of course, a big thank you to all those who contribute with issues and comments on GitHub!

If you want to contribute to PrestaShop with code, please read these pages first:

…and if you do not know how to fix an issue but wish to report it, please read this: How to use GitHub to report an issue. Thank you!

Happy contributin’ everyone!

A journey to improve the Time To Interactive metric in Classic Theme

$
0
0

The project Core Web Vitals from Google has announced that loading time and performance will have an impact on the website ranking in search results. Google mentions lazy loading in their suggestions. Lazy loading will be available on Classic Theme in version 1.7.8 thanks to Progi1984 and it will definitely improve both user experience and loading time on your site!

What is lazy loading ?

Lazy loading is a technique that defers loading of non-critical resources at page load time. Instead, these non-critical resources are loaded only when needed. For example, images which are at the bottom of the page are less critical than images at the top of the page and should consequently be loaded later.

This feature used to be provided by third party plugins or modules but is now supported natively in all modern browsers.

How can I enable native lazy loading on my theme ?

Browsers use the loading attribute on the <img> tag to defer loading of images that are off-screen until the user scrolls near them. Consequently on all your <img> tags, you must set a loading attribute with value lazy. And it’s done.

What browsers support this feature ?

This information can be found on multiple sources, such as “Can I Use”.

Lazy Loading Support

In 2020, native lazy loading is enabled on 68% of used browsers. And if the feature is not active on the browser, images will be loaded as usual.

PrestaShop Classic Theme performance analysis

At first, we considered using Lighthouse which is an open-source, automated tool for improving the quality of web pages. But after a few attempts, we encountered an issue in Lighthouse that prevented us to do so. It turns out the detection of lazy loading images is only performed in heavy pages (min 5000px).

Core developer Progi1984 chose to use the Google Chrome console and its Network tab in order to show you the performances evolution before and after lazy loading usage.

This test is based on the New Products page with 50 products (and so 50 images minimum) per page.

The benchmark is performed on develop and lazyloading branches.

First scenario is performed against develop branch.

Two measures are performed:

  • the first on desktop mode with no throlling

Test without Lazy Loading on desktop mode with no throlling

  • the second on emulated device “iPad Pro” mode with Fast 3G throlling

Test without Lazy Loading on emulated device "iPad Pro" mode with Fast 3G throlling

Second scenario happens on lazyloading branch.

Two measures are performed again:

  • the first on desktop mode with no throlling

Test with Lazy Loading on desktop mode with no throlling

  • the second on emulated device “iPad Pro” mode with Fast 3G throlling

Test with Lazy Loading on emulated device "iPad Pro" mode with Fast 3G throlling

A gain of 21% to 28% can be observed with lazyloading.

You are left to imagine the possible gains for users who browse your websites all around the world, with different connections profiles.

Conclusion

As a developer or theme provider, implementing this feature is a very good investment. The implementation is easy and the gain is huge is all we have to say.

Announcing our first Bug Bounty program

$
0
0

Protecting the business, data and privacy of PrestaShop’s users is one of our top priorities. We build our software with this goal in mind. That’s why we decided to put our security to the test. To encourage the security community to help us, today we are announcing our first bug bounty program!

Why this program

Bug bounties are used by many leading companies to improve the security of their products. These programs provide an incentive for researchers to responsibly disclose software bugs and allow security teams to leverage the external community to help keep users safe.

Cyber criminals from around the world are continuously finding new ways of breaking websites or stealing personal information, even more so when they are related to e-commerce.

Bug bounty programs are all about prevention. They are an invitation for White Hat hackers to thoroughly scrutinize our software and report any hidden issues they find. This will allow us to discover and patch hidden vulnerabilities before any “bad guys” exploit them in production sites.

What’s in scope

First of all, keep in mind this bounty programm does not concern regular bugs, but only security flaws. If you encounter any bug in PrestaShop not related to security, feel free to create an issue in our public bug tracker.

Second, this bounty program covers code from our GitHub repository PrestaShop/PrestaShop plus all PrestaShop modules defined in the composer.json file.

We are particularity interested in Remote Code Execution, SQL Injections, Authentication bypass, and obviously XSS with demonstrable business impact.

Also, we consider that vulnerabilities with a CVSS3 score lower than 4.0 are non-qualifying, unless it can be combined with other vulnerabilities to achieve a higher score.

Find more information about qualifying and non-qualifying vulnerabilities and of course everything about vulnerability disclosure on PrestaShop’s YesWeHack Public Program!

Let the hunt begin!


PrestaShop Core Weekly - Week 30 of 2020

$
0
0

This edition of the Core Weekly report highlights changes in PrestaShop’s core codebase from Monday 20th to Sunday 26th of July 2020.

Core Weekly banner

General messages

Last week we announced the opening of our Bug Bounty program. This was a very important milestone for us and we are confident that it will bring PrestaShop project to a new level of security in 2020.

In the meantime, the v4 of our Google Analytics module is on its way and the Wishlist block module is in good progress too.

Finally a lot of efforts are still being directed on fixing the last known bugs in PrestaShop 1.7.7 in order to deliver soon a first Release Candidate. But these last bugs are complex and require a huge collaboration of software and QA teams to be fully fixed.

Releases

A quick update about PrestaShop’s GitHub issues and pull requests:

Code changes in the ‘develop’ branch

Core

Back office

Front office

Tests

  • #20273: Functional tests - Fix confirm delete modal selector for addresses page, by @boubkerbribri
  • #20262: Functional tests - Fix click on delete confirmation modal - Customers > Addresses. Thank you @nesrineabdmouleh
  • #20258: Add const MAIL_DIR for phpstan bootstrap, by @matks

Code changes in the ‘1.7.7.x’ branch

Back office

Tests

Code changes in modules, themes & tools

Wishlist block module

Changes in developer documentation

Google Analytics module

Quality Assurance tools module

Check Payment module

  • #33: Fix : br displayed in check address after order. Thank you @Sinepel

Product Comments module

Shopping cart module

Order Notifications on Favicon module

Customer reassurance block module

Faceted search module

Stylelint Configuration

Core Weekly Generator tool

Example mailtheme module

Email Alerts module

  • #58: Wrong condition result broke module installation. Thank you @kpodemski

Changes performed by scripts for license headers and dependabot configuration


Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @NeOMakinG, @zalexki, @jolelievre, @Quetzacoalt91, @davidglezz, @boubkerbribri, @PierreRambaud, @eternoendless, @Sinepel, @matks, @nesrineabdmouleh, @sowbiba, @ttoine, @Progi1984, @dependabot[bot], @dependabot-preview[bot], @joserprieto, @PululuK, @JevgenijVisockij, @ksaandev, @olecorre, @Oksydan, @rmilecki, @kpodemski, @dgonzalez360, @Leenwt, @apacios!

Thank you to the contributors whose PRs haven’t been merged yet! And of course, a big thank you to all those who contribute with issues and comments on GitHub!

If you want to contribute to PrestaShop with code, please read these pages first:

…and if you do not know how to fix an issue but wish to report it, please read this: How to use GitHub to report an issue. Thank you!

Happy contributin’ everyone!

A new place to contribute to the PrestaShop project and share your feedback on the next features

$
0
0

As announced here, the Core product team recently adopted a new working tool to gather feedback and prioritize features: Productboard. No more teasing, it is now time to have a look at how it will look and how we will all be able to handle it!

Productboard makes two things possible for the team:

  • On the one hand, having a dedicated internal interface to centralize all feedback, group them into topics, define features, and prioritize them.
  • On the other hand, having an open public portal to explicitly present those features and collect feedback about them. And that is what this article is about.

So the team has created this portal called PrestaShop Feedback so that anyone can comment and vote for the features on which feedback is needed. Whether you are a merchant, a developer, an agency, a seller on the Addons Marketplace, etc. your opinions and suggestions are expected on the feedback.prestashop.com page.

The portal, available in the ‘PrestaShop Core’ tab, is divided into several sections. The goal of this article is to explain how to use this interface to share your feedback on the selected features.

How to use PrestaShop Feedback

See the selected features, express some needs, check their design

All selected feature or expression of needs exposed in this portal is represented by a card that includes a title and a description, sometimes an image. Click on a card to learn more about it.

All cards fall into three sections, each corresponding to a specific step in the product development:

  • Under consideration
  • User research
  • Design

PrestaShop Feedback home

Under consideration

This section lists the topics and features that have already been identified and structured by the team. At this step, we need feedback to consider as many use cases as possible. It will allow us to draw the most valuable feature for the need that was prioritized. Also, rating a card to let the team know how important it is to you will help us prioritize it.

User research

This section lists the features the team decided to work on. When we start working on a feature, the first step is always to drive some user research to understand which types of users may be concerned, what are the use cases around it, and its purpose. As the goal of user research is to identify the problem or need to solve, the purpose at this point is to get feedback to consider which problems are related to which cases.

Design

Once the problem and the solutions identified, the design phase is here to conceive the feature. In this section, you will be able to find all the features that are going under design. Getting feedback allows the team to know how useful is the solution and to possibly recruit voluntary testers.

Comment and vote for the cards

When clicking on a card, you can see two fields at its bottom: one to comment and another one to vote. It is really important to the team as it helps us evaluate how the feature impacts you or your clients (if you are an agency or a developer, for instance). Here is what happens behind the scenes:

PrestaShop Productboard user score

When rating the impact of a feature, Productboard adds your vote to a “user score” that the team takes directly into account when evaluating features through its prioritization score. The more an idea is voted, the better ranking it gets, and the more probability it has to be developed, either by our teams or by community developers.

This “user score” is not the only indicator that the team takes into account when evaluating a feature but it is key. Complexity, innovation, business impact for the merchants, legal aspects, are some of the criteria studied as well.

Now you might also wonder what happens when you add a comment. Well, the comment is automatically associated with the card in the team interface. It helps the product team, the designers, and the developers to precisely identify the users’ needs, and thus build the feature the best way possible to answer these needs.

In the end, it is all about delivering as much value as possible to the users, with all kinds of users in mind.

Submit a new idea

In addition to having an overview of the selected features, commenting and voting, you can submit new ideas.

A “Submit an idea” button is located in the portal’s top-right corner. Click on it and follow the steps.

How to sumbit a new idea on PrestaShop Feedback

Here again you can indicate the importance of this insight for you.

Emails addresses are required by default by Productboard to avoid spamming. The team might use it to contact you about your idea as well.

Know what is next

Once the problem exposed, the solution defined and the design approved, the feature enters its development phase. For the Core product team, the next steps are writing specifications on the dedicated repository and creating all related issues on GitHub so that the Core dev team or the community can have all the necessary elements to develop them. All those steps are lead on GitHub, Productboard is just the tool that allows the Core product team to collect feedback and prioritize features.

You already read it on our previous blog post about the product development methodology, one of the main problems the team had was to centralize all feedback coming from several types of users and different sources. Having all this information in the same place will definitely make it easier for the team to better understand PrestaShop users.

The team is looking forward to using it with you! Hope you’ll like it!

As always, let the team knows what you think about it in the comments section!

PrestaShop Core Weekly - Week 31 of 2020

$
0
0

This edition of the Core Weekly report highlights changes in PrestaShop’s core codebase from Monday 27th of July to Sunday 2th of August 2020.

Core Weekly banner

Releases

A quick update about PrestaShop’s GitHub issues and pull requests:

Code changes in the ‘develop’ branch

Core

Back office

Front office

Installer

Tests

Merge

Code changes in the ‘1.7.7.x’ branch

Core

Back office

Tests

Code changes in modules, themes & tools

Core Weekly Generator tool

PHP Developer Tools

example_module_mailtheme

Changes in developer documentation

Faceted search module

Shopping cart module

  • #65: Improve modal description in JS, by @matks

Wishlist block

Google Analytics module

PrestonBot

  • #94: Make relatedTicket mandatory in the PR’s description, by @atomiix

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @dependabot[bot], @Quetzacoalt91, @zuk3975, @matks, @Progi1984, @PierreRambaud, @boubkerbribri, @NeOMakinG, @ksaandev, @elboletaire, @zalexki, @PoulainMaxime, @eternoendless, @jolelievre, @davidglezz, @matthieu-rolland, @atomiix, @daresh, @sowbiba!

Thank you to the contributors whose PRs haven’t been merged yet! And of course, a big thank you to all those who contribute with issues and comments on GitHub!

If you want to contribute to PrestaShop with code, please read these pages first:

…and if you do not know how to fix an issue but wish to report it, please read this: How to use GitHub to report an issue. Thank you!

Happy contributin’ everyone!

Do you speak PrestaShop? – July 2020 edition

$
0
0

Contributing to PrestaShop is not only about the code, it’s also about taking part in the PrestaShop translation project! This report will tell you how the translations of the software evolved in April.

Crowdin Monthly banner

Project news

First news, a way to boost translations :fire:

As I mentioned in the previous Crowdin Monthly, many PrestaShop translation projects, such as Esperanto, are reaching higher translation rates thanks to dedicated contributors. To help and encourage them, I did some tests by translating strings with Crowdin’s Pre-translation via Translation Memory (TM) tool. Simply put, this tool retrieves translations of a project and apply them to newly added strings. :sparkles:

This test was done for the Spanish, Mexico and Spanish, Colombia projects, and the translation rate went respectively from 70% to 96% and 65% to 76%. :tada: To conclude this test, proofreaders of these projects are needed to vouch for the translation consistency and approve these strings. I thus invite any Latin American native who wishes to help! :wink:

More importantly, these tests were successful thanks to translators of these projects who had contributed accurate and consistent translations. As the TM tool relies on translations of projects, the more translations are stored, the more it will be efficient.

A way to communicate with fellow translators?

Not long ago, the suggestion to have a communication channel for translators of the same project popped. This is a good initiative as it would allow translators to ask questions related to the project they are working on or feedback on suggested translations. Also, this could motivate and keep the community active. For now, considered options would be to either create a Slack channel per language or discussion groups in Crowdin (in which new onboarded translators will be added). Would that be something you are interested in? Let me know your thoughts! :blush:

:two_hearts: Special thanks to newcomers

Many people subscribe to the project(s) of their choice each month, but not so many start translating straightaway. For that reason, we would like to thank the ones who rushed into the effort immediately! So lots of love to the dedicated: Antonio Andina (eomaticaribadeo), Cristian Mihaila (cristi_andrei1234), Gloriana Cocozza (gcocozza), and Jose Marfil (marfil.jose). See you soon on Crowdin… and in PrestaShop. :stuck_out_tongue_winking_eye:

A few stats

  • 19 members were active on the project this month.
  • A total of 24,007 words have been translated and 19,115 validated.
  • All this in 15 different languages.

Thank you for your involvement!

Top contributors

A lot of you are working every day on Crowdin to have PrestaShop available in many languages, and PrestaShop can’t thank you enough for your dedication! Here are the most active translators and proofreaders for July 2020.

Top 10 translators in July:

 TranslatorLanguage# Words
1.Lee Kung (grmark)Thai16,569
2.mirmalEsperanto2,974
3.Manuela Silva (manuelarodsilva)Portuguese2,318
4.Girdman.com (anargaragezov)Azerbaijani697
5.Gloriana Cocozza (gcocozza)Spanish, Colombia588
6.Gerardas (gerardas)Lithuanian217
7.Waleed Butt (waleedbutt112)Urdu (Pakistan)173
8.Milan Kolka (milankolka)Bulgarian171
9.Stanislav Yordanov (StanProg)Polish97
10.Szymon Tondowski (stdeykun)Turkish84

Top 7 proofreaders in July:

 ProofreaderLanguage# Words
1.Lee Kung (grmark)Thai16,569
2.Manuela Silva (manuelarodsilva)Portuguese1,619
3.Marcin Orzechowski (Martinovy)Polish455
4.Gerardas (gerardas)Lithuanian265
5.Stanislav Yordanov (StanProg)Bulgarian126
6.ftugrulTurkish60
7.David Gonzalez (davidglezz)Spanish21

Congrats, and welcome to our new top contributors! :clap:

Remember, you can see who’s been contributing to our translation project thanks to the Translators page.

Complete translations

Fully translated languages

At the end of July 2020, PrestaShop 1.7.7 was fully available (= 100% translated and validated) in 10 languages:

Chinese TraditionalDanishDutchFrenchItalian
Portuguese, BrazilSlovakSloveneSpanishSwedish

Languages with the best evolution

In comparison with June 2020, the following languages had the best progress thanks to the translation community:

  • Spanish, Mexico (+30% to reach 93% translated)
  • Thai (+15% to reach 33% approved)
  • Spanish, Colombia (+12% to reach 69% translated)

Best translation progress for July 2020

A huge thank you to all the contributors!

Of course, this is highlighting the languages that made some progress with new translations; but it doesn’t mean that the languages that aren’t mentioned here aren’t active. Indeed, some editing and rewriting could be going on, but the percentage of translation wouldn’t be modified (since it’s working on strings that are already translated). So let’s not forget about the work of other proofreaders! Thanks to you too!

Languages that need (more) proofreaders

A translated string will not be available in PrestaShop as long as it is not validated. For this reason, it’s important to keep a high level of validated strings vs. translated strings, to make sure everyone benefits from the latest translations! :fire:

At the end of July 2020, some languages would still benefit from some proofreading:

  • Spanish, Argentina (100% translated vs 13% validated).
  • Spanish, Venezuela (52% vs 11%).
  • Galician (100% vs 59%).
  • Esperanto (40% vs 0%).
  • Spanish, Mexico (93% vs 55%).

Languages that need proofreading

If you wish to help to proofread what has been translated, please contact PrestaShop with the language you’d like to proofread: just send an email to translation@prestashop.com. Your help is needed!

If you haven’t joined us on Crowdin yet, it’s never too late! :wink:

If you want to gather your fellow translators to work towards a better harmonization, start a glossary, or anything else, do let me know: I’ll include a word about it in the next monthly report.

Do you have a question, a remark? Don’t hesitate to leave a comment. See you next month! :raising_hand:

PrestaShop Core Weekly - Week 32 of 2020

$
0
0

This edition of the Core Weekly report highlights changes in PrestaShop’s core codebase from Monday 3th to Sunday 9th of August 2020.

Core Weekly banner

Releases

A quick update about PrestaShop’s GitHub issues and pull requests:

Code changes in the ‘develop’ branch

Core

Back office

Front office

Tests

  • #20427: Refactor behats ProductFeatureContext to multiple smaller contexts. Thank you @zuk3975

Merge

Code changes in the ‘1.7.7.x’ branch

Core

Back office

  • #20461: Fixed Modal “View pack content”, by @Progi1984
  • #20457: Include product name and employee name in out of stock email. Thank you @ks129
  • #20433: Dont show root category on category grid search results, by @matks

Tests

Code changes in modules, themes & tools

Nightly board

Visits and Visitors module

PrestaShop Specifications

Changes in developer documentation

Product Comments module

Prestashop UI Kit

Wishlist block module

Stylelint configuration

  • #3: Add stylelint-no-unsupported-browser-features, by @NeOMakinG

Webservices PHP Client


Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @NeOMakinG, @matks, @Progi1984, @Amit-Kumar-Tiwari-Webkul, @davidglezz, @nesrineabdmouleh, @MatShir, @boubkerbribri, @ks129, @eternoendless, @justeen35, @zuk3975, @bruce-thomas, @Sinepel, @matthieu-rolland, @Quetzacoalt91, @dependabot[bot], @dariusakafest, @aquiandres, @SalarNazar!

Thank you to the contributors whose PRs haven’t been merged yet! And of course, a big thank you to all those who contribute with issues and comments on GitHub!

If you want to contribute to PrestaShop with code, please read these pages first:

…and if you do not know how to fix an issue but wish to report it, please read this: How to use GitHub to report an issue. Thank you!

Happy contributin’ everyone!

Help us write product specifications

$
0
0

Contribution is not only about code. As an open source project, everyone is encouraged to participate in the construction of PrestaShop: you can translate the software in your native language, suggest a new feature, sign up to the User Club and share your experience with the product teams, become an ambassador… and also write specifications!

Hosted on a dedicated GitHub repository, product specifications are meant to formally describe how features should work on a given page. Different from the technical specifications (that aim to describe the internal implementation of the features), product specifications express the functional scope of PrestaShop’s pages.

For instance, product specifications can describe what action is performed when this button is clicked, what characters are considered invalid for this field, what notification pops up in this case, etc. See the example below, related to the product page.

PrestaShop Product Page Specifications

:point_right: Read the product page specifications IRL here

So if you, as a passionate PrestaShop user, would like to share your expertise on some features that do not have any secrets for you anymore, let’s join forces and write the software’s functional specifications together! It is no code, it is just precise writing to describe how features are expected to behave.

Directory structure

Several directories are to be found in the repository, among which the following four main folders:

  • the back office directory, where any Back Office (BO) page should be specified, e.g. the product page ;
  • the broader topics directory, where widely impacted features should be specified, e.g. the SEO strategy throughout the software ;
  • the front office directory, where any Front Office (FO) page should be specified, e.g. the product images ;
  • and the modules directory, where all built-in (“native”) modules should be specified, e.g. the Faceted Search module.

One page of the back office equals one page of specifications. Being exhaustive is key: any feature that does not work as described in the specifications is considered as a bug! Writing down specifications is essential to making sure features work as expected on the latest available stable version of PrestaShop.

Right now, many features have not been formally specified but, better late than never, we make a point to specify any new feature or change before the system is modified. It helps get relevant developments but also limits the software functional debt by keeping a history of the decisions made so far.

Workflow

As written just above, specifications are key to development as they describe the expected system behavior for any given feature. So when developers work on the PrestaShop code, in fact, they translate those functional specifications to code. Each development made must be linked to the corresponding specification.

You can either improve existing specifications, add missing specifications, or even specify new features.

Improve existing specifications

Did you notice missing elements when reading a specification page? Well, I guess it is time to complete it! It might be minor fixes such as fixing typos, improving an unclear syntax, adding screenshots, etc. If it concerns any missing behavior, you should read the next paragraph. 😉

Add missing specifications

Many existing features have not been formally specified yet so there is still a lot to do. Adding missing specifications about the current behavior will help to provide the PrestaShop ecosystem with a precise view of the software’s functional scope.

Specify new features

When a new feature is suggested or planned, it is essential to define its scope and therefore specify its use since it will guide its developments.

How-to

Now let us focus on the practical side! For starters, you have two choices: either the page already exists in the specifications repository and you just have to edit it to complete it, or it does not exist yet and then you will have to create it to suggest your specifications.

Whether it is an edition or addition, a pull request (PR) will have to be created – just like for any development! You will learn more about the detailed steps in the CONTRIBUTING.md file here and the suggested template to use in the next section of this post.

PrestaShop Product Specifications Management

Once your specifications have been submitted, the pull request is reviewed by the core team and validated by the product team. If you specify a new feature, specifications will have to be validated by the core team (product, dev, and QA if need be) and merged before starting the development. If any behavior is redefined during the development phase, the specifications must be updated accordingly following the same workflow: PR > validation > merge > development.

Anatomy of the product specifications

Writing product specifications requires using Git and GitHub, it works pretty much the same as a code contribution. You can read the detailed steps in the CONTRIBUTING.md file right here. You can refer to the template below to structure your contribution, and obviously you are greatly encouraged to have a look at the already written product specifications. 😉

PrestaShop Product Specifications Template

And that’s it! Product specifications are a nice way to contribute to PrestaShop. Writing specifications is accessible to everyone who has is familiar with PrestaShop: developers who need to validate the functional scope of a feature to start working on it, merchants who use the software every day and have a deep understanding of how pages work, and any kind of contributor who wants to share their knowledge with the community.

PrestaShop Core Weekly - Week 33 of 2020

$
0
0

This edition of the Core Weekly report highlights changes in PrestaShop’s core codebase from Monday 10th to Sunday 16th of August 2020.

Core Weekly banner

General messages

Dear developers,

As announced on Release 1.7.7.0 tracking issue, it has been decided to issue a second beta build that contains all fixes merged since Beta 1. Over 130 PRs have been merged to branch 1.7.7.x and we want to provide the community with a more up to date version to continue testing, while giving ourselves more time to continue squashing bugs.

We’re targeting a Beta 2 to be released on September 1st. This will be followed by an RC early October at the latest.

Releases

A quick update about PrestaShop’s GitHub issues and pull requests:

Code changes in the ‘develop’ branch

Core

Back office

  • #20532: Add RemoveAllAssociatedProductCategoriesCommand. Thank you @zuk3975
  • #20515: Fix supplier service name to fit namespace convention. Thank you @zuk3975
  • #20491: Fix UpdateCustomizationFieldsHandler todo. Thank you @zuk3975
  • #20488: Implement combinations generator which uses php Generator. Thank you @zuk3975
  • #20449: Add undeclared variables in AdminController. Thank you @justeen35
  • #20434: Fixed default value for the form Add Employee, by @Progi1984
  • #20381: Order return states grid - Remove unnecessary filters merge, by @sowbiba

Front office

Tests

Code changes in the ‘1.7.7.x’ branch

Core

Back office

Front office

  • #20555: Fix images quickview also updating product page by changing product i…, by @NeOMakinG

Tests

Code changes in modules, themes & tools

Email Alerts module

Changes in developer documentation

Buy button lite module

PrestaShop Specifications

  • #125: Fix for markdown typo in Contributing.md file. Thank you @sam-pires

php-ps-info

Product Comments module

Quality Assurance module

Core Weekly Generator tool

Nightly board

PrestaShop contributors website

Currency selector

Cross-selling module

Faceted search module

  • #159: Fix price indexing for products with specific prices only for some currencies. Thank you @Perfecticus

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @boubkerbribri, @matks, @wgroenewold, @PierreRambaud, @atomiix, @eternoendless, @NeOMakinG, @sam-pires, @dependabot[bot], @nesrineabdmouleh, @matthieu-rolland, @zuk3975, @Amit-Kumar-Tiwari-Webkul, @Progi1984, @justeen35, @ksaandev, @Sinepel, @sowbiba, @jolelievre, @Perfecticus, @daresh!

Thank you to the contributors whose PRs haven’t been merged yet! And of course, a big thank you to all those who contribute with issues and comments on GitHub!

If you want to contribute to PrestaShop with code, please read these pages first:

…and if you do not know how to fix an issue but wish to report it, please read this: How to use GitHub to report an issue. Thank you!

Happy contributin’ everyone!


PrestaShop Core Weekly - Week 34 of 2020

$
0
0

This edition of the Core Weekly report highlights changes in PrestaShop’s core codebase from Monday 17th to Sunday 23th of August 2020.

Core Weekly banner

General messages

Dear developers,

The 1.7.7.0 Beta 2 build has been issued and is currently being tested by the QA team. If the test campaign does not report any major issues, we will be able to release it on September 1st as scheduled.

In the meanwhile, two long awaited Pull Requests are experiencing extensive code review:

Feel free to have a look, these two pull requests are the result of weeks of work and the more eyes the better!

A quick update about PrestaShop’s GitHub issues and pull requests:

Code changes in the ‘develop’ branch

Core

Back office

Front office

  • #20592: The delivery note’s name is wrong after the download . Thank you @PululuK
  • #20556: Fix images quickview also updating product page by changing product i…, by @NeOMakinG
  • #20211: Fix missing pagination for alternative lang url. Thank you @Sinepel

Tests

Merge

Code changes in the ‘1.7.7.x’ branch

Back office

Front office

Tests

Code changes in modules, themes & tools

Changes in developer documentation

Nightly board

  • #46: Fix google translation bug and toggle darkmode by default if OS is using it, by @NeOMakinG
  • #45: Align results to the left, by @NeOMakinG

PrestonBot

  • #95: Add new translation strings detection feature, by @atomiix

PrestaShop Specifications

  • #113: Disabled tabs, Errors in tabs, Edit combination modal. Thank you @TristanLDD

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @eternoendless, @boubkerbribri, @zalexki, @mcdado, @prestaforum, @TeapotLex, @jordiweblidera, @atomiix, @NeOMakinG, @MatShir, @JevgenijVisockij, @jf-viguier, @PierreRambaud, @matks, @jolelievre, @Rho-bur, @PululuK, @camlafit, @Quetzacoalt91, @Sinepel, @TristanLDD!

Thank you to the contributors whose PRs haven’t been merged yet! And of course, a big thank you to all those who contribute with issues and comments on GitHub!

If you want to contribute to PrestaShop with code, please read these pages first:

…and if you do not know how to fix an issue but wish to report it, please read this: How to use GitHub to report an issue. Thank you!

Happy contributin’ everyone!

PrestaShop Core Weekly - Week 35 of 2020

$
0
0

This edition of the Core Weekly report highlights changes in PrestaShop’s core codebase from Monday 24th to Sunday 30th of August 2020.

Core Weekly banner

General messages

Dear developers,

The 1.7.7.0 Beta 2 build has been validated by QA team. The test campaign contained 414 manual tests, and

  • 90% are successfull (373)
  • 3% cannot be run in current context (blocked) (12)
  • 7% are failing (29)

Since the 7% failing tests are not blocking issues, we will be able to deliver the build publicly and open the second beta period for 1.7.7.0.

A quick update about PrestaShop’s GitHub issues and pull requests:

Code changes in the ‘develop’ branch

Core

Back office

Front office

Installer

Code changes in the ‘1.7.7.x’ branch

Core

Back office

  • #20755: Fix free shipping cart rules not added/deleted in create order, by @atomiix
  • #20729: Fix price width is too small on some devices by setting a min-width, by @NeOMakinG
  • #20684: Fix empty optional customization exception when creating BO order, by @atomiix
  • #20145: Product management and specific prices new rules in Order, by @jolelievre

Tests

Code changes in modules, themes & tools

Changes in developer documentation

Google Analytics module

PrestonBot

Wishlist block module

PrestaShop Specifications

Quality Assurance module

  • #3: Enable ‘Configure’ Link from Modules page, by @matks

Architecture Decision Records repository

  • #12: 0009 - Expose js core modules to the window object to provide an interface to every developers, by @NeOMakinG

Email Alerts module

  • #49: Adapt translation domains to the new translation system. Thank you @dali-rajab

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @likemusic, @matthieu-rolland, @matks, @boubkerbribri, @atomiix, @NeOMakinG, @Sinepel, @eternoendless, @PierreRambaud, @pablopolyte, @nesrineabdmouleh, @awitkutarahil, @mvorisek, @marionf, @Farelion, @zuk3975, @jolelievre, @dali-rajab, @olecorre!

Thank you to the contributors whose PRs haven’t been merged yet! And of course, a big thank you to all those who contribute with issues and comments on GitHub!

If you want to contribute to PrestaShop with code, please read these pages first:

…and if you do not know how to fix an issue but wish to report it, please read this: How to use GitHub to report an issue. Thank you!

Happy contributin’ everyone!

PrestaShop 1.7.7.0 Beta 2 Is Ready To Be Tested!

$
0
0

Prestashop 1.7.7.0 BETA 2 Release

Over 130 Pull Requests have been merged since the first Beta of 1.7.7.0 was released about three months ago. A great number of regressions have been detected and fixed thanks to extensive testing by the community and the PrestaShop team, mainly in the new order pages. However, as new regressions keep being reported, the maintainer team has decided to issue a second Beta release before a Release Candidate is built. This will provide the community with a more up-to-date version to continue testing while the final bugs are being fixed. We hope this will yield a more stable and robust final version.

This second beta release is essential for your business and allows you to verify if all your modules and themes are still working. If it’s not the case, you may need to update them or open an issue if you find a regression compared to the previous minor version 1.7.6. To ensure your modules work well with this new version, you should: download, install, test this new version and give us your feedback as early as possible. Consider focusing your tests on the migrated back-office order pages: the ‘Add a new order’ page and the ‘View order detail’ page. This is how you can get involved to make PrestaShop 1.7.7 stable more quickly and be confident that the final version will work flawlessly. If no new critical or major regression is reported by September 21st, then the first release candidate will be built and released a few days later.

Remember, this beta version is pre-release software. Do not use it in your production shop!

Notable changes in 1.7.7 beta 2

Order back-office

Create order back-office

Edit order back-office

View order back-office

Listing order back-office

Back Office:

Front Office:

Core:

Installation:

Circuit breaker: Some service API calls have been removed from the Core. This should improve the speed and reliability of the Back Office:

Deprecations

BC breaks

Changelog

130+ pull requests have been merged since the first beta release and 100+ issues have been fixed. Read the Changelog for details.

If you are looking for more details about all changes and new features expected in 1.7.7, the 1.7.7 beta version release note is the perfect article for you to read!

Download

You can download PrestaShop 1.7.7.0 beta 2 here:

Download PrestaShop 1.7.7.0 beta 2 now!

How to help finish 1.7.7

Your feedback on this beta 2 is essential: the regressions you report right now are as many less bugs on the final version, fewer problems on your (or your customer’s) online store, and and less time waiting for patch versions.

Here’s how you can help:

  • Install this beta version, optionally as an upgrade to a copy of your current shop, and test that everything works well compared to the previous version, 1.7.6
  • If you develop modules or themes, test them on this version
  • Test the migrated back-office order pages: the add order page and the order detail page
  • Test the auto-upgrade plugin (you can manually provide the Beta 2 zip file to the auto upgrade, in order to test it)
  • Report regressions on GitHub (read how to report issues)
  • Fix regressions by creating a pull request (read the contribution guidelines) If everything is working well, feel free to comment on this article to tell us, and share on social networks, we also need this kind of feedback! ;-)

Remaining known issues (target: must-have fixed in Release Candidate)

Order back-office

Back-office

Front-office

Acknowledgments

A huge thanks to everyone who got involved by reporting, testing and fixing regressions during the first beta phase.

Contributors who submitted pull requests and participated to build this second beta: antoinedamiron, clotaire202 from 202-ecommerce agency, arouiadib. Thank you!

Contributors who reported regressions to build a more stable 1.7.7: Rolige, Hlavtox, k0lv, joemugen, simondaigre, prestamoduleagency, clotaire202 from 202-ecommerce agency, olecorre from ohweb agency. Thank you!

Like them, please test this new beta 2 and give us your feedback!

PrestaShop Core Weekly - Week 36 of 2020

$
0
0

This edition of the Core Weekly report highlights changes in PrestaShop’s core codebase from Monday 31th to Sunday 06th of August 2020.

Core Weekly banner

General messages

Dear Developers,

In case you missed it, 1.7.7 beta 2 has been released last week!

Testing this second beta version before the release of the stable version is very important. As usual, we strongly recommend checking that all your modules and themes are working properly, especially if you develop them yourself. Please download, install and test this new beta and report the issues you might find. Also, of course, your help is welcome to fix issues.

Releases

A quick update about PrestaShop’s GitHub issues and pull requests:

Code changes in the ‘develop’ branch

Core

Back office

Front office

  • #20813: Bump elliptic from 6.5.2 to 6.5.3 in /admin-dev/themes/default. Thank you @dependabot[bot]
  • #20812: Bump elliptic from 6.4.0 to 6.5.3 in /themes/classic/_dev. Thank you @dependabot[bot]
  • #20773: Make sure sanitizeUrl method allows array in $_GET, and make methods protected to be reused, by @PierreRambaud
  • #20660: Remove available_date from presented product if in the past. Thank you @awitkutarahil
  • #20530: Fix facets.js pendingQuery was always false. Thank you @davidglezz
  • #20499: Ecotax is displayed tax excl instead of tax incl in FO. Thank you @PululuK
  • #20309: Improve sitemap-nested-list.tpl. Thank you @davidglezz
  • #20203: Adding a link to the general terms and conditions in the checkout footer (Opquast n°45). Thank you @Sinepel

Tests

Code changes in the ‘1.7.7.x’ branch

Core

Back office

  • #20798: Do not recalculate shipping if PS_ORDER_RECALCULATE_SHIPPING is false, by @atomiix
  • #20796: Fix OrderReturnState should not use soft delete, by @atomiix
  • #20792: Fix cannot add twice a product out of stock but allowed to be ordered, by @atomiix
  • #20757: Save customer message on order creation from BO, by @sowbiba
  • #20734: Allow to create Order from BO using soft deleted address, by @matks
  • #20714: Fix max attribute on qty input of an out of stock attribute available on create order, by @NeOMakinG
  • #20704: Expose missing route, by @atomiix
  • #20603: Redirect to customer when canceling new customer address creation. Thank you @ks129

Tests

Code changes in modules, themes & tools

Changes in developer documentation

Faceted search module

OnBoarding module

PrestonBot

Issues Bot

Example modules

Stylelint browser ccompatibility

PrestaShop contributors website

Product Comments module

Traces

Contact Form module

Contact informations module

  • #37: Update templates to reflect changes in classic theme. Thank you @ziegenberg

Carrier comparison module

Custom text module


Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @boubkerbribri, @matks, @eternoendless, @PierreRambaud, @dependabot[bot], @jolelievre, @atomiix, @zuk3975, @SimonGrn, @Progi1984, @matthieu-rolland, @zalexki, @nesrineabdmouleh, @likemusic, @sowbiba, @mvorisek, @NeOMakinG, @rozwell, @artaban, @awitkutarahil, @PululuK, @prestaquality, @Amit-Kumar-Tiwari-Webkul, @ks129, @JevgenijVisockij, @davidglezz, @bodi000, @Sinepel, @rajat315315, @ziegenberg, @juliendombret, @MathiasReker!

Thank you to the contributors whose PRs haven’t been merged yet! And of course, a big thank you to all those who contribute with issues and comments on GitHub!

If you want to contribute to PrestaShop with code, please read these pages first:

…and if you do not know how to fix an issue but wish to report it, please read this: How to use GitHub to report an issue. Thank you!

Happy contributin’ everyone!

Do you speak PrestaShop? – August 2020 edition

$
0
0

Contributing to PrestaShop is not only about the code, it’s also about taking part in the PrestaShop translation project! This report will tell you how the translations of the software evolved in August.

Crowdin Monthly banner

Project news

New manager of the translation project

My name is Julie. I joined PrestaShop on September 1st as the new Product Content Manager. I am very happy to start this new adventure and I am looking forward to working together on this translation project! :fire:

New projects have been opened!

Would you like to try a new challenge? If you are fluent in one of the languages below, don’t hesitate to contribute. Here are the new projects that have been opened in August:
Spanish (Costa Rica), French (Belgium), and Maltese.

I would like to thank gcocozza, jmcoget and jbonello who offered to open and help on the three projects. If you would like to start to translate a new language that is not yet available on PrestaShop, feel free to send me an email at translation@prestashop.com. :wink:

Don’t miss the PrestaShop Day Italy, 100% online!

The PrestaShop Day for Italy will take place next 24th September as an online event! 35 live sessions in Italian are planned with entrepreneurs, partners, tech experts and more. Don’t forget to mark this event on your calendar! :calendar:
To discover more about this event and to register, I invite you to visit PSD Italy website.

:two_hearts: Special thanks to newcomers

Many people subscribe to the project(s) of their choice each month, but not so many start translating straightaway. For that reason, we would like to thank the ones who rushed into the effort immediately! So lots of love to the dedicated: PrestaServicePro, jbonello, Mohammad H. Bahrololoum (mohdbahrololoum), Benny Lahmish (bennylh), Dzung Do (dzungdo), Dennis (icemansparks), Abdullah Alsheraidah (aalsheraidah) and partum.

See you soon on Crowdin… and in PrestaShop. :stuck_out_tongue_winking_eye:

A few stats

  • 25 members were active on the project this month.
  • A total of 14,807 words have been translated and 5,968 validated.
  • All this in 21 different languages.

Thank you for your involvement!

Top contributors

A lot of you are working every day on Crowdin to have PrestaShop available in many languages, and PrestaShop can’t thank you enough for your dedication! Here are the 10 most active translators and proofreaders for August 2020.

Top 10 translators in August:

 TranslatorLanguage# Words
1.PrestaServiceProAzerbaijani4,945
2.M.Mirena (mmirena)Albanian2,098
3.Girdman.com (anargaraezov)Azerbaijani1,961
4.mirmalEsperanto1,336
5.Gabriel Tenita (ggedamed)Romanian1,051
6.Martin (lord_dark)Polish902
7.Milan Kolka (milankolka)Esperanto586
8.jbonelloMaltese553
9.Rivo Zängov (eraser)Estonian507
10.Enrique García (quiquegarcia)Spanish, Mexico283

Top 6 proofreaders in August:

 ProofreaderLanguage# Words
1.M.Mirena (mmirena)Albanian2,302
2.Girdman.com (anargaraezov)Azerbaijani1,179
3.Enrique García (quiquegarcia)Spanish, Mexico1,143
4.Gabriel Tenita (ggedamed)Romanian1,138
5.Monika (monikaraciunaite)Lithuanian190
6.Stanislas Yordanov (StanProg)Bulgarian16

Congrats, and welcome to our new top contributors! :clap:

Remember, you can see who’s been contributing to our translation project thanks to the Translators page.

Complete translations

Fully translated languages

At the end of August 2020, PrestaShop 1.7.7 was fully available (= 100% translated and validated) in 12 languages:

Chinese TraditionalDanishDutchFrench
ItalianLithuanianPortuguese, BrazilRomanian
SlovakSloveneSpanishSwedish

Languages with the best evolution

In comparison with July 2020, the following languages had the best progress thanks to the translation community:

  • Esperanto (+4% to reach 40% translated)
  • Azerbaijani (+4% to reach 17% translated)
  • Albanian (+4% to reach 39% translated)

Best translation progress for August 2020

A huge thank you to all the contributors!

Of course, this is highlighting the languages that made some progress with new translations; but it doesn’t mean that the languages that aren’t mentioned here aren’t active. Indeed, some editing and rewriting could be going on, but the percentage of translation wouldn’t be modified (since it’s working on strings that are already translated). So let’s not forget about the work of other proofreaders! Thanks to you too!

Languages that need (more) proofreaders

A translated string will not be available in PrestaShop as long as it is not validated. For this reason, it’s important to keep a high level of validated strings vs. translated strings, to make sure everyone benefits from the latest translations! :fire:

At the end of August 2020, some languages would still benefit from some proofreading:

  • Spanish, Argentina (100% translated vs 13% validated).
  • Spanish, Venezuela (52% vs 11%).
  • Galician (100% vs 59%).
  • Esperanto (44% vs 0%).
  • Spanish, Mexico (93% vs 57%).

Languages that need proofreading

If you wish to help to proofread what has been translated, please contact PrestaShop with the language you’d like to proofread: just send an email to translation@prestashop.com. Your help is needed!

If you haven’t joined us on Crowdin yet, it’s never too late! :wink:

If you want to gather your fellow translators to work towards a better harmonization, start a glossary, or anything else, do let me know: I’ll include a word about it in the next monthly report.

Do you have a question, a remark? Don’t hesitate to leave a comment. See you next month! :raising_hand:

Viewing all 939 articles
Browse latest View live