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

Do you speak PrestaShop? – September 2017 edition

$
0
0

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

Crowdin Monthly banner

Project news

Get ready for version 1.7.3.0

We’re still working on version 1.7.3. It means an update of the content source on Crowdin will be available very soon, we’ll let you know when it’s ready for you to translate!

1.6 Validation

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

A few stats

  • 23 members were active on the project this month.
  • A total of 11,436 words have been translated and 14,496 validated.
  • All this in 6 different languages.

Thank you for your involvement!

Top contributors

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

Top 10 translators in September:

 TranslatorLanguage# Words
1.SeongHyeon Cho (jaymz9634)Korean3,703
2.Luis Sanchez (sanchezluys)Spanish, Venezuala2,380
3.Yuji Sugimoto (bm-sugi)Japanese1,430
4.Anna4Georgian950
5.Daniel Valente (dgv)Portuguese, Brazil696
6.Yisrael Dov Lebow (yisraeldov)Hebrew608
7.Watcharaphong Khongphet (wizardzx)Thai528
8.Danni Afasyah (prestanesia)Indonesian341
9.xanvieiroGalician288
10.Jesús Ruiz (jruiz)Spanish187

Top 10 proofreaders in September:

 ProofreaderLanguage# Words
1.Tomáš Hink (tomas254)Czech4,214
2.Danni Afasyah (prestanesia)Indonesian3,857
3.SeongHyeon Cho (jaymz9634)Korean3,857
4.Yuji Sugimoto (bm-sugi)Japanese1,775
5.Daniel Valente (dgv)Portuguese, Brazil904
6.Jesús Ruiz (jruiz)Spanish190
7.Saeed Sattar Beglou (saeedsb)Persian125
8.M. Mirena (mmirena)Albanian114
9.SkaZun (raidhunters)Ukrainian39
10.DaoKakaoRussian37

Congrats, and welcome to our new top contributors!

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

Complete translations

Fully translated languages

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

BulgarianCroatianDanishDutch
EnglishFrenchFrench, CanadaGerman
GreekItalianIndonesianLithuanian
NorwegianPersianPolishPortuguese, Brazil
RomanianRussianSlovakSlovene
SpanishSwedishUkrainian 

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

CroatianCzechDanishEnglish
FrenchGreekIndonesianItalian
LithuanianPolishRomanianRussian
SlovakSloveneSpanishSwedish
Ukrainian   

Languages with the best evolution

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

  • Spanish, Mexico (+5% to reach 15% translated in 1.7)
  • Korean (+4% to reach 42% translated in 1.7)
  • Japanese (+3% to reach 92% translated in 1.7)

Best translation progress for September 2017

Thanks to all the contributors!

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

Languages that need (more) proofreaders

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

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

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

  • Korean (42% translated vs 12% validated in 1.7).
  • Portuguese, Brazil (100% vs 81% in 1.7).
  • Arabic (53% vs 39% in 1.7).
  • Spanish, Mexico (52% vs 38% in 1.7).
  • Catalan (93% vs 80% in 1.7).

Languages that need proofreading

If you wish to help to proofread what has been translated, please contact us with the language you’d like to proofread. We need your help!

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

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

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


PrestaShop Core Weekly - Week 41 of 2017

$
0
0

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

Core Weekly banner

General messages

No doubt that you are already aware of it as you read each article as soon as published (right?) but let us say it again : PrestaShop 1.7.2.3 is now available! It contains numerous fixes, all listed here that will help all features, modules and themes to work better. We wait for your feedback!

Finally, the last edition of the translation report should be put online very soon… stay connected to know how PrestaShop evolved in September!

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

Core

  • #8261: CustomerAddressFormCore validation was not working fine with hook…. Thank you @yuxblank!
  • #8307: Fix bug js and css cache file name don’t change. Thank you @prestarocket!
  • #8392: Improved loading of translations, by @mickaelandrieu.
  • #8407: Fixing missing employee in ModuleManagerBuilder, by @quetzacoalt91.
  • #8410: Improve getContextualValue performances by reducing the number of calls to getOrderTotal, by @jocel1.

Back office

  • #8269: Refacto of module permission checks, by @quetzacoalt91.
  • #8372: Migrate Modules Catalogue page to Symfony, by @mickaelandrieu.
  • #8385: Wording for 1.7.3, by @alexeven.
  • #8395: Add translation domains to legacy templates, by @alexeven.
  • #8406: BO: fix low-stock display, by @tomlev.
  • #8414: Fix the button of add a new customization field in the product page. Thank you @azouz-jribi!

Web service

  • #8393: Remove obsolete unescaping on JSON output, by @eternoendless.

Test

  • #8379: Tests have now their own database, and the database is properly regenerated at the initial state before each test, by @jocel1.

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @azouz-jribi, @prestarocket, @yuxblank!

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.7.2.4

$
0
0

PrestaShop 1.7.2.4 is now available. This is security release for all previous versions of PrestaShop 1.7.

It was recently reported to the Core team that the PrestaShop front office leaked some sensible cart product details, among which wholesale and supplier.

The issue was introduced by a PR merged in February 2017. Therefore, the issue impacts versions 1.7.1.0 to 1.7.2.3 of PrestaShop.

If you are currently using PrestaShop 1.7, we strongly advise you to upgrade to v1.7.2.4 immediately!

Download PrestaShop 1.7.2.4 now!

Thank you the Befox.fr team and @paeddl for reporting the issue and suggesting wordarounds, and to Core members @eternoendless and @kompilorb for tracing down the issue and fixing it.

