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

PrestaShop Core Weekly - Weeks 30-31

$
0
0

This edition of the Core Weekly report highlights changes in PrestaShop’s core codebase during the previous two weeks, from Monday 25thth of July to Sunday 7th of August 2016.

General messages

We released Beta 3 of PrestaShop 1.7 last week! Have a go at it, will ya? :)

Want to help things go faster? There are several ways:

You can find an up-to-date thread about the 1.7 development in the forum.
The 1.7 Project FAQ is always available here: http://build.prestashop.com/news/prestashop-1-7-faq/.

Code changes in branch develop (for version 1.7.0.0)

Let’s review the merged pull-requests on the ‘develop’ branch since the last Core Weekly Report!

Text

  • 5901: Wording optimization, by @alexeven.

Front office (including the default theme, named “Classic”, based upon the Starter Theme)

  • 5718: Refacto GuestTrackingController, by @julienbourdeau.
  • 5897: Fixed multiples issues on Cart and product pages, by @ishcherbakov.
  • 5908: Fixed “print out” link display condition. Thank you @antho-girard!
  • 5914: render a 404 template if no products found, by @ishcherbakov.
  • 5921: Fix core.js and core.js.map, by @maximebiloe.
  • 5925: Fix top menu layout, by @ishcherbakov.
  • 5930: Display unit price according to tax config, by @julienbourdeau.
  • 5938: Do not escape urls, by @julienbourdeau.
  • 5939: Product layout, by @ishcherbakov.
  • 5945: Added Bigger border on summary, by @paeddl.
  • 5947: id for each link to make individual styles possible, by @paeddl.
  • 5954: Remove RSCSS body classes, by @julienbourdeau.

Back office

  • 5134: Delete unused old images. Thank you @martinfojtik!
  • 5841: Allow accessories having | in the name. Thank you @masoko!
  • 5865: Multiple integration bugfixes, by @nihco2.
  • 5868: Asynchronous loading of product combinations, by @maximebiloe.
  • 5881: Improved design on module page, by @quetzacoalt91.
  • 5902: Fix “Export to SQL Manager” buttons. Thank you @antho-girard!
  • 5903: Old product tpls are not needed anymore, by @maximebiloe.
  • 5906: Fix access when adding attribute value. Thank you @antho-girard!
  • 5910: Fix undefined method into combinations form, by @maximebiloe.
  • 5911: Do not display new products in the BO listing until they are saved, by @jocel1.
  • 5913: Add modal for Addons logout on module page, by @quetzacoalt91.
  • 5918: Set translated product names when empty, by @quetzacoalt91.
  • 5919: Fill empty friendly URL on product save, by @quetzacoalt91.
  • 5920: Disable bulk action while combinations are loading, by @maximebiloe.
  • 5923: Switch error messages to new translation system, by @alexeven.
  • 5926: Fixed order status bulk update. Thank you @antho-girard!
  • 5927: Avoid JS error outside of product page, by @quetzacoalt91.
  • 5928: Add constraint for forbidden characters in product name. Thank you @antho-girard!
  • 5931: Replaced text input by select input for page name in Meta page. Thank you @antho-girard!
  • 5932: Fixed page suppression in AdminMeta. Thank you @antho-girard!
  • 5933: Add translation domains to controllers, by @alexeven.
  • 5940: Add translation domains to controllers, by @alexeven.
  • 5941: Display ‘install’ on paid module when present on disk, by @quetzacoalt91.
  • 5948: Completed webpack build for new theme, by @mickaelandrieu.
  • 5951: Fixed popup when previewing on Product page, by @mickaelandrieu.

Core

  • 5235: Link carriers to payment methods. Thank you @firstred!
  • 5327: Added shop association to CMS category. Thank you @connemb!
  • 5700: Warn you if you forgot composer update, by @julienbourdeau.
  • 5899: Fallback on xml for unknown locale, by @julienbourdeau.
  • 5905: Introduced new Client API for addons, by @mickaelandrieu.
  • 5909: Upgrade an uploaded module when already installed, by @quetzacoalt91.
  • 5915: Move to new 1.7 modules and remove the old 1.6 ones, by @maximebiloe.
  • 5929: All modules actions use POST method, by @mickaelandrieu.
  • 5934: Remove PHP 5.5 tests on travis, by @julienbourdeau.
  • 5942: Refactored all routes to follow best practices, by @mickaelandrieu.
  • 5943: change visibility of installControllers() method. Thank you @prestamodule!
  • 5946: Removed the dumped XML container, by @mickaelandrieu.
  • 5953: Re-add lost API call for module download from the marketplace, by @quetzacoalt91.

Tests

  • 5690: Ensure that no more additional PSR2 issues are allowed, by @mickaelandrieu.

Installer

  • 5821: Properly migrate old 1.6 settings during composer install / update & upgrade script, by @jocel1.
  • 5907: Accept a specific port in doctrine configuration, by @mickaelandrieu.

See all the PRs merged into the codebase since the last Core Weekly here.

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @antho-girard, @connemb, @firstred, @martinfojtik, @masoko, and @prestamodule!
Also, 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? – July 2016 edition

$
0
0

Here is the latest report to inform you of what happened on the PrestaShop translation project on Crowdin in July. It’s coming a bit later than usual, but we’ve been busy, as you’ll see!

Project news

Thank you <3

We witnessed a kind of “1.7 effect” on the project. Indeed, the month of July has been quite exceptionnal with many people joining the project, and a huge peak in the activity, right after the upload of the 1.7 translations. We had a lot of active languages, with many words translated and validated. A big thanks to all of you, whether you joined the project or you’ve been around for a while!!

Let’s hope it stays this way :)

String propagation

With the arrival of the 1.7 project, the propagation of translation has evolved. From now on, you should translate in priority the 1.6 project. The translations will then automatically propagate to the 1.7 project, when the source strings are similar, of course.

If the 1.6 project is 100% translated in your language, then you can focus on the 1.7 translation. Which makes sense since PrestaShop 1.6 is our current version, and the 1.7 version is still in its beta phase. About that, you can still test it if you want to help us collect feedback!

Translations for PrestaShop 1.7

We’ve updated the 1.7 project, adding more strings (mostly error messages), which is why the percentage of progression have evolved (this was last week). We also keep adding domains to the strings: some strings moved from the “message” folder to their relevant one.

We’ve also added some new domains, like Admin.Dashboard or Admin.Login thus adding new folders to the project. We will soon update the article about the new translation system to let you know about all this novelties.

Updated 1.6 translations

We’ve kept our update rythm (that means updating 1.6 translation every two weeks). The last update was on the 3rd of August, while the next one is planned for next week, around the 17th of August.

Icelandic

A new language is available on our Crowdin project: Icelandic. If you speak Icelandic, join us!

Now let’s get back to our Crowdin project, and the full report of its activity in July:

A few stats

  • 195 contributors joined the project this month (+457%!! @_@), for a total of 3,041 members at the end of July. Welcome to all of them!
  • 93 members were active on the project this month (+174%).
  • A total of 92,430 words have been translated (+252% ^) and 64,110 validated (+ 135%).
  • All this in 35 different languages (+52%).

July 2016 number of translators

Thank you for your involvement!

Top contributors

A lot of you are working everyday 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 this July.

Top 10 translators in July:

 TranslatorLanguage# Words
1.A Petapouca (petapouca)Galician15,953
2.Enzo Ferrara (ferribbotte)Italian7,941
3.Monika (monikaraciunaite)Lithuanian7,701
4.Michael Dekker (mdekker)Dutch7,673
5.DaoKakaoRussian6,846
6.Patrik Lindblom (extendus)Swedish4,773
7.eleazarGerman4,269
8.Alper Demir (alper-demir)Turkish4,014
9.Filip Filipović (filipfilipovic)Croatian3,391
10.SkaZun (raidhunters)Ukrainian3,104

Top 10 proofreaders in July:

 ProofreaderLanguage# Words
1.A Petapouca (petapouca)Galician10,934
2.Michael Dekker (mdekker)Dutch7,673
3.Gytis Šk (gytis)Lithuanian7,511
4.DaoKakaoRussian7,327
5.Alper Demir (alper-demir)Turkish5,154
6.Patrik Lindblom (extendus)Swedish4,606
7.Enzo Ferrara (ferribbotte)Italian4,210
8.SkaZun (raidhunters)Ukrainian3,015
9.Filip Filipović (filipfilipovic)Croatian2,846
10.eleazarGerman2,807

A big applause to them! And welcome to our new top contributors!

Complete translations

Fully translated languages

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

  • Bulgarian
  • Croatian
  • Czech
  • Dutch
  • English
  • French
  • German
  • Italian
  • Lithuanian
  • Norwegian
  • Persian
  • Polish
  • Russian
  • Slovak
  • Slovenian
  • Swedish

98-99% translated languages

PrestaShop was also almost fully translated (and/or validated) in these 7 languages:

  • Greek
  • Indonesian
  • Portuguese
  • Portuguese, Brazilian
  • Romanian
  • Spanish
  • Vietnamese

A little bit of work and these languages can be 100% translated and validated too! If you feel like you want to help, join the project!

Languages with the best evolution

In comparison with June 2016, the following languages had the best progress in July:

(these numbers are mostly issued from the progress of the 1.7 project, as this is where most of the work took place this month.)

  • Galician (+109% to reach 67% translated in 1.7)
  • Lithuanian (+23% to reach 957% translated in 1.7)
  • German (+11% to reach 90% translated in 1.7)
  • Croatian (+10% to reach 90% translated in 1.7)
  • Russian (+9% to reach 100% translated in 1.7)

July 2016 best translation progress

Other languages performed well like Ukrainian, Spanish (Argentina), Albanian, Persian and Polish. 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 mentionned here aren’t active. Indeed, some editing and rewriting could be going on, but the % 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!

At the end of July, 7 languages would still benefit from more proofreading:

  • Turkish (100% translated vs 55% validated - still improving!)
  • Greek (100% translated vs 81% validated)
  • Romanian (100% vs 87%)
  • Ukrainian (100% vs 55%)
  • Hungarian (92% vs 72%)
  • Arabic (54% vs 28%)
  • Galician (50% vs 14% — althought a loooot of work has been done in 1.7!)

July 2016 best translation progress

If you wish to help proofreading what has been translated, please contact me on Crowdin 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!

PrestaShop Core Weekly - Weeks 32-33

$
0
0

This edition of the Core Weekly report highlights changes in PrestaShop’s core codebase during the previous two weeks, from Monday 8th to Sunday 21st of August 2016.

General messages

Are your modules 1.7-ready? Have a tried to create a 1.7 theme? Check the current tech doc!

You can find an up-to-date thread about the 1.7 development in the forum.
The 1.7 Project FAQ is always available here: http://build.prestashop.com/news/prestashop-1-7-faq/.

Code changes in branch develop (for version 1.7.0.0)

Let’s review the merged pull-requests on the ‘develop’ branch since the last Core Weekly Report!

Text changes

  • 6009: Fix some wording and typos, by @alexeven.
  • 6011: Adding missing space, by @alexeven.

Front office (including the default theme, named “Classic”, based upon the Starter Theme)

  • 5809: Improve template hierarchy, by @julienbourdeau.
  • 5894: New Hook after Login form, by @paeddl.
  • 5959: Product images in front office are now filtered by combination, by @mickaelandrieu.
  • 5962: Refactor order-return and order-follow, by @julienbourdeau.
  • 5975: Bring product features in quickview when combinations exist, by @quetzacoalt91.
  • 5981: Fix undefined shipping data on virtual cart, by @quetzacoalt91.
  • 5999: Display discounts by quantity table when applied to combination, by @mickaelandrieu.
  • 6002: Filled single customization field at file upload, by @thierrymarianne.
  • 6007: Fix displaying products of the new product page when no product is new, by @fatmabouchekoua.
  • 6017: Fix 404 errors for category, by @julienbourdeau.
  • 6020: Fixed all listing pages, by @julienbourdeau.
  • 6022: Responsive header, by @ishcherbakov.
  • 6029: Move forbidden template to errors folder, by @julienbourdeau.
  • 6039: Fix the discount amount in product details page, by @fatmabouchekoua.

Back office

  • 4703: Align <select> in table headers accordingly. Thank you @mcdado!
  • 5805: Update validate function for catalog price rule name. Thank you @antho-girard!
  • 5937: Adapt product page for 13 inches screens, by @nihco2.
  • 5950: Fix unexpected JS behaviour when fixing price decimals on product page, by @quetzacoalt91.
  • 5952: Fix module install from an upload, by @quetzacoalt91.
  • 5961: Make the buttons and dropdown aligned in the module page, by @quetzacoalt91.
  • 5963: Add password reset url in mail for employee. Thank you @antho-girard!
  • 5964: Moved reference field to first tab (merchant experience), by @mickaelandrieu.
  • 5966: Add “No tax” option in the list of tax rules. Thank you @antho-girard!
  • 5967: Auto-fill filename input for virtual product. Thank you @antho-girard!
  • 5970: Module catalog version updated to 1.7, by @shudrum.
  • 5974: Apply reset actions on specific prices form, by @mickaelandrieu.
  • 5977: Remove getCurrentUrtrans() typo, by @xborderie.
  • 5982: Enabled edition of translations messages, by @thierrymarianne.
  • 5983: Remove the translations of Attribute and Attribute group after deleting the language, by @fatmabouchekoua.
  • 5984: Improved specific prices form, by @mickaelandrieu.
  • 5985: Refresh KPI when needed in new BO theme, by @quetzacoalt91.
  • 6000: Fix recommended modules popup on old theme, by @quetzacoalt91.
  • 6001: Refresh the combination list on specific rule form, by @mickaelandrieu.
  • 6003: Add translation domains to controllers, by @alexeven.
  • 6004: Fixed reset behavior on Product form, by @mickaelandrieu.
  • 6006: Improved product type selector, by @mickaelandrieu.
  • 6010: Fixed store selection on product creation, by @thierrymarianne.
  • 6013: Catalog / Product page (modules) & Module page integration, by @shudrum.
  • 6025: Adding tooltip to minimum quantity field, by @fatmabouchekoua.
  • 6032: Fixed product save when product type field is disabled, by @mickaelandrieu.
  • 6033: Fix trans() parameters number in AdminStores, by @maximebiloe.
  • 6035: Remove useless BO options for stores page, by @julienbourdeau.
  • 6040: Enabled translations search, by @thierrymarianne.

Core

  • 5971: When combination have no images, display all available for the product, by @mickaelandrieu.
  • 5972: A price fixed using a specific price rule shouldnt be treated as a discount, by @mickaelandrieu.
  • 5980: Fix the no duplication of category’s information in all shop languages, by @fatmabouchekoua.
  • 5986: Document Alias class. Thank you @firstred!
  • 5987: Document AddressChecksumCore class. Thank you @firstred!
  • 5988: Document AddressFormat class. Thank you @firstred!
  • 5989: Document Address class. Thank you @firstred!
  • 5990: Document Access class. Thank you @firstred!
  • 5991: Document Attachment class. Thank you @firstred!
  • 5993: Document AttributeGroup class. Thank you @firstred!
  • 5994: Document BlowFish class. Thank you @firstred!
  • 5996: Fixed undefined real value in front/ProductController, by @mickaelandrieu.
  • 6005: Create all PrestaShop cache folders on warmup, by @julienbourdeau.
  • 6012: Fix id_carrier check on module. Thank you @firstred!
  • 6015: Document Carrier class. Thank you @firstred!
  • 6016: Document Cart class. Thank you @firstred!
  • 6018: Replace parameters.yml with parameters.php, by @thierrymarianne.
  • 6019: moving the call to the function renderwidget. Thank you @frederic-benoist!
  • 6027: Introduce trans method into Module class, by @maximebiloe.
  • 6030: Drop ALL the tables during install, even with foreign key contraints, by @maximebiloe.
  • 6036: Fix $with_quotes ignored in ObjectModel::formatValue. Thank you @shagshag!

Web Service

  • 5960: Fix fatal error when uploading product image. Thank you @gerdus!

Tests

  • 6038: Add StarterTheme to PrestaShop test suite, by @maximebiloe.

Installer

  • 5958: Check if settings.inc.php has default values. Thank you @martinfojtik!
  • 5997: Add primary key to carriers2payments table. Thank you @firstred!
  • 6021: Insert the right module name for default orders, by @maximebiloe.

See all the PRs merged into the codebase since the last Core Weekly here.

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @antho-girard, @firstred, @frederic-benoist, @gerdus, @martinfojtik, @mcdado, and @shagshag!
Also, 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!

Recommended for testing: PrestaShop 1.7.0.0 RC0

$
0
0

Have you been waiting for a “stable enough” version of PrestaShop 1.7 in order to start truly testing this new major release? Well, consider yourself in luck, because today we are releasing the RC0 of PrestaShop – not quite a first RC, but close enough for you to start testing and provide us with the necessary feedback to make 1.7 a good fit for your needs!

PrestaShop 1.7 Alpha 3 Release

