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

Release of PrestaShop 1.7.2.2

$
0
0

PrestaShop 1.7.2.2 is now available. This maintenance release fixes 8 issues reported on version 1.7.2.

Some of the most notable fixes are:

  • Price and VAT fixes.
  • Price computing performance improvement: 1.7 front-end should now be faster than 1.6’s for popular stores!
  • Fix error while reaching AdminModules

Download PrestaShop 1.7.2.2 now!

Here is the complete list of changes:

  • Back Office:
    • Bug fix:
      • #8266 Fix error while reaching AdminModules
      • #8238 Fix wrong final combination price if BC Math is not available
      • #8063 Display texture image in combination form
      • #8057 Save before generate combinations
  • Front Office:
    • Improvement:
      • #8082 Scroll top to product list when paginate
  • Core:
    • Improvement:
      • #8212 Optimize specific price computing by executing the query only when needed
    • Bug fix:
      • #8210 Fix missing product limit/offset when ordering by price on Sale page
      • #8138 Fix tax calculation when vat number is used

The PrestaShop 1.7.2.2 changelog is available.

Contributors to this patch version, from both the Core team and the community at large: @eternoendless, @fatmabouchekoua, @jocel1, @prestamodule, and @quetzacoalt91! Thank you!

Since version 1.7.2.2 is a “patch” update to version 1.7.2.2, upgrading from any 1.7.2 version will be easy: features will work better, and modules & themes which worked fine on 1.7.2.0 will work just as well with 1.7.2.1.
Upgrades from a standard 1.7.x version should work just as well, and those upgrading from older versions (1.6, 1.5, 1.4 or even older) should take their time and pay attention to their modules, their theme and their custom modifications!


Contributor interview: idnovate

$
0
0

An Open Source community is more than just PR made by faceless strangers. In order to better understand the people who contribute time and skills to the PrestaShop project, we’re launching a series of interviews with contributors of all ranges. This week, meet the idnovate team!

Could you tell us a bit about yourself, and how you got involved in Prestashop?

We are three Barcelona-based developers (David, Jose and Sergi) who focus exclusively on developing e-commerce solutions.

Our experience with PrestaShop first began around six years ago when we were completing a masters in open source software at the Open University of Catalonia (UOC). The task of updating and modifying a PrestaShop store formed part of the final work for the masters.

At the time, we knew little about the tool, but we did already have considerable experience of PHP + MySQL projects as each of us had worked in the IT department of a banking organization prior to commencing the project.

We also began working together with users who were already part of the PrestaShop community at his point, and it was then that we really began to appreciate the potential offered by both the tool and its business model.

You are the creator of several modules, available on Addons.
What motivates you to create a module? Where do you get your ideas?

Ideas emerged thick and fast from using the tool and from the experience of working with customers, who thought of situations that could not be solved using the features PrestaShop offered at the time. Ideas also emerged from the experience of using other e-commerce tools that either offered different features or adopted a different process model.

We also maintain a presence on the official PrestaShop forum, both to help users resolve their problems and to pick up new ideas ourselves.

How hard was it to convert your 1.6 modules to 1.7?

Fortunately, our modules are developed in accordance with the development guidelines set out by PrestaShop, which has meant that making our modules compatible with version 1.7 has not been very difficult. In some cases we have not had to change a thing; and in others we have simply had to make minor modifications.

What advice would you give to new modules creators?

PrestaShop is a consolidated tool with an extensive track record behind it and a big future ahead, and which has the kind of market share that no other e-commerce CMS can claim. PrestaShop offers the opportunity for professional growth to anyone involved in e-commerce: developers, designers, marketing experts, SEO experts, community managers, etc.

Additionally, the learning curve is less steep than with other tools, making it easier to get to the point at which you are seeing results.

We encourage each and every one to get involved in the project and become part of the community.

You are a Superhero Seller on Addons. What are you best practices for selling on Addons and obtaining a “good karma”?

For us, it is very important that the customer is satisfied with both the attention received and the purchase made, and we believe that pre- and post-sales support is key in this respect. To ensure we are able to provide this, we strictly adhere to certain clearly defined guidelines:

  • We respond to all customer queries as quickly as possible. Most of our modules have a demo available so that they can be tested by the customer. If required, we also configure it to their particular needs.
  • We deal with any issues as soon as possible after receiving the message from the customer. We strive to keep the number of possible issues that can arise to a minimum, but unfortunately we cannot always detect all possible potential issues, and problems sometimes arise due to incompatibility with other modules or modifications to the stores themselves. The solution in such cases is to act as quickly as possible so that the customer’s store is not affected.
  • We adapt to the customer’s needs in cases where there is a requirement for an additional function/feature that the module does not provide, offering the customer bespoke development of the requested custom feature.

By adopting this approach, the vast majority of our customers are kept satisfied and have a positive view of us.

You have also contributed a few pull requests to PrestaShop. What motivated you to contribute to the main project?

Our business is based on PrestaShop, which makes it important that the tool works and attracts new customers. Whenever we can, we collaborate on the project by contributing code, carrying out translations or responding to queries on the official PrestaShop forum and on Stack Overflow.

Thank you David and team, we hope to see you soon in our Core Weekly reports! :)

PrestaShop Core Weekly - Week 35 of 2017

$
0
0

This edition of the Core Weekly report highlights changes in PrestaShop’s core codebase during the last week, from Monday 28th of August to Sunday 3rd of September 2017.

Core Weekly banner

General messages

It’s September! This means new ideas, new projects, new versions, new everything!

For starters, PrestaShop 1.7.2.2 was released last week, and as you can see from the merged commits below, version 1.6.1.17 is coming soon. What’s not to like?

The team is also working on version 1.7.3.0, which we will talk about more in the coming weeks.

There are other cool things to talk about, and this month should plenty of Build content to read. Looking forward to pushing the “Publish” button!

Code changes in the ‘develop’ branch (for v1.7.3.0)

Core

  • #8220: Product settings: availabilty label and delivery time configuration, by @maximebiloe.
  • #8247: Fixed issue with empty locale. Thank you @simonchik!
  • #8289: Add export folder to the file .gitignore. Thank you @prestarocket!
  • #8291: Fix merge problem, by @eternoendless.
  • #8292: Build assets, by @eternoendless.

Back office

  • #8278: Use the brand new UI Kit, by @maximebiloe.
  • #8284: Catalog page with new ui kit, by @maximebiloe.

Front office

  • #8281: Fixes wrong images on order confirmation page with simple products. Thank you @ckubitza!

Installer

  • #8257: Change installation tutorial link to 1.7 version, by @vincentbz.

Code changes in the ‘1.7.2.x’ branch (for v1.7.2.3)

Web service

  • #8275: Fix update product with WS, by @aleeks.

Code changes in the ‘1.6.1.x’ branch (for v1.6.1.17)

Core

  • #8025: Load id_shop routes when needed. Thank you @cdoublev!
  • #8159: Check if CMS Category is associated to shop. Thank you @matt75!
  • #8164: Fix duplicate url for supplier list when try to access a supplier. Thank you @matt75!
  • #8199: Speed up search queries, by @jocel1.
  • #8282: Fix error when deleting a cart. Thank you @cdoublev!
  • #8280: Add is_object condition in isInt function to prevent the error 500, by @hibatallahaouadni.
  • #8256: Update the encrypt and decrypt functions to support all PHP versions, by @hibatallahaouadni.

Back office

  • #7843: Fix coverage calculations in Stock Cover Report. Thank you @marksull!
  • #8116: Add paid order to stats dashboard even when there’s no related invoice generated, by @hibatallahaouadni.
  • #8211: Enable the create_order button when ordering virtual products & there’s no available carriers, by @hibatallahaouadni.
  • #8227: Fix the currency display in supply order, by @hibatallahaouadni.

