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

PrestaShop 1.7 patch release lifecycle

$
0
0

Following previous post about Minor Release Lifecycle, here is more explanations about software lifecycle at PrestaShop, focusing on patch releases and the release process.

This blog post explains:

  • The detailed lifecycle for PrestaShop patch releases
  • The decision process for patch releases
  • The Maintainance scope

Patch release lifecycle

Patch releases are “maintainance” releases: they provide bug fixes and security patches, but do not provide enhancements or new features. They are part of a necessary maintenance process.

Scope of maintainance

When a minor version is released, such as PrestaShop 1.7.7.0, the related branch becomes the latest and maintained branch. This means that, when PrestaShop 1.7.7.0 is out :

  • There will be no more PrestaShop 1.7.6 patch releases, for either bug or security issues(1)
  • There might be, if necessary, patch releases for PrestaShop 1.7.7. (which means: 1.7.7.1, 1.7.7.2 and so on …) until next minor release is delivered (PrestaShop 1.7.8)

When PrestaShop 1.7.7.0 will be released, PrestaShop 1.7.6 will reach its End Of Life, just like all previous minor versions.

When is it decided to release a patch ?

A patch release is scheduled when “trigger bug” is reported:

  • A major bug in maintained branch
  • A security issue in maintained branch

As of today, since PrestaShop 1.7.7.0 is still not released, the maintained branch is 1.7.6.x. Latest patch release is PrestaShop 1.7.6.5.

This means that work on 1.7.6.6 release will start if a community contributor or the QA team reports a major regression in PrestaShop 1.7.6.5 or a security issue(2).

If minor or trivial regressions are reported for PrestaShop 1.7.6, they are scheduled to be fixed in next minor version. Minor or trivial bugs are considered not important enough to trigger a patch release process which is, as explained below, a costly process for both the PrestaShop company and the PrestaShop community.

From the moment a “trigger bug” is reported, there start a 6 weeks long timer. Our process states that a patch release must be delivered within these 6 weeks.

What happens in six weeks

From the moment the 6 weeks timer is started, Product Team register into the dedicated Kanban (today it means the 1.7.6. Kanban board) the bugs to be fixed in the patch release, whether they are trivial, minor or major.

Then maintainers start working on fixing them (or merging the bug fixes submitted by the community).

Obviously, security issues are not processed the same way: when a vulnerability is reported, it is being explored and it is being fixed in a hidden manner in order to make sure hackers unaware of the vulnerability do not hear about it. We use GitHub Security Advisories and temporary private forks to collaborate on the fix. Maintainers only publish the advisory and the fix on the day of the release(2), following responsible disclosure principle.

When all of the bug fixes for the target patch version are merged, and all teams pressure themselves to make it happen before the end of the 6 weeks, maintainers deliver a Release Candidate to QA team for the standard patch release test campaign. This campaign aims to find whether this patch introduces new bugs.

If the campaign reports that no bugs are found, the new patch release is delivered!

Why maintain only the latest minor version ?

As explained above, PrestaShop only maintains one minor version. When PrestaShop 1.7.7.0 is out, PrestaShop 1.7.6 will be considered End Of Life and not maintained anymore. No more bug fixes for this version, no more patch releases, not even security releases(2).

This project management rule might be seen as harsh, because it means that if you do not upgrade to PrestaShop 1.7.7.0, you shop will use an outdated and unmaintained version and become possibly vulnerable to newly found security issues.

However this rule is actually dictated by the current very wide scope of the PrestaShop project. Very often, maintainers are working both on a patch release and the next minor release. For example one week ago work was happening on both 1.7.6.5 patch release development and 1.7.7.0 Feature Freeze. The scope of PrestaShop project is very wide which is why maintainers need to focus their efforts on the most important components, so the scope ony contains these two versions.

We are working to make the maintainers team grow (and be able to handle a wider scope) with not only new PrestaShop employees, but also with external people. When the team grows, it could be able to provide patch releases on more versions, like two or three of them, or provide Long Term Support releases.

Why six weeks, and not eight or two ?

This six weeks timeslot is actually a balanced answer to a complex issue : the benefits of releasing often versus the cost of a release.

There are actually 3 sets of costs to a release.

The first is the cost of building it.

Each PrestaShop patch release is a costly operation. It involves:

  • Maintainers time to create, validate and merge the bug fixes
  • QA team time to validate bug fixes
  • Maintainers time to deliver the builds and trigger the release process (see below)
  • QA team time to run the patch test campaign

Some other PrestaShop teams also dedicate some time to communicate about the release (marketing team, partnership team …).

The second set of costs is the cost of delivering it.

From the outside it might look “just delivering the ZIP archive”.

Actually the release process is a lot more complex than just delivering the ZIP archive to the community.

Multiple systems in PrestaShop rely on external services needing proper configuration:

  • Link with Addons marketplace must be established as modules, both native and third parties, can be downloaded from it, and modules compatibility ranges must be updated
  • Localization packs must be updated for new version
  • Autoupgrade module and process must be updated for new version
  • A release note and a Changelog must be generated, reviewed and published
  • maintainers also provide docker images for PrestaShop which need to be updated for new version

Finally, releasing a new version is consuming community time.

  • Developers, webmasters, agencies must update the shops they host and maintain
  • Module and theme developers need to check that their modules is compatible with latest version
  • Host providers and SaaS providers using PrestaShop must update their offers and configurations

Delivering patch releases more often is an idea regularly being discussed in all teams (2 weeks ? 4 weeks ?). But increasing the release frequency of PrestaShop would pressure the community as it would require more of their time (accordingly for more quality).

This is why we think six weeks is a good balance between time-to-market, users needs and community / project resources cost.

Further topics

After having read this article, you may be asking yourself multiple questions:

  • What about next major release? When will it happen?
  • What exactly involves this release process which is so costly ?

As this blog post is already long, these questions might be covered in another post soon. If you have questions you would like to add to this list, please write a comment, and we will do our best to answer it in this next post!

Glossary

1: If a massive vulnerability is found, this rule might be bypassed and a patch releases delivered for previous versions, but this would be only done for critical vulnerabilities.

2: In case of ‘regular’ security vulnerabilities this process will be applied. However if a critical vulnerability was found on older, unmaintained versions, maintainersmight break this rule and patch these older versions as we also care about the community still using these old versions.


PrestaShop Core Weekly - Week 17 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 April 2020.

Core Weekly banner

General messages

The 1.7.7.0 beta release is currently being built and will be available after tests and approval from the QA team. You can follow the status of the 1.7.7.0 on GitHub.

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

Code changes in the ‘develop’ branch

Core

Back office

Front office

  • #18704: Prevent Tabnabbing. Thank you @h8h
  • #16872: Allow everyone to track their order from guest tracking. Thank you @Hlavtox

Web services

Code changes in the ‘1.7.7.x’ branch

Core

Back office

  • #18764: Fix exception when deleting address from customer view, by @sowbiba
  • #18686: Rename CountryChoiceType options using camel case convention, by @jolelievre
  • #18635: Show confirm modal when adding product with new invoice. Thank you @zuk3975
  • #18566: Fix bad display of customizable product on create order page by removing margin and overflow, by @NeOMakinG
  • #18544: Show new invoice information when adding product with new invoice in BO Order. Thank you @zuk3975
  • #18524: Remove ability to apply discount on all invoices in order view page. Thank you @zuk3975
  • #18464: Add modal to customer address listing on bulk action, by @matthieu-rolland
  • #18445: Fix tooltip on product buttons of Order View staying on the page after delete and not being visible when adding a product, by @NeOMakinG
  • #18329: View order page: Display correction - 2, by @NeOMakinG
  • #18196: Refresh documents tab when adding product in order view page, by @atomiix

Front office

Tests

Code changes in modules, themes & tools

PrestaShop-webservice-lib

Issue Bot

  • #5: Avoid remove assignee in some rules, by @sowbiba

The PrestaShop open source project

nightly-board

  • #28: Remove unused console log, by @NeOMakinG
  • #27: Home mobile filter list by id and not using tests, by @NeOMakinG
  • #25: Fix percentages on main suite, by @NeOMakinG
  • #24: Fix some bugs on mobile, adjust informations on suites and kick overflow on graph, by @NeOMakinG