We know how the Open Source community at large works with new major versions: pay attention only once 1.0.0 is released, and wait for 1.0.1 for production use – because, obviously, it fixes the most important issues. When a major versions is being developed, a few dedicated users do their best to report issue and provide fixes and improvements to be merged by the Core developers as time and (wo)manpower allows. Those users are a tremendous help, and what any Core team needs is for more professional users to give their feedback according to their own needs, BEFORE the 1.0.0 release. All Open Source project have to live through this.

And this goes double for the PrestaShop community, indeed: while we have published 2 public alpha versions and 3 beta versions of PrestaShop 1.7.0.0, we received less and less feedback over time. Beta 3 saw a trickle of comments. At this point, a fourth beta seems pointless: we need to kickstart the RC phase. We need more people to get involved in testing 1.7.0.0 before it gets the stabel label.

We have therefore decided to release RC0. Now is the time to work with us towards a stable version. Thank you for contributing, with tests, feedback, patches and translations!

Test PrestaShop 1.7.0.0 RC0 now!

Why an RC0 and not an RC1?

Let’s be transparent here: as the intro to this post shows, the community (you, dear reader!) has given us less and less feedback to work with. This can only mean that development of 1.7.0.0 is nearly perfect and ready for production, right? Or could it be that the community has exhausted all its feedback power? :)

In either case, we need to give a signal that a release is coming soon, and this RC0 (that you can see as a pre-RC1, obviously) is that signal. If you want to test the new front office, to browse the new pages of the back office, to write a module (or to update a module for 1.7) or to create a brand new theme, well, there’s no better time than now :)

What needs to be tested by you?

First and foremost, we need to think in practical terms. The Core of the software can (and will!) receive updates, through versions 1.7.0.1, 1.7.0.2, etc., in due time. When they are released depends on the urgency of the fixes and improvements. Whole sections of the Core can be changed as needed.

One thing that cannot be revamped is the new theme system – meaning the default theme, “Classic”, AND the Started Theme, upon which Classic is written. The reason is simple: theme designers and developers will start creating themes based on Classic and the Starter Theme. Hence, once Classic and the Starter Theme are released into the wild, there’s little we will be free to change without breaking things for developers. We need to make sure both themes serve their purpose well, and this can only happen if you try your hand at creating a theme. Read the Designer documentation (which you can also help improve!), and tell us where we can improve things!

Likewise, as a developer, if your usual hooks are missing, or if you feel the Modules system lacks something essential, let us know! Again, read the documentation (and the Build article) and give us your feedback!

And, of course, let us know of any broken behavior or regression, especially in the pages that were completely rewritten: the Product page, and the Modules page.

What’s new in RC0?

Beta 3 was released on August 1st. Since then, the ‘develop’ branch of our GitHub repository, which hosts the development code for PrestaShop 1.7.0.0, has seen a flurry of fixes and improvements, as well a handful of new features.

The main points are:

  • The default theme now sports a responsive header.
  • The front office has also seen an improvement of its product layout.
  • The back office’s product page now fits neatly in small screens (13 inches).
  • A new Client API has been introduced into Core, for use by modules and themes.
  • All old 1.6 modules have been removed. This version now only has modules updated for 1.7.
  • All modules actions now use the POST method.

See at the bottom of this article for the full list.

What’s not in RC0?

Again, for the sake of transparency, here’s what we still intend to implement after RC0 and before we go stable:

  • Catalog mode.
  • Front office B2B features.
  • Back office translation update.
  • Mobile-ready front office.

So, what’s next?

We’re still hard at work on version 1.7.0.0, making sure it is a great release for the community.

As you might expect, there will be a RC1, and possibly other RC versions until PrestaShop 1.7.0.0 is deemed stable enough for you – and YOU can voice your opinion!

Use the Forge to tell us what is blocking you, or possibly broken. Use GitHub to fix the issues you have noticed. Use the comments on this post to congratulate everyone ;)

Please note that we are not looking for feedback on the overall technical or design aspects: Symfony 2, the new theming system, the back office design and other global aspects of 1.7 (such as the UX decisions on the Product page and the Modules page) are pretty much set in stone. However, do let us know about bugs or possible improvements to all the above aspects!

Thank you to our contributors!

As usual, several key changes in RC0 were provided by contributors just like you! So a big “Thank you!” to those: @firstred, @martinfojtik, @makoso, @antho-girard, and @prestamodule!

We also want to acknowledge all those who submitted Forge tickets during the whole development of 1.7! They are too many to list, so we’ll stick to those who wrote at least two Forge tickets: Adrian Nethercott, Arifur Rahman, Conny2500, Diego Sevillano de Miguel, El Patron, Guillaume Astier, Jonathan Danse, Kamruzzaman Kamrul, Krystian Podemski, Luigi Massa, Mads Oliver Jenssen, Markus Hitter, Martin Fojtík, Michael Dekker, Piotr Żurek, PremiumPresta, Shokinro, Steerfox DevTeam, Tod Roman, and Tomáš Bedřich. Thank you all! Keep ‘em coming :)

This release was spearheaded by the team working for the PrestaShop company: cheers to @alexeven, @fatmaBouchekoua, @ishcherbakov, @jocel1 @julienbourdeau, @maximebiloe, @mickaelandrieu, @nihco2, @paeddl, @quetzacoalt91, @shudrum, and @thierrymarianne!

Full list of changes between Beta 3 and RC0

Want to know it all? Here goes:

  • Back Office:
    • Improvement:
      • 5984: Improved specific prices form
      • 6013: Catalog / Product page (modules) & Module page integration
      • 6009: Fix some wording and typos
      • 5937: Adapt product page for 13 inches screens
      • 5881: Improved design on module page
      • 5948: Completed webpack build for new theme
      • 5940: Add translation domains to controllers - 4
      • 5913: Add modal for Addons logout on module page
      • 5923: Switch error messages to new translation system
      • 5933: Add translation domains to controllers - 3
      • 5903: Old product tpls are not needed anymore
      • 5911: Do not display new products in the BO listing until they are saved
    • Bug fix:
      • 6010: Fixed store selection on product creation
      • 6006: Improved product type selector
      • 6000: Fix recommended modules popup on old theme
      • 6001: Refresh the combination list on specific rule form
      • 5974: Apply reset actions on specific prices form
      • 5977: Remove getCurrentUrtrans() typo (fix BOOM-1214).
      • 5951: Fixed popup when previewing on Product page
      • 5841: Update products.js to allow accessories having | in the name
      • 5941: Display ‘install’ on paid module when present on disk
      • 5932: Fixed page suppression in AdminMeta
      • 5926: Fixed order status bulk update
      • 5931: Replaced text input by select input for page name in Meta page
      • 5927: Avoid JS error outside of product page
      • 5928: Add constraint for forbidden characters in product name
      • 5919: Fill empty friendly URL on product save
      • 5902: Fix “Export to SQL Manager” buttons
      • 5920: Disable bulk action while combinations are loading
      • 5906: Fix access when adding attribute value
  • Front Office:
    • New feature:
      • 6022: Responsive header
    • Improvement:
      • 5894: New Hook after Login form
      • 5939: Improved product layout
      • 5947: Id for each link to make individual styles possible
      • 5945: Added Bigger border on summary
    • Bug fix:
      • 6007: Fix displaying products of the new product page when no product is new
      • 6017: Fix 404 errors for category
      • 5999: Display discounts by quantity table when applied to combination
      • 5959: Product images in front office are now filtered by combination
      • 5914: Render a 404 template if no products found
      • 5925: Fixed top menu layout
      • 5930: Display unit price according to tax config
      • 5897: Fixed multiples issues on Cart and product pages
      • 5921: Fix core.js and core.js.map
      • 5908: Fixed “print out” link display condition
  • Core:
    • Improvement:
      • 6027: Introduce trans method into Module class
      • 6015: Document Carrier class
      • 6016: Document Cart class
      • 6018: Replace parameters.yml with parameters.php
      • 5943: Changed visibility of installControllers() method
      • 5905: Introduced new Client API for addons
      • 5942: Refactored all routes to follow best practices
      • 5915: Move to new 1.7 modules and remove the old 1.6 ones
    • Bug fix:
      • 6012: Fix id_carrier check on module
      • 5972: A price fixed using a specific price rule shouldn’t be treated as a discount
      • 5971: When combination have no images, display all available for the product
      • 5946: Removed the dumped XML container (Security issue)
      • 5929: All modules actions use POST method
      • 5909: Upgrade an uploaded module when already installed

Parting words

If you love PrestaShop and want 1.7 to be a success, contribute!

And you can start by sharing this post! :)

PrestaShop Core Weekly - Weeks 34

$
0
0

This edition of the Core Weekly report highlights changes in PrestaShop’s core codebase during the previous two weeks, from Monday 22nd to Sunday 28th of August 2016.

General messages

Happy September!

Have you noticed? We released RC0 of v1.7.0.0! Time to dust those theme-creating and module-updating skills of yours, in order to give us feedback about your professionnal use and needs for PrestaShop!

Are your modules 1.7-ready? Have a tried to create a 1.7 theme? Check the current tech doc!

You can find an up-to-date thread about the 1.7 development in the forum.
The 1.7 Project FAQ is always available here: http://build.prestashop.com/news/prestashop-1-7-faq/.

Code changes in branch develop (for version 1.7.0.0)

Let’s review the merged pull-requests on the ‘develop’ branch since the last Core Weekly Report!

Text changes

  • 6089: Fix some more wording, by @alexeven.
  • 6090: Change installer string variable for consistency, by @alexeven.
  • 6093: Update and fix front strings for harmonization, by @alexeven.

Front office (including the default theme, named “Classic”, based upon the Starter Theme)

  • 6044: Made footer compatible with legal compliance module, by @thierrymarianne.
  • 6045: Accept newsletter conditions not necessary anymore, by @maximebiloe.
  • 6053: Abide by minimum buying quantity, by @thierrymarianne.
  • 6060: Fixed catalog mode behavior, by @maximebiloe.
  • 6063: Update theme layout to handle columns, by @quetzacoalt91.
  • 6066: Prevent display of payment return if empty, by @thierrymarianne.
  • 6067: Restored Smarty legacy functions for pdf, by @julienbourdeau.
  • 6069: Add clear all active product filters link, by @julienbourdeau.
  • 6072: Add meta.index to $page var, by @julienbourdeau.
  • 6077: Move product column hooks into columns, by @maximebiloe.
  • 6081: Responsive layout - Catalog / Checkout, by @ishcherbakov.
  • 6088: Add hooks for legal compliance in cart shipping subtotal, by @quetzacoalt91.
  • 6091: Add missing JS file, by @ishcherbakov.

Back office

  • 5955: Added option to change the Carrier on existing order. Thank you @kpodemski!
  • 6023: Fix Addons catalog display & call the 1.7 themes API, by @maximebiloe.
  • 6024: Improved Product features sub form, by @mickaelandrieu.
  • 6031: Fixed link to modules in product catalog, by @thierrymarianne.
  • 6046: Fix category thumbnail feature, by @maximebiloe.
  • 6047: Disable SmartyDev in BO, by @julienbourdeau.
  • 6051: Fix wrong call to trans method in AdminOrder, by @julienbourdeau.
  • 6057: Fix search tag exception, by @thierrymarianne.
  • 6062: Updated translation function in AdminStatsTabController, by @mickaelandrieu.
  • 6070: Refactor product page breakpoints, by @maximebiloe.
  • 6071: Be able to extract theme translations in Back Office, by @mickaelandrieu.
  • 6086: Changed query word because “virtual” is reserved in mysql 5.7+, by @dave-lp.
  • 6087: Fix HTML syntax in modal not trusted. Thank you @rolige!

Core

  • 5924: Added possibility to override minimalPurchase price using new Hook. Thank you @kpodemski!
  • 5992: Added PHPDocs to Attribute class. Thank you @firstred!
  • 6028: Updated length of cookie key and IV, by @thierrymarianne.
  • 6037: Remove deprecated hooks from 1.5, by @julienbourdeau.
  • 6048: Improved Configuration and ModuleManagerBuilder performances, by @jocel1.
  • 6055: Retrieve translations from themes, by @mickaelandrieu.
  • 5058: Dump content by renaming temporary file, by @thierrymarianne.
  • 6059: Only send real file to copy() on CLDR install. Thank you @prestamodule!
  • 6068: Fixed address form update on country change, by @thierrymarianne.
  • 6079: Remove self to make OrderInvoice overridable. Thank you @davideapvd!
  • 6092: Call address form templates without extension, by @julienbourdeau.

Installer

  • 6082: Install necessary lang pack, by @julienbourdeau.

See all the PRs merged into the codebase since the last Core Weekly here.

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @davideapvd, @firstred, @kpodemski, and @prestamodule! Also, 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!

Release of PrestaShop 1.6.1.7

$
0
0

PrestaShop 1.6.1.7 is now available. This maintenance release has seen 18 pull requests since version 1.6.1.6 (released on June 15th).

Continuing on our promise to support 1.6 with patch releases, we are happy to deliver this new version, which fixes some annoying behaviors. A very important fixes touches a voucher-displaying issue introduced with 1.6.1.6 (sorry!): we do suggest that you update to this latest and greatest version of PrestaShop 1.6, particularly if you are currently using v1.6.1.6.

Download 1.6.1.7 now!

As the version number indicates (as per our SemVer-like versioning), this is the 7th 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:

  • FO: Prevent customers from viewing all voucher codes.
  • FO: Fix rounding error in ProductController.
  • FO: Add a new hook on cart product line.
  • CO: Fix bad discount computation when multiple tax rates involved
  • CO: Fixed cart rule removal with gift product
  • BO: Fix CSV import on PHP 7.
  • …and several other fixes.

The PrestaShop 1.6.1.7 changelog is available.

Since version 1.6.1.7 is a “patch” update to version 1.6.1.0, upgrading from that version 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.7.

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

  • @alexeven
  • @davidef
  • @erouvier29
  • @firstred
  • @jd440
  • @julienbourdeau
  • @kpodemski
  • @matthieume
  • @maximebiloe
  • @mcdado
  • @perfecticus
  • @prestamodule
  • @quetzacoalt91
  • @therampagerado

A huge “thank you!” to each of the 7 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.0-1.6.1.6 is completely safe, upgrades from a standard 1.6.0.x version should work just as well, and 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!

PrestaShop Core Weekly - Weeks 35-36

$
0
0

This edition of the Core Weekly report highlights changes in PrestaShop’s core codebase during the previous two weeks, from Monday 29th of August to Sunday 11th of September 2016.

General messages

We released version 1.6.1.7 in early September. It’s a recommended upgrade for any 1.6 user, and a must-update for 1.6.1.6 users, since it fixes a possibly nasty issue with vouchers. Please, 1.6.1.6 users: upgrade now, and help your friends upgrade!

Download 1.6.1.7 now!

As for 1.7, as you can see in the code changes for the develop branch, there has been A LOT of changes to 1.7 since RC0: many fixes, several improvements, and some cool new features as well. For instance, did you see that PrestaShop now features a child-theme system? Read the early doc, and try it out!

Are your modules 1.7-ready? Have a tried to create a 1.7 theme? Check the current tech doc!

You can find an up-to-date thread about the 1.7 development in the forum.
The 1.7 Project FAQ is always available here: http://build.prestashop.com/news/prestashop-1-7-faq/.

Code changes in ‘develop’ branch (for version 1.7.0.0)

Let’s review the merged pull-requests on the ‘develop’ branch since the last Core Weekly Report!

Front office (including the default theme, named “Classic”, based upon the Starter Theme)

  • 6064: Removed tools and link from classic theme templates, by @julienbourdeau.
  • 6065: Added combination’s specific references to product’s details page, by @fatmabouchekoua.
  • 6083: Applied naming conventions to cart events, by @thierrymarianne.
  • 6095: Fix B2B mode, by @maximebiloe.
  • 6111: Applied naming conventions to checkout events, by @thierrymarianne.
  • 6116: Applied naming conventions to listing events, by @thierrymarianne.
  • 6119: Fix a translation variable name and clear filter button layout, by @maximebiloe.
  • 6122: Update theme requirements, by @julienbourdeau.
  • 6123: Add before and after <body> hooks, by @julienbourdeau.
  • 6129: Fix carrier column size, by @maximebiloe.
  • 6132: Fix module translations without domain but present in Catalog, by @maximebiloe.
  • 6138: Fix wrong selector for conditions and payment alert, by @maximebiloe.
  • 6141: Fix product flags display, by @nihco2.
  • 6153: Fix wrong pictures zoomed when combinations in classic, by @nihco2.
  • 6160: Add manufacturers and suppliers list to sitemap. Thank you @martinfojtik!
  • 6162: Enabled loading of active theme translations, by @mickaelandrieu.
  • 6165: Fixed product quantity updates in shopping cart, by @thierrymarianne.
  • 6168: Added test for shopping cart events, by @thierrymarianne.
  • 6169: Fixed returns for product customizations, by @thierrymarianne.
  • 6177: gift price is now displayed on cart summary if any, by @mickaelandrieu.
  • 6186: Added tests for shopping cart events, by @thierrymarianne.
  • 6202: Display gift wrapping on Order confirmation, by @mickaelandrieu.
  • 6213: Fixed shopping cart summary, by @thierrymarianne.
  • 6256: Fixed credit slip PDF for customized product, by @thierrymarianne.