Front office

  • #8078: Fix select delivery_option when changing the address in OPC, by @hibatallahaouadni.
  • #8168: Secure the contact_form from spammers, by @hibatallahaouadni.
  • #8171: Secure FO from JS injection in URL, by @hibatallahaouadni.
  • #8178: Wrong gift display in My Voucher page in My Account. Thank you @matt75!
  • #8221: Fix the email validation in instant checkout, by @hibatallahaouadni.
  • #8231: Display the price based on the feature Customer_Groups, by @hibatallahaouadni.

Code changes in the ‘rtl’ branch (for the 1.7 RTL project)

Core

  • #8243: Add new method to generate RTL stylesheets. Thank you @ramtin2025!
  • #8248: Change CSS files path to RTL stylesheets if needed. Thank you @ramtin2025!

Back office

  • #8147: Display transporter block in RTL. Thank you @molka!
  • #8148: Fix bug employee thumbnail. Thank you @molka!

Installer

  • #8245: Generate RTL stylsheets when installation language is RTL. Thank you @ramtin2025!

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @cdoublev, @ckubitza, @marksull, @matt75, @molka, @prestarocket, and @ramtin2025!

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 tickets and comments on the Forge!

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 the Forge to contribute to PrestaShop. Thank you!

Happy contributin’ everyone!

Contribute to the UI kit of the 1.7 back office

$
0
0

PrestaShop is 10 years old this year. 10 years and a software that have experienced 7 major evolutions.

Over the years, the core of the software has added many features, serving both small and large merchants.

With 10 years of development behind us, a general observation is that PrestaShop offers a flexible software, rich of hundreds features, but this richness has, over the years and evolutions, brought graphical inconsistencies. Also, it is difficult for contributors to design modules which are perfectly aligned with our branding, because our product design guidelines have evolved while not being documented enough.

With the release of 1.7, we decided to focus on the user experience and thus improve what is already in place, instead of bringing in dozens of new features. We have therefore embarked on a vast project of redesigning very important parts of the software, such as the Product Creation page, the default theme, and the Stock Management feature.

Among these projects, there is one that is a real challenge for us: the UI Kit (and the accompanying design guidelines). The community has regularly asked for both. It’s an ambitious project for an open source software used by tens of thousands of people around the world. We would like to make it collaborative. So in addition to pull requests, translations, and debugging, we would like to open this new project to the community and invite you to collaborate on the UI Kit of the 1.7 Back Office!

Why a UI Kit?

Consistency

A UI kit is a library of HTML/CSS elements, allowing developers and designers to build their product interfaces. It provides consistency, which is one of the basics of a good user experience (UX).

Therefore, having a real UI kit for the back office will help us improve the quality of the user’s experience and stay consistent with PrestaShop’s branding.

Scalability

A UI kit facilitates the scalability of the product interfaces. If you need to update the style of an element, you just have to update the element in the UI kit once, and it will have an impact on the whole product interface.

Community

A UI kit is also a powerful tool to build a product with the community, because it provides elements that already apply to the product branding. Hence, it makes it possible work with the community maintaining the identity of the product in the same time.

Why is it a huge challenge for PrestaShop?

Technical challenges

Where we are now

Nowadays, we have two coexisting themes in PrestaShop 1.7’s back office. One is a legacy theme from 1.6, called “default”; the new one, introduced in 1.7, is called “new-theme”. We needed to have two back office themes, because the “default” theme is using Bootstrap 3 with hardcoded modifications, whereas the new one uses Bootstrap 4.
Already at that time, we wanted to offer a better user experience and improve the user interface: we therefore began to create a first PrestaShop UI Kit. Sadly, we couldn’t just plug the UI Kit on top of the “default” theme because of that Bootstrap issue. Creating a separate theme for the new pages in 1.7 was the only solution.

It would have taken a long time to develop a whole new theme based on a new UI Kit. So, we chose to do it step-by-step, with each back office page being upgraded to the new system. As we migrate the pages on Symfony and Twig, we will integrate them using a new theme which includes the UI Kit. This is the case for five back office pages for now:

  • Catalog
  • Product Creation
  • Stock Management
  • Modules
  • Translations

What do we need to get started?

We need to overhaul the current UI Kit: currently it’s not perfect. We need to migrate it to use Webpack instead of Gulp, and it does not fully reflect the mockups we designed. Once that will be done, we will be able to begin to add the missing components and to make it evolve.

Design challenges

In addition to the technical constraints, there are design challenges to take into account when building our back office UI Kit:

  • Respect our design principles
  • Preserve PrestaShop’s identity
  • Be aligned with the redesign of our .com and Addons marketplace
  • Share our design principles, guidelines and UI Kit with the community so you can use it to create modules that blend well with the PrestaShop interfaces
  • Succeed in preserving interface coherence over the long term
  • Deliver a UI kit that is scalable and maintainable

Action plan

PrestaShop is quite massive and having a UI kit that answers to all the different cases is a long-term task. This is why the UI Kit project will be carried out in several stages.

Right now

You can already:

Coming soon

  • We’ll release a first version of the UI Kit together with PrestaShop 1.7.3. We will iterate on this version as new components are added and updates are made.
  • You can contribute by integrating parts of the UI kit and work directly with our designers. We’ll let you know as soon as possible how we can work together!

Let’s improve the UI Kit together!

Release of PrestaShop 1.6.1.17

$
0
0

PrestaShop 1.6.1.17 is now available. This maintenance release has seen 17 pull requests merged since version 1.6.1.16.

Continuing on our promise to support 1.6 with patch releases until October 2018, we are happy to deliver this new maintenance version. Please do upgrade to this latest and greatest version of PrestaShop 1.6!

Download 1.6.1.17 now!

As the version number indicates (as per our SemVer-like versioning), this is the 17th patch release for PrestaShop 1.6.1.0.

As usual, if you are currently running promotions leading to high traffic on your website, we recommend that you wait for the promotion to end before attempting any upgrade and technical change to your store.

We hope you enjoy this new release!

The changes

For a full list of changes, see the list of pull requests merged into the 1.6.1.x branch in this milestone

Here are some of the most notable changes that this version brings:

  • Much speedier search queries!
  • Fixed the currency display in supply order
  • Fixed the coverage calculations in Stock Cover Report
  • Fixed price display based on the Customer_Groups feature
  • Fixed error when deleting a cart (thank you @cdoublev!)
  • Fixed id_shop routing (thank you @cdoublev!)
  • Fixed gift display in My Voucher page in My Account (thank you @matt75!)
  • Fixed duplicate URL for supplier list (thank you @matt75!)
  • …and more!

The PrestaShop 1.6.1.17 changelog is available.

Because version 1.6.1.17 is a “patch” update to the 1.6.1.x branch, upgrading from that branch will be as smooth as silk for everyone: features will work better, and modules & themes which worked fine on 1.6.1.0 will work just as well with 1.6.1.17.

This release had 5 contributors, both from PrestaShop and from the Community at large.

  • @cdoublev
  • @hibatallahaouadni
  • @jocel1
  • @marksull
  • @matt75

A huge “thank you!” to each of the 3 outside contributors, who gave their time and knowledge for the benefit of the whole PrestaShop community! You too can contribute to the next version!

Let’s go, upgrade your store(s)! Upgrading from 1.6.1.x is completely safe; upgrading from a standard 1.6.0.x version should work just as well. Those upgrading from version 1.5, 1.4 or even 1.3 should take their time and pay attention to their modules, their theme and their custom modifications!

Parent/Child theme feature in PrestaShop 1.7

$
0
0