A reminder on responsible disclosure

Responsible (and private) disclosure is a standard practice when someone encounters a security problem: before making it public, the discoverer informs the Core team about it, so that a fix can be prepared, and thus minimize the potential damage.

The PrestaShop team tries to be very proactive when preventing security problems. Even so, issues might surface without notice.

This is why we have set up the security@prestashop.com email address: anyone can privately contact us with all the details about issues that affect the security of PrestaShop merchants or customers. Our security team will answer you, and discuss of a timeframe for your publication of the details.

Understanding a security issue means knowing how the attacker got in and hacked the site. If you have those details, then please do contact us privately about it (and please do not publish those details in public, including the Forge!). If you do not know how the attacker got it, please ask for help on the support forums.

What is PrestaShop’s process for dealing with security issues?

Thanks to our strict use of a SemVer-like versioning scheme, we feel confident that the patch versions of PrestaShop 1.7 are very easy upgrades for all users. Patch versions are for backwards-compatible bug fixes and security issues, and security fixes are to be released as soon as they are fixed.

At PrestaShop, we remain attached to keeping your stores and customers safe, and we take security very seriously. Thank you for your understanding of the issue that affects us today – and thank you for the swift update of all the stores you are responsible for!

PrestaShop Core Weekly - Week 42 of 2017

$
0
0

This edition of the Core Weekly report highlights changes in PrestaShop’s core codebase during the last week, from Monday 16th to Sunday 22nd of October 2017.

Core Weekly banner

General messages

Lots of news lately! We made a quick interview of Sullivan Sénéchal, one of PrestaShop’s contributor, in which he talks about his work on open-source projects and also explains why he got involved with PrestaShop.

Our September edition of the translation report is online and the result is : translation and validation keep on making projects grow, especially in the Korean and Spanish, Mexico languages, and that is great news… thanks!

Last but not least, PrestaShop 1.7.2.4 is available since some leaks has been spotted in versions 1.7.1.0 to 1.7.2.3. So we strongly advise you to get this version as soon as possible, it will help avoiding these issues.

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

Core

  • #8209: Remove useless call to addRoute for multilanguages shops, by @jocel1.
  • #8415: Remove product description length limit. Thank you @maxime-aknin!
  • #8417: fix missing cache invalidation in the backoffice, by @jocel1.

Back office

  • #8326: Fix stock design, by @nihco2.
  • #8396: Send an email on low stock, by @tomlev.
  • #8413: Empty default label for product configuration, by @tomlev.

Front office

  • #8408: FO: Missing name attribute form date fields. Thank you @djbuch!

Test

  • #8264: Improve performance of subselect query when fetching attributes of current group. Thank you @nache!

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @djbuch, @maxime-aknin and @nache!

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 Core Weekly - Week 43 of 2017

$
0
0

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

Core Weekly banner

General messages

1.7.3.0 is for soon, folks! We know we’ve been talking about it a lot lately but the code should be freezed in the next days, meaning a release planned for December. We’re still working on it but you can already have a look at its code to try it out!

Also, end of last week was full of weird blue elephpants soft toys for us, maybe you know what we mean… Indeed, it was the AFUP’s annual conference in Paris, and it was covered by our dream team of developers, @eternoendless, @Quetzacoalt91 and @tomlev! And we can tell they came back from the PHP Forum with a lot of tips and ideas regarding all of the PHP and open-source communities. So keep in touch, no doubt they will share some parts in here.

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

Core

  • #8432: CO: Fix fatal $sql_values string to array. Thank you @marekhanus!
  • #8362: Fixed bug in Access::getRoles(). Thank you @yolandavdvegt!
  • #8279: Migrate Performance page to Symfony, by @mickaelandrieu.

Back office

  • #8438: Fixed product url preview, by @mickaelandrieu.
  • #8421: Module page quicks, by @quetzacoalt91.
  • #8391: Fixed missing translations of Information System page, by @mickaelandrieu.
  • #8271: Add multiple feature with the same type but different values to product, by @fatmabouchekoua.
  • #8097: Fix save carrier with invalid ranges. Thank you @azouz-jribi!

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

Front office

  • #8433: Fix product information leak on the front office, by @kompilorb.

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @azouz-jribi, @marekhanus and @yolandavdvegt!

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

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

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

Happy contributin’ everyone!

Contributor interview: David-Julian Buch

$
0
0

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

Hi David-Julian! First, could you tell us a bit about yourself?

I’m a 30 years-old Supaéro engineer in web development. I’ve created my own web agency in 2015. Before that, I worked freelance on e-commerce projects. A field of expertise which allows me to go with and advise more than 30 merchants in the short or the long term, such as fleursdedragees.com, phyto-one.com, huiles-et-sens.com, sobreal.fr, etc.

I’ve been working with PrestaShop since 2010 and its version 1.3. I also work on more specific developments in order to create custom-made tools/web applications for my clients, and for that I use Yii2 PHP framework.

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

I got involved in the PrestaShop project with version 1.4, mostly to fix bugs and make changes to the problems my clients ran into. Once fixed, I share my solutions with the community so that everybody can benefit from my little discoveries.

My goal is to help getting a more and more powerful, successful and scalable e-commerce solution, useful for me to offer my clients the best e-commerce websites.

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

Follow the golden rules enacted by PrestaShop, sometimes it is not that obvious but it allows everybody to contribute and create structured pull requests. Avoid making pull requests after issues that have already been solved. If you think you can get a better solution, leave a comment within the pull request to suggest improvement.

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