Back office

  • 6074: Enabled translations for Back Office domain, by @mickaelandrieu.
  • 6098: Fixed colorpicker image folder. Thank you @unlocomqx!
  • 6110: Use “on” instead of live in colorpicker plugin. Thank you @unlocomqx!
  • 6112: Fix save product button on laptop, by @nihco2.
  • 6114: Wording harmonization for ‘cannot’ spelling, by @AlexEven.
  • 6121: Added missing translations, by @thierrymarianne.
  • 6130: Synced translations forms, by @thierrymarianne.
  • 6131: Updated list of accepted import files, by @xborderie.
  • 6134: Fix services and buttons on module page, by @quetzacoalt91.
  • 6137: Fix theme installation bug when it has a depended module. Thank you @dzianis-yurevich!
  • 6140: Remove zip file after serving it when exporting translations, by @mickaelandrieu.
  • 6142: Fix issue with product cover update, by @quetzacoalt91.
  • 6143: Sanitized product list filter parameters, by @thierrymarianne.
  • 6144: Introduced front office translation provider, by @mickaelandrieu.
  • 6145: Added virtual product destruction on product type change, by @thierrymarianne.
  • 6146: Use array key in case of missing product type in module catalog, by @quetzacoalt91.
  • 6147: Fix undefined trans() in AdminOutstanding, by @maximebiloe.
  • 6152: Added sync feature on theme translations, by @mickaelandrieu.
  • 6154: Fixed modules sorting by access date, by @thierrymarianne.
  • 6155: Removed access deletion from tab deletion, by @thierrymarianne.
  • 6163: Fixed session start for legacy use, by @thierrymarianne.
  • 6166: Translation files should be overriden by database when using “export theme” action, by @mickaelandrieu.
  • 6173: Fix children feature length, by @maximebiloe.
  • 6176: Restored missing tree templates, by @thierrymarianne.
  • 6178: Fixed delete a shop (multistore), by @aleeks.
  • 6183: Applied prestashop UI kit for feature removal, by @thierrymarianne.
  • 6196: Fixed popover combination, by @aleeks.
  • 6200: Fixed validation of price fields, by @thierrymarianne.
  • 6201: Removed the language selector on the Product page if there is only one language, by @antoin-m.
  • 6203: Removed registration process type option, by @mickaelandrieu.
  • 6208: Combination feature desactivation, by @aleeks.
  • 6220: Removed availability date from product page, by @thierrymarianne.
  • 6221: Fixed debug mode (removed SensioGeneratorBundle), by @mickaelandrieu.
  • 6222: Tooltips are now cleared when moving to another tab, by @mickaelandrieu.
  • 6223: Fixed rule followed to show product prices, by @thierrymarianne.
  • 6250: Removed theme and admin menu orientation fields, by @thierrymarianne.
  • 6258: Fixed invoice generation, by @thierrymarianne.

Core

  • 6094: Document CartRule class + cleanup. Thank you @firstred!
  • 6097: Fix wrong domains, by @julienbourdeau.
  • 6099: Remove PclZip library. Thank you @firstred!
  • 6100: Move mobile detect to composer. Thank you @firstred!
  • 6101: Remove contrib folder. Thank you @firstred!
  • 6103: Move http_build_url to composer. Thank you @firstred!
  • 6104: Add PHPUnit bridge. Thank you @firstred!
  • 6105: Move minifier to composer. Thank you @firstred!
  • 6106: Remove unused pear xml parser. Thank you @firstred!
  • 6017: Update and move Archive_Tar. Thank you @firstred!
  • 6108: Always update SwiftMailer to latest PATCH version. Thank you @firstred!
  • 6019: Upgrade to GeoIP2 City. Thank you @firstred!
  • 6136: Flatten default translations catalogue, by @mickaelandrieu.
  • 6151: Introduced generic Theme provider, by @mickaelandrieu.
  • 6156: Update all_languages.json file for missing countries, by @maximebiloe.
  • 6157: Fixed Translations Factories + tests, by @mickaelandrieu.
  • 6170: Improved translations factory error handling, by @mickaelandrieu.
  • 6174: Fix the invalid favicon uploading, by @antoin-m.
  • 6180: Fix credit split pdf generation, by @antoin-m.
  • 6195: Fixed random_compat dependency to avoid CSPRNG exception, by @mickaelandrieu.
  • 6209: Document Category class + cleanup. Thank you @firstred!
  • 6212: Fix a missing point in SQL request, by @maximebiloe.
  • 6217: Update Attachment class to ps standards. Thank you @firstred!
  • 6218: Update Alias class to ps standards. Thank you @firstred!

Installer

  • 6113: New post code format for Argentina (LNNNNLLL). Thank you @therampagerado!
  • 6115: Remove check of PEAR.php existance, by @julienbourdeau.
  • 6117: Fix country list for wrong iso code, by @julienbourdeau.
  • 6120: Fix infinite redirect installer and translation cache issue, by @maximebiloe.
  • 6133: Remove unnecessary call to api during installation, by @maximebiloe.
  • 6158: Fix parenthesis in trans() call. Thank you @prestamodule!
  • 6164: Fixed installation (undefined $this->shop), by @mickaelandrieu.
  • 6187: Handle insufficients requirements and fix language download without database, by @mickaelandrieu.
  • 6191: Fixed quick_access tab & titles, by @aleeks.
  • 6197: Handle error if installation starts with PHP < 5.4, by @mickaelandrieu.

Code changes in ‘1.6.1.x’ branch (for 1.6 patch versions)

Front office

  • 5135: Fix rouding error in ProductController. Thank you @erouvier29!
  • 5859: Add a new hook on cart product line, by @maximebiloe.
  • 5957: Solved problem with a category thumbnails. Thank you @prestamodule!
  • 5978: Prevent customer to view all codes. Thank you @matthieume!

Back office

  • 5571: Solved problem with non-unserialized filters datas. Thank you @kpodemski!
  • 5604: Fix CSV import on PHP 7, by @quetzacoalt91.

Core

  • 5575: Fix a case where $context->smarty could be undefined. Thank you @prestamodule!
  • 5746: Fixed user agent check in Media.php. Thank you @firstred!
  • 5752: Fix warning when duplicating products. Thank you @mcdado!
  • 5816: Fixed cart rule removal with gift product. Thank you @davidef!
  • 5834: Fix cover update by WebService. Thank you @kpodemski!
  • 5935: change visibility of installControllers() method. Thank you @prestamodule!
  • 6118: Fix bad discount computation when multiple tax rates involved. Thank you @yopai!

Installer

  • 5546: Keep CMS HTML code when upgrading. Thank you @jd440!
  • 5592: Fix invalid xml-tags (missing characters) in meta.xml. Thank you @perfecticus!
  • 5706: New post code standard for Argentina LNNNNLLL. Thank you @therampagerado!

See all the PRs merged into the codebase since the last Core Weekly here.

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @davidef, @dzianis-yurevich, @erouvier29, @firstred, @kpodemski, @martinfojtik, @matthieume, @mcdado, @perfecticus, @prestamodule, @therampagerado, @unlocomqx, and @yopai! Special thanks to @firstred for the 46 PRs he created this last two weeks! :) Also, 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!

PrestaShop 1.7.0.0 RC1: The Real Deal

$
0
0

Here it comes: the bug fixin’, performance improvin’, stabilizin, all singin’ all dancin’ RC1 for PrestaShop 1.7! It is packed with goodness, and needs your love!

PrestaShop 1.7 Alpha 3 Release

Released on August 29th, the 1.7 RC0 release was dubbed a “pre-RC1” version, so you knew what was coming. Since then, MANY bugs were fixed and improvements added. We’re sure you will like this release even more than RC0! We hope it will be the one you will start working with when building your modules and themes!

Test PrestaShop 1.7.0.0 RC1 now!

Found an issue? Create a Forge ticket!

What’s new in RC1?

In the three weeks since RC0, here is what landed in the codebase:

  • Improved front and back office translation management.
  • A more responsive front office theme.
  • Bugfixes-a-go-go!

See at the bottom of this article for the full list.

What’s not in RC1?

Here’s what we still intend to implement before we go stable:

How far are we from a stable 1.7 release?

We know many of you are waiting for The Answer: when is 1.7.0.0 going to be released? We know it is important to all professionals: merchants waiting to use the new features, agencies waiting to start selling 1.7 projects, developers and designers waiting to sell their creations on the Addons marketplace…

Our answer remains the same: we want to release a quality 1.7. We cannot give you a precise release date because we need to iron out the issues that we are receiving feedback about – and we’ve received a LOT of feedback since RC0. Keep them coming!

The team is working on fixing those issues, and we need you to start testing it in order to make sure it is stable enough for everyone. We want the whole community to be proud of 1.7, and to be able to sincerely promote it to the whole community.

But let’s talk figures. Since RC0:

  • 96 Forge tickets were closed as “fixed”:
    • 8 were blocking tickets.
    • 7 were critical tickets.
    • 75 were major tickets.

What’s left to be done, so far:

  • 71 Forge tickets, among which:
    • 3 blocking tickets.
    • 2 critical tickets.
    • 66 major tickets.

So as you can see, we’re closer than ever!

What needs to be tested by you?

In RC0, we said that the major things to test are the new theme system (because once it’s stable, we can’t revamp everything) and the module system (any hook missing?). This still holds true in RC1: try your hand at creating a theme or at upgrade a 1.6 module for 1.7 (a simple one at first). Have a look at the current state of the PrestaShop 1.7 tech documentation, and of course, give us feedback, either positive or constructive, on your findings!

Again, as a module developer, if your usual hooks are missing, or if you feel the Modules system lacks something essential, let us know! Read the documentation (and the Build article) and give us your feedback!

And, of course, let us know of any broken behavior or regression, especially in the pages that were completely rewritten: the Product page, and the Modules page.

So, what’s next?

The whole team is busy fixing everything that doesn’t look right, in order to have a quality 1.7 release.

There will be a RC2, and possibly other RC versions until PrestaShop 1.7.0.0 is deemed stable enough for you – and YOU can voice your opinion!

Use the Forge to tell us what is blocking you, or possibly broken. Use GitHub to fix the issues you have noticed. Use the comments on this post to congratulate everyone ;)

Please note that we are not looking for feedback on the overall technical or design aspects: Symfony 2, the new theming system, the back office design and other global aspects of 1.7 (such as the UX decisions on the Product page and the Modules page) are pretty much set in stone. However, do let us know about bugs or possible improvements to all the above aspects!

Thank you to our contributors!

This wouldn’t be a community project without pull-requests from our contributors: @davideapvd, @dzianis-yurevich, @firstred, @frederic-benoist, @martinfojtik, @prestamodule, @rolige, @shagshag, and @unlocomqx. Thank you all!

This doesn’t take into account all those who are active even without code changes: comments on PR, tickets on the Forge, translations on Crowdin, etc. PrestaShop is better thanks to you all!

This release was spearheaded by the team working for the PrestaShop company: cheers to @aleeks, @alexeven, @antoin-m, @dave-lp, @fatmabouchekoua, @ishcherbakov, @julienbourdeau, @maximebiloe, @mickaelandrieu, @nihco2, @quetzacoalt91, @thierrymarianne, and @xborderie.

Full list of changes between RC0 and RC1

Here is the whole deal:

  • Back Office:
    • New features:
      • 6144: Introduced front office translation provider
      • 6074: Enabled translations for Back Office domain
      • 6071: Be able to extract theme translations in Back Office
    • Improvements:
      • 6152: Added sync feature on theme translations
      • 6131: Updated list of accepted import files.
      • 6121: Added missing translations
      • 6114: Wording harmonization for ‘cannot’ spelling
      • 6089: Fix some more wording
      • 6024: Improved Product features sub form
      • 6070: Refactor product page breakpoints
      • 6062: Updated translation function in AdminStatsTabController
      • 6035: Remove useless BO options for stores page
    • Bug fixes:
      • 6166: Translation files should be overriden by database when using “export theme” action
      • 6176: Restored missing tree templates
      • 6178: Fixed delete a shop (multistore)
      • 6173: Fix children feature length
      • 6143: Sanitized product list filter parameters
      • 6154: Fixed modules sorting by access date
      • 6155: Removed access deletion from tab deletion
      • 6163: Fixed session start for legacy use
      • 6145: Added virtual product destruction on product type change
      • 6147: Fix undefined trans() in AdminOutstanding
      • 6146: Use array key in case of missing product type in module catalog
      • 6142: Fix issue with product cover update
      • 6140: Remove zip file after serving it when export translations
      • 6134: Fix services and buttons on module page
      • 6137: Fix theme installation bug when it has a depended module
      • 6098: Fixed colorpicker image folder
      • 6130: Synced translations forms
      • 6110: Use “on” instead of live in colorpicker plugin
      • 6112: Fix save product button on laptop
      • 6087: Fix HTML syntax in modal not trusted
      • 6086: Changed query word because “virtual” is reserved in mysql 5.7+
      • 6057: Fix search tag exception
      • 6051: Fix wrong call to trans method in AdminOrder
      • 6031: Fixed link to modules in product catalog
      • 6046: Fix category thumbnail feature
      • 6047: Disable SmartyDev in BO
      • 6004: Fixed reset behavior on Product form
      • 6032: Fixed product save when product type field is disabled
  • Front Office:
    • New features:
      • 6162: Enabled loading of active theme translations
      • 6081: Responsive layout - Catalog / Checkout
    • Improvements:
      • 6160: Add manufacturers and suppliers list to sitemap
      • 6186: Added tests for shopping cart events
      • 6168: Added test for shopping cart events
      • 6122: Update theme requirements
      • 6123: Add before and after <body> hooks
      • 6064: Removed tools and link from classic theme templates
      • 6111: Applied naming conventions to checkout events
      • 6116: Applied naming conventions to listing events
      • 6083: Applied naming conventions to cart events
      • 6093: Update and fix front strings for harmonization
      • 6088: Add hooks for legal compliance in cart shipping subtotal
      • 6066: Prevent display of payment return if empty
      • 6069: Add clear all active product filters link
      • 6045: Accept newsletter conditions not necessary anymore
      • 6020: Fixed all listing pages
    • Bug fixes:
      • 6165: Fixed product quantity updates in shopping cart
      • 6153: Fix wrong pictures zoomed when combinations in classic
      • 6141: Fix product flags display
      • 6138: Fix wrong selector for conditions and payment alert
      • 6095: Fix B2B mode
      • 6132: Fix module translations without domain but present in Catalog
      • 6119: Fix a translation variable name and clear filter button layout
      • 6091: Add missing JS file (PR 6081)
      • 6067: Restored Smarty legacy functions for pdf
      • 6053: Abide by minimum buying quantity
      • 6077: Move product column hooks into columns
      • 6072: Add meta.index to $page var
      • 6063: Update theme layout to handle columns
      • 6044: Made footer compatible with legal compliance module
      • 6039: Fix the discount amount in product details page
  • Core:
    • New features:
      • 6151: Introduced generic Theme provider
      • 6055: Retrieve translations from themes
    • Improvements:
      • 6170: Improved translations factory error handling
      • 6094: Document CartRule class + cleanup
      • 6099: Remove PclZip library
      • 6100: Move mobile detect to composer
      • 6103: Move http_build_url to composer
      • 6109: Upgrade to GeoIP2 City
      • 6101: Remove contrib folder
      • 6107: Update and move Archive_Tar
      • 6105: Move minifier to composer
      • 6106: Remove unused pear xml parser
      • 6108: Always update SwiftMailer to latest PATCH version
      • 6028: Updated length of cookie key and IV
      • 6037: Remove deprecated hooks from 1.5
      • 6019: Moving the call to the function renderwidget
    • Bug fixes:
      • 6180: Fix credit split pdf generation
      • 6174: Fix the invalid favicon uploading
      • 6157: Fixed Translations Factories + tests
      • 6156: Update all_languages.json file for missing countries
      • 6136: Flatten default translations catalogue
      • 6097: Fix wrong domains
      • 6092: Call address form templates without extension
      • 6068: Fixed address form update on country change
      • 6079: Remove self to make OrderInvoice overridable
      • 6059: Only send real file to copy() on CLDR install
      • 6036: Fix $with_quotes ignored in ObjectModel::formatValue

Parting words

Ready? Set? Go! Create new themes and update your modules! :)

Thank you for your feedback!


Do you speak PrestaShop? - August 2016 Edition

$
0
0

Here is the latest report to inform you of what happened on the PrestaShop translation project on Crowdin in August.

Project news

Thanks for pursuing the effort <3

This month was quite a good month for PrestaShop’s project in Crowdin.The quantity of words translated and validated is huge compared to the same period last year. Thanks to all of you, old and new members, for this This month we would like to say a special thank to an amazing member of our community, Jesús Ruiz García, for the huge quantity of work done in translating the documentation since he joined the community and especially for his precious help and tips on terminology and glossary. For more information, check our related Build article. <3

Updated files in 1.7