There is a feature introduced in PrestaShop 1.7.0 that we would like to dive back in: the child theme feature!

PrestaShop 1.7 introduced a whole new way of working with themes, and with it came the possibility to have parent/child themes. It was a late addition to PrestaShop 1.7 – kind of a bonus! So, let’s talk about this child theme feature and how you can use it to customize themes more easily.

What is it?

If we’re talking about child themes, it means that we have a parent one :wink:

The parent theme is a full and independent theme that can work alone, whereas the child theme needs the parent one to work. We can see the child theme as an extension of its parent, meaning that without any modification, the child theme will be the same as its parent.

What’s the benefit?

Let’s say that you find a theme you like but you want to make some adjustments. Before the 1.7 version, you had to edit the theme files directly, which meant that when you want to update your theme to a new version, you lost your customizations. Of course, you could also apply each change manually on your theme. Which isn’t convenient AT ALL.

Now, if you want to make changes to a theme you bought, you simply need to create a child theme, and apply your changes there. That way, the parent theme will remain untouched and you’ll be able to update it easily. Please, note that you may still encounter some issues if the parent theme’s structure has changed in between updates - but fixing them will be much easier than reporting your modifications.

Using a child theme can also speed up the development time as you’ll only include in your files what you’re changing or adding, and not the complete code.

How to use it?

Set-up

In order to create a child theme, you need to make sure the parent one is in your PrestaShop /themes folder.

Then, create a new folder with a different name containing only the following files:

.
├── config/
│   ├── theme.yml
└── preview.png

Once you have this, you just need to add two entries in your child theme’s theme.yml:

  • parent: to set the theme that should be used as a parent. The value must be the theme’s technical name (i.e.: the theme’s folder name).

  • use_parent_assets: a sub entry to assets to set if you want to use the CSS and JS files from the parent (true) or not (false).

parent:classicname:childthemedisplay_name:My first child Themeversion:1.0.0assets:use_parent_assets:true

Once this file is in place, you can go ahead and select this theme in your back office: you’re all set.

Template inheritance

In a previous article, we already talked about extending templates within the same theme introduced in 1.7.0.0. But you can also extend template files from another theme.

With the theme.yml configuration above, your child theme will use every template from the parent theme. There are two ways to enjoy the feature of extending templates from another theme: either by modifying only the blocks you want to edit, or by modifying the whole template structure.

Here’s an example where we modify the category template. First, you should create the category template in your child theme: templates/catalog/listing/category.tpl.

Modifying some blocks

Extend the template you want to modify in your parent theme and define just the block you need. You need to add the parent: keyword (as you can see in the example below) to indicate that the template comes from the parent theme.

{extendsfile='parent:catalog/listing/category.tpl'}

Modify blocks

Modifying the whole template structure

At this point you can do anything you want with this template but most likely you’ll still want to extend the product-list template. If so, you don’t have to copy the product-list template to your child theme, PrestaShop will use the parent file.

Extend product-list the normal way and override the block you need. Let’s say you want to change the product_list_header block:

{extendsfile='catalog/listing/product-list.tpl'}{blockname='product_list_header'}<divclass="title">{$listing.label}</div>{/block}

Modify whole template

Going further

You can also create new template files. Then, follow the previous methods of extension and include your file into one of the block of the file you’re extending.

Translations

In your child theme, templates can fall into 3 categories:

  1. You are using strings that exist in the default theme (Classic)
    Just re-use the strings as-is, with the same domain, and it will automatically be translated (when a translation is available in PrestaShop)

  2. You are using strings that exist in the parent theme
    Unfortunately, for now, the translations are not shared between parent and child theme (but we’re working on it!). You need to translate it again, following method 3 (below).

  3. You are creating new strings

    • Use a custom domain for the new strings
    • Export the language from the translation page
    • Copy the file into the translation file of your theme
    • Translate the new strings using the translation page

If you need more details on how to translate a theme, don’t hesitate to have a look at our dedicated article.

Things to remember

With the parent/child theme feature we wanted to make easier to customize and update the theme.

It is now quicker to tweak your theme, since you only have the modified templates into the child theme directory.

And you can now update your parent theme to get the latest fixes, without losing your customizations! Have a look and test our little demo of a child theme of Classic here: https://github.com/PrestaShop/childtheme-example

Tell us how you’ve been using the child theme feature and/or if you have any comment!

PrestaShop Core Weekly - Week 36 of 2017

$
0
0

This edition of the Core Weekly report highlights changes in PrestaShop’s core codebase during the last week, from Monday 4th to Sunday 10th of September 2017.

Core Weekly banner

General messages

Didn’t I tell you last week that version 1.6.1.17 was coming soon? Well, it did a couple of days later. Onwards!

We also told you more about the UI Kit projet, which we would love to see community members participate in! Contact us at uikit@prestashop.com if you would like to contribute or submit ideas related to this project.

Finally, Core developer @maximebiloe wrote a bit about the Parent/Child Theme feature, which was introduced in version 1.7 but wasn’t really explored on this blog. Read on!

Asking about 1.7.3.0, right? We’re still working on it, and have a couple more things that need to be done before we freeze the code. Still, we expect to release it in late October. You can already have a look at its code and try it out!

Code changes in the ‘develop’ branch (for v1.7.3.0)

Core

  • #8268: Add possibility to reset modules in theme.yml, by @maximebiloe.
  • #8300: Import / Export features from the Stock Overview page, by @aleeks.
  • #8302: Change version phpExcel for PHP7. Thank you @dariusakafest!

Back office

  • #8218: Add bulk edition in stocks, by @nihco2.
  • #8293: Low-stock alert configuration in the Product Page, by @aleeks.
  • #8297: Fix product page new ui kit, by @maximebiloe.
  • #8311: Fix module page new ui kit, by @maximebiloe.
  • #8318: Fix translations page new ui kit, by @maximebiloe.
  • #8322: Fix stock alert, by @nihco2.

Front office

  • #8314: Fix the except_pages in theme.yml. Thank you @francmunoz!

Tests

  • #8319: Fix again issue on Travis with window maximization, by @quetzacoalt91.

Installer

  • #8299: Adding Japanese to the installer, by @alexeven.
  • #8306: Add a new quick access, by @vincentbz.

Code changes in the ‘1.7.2.x’ branch (for v1.7.2.3)

Core

  • #8213: CO: voucher issue fix. Thank you @prestaworks!

Tests

  • #8298: Add context mocker for front controller tests, by @tomlev.
  • #8320: Fix again issue on Travis with window maximization (1.7.2.x), by @quetzacoalt91.

Code changes in the ‘rtl’ branch (for the 1.7 RTL project)

Core

  • #8317: CSS fixtures for Right-to-Left languages. Thank you @danoosh!

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @danoosh, @dariusakafest, @francmunoz, and @prestaworks!

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 tickets and comments on the Forge!

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 the Forge to contribute to PrestaShop. Thank you!

Happy contributin’ everyone!

Some resources to help you with the translation of PrestaShop

$
0
0

PrestaShop is quite a large open translation project and as a new translation contributor, you may wonder where to start. You’ll find here all you need to know to help with the translation of our e-commerce software, and a few tips to get you started. Thanks for your help!

Translator guide

To get all the information about translating PrestaShop in Crowdin, read our Translator’s guide: PrestaShop_Translator_Guide.pdf

This guide was written for PrestaShop 1.6, but most of it still applies to 1.7.

To better understand the 1.7 file structure, you can read this article: A New Translation System For PrestaShop 1.7

PrestaShop translator badge

Live translation module

You can contribute to the Crowdin project more easily by using the Live Translation module.
It makes it possible to translate PrestaShop directly from your own shop and administration panel.
You’ll see strings in their original context, and you can translate them on the go. It’s much easier!