Docker images

Wishlist block

QA nightly results

  • #38: Add SVG badge generator, change header content-type, by @SimonGrn
  • #37: update README, by @SimonGrn
  • #36: DELETE route to delete a report, filters for browser and campaign in homepage, by @SimonGrn

Changes in developer documentation

Architecture Decision Records repository

Core Weekly Generator tool

PSGDPR

  • #83: Remove ModuleAdminControllers from SEO & URLs page, by @Matt75

Auto Upgrade module

TranslationTools Bundle

RSS products feed

Advertising block

Cash on delivery (COD)

Customer data privacy block


Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @SimonGrn, @boubkerbribri, @PierreRambaud, @eternoendless, @sowbiba, @ttoine, @NeOMakinG, @Quetzacoalt91, @nesrineabdmouleh, @pablopolyte, @jolelievre, @OliverCG, @h8h, @simondaigre, @matks, @zuk3975, @matthieu-rolland, @LouiseBonnard, @Matt75, @arouiadib, @atomiix, @dpatou, @Klemart3D, @fukawi2, @Hlavtox, @dependabot[bot], @MathiasReker, @marekhanus, @pangteypiyush, @nicolasverlhiac, @totti240282!

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 18 of 2020

$
0
0

This edition of the Core Weekly report highlights changes in PrestaShop’s core codebase from Monday 27th of April to Sunday 03rd of May 2020.

Core Weekly banner

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

Code changes in the ‘develop’ branch

Core

  • #18736: Address State field drop down is ordered by ID, instead of State Name. Thank you @PululuK
  • #18531: Remove irrelevant die() and throw exception instead, by @matks

Back office

  • #18757: [BO] Fix bug on type=’color’ in renderOption. Thank you @ramtin2025
  • #18184: Rework help-box making it reusable and more maintenable by regrouping markups, by @NeOMakinG
  • #17818: Suggest to have at least 2 payment methods, by @matks

Code changes in the ‘1.7.7.x’ branch

Core

Back office

  • #18812: Fix invoices refresh when adding product in an order, by @atomiix
  • #18580: In BO Product page, use ecotax excl. tax instead of tax incl., by @matks
  • #17179: Fix free gift product in Order create page. Thank you @zuk3975

Installer

Web services

Tests

Merge

Code changes in modules, themes & tools

Changes in developer documentation

Theme customization

The PrestaShop open source project

  • #35: Some fixes for slack Channels page, by @matks
  • #34: Some fixes for slack README, by @matks

docker-templates

Wishlist block

  • #33: Add wishlist lists page, styling it, add prettier and share modal, by @NeOMakinG

Classic-rocket theme

  • #153: add linkedin to compatible with new ps_socialfollow module. Thank you @dosbiner

PrestaShop Specifications

mjml-theme-converter

live-demo-devices


Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @jf-viguier, @boubkerbribri, @matks, @eternoendless, @PierreRambaud, @Progi1984, @jolelievre, @ttoine, @djodjo3, @nesrineabdmouleh, @sowbiba, @aunhappy, @atomiix, @NeOMakinG, @ramtin2025, @PululuK, @dosbiner, @shaffe-fr, @marionf, @matthieu-rolland, @zuk3975, @Quetzacoalt91!

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 19 of 2020

$
0
0

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

Core Weekly banner

General messages

1.7.7 beta is built and currently being checked by the QA team before the release.

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

Code changes in the ‘develop’ branch

Core

Back office

Tests

Merge

Code changes in the ‘1.7.7.x’ branch

Tests

Code changes in modules, themes & tools

Google Analytics module

Changes in developer documentation

PrestaShop Specifications

PHP Developer Tools

PSGDPR

PrestaShop-webservice-lib

  • #66: Fix typos in PSWebServiceLibrary.php. Thank you @pgrimaud
  • #53: Add ‘schema’ to resources, then you can use $opt[‘schema’] = ‘blank’;. Thank you @marekhanus

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @boubkerbribri, @apacios, @nesrineabdmouleh, @matks, @sam-pires, @Quetzacoalt91, @Leenwt, @Progi1984, @PierreRambaud, @pgrimaud, @marekhanus!

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!

The new order pages in PrestaShop 1.7.7

$
0
0

With the release of the new version 1.7.7, this article has the ambition to detail one of the major features of the version. Our work was focused on one of the most used pages by our merchants: the orders’ management page.

We are thrilled to introduce to you the new features around the order process. But before jumping into the features awaiting the merchants in the new version, we would like to share our thinking process.

First, why rethinking this page in particular?

The pages were becoming particularly unpleasant to use because of its old visual appearance and its hierarchy of information that led to inefficiency and misunderstanding for our merchants.

A long process to ensure the full success of the revamp.

To have a better understanding of the merchants’ pain points, we have interviewed merchants with different sales volume, country and business activity as well as agencies of different sizes. The pain points encountered have then been addressed by the features added in the order list page (I) and order detail page (II).

Now, let’s present these changes.

I. Concerning the page listing the orders, we have added the following features

The listing order page’s new features aim at helping merchants save time and increase their productivity.

  • Order’s preview: Opens a panel just below the line of the order to preview the order’s essential information.

Order preview

What is the goal:

Allows the merchant to check, prepare and track his order without having to open it. So the merchant won’t have to open the order to check essential information that doesn’t require actions.

How it works:

When the user clicks on the icon, it displays the order’s preview below the line selected. The order preview lists the following information: the invoice address, the shipping address, the customer details, the carrier details (and the tracking ID when available) and the products’ list.

The products’ list displays on each line the product name, reference, stock location (if available), quantity, tax price and total price for the products. The total price follows the customer group configuration. If the customer group sets the prices with or without tax, it impacts the displayed amount in the total column and adds the related label “tax excluded” or “tax included”.

The list displays the 10 first products. The remaining products can be seen by expanding the list.

There is a new hook called displayOrderPreview on the bottom of the preview.

Order preview's hook

It allows modules to add new elements on the preview. For more specific needs, the preview can be changed by overriding templates, find here more information.

 

  • Editable order status labels: Allows to change the order status directly from the listing.

Order page - Edit a status

What is the goal:

Making the order fulfillment less time consuming for the merchants

How it works:

When the user clicks then on the status label, it displays a drop-down list with all of the available statuses. By selecting one of the items on the list, the user can update the order status.

 

  • Statuses’ color: Color according to the order status

Order statuses by category

What is the goal:

The colors used by default to contextualize the status is based on a wide range of colors without following any real logic. To bring a structure and meaning to the statuses colors, the statuses are grouped in 4 colors categories:

  • Dark blue: orders waiting for a customer action ( i.e. waiting for a bank check-in)
  • Light blue: orders waiting for a merchant action following an accepted payment
  • Green: no action needed from the merchant (i.e. when the product is delivered)
  • Red or black: special status (i.e. payment error)

The merchants have a concise view of the work remaining to be done between the order to be prepared and the delivered order.

How it works:

The statuses color is set by default. They are still configurable in the Order Setting page.

 

  • Link to the customer’s profile: Creates easy access to the customer’s profile by clicking on its name.

Right click on the customer's link

What is the goal:

Merchants used to have to open the order to get access to the customer page. It is now accessible from the orders listing.

How it works:

Clicking on the customer name opens the customer page in a new tab.

 

  • Bulk action redesign : The bulk actions’ design and its position were updated to make it more visible and quicker to use.

Change_order's statuses

What is the goal:

To help the merchants to process multiple orders in 3 clicks.

How it works:

Select several orders, choose the new order status in the pop-in then validate it to update the orders’ status.

 

  • Open in new tabs: Open commands in new tabs by mass action to process them as the merchant proceeds.

Open in new tabs

What is the goal:

If the merchant has a poor internet connection, he can now open orders in advance to them to load in the background.

How it works:

Choose several orders, select open in new tabs option on bulk action’s option to open them in new tabs.

II. For the order details, we have added the following features:

Even if we keep the objective of saving time and productivity, the improvements and features are focused on readability and the position of the information. Indeed, some important information did not have the display corresponding to its importance. For example, the list of products that were at the bottom of the page is now at the top of the page as it is the first information to be consulted.

Thus with better readability, we allow the merchant to be more efficient in his work.

  • Pagination on the product list: Allows to navigate in the order product list through the pagination.

Order's_pagination

What is the goal:

Avoid an endless and unreadable list of products. Pagination provides structure in the products’ navigation. Also, the list has been moved to the top of the page to avoid the merchant from scrolling to the bottom of the page to see the products ordered.

How it works:

The pagination of the list starts when there are more than 8 products in the cart. The stock location column is displayed when one of the products has a stock location. Also, It is only displayed at the corresponding pagination.

 

  • Pack & customized products: Display the product’s customization on the list and gives access to a pack content through a pop-in.

What is the goal:

Easy check and verification directly from the list.

How it works:

For customized products - files or texts are displayed below the product. The files are added in a new column on the same line. The texts are displayed below each other.

Customized products

Pack of products - A link bellow the products’ pack displays the related products with the ordered quantity and the available product stock.

Pack of products

 

  • Message interface: Display the 4 latest messages and allows the merchant to see the whole conservation in a pop-in.

Order's messages

What is the goal:

To ease the discussion readability through a modern interface, inspired by the current messaging apps.

How it works:

The differentiation between private messages has been reinforced. It is only visible to the merchant. This allows for better readability and reduces misunderstandings. At the 5th message between a customer and the merchant, a link is displayed to open the pop-in which displays the entire conversation.

 

  • Hooks: New hooks positions.

Order hooks mapping

What is the goal:

The hooks have been relocated to more strategic positions to match the layout redesign and thus provide a better user experience.

How it works:

Find here the documentation on the hooks’ mapping. A new hook grouping the actions of the top of the order page has also been added to replace displayBackOfficeOrderActions which will no longer have the same layout.

The detailed changes can be found on the following pull requests on github #16144 and #17734.

A summary of the hooks impacted:

  • displayAdminOrderTop (alias of displayInvoice)
  • displayBackOfficeOrderActions
  • displayAdminOrderSide (replace displayAdminRight)
  • displayAdminOrderMain (replace displayAdminLeft)
  • displayAdminOrderTabLink (replace displayAdminOrderTabOrder et displayAdminOrderTabShip)
  • displayAdminOrderTabContent (replace displayAdminOrderContentOrder and displayAdminOrderContentShip)
  • actionGetAdminOrderButtons

Over the last few months, PrestaShop has been working hard to deliver these new features and many bugs fixes on these pages. 31 bugs, including 8 majors, 16 minors and 3 trivials, have been fixed from the previous 1.7 and 1.6 versions. For more information, you can find the way we classified the severity of the bug and the list of the fixed bugs. Overall, the order project has ensured more stability by correcting ⅔ of the major bugs of the order page.

We encourage you to try out the features on the beta version and share any feedback here. Your opinion is important to us. We are counting on you to share your feedback and new ideas with us so that we can continue to develop the PrestaShop that you need.

We would like to thank WebXY, YATEO, Ecomiz and VAISONET and all the merchants interviewed for taking the time to exchange with us.

PrestaShop 1.7.7.0 Beta Is Ready To Be Tested!

$
0
0

The first Beta version for PrestaShop 1.7.7.0 is now ready for you to test!

Prestashop 1.7.7.0 BETA Release

After more than one year in the making, we are really thrilled to announce that we are releasing the 1.7.7.0 beta. This version is even bigger than the previous one with 957 merged pull requests, compared to 748 for 1.7.6.0 (our previous record) – and we are still at least a month away from the final version.

This huge work has been possible thanks to the engagement of our great community, with more than 110 external contributors participating in the development of this version, fixing bugs, adding improvement to existing features or even developing new features for our merchants! In this version we covered essential topics such as order management. By the way, you will enjoy more efficiency in daily tasks with the full redesign and new features of order pages. And also more stability with the upgraded compatibility to PHP 7.3 and more flexibility with new hooks.

It is essential that you to start testing this beta version before the release of the stable version in about a month. During this beta period, 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 version of PrestaShop and give us your feedback as early as possible. Remember our article about minor release lifecycle: the sooner a problem is identified, the sooner it can be fixed.

If you find regressions compared to the 1.7.6 version, please open an issue and describe your bug on Github so that we can reproduce it and fix it as soon as possible.

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

What’s new?

New features & improvements

  • The order pages have been redesigned and migrated to Symfony, including several new features to improve efficiency and avoid having to go back and forth between orders. To get all details and know more about the new features, read our article dedicated to the full rework or the order management system.

  • To improve conversion and help our merchants’ growth, we’ve been working on adding an improved search mechanism in front office called “Fuzzy search”. Developed by community member Lathanao with the help of the core team, this feature implements the Levenshtein algorithm to improve PrestaShop’s native search in front-office by taking into account misspelling or typos. Read more here!

  • In order to allow merchants to have all the currencies they need to meet the expectations of every customer, they can now add new official and non official currencies (e.g. local or custom) to their store and customize their display per language as desired.

Customize currencies symbol and format

Currencies format by language

  • The field Manufacturer Part Number is now available for product management. It’s used to identify a specific product of a given manufacturer. It will improve indexing and searching, and also have a positive effect on SEO.

  • An option has been added In Shop parameters > General to choose to enable or disable suppliers in front-office, regardless of brands. There used to be only one generic option, which could be problematic for merchants. They are now separated, to suit all merchants’ needs.

  • Error page in the Back office: If an unexpected error occurs in the back office when running in production mode, you are now presented with a useful error page instead of a blank page, this way you have more information to understand what is happening.

  • It is now possible to translate email contents in the Back Office when using the new Email theme feature introduced in 1.7.6 and available in Design > Email theme.

  • A lot of international improvements have been made. New languages have been added to PrestaShop and its installer, localization packs have been updated to keep PrestaShop up-to-date to offer accurate international data for all businesses.

  • Support for emojis: All database tables are now encoded in utf8bm4 by default, enabling support for emojis both on front and back-office fields.

Improved core modules

Some modules have been improved with bug fixes for increased robustness and new features for better productivity:

  • Theme customization: The feature is now available for product & category pages (in addition to the home page). You can easily find, configure and customize your product and categories’ pages theme and main native modules.

  • Customer reassurance (blockreassurance): Now available on all pages (above or below the header and / or the footer) in addition to product pages and during the checkout. You can customize the color of the icons, add a description and a link. With this module you build the confidence of your visitors and thus improve your conversion rate.

Notable fixes

More than 160 bugs have been fixed for the 1.7.7.0 (vs 110 for the 1.7.6.0), including 11 highly expected bug fixes, 5 front-office notable fixes and 5 back-office notable fixes

Notable technical improvements

  • Updated PHP support. Following our announcement last year, PrestaShop 1.7.7.0 introduces support for PHP 7.3 while dropping support for PHP versions earlier than 7.1.3 for more stability.

  • Updated jQuery to 3.4.1 everywhere. Thanks to jquery migrate, we have been able to upgrade jQuery to the latest version in Back Office as well as Classic & Core theme.

  • Automatic form rendering. Thanks to the newly updated Twig form theme, back office forms are now much easier to render. This allows extensions to add form fields anywhere in the form without need to override the form’s template. (Note: this is being implemented progressively, not all forms support it at the time of writing)

  • New CQRS Debugger in the Symfony debug bar. With this new feature you can find out which commands and queries have been used to build the page you’re seeing. If you need to customize its behavior, you can decorate or override it from a module.

  • Improved tab management. Tabs now support symfony routes (no longer need a fake legacy controller), automatic detection in modules, enable/disable. When a module is disabled the Tab is now hidden (and when it is re-enabled it is visible again)

Symfony migration

15 new pages migrated to Symfony including the order pages, resulting in reaching almost 55% of the Back office migration

  • Orders > Orders: Listing, view & edit, add
  • Orders > Credit Slips
  • Orders > Shopping Carts: View
  • Catalog > Monitoring
  • Catalog > Brand & Suppliers: Listing, view, add & edit
  • Catalog > Files: Listing, add & edit
  • Customer Service > Order Messages > Listing, add & edit
  • Customers > Addresses > Listing, add & edit