As the 1.7 project keeps evolving, so does the translation project. What’s new:

  • The content of the emails is now available for translation in 1.7. Subjects for emails will arrive soon as well.
  • New domains were added:
    • Emails
    • Admin.Stats
    • Admin.ShopParameters and Admin.AdvParameters: resulting from the splitting of former Admin.Parameters into two folders, thus providing more context.

Updated 1.6 translations

The last update of translations for the 1.6 project took place on the 6th of September. Another update is planned this week so you can benefit from the latest translations available on Crowdin!

New locales

Spanish from Venezuela

A new locale is available for Spanish: Spanish from Venezuela. If you want to take part into it and help Maurizioag, our first translator in Venezuelan Spanish. join us on Crowdin! Because it’s a locale, you will only have to adapt the Spanish text to fit the Venezuelan peculiarities.

Malagasy

At the request of a community member, we’ve also added Malagasy to adapt PrestaShop to Madagascar’s market :)

Help us translate PrestaShop in these new languages!

Now let’s get back to our Crowdin project and to the full report of its activity in August:

A few stats

  • 108 contributors joined the project this month for a total of 3,149 members (+35.5) at the end of August. Welcome to all of them!
  • 79 members were active on the project this month (-17%).
  • A total of 91,757 words have been translated (-0.7% ) and 83,168 were validated (+ 29%).
  • All this in 35 different languages.

Thank you for your involvement!

Top contributors

A lot of you are working everyday 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 this August.

Top 10 translators in August:

 TranslatorLanguage# Words
1.Lolypop000Slovenian8,746
2.Filip Filipović (filipfilipovic)Croatian6,402
3.KoralPolish5,498
4.Alper Demir (alper-demir)Turkish4,788
5.Roy(rstvMacRoy)Swedish4,107
6.Vilnis Dreimanis (marketings)Latvian3,815
7.warfacePersian3,719
8.Enzo Ferrara (ferribbotte)Italian3,575
9.Patrik Lindblom (extendus)Swedish2,932
10.Danni Afasyah (prestanesia)Indonesian2,668

Top 10 proofreaders in August:

 ProofreaderLanguage# Words
1.Lolypop000Slovenian8,823
2.Filip Filipović (filipfilipovic)Croatian7,047
3.Morten Borg (mortenborg)Danish6,141
4.Enzo Ferrara (ferribbotte)Italian5,476
5.Alper Demir (alper-demir)Turkish5,437
6.Csaba Mártha (csy)Swedish4,613
7.warfacePersian5,000
8.Patrik Lindblom (extendus)Swedish4,613
9.SkaZun (raidhunters)Ukrainian3,379
10.Danni Afasyah (prestanesia)Indonesian2,976

A big applause to them! And welcome to our new top contributors! And big up to Lolypop000 for the huge work done in Slovenian!

Complete translations

Fully translated languages

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

  • Bulgarian
  • Croatian
  • Dutch
  • English
  • French
  • German
  • Indonesian
  • Italian
  • Persian
  • Polish
  • Portuguese
  • Portuguese, Brazilian
  • Russian
  • Slovak
  • Slovenian
  • Spanish
  • Swedish

98-99% translated languages

PrestaShop 1.6.1 was also almost fully translated (and/or validated) in these 8 languages:

  • Czech
  • Finnish
  • Greek
  • Lithuanian
  • Romanian
  • Turkish
  • Ukrainian
  • Vietnamese

A little bit of work and these languages can be 100% translated and validated too! If you feel like you want to help, join the project!

Languages with the best evolution

In comparison with July 2016, the following languages had the best progress in August:

(these numbers are mostly issued from the progress of the 1.7 project, as this is where most of the work took place this month.) * Galician (+34% to reach 67% translated in 1.6) * Finnish (+19.3% to reach 99% translated in 1.6. * Latvian (+15.2% to reach 38% translated in 1.6) * Hungarian (+3.3% to reach 95% translated in 1.6) * Portuguese (+3.1% to reach 100% translated in 1.6)

August 2016 best translation progress

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 % 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!

At the end of August, 6 languages would still benefit from more proofreading:

  • Estonian (93% translated vs 0% validated)
  • Turkish (99% translated vs 46% validated)
  • Galician (67% translated vs 14% validated)
  • Ukrainian (99% translated vs 61% validated)
  • Arabic (54% translated vs 28% validated)
  • Hungarian (95% translated vs 82% validated)

August 2016 best translation progress

If you wish to help proofreading what has been translated, please contact us and let us know 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!

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

Introducing PrestonBot

$
0
0

Some of you may have noticed that a few weeks ago, we have a new team member in the core team: Preston!

PrestonBot aims to help both maintainers and contributors of PrestaShop. Let’s see together what he’s already able to do and what you may expect from him in the future.

Be able to merge faster, with confidence

We are continuously improving the way we work with GitHub, for instance we recently added a new mandatory pull request template:

Pull Request template

This is a summary of all the details asked to the contributor and why we may need it as maintainers:

QuestionsWhy do we need it?
BranchA simple check to ensure the contribution really concerns the branch it was submitted on.
DescriptionThe most important question: WHY should we accept this contribution, what is the problem encountered?
TypeIs it a bug fix, an improvement or a new feature? Bug fixes are often privileged, and new features are refused in the 1.6.x branch.
CategoryIn case of a regression, prefixing commit names helps us figure out which code change is responsible for the issue. Also, this will help us to generate changelogs.
BC BreakWe accept Backward Compatible breaks only for security purposes.
DeprecationsDeprecations may be accepted if features are improved or removed.
Fixed ticketIf you are fixing a [Forge issue]((http://forge.prestashop.com/), don’t forget to tell it. We can then notify the reporter that the issue will be fixed thanks to you.
How to testProbably the most important topic: indicate how to best verify that this PR is correct. Contributions without testing instructions are mostly never checked.

Of course, this template can be improved, so don’t hesitate to give us feedbacks about it.

If you complete the pull request template, PrestonBot is already able to make some “pre-validation” passes on new contributions. For instance, let’s say you forgot to add a meaningful description to your contribution: he will automatically comment to help you complete your contribution.

Pull Request validated

Nice, isn’t it? Every time you update the pull request, PrestonBot will check again and stop annoying you when it’s valid!

Be able to work together with the community

PrestaShop involves a lot of different people: developers of course but also translators, testers, product managers and so on. The project is hosted on GitHub. Until recently, the tools it had to allow people to interact with the PrestaShop team were very limited: basicaly, if you wanted to allow someone to labelize an issue, you had to give him mostly all the rights on the project.

PrestonBot is able to labelize for you => this is not required anymore!

Since the recent GitHub announcements, giving rights to any contributor is now really easy. Using protected branches, we can give “Write” rights to anyone without allowing any possibility of adding/removing any code.

Our own - “non developer” - team members are already enjoying the new GitHub system and we will welcome community members in PrestaShop organization very soon as Code reviewers!

What we hope to do with PrestonBot

We’d like to improve again the validation system provided by PrestonBot, to help us manage more and more pull requests.

For instance, we are aware that our commit message conventions is not understood and we want PrestonBot to give you the right information to get your work accepted.

Then, PrestonBot can be able to add more labels regarding the pull request description: we will automatize the triage of contributions as most as possible, and focus our energy on review and merge.

Finaly, we have some ideas to make the interaction between you and us (the core team) more enjoyable, introducing some mecanisms of gamification in the contribution process.

We have listed on the Forge the ongoing issue related to this topic, don’t hesitate to create new ones (using the « Community » label) to share your ideas on how we can work better together! And let us know what you think about PrestonBot.

See you on GitHub!

New developer documentation for PrestaShop 1.7

$
0
0

PrestaShop 1.7 is a major release: a lot of code has been refactored, new features have been added, and a new way of building themes has been introduced. So, very early in the development release cycle, we decided to write more doc in order to support the designers and developers intending to switch to 1.7.

The documentation’s very first draft is now online: http://developers.prestashop.com/

New website

Historically, PrestaShop hosted its documentation on http://doc.prestashop.com, powered by the Atlassian Confluence wiki system. We feel it is not very developer-friendly – you can’t contribute easily (you have to ask for a user account to be created), the design is outdated, too many clicks are needed to reach an information, etc. - so we decided to move to another system for the 1.7 technical documentation.

As of today, the legacy documentation website is still online, and the new website basically hosts the 1.7-specific tech doc (themes and modules):

Contribute!

We’re an open source company, so it was important to us that this new doc site should reflect that spirit. We want you to be part of it. We hope to achieve this simply by making the doc feels more like code. Contributing to the tech documentation is now not so different from contributing to PrestaShop!

The software

About the stack: it’s powered by Sphinx. This engine was built to power the Python documentation and became very popular. It’s pretty similar to Jekyll (used by this blog): it takes a set of plain text files and generates a static website.

Documentation has to be written in reStructuredText.

Available on GitHub (with GitHub Issues)

Since it’s plain text files, it’s versioned with Git and hosted on GitHub. Is there an easier way for you, as developers, to contribute? :)

Please open a pull request to fix or add anything. You can open an issue if you want to request documentation about anything specific. For example: “how to use the new product page hooks”, or “how to use the theme template in a module”.

State of the documentation

No design yet

If you already clicked on the link and looked at the documentation, you might be thinking that it’s ugly. We’re still using one of the default themes of Sphinx, but don’t worry, our wonderful Product Designer @leadesign will make it nicer! :)

PrestaShop’s new theme first

One of the main projects of PrestaShop 1.7 was to redo everything about the front office. Since we broke backward compatibility and rewrote so much of the way things work, we focused on this part in the documentation first, explaining what’s different and how you need to adapt your code.

Of course more content is coming soon! Here is a list of what we intend to write soon:

  • New hooks for carrier and product page.
  • The best way to upgrade a (front) module from 1.6 to 1.7.
  • Why and how to use theme template in modules.
  • How to prepare a zip to release your theme.

Much more will follow, and even more if you create GitHub Issues!

Final words: Ask before hacking

Sometimes when you develop with PrestaShop, you want to override something or change some behavior and you don’t know how to do it. There is a pretty good chance that you’re not the only one trying to do this.

Even if you find a hack to do it and it works for you, please open a GitHub issue so we can either document a nice way to do it (if possible) or maybe think about turning it into a Core pull request for a next release of PrestaShop, so that the whole community can benefit from it!

We hope you’ll enjoy it and we are waiting for your feedbacks. Join the community on Gitter to discuss it with us :)

PrestaShop 1.7.0.0 RC2: On the Right Track

$
0
0

Another step in the right direction towards a stable v1.7, this RC2 fixes a lot of stuff and enhances some more.

Again in this RC version, a good chunk of issues have been fixed and improved upon. It’s getting better every day, thanks to our community! If you’ve been waiting to create a 1.7 theme or to upgrade your 1.6 modules, this is the right time!

Test PrestaShop 1.7.0.0 RC2 now!

Found an issue? Create a Forge ticket!

What’s new in RC2?

In the two weeks since RC1, here is what landed in the codebase:

  • A late bonus: the theme system now supports a Parent/Child theme feature! Read all about it on the newly launchedtech documentation site.
  • Native front modules can now be translated, and the module translation page has been updated.
  • Several new hooks were added.
  • Many many bugfixes, especially security ones!

See at the bottom of this article for the full list.

What’s not in RC2?

Here’s what we still intend to implement before we go stable:

  • Fully mobile-ready front office – still a handful of pages to be done.

NOTE: The RC2 was built a few days ago in order to be tested, and a last-minute test on hosts showed that a recent PR from a contributor updated our usage of OpenSSL, making it nearly impossible to install RC2 on hosts which do not support a version of Open SSL lower than 1.0.1. This will be fixed in time for RC3.

How far are we from a stable 1.7 release?

We know many of you are waiting for The Answer: when is 1.7.0.0 going to be released? We know it is important to all professionals: merchants waiting to use the new features, agencies waiting to start selling 1.7 projects, developers and designers waiting to sell their creations on the Addons marketplace…

Our answer remains the same: we want to release a quality 1.7. We cannot give you a precise release date because we need to iron out the issues that we are receiving feedback about – and we’ve received a LOT of feedback since RC0. Keep them coming!

The team is working on fixing those issues, and we need you to start testing it in order to make sure it is stable enough for everyone. We want the whole community to be proud of 1.7, and to be able to sincerely promote it to the whole community.

But let’s talk figures. Since RC1:

  • 245 Forge tickets were closed as “fixed”:
    • 8 were blocking tickets.
    • 37 were critical tickets.
    • 163 were major tickets.

What’s left to be done, so far:

  • 61 Forge tickets, among which:
    • 2 blocking tickets.
    • 7 critical tickets.
    • 52 major tickets.

The numbers are fluctuating since they all depend on YOUR feedback and our own QA tests, but we’re getting close!

What needs to be tested by you?

In RC0 and RC1, we said that the major things to test are the new theme system (because once it’s stable, we can’t revamp everything) and the module system (any hook missing?). This still holds true in RC2: try your hand at creating a theme or at upgrade a 1.6 module for 1.7 (a simple one at first). Have a look at the current state of the PrestaShop 1.7 tech documentation, and of course, give us feedback, either positive or constructive, on your findings!

Again, as a module developer, if your usual hooks are missing, or if you feel the Modules system lacks something essential, let us know! Read the documentation (and the Build article) and give us your feedback!

And, of course, let us know of any broken behavior or regression, especially in the pages that were completely rewritten: the Product page, and the Modules page.

So, what’s next?

The whole team is busy fixing everything that doesn’t look right, in order to have a quality 1.7 release.

There will be a RC3, and possibly other RC versions until PrestaShop 1.7.0.0 is deemed stable enough for you – and YOU can voice your opinion!

Use the Forge to tell us what is blocking you, or possibly broken. Use GitHub to fix the issues you have noticed. Use the comments on this post to congratulate everyone ;)

Please note that we are not looking for feedback on the overall technical or design aspects: Symfony 2, the new theming system, the back office design and other global aspects of 1.7 (such as the UX decisions on the Product page and the Modules page) are pretty much set in stone. However, do let us know about bugs or possible improvements to all the above aspects!

Thank you to our contributors!

This wouldn’t be a community project without pull-requests from our contributors:

@antho-girard, @ecomm360, @firstred, @ishcherbakov, @jherry, @kermes, @kioob, @kpodemski, @m03g, @maidmaid, @martinfojtik, @mcdado, @n-wouda, @phpmadman, @pkshetlie, @pranid, @prestamodule, @prestanesia, @turtl3, and @zuzul. Thank you all!

This doesn’t take into account all those who are active even without code changes: comments on PR, tickets on the Forge, translations on Crowdin, etc. PrestaShop is better thanks to you all!

Full list of changes between RC1 and RC2