What I’ve learnt when using versioning tool GitHub is that it helps me contributing to Open Source projects as well as enhancing in-house development process.

Thank you David-Julian, we hope to see more from you as PrestaShop evolves!

PrestaShop Core Weekly - Week 44 of 2017

$
0
0

This edition of the Core Weekly report highlights changes in PrestaShop’s core codebase during the last week, from Monday 30th of October to Sunday 05th of November 2017.

Core Weekly banner

General messages

Pretty big week for pull requests! A lot of improvement has been made on GitHub for the source code of PrestaShop to get better, more powerful… Speaking of it, we published a quick interview last week, introducing David-Julian Buch, one of our contributor, who declares contributing to PrestaShop through GitHub “helps me contributing to Open Source projects as well as enhancing in-house development process”. And it’s a nice thing to hear!

As for Crowdin, the last edition of our montly translation report should be put online in the next few days to keep you posted about how PrestaShop evolved in October. Stay tuned because a lot has been done lately, thanks to all contributors!

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

Core

  • #8381: Remove risky and useless sprintf() calls, by @quetzacoalt91.
  • #8403: Optimise shipping cost computation, by @jocel1.
  • #8409: Improve cache, by @jocel1.
  • #8441: CO: use DISTINCT in query to improve uninstall() method in Module class. Thank you @soee!
  • #8453: CO: Improve order presenter performance. Thank you @sarjon!
  • #8465: [CO] Remove useless method from Customer class. Thank you @tonyyb!

Back office

  • #8419: Product Page - Shipping: delivery times, by @kompilorb.
  • #8436: Fixed invalid selector on feature removal (Product page), by @mickaelandrieu.
  • #8440: Invalid path to look at config.defines.inc file permissions, by @mickaelandrieu.
  • #8451: Fix several UI problems, by @eternoendless.
  • #8452: Catalog controler wrongly use by default desc sorting instead of “last”, by @jocel1.
  • #8456: Fix JS error on Performance page, by @quetzacoalt91.

Front office

  • #8348: Fix SQL error when product search starts with an hyphen, by @quetzacoalt91.
  • #8416: Display properly ps_linklist on classic with widgets, by @quetzacoalt91.
  • #8425: Use regexp instead of simple explode for complex attributes in CartPresenter, by @quetzacoalt91.
  • #8435: Fixed bug where invalid address message is displayed only for billing address even if both are invalid, by @littlebigdev.

Test

  • #8364: Test cart, by @tomlev.

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @sarjon, @soee and @tonyyb!

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? – October 2017 edition

$
0
0

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

Crowdin Monthly banner

Project news

Newcomer

As some already know, Alexandra has left PrestaShop at the beginning of October. So here I am, walking in her footsteps as a Product Content Manager, in charge of the translation projects on Crowdin and of Build’s editorial… A brand new adventure I’m glad to be part of!

1.7.3 is out for translation

It has arrived, finally! We are now entering code and string freeze in order to pave the ground for a solid and reliable new minor version. It should be release in a month or so - we will let you know! Regarding the translation projects, it means new that strings cannot be added but also that the 1.7.3 has appeared, containing fresh strings ready to be translated and then approved by you all! A more detailed blog post will be published very soon, meanwhile you can start working on the 1.7.3 version. Yippie yeah!

A few stats

  • 34 members were active on the project this month.
  • A total of 14,318 words have been translated and 11,875 validated.
  • All this in 8 different languages.

Thank you for your involvement!

Top contributors

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

Top 10 translators in October:

 TranslatorLanguage# Words
1.SeongHyeon Cho (jaymz9634)Korean4,287
2.M. Mirena (mmirena)Albanian2,849
3.Yosef Esses Cohen (ppesses)Spanish, Mexico1,915
4.hakon_mbrIcelandic852
5.Rodolfo Aguirre (rod001)Spanish, Mexico758
6.N. Emre YILMAZ (isteyin)Turkish471
7.Ivan Botero (ivan.botero)Spanish, Colombia470
8.Cha (cafetango)Chinese Traditional396
9.Jesús Ruiz (jruiz)Spanish263
10.yumotrueChinese Traditional223

Top 10 proofreaders in October:

 ProofreaderLanguage# Words
1.SeongHyeon Cho (jaymz9634)Korean4,906
2.M. Mirena (mmirena)Albanian2,388
3.hakon_mbrIcelandic2,198
4.AmirRzdPersian1,074
5.Cha (cafetango)Chinese Traditional396
6.lyoNickHebrew289
7.Jesús Ruiz (jruiz)Spanish268
8.ThindFinnish103
9.Gerardas (gerardas)Lithuanian98
10.Stamatis (breezer)Greek47

Congrats, and welcome to our new top contributors!

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

Complete translations

Fully translated languages

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

BulgarianCroatianDanishDutch
EnglishFrenchFrench, CanadaGerman
GreekItalianIndonesianLithuanian
NorwegianPersianPolishPortuguese, Brazil
RomanianRussianSlovakSlovene
SpanishSwedishTurkishUkrainian

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

CroatianCzechDanishEnglish
FrenchGreekIndonesianItalian
LithuanianPolishRomanianRussian
SlovakSloveneSpanishSwedish
TurkishUkrainian  

Languages with the best evolution

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

  • Albanian (+6% to reach 27% translated in 1.7)
  • Icelandic (+4% to reach 5% translated in 1.7)
  • Spanish, Mexico (+3% to reach 56% translated in 1.7)

Best translation progress for September 2017

Thanks to all the contributors!

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