Core changes

Notable changes in 1.7.7 have been noted in this documentation page. Please, read it carefully, especially if you develop modules for PrestaShop 1.7.

Download

You can download PrestaShop 1.7.7.0 beta here:

Download PrestaShop 1.7.7.0 beta now!

How to help test 1.7.7

Your feedback on this beta is essential, the regressions you find right now are as many bugs less on the final version and less patches versions. It also means fewer problems on your (or your customer’s) online store.

You must:

Known issues

If everything is working well, feel free to comment on this article and share on social networks, we also need this kind of feedback! ;-)

Do you speak PrestaShop? – April 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, new content manager :tada:

I would like to take this opportunity to present myself to all of you! My name is June, I joined the PrestaCrew as the new Product Content Manager last week, and I will be in charge of the Crowdin’s translation projects in the next several months. I am very excited about discovering this tool and am delighted to see many of you from across the globe dedicate their time to these projects. I want to say thank you for your hard work, your contributions can help anyone who is using or will be using PrestaShop. ;) I look forward to communicating with you guys, if you have any questions do not hesitate to contact me, I would be more than happy to answer you. :smiley:

: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: A. JELLALI (abdelazizjellali), Carlos Prince (CarlosPrince), CuneytOral, Goedkoopsteverf, Goldylocks Portugal (goldylocks.portugal), hismi, Matas Šileikis (matassileikis), Micael Ferreira (micaelsf), Mickeycss (rockyluo), Nietnagel, Pedro Loureiro, (pedrogrou82), ricardoalves, Schuster Lorenz (lorenzschuster), Vitalie Ciobanu (VitCiobanu), and ymk0577. See you soon on Crowdin… and in PrestaShop. :stuck_out_tongue_winking_eye:

A few stats

  • 55 members were active on the project this month.
  • A total of 57,110 words have been translated and 23,778 validated.
  • All this in 34 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 April 2020.

Top 10 translators in April:

 TranslatorLanguage# Words
1.Elvis Crnić (elvissaba)Bosnian12,208
2.GoedkoopsteverfDutch10,206
3.Carlos Prince (CarlosPrince)Spanish, Venezuela6,871
4.Ronny (rbuelund)Danish4,044
5.xanvieiroGalician3,250
6.Schuster Lorenz (lorenzschuster)German2,498
7.Filip Filipović (filipfilipovic)Croatian2,028
8.kozi lamre (kozmetika2000)Albanian1,862
9.Zoran Tejic (zotamal)Serbian (Latin)1,598
10.M. Mirena (mmirena)Albanian1,261

Top 10 proofreaders in April:

 ProofreaderLanguage# Words
1.Adeko Webdesign & Development (Adeko)Dutch10,024
2.Ronny (rbuelund)Danish4,200
3.Filip Filipović (filipfilipovic)Croatian2,040
4.M. Mirena (mmirena)Albanian1,625
5.Zoran Tejic (zotamal)Serbian (Latin)1,598
6.Gabriel Tenita (ggedamed)Romanian746
7.Sretko Devič (Chico)Slovenian647
8.ols (olegsv)Hebrew604
9.Enzo Ferrara (ferribbotte)Italian504
10.Rodrigo Laurindo (rblaurin)Portuguese, Brazilian489

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 April 2020, PrestaShop 1.7.7 was fully available (= 100% translated and validated) in 4 languages:

DanishPortuguese, Brazil
SloveneChinese Traditional

Languages with the best evolution

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

  • Bosnian (+10% to reach 43% translated)
  • Croatian (+6% to reach 99% translated)
  • Danish (+5% to reach 100% translated and approved)

Best translation progress for April 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 we should keep a high level of validated strings vs. translated strings, to make sure everyone benefits from the latest translations :fire:

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

  • Spanish, Argentina (100% translated vs 13% validated).
  • Spanish, Venezuela (51% vs 11%).
  • Galician (99% vs 59%).
  • Tagalog (48% vs 24%).
  • Arabic (94% vs 71%).

Languages that need proofreading

If you wish to help to proofread what has been translated, please contact us with the language you’d like to proofread: just send an email to translation@prestashop.com. We need your help!

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 us know: we’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 20 of 2020

$
0
0

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

Core Weekly banner

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

Code changes in the ‘develop’ branch

Tests

Merge

Code changes in the ‘1.7.7.x’ branch

Core

Back office

  • #19103: Redirect to dashboard when employee default page is unauthorized, by @sowbiba
  • #19089: Fix bug keeping user from accessing his profile page in BO, by @matthieu-rolland
  • #19086: BO - New Product - In MultiLang BO, the default name input wasn’t in the employee language, by @Progi1984
  • #19058: Refresh invoices total when product price is updated, by @sowbiba
  • #19039: Fix product pagination in order with customization, by @atomiix
  • #19032: Update ps_themecusto to the latest version, by @atomiix

Front office

  • #18993: Fix discount display on multicurrency context, by @sowbiba
  • #18884: FO: Display ‘free’ as shipping cost in the cart when a cart rule grants free shipping, by @matthieu-rolland

Tests

Code changes in modules, themes & tools

Changes in developer documentation

nightly-board

  • #30: Fix bug on report with failures that overflows, by @NeOMakinG

Translation Files repository

Core Weekly Generator tool

Wishlist block

Faceted search module

Data mining for statistics

Traces

Search bar autocomplete

  • #3: Fix error when there is no cover images in product. Thank you @jonnydevv

ps_productinfo


Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @boubkerbribri, @jolelievre, @nesrineabdmouleh, @Quetzacoalt91, @NeOMakinG, @PierreRambaud, @sowbiba, @derekjwhitten, @matthieu-rolland, @Progi1984, @ttoine, @pablopolyte, @aunhappy, @atomiix, @yannicka, @PululuK, @jonnydevv, @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!


PrestaShop Core Weekly - Week 21 of 2020

$
0
0

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

Core Weekly banner

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

Code changes in the ‘develop’ branch

Core

Back office

  • #19191: When the thread refers to a product, the generated link are wrong. Thank you @runningz
  • #19140: Fix partial refund display issues in order page (BO), by @matthieu-rolland
  • #19080: Change product status in the BO search results. Thank you @PululuK
  • #19026: Enable drag-and-drop for Grid listings in both directions, by @matks
  • #19021: BO - Save button design change if an error message is displayed. Thank you @PululuK
  • #19020: BO - Catalog price rule - Currency sort and filter not working as expected #19014. Thank you @PululuK
  • #18876: Remove array to string conversion in bulk delete address faulty usecase, by @matks
  • #18362: Grid row delete confirmation modal - Advanced parameters > DB > SQL Requests, by @sowbiba

Front office

Merge

Code changes in the ‘1.7.7.x’ branch

Core

  • #18811: Introduce CompilerPass to perform ControllerAwareTrait injection, by @matks

Back office

  • #19205: Backport bugfixes 19020 and 19021 for 1.7.7.x, by @matks
  • #19108: Extend OrderController with FrameworkBundleAdminController instead of CommonController. Thank you @zuk3975
  • #18984: Remove legacy files for Order page, by @matks
  • #18923: Multistore: Fix error when viewing an order with custom product made on secondary shop, by @matthieu-rolland
  • #18456: Update cart currency when order currency changes, by @sowbiba

Tests

Code changes in the ‘1.7.6.x’ branch

Back office

  • #18975: BO - Customer View page - Added Green alert when editing a voucher, by @Progi1984

Code changes in modules, themes & tools

Contact Form

Changes in developer documentation

Docker internal images

PrestonBot

Share Buttons module

PrestaShop contributors website

mjml-theme-converter

TranslationTools Bundle

  • #71: Add support for PHP 7.3 and 7.4 - use Twig 3.x, Symfony 5.x and PHPUnit 8.x. Thank you @mvorisek

PS Cleaner module

  • #26: add mail table for cleaning. Thank you @nenes25
  • #23: Deleting from category_group and setting auto_increment. Thank you @sadlyblue