Here is the whole deal:

  • Back Office:
    • New features:
      • 6518: Natives front modules available in Back office translations (classic theme)
      • 6506: Display native modules in translations
      • 6355: Introduced “others” translation provider
    • Improvements:
      • 6550: Add translations domains to Shop Parameters
      • 6535: Wording update for BO
      • 6041: Speed up AdminStatsControllerCore::getVisits() time by 30%
      • 6458: Add translation domains to International menu’s controllers
      • 6442: Introduced SSL verify config parameter
      • 6149: Modules translation page modified
      • 6448: Removed used vouchers from highlight panel
      • 6390: Display active zones first in Carrier wizard and flag inactive ones
      • 6389: Performance improvements on last visit
      • 6406: Use Symfony translator in controllers
      • 6338: Show/hide attach file form with button
      • 6381: Add translation domains to controllers - 6
      • 6341: Added tooltips for virtual product
      • 6359: Prevent injections in SQL queries of AccessCore class
      • 6236: Fix navigation menu behavior
      • 6263: Better visibility for reference
      • 6330: Sorted modules by popularity in descending order
      • 6251: Adding new plugins and options to tinymce
      • 6139: FR translation for top menu items
      • 6203: Removed registration process type option
      • 6220: Removed availability date from product page
      • 6183: Applied prestashop UI kit for feature removal
    • Bug fixes:
      • 6538: Payments/Carriers preferences applied also on non PS carriers
      • 6526: Fixed delete/update image just uploaded
      • 6519: Better multistore links on menu
      • 6545: TinyMCE resize
      • 6530: Fixed missing btn on new controllers
      • 6194: Bring back forgotten hooks
      • 6525: Added quick link to update category
      • 6513: Fix the ajax calls in the product page
      • 6499: Prevent smartyTranslate to escape HTML tags when they are needed
      • 6517: Removed backtick from order by clause
      • 6489: Fix the show/hide notification option
      • 6504: Fix category tree on product page
      • 6507: Fixed some duplicate form/content on Admin
      • 6498: Fix notifications
      • 6510: Fixed upload, update & delete product image
      • 6460: Fixed store addition
      • 6497: Remove extra space and improve some strings
      • 6485: Fix the notification center text & badge
      • 6496: Fix de popover font
      • 6462: Fix bug in translator domain
      • 6488: Fixed export product (data : image)
      • 6492: Add missing help text on “New product” button
      • 6487: Fix SQL export on catalog page
      • 6181: Hide quantity fields when stock management is disabled
      • 6463: Added missing maintenance / debug indicator
      • 6459: Sprintf must be an array not a string
      • 6455: Hide id_guest field if it is disabled in configuration
      • 6440: Fixed ‘installed modules’ tab if no shop selected (multishop)
      • 6447: Fixed import client by csv file
      • 6456: Allowed use of comma in tax included / excluded prices
      • 6453: Fixed back office translation in templates without domain set up
      • 6446: Fix bug in translate module page
      • 6430: Take order state unremovable flag into account
      • 6441: Fixed shop create page (translation problem and context initialization)
      • 6445: Fix translation domains
      • 6411: Fix the quick links
      • 6407: Supplier product form integration and js
      • 6439: Fixed selection of product category
      • 6427: Fix bug when adding new column in product catalog page
      • 6431: Fixed bug when no results with address and map does not exists
      • 6438: Fixed some logic to call All carriers
      • 6424: Fixed product attachment with name used previously
      • 6420: Fixed multistore links on header
      • 6417: Allowed negative impact on price
      • 6422: Fixed user locale listener
      • 6421: Fixed translations search engine
      • 6432: Display all carriers in Dashboard Configuration
      • 6425: Solved problem with non-unserialized filters data
      • 6416: Fix product save
      • 6414: Fix translation issue on the login page
      • 6409: Refresh product combination images
      • 6402: Fixed a little useless raw
      • 6403: Restored attribute generator
      • 6316: Fix the icons & their colors on the products list page
      • 6386: Refacto bulk action on product form (admin)
      • 6393: Fix focus issue on tinymce editor
      • 6398: Added reference to select products field
      • 6317: Fix some permission issues and remove unused controllers
      • 6392: Displayed modal on combinations deletion
      • 6348: Fix the ‘View less/View all images’ button on the product page
      • 6384: Remove “Configure” button when no config
      • 6383: Fixed bad translation definition for debug info
      • 6329: Fixed category filter
      • 6343: Removed deprecated performance options
      • 6366: Prevented SQL injections object model
      • 6345: Change .attr to .prop for categories js
      • 6353: Fixed translator selector behavior
      • 6368: Prevented SQL injections
      • 6351: Fix notice in debug mode on the dashboard (admin)
      • 6365: Prevented SQL injections
      • 6356: Right sidebar on product form (lint title, fix pagination display)
      • 6363: Prevent SQL injections in OrderInvoice class
      • 6171: Keep additionnal data in $_POST instead of dropping it
      • 6350: Show not active category in Filter by Category
      • 6342: Prevented upload of PHP script
      • 6340: Fixed display of payment methods active modules
      • 6322: Fix dashboard javascript error for some country (ex: Serbia or Indonesia)
      • 6315: Fix the auto scroll when an error appears on the page
      • 6321: Removed results after emptying search field
      • 6333: Fixed shops dropdown submenu
      • 6252: Fixed deletion of attribute
      • 6328: Native modules displayed in the right category
      • 6318: Fixed category tree
      • 6259: Fix module listing to upgrade
      • 6311: Allow product save after specific price creation
      • 6312: Fixed javascript issue on ie11 (ES6 unavailable)
      • 6198: Fixed translation in Shipping > Carrier
      • 6307: Fix product select type re-enabled when product has no combination
      • 6161: Product page integration bug fixes
      • 6258: Fixed invoice generation
      • 6250: Removed theme and admin menu orientation fields
      • 6200: Fixed validation of price fields
      • 6223: Fixed rule followed to show product prices
      • 6222: Tooltips are now cleared when moving to another tab
      • 6221: Fixed debug mode (removed SensioGeneratorBundle)
      • 6196: Fixed popover combination
      • 6208: Combination feature desactivation
      • 6201: Removed the language selector on the Product page if there is only one language
  • Front Office:
    • New features:
      • 6474: Introduce Parent/Child theme feature
      • 6452: Introduce hook to override layout file
      • 6308: Responsive layout for customer area
    • Improvements:
      • 6532: Update string content for front office
      • 6399: Remove minify HTML feature
      • 6378: Added reference parameter to OrderDetailController
      • 6314: Contact page : select order_reference optional
    • Bug fixes:
      • 6528: Fix discount percentage position in search products page
      • 6501: Fixed blocks height from account page
      • 6493: Wrong customization_quantity in order conf email
      • 6484: Fix the popover font
      • 6480: ISBN, EAN13 and so on must be translated
      • 6477: Fix smarty module resources paths arg
      • 6461: Fix product details reference
      • 6454: Stop relying on rewritten URL to resize images
      • 6443: Fixed show password button color
      • 6444: Faceted Search SEO Implements most crucial Google Guidelines
      • 6437: Wrong label in FO when out of stock
      • 6419: Fixed checkout step change
      • 6413: Fixed customer form check
      • 6405: Fix associated products layout
      • 6179: Fix several binary payment options behavior
      • 6394: Displayed categories when product not found
      • 6385: Use the right image size for product page and quickview
      • 6352: Fix add to cart button disappearing in prod mode
      • 6233: Fixed birthday customer registration
      • 6344: Add missing btn class for form buttons
      • 6337: Fixed link shared (for socialfollow module)
      • 6326: Order the breadcrumb
      • 6325: form-fields template is a mandatory file
      • 6336: Add condition for shared link (product page)
      • 6324: Removed duplicate category from breadcrumb
      • 6313: Fix register form checkbox
      • 6256: Fixed credit slip PDF for customized product
      • 6065: Added combination’s specific references to product’s details page
      • 6213: Fixed shopping cart summary
      • 6169: Fixed returns for product customizations
      • 6202: Display gift wrapping on Order confirmation
      • 6177: Gift price is now displayed on cart summary if any
  • Core:
    • New features:
      • 6491: Rework template calls for module
      • 6216: Introduce new hook Finder and hook displayProductExtraContent
      • 6374: Add new hook validateCustomerFormFields
      • 6261: Add new hook displayCarrierExtraContent
      • 6175: Add deprecated hooks list in class
    • Improvements:
      • 6511: Install emails pack
      • 6515: Shows company in BO search if B2B is enabled
      • 6502: Introduced sf entity in Smarty router
      • 6265: Replace deprecated mcrypt with openssl
      • 6434: Allow to import product with quantity set to 0
      • 4925: Allow import combination with a quantity of 0
      • 6451: Use Controller::ajaxDie() method instead of die()
      • 6219: Update AddressFormat class to ps standards
      • 5912: Introduced CSRF Token in url strategy
      • 6243: Delete deprecated ControllerFactory
      • 6244: Delete deprecated AdminTab class
      • 6415: Added in URL method the possibility to recover the category image
      • 6304: Remove deprecated PaymentCC class
      • 6255: Use symfony translator for controllers - part 1
      • 6382: Make Tools::getValue() mockable for unit test
      • 6408: Fully remove Blowfish and CacheFS
      • 6346: Remove cart redirect option
      • 6272: Remove deprecated Discount class
      • 6267: Add PHP 7.1 support
      • 6335: Do not show if email exists @ password reset
      • 5273: Make some method of SpecificPrice overridable
      • 6192: Remove unused parameter for Cart::isVirtualCart()
      • 6269: Remove deprecated class County
      • 6310: Improved module display on user groups
      • 6217: Update Attachment class to ps standards
      • 6218: Update Alias class to ps standards
      • 6209: Document Category class + cleanup
    • Bug fixes:
      • 6494: transformToCustomer not moves the default group from Guest to Cus…
      • 6520: Fixed hardcoded group id in getNewProducts
      • 6536: Fix variable name in Employee::getByEmail
      • 6524: Fixed specific price display
      • 6512: Fixed Product::getPricesDrop SQL query
      • 6486: Handle no limit for post_max_size in file uploads
      • 6479: Fixed supplier label & create method for supplier/manufacturer image
      • 6482: Deleted variable already defined
      • 6483: Escape translations for AddJsDefL
      • 6473: Fixed sql prevent with intval
      • 6433: Solved problem with Swift when SERVER_NAME is empty
      • 6426: Fix bad discount computation when multiple tax rates involved
      • 6435: Delete legacy code related to Discounts
      • 6380: Raise errors when theme can’t be enabled
      • 6428: Fix a case where $context->smarty could be undefined
      • 6305: Fix isAllProductsInStock calculation
      • 6404: Use trans() instead of Mail::l() to translate email subject
      • 6396: Fixed method getNonNativeModuleList (always returns false)
      • 6395: Apply “optin” configuration on customer forms
      • 6400: Prevented SQL injection
      • 6391: Sql injection error on search class
      • 6260: Fixed display of last items in stock
      • 6367: Fixed :: Access to undeclared static property: Validate::$data for PHP7
      • 6372: Prevented SQL injection in product sales
      • 6376: File upload option for contact form
      • 6377: Fix typing issue causing fatal error during install
      • 6375: Return default value on empty Marketplace categories response
      • 6369: Prevent injections in SQL in classes (continue)
      • 6373: Prevent SQL injections in Shop class
      • 6361: Prevent injections in SQL in classes
      • 6364: Prevent SQL injections in SpecificPrice class
      • 6172: Improve compatibility between PHP 7.1 and PrestaShop
      • 6360: Prevented SQL injections
      • 6358: Prevented SQL injections
      • 6257: Fixed display voucher tax included in checkout page
      • 6334: Sorting product with configuration settings
      • 6254: Show availability_date for combination if exists, never use the default one for combination
      • 6332: Fix pdf invoice smarty functions
      • 6309: Display promo codes when highlighted
      • 6323: Fixed Cache call
      • 6234: Fixed product sorting by category
      • 6306: Fixed no default message when available_later is empty and out of stock orders enabled
      • 6195: Fixed random_compat dependency to avoid CSPRNG exception
      • 6212: Fix a missing point in SQL request

Parting words

Ready? Set? Go! Create new themes and update your modules! :)

Thank you for your feedback!

Introducing PrestaShop’s Community Framework

$
0
0

Open Source is in the DNA of PrestaShop, and with it comes the great responsibility that the Core team has towards the project and its community – both users and contributors.

PrestaShop values greatly the contributions of its community members, and as contributors improve their skills, the PS codebase gets better. By growing the community of knowledgeable contributors, the Core team hopes to fully realize the Open Source potential of the PrestaShop project.

To support that growth, we decided to create a Community Framework a few months ago: a definitive set of rules and obligations which, together with tools such as PrestonBot and the keen eye of Core contributors, should make it possible to better handle pull requests – and in a more timely fashion!

This Community Framework is made of two sides: the Contributor’s Rules, and the Project Roles. One is for both everyday contributors AND Core developers; the other is for trusted contributors who want to be involved further with the project.

Contribution rules

As a contributor, there are certain things which are expected from your contribution in order to help the Core team review and possibly merge your code contribution in no time.

The following rules are what the Core team looks at in a contribution in order to review it and build trust with the contributor. Note that they are cumulative: don’t skip a rule, they are all important.

  1. The commits are made on the correct branch (develop for PS 1.7, 1.6.1.x for PS 1.6), thanks to a clear understanding of PrestaShop’s SemVer-like versioning scheme.
  2. The commits are made from an up-to-date branch.
  3. The commits pass the PrestaShop automatic unit tests (as shown by the Travis CI indicator at the bottom of the PR in GitHub).
  4. The code of the commits follows the PSR-2 coding style guide (which implies PSR-1 too).
  5. The commits are atomic.
  6. The commits are named in accordance with the PrestaShop naming convention.
  7. The pull request for the commits has a short and descriptive title in English.
  8. The pull request for the commits contains a table with a clear description of what the contained commits do, with steps to reproduce/test the issue(s), and if necessary a link to the Forge ticket(s) that is/are fixed by the commits. All texts (including the PR discussion) are to be written in English.
  9. The pull request does not contain any “Merge branch ‘xxx’...” commit (which breaks the project’s Git history). Use git pull --rebase whenever in doubt. – see the official git pull documentation, or this tutorial.
  10. The code changes have been fully tested and present no unexpected side-effects anywhere in the back office or the front office, for a clean PrestaShop installation on a standard PHP/MySQL server.

A contributor can be more noticed with the quality AND quantity of pull requests submitted, and also if (s)he contributes in other ways: feedback on other PRs than his/her own, feedback on Forge tickets, participation to the documentation wiki or the 1.7 techdoc repo, translation on the PrestaShop project on Crowdin, participation in the PrestaShop forums, etc. This shows that the contributor is a thorough member of the PrestaShop ecosystem.

PrestaShop project roles

The PrestaShop project is wide and far-reaching, between the Core codebase and native modules which go from the mundane to the advanced. All were initially built by the PrestaShop team, and all are open to developer contributions.

Contributors who respect the above rules and become quite involved with the PrestaShop project will now follow a path of roles, which naturally result from a strong and healthy relationship.

Climbing up the “role ladder” can take from a few weeks to several months, depending on the responsibilities of the role and the feedback from the Core team, and eventually anyone who makes contributions that at are regularly merged, can become part of the group of people in charge of the PrestaShop project.

Let’s see these cumulative roles:

1) PR reviewer

Help the Core team by asserting the “mergeability” of PRs, with a thorough code review, and by possibly completing the PR description with the necessary information for testing the issue (if none is available).

Reviews, whether positive or negative, are to be submitted directly in each PR’s comment section, through GitHub’s own code reviewing tools. The reviewer should follow the PR’s subsequent comments and commit, until merge or closure. In short, taking care of the PR during its whole lifetime.

2) Cherry-picker

Help the Core team by making it possible to merge interesting pull requests that are either made on the wrong branch or that have too many conflicts, and therefore cannot be merged as is. Cherry-picking means the “Cherry-pickability” will be asserted by the Core team or the Product Managers first, and you are welcome to rebase that code into a new PR.

The original PR must be kept open until the new PR is closed/merged. The author of the original PR must be named in the resulting PR.

3) Patch release merger

Once a patch version’s release date has been chosen (by the Product Managers and the Core team), the PRs attached to its GitHub milestone (which must have been code-reviewed and QA-approved) can be merged, one by one and with a final test in order to make sure that there is no unwanted side-effect (such as a behavioral change or a break of backward compatibility).

Note: A contributor MUST only merge other contributors’ PRs, not his/her own.

4) Minor release merger

Once a minor version’s release date has been chosen (by the Product Managers and the Core team), the PRs attached to its GitHub milestone (which must have all been code-reviewed and QA-approved) can be merged, one by one and with a final QA session in order to make sure that there is no unwanted side-effect (such as a break of backward compatibility).

Note: A contributor MUST only merge other contributors’ PRs, not his/her own.

5) Major release merger

Once a major version’s release date has been chosen (by the Product Managers and the Core team), the PRs attached to its GitHub milestone (which must have been code-reviewed and QA-approved) can be merged, one by one and with a final QA session in order to make sure that there is no unwanted side-effect.

Note: This role is mostly reserved to employees from the PrestaShop company.

You’ll understand that the last two roles (merger for minor versions and merged for major versions), which involve responsibilities that can have an impact on both 250,000+ online stores and the PrestaShop business itself, can only be reached after months of trustful work with the Core team – at least for the time being.

Onwards!

So, there you have it: the contributor role ladder within the PrestaShop project, and the rules to follow in order to reach its first step. While seemingly strict, they allow enough freedom to let anyone enter the team of caretakers for the Core codebase and the native modules, and helps build a circle of exceptional trust upon which thousands of online merchants will be able to rely for their daily activity.

Introducing our first Code Reviewer from the Community: Michael Dekker!

Michael comes from the Netherlands. Comparatively, he has only recently joined the community of contributors, but he has done a lot already:

You can understand that Michael has become a well-known name among the PrestaCrew, and we are pleased to welcome him as the first one to “climb the role ladder” that the Community Framework puts in place.

We took this as an opportunity to introduce Michael to the community at large through this small interview:

Hi Michael! What is your day job?

Hi there! I am a fullstack developer, meaning that I work with both PHP and JavaScript.

What pushed you to start contributing to the PrestaShop project?

The first version of PrestaShop I used was a beta of 1.6. I noticed that the software had great potential, but it was hard to launch a store in the Netherlands with it. I noticed that it missed a lot of local stuff. Apparently PrestaShop noticed that as well, because shortly after that the Ambassador project and the Integration fund were launched. I was a little ahead of that :)

What do you think are your biggest contribution(s) to PS so far?

Oh, probably modifying more than 100,000 lines of code, and of course translating the whole User Guide into Dutch.

Thanks lot for being part of the Community, Michael! We hope to see you soon giving code reviews to the project’s pull requests!

Do you speak PrestaShop? – September 2016 edition

$
0
0

Here is the latest report to inform you of what happened on the PrestaShop translation project on Crowdin in September.

Project news

Get ready with 1.7 translations

The 1.7 project is moving forward with the recent release of a second release candidate. As things evolve, we’re getting closer to a 1.7 final release. So now is a good time to get involved in the translation of this version, join us on Crowdin to translate PrestaShop in your own language! :)

Translations for PrestaShop 1.7