Languages that need (more) proofreaders

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

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

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

  • Korean (44% translated vs 16% validated in 1.7).
  • Spanish, Mexico (56% vs 37% in 1.7).
  • Portuguese, Brazil (100% vs 81% in 1.7).
  • Arabic (53% vs 39% in 1.7).
  • Catalan (93% vs 80% in 1.7).

Languages that need proofreading

If you wish to help to proofread what has been translated, please contact us with the language you’d like to proofread. We need your help!

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

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

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


PrestaShop Core Weekly - Week 45 of 2017

$
0
0

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

Core Weekly banner

General messages

Who wants good news? We finally made it to the code freeze last week, version 1.7.3 is almost ready, hands in the air! For that, the dev team is working hard on its features to make it steady; they are all fixing bugs to release version 1.7.3 in a few weeks. In other words, no pull requests will be reviewed until this release - and when 1.7.3 is out, PRs will pertain to 1.7.3.1.

And it is the same for Crowdin, new strings have been added to the catalog, relating to the 1.7.3 features. It is now time to focus on the 1.7.3 branch to see more PrestaShop projects reaching 100% of translation and approval! Last Crowdin monthly report, Do You Speak Prestashop?, noted that big progress applied to some languages such as the Albanian and the Icelandic, let’s keep on this good work to see your language(s) fully available!

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

Core

  • #8342: Make modules act like Symfony Bundles, by @mickaelandrieu.
  • #8402: CO: optimize cart rule performances, by @jocel1.
  • #8437: RTL, by @eternoendless.
  • #8455: Make urls available on maintenance & restricted country templates. Thank you @kpodemski!
  • #8459: CO: force query build arg_separator to &. Thank you @tonyyb!
  • #8460: CO: Validate::isDateOrNull() should accept ‘0000-00-00’. Thank you @shagshag!
  • #8467: RTL - Merge conflict, by @kompilorb.
  • #8470: Be able to identify a modern page in modules, by @mickaelandrieu.
  • #8483: Module name in order details data. Thank you @kpodemski!

Back office

  • #8378: Integration of PrestaTrust in module management, by @quetzacoalt91.
  • #8461: Fixing data duplication when using 1-click upgrade multiple times, by @littlebigdev.
  • #8472: Customized Debug toolbar with PrestaShop application information, by @mickaelandrieu.
  • #8479: BO: Removed old emailing category. Thank you @robbie-thompson!

Front office

  • #8447: Add cover to allowed properties in ajax requests. Thank you @iqit-commerce!

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

Test

  • #8290: Add functional tests on PS 1.6, by @quetzacoalt91.

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @iqit-commerce, @kpodemski, @robbie-thompson, @shagshag and @tonyyb!

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!

Video: From PHP Forum with love

$
0
0

Remember I told you about weird blue elephpants two weeks ago? You got it, it was our dream team of developers that attended the AFUP’s annual conference in Paris! As agreed, they came back with a lot to share on Build. Here, @tomlev will told you about Jean-François Lépine and the lecture he gave at the PHP Forum:

Is it necessary to make quality work?

“It was particularly stimulating because he put into words some intuitions you have when you’ve been doing web development for years.

When starting web development, a lot of developers first focus on technique, they want to code “clean”, etc. and it leads them to draw the same conclusion: each time a new developer arrives, he disapproves what has been done before and wants to change it all. But just take a small step back… then you realize it is useless to remove all the working parts of the source code. Even if they are not “state of the art” right now.

And this is exactly what I’ve learned from my experience, personally and professionally! Sometimes, you want to change parts of the code that seem to meet no actual standard (regarding quality, performance or even excellence). But you have to be careful, because these parts did meet these standards at the time they were created. It might not be the case now but it was back then! So yes, we could spend more time to make it better, nicer or with higher performance, but for now, at least it works.

Besides, another topic driven by Jean-François Lépine particularly draws my attention when he said it was necessary to focus on a small number of quality objectives (2 out of 20, to be specific) as attempting to achieve the others is totally pointless. When teams are well-coordinated on those 2 points, it allows a very much reliable assessment of the bug priority. Considering the multiple round trips between product, development and management teams for some requests, prioritize upstream is a great time-saving!”

A few words on Jean-François Lépine

Jean-François Lépine, @Halleck45, is greatly involved in software quality. He is a web consultant who wrote a couple of books on open-source, and he is regularly invited to give lectures at the AFUP’s annual conference. He also created PhpMetrics, a tool for PHP static analysis.

Note that the AFUP put videos of all lectures given at the last PHP Forum online, on their YouTube channel. How kind!

PrestaShop Core Weekly - Week 46 of 2017

$
0
0

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

Core Weekly banner

General messages

Again, a lot has been done this past week. And a lot is to come, especially the hooks of the product page which are under examination to be improved ! Most important information is that we migrated to Symfony 3, it has been merged in the ‘develop’ branch last week. Therefore our best advice is to update your PHP version because you will need at least PHP 5.6 for our version 1.7.4. It is better now than never !

Regarding PHP, and the AFUP’s annual conference, the good news is that all lectures has been put online on their YouTube channel. You don’t know which one to pick and watch ? Have a look at @tomlev’s choice, he introduced last Friday one of the great lectures he has been attended there : Is it necessary to make quality work?, by Jean-François Lépine.

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