Custom text

Watermark

  • #13: Prepending module rewrite rules to .htaccess instead of appending. Thank you @arouiadib

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @PululuK, @PierreRambaud, @ksaandev, @matks, @zalexki, @boubkerbribri, @nesrineabdmouleh, @nprokopenko202, @runningz, @matthieu-rolland, @atomiix, @zuk3975, @Progi1984, @djodjo3, @doeselschnecke, @Quetzacoalt91, @jolelievre, @mickaelandrieu, @sowbiba, @Matt75, @dependabot[bot], @mvorisek, @Klemart3D, @BlackKerio, @nenes25, @MathiasReker, @arouiadib, @sadlyblue!

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 definition of the ‘good first issue’ label

$
0
0

Earlier this year, the PrestaShop product team decided to use new leverage to help new contributors participate in the PrestaShop project on GitHub: the ‘good first issue’ label.

But what is it exactly? And how does it work? Below are some questions raised to give it a proper definition and specify its use:

:thinking: What does this label mean?

People participating in the PrestaShop project do not have the same purpose, they also do not share the same skills. And because all profiles should be able to contribute, the goal is to offer many ways of getting involved.

Among other contribution possibilities, the ‘good first issue’ label allows a smooth onboarding to the PrestaShop open source project on GitHub. Indeed it gets the list of all bugs or improvements estimated with low complexity that do not have any pull request linked to yet. Anyone can pick one and start working on it!

Of course, it won’t avoid unexpected complexity to pop up - PrestaShop’s code hidden talent - but we try our best to sort the most transparent issues out with this label. And you can always ask questions and get help.

Onboarding beginners properly is key; there is a good chance that they will keep on contributing because they will learn the process and then play by the rules.

:sunglasses: Who is concerned?

All technical profiles who are not familiar with GitHub, open source, or the PrestaShop project and who are willing to contribute before moving, perhaps, to more complex issues.

Most importantly, this label concerns all people who are eager to get involved in an easy first contribution experience.

How?

Go to the issues tab on the GitHub project here and click on the label in the dedicated banner to have all the good first issues listed. Welcome on board!

Good First Issues banner

:clipboard: What makes a ‘good first issue’?

Here is the touchy part: how to define a first issue when all situations are different and when its solution might bring up extra complications. A few elements are studied to decide whether or not an issue is good for first-timers.

Severity of the bug

In the PrestaShop classification, severity has four levels: trivial, minor, major, and critical. It goes without saying that only the first two levels will be taken into account in this case. So we can ensure you that good first issues are likely to be either trivial or minor bug reports.

Technical complexity

In the good first issues list, you will also found small feature requests, display bugs or other improvements that should be pretty easy to code. And this is where our beloved developers intervene, to help estimate as accurately as possible the issue’s degree of complexity.

Specifications

Usually, an issue is considered ready to be developed once specified. In other words, the expected behavior must be defined in this issue, this is why you will only get issues that contain a clear or detailed functional perimeter.

Solution

Having the author of the issue already giving elements of the solution (when he/she has a clue) is much appreciated since it will help you to work on it. It is not required though. But it is a really nice bonus. ;-)

Now you have found an interesting good first issue and would like to work on it? Just create a pull request mentioning the number of the good first issue it fixes to have it reviewed by our teams or the community!

Have another idea to extend the use of this label? Feel free to comment this post, we will be glad to have your feedback!

PrestaShop Core Weekly - Week 22 of 2020

$
0
0

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

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

Code changes in the ‘develop’ branch

Core

Back office

Front office

  • #19434: Fix : “update address” page title is changed when an error is triggered. Thank you @PululuK
  • #19395: Return 404 in frontoffice if return merchandise is disabed. Thank you @clotaire202
  • #19392: Remove useless variable and fix typo. Thank you @ksaandev
  • #19391: Remove useless variable from FromController::init(). Thank you @ksaandev
  • #19298: Add missing breadcrumb links in order pages: confirmation/return/follow, cart and addresses pages. Thank you @nprokopenko202
  • #18739: Add a condition to avoid currency name repeat, by @NeOMakinG

Web services

  • #19390: Small improvements for WebserviceRequest class, by @matks
  • #19389: Extract SQL logic from WebserviceRequest to unit test it, by @matks

Tests

Code changes in the ‘1.7.7.x’ branch

Core

Back office

Front office

Installer

Tests

Code changes in modules, themes & tools

Image slider

  • #50: Update version to 3.1.0 & Some Project Improvements , by @Progi1984
  • #23: BO: Fixed position with new slide and remove check on non present input position. Thank you @beyondsagency

QA nightly results

Email Alerts module

Core Weekly Generator tool

Live translation

PrestaShop contributors website

  • #14: Fix arguments for Traces (Username & Password), by @Progi1984

PHP Developer Tools

LocalizationFiles

PrestaShop Virtual Machine

Translation Files repository

Changes in developer documentation

TranslationTools Bundle

  • #77: Add CONTRIBUTORS file, fix composer.json, by @matks

The PrestaShop open source project

  • #38: Adding #community-help slack channel, by @ttoine

PrestaShop Specifications

Registered customer information

  • #6: Release 2.0.3, by @Progi1984
  • #5: Fix age data with birthday 0000-00-00 and empty currency label, by @Matt75

Gamification module

Traces

  • #9: Changed arguments for username & password in options, by @Progi1984

example_module_mailtheme

Currency selector

  • #17: Add condition to avoid duplicate currency name, by @NeOMakinG

Contact informations module

Buy button lite

Product Comments module

  • #42: Rebuild ratings loading on product list. Thank you @Oksydan

Email subscription module

  • #35: Fixed the email when user is registering (to the site and the newsletter simultaneously). Thank you @Codencode

European VAT number

  • #11: [-] Increase curl timeout from 5 to 10 sec. Thank you @vmsrg

Products in the same category

Wire payment module

  • #28: Use DIR constant instead of dirname(FILE). Thank you @MathiasReker
  • #11: hookPaymentOptions return type must be array. Thank you @Maks3w
  • #12: Fix use of ProductPresenterFactory. Thank you @RRENOU

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @matks, @Progi1984, @Matt75, @PululuK, @SimonGrn, @boubkerbribri, @PierreRambaud, @zuk3975, @clotaire202, @Quetzacoalt91, @ksaandev, @prestamodule, @jolelievre, @ttoine, @eternoendless, @sam-pires, @nprokopenko202, @nesrineabdmouleh, @Rolige, @marionf, @dependabot[bot], @NeOMakinG, @joaolago1113, @atomiix, @MatShir, @LouiseBonnard, @arouiadib, @micka-fdz, @Oksydan, @apacios, @Codencode, @vmsrg, @MathiasReker, @RRENOU, @beyondsagency, @AlexEven, @Maks3w!

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!

We were at Google’s CMS Security Summit 2020

$
0
0

Once again, open source CMSs Security leads shared knowledge together last February at an event organized by Google in Munich.

Lightning talks & Security technologies

After spending the first evening with stakeholders and meeting the newcomers over a few beers, the attendees and I spent two days at Google’s Munich office and Information Security Hub (ISH) to talk about what we have achieved since last year and about what’s coming. And of course we learned a lot about each other.

We had lightning talks as well as conferences about multiple technologies focusing on security and data privacy.

Similarly to last year, components like Strict Content Security Policy, Trusted Types and Scripting Policy were again discussed and brought to the forefront. Cross-Origin Resource Policy (CORP), Cross-Origin-Embedded-Policy and Securer Contexts are still strongly recommended to enhance isolation and mitigate side-channel attacks.

We discovered the interesting OpenSK as a Tock OS application, an open-source security key to be used for multi-factor authentication.

We talked again about the potential of PSR-9 and PSR-10 PHP Standards Recommendations, but sadly no real progress has been done since last year.

Snyk gave us a talk about Javascript Prototype Pollution which reminds us that we must pay close attention to all dependencies we use, even if they are widely trusted. It is mandatory to keep them as up-to-date as possible, even if this introduces BC Breaks.