There have been some strings movements in 1.7. Some new strings appeared, correcting old ones who were removed from the project. We are still modifying some translations domains as well, so strings are moving from the “messages” folder to more relevant ones. All this have an impact on the project, modifying percentages of completion for some folders or the whole project. Even though some modifications are still to come, the strings should stabilize in the coming weeks.

PrestaShop installation in Danish

We’ve also added the Danish language to the installer of PrestaShop 1.7. From now on, right from the start, you will be able to install your shop in Danish and retrieve data in Danish (while previously it was all in English - for instance, order statuses). The translation isn’t complete and does not take place on Crowdin, but works with files hosted on GitHub. If you want to help further translating in Danish, you can contribute directly on GitHub, or, if you have no clue as to how to do it, contact us at translation@prestashop.com. We’d be happy to help :)

The installer data can be completed and/or added in other languages too, so if you’re interested, don’t hesitate to reach out!

1.6 translations update

We’ve had some issues with the 1.6 language pack update recently, and we’re doing our best to provide you with updated translation!

Now let’s get back to our Crowdin project, and the full report of its activity in September:

A few stats

  • 80 contributors joined the project this month, for a total of 3,229 members at the end of September. Welcome to all of them!
  • 66 members were active on the project this month.
  • A total of 92,283 words have been translated (+252% ^) and 89,869 validated (+ 135%).
  • All this in 33 different languages (+52%).

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 this September.

Top 10 translators in September:

 TranslatorLanguage# Words
1.Alper Demir (alper-demir)Turkish16,032
2.A Petapouca (petapouca)Galician8,320
3.Roy (rstvMacRoy)Swedish5,228
4.KoralPolish3,193
5.Patrik Lindblom (extendus)Swedish2,709
6.DaoKakaoRussian2,609
7.maurizioagSpanish, Venezuela2,400
8.Monika (monikaraciunaite)Lithuanian2,144
9.transmetentCatalan1,995
10.eleazarGerman1,994

Top 10 proofreaders in September:

 ProofreaderLanguage# Words
1.Morten Borg (mortenborg)Danish22,321
2.A Petapouca (petapouca)Galician20,778
3.Alper Demir (alper-demir)Turkish20,626
4.Patrik Lindblom (extendus)Swedish5,833
5.SkaZun (raidhunters)Ukrainian2,869
6.DaoKakaoRussian2,609
7.Gytis Šk (gytis)Lithuanian1,995
8.Enzo Ferrara (ferribbotte)Italian1,671
9.Cha (cafetango)Chinese Traditional1,616
10.lolypop000Slovenian1,589

A big applause to them! And welcome to our new top contributors!

Complete translations

Fully translated languages

At the end of September, PrestaShop 1.6.1 was fully available (= 100% translated and validated) in 14 languages:

  • Bulgarian
  • Croatian
  • Czech
  • Dutch
  • English
  • French
  • Indonesian
  • Lithuanian
  • Norwegian
  • Persian
  • Russian
  • Slovak
  • Slovenian
  • Swedish

98-99% translated languages

PrestaShop was also almost fully translated (and/or validated) in these 9 languages:

  • German
  • Greek
  • Italian
  • Polish
  • Portuguese
  • Portuguese, Brazilian
  • Romanian
  • Spanish
  • Vietnamese

A little bit of work and these languages can be 100% translated and validated too! If you feel like you want to help, join the project!

Languages with the best evolution

In comparison with August 2016, the following languages had the best progress in September:

(these numbers are mostly issued from the progress of the 1.7 project, as this is where most of the work took place this month.)

  • Azerbaijani (+25% to reach 10% translated in 1.7)
  • Albanian (+17% to reach 21% translated in 1.7)
  • Galician (+10% to reach 74% translated in 1.6)
  • Danish (+19% to reach 93% translated in 1.7)
  • Polish (+4% to reach 98% translated in 1.7)

September 2016 best translation progress

Other languages performed well like Swedish, Turkish, Russian, and Catalan. 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 % 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!

At the end of September, 7 languages would still benefit from more proofreading:

  • Ukrainian (100% vs 68%)
  • Arabic (54% vs 28%)
  • Galician (74% vs 49%)
  • Turkish (100% translated vs 77% validated - getting better every month!)
  • Greek (99% translated vs 81% validated)
  • Finnish (99% translated vs 83% validated)

September 2016 best translation progress

If you wish to help to proofread what has been translated, please contact me on Crowdin 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!

PrestaShop Core Weekly - Weeks 37-38-39-40-41

$
0
0

This edition of the Core Weekly report highlights changes in PrestaShop’s core codebase during the previous five weeks, from Monday 12th of September to Sunday 10th of Octobre 2016.

Wow, almost a month without a proper Core Weekly report! Sorry for that, dear readers!
So, this phonebook of a report is not called Core Monthly, ‘cos I DO want to publish it on a weekly basis still. Next time! :)

TL;DR

Yup, that’s a lot to read through. So, here are a few highligts from the LONG list of changes:

  • Adding the parent/child inheritance system for themes!
  • Better SEO for faceted search.
  • Better PHP 7.0 support.
  • A HUGE number of fixes and improvements.
  • Several security fixes.
  • Some forgotten hooks are back, and some were added.
  • Improved installer.
  • Better phpdoc all around (thanks Michael Dekker for this initiative!).
  • And a LOT more!

General messages

A few things happened in the past month, isn’t it? First, we released RC1 AND RC2 of version 1.7.0.0 (please test it!). We formally introduced PrestonBot, we put the techdoc site online for all to contribute to, and as you’ll soon see, we’re about to release 1.6.1.8 :)

PrestaShop 1.7 development is going well, and we’re getting a good feeling about it. There is a still a lot of ironing to do, but mostly, you should start working on your themes and modules :) Are your modules 1.7-ready? Have you tried to create a 1.7 theme? Check the current tech doc!

You can find an up-to-date thread about the 1.7 development in the forum.
The 1.7 Project FAQ is always available here: http://build.prestashop.com/news/prestashop-1-7-faq/.

Code changes in ‘develop’ branch (for version 1.7.0.0)

Let’s review the merged pull-requests on the ‘develop’ branch since the last Core Weekly Report!

Front office (including the default theme, named “Classic”, based upon the Starter Theme)

  • 6179: Fix several binary payment options behavior, by @maximebiloe.
  • 6308: Responsive layout for customer area, by @ishcherbakov.
  • 6313: Fix register form checkbox, by @nihco2.
  • 6314: Contact page : select order_reference optional, by @aleeks.
  • 6324: Removed duplicate category from breadcrumb, by @thierrymarianne.
  • 6325: form-fields template is a mandatory file, by @julienbourdeau.
  • 6326: Order the breadcrumb, by @antoin-m.
  • 6336: Add condition for shared link (product page), by @aleeks.
  • 6337: Fixed link shared (for socialfollow module), by @aleeks.
  • 6344: Add missing btn class for form buttons, by @julienbourdeau.
  • 6352: Fix add to cart button disappearing in prod mode, by @maximebiloe.
  • 6378: Added reference parameter to OrderDetailController. Thank you @mcdado!
  • 6385: Use the right image size for product page and quickview, by @leadesign.
  • 6394: Displayed categories when product not found, by @thierrymarianne.
  • 6405: Fix associated products layout, by @maximebiloe.
  • 6413: Fixed customer form check, by @mickaelandrieu.
  • 6419: Fixed checkout step change, by @thierrymarianne.
  • 6443: Fixed show password button color, by @thierrymarianne.
  • 6444: Faceted Search SEO Implements most crucial Google Guidelines, by @djfm.
  • 6454: Stop relying on rewritten URL to resize images, by @djfm.
  • 6461: Fix product details reference, by @maximebiloe.
  • 6480: ISBN, EAN13 and so on must be translated, by @maximebiloe.
  • 6484: Fix the popover font, by @antoin-m.
  • 6493: Wrong customization_quantity in order conf email, by @quetzacoalt91.
  • 6501: Fixed blocks height from account page, by @aleeks.
  • 6509: Separate gifts from product manually added, by @thierrymarianne.
  • 6528: Fix discount percentage position in search products page, by @fatmabouchekoua.
  • 6532: Update string content for front office, by @alexeven.
  • 6540: Fixed vouchers values rendering, by @thierrymarianne.
  • 6547: Rendered manufacturer in product details, by @thierrymarianne.
  • 6605: Fix combination selection in StarterTheme, by @maximebiloe.
  • 6609: Move facets update behaviour, by @nihco2.
  • 6648: Fix flags position on product page, by @maximebiloe.
  • 6650: CSV Import: Prevent default category reset when already defined. Thank you @firstred!
  • 6660: Fixed minimal quantity check in cart, by @thierrymarianne.

Back office

  • 6041: Speed up AdminStatsControllerCore::getVisits() time by 30%. Thank you @kioob!
  • 6139: FR translation for top menu items, by @xborderie.
  • 6149: Modules translation page modified, by @fatmabouchekoua.
  • 6161: Product page integration bug fixes, by @nihco2.
  • 6171: Keep additionnal data in $_POST instead of dropping it, by @quetzacoalt91.
  • 6181: Hide quantity fields when stock management is disabled, by @fatmabouchekoua.
  • 6194: Bring back forgotten hooks, by @quetzacoalt91.
  • 6198: Fixed translation in Shipping > Carrier, by @thierrymarianne.
  • 6236: Fix navigation menu behavior, by @maximebiloe.
  • 6251: Adding new plugins and options to tinymce, by @fatmabouchekoua.
  • 6252: Fixed deletion of attribute, by @thierrymarianne.
  • 6259: Fix module listing to upgrade, by @maximebiloe.
  • 6263: Better visibility for reference. Thank you @phpmadman!
  • 6307: Fix product select type re-enabled when product has no combination, by @aleeks.
  • 6309: Display promo codes when highlighted, by @thierrymarianne.
  • 6311: Allow product save after specific price creation, by @mickaelandrieu.
  • 6312: Fixed javascript issue on ie11 (ES6 unavailable), by @mickaelandrieu.
  • 6315: Fix the auto scroll when an error appears on the page, by @antoin-m.
  • 6316: Fix the icons & their colors on the products list page, by @antoin-m.
  • 6317: Fix some permission issues and remove unused controllers, by @maximebiloe.
  • 6318: Fixed category tree, by @thierrymarianne.
  • 6321: Removed results after emptying search field, by @thierrymarianne.
  • 6322: Fix dashboard javascript error for some country (ex: Serbia or Indonesia), by @antoin-m.
  • 6328: Native modules displayed in the right category, by @maximebiloe.
  • 6329: Fixed category filter, by @thierrymarianne.
  • 6330: Sorted modules by popularity in descending order, by @thierrymarianne.
  • 6333: Fixed shops dropdown submenu, by @thierrymarianne.
  • 6338: Show/hide attach file form with button, by @nihco2.
  • 6340: Fixed display of payment methods active modules, by @mickaelandrieu.
  • 6341: Added tooltips for virtual product, by @thierrymarianne.
  • 6342: Prevented upload of PHP script, by @thierrymarianne.
  • 6343: Removed deprecated performance options, by @thierrymarianne.
  • 6345: Change .attr to .prop for categories js, by @aleeks.
  • 6348: Fix the ‘View less/View all images’ button on the product page, by @antoin-m.
  • 6350: Show not active category in Filter by Category. Thank you @ecomm360!
  • 6351: Fix notice in debug mode on the dashboard (admin), by @aleeks.
  • 6353: Fixed translator selector behavior, by @thierrymarianne.
  • 6355: Introduced “others” translation provider, by @mickaelandrieu.
  • 6356: Right sidebar on product form (lint title, fix pagination display), by @aleeks.
  • 6359: Prevent injections in SQL queries of AccessCore class, by @mickaelandrieu.
  • 6363: Prevent SQL injections in OrderInvoice class, by @mickaelandrieu.
  • 6365: Prevented SQL injections, by @thierrymarianne.
  • 6366: Prevented SQL injections object model, by @thierrymarianne.
  • 6368: Prevented SQL injections, by @thierrymarianne.
  • 6369: Prevent injections in SQL in classes, by @aleeks.
  • 6381: Add translation domains to controllers - 6, by @alexeven.
  • 6383: Fixed bad translation definition for debug info, by @mickaelandrieu.
  • 6384: Remove “Configure” button when no config, by @thierrymarianne.
  • 6386: Refacto bulk action on product form (admin), by @aleeks.
  • 6389: Performance improvements on last visit. Thank you @zuzul!
  • 6390: Display active zones first in Carrier wizard and flag inactive ones
  • 6391: Sql injection error on search class, by @aleeks.
  • 6392: Displayed modal on combinations deletion, by @thierrymarianne.
  • 6393: Fix focus issue on tinymce editor. Thank you @antho-girard!
  • 6398: Added reference to select products field, by @fatmabouchekoua.
  • 6399: Remove minify HTML feature, by @julienbourdeau.
  • 6402: Fixed a little useless raw, by @aleeks.
  • 6403: Restored attribute generator, by @thierrymarianne.
  • 6406: Use Symfony translator in controllers, by @mickaelandrieu.
  • 6407: Supplier product form integration and js, by @aleeks.
  • 6409: Refresh product combination images, by @thierrymarianne.
  • 6411: Fix the quick links, by @antoin-m.
  • 6414: Fix translation issue on the login page, by @antoin-m.
  • 6416: Fix product save, by @antoin-m.
  • 6417: Allowed negative impact on price, by @thierrymarianne.
  • 6420: Fixed multistore links on header, by @aleeks.
  • 6421: Fixed translations search engine, by @mickaelandrieu.
  • 6422: Fixed user locale listener, by @mickaelandrieu.
  • 6424: Fixed product attachment with name used previously, by @thierrymarianne.
  • 6425: Solved problem with non-unserialized filters data. Thank you @kpodemski!
  • 6427: Fix bug when adding new column in product catalog page, by @fatmabouchekoua.
  • 6430: Take order state unremovable flag into account. Thank you @kpodemski & @erouvier29!
  • 6431: Fixed bug when no results with address and map does not exists. Thank you @kpodemski & @idnovate!
  • 6432: Display all carriers in Dashboard Configuration. Thank you @kpodemski & @okom3pom!
  • 6438: Fixed some logic to call All carriers, by @aleeks.
  • 6439: Fixed selection of product category, by @thierrymarianne.
  • 6440: Fixed ‘installed modules’ tab if no shop selected, by @aleeks.
  • 6441: Fixed shop create page (translation problem and context initialization), by @aleeks.
  • 6442: Introduced SSL verify config parameter. Thank you @kpodemski!
  • 6445: Fix translation domains, by @alexeven.
  • 6446: Fix bug in translate module page, by @fatmabouchekoua.
  • 6447: Fixed import client by csv file, by @aleeks.
  • 6448: Removed used vouchers from highlight panel, by @thierrymarianne.
  • 6452: Introduce hook to override layout file, by @julienbourdeau.
  • 6453: Fixed back office translation in templates without domain set up, by @mickaelandrieu.
  • 6455: Hide id_guest field if it is disabled in configuration, by @aleeks.
  • 6456: Allowed use of comma in tax included / excluded prices, by @thierrymarianne.
  • 6458: Add translation domains to International menu’s controllers, by @alexeven.
  • 6459: Sprintf must be an array not a string, by @maximebiloe.
  • 6460: Fixed store addition, by @thierrymarianne.
  • 6462: Fix bug in translator domain, by @fatmabouchekoua.
  • 6463: Added missing maintenance / debug indicator, by @thierrymarianne.
  • 6467: Fixed wording AdminInvoicesController.php. Thank you @nobodaddy!
  • 6474: Introduce Parent/Child theme feature, by @julienbourdeau.
  • 6477: Fix smarty module resources paths arg, by @julienbourdeau.
  • 6478: Hide Specific References table when it’s empty, by @fatmabouchekoua.
  • 6485: Fix the notification center text & badge, by @antoin-m.
  • 6487: Fix SQL export on catalog page. Thank you @antho-girard!
  • 6488: Fixed export product (data : image), by @aleeks.
  • 6489: Fix the show/hide notification option, by @antoin-m.
  • 6492: Add missing help text on “New product” button. Thank you @antho-girard!
  • 6496: Fix de popover font, by @antoin-m.
  • 6497: Remove extra space and improve some strings, by @maximebiloe.
  • 6498: Fix notifications, by @antoin-m.
  • 6499: Prevent smartyTranslate to escape HTML tags when they are needed, by @antoin-m.
  • 6504: Fix category tree on product page, by @antoin-m.
  • 6506: Display native modules in translations, by @mickaelandrieu.
  • 6507: Fixed some duplicate form/content on Admin, by @aleeks.
  • 6510: Fixed upload, update & delete product image, by @aleeks.
  • 6513: Fix the ajax calls in the product page, by @antoin-m.
  • 6517: Removed backtick from order by clause, by @thierrymarianne.
  • 6518: Natives front modules available in Back office translations, by @mickaelandrieu.
  • 6519: Better multistore links on menu, by @aleeks.
  • 6525: Added quick link to update category, by @aleeks.
  • 6526: Fixed delete/update image just uploaded, by @aleeks.
  • 6529: Disabled module and product actions in demo, by @thierrymarianne.
  • 6530: Fixed missing btn on new controllers, by @aleeks.
  • 6535: Wording update for BO, by @alexeven.
  • 6538: Payments/Carriers preferences applied also on non PS carriers, by @vincentbz.
  • 6539: Check parent permissions when not ticked, by @antoinemille.
  • 6545: TinyMCE resize, by @antoinemille.
  • 6546: Fixed wording for BO, by @aleeks.
  • 6550: Add translations domains to Shop Parameters, by @alexeven.
  • 6583: Improve label wording for cart rule creation, by @alexeven.
  • 6586: Remove PS_LOGO_MOBILE variable from AdminThemesController. Thank you @martinfojtik!
  • 6587: Fix theme preview in BO. Thank you @martinfojtik!
  • 6589: Wording update - ‘Attachment’ becomes ‘Files’, by @alexeven.
  • 6592: Fixed missing button when adding countries in a taxe rule, by @aleeks.
  • 6593: Fixed hint tooltip on template, by @aleeks.
  • 6596: Fixed newsletter, optin, shop columns, by @thierrymarianne.
  • 6600: Add translation domains to Adv. param controllers 1, by @alexeven.
  • 6601: Fixed add/edit click quick access on 2 system controllers, by @aleeks.
  • 6602: Ensured product has default combination, by @thierrymarianne.
  • 6603: Make customer required fields translatable, by @maximebiloe.
  • 6612: Fixed positions dragable on list, by @aleeks.
  • 6614: Fix module import. Thank you @firstred!
  • 6629: Automatically fill link_rewrite on new CMS category page. Thank you @firstred!
  • 6632: Fix filtering on state in monitoring BO page. Thank you @firstred!
  • 6633: Fix multilang link rewrite import. Thank you @firstred!
  • 6637: Fixed retrieval of customer KPI, by @thierrymarianne.
  • 6638: Fix double slash for supplier combination request, by @maximebiloe.
  • 6639: Fixed link to product in order, by @thierrymarianne.
  • 6642: Added tab ids to navigation menu, by @thierrymarianne.
  • 6644: Fixed hook position display, by @aleeks.
  • 6645: Fix menu layout for IE, by @maximebiloe.
  • 6646: Fixed string additional (hook, sql), by @aleeks.
  • 6654: Fix the customer threads status change, by @antoin-m.
  • 6655: Fix the caption display language on the product page, by @antoin-m.
  • 6657: Fixed feature change ajax, by @aleeks.
  • 6658: Do not fallback on english value on translation page and tokenize the edit URL, by @maximebiloe.
  • 6659: Fixed hint tooltip on template, by @aleeks.
  • 6661: Fix the product quantity selector, by @antoin-m.
  • 6662: Fix the final retail price update, by @antoin-m.
  • 6665: Fixed title CMS page KO, by @aleeks.
  • 6666: Module page small fixes, by @quetzacoalt91.
  • 6667: Fix the combinations bulk action with TI price, by @antoin-m.
  • 6670: Fixed call to action buttons in Read More, by @thierrymarianne.
  • 6675: New keyboard shortcut in product page, by @antoinemille.
  • 6683: Reuse SQL result for module history, by @quetzacoalt91.
  • 6686: Bring back addon card on search, by @quetzacoalt91.
  • 6687: Fix “back” link in module configuration page, by @julienbourdeau.