Get the Live Translation module

How to use the module

  • Install the module by uploading its zip file to your shop (in the Modules page): Live Translation module
  • Log in to your Crowdin account
  • Go to the Live Translation module configuration
  • Click on “Translate” for either back or front office
  • Translate! You can translate each string by clicking on it, it will send the translation directly to the Crowdin project.
  • Click on “Disable” when you’re done translating. Do not forget this last part ^^

PrestaShop Live translation module

What you should know

  • It only works for 1.7.1.0 version and later ones
  • You must be logged in to your Crowdin account to make it work. If you don’t have one already, join us!
  • Don’t forget to disable the module when you’re done!

Troubleshooting

If you don’t have a Crowdin account

You won’t be able to use the Live Translation module, so please create a Crowdin account first.
Wait for your account to be validated, then log in to your again.
At this point, you can activate the Live Translation module and start translating.

If your shop is all about “crwdns” keys

You must reset the language to English (or your first language). For this, go to your profile page like this:

Then change the language and save:

Make sure you select “Keep me logged in” when you access your back office. When you’re done translating, always click on “Disable” in the top banner.

10 rules to follow when translating PrestaShop

Here are 10 tips to guide you when you get started with PrestaShop translation: 10 Rules To Follow When Translating PrestaShop

Translator’s page

See the top achievements for this translation project and what languages are still left to be translated on your Translator Page, our tribute to the community of translators!

translators.prestashop.com

Latest news

Read the latest news about the project on our devblog, with the “Do you speak PrestaShop” series, available each month:

Read the latest news on Build

Contact

Should you have any questions, please drop us an email at translation@prestashop.com.

Thank you for your help!!


Contributor interview: Nick Zampieri

$
0
0

An Open Source community is more than just PR made by faceless strangers. In order to better understand the people who contribute time and skills to the PrestaShop project, we’re launching a series of interviews with contributors of all ranges. This week, meet Nick Zampieri!

Hi Nick! First, could you tell us a bit about yourself?

I have been an IT Professional for more than 20 years, primarily with large global enterprises. Most of my background has been in the Operations and Support of Production Critical systems and primarily with the Microsoft stack of products. I have always had a passion to automate, integrate, and continuously improve IT processes and systems. I have always loved to tinker with programming and building apps.

When and why did you get involved in contributing to the PS project? What motivates you?

As a Quebecer from Canada, we have some strict language laws that require us to provide websites in the official language of Quebec, which is French. As such, when I was tasked to find an online solution that supported French and English, PrestaShop was one of the top contenders out there.

Out of the box, my client was very pleased with the look and feel of the Classic theme that came with the 1.7 version.

We also needed to find modules that could easily be added as the needs change over time to support “memberships”. We wanted an open solution that allowed the client to move from a non-existent online store to one that they could easily manage as well as ensure that data was consistent. So we needed a solution that would allow us to sell virtual products as well as physical products.

There was also a component to the solution that required physical access to the building. As such, having the open source DB (MySQL) made it much easier to integrate a customized solution to provide physical access based on the membership virtual products being sold.

*You are very active on the Forge, with several tickets to your credit. Have you thought about trying to suggest bugfixes using Git/GitHub?**

Most of the tickets were based on all the testing that we performed during the testing of the solution over a 5 month period.

With respect to suggesting bugfixes using Git/Github, I have thought about it and have even suggested fixes within the Forge system, however, actually contributing to the code was not something that I had time to perform.

My contributions have primarily been to translate most of the texts found in the Crowdin translation solution so that both front office and back office would benefit from having both an English and French translations.

Do you have any advice for first-time PrestaShop contributors?

The best advice I could give is to get involved in any way that you can. Helping out benefits all in the long run… so don’t wait for others to do it. Just jump in and help.

What are your favorite things about version 1.7 of PrestaShop? And what do you think would make it even better for merchants or developers?

I like knowing that the product is continuously improving and evolving on a regular basis. To make things better, I think it would be great to share a roadmap of when certain features are available to the merchants and developers.

What’s the number one thing you’ve learnt by contributing to Open Source projects?

There are a lot of people that are willing to help and teach if you ask questions and are willing to learn.

Thank you Nick, we hope to see you more from you as PrestaShop evolves! :)

Stock management in PrestaShop 1.7 - part 4

$
0
0

In the previous posts, we spoke about our motivations for designing a new stock management system and how we’ve built it in the 1.7.2 release. We also described in depth the features and the technology used in these new interfaces. Now it’s time to tell you about the forthcoming advanced features of stock management!

The current state of stock management in PS 1.7

If you’ve followed the evolution of the stock management in 1.7, the next lines will not be a surprise for you.

In 1.7.2, we introduced both the Stock Overview tab and the Stock Movement tab. The first one gives you a global display of the current stock situation with the available quantities including the reserved items. Using the search (by supplier, product name or reference) or the filters (by supplier or product category), the merchant can edit the quantity of their products. In the second one, they can check the history of the changes.

For the next versions, we’ll keep adding features. For instance, in 1.7.3, you will find the Low-stock Level and Low-stock Alerts, the import / export of data using a CSV file, or the bulk edition of the stock quantity. More should be added in 1.7.4. We’re still discussing this!

A Useful Reminder

When we were thinking about how to bring stock management back in version 1.7, we met a lot of merchants with important needs to run their stock in PrestaShop, and sent many surveys.

What we quickly noticed is that, firstly, the majority of them didn’t use a great part of the advanced features. Secondly, they were facing a lots of bugs in the interface, with a poor user experience that made the whole feature really complex to use.

As a result, we found that only 8.7% of the interviewed retailers kept using the Advanced Stock Management (ASM) in version 1.6. Considering the efforts we used to put on this ASM, we’d have hoped better feedback, but that’s a sad reality we have to act on: Advanced Stock Management was useless for 91,3% of merchants !

So, choices had to be made. Our responsibility is to provide that works properly, not extremely advances features we couldn’t manage on the long term. So, keep or drop ASM?

We decided to do both, but in a different way than today:

  • We want to keep the basic tools for stock management, to make sure we can answer to 90% of our merchants with a high quality level, making their e-commerce business successful. This is the reason why we’ve started to build the 1.7.2 with stock overview, quantity edition and movements history; and we‘ll continue with stock alerts, movement tracking, etc. It’s also the reason why some feature won’t be native anymore.
  • But we also wanted to have a solution for the remaining 10% of the most advanced merchants that are used to rely on specific developments, spreadsheets or even both. This is the reason why we’ve looked for a team with a strong experience in stock management and e-commerce, and which could be able to deliver a world class ERP Module that answers the most professional needs you can have, with the guarantee of constant quality. Their name is Boost My Shop.

Introducing PrestaShop ERP

What is it?

PrestaShop ERP is a suite of embedded ERP modules designed for PrestaShop 1.7, which provides merchants with advanced features to help in their daily routine of managing their stock, from the supply purchases to the stock management in a multi-channel scenario.

Stock

Each module provides a specific scope of features, and together they expand each other. Here are the 3 main ones:

  • Procurement, built to run the supply orders. It enables to manage the providers, predict the needed products, create and track orders and manage the whole stock workflow.
  • Order Fulfillment, to handle the shipment of the orders (in mass) by packing with barcode scanners, integrating labels of the main shipping services, print invoices and packing slip, etc.
  • Multi-channel Stock Management, to run complex stock workflow including many stock locations and point-of-sale. This module allows stock transfers, a mass-stock editor and a reservation and advanced routing system.

While these three modules will be released in the near future, some later modules are scheduled to target more specific needs such as dropshipping. We are planning on 7 modules at the end.

Wait… it’s not open source?