And lastly, we attended an interesting talk about the Virus Total API, which is used to cluster and classify potential malware on the web.

Breakout Sessions

Breakout sessions were organised for the rest of the time, allowing participants to share ideas and experiences about many different themes related to the summit. Here’s what we discussed about.

Rapid Detection and prevention

Content Management Systems (CMSs) are used by most websites in the world and the number of attacks targeting them keep increasing every year. Therefore, the ability to quickly detect attacks and to respond accordingly as swiftly as possible has been identified as a high priority for everyone.

On PrestaShop’s side, the project maintainers have decided to greatly encourage communication and contribution regarding security issues. For this, we approached YesWeHack to set up a Bug Bounty program. This will help us detect more security issues and respond more quickly through security releases.

Automatic updates

It is a well-known fact that the main risk for a software is its age. Keeping it updated is mandatory as it will considerably reduce the risk of having unpatched security issues.

Even if at a given time there are no known issues, nobody can predict the future. 0-day vulnerabilities on PHP, Apache, Nginx and the like could be discovered at any time. Keeping your software up-to-date also enhances your chances of being compatible with the latest security systems, protocols, or encryption versions you might need in case you need to upgrade quickly to patch a security issue.

However, updating a CMS is not without risk, especially when you use custom themes or modules, modules that don’t follow best practices or if backward-incompatible changes have been introduced in the latest versions.

We know that the Autoupgrade module has received little attention lately, and that this has had and impact in the PrestaShop ecosystem. Everyone knows how important and necessary it is for the community.

During the summit, we spent a lot of time talking about the self upgrade process, and we will surely take time this year to make improvements for this topic!

Disclose + Distribute + Query security bulletins in a standardized way?

At the beginning of the year, we experienced a major security incident which demonstrated that we needed to improve our security process.

For example, we wanted to report the incident as an official CVE. The root cause was similar to CVE-2017-9841 but with a slightly different context (involving CGI/FastCGI). We tried to reach out to CVE authority in order to either update the entry or create a new one. However, as of June 2020, we have not received an answer yet.

Since PSR-9 and PSR-10 are not yet enforced, PrestaShop maintainers decided to start using one of the latest GitHub features: GitHub Advisories. After many weeks of use, the maintainer team has been receiving positive feedback from the community about us being more transparent on security issues. A big up to the community!

That said, the Core team will never go as far as disclosing how to reproduce (and exploit) security issues. You will never find any scripts in advisories or in CVE declared by PrestaShop. This is to avoid making hackers’ work easier.

Obviously this is not perfect, and it will never be. But we learn from the past, and we will do our best to listen to the community and improve how we work.

PrestaShop release schedule will follow PHP ecosystem release schedule

PrestaShop 1.7.7 will be compatible with PHP 7.3. In order to achieve this, some dependencies PrestaShop relies on had to be upgraded. This change introduced a few BC Breaks, either because the upgraded dependency contains BC breaks or because it dropped compatibility with older PHP versions.

We expect PHP 7.4 to require new dependency upgrades and BC breaks, and so on with next PHP versions. Moreover, the PHP core team plans to release versions more often in the next years.

This means, in the future, many operating systems and software vendors will have no other choice than to follow their tech ecosystem, or stay behind. PrestaShop is not an exception. Consequently, we expect future PrestaShop versions will have to be released more often and introduce breaking changes more often as well.

We hope that well-known developers from the PHP community, such as the maintainers of Composer, will attend the next summit so we can work together on this topic.

Lighthouse score for security

LightHouse is an automated tool from Google that provides metrics which can be used to improve the quality of web pages. However, it is missing features on security area.

It was suggested that the first thing Google could do would be to integrate security.txt or securityheaders.io in Chromium as to allow people to submit security reports directly from their browser as they browse the web.

Maybe even adding a JavaScript scanner inside Lighthouse, and show outdated libraries?

Whatever it is, Google is working on very interesting things for this year 2020 :)

Other sessions

Unfortunately, we did not have enough time to attend all breakout sessions but there were also discussions around security tools, APIs, funding security improvements, static analysis and two-factor authentication.

Thanks

I would like to say thanks to Google for organizing the event and to all participants as well for being active and passionate about improving security.

Spending time with security folks has been very interesting. We all know we need to work together to make the web safer.

1.7.7 is ready for translation

$
0
0

PrestaShop 1.7.7 is now freshly baked and ready for translation and validation! Translation files have already been pushed on Crowdin projects, so you are all set! :wink:

Everybody is invited to translate, spot mistakes, and validate to get an accurate translation catalog for the release.

PrestaShop 1.7.7 Translation

The beta 1.7.7 is released :rocket:

A few weeks ago, the beta version of PrestaShop 1.7.7.0 was launched. Our PrestaShop team is very excited about it and hope that you will be delighted as well because new features and big improvements have been made!

It is important to translate those files as much as possible because it will allow you, as translators, to get an in-context environment of translation. As a consequence, you will have more time to find the most accurate translation for the official release, when it will be available to worldwide users.

Also, it is a useful time to notice mistranslations, discover the new minor version and thus work on more precise translation. Let’s all accomplish this mission! New strings are already looking forward to meeting you, pillar translators from across the globe, on the Crowdin projects. :blush:

And of course, everybody in the community is encouraged to test it and give feedback!

What is new in 1.7.7? :sparkles:

A new interesting feature introduced in the 1.7.7 version is the fuzzy search. Its role is to improve PrestaShop’s native search functionality by taking into account misspelling or error inputs. For instance, if you want to write “bird” but write a typo, like “beard”, the fuzzy search feature will automatically recognize the word and change it to “bird”. Cool right? :wink:

In this minor version, several main features can be pinpointed such as the order management system rework, which has been improved for merchants to save time. As it will be smoother, you won’t have to go back and forth in each customer’s order.

Another feature is the currency management and customization which now allows you to get all the official currencies in one click, or even create your own currency!

But this isn’t the end! Besides technical improvements, more packs were incorporated in the software and languages added in the installer for international markets.

Go for it! :muscle:

All this to say that new strings have been added to the projects which you can find on Crowdin. As always, translation suggestions or proofreadings for improvements are more than welcome! Your precious contributions will not only help your business but all PrestaShop users.

PrestaShop Core Weekly - Week 23 of 2020

$
0
0

This edition of the Core Weekly report highlights changes in PrestaShop’s core codebase from Monday 1st to Sunday 7th of June 2020.

Core Weekly banner

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

Code changes in the ‘develop’ branch

Core

Back office

Front office

  • #19535: Remove unused code. Thank you @idnovate
  • #19501: Check whether subcategories are empty before displaying them, by @matks
  • #19438: Disable payment button if term checkbox is unchecked, by @NeOMakinG
  • #19384: Replaced h2 title by h1 in the product listing of the catalog, by @Progi1984
  • #19116: Avoid showing 0 in Quantity field when the minimal quantity is 0. Thank you @taoufiqaitali
  • #18562: Update node-sass version to support node 12 on classic theme, by @NeOMakinG
  • #17423: Add a space before the dash separator when building the attributes names string. Thank you @leup
  • #16828: Improve search performance for large shops. Thank you @Darhazer

Web services

Tests

Code changes in the ‘1.7.7.x’ branch

Core

  • #19556: Update modules (contactform/ps_imageslider/ps_sharebuttons/statspersonalinfos), by @Progi1984
  • #19016: Add mapping for Doctrine core entities on front environment, by @jolelievre

Back office

Front office

Tests

Code changes in modules, themes & tools

Wishlist block

  • #38: Modify responsive of modals, manage attribute and quantity of product and more, by @NeOMakinG
  • #35: Toast, add fetch example, fix some things from last meeting, by @NeOMakinG

Faceted search module

Customer data privacy block

Custom text

Cross-selling

Contact informations module

Check payment

Product Comments module

Pages not found

Google Sitemap module

NVD3 Charts

Dashboard Products

Dashboard Goals

Dashboard Activity module

Contact Form

Catalog statistics

Search engine keywords

PS Cleaner module

Simple HTML table display

nightly-board

  • #88: Provide useful data attributes into Link Widget hook list for puppeter tests, by @Progi1984
  • #86: Fix install and uninstall processes that did not work in CLI environment, by @jolelievre