Core

  • 4925: Allow import combination with a quantity of 0. Thank you @maidmaid!
  • 5273: Make some method of SpecificPrice overridable. Thank you @kermes!
  • 5912: Introduced CSRF Token in url strategy, by @mickaelandrieu.
  • 6096: Properly handle / migrate new parameters.php file & more work on upgrade, by @jocel1.
  • 6172: Improve compatibility between PHP 7.1 and PrestaShop, by @quetzacoalt91.
  • 6175: Add deprecated hooks list in class, by @quetzacoalt91.
  • 6192: Remove unused parameter for Cart::isVirtualCart(). Thank you @prestamodule!
  • 6216: Introduce new hook Finder and hook displayProductExtraContent, by @quetzacoalt91.
  • 6219: Update AddressFormat class to ps standards. Thank you @firstred!
  • 6227, 6229, 6231, 6232, 6233, 6239, 6240, 6241, 6242, 6243, 6244, 6246, 6247, 6248, 6249, 6270, 6272, 6273, 6274, 6275, 6276, 6277, 6280, 6281, 6283, 6284, 6285, 6287, 6288, 6289, 6292, 6293, 6294, 6296, 6297, 6299, 6300, 6301, 6302, 6303, 6552, 6553, 6555, 6556, 6558, 6559, 6560, 6561, 6562, 6564, 6565, 6568, 6569, 6571, 6573, 6574, 6575, 6576, 6577, 6578, 6579, 6580, 6582: Doc + update for several classes. Thank you very, very much @firstred!
  • 6234: Fixed product sorting by category, by @thierrymarianne.
  • 6235: Improve validator birthday date, by @aleeks.
  • 6254: Show availability_date for combination if exists, never use the default one for combination, by @julienbourdeau.
  • 6255: Use symfony translator for controllers - part 1. Thank you @firstred!
  • 6257: Fixed display voucher tax included in checkout page, by @aleeks.
  • 6260: Fixed display of last items in stock, by @thierrymarianne.
  • 6261: Add new hook displayCarrierExtraContent, by @quetzacoalt91.
  • 6265: Replace deprecated mcrypt with openssl. Thank you @firstred!
  • 6267: Add PHP 7.1 support. Thank you @firstred!
  • 6269: Remove deprecated class County. Thank you @firstred!
  • 6304: Remove deprecated PaymentCC class. Thank you @firstred!
  • 6305: Fix isAllProductsInStock calculation. Thank you @firstred!
  • 6306: Fixed no default message when available_later is empty and out of stock orders enabled, by @aleeks.
  • 6310: Improved module display on user groups, by @mickaelandrieu.
  • 6323: Fixed Cache call, by @mickaelandrieu.
  • 6332: Fix pdf invoice smarty functions, by @julienbourdeau.
  • 6334: Sorting product with configuration settings, by @aleeks.
  • 6335: Do not show if email exists @ password reset. Thank you @firstred!
  • 6346: Remove cart redirect option, by @maximebiloe.
  • 6358: Prevented SQL injections, by @thierrymarianne.
  • 6360: Prevented SQL injections, by @fatmabouchekoua.
  • 6361: Prevent injections in SQL in classes, by @aleeks.
  • 6364: Prevent SQL injections in SpecificPrice clas, by @mickaelandrieu.
  • 6367: Fixed :: Access to undeclared static property: Validate::$data for PHP7. Thank you @pranid!
  • 6372: Prevented SQL injection in product sales, by @thierrymarianne.
  • 6373: Prevent SQL injections in Shop class, by @mickaelandrieu.
  • 6374: Add new hook validateCustomerFormFields, by @quetzacoalt91.
  • 6375: Return default value on empty Marketplace categories response, by @quetzacoalt91.
  • 6376: File upload option for contact form, by @aleeks.
  • 6377: Fix typing issue causing fatal error during install, by @maximebiloe.
  • 6380: Raise errors when theme can’t be enabled, by @aleeks.
  • 6382: Make Tools::getValue() mockable for unit test, by @thierrymarianne.
  • 6395: Apply “optin” configuration on customer forms, by @aleeks.
  • 6396: Fixed method getNonNativeModuleList (always returns false). Thank you @m03g!
  • 6400: Prevented SQL injection, by @thierrymarianne.
  • 6404: Use trans() instead of Mail::l() to translate email subject, by @maximebiloe.
  • 6408: Fully remove Blowfish and CacheFS, by @julienbourdeau.
  • 6415: Added in URL method the possibility to recover the category image. Thank you @ecomm360!
  • 6426: Fix bad discount computation when multiple tax rates involved. Thank you @kpodemski & @maximebiloe!
  • 6428: Fix a case where $context->smarty could be undefined. Thank you @kpodemski & @prestamodule!
  • 6433: Solved problem with Swift when SERVER_NAME is empty. Thank you @kpodemski & @hiousi!
  • 6434: Allow to import product with quantity set to 0. Thank you @kpodemski!
  • 6435: Delete legacy code related to Discounts. Thank you @kpodemski!
  • 6437: Wrong label in FO when out of stock. Thank you @kpodemski!
  • 6449: Remove unused Symfony web/ folder, by @julienbourdeau.
  • 6451: Use Controller::ajaxDie() method instead of die(). Thank you @jherry!
  • 6473: Fixed sql prevent with intval, by @aleeks.
  • 6479: Fixed supplier label & create method for supplier/manufacturer image, by @aleeks.
  • 6482: Deleted variable already defined, by @aleeks.
  • 6483: Escape translations for AddJsDefL, by @julienbourdeau.
  • 6486: Handle no limit for post_max_size in file uploads, by @quetzacoalt91.
  • 6491: Rework template calls for module, by @julienbourdeau.
  • 6494: transformToCustomer not moves the default group from Guest to Customer. Thank you @ecomm360!
  • 6502: Introduced sf entity in Smarty router, by @mickaelandrieu.
  • 6511: Install emails pack, by @maximebiloe.
  • 6512: Fixed Product::getPricesDrop SQL query, by @quetzacoalt91.
  • 6515: Shows company in BO search if B2B is enabled. Thank you @n-wouda!
  • 6520: Fixed hardcoded group id in getNewProducts. Thank you @turtl3!
  • 6524: Fixed specific price display, by @mickaelandrieu.
  • 6536: Fixe variable name in Employee::getByEmail. Thank you @pkshetlie!
  • 6542: Added intl requirements, by @mickaelandrieu.
  • 6606: Fixed wording for BO, by @aleeks.
  • 6608: Fix wrong domains, by @maximebiloe.
  • 6617: Simple ObjectModel performance improvement. Thank you @firstred!
  • 6618: Invalidate Product cache on time. Thank you @firstred!
  • 6622: Remove index.php in upload folder. Thank you @firstred!
  • 6635: Fix feature update parent call. Thank you @firstred!

Installer

  • 6148: Wrong variables in installer’s strings, by @xborderie.
  • 6354: Updated demo products prices, by @thierrymarianne.
  • 6362: Prevented SQL injections, by @thierrymarianne.
  • 6371: Translate main menu in FR, by @alexeven.
  • 6388: Fix legacy ISO code for spanish. Thank you @ecomm360!
  • 6401: Added missing backticks, by @thierrymarianne.
  • 6410: Made cache parent directories recursively, by @thierrymarianne.
  • 6412: Adding Danish translation to installer, by @alexeven.
  • 6429: Keep CMS HTML code when upgrading. Thank you @kpodemski & @jd440!
  • 6465: Adds australian states and fixes australian address format, by @vincentbz.
  • 6468: Translate missing menu strings into Italian. Thank you @ginodev!
  • 6471: Danish translation for installer. Thank you @casper-o!
  • 6521: Updated Indonesian state. Thank you @prestanesia!
  • 6537: Fixed the default employee profiles, by @vincentbz.
  • 6543: Few edits to Danish installer meta.xml, by @alexeven.
  • 6544: Fix some update SQL queries, by @maximebiloe.
  • 6548: Remove pack JS in HTML feature, by @julienbourdeau.
  • 6607: Added a check on directories filled in open_basedir option, by @mickaelandrieu.
  • 6664: Fix require files during install, by @maximebiloe.

Tests

  • 6685: Chrome54 is not available on webdriver.io yet, by @mickaelandrieu.

See all the PRs merged into the ‘develop’ codebase since the last Core Weekly here.

Code changes in ‘1.6.1.x’ branch (for 1.6 patch versions)

Back office

  • 5831: Take order state unremovable flag into account. Thank you @erouvier29!
  • 5847: Fix partial refund cart rules tax method. Thank you @shaffe-fr!
  • 5965: Align select in table headers. Thank you @mcdado!
  • 5998: Fix admin tabs saving. Thank you @123monsite-regis!
  • 6457: Update sample csv customer file, by @aleeks.
  • 6514: Fix translations match regular expression in AdminTranslationsController. Thank you @casper-o!
  • 6621: Fix missing translations count on AdminTranslations BO Page. Thank you @firstred!
  • 6626: Fix detection of APCu on Performance page. Thank you @firstred!
  • 6630: Automatically fill link_rewrite on new CMS category page. Thank you @firstred!
  • 6631: Fix filtering on state in monitoring BO page. Thank you @firstred!
  • 6634: Fix multilang link rewrite import. Thank you @firstred!
  • 6643: Fix duplicate rows in product listing. Thank you @123monsite-regis!
  • 6651: Prevent default category to be reset when already defined during import. Thank you @firstred!

Core

  • 5570: Fix isAllProductsInStock calculation. Thank you @firstred!
  • 6190: Fix link to product in shopping cart. Thank you @firstred!
  • 6616: Fix Db PDO getBestEngine. Thank you @firstred!
  • 6623: Remove index.php in upload folder. Thank you @firstred!
  • 6636: Fix feature update parent call. Thank you @firstred!
  • 6652: Fix processing large messages from IMAP. Thank you @firstred!

Installer

  • 6159: Add zipcode formats for Afghanistan and Egypt. Thank you @enumag!
  • 6663: Fix require files during install, by @maximebiloe.

See all the PRs merged into the ‘1.6.1.x’ codebase since the last Core Weekly here.

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @123monsite-regis, @antho-girard, @casper-o, @ecomm360, @enumag, @erouvier29, @firstred, @ginodev, @hiousi, @idnovate, @jd440, @jherry, @kermes, @kioob, @kpodemski, @m03g, @maidmaid, @martinfojtik, @mcdado, @n-wouda, @nobodaddy, @okom3pom, @phpmadman, @pkshetlie, @pranid, @prestamodule, @prestanesia, @shaffe-fr, @turtl3, and @zuzul!! Special thanks to @firstred for all those PRs he contributed :)
Also, 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!


The Integration Fund explained by the team and its contributors

$
0
0

Still not sure what the Integration Fund is? Take a look at this video:

It is still time to get involved

We are very proud of all the contributors we have funded until now. Together, we are building the ecommerce of tomorrow, in the spirit of WeCommerce.

But you know the old saying, the more the merrier :) We still have funds to allocate to many local modules.

Do you want to develop a local module in one of the spots below where you see a target? Stop everything and apply now :)

Integration fund module opportunities

PrestaShop Core Weekly - Week 42

$
0
0

This edition of the Core Weekly report highlights changes in PrestaShop’s core codebase during the previous week, from Monday 17th to Sunday 23rd of October 2016.

General messages

PrestaShop 1.7 development is focusing on fixing blocking, critical or major issues:

Are your modules 1.7-ready? Have you tried to create a 1.7 theme? Check the tech doc!

You can find an up-to-date thread about the 1.7 development in the forum.
And the 1.7 Project FAQ is always available here: http://build.prestashop.com/news/prestashop-1-7-faq/.

Code changes in ‘develop’ branch (for version 1.7.0.0)

Let’s review the merged pull-requests on the ‘develop’ branch since the last Core Weekly Report!

Front office (including the default theme, named “Classic”, based upon the Starter Theme)

  • 6656: Rework asset management, by @julienbourdeau.
  • 6674: Fix ajax refresh for listing pages, by @julienbourdeau.
  • 6691: Allow to display a full width menu. Thank you @prestamodule!
  • 6728: Allow JS to get $product. Thank you @simonchik!
  • 6733: Keep sending email if legacy lang file not found, by @julienbourdeau.

Back office

  • 3915: Removed _includeContainer ; never more used. Thank you @prestamodule!
  • 4452#: Fix advanced stock manager that prevented admin from removing stock quantity. Thank you @michaelhjulskov!
  • 6668: Fixed security problem on translation interface, by @aleeks.
  • 6677: Fix links to legacy module page, by @julienbourdeau.
  • 6678: Fixed errors on product form & duplicate menu, by @aleeks.
  • 6690: Provided with theme translations and overrides, by @thierrymarianne.
  • 6693: Remove wrong module from module page, by @fatmabouchekoua.
  • 6695: Added email translation on BO, by @aleeks.
  • 6698: Fix bulk actions on module page, by @quetzacoalt91.
  • 6700: Add js strings of module page to translations, by @quetzacoalt91.
  • 6702: Fixed Employees back-office default page. Thank you @antho-girard!
  • 6705: Fix broken links related to token on module page, by @quetzacoalt91.
  • 6711: Fixed show price display on Customer Groups back office, by @mickaelandrieu.
  • 6714: Fixed translation BO Emails, by @aleeks.
  • 6715: Wording update - remove ‘CMS’ to use ‘page’ only, by @alexeven.
  • 6721: Fixed generate htaccess, by @aleeks.
  • 6724: Integrate edit translations view, by @thierrymarianne.
  • 6725: Fix logo display in customer groups, by @maximebiloe.
  • 6731: Fix fatal in 5.4 due to concatenate in declaration, by @maximebiloe.
  • 6736: Fix broken element selection, by @thierrymarianne.