Yes, you read modules. These modules will be sold on PrestaShop Addons.

We want to make e-commerce more accessible as we always did but don’t want to give up on quality. Stock management is a complex subject that needs to be truly dedicated, with both operational and technical knowledge. The PrestaShop’s core team always did the best to support a high level of features, but ASM remains one of the biggest subjects to deal with, which led us to not be able to bring strong evolutions. With Boost My Shop, we’ll be back on track to provide great stock features…

Who is it for?

PrestaShop ERP is mainly done for the small and midsize businesses. It doesn’t aim to bring competition to a real ERP tool, but to allow our users to get an affordable solution to fully run their stocks. They will be able to select only a few of these modules or to choose the entire suite of modules, according to their needs.

Who’s behind it?

The team behind former online retailer Boost My Shop decided 2 years ago to focus their activities on developing modules, particularly on the stock management. Their tools currently help over 5,000 merchants, which provides them with feedback in order to constantly improve their modules.

Therefore, these guys were the best option to work with us and build a high quality suite of modules, particularly to avoid the compatibility issues.

What’s next?

As you previously read, we are constantly working on the stock management in 1.7. So, if you want to suggest ideas for improvements or give your feedback about the interface we are developing, leave a comment and we will contact you soon :)

The PrestaCrew is always hiring!

$
0
0

Looking to have an impact on +270.000 users all at once? Look no further! PrestaShop is always willing to hire new talents, and this special post will point to some specific roles we are looking to add to our current roster.

Always hiring?!

First and foremost: we are always looking to add members to the team, most particularly PHP developers– but not limited to that!

So if you find yourself wandering around aimlessly in Paris, come visit us! We’ll be sure to offer you fresh croissant (if your early enough), and handful of cat hair (Puff! Get off my desk!), and friendly talk with our HR team. Bring a CV!

(most of our job openings are in central Paris, France)

Which technical roles?

Note that there are other roles open. We’ll only list the technical ones here, but do click this link to find more!

Core team

The Core team is in charge of improving the e-commerce software used by hundreds of thousands of online stores.
This team is always on the look for new talent to bring onboard. All year round!

If you are a senior PHP developer, knowledgeable in both Symfony and Composer, with a hint of frontend experience (we use Vue.js, jQuery+vanilla JS, Bootstrap4 and Webpack), then you should join in on the fun! We currently have one offer online, but in truth we are looking for 4-5 more Core developers in order to boost our various projects!

Product team

Those are the ones in charge of defining how PrestaShop will evolving, depending on best practices, user surveys, community feedback and new customer behaviors.

The team is currently looking for:

  • A senior UX/UI Designer. Come take charge of the way merchants interact with their back office, implement the latest best practices in e-commerce into the front office, and the leader of all things design in our various projects!
  • Product Managers. Do you know how to survey your domain, separate the wheat from the chaff, create user stories and UI/UX briefs, prioritize and build a roadmap from all that information, depending on the available manpower? Then we have many projects for you to impact!
  • A Developer Evangelist. If you’re a developer looking to expand into tech community leadership, then this is for you. Be the voice for the Core team both online and at events, survey the community, help with pull requests, create documentation and tools, and anything that empowers the contributors!

.com team

Our online presence is built by a small team that is looking to grow:

  • A Front-End Developer. Mastering Drupal, jQuery and Bootstrap are only part of the ideal. In this role, you’ll be able to do A/B Testing, improve the UI/UX, and explore analytics, all in an agile environment.
  • A Back-End/Drupal Developer. You know Drupal (and WordPress), understand JavaScript, have already worked with APIs and enjoy tinkering for performance? Then go for it!

What’s in there for me?

  • An awesome team spirit
  • Some real technical challenges (if you’re here, you’ve probably read what we’re technically up to)
  • The tools of your choice: PhpStorm? Great! vim? Awesome! Atom? Sublime! Windows/Linux? We got ya covered!
  • Great offices at the heart of Paris’ tech scene
  • A fluffy mascot named Puff
  • Frequent team buildings and informal activities (music, sports, meetups)
  • A tasty welcome each morning (fruits, pastries)

Sometimes an image is worth thousands words. Joining the PrestaShop means become a part of this:

Yep, the PrestaCrew likes to have some fun

Let’s get serious

If this all sounds good to you, you can directly contact Charlotte, our amazing HR Manager, to let her know you want to join the team!

Charlotte Clément
charlotte.clement@prestashop.com

About the 1.7.2.2 performance improvement

$
0
0

A small line might have gone unnoticed in the PrestaShop 1.7.2.2 release announcement: “1.7 front-end should now be faster than 1.6’s for popular stores”. What does it apply to, and how did we test for such performances? Here’s how.

With the release of PrestaShop 1.7.2.2, we have tried to remove a few point of contention which were affecting badly overall PrestaShop performance:

  • Specific price computation
  • Bad sale page pagination, which loaded too many products on one page

Let’s check the specific price improvement!

Why improving specificPrice() is important for performance?

According to our internal software, specificPrice() computation was particularly slow, AND present across a lot of pages.

Basically our software crawls a website, profiles each page it finds, then generates a global report. specificPrice() was listed in the top 5 most resource and time consuming operation, overall.

When can I expect improvements?

Each time a price is displayed, the specificPrice() method is called. The logic can be greatly optimized when there is no “global” specific price rule. A global rule means it applies to all your products. Luckily, global rules don’t occur that often in a real shop. In this case:

  • If no specific price at all exists for a given product, don’t try to compute the specificPrice() (makes sense, doesn’t it?)
  • If a specific price exists for this product, the SQL query will be optimized and executed faster.

This also allows to improve the local specificPrice() cache, and greatly reduces the number of SQL queries associated with it.

Let’s benchmark this!

The configuration

To do this benchmark, we chose to use a dedicated Mini HG server from OVH, which offers high performances for a fairly decent price:

  • CPU: Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60 GHz (8 cores, 16 threads)
  • Memory: 64 GB
  • Disk: 2x SSD 600 GB
  • RAID Controller: LSI MegaRAID SAS 9271-4i CacheVault 1G FastPath

We used a Debian Wheezy, with the standard, dotdeb & sury.org packages, and a properly optimized configuration:

  • Apache 2.4.23, with mpm_event and the following configuration:

    • ServerLimit 16
    • MaxClients 400
    • StartServers 3
    • ThreadLimit 64
    • ThreadsPerChild 25
    • MaxRequestWorkers 400
    • MaxConnectionsPerChild 0
  • PHP 7.0.23 & APCu + Zend OpCache v7.0.23 PHP-FPM mode with the following configuration:

    • pm = dynamic
    • pm.max_children = 400
    • pm.start_servers = 75
    • pm.min_spare_servers = 50
    • pm.max_spare_servers = 100
  • MariaDB 10.2.8, with the following configuration:

    • performance_schema = OFF
    • innodb_lock_wait_timeout = 120
    • default_storage_engine = InnoDB
    • max_allowed_packet = 16M
    • key_buffer_size = 128M
    • table_cache = 4096
    • read_buffer_size = 2M
    • read_rnd_buffer_size = 1M
    • thread_cache_size = 80
    • join_buffer_size = 2M
    • sort_buffer_size = 2M
    • max_connections = 400
    • tmp_table_size = 32M
    • max_heap_table_size = 32M
    • table_definition_cache = 8192
    • query_cache_size = 32M
    • innodb_buffer_pool_size = 3G
    • innodb_log_file_size = 128M
    • innodb_log_files_in_group = 2
    • innodb_log_buffer_size = 8M
    • innodb_flush_log_at_trx_commit = 2
    • innodb_thread_concurrency = 64
    • innodb_read_io_threads = 8
    • innodb_write_io_threads = 8
    • innodb_flush_method = O_DIRECT
    • innodb_file_per_table = 1
    • innodb_io_capacity = 2000
    • innodb_file_format = Barracuda
    • innodb_checksum_algorithm = crc32
    • innodb_log_compressed_pages = 0
    • # SSD
    • innodb_flush_neighbors = 0
    • # Mutex contention
    • innodb_buffer_pool_instances = 32