Core

  • #8405: Update PrestaShop deps: Symfony3, PHP 5.6 and PHPUnit 5.7, by @mickaelandrieu.
  • #8486: Refactor code in ControllerCore and AbstractFormCore. Thank you @mnastalski!
  • #8488: CO: fix robots.txt, exclude order param. Thank you @prestarocket!
  • #8511: CO: Fix array declaration. Thank you @marekhanus!

Back office

  • #8244: Show installed module first. Thank you @christianverardi!
  • #8481: BO: don’t display error if AdminShopGroup doesn’t exist, by @rgaillard.

Front office

  • #8474: Allow developers to add items to breadcrumb from tpl. Thank you @kpodemski!

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

Core

  • #8454: Clean the DB after language delete. Thank you @azouz-jribi!

Back office

  • #8444: Update marketplace URL to http(s). Thank you @colonelmoutarde!
  • #8449: Update marketplace URL to http(S). Thank you @colonelmoutarde!

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @azouz-jribi, @christianverardi, @colonelmoutarde, @kpodemski, @marekhanus, @mnastalski and @prestarocket!

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!

Uncle Build wants you!

$
0
0

Dear readers, followers, developers, translators, PrestaShopers from all sides, it is time to lean over what will be next for Build!

Chatting about Build’s future

Launched in March 2015, we are now sprinting towards a third year of activity. As we write for you, through our communication on upcoming code updates, ongoing projects and developments, we would like to hear from you to keep the devblog alive altogether.

That’s why we have prepared a survey in order to have a more accurate idea of what we could turn Build into. What should we focus on, improve, create or forget about? It is quick and clear, so take 5 minutes to answer 10 questions, help us to better know your needs and make Build the more convenient place to keep in touch!

1.7.3 is ready for translation

$
0
0

Many “When is the next version out?” later, we are glad to tell you PrestaShop 1.7.3 is on its way, with new strings in it! A new branch (that will replace the 1.7.2) has been added to the Crowdin projects. In other words: PrestaShop 1.7.3 is now ready for translation and validation!

Because we need to translate 1.7.3 as much as possible before this new version is released, we have already opened the translation files. So it is time for us to translate, spot mistakes, validate and perhaps reorganize domains (if needed) to get an accurate and clean translation catalog for the release.

New strings

Adding new features to PrestaShop consequently amplify the number of strings in Crowdin. All the languages fully translated and approved in the 1.7.2 are now under 100% in the 1.7.3. Don’t be scared, it is logic as new strings (untranslated and unapproved) did appear. Getting back to the same rate of completion is quite easy, all we have to do is translate and validate the new strings.

Of course, as the context is not fully available because PrestaSop 1.7.3 is not out for now (but will soon be), some of these strings may appear a bit unprecised. But ask if you need explanations, we will do our best to answer your issues - and do not forget the coming soon release will allow you to check the results and make them match a more faithful translation.

Closing 1.7.2 translation project

For maintenance purpose, we’re only keeping the latest minor version active on Crowdin, besides version 1.6. We will thus be soon removing the 1.7.2 branch from Crowdin so that only branch 1.7.3 can be available for translation and validation. Until the next minor version. It means that before the end of the year, branch 1.7.2 will be deleted, only branches 1.6 and 1.7.3 will remain available in Crowdin. Get ready, folks!

Freezing strings between minor versions

We are sure you already know it but it is never useless to repeat things a bit. A new minor version is supposed to be released every three months. Or so. Between minor versions, there are patch versions. And this is the point : no new strings are added during patch versions, we only update content with major and minor versions.

Why? Because we’ve decided to bring just functional or security fixes during patch versions. Editorial or behavioral changes come with major and minor versions which are more elaborated versions introducing new features… with new strings then!

Go for it!

All this to say new strings have been added to our projects available in Crowdin. Modifications are allowed until version 1.7.3 is released. After that, we will need to wait for version 1.7.4. Let’s focus on branch 1.7.3 then, we are calling for you to help us translate and validate PrestaShop 1.7.3.

PrestaShop Core Weekly - Week 47 of 2017

$
0
0

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

Core Weekly banner

General messages

Last week was rather quiet : five PRs have been merged. But don’t get disapointed, it is only because we are working hard on version 1.7.3 and its impending release… it is all about one word: stabilization!

Last call: Build needs your opinion! While we’re always feeding you with tech news from the dev team, this time we would like you to feed us with your points of view and opinions. We have opened a survey there to help us getting sharper on topics that matter to you. Is this devblog satisfying enough your expectations and needs? Allow us to rethink Build altogether!

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

Core

  • #8530: Merge 1.7.3 into develop, by @mickaelandrieu.

Back office

  • #8524: Fixed forms deprecation (Symfony3) on performance page, by @mickaelandrieu.

Test

  • #8412: Run web installation with functional tests, by @quetzacoalt91.

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

Core

  • #8329: Add DB prefix in delete() method all time $add_prefix is set to true. Thank you @prestamodule!

Installer

  • #8273: Update Postal Code of South Korea, by @hibatallahaouadni.

Thank you to the contributor whose pull requests were merged since the last Core Weekly Report: @prestamodule!

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

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

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

Happy contributin’ everyone!

Make modules on the back office great again!

$
0
0

Since the release of 1.7.0, we are working hard on improving the way developers can customize and enhancing the quality of PrestaShop.

An extra theme system has been integrated that introduces new helpers, widgets and inheritance scheme between templates. It’s now easier for everyone to create new themes with PrestaShop, especially for those who are more designers than developers.

We have also started the migration of the back office with the framework Symfony 2, first with the Product and Modules pages and then with the Translation and Stock Management pages. Now we are migrating the pages related to the Advanced Parameters section. We are doing it for many reasons but, to sum up, we want to focus on our core business, what we do the best: providing features to merchants. Indeed, working on a professional, fully tested and documented framework is great for PrestaShop developers, our core team included.