Core

  • 6319: Improved password hashing. Thank you @firstred!
  • 6523: Add current robots.txt content in controller, by @quetzacoalt91.
  • 6647: Added position default 1 to registerHook, by @aleeks.
  • 6676: Make encryption system backward compatible with old 0.98 openssl versions, by @mickaelandrieu.
  • 6682: Fixed search alias for a namespace from a empty string. Thank you @true0r!
  • 6684: Added prestashop version to exceptions, by @aleeks.
  • 6688: Enable cache on guzzle requests, by @quetzacoalt91.
  • 6692: Clear 1.7.0.0.sql. Thank you @martinfojtik!
  • 6701: Let developer export themes easily, by @julienbourdeau.
  • 6709: Use _PARENT_THEME_NAME_ constant for consistency. Thank you @hubiktomas!
  • 6718: Add two new hooks actionAttributeCombinationSave/Delete, by @quetzacoalt91.
  • 6720: Add or update language with the new packs, by @maximebiloe.
  • 6726: Cleared cache when enable a theme, by @aleeks.
  • 6729: Fixed constant array, by @aleeks.
  • 6730: Move clear cache on controller (theme update), by @aleeks.
  • 6732: Ignore node modules on theme export, by @julienbourdeau.
  • 6735: Update default catalog, by @maximebiloe.
  • 6739: Fix changed namespace, by @maximebiloe.

Installer

  • 6531: Fix 1.6 -> 1.7 migration ; add a few class stubs, by @jocel1.
  • 6649: Escaped percentage in parameters, by @thierrymarianne.
  • 6716: Made the open base dir works as expected, by @mickaelandrieu.
  • 6719: Moved array_walk for $parameters. Thank you @ecomm360!

Tests

  • 6708: Made browser configurable for testing, by @mickaelandrieu.

See all the PRs merged into the ‘develop’ codebase since the last Core Weekly here.

Code changes in ‘1.6.1.x’ branch (for 1.6 patch versions)

And now, the merged pull-requests on the ‘1.6.1.x’ branch since the last Core Weekly Report!

Core

  • 6704: Fix advanced stock manager that prevented admin from removing stock quantity. Thank you @michaelhjulskov!
  • 6727: Do not overwrite mail files when installing new language, by @maximebiloe.

See all the PRs merged into the ‘1.6.1.x’ codebase since the last Core Weekly here.

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @antho-girard, @ecomm360, @firstred, @hubiktomas, @michaelhjulskov, @prestamodule, and @simonchik!

Also, 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!

Release of PrestaShop 1.6.1.8

$
0
0

PrestaShop 1.6.1.8 is now available. This maintenance release has seen 20 pull requests since version 1.6.1.7 (released on September 6th).

Continuing on our promise to support 1.6 with patch releases, we are happy to deliver this new version and to continue making sure that 1.6 remains stable and safe for PrestaShop merchants. Community member @firstred helped us pick the most interesting/urgent pull-requests to include in this release: thank you Michael!

Download 1.6.1.8 now!

Current issue when creating/editing a product in PS 1.5 and 1.6

While we were packing version 1.6.1.8 for QA testing two weeks ago, version 54 of the Google Chrome browser was released. This is a significant update of this major browser, because it removes the ability to make synchronous XMLHttpRequest calls– a method which is used in PrestaShop 1.5 & 1.6’s Product Creation page.

In effect, this makes it impossible to create or edit a product in all versions of PrestaShop 1.5 and 1.6. While this problematic behavior is not a bug from PrestaShop but a design decision from the W3C/WHATWG standards bodies (applied by browser vendors after time of deprecation), all PrestaShop merchants might witness issues once the Chrome browser auto-updates to its latest version.
Furthermore, other browsers should soon follow suite: Firefox has also deprecated the async parameter. We do not have yet an ETA for other browsers.

The PrestaShop Core team is aware of the situation, and is publicly working on this issue: here is the Forge ticket, and here is the current pull request. Please help us test the current fix! Let’s make sure, together, that it does fix the issue for everyone!
Also, make sure that your modules and themes DO NOT make use of synchronous XHR calls! Learn how here!

PrestaShop 1.6.1.8 does not contain the fix. We are planning for a quick v1.6.1.9 with this fix in place – this way we can focus our QA testing for this version to just this issue. That forthcoming release will also explain how to patch previous versions of PrestaShop.

While we are working on the issue, you should be able to have your Product Creation page work again by installing Chrome 53 and setting it to not make automatic upgrades.

The usual

As the version number indicates (as per our SemVer-like versioning), this is the 8th 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:

  • BO: Admin can now remove quantity from Advanced Stock Manager.
  • BO: Unremovable order states are now really unremovable.
  • BO: Partial refund cart rules tax method is improved.
  • BO: Sample customers_import.csv now works as expected.
  • CO: Ability to save large messages from IMAP.
  • CO: isAllProductsInStock calculation is improved.
  • IN: Zipcode formats for Afghanistan and Egypt have been added.
  • …and several other fixes.

The PrestaShop 1.6.1.8 changelog is available.

Since version 1.6.1.8 is a “patch” update to version 1.6.1.0, upgrading from that version 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.8.

The contributors

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

  • @123monsite-regis
  • @Casper-O
  • @aleeks
  • @enumag
  • @erouvier29
  • @firstred
  • @maximebiloe
  • @mcdado
  • @michaelhjulskov
  • @shaffe-fr

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

Onwards!

Let’s go, upgrade your store(s)! Upgrading from 1.6.1.0-1.6.1.7 is completely safe, upgrades from a standard 1.6.0.x version should work just as well, and 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!

PrestaShop 1.7.0.0 RC3: Getting there!

$
0
0

We’re getting closer! With this new Release Candidate, we deliver a strong RC, which is closer than ever to our quality objectives.

A lot has been done to stabilize and enhance most of the details of the future version 1.7.0.0, and we expect you to be able to work with it as if it was a regular release. Are you feeling it? :)

Test PrestaShop 1.7.0.0 RC3 now!

Found an issue? Create a Forge ticket!

What’s new in RC3?

In the two weeks since RC2, here is what landed in the codebase:

  • Many many bugfixes and performances improvements!

See at the bottom of this article for the full list.

How far are we from a stable 1.7 release?

We know many of you are waiting for The Answer: when is 1.7.0.0 going to be released? We know it is important to all professionals: merchants waiting to use the new features, agencies waiting to start selling 1.7 projects, developers and designers waiting to sell their creations on the Addons marketplace…

Our answer remains the same: we want to release a quality 1.7. And we’re getting there!

So, what’s next?

Granted no major issue arises from the QA tests around this RC3, well, let’s just say that things could heat up sooner that later ;)

Thank you to our contributors!

This wouldn’t be a community project without pull-requests from our contributors:

@ecomm360, @prestamodule, @martinfojtik, @hubiktomas, @firstred, @true0r, @Nobodaddy. Thank you all!

This doesn’t take into account all those who are active even without code changes: comments on PR, tickets on the Forge, translations on Crowdin, etc. PrestaShop is better thanks to you all!

Full list of changes between RC1 and RC2

Here is the whole deal:

  • Back Office:
    • New feature:
      • 6675: New keyboard shortcut in product page
    • Improvement:
      • 6724: Integrate edit translations view
      • 6715: Wording update - remove ‘CMS’ to use ‘page’ only
      • 6683: Reuse SQL result for module history
      • 6629: Automatically fill link_rewrite on new CMS category page (1.7)
      • 6467: Fixed wording AdminInvoicesController.php
      • 6586: Remove PS_LOGO_MOBILE variable from AdminThemesController
      • 6602: Ensured product has default combination
      • 6600: Add translation domains to Adv. param controllers 1
      • 6603: Make customer required fields translatable
      • 6589: Wording update - ‘Attachment’ becomes ‘Files’
      • 6583: Improve label wording for cart rule creation
    • Bug fix:
      • 6736: Fix broken element selection
      • 6731: Fix fatal in 5.4 due to concatenate in declaration
      • 6725: Fix logo display in customer groups
      • 6721: Fixed generate htaccess
      • 6690: Provided with theme translations and overrides
      • 6700: Add js strings of module page to translations
      • 6714: Fixed translation BO Emails
      • 6678: Fixed errors on product form & duplicate menu
      • 6693: Remove wrong module from module page
      • 6711: Fixed show price display on Customer Groups back office
      • 6668: Fixed security problem on translation interface
      • 6695: Added email translation on BO
      • 6702: Fixed Employees back-office default page
      • 6677: Fix links to legacy module page
      • 6705: Fix broken links related to token on module page
      • 6698: Fix bulk actions on module page
      • 6686: Bring back addon card on search
      • 6670: Fixed call to action buttons in Read More
      • 6667: Fix the combinations bulk action with TI price
      • 6666: Module page small fixes
      • 6687: Fix “back” link in module configuration page
      • 6658: Do not fallback on english value on translation page and tokenize the edit URL
      • 6665: Fixed title CMS page KO
      • 6661: Fix the product quantity selector
      • 6662: Fix the final retail price update
      • 6614: Fix module import
      • 6632: Fix filtering on state in monitoring BO page
      • 6659: Fixed hint tooltip on template
      • 6606: Fixed wording for BO
      • 6654: Fix the customer threads status change
      • 6650: CSV Import: Prevent default category reset when already defined (1.7)
      • 6657: Fixed feature change ajax
      • 6655: Fix the caption display language on the product page
      • 6633: Fix multilang link rewrite import (1.7)
      • 6645: Fix menu layout for IE
      • 6646: Fixed string additional (hook, sql)
      • 6644: Fixed hook position display
      • 6529: Disabled module and product actions in demo
      • 6642: Added tab ids to navigation menu
      • 6601: Fixed add/edit click quick access on 2 system controllers
      • 6612: Fixed positions dragable on list
      • 6637: Fixed retrieval of customer KPI
      • 6639: Fixed link to product in order
      • 6638: Fix double slash for supplier combination request
      • 6546: Fixed wording for BO
      • 6592: Fixed missing button when adding countries in a taxe rule
      • 6593: Fixed hint tooltip on template
      • 6539: Check parent permissions when not ticked
      • 6568: Fixed attribute color picker in BO
      • 6596: Fixed newsletter, optin, shop columns
      • 6587: Fix theme preview in BO
  • Front Office:
    • Improvement:
      • 6656: Rework asset management
      • 6691: Allow to display a full width menu
      • 6609: Move facets update behaviour
      • 6547: Rendered manufacturer in product details
    • Bug fix:
      • 6733: Keep sending email if legacy lang file not found
      • 6728: Allow JS to get $product - thanks @Simonchik
      • 6674: Fix ajax refresh for listing pages
      • 6660: Fixed minimal quantity check in cart
      • 6509: Separate gifts from product manually added
      • 6648: Fix flags position on product page
      • 6605: Fix combination selection in StarterTheme
      • 6540: Fixed vouchers values rendering
  • Core:
    • Improvement:
      • 6718: Add two new hooks actionAttributeCombinationSave/Delete
      • 6692: Clear 1.7.0.0.sql
      • 6701: Let developer export themes easily
      • 6319: Improved password hashing
      • 6688: Enable cache on guzzle requests
      • 6622: Remove index.php in upload folder
      • 6235: Improve validator birthday date
      • 6559: Doc + update Upgrader class
      • 6560: Doc + update Supplier class
      • 6561: Doc + update Tab class
      • 6617: Simple ObjectModel performance improvement
      • 6569: Doc + update Risk class
      • 6562: Doc + update Tag class
      • 6552: Doc + update Zone class
      • 6565: Doc + update Store class
      • 6573: Doc + update ProductDownload class
      • 6575: Doc + update ProductSale class
      • 6580: Doc + update RequestSql class
      • 6558: Doc + update Translate class
      • 6556: Doc + update Uploader class
      • 6571: Doc + update ProductAssembler class
      • 6577: Doc + update Profile class
      • 6579: Doc + update Referrer class
      • 6564: Doc + update State class
      • 6555: Doc + update TranslatedConfiguration class
    • Bug fix:
      • 6735: Update default catalog
      • 6732: Ignore node modules on theme export
      • 6523: Add current robots.txt content in controller
      • 6730: Move clear cache on controller (theme update)
      • 6729: Fixed constant array
      • 6726: Cleared cache when enable a theme
      • 6720: Add or update language with the new packs
      • 6709: Use PARENT_THEME_NAME constant for consistency
      • 6684: Added prestashop version to exceptions
      • 6676: Make encryption system backward compatible with old 0.98 openssl versions
      • 6647: Added position default 1 to registerHook
      • 6682: Fixed search alias for a namespace from a empty string
      • 6635: Fix feature update parent call
      • 6618: Invalidate Product cache on time
      • 6608: Fix wrong domains
      • 6542: Added intl requirements

Parting words

Ready? Set? Go! Create new themes and update your modules! :)

Thank you for your feedback!

PrestaShop 1.7 & performances

$
0
0

With PrestaShop 1.7, our main purposes were to improve the user experience on the Product Creation page and the Modules page, and also to make it easier to create a front office theme.

As you may know, version 1.7 now includes the Symfony2 framework. If you were afraid that it may slow PrestaShop down, be sure we wanted to avoid that and even do better than PrestaShop 1.6.1.x in terms of Performances! In order to prove that, here are a few statistics.

To make the comparison, we took PrestaShop 1.6.1.7 and PrestaShop 1.7 from GitHub, with data from a real shop:

  • 1,827 categories
  • 10,843 cart rules
  • 1,904 products
  • 2 million product attributes
  • 16.5 million attribute

The server configuration used is the same as in our v1.6.1.0 performances article from July 2015.

Front office

Why is it interesting to compare the front office performances? Because we made a lot of changes there!

We have completely rewritten the .tpl files as well as many of the front controllers. We also changed the way assets are managed. For instance, there is now only one CSS file and only one JS file by default for the theme, in order to reduce the number of HTTP requests. Modules can always load their own CSS files, and it’s up to theme developers to compile the assets (using Webpack, for instance).

Let’s look at some figures comparing PrestaShop 1.6.1.7 and PrestaShop 1.7.0.0 RC3:

 1.6.1.7
(default-bootstrap)
1.7.0.0 RC3
(classic)
Results
Number of lines
php84375795-31%
tpl109024799-56%
js745218181+143%
css144498196-43%
Number of files
tpl69115+88%
js241-96%
css231-95%
Size of files (kb)
js314698+122%
css385224-42%

While showing the number or size of PHP files is not a very useful in terms of performances, the decrease in number of PHP files shows that team has worked hard in simplifying controllers and removing old code.

Likewise, the size of TPL files does not speak much in terms of performances since they will be compiled, but the increase of their number shows they are better subdivised.

By removing and rewriting a lot of code lines, we have succeeded in getting the following results to load these front office pages:

Homepage

We can see here an increase of server memory consumption (+33%) and loading time (+48%, but it’s just 40 milliseconds :wink:).

1.6.1.71.7.0.0 RC3
Perfs home - 1.6 Perfs home - 1.7

It’s not necessarily a bad thing because we know where it comes from and it’s for the best: we now send the same product on every page type, with the same data (product listing, product page, cart, etc.). Thus, we now have a consistency of product data available across all pages, and we can now focus on optimizing that part.

Also, we now load all the CSS files for the entire website. The homepage is the first one we see, which explains why the loading time is higher here. It will be faster afterwards, since the necessary JS and CSS files are from now on in the browser cache.

Category page

1.6.1.71.7.0.0 RC3
Perfs category - 1.6Perfs category - 1.7

Here the results are almost even, except for a slight increase of server memory consumption (+9%). The reason for this is the same as on the homepage: we now load all the products’ data.

Product page

1.6.1.71.7.0.0 RC3
Perfs product - 1.6Perfs product - 1.7

It’s the most important part, the one you want to be indexed by the search engines. We are 17% faster, which may improve your SEO ranking.

Globally, the number of rendered pages in 20 seconds with a variable number of connections have been increased.

Perfs 1.6 Vs 1.7

Product page in back office

The front office was not our only focus. We wanted to put a definitive end to the “spinning save button” issue on the Product Creating page, which was caused by the loading of all the product’s combinations.

To prevent that, we chose to load the combinations 5 by 5 in Ajax. You can still edit the loaded combinations even if they are not all loaded the bulk action is simply disabled while the rest of the combinations are loading.

Modules page

Because we completely reworked the Modules page, we can’t easily compare with the 1.6 version of this page.

Nevertheless, we improved the behavior when the user is trying to install a module causing a fatal error: simply put, it shouldn’t break your shop anymore! PrestaShop now analyzes the code to detect parsing errors, and if an error occurs during the installation, the module will be kept on your disk but it won’t be installed.

What to make of this

One of our objectives with 1.7 and its technical changes (the inclusion of the Symfony, the new way Themes work, etc.) was to give users AT LEAST the same performances on the three upgraded areas: the front office, the Product Creation page, and the Modules page.

As the above graphics show you, we mostly succeeded in having not only equal, but sometimes BETTER performances overall! There are situations where the percentage are slightly not in our favor, but they can be explained by features in favor of developers, and therefore, in the end, in favor of merchants and users.

We’re not done improving the performances of PrestaShop 1.7.0.0, and we’ll keep looking at bottlenecks in order to fix them!

Viewing all 938 articles
Browse latest View live