Memcached is used, configured locally, with 128 MB of memory.

We made a benchmark with a real shop, which features:

  • 1,904 products
  • 1,827 categories
  • 10,843 cart rules
  • 2M product attributes
  • 16.5M attribute combinations
  • 57 specific prices

The benchmarks results are the average of 5 “siege -i -b -t 20S” (20 s benchmark), on representative pages which have a direct impact on user navigation and SEO:

  • Category pages
  • Product pages
  • Home pages
  • Cart pages
  • Best sales pages
  • Tag search pages
  • Manufacturer pages
  • New product pages
  • Price drop pages
  • Supplier pages
  • Search pages

The result

Performance benchmark

With this shop with few specific prices in the database, the gain is interesting. Even at low concurrency, the improved local cache reduces the number of SQL queries, and allows 1.7 to have the same level of performances than 1.6.1.

At high concurrency, the gain is even higher because a signification point of contention on the database is removed.

Conclusion

The 1.7.2.2 performance improvement is really interesting at high concurrency, and also lowers the number of SQL queries at low concurrency. However you’ll see improvement only if you don’t have any global specific price rules in your database, which should be the case most of the time.

To check if you have global specific price rules, just search in your database if you have any results with id_product=0 in the specific_price table!

(this article was originally published on Softizy, website of Jocelyn, the author of this performance improvement)

PrestaShop Core Weekly - Weeks 37-38 of 2017

$
0
0

This edition of the Core Weekly report highlights changes in PrestaShop’s core codebase during the last two weeks, from Monday 11th to Sunday 24th of September 2017.

Core Weekly banner

General messages

Aaaaaand we’re back with a new set of merged pull requests!

A good many things were published here since the last Core Weekly, so let’s review those, and some more:

Get involved! :)

Code changes in the ‘develop’ branch (for v1.7.3.0)

Core

  • #8180: Fix conflict between two cart rules and a single product cart. Thank you @xaconi!
  • #8327: Added a new collector for Hooks, by @mickaelandrieu.
  • #8328: Add DB prefix in delete() method all time $add_prefix is set to true. Thank you @prestamodule!
  • #8339: Array-check in additional form fields from modules. Thank you @antointa!
  • #8347: MO: added methods to check in which context module is executed, by @mickaelandrieu.
  • #8352: Fix already defined class during upgrade process from 1.6 to 1.7. Thank you @kpodemski!
  • #8354: CO: Update composer dependencies, by @eternoendless.

Back office

  • #8254: Migrate System information page to Symfony, by @mickaelandrieu.
  • #8355: Fix product pages tabs, by @nihco2.
  • #8359: Fix module dropdown, by @nihco2.

Front office

  • #8331: FO: display errors on change password (lost). Thank you @prestarocket!

Tests

  • #8356: Improved syntax check file tests output, by @mickaelandrieu.

Installer

  • #8336: More Japanese for installer, by @alexeven.

Code changes in the ‘1.7.2.x’ branch (for v1.7.2.3)

Core

  • #8287: Fix the category search in the product page, by @fatmabouchekoua.
  • #8288: Fix displaying empty zip code of tax rule, by @fatmabouchekoua.
  • #8360: Fixing the version for core modules ps_legalcompliance ps_linklist ps_customtext ps_customeraccountlinks, by @toutantic.
  • #8361: Fix conflict between two cart rules and a single product cart, by @eternoendless.

Back office

  • #7810: Add a loading spinner into product page, by @fatmabouchekoua.
  • #8232: Fixed bug in AdminCartRulesController when limiting the validity of a CartRule for a specific Customer in Multishop context. Thank you @christianverardi!
  • #8346: Fix the currency display in supply order, by @hibatallahaouadni.

Front office

  • #7781: Add error message when updating quantity wanted input, by @fatmabouchekoua.
  • #8283: Currency exchange fixes on product page, by @tomlev.

Code changes in the ‘rtl’ branch (for the 1.7 RTL project)

Back office

  • #8249: Display “Generate RTL stylesheets” section. Thank you @ramtin2025!

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @antointa, @christianverardi, @kpodemski, @prestamodule, @prestarocket, @ramtin2025, and @xaconi.

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 tickets and comments on the Forge!

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 the Forge to contribute to PrestaShop. Thank you!

Happy contributin’ everyone!

Do you speak PrestaShop? – August 2017 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 tells you how the translations of the software evolved in August.

Crowdin Monthly banner

Project news

Get ready for version 1.7.3.0

We’re currently working on version 1.7.3, which is planned for October. That means an update of the content source on Crowdin, and possibly new strings to be translated in October. We’ll let you know when it’s ready for you to translate!

1.6 Validation

There are some translations for version 1.6 awaiting validation. While we don’t have enough proofreaders to validate all this content, we’ve decided to automatically validate what’s left in 1.6. That way all the translations for 1.6 will be available in the software. If there are mistakes in this content, making it available in the software will probably help bring more translators and proofreaders to the project - at least that’s what we hope ;) And if you’re interested in proofreading PrestaShop translations, do get in touch with us!

A few stats

  • 36 members were active on the project this month.
  • A total of 65,570 words have been translated and 71,652 validated.
  • All this in 24 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 August 2017.

Top 10 translators in August:

 TranslatorLanguage# Words
1.Jesús Ruiz (jruiz)Spanish3,876
2.SeongHyeon Cho (jaymz9634)Korean3,300
3.Yuji Sugimoto (bm-sugi)Japanese2,058
4.Yosef Esses Cohen (ppesses)Spanish, Mexico1,789
5.Monika (monikaraciunaite)Lithuanian1,193
6.amzstevenThai1,170
7.MARK-APPDutch973
8.Stamatis (breezer)Greek848
9.Nicolas Zampieri (nickzampieri)French, Canada629
10.Daniel Valente (dgv)Portuguese, Brazil581

Top 10 proofreaders in August:

 ProofreaderLanguage# Words
1.Jesús Ruiz (jruiz)Spanish3,920
2.Yuji Sugimoto (bm-sugi)Japanese1,759
3.Monika (monikaraciunaite)Lithuanian1,236
4.Stamatis (breezer)Greek1,231
5.LyoNickHebrew971
6.Daniel Valente (dgv)Portuguese, Brazil811
7.AmirRzdPersian633
8.Cha (cafetango)Chinese, Traditional527
9.contiruXXX373
10.SeongHyeon Cho (jaymz9634)Korean227

Congrats, and welcome to our new top contributors!

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 2017, PrestaShop 1.6.1 was fully available (= 100% translated and validated) in 17 languages:

BulgarianCroatianDanishEnglish
FrenchFrench, CanadaGermanGreek
ItalianNorwegianPolishRussian
SlovakSloveneSpanishSwedish
Turkish   

For its part, PrestaShop 1.7.2 was fully available in 15 languages!

CroatianDanishEnglishFrench
GreekItalianLithuanianRomanian
RussianSlovakSloveneSwedish
SpanishTurkishUkrainian 

Languages with the best evolution

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

  • Korean (+14% to reach 37% translated in 1.7)
  • Japanese (+5% to reach 89% translated in 1.7)
  • Spanish, Mexico (+3% to reach 52% translated in 1.7)
  • Lithuanian (+3% to reach 100% translated in 1.7)