QA nightly results

  • #42: update ternary choices, add filter by browser and campaign, by @SimonGrn

Changes in developer documentation

Core Weekly Generator tool

Image slider

Registered customer information

Prestashop UI Kit

Cash on delivery


Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @NeOMakinG, @matks, @zuk3975, @boubkerbribri, @Progi1984, @antoinedamiron, @PierreRambaud, @idnovate, @SimonGrn, @Matt75, @ttoine, @jolelievre, @Klemart3D, @nesrineabdmouleh, @Quetzacoalt91, @DelecroixQuentin, @taoufiqaitali, @dependabot[bot], @sowbiba, @davideapvd, @leup, @Darhazer, @slupostrupek!

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 24 of 2020

$
0
0

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

Core Weekly banner

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

Back office

Tests

Code changes in the ‘1.7.6.x’ branch

Core

Code changes in modules, themes & tools

Wire payment module

Changes in developer documentation

Email subscription module

  • #58: Bump version to 2.6.0 and Improve project, by @Progi1984
  • #49: Add an hook for newsletter registration/unregistration. Thank you @jf-viguier

Order Notifications on the Favicon

PS Cleaner module

Live translation

  • #9: Added the way to disable Crowdin Popup (BO/FO), by @Progi1984

OnBoarding

Sales and orders

Registrations statistics modules

Product details

Registered customer information

Visitors origin

Newsletter

Visitors online

Stats Dashboard

Browsers and operating systems

Carrier distribution

Best vouchers

Best suppliers

Best manufacturers

Best customers

Best categories

Search engine keywords

Social Follow module

Search Bar module

Language selector

Customer data privacy block

Custom text

Cross-selling

Contact informations module

Check payment

Google Sitemap module

Simple HTML table display

NVD3 Charts

Core Weekly Generator tool

PrestaShop on Docker

Dashboard Goals

Dashboard Activity module

Contact Form

Catalog statistics

Catalog evaluation

Best-selling products

Data mining for statistics

Available quantities

Visits and Visitors

PrestaShop Specifications

Theme customization

Share Buttons module

Email Alerts module

Example modules

Prestashop UI Kit

  • #93: Update errors of input group to use the exact same workflow of bootstrap, by @NeOMakinG

Auto Upgrade module


Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @Progi1984, @boubkerbribri, @awurth, @PierreRambaud, @LorisB, @eternoendless, @Matt75, @matks, @zalexki, @zuk3975, @ttoine, @ksaandev, @marcoguido, @Quetzacoalt91, @colinegin, @dependabot[bot], @kerin444, @atomiix, @jolelievre, @juraj1000, @jf-viguier, @florian-202, @PululuK, @clotaire202, @Amit-Kumar-Tiwari-Webkul, @erouvier29, @manudas, @patrickmyh, @NeOMakinG, @arouiadib, @marionf, @mvorisek!

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 25 of 2020

$
0
0

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

Core Weekly banner

General messages

Dear developers,

PrestaShop eCommerce Week is one week away! Will you join us? This is a 5-day live session program! Sixty live sessions by experts will cover multiple topics, be it PrestaShop employees or from the PrestaShop community.

You can discover more if you follow this link.

In the meantime, feedbacks continue to arrive on GitHub about the 1.7.7 beta and more and more bug fixes are merged, which means Release Candidate 1 gets closer and closer to the release date…

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

Code changes in the ‘develop’ branch

Core

  • #19795: Update License Header fix Command, by @matks
  • #19710: Use target=”_blank” instead of class=”_blank”. Thank you @PululuK

Back office

  • #19852: Manage UpdateProductTagsCommand in separate command / handler. Thank you @zuk3975
  • #19732: UpdateProductOptions Command. Thank you @zuk3975
  • #19570: Better performance for manufacturer’s admin query. Thank you @Skullbock
  • #19542: UpdateProductPricesCommand. Thank you @zuk3975
  • #18691: Introduce smart price search for Catalog Price rule query builder, by @matks

Front office

  • #19601: Only use unit_price_ratio when defined in Product. Thank you @ksaandev
  • #19428: Add event on toggleOrderButton in order to provide state of checkbox to payment modules, by @NeOMakinG

Installer

  • #14402: Check table create privilege for InnoDB and MyISAM. Thank you @crabtree

Web services

Tests

Merge

Code changes in the ‘1.7.7.x’ branch

Core

Back office

Installer

  • #19788: Allow user to choose to drop existing tables or not even when not in dev mode, by @Progi1984
  • #19694: Allow user to choose to install demo products or not even when not in dev mode, by @eternoendless

Tests

Code changes in the ‘1.7.6.x’ branch

Back office

Code changes in modules, themes & tools

Changes in developer documentation

Wire payment module

  • #56: Fixed dependencies order in autoload, by @Progi1984
  • #54: Fix license headers and use php-dev-tools, by @matks

Google Sitemap module

Jquery live-polyfill

Traces

  • #10: Fix composer.json, add LICENSE and CONTRIBUTORS files, by @matks

Nightly board

Email subscription module

Core Weekly Generator tool

  • #39: adding some tool repo to the list, by @ttoine

Faceted search module

OnBoarding module

  • #64: Fix license headers and use php-dev-tools, by @matks

Shopping cart module

  • #60: Fix license headers and use php-dev-tools , by @matks

Mail theme module example

Buy button lite

LocalizationFiles

  • #3: Remove conversion rates from localization packs, by @Progi1984

Live translation

PrestaShop Specifications

  • #27: Take user groups into account when rendering menu. Thank you @rvalery

Best sellers module


Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @matks, @jolelievre, @Progi1984, @PierreRambaud, @boubkerbribri, @eternoendless, @zuk3975, @ksaandev, @clotaire202, @nesrineabdmouleh, @NeOMakinG, @ttoine, @PululuK, @atomiix, @dependabot[bot], @matthieu-rolland, @Skullbock, @loicsapone, @nsorosac, @rvalery, @crabtree, @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? – May 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, Swahili will be available in PrestaShop 1.7.8! :tada:

I have the pleasure to announce that PrestaShop will finally be available in Swahili in the 1.7.8 version! I thus encourage you to translate, suggest, and proofread the PrestaShop Swahili project. Currently, there aren’t many Swahili translators on PrestaShop’s Crowdin community, so if you know any Swahili natives, spread the word and do not hesitate to invite them to participate in the PrestaShop Swahili translations project, they will be more than welcome! :heart_eyes:

Daily language packs updates

I would like to take this opportunity to explain to you how translation packs are updated in PrestaShop now, after you translate and approve strings.

Translations are updated everyday with a 24 hours delay. Every morning an export request is sent to Crowdin, but since the exporting process takes some time, the export made the day before is downloaded and the files are sent to Github. When the repository is updated, a robot will gather the translation files and make them available to download. But one detail to take into account is that only translations of the last version, the 1.7.7, are updated.

Since PrestaShop 1.7.7 hasn’t been officially released yet, what you can do is to translate and approve strings of the 1.7.7 version, retrieve these strings from translationfiles and upload them on: app/Resources/Translations/{localeCode}. (Reminder: {localeCode} has to be changed by the code of the concerned language, for instance, by en-us if it’s English). It might be inconvenient for now but PrestaShop’s developers team have in the backlog projects to make all new translations available for all shops from the 1.7.5 version and on, so let’s keep a positive mind! :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: choefer, Çocuk Saatleri (cocuksaatleri), nenowasaleh, Pacho Gonzalez (Pachogzz), Puunaama1 and Stella Georgakopoulou (Stella_Geo). See you soon on Crowdin… and in PrestaShop. :stuck_out_tongue_winking_eye:

A few stats

  • 37 members were active on the project this month.
  • A total of 53,384 words have been translated and 46,675 validated.
  • All this in 28 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 May 2020.

Top 10 translators in May:

 TranslatorLanguage# Words