But that is not all, the main reason is to allow the PrestaShop developers to use the Symfony ecosystem to make better, more powerful and maintainable modules while being able to evolve with the last features of PHP.

Current situation of Back Office modules (pre 1.7.3)

In the modern pages (migrated to Symfony 2) of the back office, PrestaShop developers can go on using hooks as usual. But the difference is that they are not allowed to override templates, forms or data returned by the controllers.

In the Product pages, the hook called hookDisplayAdminProductsExtra can display all modules into a specific tab. We have added some hooks at bottom, middle and top positions of each tab. However, it is not easy to hook at a specific position into the forms to add or re-order fields, buttons or blocks of information.

Reviewing the actual hooks made us realize that they are not located at the right place (considering the new UX of this page) and that some of them are missing if we want to make basic additions. Like adding buttons to the menu.

PrestaShop Hooks on Product Page

Finally, and like in 1.6, it’s still really difficult to know when, where and if a hook has been called, how many times and what are the modules hooked.

PrestaShop 1.7.3, the module experience re-invented

The first new feature we would like to acquaint you with is the hooks debugger. Migrated pages of the back office all grant access to the PrestaShop debug toolbar, now enriched with a “Hooks” section.

PrestaShop Hooks Debugger section

At first glance, you can spot in every modern page which hooks and how many times they have been called. If you access the section panel, you have access to many additional information:

  • modules and hooks arguments
  • called and uncalled (but available) hooks
  • which modules react to hooks (the order is respected)

PrestaShop Hooks Debugger

It allows PrestaShop developers not only to pick the right hook but also to understand behaviors in case a specific hook would not fulfill its function. Now we can spot the guilty one without having to enable/disable each module.

So we have introduced two hooks in the Product Catalog page in order to ease contributions on menus::

  • displayDashboardToolbarTopMenu to add a new action to the top menu
  • displayDashboardToolbarIcons to add new icons to the Dashboard block (will be available in every Dashboard modern pages)

New Hooks

One more feature in PrestaShop 1.7.3: we have introduced a system called “modules as bundle” which lets the overrides of templates, services (classes), commands, forms, etc. used in the modern pages in your modules. We are still documenting this new system now but we can already tell you it will work the same way as it does with the front office theme templates.

PrestaShop 1.7.4 and beyond?

PrestaShop 1.7.4 will use Symfony 3, therefore PHP 5.6 (or above) is required. Indeed, for security reason, we have decided to stop keeping up unmaintained PHP versions, so it is time to upgrade it - ideally to the latest version which is 7.1 at the moment.

Moreover, there will be no broken compatibility in the PrestaShop source code between version 1.7.3 and future 1.7.4. And Symfony 3 allows all the developers to work with a PHP framework maintained until at least 2022.

We will keep on the back office migration to Symfony as we want to finish the Advanced Parameters section and improve our UI Kit. All the more since Bootstrap 4 is close to its stable release. We will also carry on with the amelioration of the module developer experience. For instance, we are already able to display more information about modules and hooks or in our current templates to simplify overriding.

We are also working on new form helpers so that developers can use better the forms available in the modern pages. Like they were able to do in PrestaShop 1.6.

And many, many other features are coming. Stay tuned!


Contributor interview: SungHyeon Cho

$
0
0

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

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

Hello! I’m a 41 years-old web developer and systems engineer, Java developer and DBA. I’m currently working at the publishing company’s computer department. I love music very much, I’m playing the guitar in a heavy metal band.

My main interest is open source localization. Korean engineers are surprisingly weak in English, they are afraid to see English documents and APIs. It explains why I want to help Korean engineers to access easily technical documents.

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

When I first got into PrestaShop, I was running the online shop of my company, the website was too old and I was looking for alternatives because it was so errory. As the company naturally tried to save money, I was looking for an open source ecommerce solution… and what I found by searching is PrestaShop. My boss was weak in English, he wanted to see even simple menus in Korean.

So I checked to see if a Korean version was available and I confirmed that I could officially participate in the translation. I thought that I could translate it myself so that everyone could use it. In fact, when I start translating, another Korean person suggested that I do business with it but I ignored it, I think open source should be used like open source.

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

As a result, a lot of people get involved in Crowdin, doing first a lot of translation work but becoming soon quiet. I also did translate a lot at first. But after a while I felt I had to practice translation like a daily routine rather than doing it all at once. When I started the Korean translation project, the progress was only 23%. Now it’s 41%. When I see that number, I’m so proud of it.

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

“Oh, I have a world I did not know about, I still have to study it!” - and it seems to be able to get away from the technology used only in Korea. Should I say that technology has gotten a little wider? Really, it’s very enjoyable because it seems to be the most useful experience in my life.

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

PrestaShop Core Weekly - Week 48 of 2017

$
0
0

This edition of the Core Weekly report highlights changes in PrestaShop’s core codebase during the last week, from Monday 27th of November to Sunday 04th of December 2017.

Core Weekly banner

General messages

Since version 1.7.3 is getting stabilized, we think it is time to talk about its major changes. In this direction, @mickaelandrieu has decided to publish a couple of articles. First there, to explain to our devoted modules developers how using the Symfony ecosystem will make more powerful features. Second one at the end of the week, to present how Symfony 3 and PHP 5.6 will work together and improve PrestaShop.