Best translation progress for August 2017

Thanks 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 these proofreaders! Thank 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 good level of validated strings vs. translated strings, to make sure everyone benefits from the latest translations!

The list has quite evolved over the last few months, meaning that a lot of proofreading took place. It’s great!

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

  • Arabic (53% translated vs 19% validated in 1.7).
  • Korean (37% vs 9% in 1.7).
  • Portuguese, Brazil (100% vs 79% in 1.7 - there’s been a huge progress, keep up the good work!).
  • Spanish, Mexico (52% vs 32% in 1.7).
  • Galician (66% vs 47% in 1.7).

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. We need your help!

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

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!

Contributor interview: Andrej Staš

$
0
0

An Open Source community is more than just PR made by faceless strangers. In order to better understand the people who contribute time and skills to the PrestaShop project, we’re launching a series of interviews with contributors of all ranges. This week, meet Andrej Staš!

Hi Andrej! First, could you tell us a bit about yourself?

Hi Xavier! I’m an IT freelancer working on several projects, and one of them is also Presta-theme-maker.com which has been running since 2012. I also enjoy traveling, reading books, studying new languages and building a location independent business.

When and why did you get involved in contributing to the PS project? What motivates you?

My first bug was reported at the end of 2016 while I was building a new editor for PrestaShop 1.7 and my friend was developing several homepage modules. We submitted all the problems that we discovered or that we received from our clients.

We want to provide our customers with awesome themes, modules, and a great overall experience. We can only control part of the process since PrestaShop must work flawlessly. Helping to improve PrestaShop is, therefore, part of our agenda.

You are very active on the Forge, with several tickets to your credit. Have you thought about trying to suggest bugfixes using Git/GitHub?

Yes, I was also considering this option, but haven’t done so yet. I guess it will be the next step.

Do you have any advice for first-time PrestaShop contributors?

When you face any problem you always have two options: you can accept it, or you can try to change it. In case you have found an issue in PrestaShop, I suggest spending a few minutes to report it. It might help other people in the future and save a good amount of time.

How would you say contributing to PrestaShop could be improved?

I assume that the Forge is a suitable system for PrestaShop to track the bugs, but the user interface is not friendly for an ordinary user and looks rather intimidating.

Adding a new bug should be smoother and easier even for people who have barely any technical skills. Also receiving more feedback right after adding a new bug would be encouraging. At the moment a ticket happens to stay open for months without any particular reaction.

What’s the number one thing you’ve learnt by contributing to Open Source projects?

We are all one. When you contribute to an Open Source project, it might seem like you help developers thousand kilometers away, but in fact, you help yourself to have a better project in the future.

Thank you Nick, we hope to see you more from you as PrestaShop evolves! :)


Contributor interview: Andrej Staš

$
0
0

An Open Source community is more than just PR made by faceless strangers. In order to better understand the people who contribute time and skills to the PrestaShop project, we’re launching a series of interviews with contributors of all ranges. This week, meet Andrej Staš!

Hi Andrej! First, could you tell us a bit about yourself?

Hi Xavier! I’m an IT freelancer working on several projects, and one of them is also PrestaBuilder.com which has been running since 2012. I also enjoy traveling, reading books, studying new languages and building a location independent business.

When and why did you get involved in contributing to the PS project? What motivates you?

My first bug was reported at the end of 2016 while I was building a new editor for PrestaShop 1.7 and my friend was developing several homepage modules. We submitted all the problems that we discovered or that we received from our clients.

We want to provide our customers with awesome themes, modules, and a great overall experience. We can only control part of the process since PrestaShop must work flawlessly. Helping to improve PrestaShop is, therefore, part of our agenda.

You are very active on the Forge, with several tickets to your credit. Have you thought about trying to suggest bugfixes using Git/GitHub?

Yes, I was also considering this option, but haven’t done so yet. I guess it will be the next step.

Do you have any advice for first-time PrestaShop contributors?

When you face any problem you always have two options: you can accept it, or you can try to change it. In case you have found an issue in PrestaShop, I suggest spending a few minutes to report it. It might help other people in the future and save a good amount of time.

How would you say contributing to PrestaShop could be improved?

I assume that the Forge is a suitable system for PrestaShop to track the bugs, but the user interface is not friendly for an ordinary user and looks rather intimidating.

Adding a new bug should be smoother and easier even for people who have barely any technical skills. Also receiving more feedback right after adding a new bug would be encouraging. At the moment a ticket happens to stay open for months without any particular reaction.

What’s the number one thing you’ve learnt by contributing to Open Source projects?

We are all one. When you contribute to an Open Source project, it might seem like you help developers thousand kilometers away, but in fact, you help yourself to have a better project in the future.

Thank you Nick, we hope to see you more from you as PrestaShop evolves! :)

A year into 1.6 maintenance: the way forward

$
0
0

A year ago, we released PrestaShop 1.7.0.0, and put version 1.6 in maintenance mode. The plan is to maintain it for two years, with regular patch releases. Approaching the one-year mark, time to for a review!

So, first things first: we are of course as committed as ever to support version 1.6 until October 2018. As you know, we have kept our promise: A dedicated team of developers has been assigned to process 1.6 tickets one by one: testing, fixing, releasing. Thanks to this effort and the contribution of community members, we’ve been able to release 9 patch versions in 11 months.

Since November 7th, 2016, the PrestaShop 1.6 team has handled around 1,400 Forge tickets and more than 210 GitHub pull requests, and we want to keep this pace: reproducing issues, fixing them and testing those fixes for the tens of thousands of store which still use this version.

October 2017 marks the middle of the official maintenance period: a time to reflect on what has been done so far, and to set up processes the coming year. The idea is to understand what can be done in the timeframe, and together, to prepare for the end of maintenance of version 1.6.

Our plan for the remaining 1.6 Forge tickets

In short: our team will focus on resolving important tickets that have been active in the last 18 months.

Thanks to the pace we’ve been going since the start of the maintenance mode, we are confident that the 1.6 Forge can be cleaned of known issues by the time we reach October 2018.

In order to focus our maintenance effort on bugs that are still relevant, we are planning a closure on some old inactive tickets: by the end of October 2017, we will close all 1.6 Forge tickets that have not been updated for the past year and a half (18 months - or 78 weeks in Jira-speak) – taking into account the votes and watchers too, in order to not miss important information..

We’ve been doing a ton of digging through the Forge over the past months, and we’re confident that a lot of tickets can be retired as obsolete or non-reproducible.

Of course, the best person to act on your old tickets is you! Read on!

You can help!

This is where you enter the story. As you know, PrestaShop is Open Source, and enjoy it when the community contributes to its success. This can happen through many channels, starting with Forge tickets and GitHub pull requests.

Update your tickets!

Should you be the reporter for an old issue, you are welcome to update it with comments and details, thus helping bring it back to relevancy! You can see a list of all your reported issues here.

So please have a look at the Forge tickets that you have created in the past and ask yourself:

  • Is this still relevant and 100% reproducible?
  • Does this still need to be fixed/answered?
  • Is the suggestion still valid?

If you answer “no” to any of the above questions, then don’t do anything: the ticket will be closed by our team soon.

If you have answered “yes”, then please leave a comment on the ticket explaining the situation, and we’ll take another look at it.

Note: if your ticket is about a bug or a suggestion that is still relevant in 1.7, please leave a comment that says so, and we will move it to the 1.7 Forge. At best, if you know how to fix the issue, please provide the solution through a GitHub pull request! Being an Open Source project, community pull requests are the best thing to come to on a Monday morning :)

By following these simple suggestions, you can help us go through the open Forge tickets quicker, spot the real gems faster, and thus make PrestaShop a better e-commerce solution!