1.Rijad Osmanovic (rijado)Bosnian29,098
2.mirmalEsperanto7,892
3.cubacheCatalan4,058
4.Çocuk Saatleri (cocuksaatleri)Turkish3,676
5.Rytis (Mangustux)Lithuanian1,184
6.Rauno Riikman (weaver)Finnish852
7.AmirRzdPersian642
8.Zoran Tejic (zotamal)Serbian (Latin)588
9.nenowasalehSwahili568
10.Stella Georgakopoulou (Stella_Geo)Greek500

Top 10 proofreaders in May:

 ProofreaderLanguage# Words
1.Rijad Osmanovic (rijado)Bosnian40,220
2.AmirRzdPersian954
3.SeongHyeon Cho (jaymz9634)Korean832
4.Gerardas (gerardas)Lithuanian635
5.Zoran Tejic (zotamal)Serbian (Latin)588
6.David Gonzalez (davidglezz)Spanish537
7.Stamatis (breezer)Greek512
8.Patrik Lindblom (extendus)Swedish489
9.webdvl (megashopba)Slovak; Czech455
10.Gabriel Tenita (ggedamed)Romanian438

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 May 2020, PrestaShop 1.7.7 was fully available (= 100% translated and validated) in 11 languages:

Chinese TraditionalDanishDutchFrenchGreekItalian
Portuguese, BrazilSlovakSloveneSpanishSwedish 

Languages with the best evolution

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

  • Bosnian (+27% to reach 58% approved)
  • Esperanto (+16% to reach 25% translated)
  • Catalan (+9% to reach 100% translated)

Best translation progress for May 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 May 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 (25% 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 26 of 2020

$
0
0

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

Core Weekly banner

General messages

Dear developers,

This is it! PrestaShop eCommerce Week is happening right now and will continue for 5 days. You can still join us, registration is still open.

In the meantime, work continues on 1.7.7.x branch to stabilize it, with the goal of a 1st Release Candidate in mind.

In parallel, some Pull Requests have been merged into 1.7.6.x branch as well because a 1.7.6.6 release is expected soon. More details will be published in the release note.

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

  • #19955: Rename AddCustomizationFieldsCommand to AddCustomizationCommand. Thank you @zuk3975
  • #19903: Auto create symfony roles, by @jolelievre
  • #19828: Check for ::GRID_ID when definition is AbstractGridDefinitionFactory, by @atomiix
  • #19778: Cast changelogs to array for twig, by @atomiix
  • #19646: Synchronize cart_product and order_detail when quantity is changed, by @sowbiba

Front office

Installer

Tests

Code changes in the ‘1.7.6.x’ branch

Core

Back office

  • #19942: Cast changelogs to array for twig - Backport of #19778, by @atomiix
  • #19814: Change buttons in modal bulk of module page to avoid black color, by @NeOMakinG

Front office

  • #19800: Add a new selector in order to select the product page more precisly, by @NeOMakinG

Web services

Code changes in modules, themes & tools

Changes in developer documentation

Language selector module

Wishlist module

Google Sitemap module

Example modules

  • #98: Update release-drafter template, by @matks

Email subscription module

Customer reassurance module

Faceted search module

Wire payment module

Product Comments module

LocalizationFiles

Share Buttons module

Watermark module

  • #21: Add dynamically resize watermark for large file. Thank you @symbwell

Prestashop UI Kit

Carrier comparison module


Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @zalexki, @zuk3975, @eternoendless, @PierreRambaud, @atomiix, @Progi1984, @jolelievre, @Quetzacoalt91, @boubkerbribri, @smoucka, @camlafit, @Matt75, @matks, @NeOMakinG, @shef-er, @muyncky, @PululuK, @ksaandev, @nesrineabdmouleh, @idnovate, @joemugen, @LouiseBonnard, @HamzaElghanoui, @stijnvergote, @sowbiba, @matthieu-rolland, @pablopolyte, @kpodemski, @symbwell, @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!

Release Of PrestaShop 1.7.6.6

$
0
0

The ongoing work on security for PrestaShop software continues. We have identified and fixed new minor security issues and since we don’t expect PrestaShop 1.7.7.0 final to be released before a few weeks, it has been decided to deliver a new maintenance release for 1.7.6.X branch.

1.7.6.6 is available!

Similarly to 1.7.6.5, this maintenance release fixes not only regressions found on versions 1.7.6.0 to 1.7.6.5, but also a few security issues from 1.5, 1.6 and 1.7 versions. This is again a result of the huge work on security going on in 2020 to make PrestaShop software safer. PrestaShop will continue focusing more and more on security to ensure that no security breaches, even minor ones such as permission issues, are left out in the core.

As this patch fixes several security issues, we highly recommend to upgrade your shop as soon as possible. Of course, as always, don’t forget to backup before.

Reminder: the 1-Click Upgrade module’s latest version is v4.10.1, don’t forget to upgrade it.

Main fixes

Below are listed the 6 regressions that were found and fixed in this version:

Front-office regression:

  • A BC break was mistakenly introduced in 1.7.6.5 on some selectors in the front-office #18509

Back-office regressions:

  • It was not possible to use Stocks page without the rights for Translation page #19713
  • Bad button color in Modules pages modal window #9699
  • No success message in Customer page after editing a voucher #18842

Other regressions:

  • It was not possible to update currencies using the Webservice #18865
  • There was an error at the end of the upgrade if it was run manually #18723

Security fixes

7 security fixes have been included in this patch version:

More information about why it is important to update:

Read the full changelog here.

Notable change

In order to correctly handle user session expiration, two new SQL tables have been added to PrestaShop MySQL schema: ps_customer_session and ps_employee_session. These SQL tables are used for security purposes.

Breaking or risky changes

Dashboard modules can no longer use AdminDashboardController::ajaxProcessSaveDashConfig() to save values. This is not possible anymore in PrestaShop 1.7.6.6 in order to enforce the shop’s security.

A bug fix included in 1.7.6.5 required changing a CSS selector in the Front Office’s product page and rendering it more specific. However, this new selector did not work with some third party themes which were based on Classic. In 1.7.6.6, a new generic selector has been added: .product-container. If you are a theme developer, make sure to add this class to the appropriate container on your product page in order to allow your product page to be refreshed on changes.

Acknowledgments

Core Team contributors to this patch version: Franck Lefèvre, Jonathan Lelievre, Pierre Rambaud, Mathieu Ferment, Matthieu Rolland, Thomas Baccelli, Valentin Szczupak. Thank you!

Download PrestaShop 1.7.6.6 now!

Since version 1.7.6.6 is a “patch” update to version 1.7.6.5, upgrading from any 1.7.6 version will be easy: features will work better, and modules & themes which worked fine on 1.7.6.x will work just as well with 1.7.6.6. Upgrades from a standard 1.7.x version should work just as well.

Release Of PrestaShop 1.7.6.7

$
0
0

PrestaShop 1.7.6.7 is now available. It fixes an important regression introduced in 1.7.6.6.

1.7.6.7 is available!

In 1.7.6.6, one of the Front Office JavaScript files was modified through the usage of a linter. The modification inadvertently introduced a regression resulting in a script error in the Product page.

The main consequence of this regression is that some events usually fired on product page are not executed. This may produce a malfunction in Front Office modules which expect the updateProduct event to be dispatched on this page.

In 1.7.6.7 the changes wrongly introduced in 1.7.6.6 have been reverted.

In order to ensure your shop is able to interact correctly with modules being enabled on the Front Office product page, we advise upgrading to 1.7.6.7 as soon as possible. Of course, as always, don’t forget to backup before.

Reminder: the 1-Click Upgrade module’s latest version is v4.10.1, don’t forget to upgrade it.

Main fix

Front-office regression:

  • JS crashes on FO product page in 1.7.6.6, preventing updateProduct event to be received #20044

Acknowledgments

Thank you to JBWModules for reporting this regression and Valentin Szczupak for patching it.

Download PrestaShop 1.7.6.7 now!

Since version 1.7.6.7 is a “patch” update to version 1.7.6.6, upgrading from any 1.7.6 version will be easy: features will work better, and modules & themes which worked fine on 1.7.6.x will work just as well with 1.7.6.7. Upgrades from a standard 1.7.x version should work just as well.

Viewing all 938 articles
Browse latest View live