By the way, what date are we, isn’t it the beginning of December? It is, you’re right, and the good thing is that anyone who says we are entering a fresh new month is saying that the Crowdin monthly report will be online soon… stay tuned then!

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

Core

  • #8546: CO: Add some missing Phpdoc in SpecificPrice. Thank you @infiniweb!
  • #8558: Merge 1.7 into develop, by @mickaelandrieu.

Back office

  • #8365: Migrate Administration Page to Symfony, by @mickaelandrieu.
  • #8547: BO: Better performance in order template. Thank you @jkfran!
  • #8557: Added more informations from args in Hooks profiler, by @mickaelandrieu.

Front office

  • #8548: Remove useless die in StoresController. Thank you @sarjon!

Installer

  • #8556: Fix store hours migration. Thank you @kpodemski!

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

Core

  • #8568: Revert “Fix the email validator”, by @quetzacoalt91.

Front office

  • #8337: FO: Fix conditionals check in DiscountController. Thank you @matt75!
  • #8531: Fix the email validator. Thank you @azouz-jribi!

Thank you to the contributor whose pull requests were merged since the last Core Weekly Report: @azouz-jribi, @infiniweb, @jkfran, @kpodemski, @matt75 and @sarjon!

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? – November 2017 edition

$
0
0

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

Crowdin Monthly banner

Project news

Bosnian

Say hello to the Bosnian translation project! It is back on our radar screens and extends once again the scope of PrestaShop, raising the number of languages available in Crowdin to 77. And it is already 18% completed! Nice score, right? So if Bosnian lovers (or just Bosnian speakers, we love everybody) want to get involved in it, and I bet you would, just subscribe here to join Rijad on stage and make this translation project grow. To infinity… and beyond!

1.7.3

A great thank you to all the people who have been getting into the PrestaShop projects after our call for translation. Several languages have seen their 1.7.3 branch completed fast. So fast we almost reach back into the Crowdin level at the beginning of November, where there were 20 languages completed. We appreciate it a lot. Go on, join forces, and be proud of the huge work making here. Cheers!

A few stats

  • 92 members were active on the project this month.
  • A total of 97,987 words have been translated and 53,174 validated.
  • All this in 8 different languages.

Thank you for your involvement!

Top contributors

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

Top 10 translators in November:

 TranslatorLanguage# Words
1.Rijad Osmanovic (rijado)Bosnian10,681
2.Vu Van Tuan (tuanvv90)Vietnamese7,234
3.lolypop000Slovenian6,115
4.Filip Filipović (filipfilipovic)Croatian5,899
5.maholmbeFinnish5,050
6.Nikolaos Papapanagiotou (nikolaosp)Greek3,869
7.dzumanVietnamese3,837
8.Stanislav Yordanov (StanProg)Bulgarian3,761
9.KoralPolish3,613
10.AmirRzdPersian3,043

Top 10 proofreaders in November:

 ProofreaderLanguage# Words
1.lolypop000Slovenian6,114
2.Filip Filipović (filipfilipovic)Croatian5,663
3.Stanislav Yordanov (StanProg)Bulgarian4,432
4.dzumanVietnamese4,271
5.KoralPolish3,726
6.eleazarGerman3,529
7.AmirRzdPersian3,499
8.Gabriel Tenita (ggedamed)Romanian2,822
9.Enzo Ferrara (ferribbotte)Italian2,553
10.Nicolas Zampieri (nickzampieri)French, Canada2,430

Congrats, and welcome to our new top contributors!

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

Complete translations

Fully translated languages

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

BulgarianCroatianDanishEnglish
FrenchFrench, CanadaGermanGreek
IndonesianItalianLithuanianNorwegian
PersianPolishPortuguesePortuguese, Brazil
RomanianRussianSlovakSlovene
SpanishSwedishTurkishUkrainian
Vietnamese   

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

BulgarianCroatianEnglishFrench
French, CanadaGermanItalianPersian
RomanianRussianSlovakSlovene
SpanishSwedishUkrainian 

Languages with the best evolution

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

  • Bosnian (+18% to reach 18% translated in 1.7)
  • Bulgarian (+6% to reach 100% translated in 1.7)
  • Finnish (+5% to reach 96% translated in 1.7)

Best translation progress for November 2017

Thanks to all the contributors!

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

Languages that need (more) proofreaders

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

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

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

  • Portuguese, Brazil (100% translated vs 78% validated in 1.7).
  • Korean (36% vs 16% in 1.7).
  • Bosnian (18% vs 0% in 1.7).
  • Arabic (52% vs 37% in 1.7).
  • Spanish, Mexico (51% vs 36% in 1.7).

Languages that need proofreading

If you wish to help to proofread what has been translated, please contact us with the language you’d like to proofread. We need your help!

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

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

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

PrestaShop Core Weekly - Week 49 of 2017

$
0
0

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

Core Weekly banner

General messages

As announced last Monday, the Crowdin monthly report has been published and it is filled with good news: at least 15 languages reached a 100% translated and approved branch 1.7.3, and 3 languages still need to be validated (Dutch, Greek and Portuguese, Brazilian). If interested, join us, we will be glad to have you with us! And Bosnian has entered the projects catalog again, with a completion rate which goes really fast. It is even our best progress of November, congratulations!

Contrary to what has been announced last week, and because we already wrote about how Symfony 3/PHP 5.6 will work for future versions in @mickaelandrieu’s post, we have decided to communicate on a new 1.7.3 important feature instead: PrestaTrust. And it is Margaux who will talk about it. It is our first trust label and it will surely enhance the security of the PrestaShop modules. Innovative technology is right ahead to improve your experience, you will read how this week.