Thank you for giving us an update on every one of your open 1.6 Forge tickets, and for upgrading to 1.7!

Start migrating!

Soon will start the countdown to the last 12 months of maintenance of version 1.6. While we plan on making regular bugfix releases, you should start thinking about migrating to version 1.7 the stores which you are responsible for. Of course, v1.6 will not stop working from one day to the next, but the team will stop releasing bugfix releases and supporting it.

Thousands of stores have already chosen v1.7, either as a first store or as a store upgrade, and this is where the future of PrestaShop lies. The Addons marketplace already has thousands of modules and themes built for 1.7, and the software itself keeps improving, with regular patch releases and a minor version every 3 to 4 months.

So go ahead, get ready to make the jump to 1.7!

And if you notice new issues, we always welcome new Forge tickets or new GitHub pull requests (even better!) from the PrestaShop community. Make your voice heard!

Release of PrestaShop 1.7.2.3

$
0
0

PrestaShop 1.7.2.3 is now available. This maintenance release fixes 17 issues reported on version 1.7.2.x.

Some of the most notable fixes are:

  • New loading spinner in Product Creation page.
  • New Context mocker for FrontController tests.
  • Fix for a voucher issue.
  • Fix currency display in supply order.
  • Fix cart rules conflict issue.
  • Fix web service product update.

Download PrestaShop 1.7.2.3 now!

Here is the complete list of changes:

  • Back Office:
    • Improvement:
      • #7810: Add a loading spinner into product page
    • Bug fix:
      • #7938: Update bulk action combinations number after delete or add combination
      • #8232: Fixed bug in AdminCartRulesController when limiting the validity …
      • #8287: Fix the category search in the product page
      • #8288: Fix displaying empty zip code of tax rule
      • #8346: Fix the currency display in supply order
      • #8366: Use default country instead of translator locale for marketplace API
  • Front Office:
    • Bug fix:
      • #7781: Add error message when updating quantity wanted input
      • #7848: Fix switching combination when the product is offline
      • #8283: Currency exchange fixes on product page
  • Core:
    • Improvement:
      • #8360: Fixing the version for core modules ps_legalcompliance ps_linklist ps_customtext ps_customeraccountlinks
    • Bug fix:
      • #8213: Voucher issue fix
      • #8298: Add context mocker for front controller tests
      • #8320: Fix again issue on Travis with window maximization (1.7.2.x)
      • #8361: Fix conflict between two cart rules and a single product cart
      • #8380: Fix Context::getTranslator() cache
  • Web Services:
    • Bug fix:
      • #8275: Fix update product with WS

Contributors to this patch version, from both the Core team and the community at large: @aleeks, @christianverardi, @eternoendless, @fatmabouchekoua, @hibatallahaouadni, @prestaworks, @quetzacoalt91, @rgaillard, @tomlev, and @toutantic! Thank you!

Since version 1.7.2.3 is a “patch” update to version 1.7.2.2, upgrading from any 1.7.2 version will be easy: features will work better, and modules & themes which worked fine on 1.7.2.0 will work just as well with 1.7.2.3.
Upgrades from a standard 1.7.x version should work just as well, and those upgrading from older versions (1.6, 1.5, 1.4 or even older) should take their time and pay attention to their modules, their theme and their custom modifications!

PrestaShop Core Weekly - Weeks 39-40 of 2017

$
0
0

This edition of the Core Weekly report highlights changes in PrestaShop’s core codebase during the last two weeks, from Monday 25th of September to Sunday 8th of Cotober 2017.

Core Weekly banner

General messages

This week, you should really read our article about the future of PrestaShop 1.6: “A year into 1.6 maintenance: the way forward”.

From the day we released version 1.7.0.0 in late 2016, version 1.6 has been put in “maintenance mode”, with regular bugfix versions until October 2018 – two full years after the release.

Now that we are at the 1-year mark, it is time to review what has been done, and to remind the community that they, as always, can play a crucial part of the development: namely, review one’s Forge ticket to check that they can safely be closed.

Please, read on, and together, let’s plan the year ahead for 1.6!

Code changes in the ‘develop’ branch (for v1.7.3.0)

Core

  • #8386: Rebuild all assets with UI kit beta, by @eternoendless.

Back office

  • #8255: Fix import products without Force all ID numbers. Thank you @gabdara!
  • #8370: Fixed silenced error, by @mickaelandrieu.
  • #8375: Fix product page blocks spacing, by @nihco2.
  • #8377: Fixed minor visual issue in Information page, by @mickaelandrieu.
  • #8390: Add Icelandic as supported language, by @alexeven.

Front office

  • #8351: Add id_product_attribute to productLink. Thank you @prestamodule!

Code changes in the ‘1.7.2.x’ branch (for v1.7.2.3)

Core

  • #8380: Fix Context::getTranslator() cache, by @rgaillard.

Back office

  • #7938: Update bulk action combinations number after delete or add combination, by @fatmabouchekoua.
  • #8366: Use default country instead of translator locale for marketplace API, by @quetzacoalt91.

Front office

  • #7848: Fix switching combination when the product is offline, by @fatmabouchekoua.

Code changes in the ‘1.6.1.x’ branch (for v1.6.1.18)

Core

  • #8177: Use english email template as fallback in getEmailTemplateContent. Thank you @123monsite-regis!

Back office

  • #8335: Revert “Add paid order to stats dashboard even when there’s no related invoice generated”, by @eternoendless.

Code changes in the ‘rtl’ branch (for the 1.7 RTL project)

Back office

  • #8388: RTL fixtures and improvements in BO. Thank you @danoosh!

Front office

  • #8382: Remove mistake ltr directions in rtl css files. Thank you @danoosh!

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @123monsite-regis, @danoosh, @gabdara, and @prestamodule!

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 tickets and comments on the Forge!

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 the Forge to contribute to PrestaShop. Thank you!

Happy contributin’ everyone!

Contributor interview: Sullivan Sénéchal

$
0
0

An Open Source community is more than just PR made by faceless strangers. In order to better understand the people who contribute time and skills to the PrestaShop project, we’re launching a series of interviews with contributors of all ranges. This week, meet Sullivan Sénéchal!

Hi Sullivan! First, could you tell us a bit about yourself?

I am a 26 years old web development expert working at a hosting company in Roubaix, France. I also do some freelancing.

I work a lot with the open-source world in parallel to my work, either with my own creations, or by participating in others like yours! :-)

I mainly use the Symfony framework, and am part of the Sonata Project open-source team.

When and why did you get involved in contributing to the PS project? What motivates you?

I started contributing as much as I could to your project a few months ago.

Firstly, for a personal development need, for which Prestashop wasn’t not quite compatible enough. The fact is, I mainly use Capistrano for project deployment, and Composer for dependency management (library, plugins, etc.). I take care of updates (and SQL migration) mainly using the command line.

With PS 1.7 being based on Symfony and Composer, I wanted to get into the project. I still encounter several difficulties and I spot some points that can be improved. I hope to have time to propose improvement for them one day.

Do you have any advice for first-time PrestaShop contributors?

What I will say to all contributors to projects for which I am responsible: Read good practices and rules of contribution, verify that the issue / PR does not already exist and … be not afraid. Mastering Git mastery and open-source tools are not something you’re born with, the community is here to help! ;-)

Also, my golden rule: Never modify the vendor code, do an extension or suggest a PR instead!

What’s the number one thing you’ve learnt by contributing to Open Source projects?

The most important thing to me is reliability and maintenance, made possible through a strong community. This is one thing that is unfortunately not guaranteed with a paid and / or private product.

Thank you Sullivan, we hope to see more from you as PrestaShop evolves! :)

Viewing all 944 articles
Browse latest View live