Last but not least, we are really happy to announce the 1.7.3 beta version is imminent, stay tuned!

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

Core

  • #8573: Added docs about CSV import samples, by @mickaelandrieu.
  • #8576: Added new gitignore directives about translation packs, by @littlebigdev.
  • #8577: Synced 1.7.3 into develop, by @mickaelandrieu.
  • #8582: On CLI, display simple information on PrestaShopException, by @quetzacoalt91.
  • #8602: Handle form request after authorization check in PerformanceController. Thank you @sarjon!

Back office

  • #8599: Move Advanced Parameters section to Configure section (Cherry pick), by @quetzacoalt91.

Test

  • #8594: Make everything works with next release of travis, by @quetzacoalt91.

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

Core

  • #8591: Update Translation Bundle version in composer, by @quetzacoalt91.

Thank you to the contributor whose pull requests were merged since the last Core Weekly Report: @sarjon!

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!

Everything you always wanted to know about PrestaTrust

$
0
0

It allows to authenticate the code of modules and to safely keep track of the sales data in the blockchain.

PrestaTrust Ethereum

In the upcoming 1.7.3 version, we will release a new option for PrestaShop modules called PrestaTrust. This is one of the most innovative projects, based on a technology which is still to discover for a lot of people, a kind of mystery that makes great promises for the future of our world: the blockchain.

PrestaShop has always been and will always be open source. Before proceeding any further, let’s clearly state that PrestaTrust is not DRM (Digital Rights Management). PrestaTrust is not an encryption system for modules. PrestaTrusted modules will not be encoded. PrestaTrust does not block the installation of any module.

Now, you might wonder how we could create a Trust Label without restricting the core values of open source, such as transparency and decentralization. This is where comes the amazing concept of blockchain.

The practical consequence […is…] for the first time, a way for one Internet user to transfer a unique piece of digital property to another Internet user, such that the transfer is guaranteed to be safe and secure, everyone knows that the transfer has taken place, and nobody can challenge the legitimacy of the transfer. The consequences of this breakthrough are hard to overstate.

Marc Andreessen, Inventor of the internet browser

What for?

PrestaTrust creates a bond of trust between module developers and module users, by authenticating the code of the module and safely keeping track of its sales data in the blockchain.

Traceability is based on the Ethereum blockchain and guarantees a secure and irrefutable authentication of open source code. Module developers will be able to:

  • build direct trust with their customers
  • do support real customers and avoid doing support for not purchased module licences
  • give access to module updates only to real module buyers
  • increase their visibility thanks to the Trust Label stamped on their module

To run this decentralized blockchain app, the fee for module developers is an extra 0.8% commission on PrestaShop Addons on each sale of a PrestaTrusted module.

For merchants, the service is free. This optional label that developers may use for their paying modules brings an additional trust and reassurance element, that makes PrestaTrusted modules more attractive.

How did we build PrestaTrust?

Technically speaking, the goal is to be able to write down some key information happening on PrestaShop Addons in the blockchain.

To do so, we have built an API to do the bridge between these two ecosystems, and smart contracts in charge of receiving the pieces of information in the Ethereum blockchain.

So, on the one hand, there is PrestaShop Addons, allowing the commercial relationship between module developers and merchants. And on the other hand, there are PrestaTrust’s smart contracts, enriched automatically and forming the decentralized basis of the trust between module developers and merchants.

We chose to use the most stable public blockchain network, Ethereum, to build PrestaTrust. This choice does not imply the use of tokens and there is no need to mine other than the standard mining of the Ethereum blockchain.

PrestaTrust API

How to PrestaTrust a module?

For modules developers, the procedure is incorporated in the validation process of modules on PrestaShop Addons. The few steps will be detailed directly in the seller account as well as in the official documentation.

What is the code added in PrestaShop 1.7.3?

For merchants, the value of PrestaTrust appears on their own local store. This part is incorporated in the 1.7.3 version of PrestaShop’s core, and will thus be available in stores running on 1.7.3 and later versions.

The PrestaTrust Label will trigger a double control in the merchant’s store:

  • a code check: when the module is installed on the store, a hash of this module is calculated and compared to the original one, in order to make sure no code change happened between purchase and installation
  • a purchase licence check: the idea here is to browse the blockchain to verify that the licence corresponding to this store has been purchased

The double check will never block the installation, it will simply warn the merchant, so that he is aware of the ins and outs of this module installation.

What information will be accessible in the blockchain?

Let’s dig a bit deeper into the privacy details. We know it is a major issue, that’s why we want to tell you how we proceeded.

The module’s code is not displayed in the blockchain, only its hash, which is a signature. The module remains open source and is not encoded.

The confidential purchase data (seller and buyer’s identities, name of the module) are only visible to the seller, the buyer and PrestaShop - as for regular purchases.

Lastly, the store associated to the purchase licence is recorded in the form of a hash, just like the module’s code, so that it’s not publicly identifiable.

So in a nutshell: be sure that PrestaTrust does not display any confidential data in the blockchain.

Will there be a Preston Coin?

PrestaTrust will be live in the next coming weeks, as a first version which will serve as a basis for later improvements. We have not created any coin yet, but we can imagine the use of coins in the future for further features. We would be glad to hear your ideas on this subject.

Keep in mind that PrestaTrust development is still on its way and it will keep on evolving with you. Feel free to comment and share your thoughts or ideas.

Viewing all 941 articles
Browse latest View live