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

PrestaShop Core Weekly - Week 18 of 2017

$
0
0

This edition of the Core Weekly report highlights changes in PrestaShop’s core codebase during the last week, from Monday 1st to Sunday 7th of May 2017.

Core Weekly banner

General messages

Only 5 PRs merged last week: that’s not just because Labor Day came by, oh no! Most of the work towards 1.7.2.0 is going into PRs that will be merged once they’re done:

  • #7631 is where you can see grow the new Stock Management page.
  • #7835 brings most #7631’s findings (most notably Vue.js) into… a rework of the Translation page! Yup!

Both works are done in parallel, and the team is learning much about it, so that this will eventually have an impact on other back office pages.

You can have a look at both, but please understand that nothing is stable yet: wait for the forthcoming beta version before you really dive into it!

In the meantime, you can contribute feedback on Right-to-Left best practices on the dedicated Trello board.

Cheers!

Code changes in the ‘develop’ branch (for 1.7.2.0)

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

Installer

  • #7832: Fix install/upgrade/upgrade.php for php-5.4 syntax. Thank you @transkontrol!

Code changes in the ‘1.7.1.x’ branch (for v1.7.1.0’s patch versions)

Next, let’s review the merged pull-requests on the ‘1.7.1.x’ branch since the last Core Weekly Report!

Core

  • #7826: Allowed redirect protocol with Tools::file_get_content (curl), by @aleeks.

Back office

  • #7790: Add a scrollbar for TinyMCE, by @maximebiloe.

Test

  • #7867: Fix cldr url in tests, by @quetzacoalt91.

Installer

  • #7846: Fix install/upgrade/upgrade.php for php-5.4 syntax. Thank you @transkontrol!

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

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!


How to rebase your Git branch

$
0
0

Contributing code to PrestaShop can be scary for first-timers, because not everyone knows how Git works. By the time you have figured how to properly push your changes to GitHub, the codebase has changed, rendering your suggestions impossible to merge – leading to frustration on both sides. It’s high time you learn about git rebase.

Files often change an Open Source project. Between the time you fix an issue and create a pull request, and the time a Core developer takes a look at your PR, the target files can have changed a couple times (or more). “Could you rebase?”, asks the Core developer. Easier said than done, but we’ll give you a step-by-step guide on how to do it.

This article was initially a comment by @shudrum on a PR by @kpodemski. Thanks for the inspiration, people!

What is rebasing?

Rebasing updates the history of your local Git repository so that it is synchronized with the history of the official Git repository. Once you have rebased your repo, it contains all the changes that have been merged to Core since you created your code changes. This way, your pull request can be merged safely: it won’t break the destination codebase.

In short, rebasing makes for a cleaner history :)

The reason why Core devs ask you to rebase

Either you rebase your code, or it takes a lot more time to test your changes and merge them. Therefore, there’s a good chance that your suggestion will be either discarded or forgotten if you don’t update it. Better rebase it yourself!

Also, rebasing is the right way to squash several commits into one. This is often an issue, particularly when you find yourself with a “Merge: XXX” commit out of nowhere. Rebasing avoids merge commits.

Finally, automated tests sometimes fail for no good reason, so rebasing is one way to trigger them again, until they go green. You don’t have to wait for the Core to restart the tests anymore!

Let’s rebase!

The firsts times using git rebase are not so easy! You have to understand the links between your local repository and PrestaShop’s repository, and how Git works with the history of each – which are essentially two separate branches of the same project.

If you look at your local history, you should see something like this:

A messy history

As you can see, the branch has 3 commits from the contributor, with various levels of respect for the naming convention. The oldest one respects the convention; the second one certainly does not; the most recent one is better but still superfluous.

You can see that the latest commit has the 9a7b798 identifier (short for the 9b9b47e9fe591e2f4b1f9bb2dd18c4fa5e715b55 sha1 hash, but the seven first characters are unique enough for identification in this context).

If you have not updated your local repository, the develop branch should be at the same location. To correctly rebase the branch, you can use git rebase -i 9a7b798.

Let’s break this down:

  • git rebase is the command to use when rebasing. It reapplies commits on top of another base tip.
  • -i is short for --interactive. This option of git rebase makes a list of the commits which are about to be rebased, then lets the user edit that list in the default editor in order to squash several commits into one.
  • 9a7b798 is the identifier of the commit that you want to work from. Since

After typing this, your editor starts and you can see a file like this:

Pick and choose

Your recent commits are listed at the top of the file, with a verb, the hash, and the commit name. By default, all three commits are picked as-is – meaning that the commits are kept unchanged.

If you read the comments, you can see the different options you have instead of just picking the commits. In our case, you need to squash the commits into the first one, so just edit this file like this:

Pick and squash

With this, the second commit will fuse with the first one, and then the third one will do the same.

Save and close the file. If your system has you use Vim (command line editor), you can save and quit by hitting the Esckey (Vim goes into command mode) and typing :wq (for “write and quit”).

Another file will automatically open:

Naming things

On the third line, you can edit the commit names. If it’s fine as it is, keep it that way. It might be a good time to ensure that your commit follow PrestaShop’s commit naming convention.

The other lines describe the two others commit names, set as comments. You can safely remove these and the followin comment lines if you wish.
Edit the main commit name as you like, then save and close (Esc+:wq).

If you look again at your history, you should now see:

A clean history!

TADA! Just one clean commit! Now comes the last step: type git push -f. This will force Git to update your remote reference even if it isn’t an ancestor of the local reference used to overwrite it. Once pushed, your branch is rebased – and your PR is updated accordingly.

Yay!

Learn more Git

First timer

“I know how to push, what’s next?”

Advanced

Contributor Night & barcamp: Community Events around the PrestaShop Day 2017

$
0
0

Do you want to contribute, share experiences and meet the community? All of this is possible this June in Paris: come enjoy the PrestaShop Day Paris, and the events that we are setting up for the community!

PrestaShop Day Paris

After a great PrestaShop Day even in Madrid earlier this month, it’s time to set clock for the next major PrestaShop even: PrestaShop Day Paris!

The event is coming back to Paris, France on Thursday June 15th, and again this year, contributors are invited to join in on the fun with two events: a Contributor Night in the PrestaShop office on the day before, and a Community Barcamp within the event’s walls. Let’s meet and exchange!

Because the PrestaShop Day event happens in France and is primarily in French, this article is written in both French and English. The English version can be found after the French one.


Le PrestaShop Day est LA journée pour les professionnels de l’e-commerce, avec de nombreuses conférences, ateliers et masterclasses permettant à chaque visiteur d’améliorer son approche de la vente en ligne.

Nous avons décidé de profiter de cette grande journée et de la venue exceptionnelle de nombreux membres de la communauté à Paris pour organiser deux évènements destinés à se rencontrer, échanger, et faire progresser le projet.

La soirée des contributeurs

La veille du PrestaShop Day (soit le mercredi 14 juin 2017), l’équipe de PrestaShop accueillera dans ses locaux les contributeurs afin de faire progresser le projet PrestaShop 1.7 ensemble, pendant 3 heures (19h00-22h00).

Rejoignez-nous pour une soirée où vous pourrez apprendre à participer au code, à la documentation ou la traduction, par le biais de contributions open source !
Une partie de l’équipe PrestaShop sera présente pour vous accompagner en tant que mentor, avec encouragements et bons conseils.

Tout le monde peut participer à la documentation ou à la traduction – tant que vous savez écrire correctement ;)
Côté code, il faudra bien sûr déjà s’y connaître en développement PrestaShop (et donc en PHP/MySQL et autres technologies), et idéalement avoir déjà contribué au code. Chaque contribution compte, même la plus petite !

Les mentors de PrestaShop seront présents pour vous accompagner :

  • Correction de bugs ;
  • Vérification de pull requests / tickets Forge ;
  • Écriture/correction de la documentation utilisateurs/développeurs/designers ;
  • Traduction du logiciel ou de la documentation.

Inscrivez-vous à la soirée des contributeurs !

Tous les participants seront remerciés avec une invitation au PrestaShop Day, le lendemain.

Vous aurez besoin :

  • D’un esprit Open Source ;
  • De votre propre ordinateur portable ;
  • De votre propre compte GitHub (code) ou Crowdin (traduction) ;
  • D’être disponible à Paris le 14 juin de 19h à 22h.

L’équipe de PrestaShop se charge de fournir nourriture et boissons pour la soirée, ainsi que la musique pour animer la soirée :)

Le barcamp au sein du PrestaShop Day

Le PrestaShop Day comprendra un espace dédié au déroulement de discussion dans le style barcamp : un espace de non-conférence, ouvert, avec des discussions participatives où chacun peut s’exprimer sur le sujet en cours. L’idée directrice : “pas de spectateur, que des participants”.

Le tout se déroule dans une ambiance non-commerciale : il n’est pas ici question de faire de la promotion de votre produit ou votre service, mais de partager vos connaissances et expériences, afin que chacun sorte grandi de la conversation, sans rétroprojecteur ni présentation Power Point.

Suggérez dès à présent votre sujet de discussion.

Nous établirons un premier programme des interventions, qui pourra également être complété le jour J s’il reste du temps.

Chaque discussion durera 40 minutes, avec 20 minutes de battement et questions/réponses informelles.

Vous aurez besoin :

  • D’un esprit ouvert ;
  • D’un désir de partager vos connaissances ;
  • De questions permettant de faire progresser le sujet ;
  • D’être inscrit au PrestaShop Day, bien sûr !

Venez à la rencontre de la communauté PrestaShop !


PrestaShop Day is THE for e-commerce professionals, with numerous conferences, workshops and masterclasses, allowing visitors to get a better knowledge of online sales.

We have decided to take advantage of this great event and the presence of many community members in Paris: we are organizing two events destined to meet, discuss, and improve the project.

The contributor night

The day before PrestaShop Day (so on Wednesday 14th of June), the PrestaShop team will welcome contributors within our Paris office, so that we can improve PrestaShop 1.7 together, for 3 hours (19:00-22:00).

Join us for the evening, and you will learn how to contribute to the code, the documentation or the translation, all this thanks to the power of Open Source!
Part the PrestaShop team will be there to get you onboard as mentors, with encouragements and best practices.

Anyone can participate to the documentation or the translation, as long as you know how to write ;)
As for code contribution, you should already know about PrestaShop 1.7 (and therefore, PHP/MySQL and other technologies), and at best you would have already contributed code. Each contribution counts, even the smallest!

The PrestaShop mentors will be there to help you:

  • Correct bugs.
  • Check pull-requests / Forge tickets.
  • Write/correct the User/Developer/Designer guides.
  • Translate the software or the documentation.

Register for the Contributor Night !

All participants will be thanked with an invitation to the next day’s PrestaShop Day event.

You will need:

We will take charge of food and beverages for the evening, as well as proper music :)

The barcamp within PrestaShop Day

PrestaShop Day will feature an area dedicated to barcamp-style conversations: a non-conference space, open, with exchanges where everyone can participate to the topic. The main idea: “No spectators, only participants”.

The whole things takes place in a non-commercial environment: this is not a place to promote a product or service, but a place to share knowledge and experience, so that everyone leaves a better person, with no overhead projector and no PowerPoint presentation.

Suggest a discussion topic right now.

We will build a first schedule of the suggested topics, which can be completed during the D if there are slots left.

Each discussion is 40 minutes long, with 20 minutes of informal Q&A and downtime.

You will need:

  • An open mindset.
  • The willingness to share your knowledge.
  • Questions ready in order to make the discussion keep on.
  • Have a PrestaShop Day ticket, of course!

Come and meet the PrestaShop community!

PrestaShop Core Weekly - Week 19 of 2017

$
0
0

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

Core Weekly banner

General messages

PrestaShop 1.7.1.2 is coming soon! It is currently being tested, and you can already check the pull requests included in this version.

Version 1.6.1.14 should be released soon after, and here again, you can see the pull requests that should be merged.

Wanna join in on the contribution fun, but don’t know where to start? We’re organizing a Contribution Night right in our Paris office in mid-June, the day before the PrestaShop Day. Let’s meet! A great way to learn more about Open Source… and how to rebase in Git :)

Code changes in the ‘develop’ branch (for 1.7.2.0)

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

Core

  • #7779: Force query build arg_separator to &. Thank you @tonyyb!
  • #7840: Add command to check duplicates in translation catalog, by @quetzacoalt91.

Back office

  • #7809: No order notification message was wrong, by @maximebiloe.
  • #7817: Introduce editor constraint & fixed short_description length, by @aleeks.
  • #7834: Use most used tax for product creation on BO, by @aleeks.
  • #7863: Add firstname & lastname on address form, by @aleeks.
  • #7875: Fix datepicker design, by @nihco2.

Front office

  • #7866: Fixed full size order-item table, by @aleeks.

Code changes in the ‘1.7.1.x’ branch (for v1.7.1.0’s patch versions)

Next, let’s review the merged pull-requests on the ‘1.7.1.x’ branch since the last Core Weekly Report!

Back office

  • #7789: Message Customer on order details page, by @kompilorb.
  • #7801: Choose Theme on Mail Translation, by @kompilorb.
  • #7860: Deny legacy module page view, by @aleeks.

Front office

  • #7773: Fix for CMS tree on sitemap. Thank you @iqit-commerce!
  • #7785: Fix slide down of carrier extra content in order funnel, by @quetzacoalt91.
  • #7795: Fix allow order value, by @fatmabouchekoua.

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

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

$
0
0

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

Crowdin Monthly banner

Project news

Spanish tone harmonization

A good news is that the Spanish translation is now 100% complete! However, there is sometimes a mix of polite versus familiar tone (tu/usted) that needs harmonization. To be aligned with the global tone of PrestaShop, we’re choosing to use ‘tu’ when talking to merchants in Spanish (= in the back office). From now on, all the translations from the back office (‘Admin’ domain) must use an informal tone (tu).

This doesn’t impact the front office (‘Shop’ domains) that remains polite by default. We leave it to the merchants to change the tone of their shop, should they wish it.

As a consequence:

  • We’ll modify existing back office translations to harmonize the tone right away
  • New back office translations must use the informal tone from now on.

Contributor night in Paris

For those of you in Paris on the 14th of June, the night before the PrestaShop Day Paris will be dedicated to community contributions. Come and meet the PrestaShop team to take part in the PrestaShop project (code, documentation or translations). More information here!

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

A few stats

  • 183 contributors joined the project last month, for a total of 3,797 members at the end of April 2017. Welcome to all of them!
  • 65 members were active on the project this month.
  • A total of 50,931 words have been translated and 39,661 validated.
  • All this in 39 different languages.

Thank you for your involvement!

Top contributors

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

Top 10 translators in April:

 TranslatorLanguage# Words
1.Jesús Ruiz (jruiz)Spanish8,282
2.SkaZun (raidhunters)Ukrainian5,167
3.Yuji Sugimoto (bm-sugi)Japanese5,074
4.hanen_bradaiArabic4,011
5.SeongHyeon Cho (jaymz9634)Korean3,674
6.khouloud_SIFASTArabic3,048
7.Mojtaba Malaekeh (mojtabamalaekeh)Persian3,016
8.KoralPolish2,965
9.BulldesignDanish1,275
10.Carlos Loyola Vásquez (carlosloyola14)Spanish, Peru1,034

Top 10 proofreaders in April:

 ProofreaderLanguage# Words
1.Jesús Ruiz (jruiz)Spanish9,115
2.SkaZun (raidhunters)Ukrainian6,592
3.Yuji Sugimoto (bm-sugi)Japanese6,783
4.Stamatis (breezer)Greek3,829
5.KoralPolish3,313
6.Morten Borg (mortenborg)Danish1,643
7.AmirRzdPersian1,358
8.Cha (cafetango)Chinese Traditional1,045
9.Stanislav Yordanov (StanProg)Bulgarian929
10.DaoKakaoRussian911

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

EnglishFrenchFrench, Canada
GermanGreekItalian
NorwegianRussianSlovak
SloveneSwedishTurkish

On its side, PrestaShop 1.7.1 is fully available in 15 languages!

CroatianEnglishFrenchFrench, Canada
GermanGreekItalianNorwegian
RussianSlovakSloveneSpanish
SwedishTurkishUkrainian 

That’s 2 extra languages: Croatian and Spanish, thank you! And version 1.7 is well translated in 11 more languages. Soon at 100% we hope :)

Languages with the best evolution

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

  • Arabic (+14% to reach 55% translated in 1.7)
  • Japanese (+7% to reach 78% translated in 1.7)
  • Korean (+7% to reach 18% translated in 1.7)
  • Ukrainian (+6% to reach 100% translated in 1.7)
  • Persian (+5% to reach 99% translated in 1.7 - almost there!)

Best translation progress for April 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 % 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 April 2017, some languages would still benefit from some proofreading:

  • Arabic (55% translated vs 18% validated in 1.7)
  • Japanese (78% translated vs 50% validated in 1.7)
  • Galician (66% vs 46% in 1.7)
  • Romanian (94% vs 76% in 1.7)

Languages that need proofreading

Again, these figures are mostly for 1.7, but 1.6 needs some proofreading too :)

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!

How to create the best bug reports

$
0
0

Every morning, the Product and QA team gather around a big screen, and review the new Forge tickets that were created since the day before. At the end of the meeting, all new tickets must be asserted, and if need be, placed into the hand of a team member.

Reviewing Forge ticket can be very brain-consuming: sometimes, report incompleteness can make for a need to ask for more info, thus slowing down. On the other hand, we sometimes get tickets that are a pleasure to work with. Here are their most common denominators.

The basics

Apart from the obvious descriptive title, there is a trifecta of must-haves in a useful Forge ticket.

Up-to-date

Oftentimes, bug reporters provide us with information about what happens in their own situation, chiefly their current version of PrestaShop – which is seldom the latest version.

This can make reviewing harder, because there is a number of things that could have changed between the reporter’s version and the latest version of PrestaShop – even fixing that very bug!

That is why it is always preferable for the reporter to make sure that the bug happens in the latest available version – either an official release, or the current in-development version.

Because not everyone can afford the time to upgrade their online shop to the latest version in hope that their issue is fixed, we encourage the more technical users to make tests on their local machines, using an Apache-PHP-MySQL/MariaDB stack such as WampServer, MAMP, XAMPP or any other.
Not only will it then be able to easily install the latest version, but it will also make it possible to test in the default conditions – indeed, third-party themes and modules can create issues that the PrestaShop simply cannot fix.

Reproducible

Writing how to reproduce an issue time helps tremendously. Even better if its reproducible in a fresh install of PrestaShop.

Simply put, if the team cannot reproduce the issue on their side, there is little to no chance that the issue will be fixed. They cannot fix bugs blindly.
Often, issues that cannot be reproduced are either due to customization (theme, modules, override, etc.), or by local problems that are specific to the shop.

The best way to help the team to reproduce issues is to give precise step-by-step instructions. For instance:

Steps to reproduce:
  • Go to Sell > Catalog.
  • Click "Create a product".
  • Save without entering a title.
Expected result: an empty product is created and saved. Actual result: the computer turns into a unicorn. THANK YOU!

Thanks to these steps (which you should test more than once), you can lead the team on the way to reproduce the issue you found – and thus on a quick fix!

Detailed

The title and description should bring the team half-way to understanding what is happening. While the reproduction steps are important, sometimes there are implied information that is also useful. This is where a detailed description comes in.

The idea of the description is not to tell a whole story of how you stumbled upon the issue. You should it keep it to the point: keep the information that is specific to the issue, remove that information this is specific to your situation. Your description should be general enough to apply to any other installation.

Details such as your software stack can be particularly useful:

  • Precise version of PrestaShop (“1.6.1.13” is more helpful than “1.6”).
  • Server setup:
    • Operating system.
    • Type and version of webserver (Apache, Nginx, IIS, other).
    • Version of PHP.
    • Version of MySQL/MariaDB.
    • Make sure you have emptied PrestaShop’s cache!
  • Browser setup:
    • Operating system.
    • Version of the browser.
    • Make sure you have emptied your browser’s cache!
  • Any error message.

The bonuses

Follow the rules above, and your ticket will already be on the path to fix-finding.

There are a handful of nice things you can do to improve your ticket further.

Checking past issues

Of course you may think that you are the first on to stumble upon that wrong behavior – and you may be right!

But quite often, a ticket already exists for that issue: you should search the Forge with a couple of keywords, in order to see if you’re really first on this one.

If there is indeed already a ticket for your issue, you can still help! Simply comment the ticket with details that you think are pertinent – or even better, improve the ticket by adding any of the suggestion from this page: steps to reproduce, test on updated version, etc.

Making one issue per ticket

It’s tempting to finish your ticket with “Another issue I found is that (…)”, because to you the two issues happen in the same context.

On the developer side, the two issues might be completely unrelated, and therefore following-up on any supplementary issue using a single Forge ticket is quite a hassle.

So, even if it takes you more time, please create one ticket per issue – and only mention one issue per ticket :)

Adding logs

Sometimes you just don’t know what’s wrong: something’s not happening, that’s all.

That’s where log data can be helpful. They keep track of what is happening, and allows to trace back to the moment when the issue happens.

There are several different log data that you can add as a file to your ticket:

  • Server log:
    • Apache: /var/log/apache/apache_error.log
    • Nginx: /var/log/nginx/nginx_error.log
    • IIS: %SystemDrive%\inetpub\logs\LogFiles
  • PHP error log:
    • Apache: /var/log/apache/php_error.log
    • Nginx: /var/log/php-fpm/default/error.log
    • IIS: %SystemDrive%\inetpub\logs\LogFiles
  • Console log:
    • Firefox and Chrome: press Ctrl+Shit+J or Cmd+Shift+J.
    • Internet Explorer and Edge: press F12 then go to the Console tab.

Copy the content relevant to your issue (or to the time the issue appeared), and paste it into the ticket (or in a text file attached to the ticket).

Enabling Debug Mode + cache

PrestaShop has a debug mode, which can be used to see the non-obvious errors on your shop. For instance, in these situations:

  • The browser displays a blank pages.
  • The browser displays a 500 Internal Server Error.
  • You cannot log into your dashboard, or access certain pages of the back office.

To turn on the Debug mode on PrestaShop 1.7, follow these steps:

  • Got to Advanced Parameters > Performance
  • In the Debug Mode section, set “Debug Mode” to “Yes”.
  • Click the “Save” button.

If you can’t access your dashboard, you can still enable the Debug Move using an FTP client (for instance the free Filezilla tool) to edit the config/defines.inc.php file. Find the following line in the file:

define('_PS_MODE_DEV_', false);

… and change it to:

define('_PS_MODE_DEV_', true);

Finally, emptying the cache of PrestaShop can also be useful, because it ensures that your browser only displays newly-generated files instead of old cached ones. In PrestaShop 1.7, you can empty the cache here:

  • Go to Advanced Parameters > Performance.
  • Click on the “Clear Cache” button at the top right.
  • You’re done!

Providing screenshots

Most of the time, bugs are visual: whether a button is not displaying well, or a error message pops up, or you want to indicate the content of a form before a failed submission.

That’s where screenshot come in very handy! Providing one or more screen captures right into the ticket’s attached file can help visually spot and reproduce the issue, and can save a lot of time in understanding your words.

Providing a (short) video

If your issue is only triggered in a series of steps, it is great to list them textually, but it can also help to provide a video of these steps, so that we can reproduce your problem with certainty.

To be perfectly useful:

  • Keep it short. Less than a minute is best. Do not repeat your bug description; just follow your own step by step instructions.
  • Do not talk too much. Accents and even languages other than French and English can be confusing.
  • Prefer details to file size. A small screen size or blurry compression can prevent the team from having a clear view of your actions in the video.

Being patient

Thank you for reporting your issue! Please understand that it will not be fixed right away: you will have to wait at least for the next bugfix version to be released.

Several new Forge tickets are created every day, and the team spends a lot of time building the developers’ workload using these tickets. Depending on its asserted priority and the existing workload, your ticket can either go straight to the top (if your issue is considered blocking or critical), near the top (if it’s a major or standard issue), or left for later consideration (if it’s a minor or trivial issue).

Thank you for your patience, then!

PrestaShop Core Weekly - Week 20 of 2017

$
0
0

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

Core Weekly banner

General messages

As I write this, PrestaShop 1.7.1.2 is being tested, and pull requests for PrestaShop 1.6.1.14 are being merged. Monthly releases are about to arrive!
Meanwhile, PrestaShop 1.7.2.0 is still slated for a June release. It looks like our release schedule is doing fine! :)

Are you in Paris for the PrestaShop Day, on June 15th? Let us know, because we are planning two community events: a Contribution Night on the evening of June 14th, right in our Paris office, and a community barcamp within the PS Day! Read all about it here.

Furthmore, reminder of recent Build articles:

See you next week!

Code changes in the ‘develop’ branch (for 1.7.2.0)

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

Core

  • #7778: Remove lang dependancies for module manager and add cli command, by @quetzacoalt91.
  • #7811: Display the login form after an failed authentication. Thank you @jestemradek!
  • #7825: Handle multishop in console commands, by @quetzacoalt91.
  • #7838: Return empty array instead of false.. Thank you @neoteknic!
  • #7852: Improve upgrade command, by @aleeks.
  • #7871: Failure during module catalog fetch do not throw an exception anymore, by @quetzacoalt91.
  • #7872: Display translated strings properly in SF debugger!, by @quetzacoalt91.

Back office

  • #7839: Add sprintf check constraint on translations, by @quetzacoalt91.
  • #7864: Fix recommended modules popup on legacy BO, by @quetzacoalt91.

Front office

  • #7880: Feat/classic improvements, by @nihco2.

Tests

  • #7896: Fix branch checkout for starter theme, by @quetzacoalt91.

Installer

  • #7879: Set allow_url_fopen mandatory, by @quetzacoalt91.

Code changes in the ‘1.7.1.x’ branch (for v1.7.1.0’s patch versions)

Next, let’s review the merged pull-requests on the ‘1.7.1.x’ branch since the last Core Weekly Report!

Back office

  • #7891: BO: Set value for Short Desc, by @vincentbz.

Test

  • #7897: Fix branch checkout for starter theme, by @quetzacoalt91.

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @jestemradek and @neoteknic!

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!

Contributor Night & barcamp: PrestaShop Day Paris is in 3 weeks!

$
0
0

A quick reminder about the PrestaShop Day, and the two community events tagging along!

PrestaShop Day Paris

Do you want to contribute, share experiences and meet the community? All of this is possible this June in Paris: come enjoy the PrestaShop Day Paris, and the events that we are setting up for the community!

The event is coming back to Paris, France on Thursday June 15th, and again this year, contributors are invited to join in on the fun with two events: a Contributor Night in the PrestaShop office on the day before, and a Community Barcamp within the event’s walls. Let’s meet and exchange!

The contributor night

The day before PrestaShop Day (so on Wednesday 14th of June), the PrestaShop team will welcome contributors within our Paris office, so that we can improve PrestaShop 1.7 together, for 3 hours (19:00-22:00).

Join us for the evening, and you will learn how to contribute to the code, the documentation or the translation, all this thanks to the power of Open Source!
Part the PrestaShop team will be there to get you onboard as mentors, with encouragements and best practices.

Register for the Contributor Night !

All participants will be thanked with an invitation to the next day’s PrestaShop Day event.

The barcamp within PrestaShop Day

PrestaShop Day will feature an area dedicated to barcamp-style conversations: a non-conference space, open, with exchanges where everyone can participate to the topic. The main idea: “No spectators, only participants”.

The whole things takes place in a non-commercial environment: this is not a place to promote a product or service, but a place to share knowledge and experience, so that everyone leaves a better person, with no overhead projector and no PowerPoint presentation.

Suggest a discussion topic right now.

Come and meet the PrestaShop community!


Release of PrestaShop 1.6.1.14

$
0
0

PrestaShop 1.6.1.14 is now available. This maintenance release has seen 21 pull requests merged since version 1.6.1.13.

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

Download 1.6.1.14 now!

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

  • Fix taxes in credit slip
  • Fix the refresh button of the stats bloc in the products list
  • Add API_KEY field to display the map
  • Fix html interpreted as text in carrier’s wizard summary
  • Fix non well formed numeric value
  • …and several other fixes.

The PrestaShop 1.6.1.14 changelog is available.

Since version 1.6.1.14 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.14.

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

  • @aleeks
  • @AlexEven
  • @axometeam
  • @enumag
  • @davideapvd
  • @hibatallahAouadni
  • @idnovate
  • @maximebiloe
  • @mcdado
  • @Scritik
  • @studiokiwik
  • @toutantic
  • @unlocomqx

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.14 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 21 & 22 of 2017

$
0
0

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

Core Weekly banner

General messages

After a week of internal back and forth between QA and Dev team, PrestaShop 1.6.1.14 was released yesterday, yay! One week late from our expectations, but still, we’re cruising along!
Likewise, 1.7.1.2 should land preeeeeetttty soon! :)

And, finally, a small update on the test version of the 1-Click Upgrade module. We had issues on the .com, so we’ve decided to host the test module on GitHub for now. Please download the test module and give us your feedback on the latest changes!

Code changes in the ‘develop’ branch (for 1.7.2.0)

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

Core

  • #7563: Update customerExists function in Customer.php. Thank you @martinfojtik!
  • #7678: Disable php in the “img” directory. Thank you @yannicka!
  • #7827: Fix spelling from conversation to conversion rate.. Thank you @howardnoz!
  • #7899: Refactoring naming, by @aleeks.
  • #7912: Increase carrier delay length, by @aleeks.
  • #7914: CO: Changed SearchController extend to allow override. Thank you @willowcreation!
  • #7915: Rethrow an exception instead of calling die when there is an erro…, by @aleeks.
  • #7930: Update phpDoc in ProductDownload class. Thank you @prestaedit!
  • #7931: Update comments of Validate class. Thank you @yannicka!
  • #7936: Fix value giftWrapping in OrderPresenter.php. Thank you @0kph!

Back office

  • #7613: Add new hooks to admin product page. Thank you @martinfojtik!
  • #7820: Improve tag tips in product page, by @vincentbz.
  • #7837: Image not displayed in BO when creating new store, by @fatmabouchekoua.
  • #7861: Bug with override AdminProductsController. Thank you @dariusakafest!
  • #7865: Fix redirect payment module retrieving good category, by @aleeks.
  • #7882: Add translations domains to BO templates, by @alexeven.
  • #7887: Allow filtering of modules by display name inside the translations controller. Thank you @prestamodule!
  • #7898: Merge PRs from 1.7.1.x, by @aleeks.
  • #7903: Fix moving module from a hook to another one, by @fatmabouchekoua.
  • #7910: Can translate submenu tab!, by @aleeks.
  • #7921: Fix trans errors of old translation page, by @quetzacoalt91.
  • #7932: Fix fatal on order page, by @maximebiloe.
  • #7933: Add translation domains to more BO templates, by @alexeven.
  • #7937: Add missing simple quote in Design -> Images view. Thank you @mortred974!

Front office

  • #7554: Allow HTML in notifications. Thank you @kpodemski!
  • #7688: Introduce new hooks for main wrapper. Thank you @prestamodule!
  • #7816: Order in catalog for calculate vouchers, by @kompilorb.
  • #7907: Edit address for a Guest, by @kompilorb.
  • #7909: Wording checkout delivery, by @aleeks.
  • #7926: Fix mobile style toggling. Thank you @tiledcode!

Tests

  • #7918: Add more tests files, by @aleeks.

Web service

  • #7904: getSynopsisDetails() output inialized as array() instead of ‘’. Thank you @gasparfm!

Localization

  • #7818: LO: Replace EN (US) by EN (UK) in UK localization pack, by @alexeven.

Code changes in the ‘1.7.1.x’ branch (for v1.7.1.0’s patch versions)

Next, let’s review the merged pull-requests on the ‘1.7.1.x’ branch since the last Core Weekly Report!

Core

  • #7901: Use composer cacert file by default, by @aleeks.

Back office

  • #7935: Make the sub-categories disabled when you edit the category, by @hibatallahaouadni.

Code changes in the ‘1.6.1.x’ branch (for v1.6.1.0’s patch versions)

Next, let’s review the merged pull-requests on the ‘1.6.1.x’ branch since the last Core Weekly Report!

Core

  • #7814: Increase carrier delay length. Thank you @enumag!
  • #7913: Send Http 500 error code when we can’t connect to the database instead of a 200 code, by @toutantic.
  • #7917: Send Http 500 error code when we can’t connect to the database instead of a 200 code, by @aleeks.

Back office

  • #7622: Set correct value on load to display the right tab. Thank you @idnovate!
  • #7722: Translation of return merchandise fields, by @hibatallahaouadni.
  • #7755: Fix non well formed numeric value, by @scritik.
  • #7764: Fix html interpreted as text in carrier’s wizard summary, by @scritik.
  • #7765: Fix error in HelperOptions, by @scritik.
  • #7806: Fix the refresh button of the stats bloc in the products list, by @hibatallahaouadni.
  • #7815: Fix customer message order. Thank you @enumag!
  • #7821: Add API_KEY field to display the map, by @hibatallahaouadni.
  • #7908: Fix taxes in credit slip, by @hibatallahaouadni.
  • #7925: Make the sub-categories disabled when you edit the category, by @hibatallahaouadni.

Front office

  • #7350: Fix 404 bug when query string contains a LF. Thank you @unlocomqx!
  • #7673: Shipping cost indication wrong, by @hibatallahaouadni.
  • #7758: Fix manufacturer pagination, by @hibatallahaouadni.
  • #7798: Fix JS error “Uncaught ReferenceError”. Thank you @mcdado!

Localization

  • #7819: Replace EN (US) by EN (UK) in UK localization pack, by @alexeven.

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @0kph, @dariusakafest, @enumag, @gasparfm, @howardnoz, @idnovate, @kpodemski, @martinfojtik, @mcdado, @mortred974, @prestaedit, @prestamodule, @tiledcode, @unlocomqx, @willowcreation, and @yannicka!

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

$
0
0

PrestaShop 1.7.1.2 is now available. This maintenance release fixes 28 issues reported on version 1.7.1.

Version 1.7.1.1, released in April, brought a lot of needed updates to v1.7.1.0, two weeks after the release of that new minor version. As a patch version, 1.7.1.2 brings further goodness and stability to the 1.7.1 branch.

Some of the most notable fixes are:

  • Add a scrollbar for editor
  • Fix for CMS tree on sitemap
  • Refresh product line on quantity change in cart & Show discount to cart summary
  • Use composer cacert file by default
  • Upgrade theme modules & disabling them in the same time that the theme

Download PrestaShop 1.7.1.2 now!

Here is the complete list of changes:

  • Back Office:
    • Bug fix:
      • #7891: Set value for Short Desc
      • #7860: Deny legacy module page view
      • #7789: Message Customer on order details page
      • #7801: Choose Theme on Mail Translation
      • #7790: Add a scrollbar for editor
      • #7783: Versions completions for the max value
      • #7807: Partial revert of 0c42257 to fix profiling mode in BO
  • Front Office:
    • Bug fix:
      • #7795: Fix allow order value
      • #7773: Fix for CMS tree on sitemap
      • #7785: Fix slide down of carrier extra content in order funnel
      • #7797: Translate file upload button label
      • #7805: Fix word break classic
      • #7762: Allow image for categories when no description
      • #7761: Refresh product line on quantity change in cart & Show discount to cart summary
      • #7747: Fix the except_pages in theme.yml
      • #7745: Fix radio buttons on faceted search
      • #7759: Convert voucher value
  • Core:
    • Bug fix:
      • #7901: Use composer cacert file by default
      • #7826: Allowed redirect protocol with Tools::file_get_content (curl)
      • #7800: Fix assets path when theme has the same name than PS
      • #7770: Return array when it’s wanted if the hook doesn’t exist
      • #7766: Fix displayError when string is using sprintf
      • #7740: Fix missing {url entity=product id=X}
      • #7752: Upgrade theme modules & disabling them in the same time that the theme
  • Installer:
    • Bug fix:
      • #7846: Fix install/upgrade/upgrade.php for php-5.4 syntax
  • Web Services:
    • Bug fix:
      • #7732: Change variable from string to array for php 7

The PrestaShop 1.7.1.2 changelog is available.

Contributors to this patch version, from both the Core team and the community at large: @aleeks, @quetzacoalt91, @vincentbz, @fatmabouchekoua, @kompilorb, @iqit-commerce, @maximebiloe, @transkontrol, @nihco2, @prestamodule, and @joelsanchez. Thank you!

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

PrestaShop Day Paris is next week!

$
0
0

The date is approaching! We will welcome you at this year’s edition of the PrestaShop Day Paris event next week, on Thursday 15th!

PrestaShop Day Paris

The event will be held at the Cité de la Mode et du Design, a famous landmark along the Seine river.

Cité de la Mode et du Design

This year, the theme is “Inspire. Learn. Grow. Share.” There is much to say about each, and it shows in the schedule!

Book your ticket now!

And don’t forget the two community events tagging along!

Come and meet the PrestaShop community!

PrestaShop Core Weekly - Week 23 of 2017

$
0
0

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

Core Weekly banner

General messages

Last week was rather eventful, with the release of both 1.6.1.14 and 1.7.1.2. We’re happy to keep delivering patch versions for the current releases of 1.6 ans 1.7, while working on the next minor version, 1.7.2.0.

This week looks to be just as eventful, as the whole company will welcome visitors to the PrestaShop Day 2017 in Paris! Join us and let’s celebrate PrestaShop’s 10 birthday! I myself will be lead the barcamp session – you can still suggest topics!

See you there!

Code changes in the ‘develop’ branch (for 1.7.2.0)

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

Core

  • #7862: Throw module events right after each action and remove reset, by @quetzacoalt91.
  • #7962: Fix wrong keys for cache, by @quetzacoalt91.
  • #7965: Allow .ico to /img, provide error server, by @aleeks.
  • #7966: Use the right array index while getting controller tab name. Thank you @prestamodule!
  • #7984: Fix module loading for upgrade process and version displayed, by @quetzacoalt91.
  • #7991: Fix phpDoc. Thank you @prestaedit!

Back office

  • #7698: Unable to unselect the last image associated to a combination. Thank you @123monsite-regis!
  • #7894: Fix bug when having more than three product image, by @fatmabouchekoua.
  • #7916: Fix min width to select filters, by @fatmabouchekoua.
  • #7922: Fix redirection when filtering in attribute’s value, by @fatmabouchekoua.
  • #7942: Code Optimization, by @kompilorb.
  • #7951: Fix displayed shortcut in product page, by @quetzacoalt91.
  • #7955: Don’t get admin notifications while it’s all disabled. Thank you @prestamodule!
  • #7957: Add Missing space, by @vincentbz.
  • #7964: Fix flush of local cache when adding a new specific price, by @aleeks.
  • #7978: Update diplayed module count on successful uninstall, by @quetzacoalt91.
  • #7980: BO: Fix html tags to get the current ISO country code. Thank you @rubenmartins!
  • #7987: Fallback datepicker if needed, by @aleeks.

Front office

  • #7564: FO: enabling category canonical redirection. Thank you @123monsite-regis!
  • #7566: Send response data to emitted events. Thank you @martinfojtik!
  • #7661: Update wording cart-detailed-actions.tpl. Thank you @nobodaddy!
  • #7780: Allow to define module front controllers layout. Thank you @tonyyb!
  • #7833: Added message delivery information on checkout process, by @aleeks.

Localization

  • #7696: Update colombian tax rate. Thank you @jorgevrgs!

Web service

  • #7664: Retrieve text only from selected customization. Thank you @agnessymediane!

Tests

  • #7945: Add PHP 7.1 as optional on Travis, by @quetzacoalt91.
  • #7973: Add tests related to auto tab registration, by @quetzacoalt91.
  • #7988: PHP 7.1 mandatory in tests, by @quetzacoalt91.

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @123monsite-regis, @martinfojtik, @nobodaddy, @prestaedit, @prestamodule, @rubenmartins and @tonyyb!

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 Day Paris is coming this week!

$
0
0

PrestaShop Day is shaping up to be a great event again (grab your ticket!), and we are happy to welcome contributors at both the Contributor Night on the day before, and at the barcamp within the PS Day.

PS Day Paris will bring together hundreds of members of the PrestaShop ecosystem, including merchants, agencies, freelancers, students, etc.

Many are coming to Paris especially for this event (as well as the WordCamp Europe from our friends in the WordPress community on Friday and Saturday). This is a great occasion to mingle and exchange – as well as celebrate PrestaShop’s 10th birthday!

As you know, two community events are being prepared:

  • the Contributor Night, on the day before, right in PrestaShop’s Paris office.
  • the barcamp, during the PS Day, in its own location within the walls of the global event.

Join us for community fun! You can add yourself to the Contributor Night on Meetup.com, and suggest barcamp topics right now– you can also suggest topics on the day of the event, if there are time slots available.

The current barcamp topics are about SEO, Community, Theme creation, Symfony, and contributing. What would like to talk about?

See you soon!

PrestaShop Core Weekly - Week 24 of 2017

$
0
0

This edition of the Core Weekly report highlights changes in PrestaShop’s core codebase during the last two weeks, from Monday 12th of May to Sunday 18th of June 2017.

Core Weekly banner

General messages

Last week came and went with a flash, and what a week it was!

For starters, most of the PrestaCrew Paris members were welcoming the community at PrestaShop Day Paris.

The PrestaCrew at PrestaShop Paris 2017

PS Day is always a great way to celebrate the path so far, have a look at what’s to come, and enjoy spending time together. It’s always a special time for the whole team.

This one was special, as we celebrated PrestaShop 10th birthday – along with a couple of announcements.

The PrestaCrew at PrestaShop Paris 2017

Now that we are rested, let’s focus on the year to come!

See you next year!

Code changes in the ‘develop’ branch (for 1.7.2.0)

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

Core

  • #7996: Fix product with combinations auto-indexation, by @maximebiloe.

Back office

  • #7835: Translations page rework & Stock management, by @maximebiloe.
  • #7853: Fix selecting category for product, by @fatmabouchekoua.
  • #7923: Fix displayed price on cart (HT/TTC), by @fatmabouchekoua.
  • #7956: Remove length validation from ISBN field, by @fatmabouchekoua.
  • #7972: 1.7.2 wording update - BO + FO, by @alexeven.
  • #7983: Add discount to cart, by @aleeks.
  • #7989: “Slightly” improve performance on Modules > notifications tab, by @quetzacoalt91.
  • #8007: BO: Update Country in Store Contacts CSV File, by @vincentbz.

Front office

  • #7992: Fix refresh availability of product, by @fatmabouchekoua.
  • #7990: Remove banner hidden class for mobile device, by @nihco2.
  • #7994: Optimize search::find queries, by @aleeks.
  • #7998: Format error message, by @fatmabouchekoua.
  • #8006: Fix classic responsive, by @vincentbz.

Installer

  • #7977: Drop unused fields from ps_product_lang, by @fatmabouchekoua.
  • #7993: Avoid INSTALL_PATH re-define error. Thank you @soullivaneuh!

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

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!


Stock Management in PrestaShop 1.7 - part 2

$
0
0

In a previous article, we’ve explained the reasons why we’re rebuilding the stock management system in 1.7. We detailed the initial brief of this project: the context, our intentions, what was out-of-scope and the expected outcome. In this article, I want to dive into our methodologies and the main steps of this project.

Remember this diagram?

Product process

It outlines the workflow of product management, design and development we’ve put into practice to ship a new major feature. Now we’re going to explain how we followed the 2 first main steps of this workflow (Discovery, Solution) and what we learned on the way, i.e. how we narrowed down problems worth fixing and how we looked for appropriate solutions.

1- Discovery = user research

Our goal during this step was to get a good understanding of the challenges and problems PrestaShop users are facing regarding stock management.

Qualitative discovery with 1:1 interviews

During the first weeks of user research, I spent hours interviewing PrestaShop merchants to really understand how they manage their stock. When I had the chance, I visited their warehouse or their shop to see how they’re organized.

WarehouseWarehouseWarehouse

My questions to them were about:

  • Their profile, the size of their online business.
  • Their workflows, the tools they use.
  • Their use-cases of PrestaShop.
  • The problems or frustrations they were facing at the time with their tools.

After 15 of these interviews I was starting already to see what were the most common problems, needs and behaviors. I had identified 5 use-cases for stock management:

  • Overview of stock level.
  • Procurement: prepare purchase orders.
  • Provisioning and adjustments: update the stocks when receiving purchase orders or when doing an inventory regulation.
  • Preparation of customer orders.
  • Accounting.

And the main problems with Advanced Stock Management (ASM) in version 1.6 were the following:

  • Too much setup at the beginning, after enabling ASM.
  • Many bugs (especially inconsistent stock values).
  • Too complex to use: updating a quantity required many steps, it wasn’t adapted to supply order management nor multi-warehouse management.

Quantitative validation with online survey

Based on these interviews but also on feedback on our bug tracking tool, I started drawing hypotheses about PrestaShop merchants’ needs regarding stock management. In order to confirm or invalidate these assumptions, I sent a survey to our User Club. It received 65 responses, from 10 different countries. The results were the following.

Hypothesis #1: “Very few merchants actually use Advanced Stock Management in PrestaShop 1.6.”

=> TRUE

The result of the survey was a bit surprising at first. When I asked the merchants about the tools they use to manage their stocks, 26% of them answered they only relied on 1.6’s Advanced Stock Management feature, which was a lot more than I expected. However, looking at their comments in the next question, I discovered they were actually struggling to make it work.

Verbatims from these very same people were:

“Products that have physical stock but there is nothing in stock!”

“Quantity at adv mgmt doesn’t tally with available stocks.”

“Stock management is not stable.”

“I have problems with certain articles. I cannot remove them because there is physical stock. But there is no stock!”

In the end, it turned out they were trying to use ASM but not actually using it.

Hypothesis #2: “Most of the small-sized merchants only have one warehouse.”

=> FALSE

I assumed that only larger merchants (with many products in catalog and many orders per day) would have more than 1 warehouse.

But the survey showed that there’s no significant difference between small and large merchants in their number of warehouses they have, and about 20% of them actually had more than one warehouse… which brings us to the next hypothesis ;)

Hypothesis #3: “ASM does not meet the merchants’ most essential needs.”

=> TRUE

Based on the qualitative interviews and my own experience of ASM, I already had a hunch that this hypothesis was true.

What the survey confirmed is that for 35% of the people who tried ASM and gave up, the main reasons were that it didn’t fit their needs or it didn’t work correctly.

More interestingly, the survey allowed to rank the features merchants look for and want to rely on with PrestaShop’s ASM:

  1. Track stock movements.
  2. Overview of catalog stock.
  3. Procurement / Manage supply orders.
  4. Estimate stock coverage.
  5. Multi-warehouse.

If we also consider the corresponding comments which described…:

  • The interfaces to increment/decrement stock as too clunky,
  • The quantities displayed in different parts of the back-office as inconsistent,
  • The global lack of reliability…

…then the conclusion was that PrestaShop ASM didn’t do its job well, even for simple tasks like displaying a stock overview or editing quantities. It also showed that “ERP-like” features such as multi-warehouse management were not the merchants’ top need.

2- Solution = build a solution that meets users’ needs

Once user research was completed, we formalized an initial brief, described in the previous article, and stated our intention: provide merchants with a new inventory management interface that allows them to get a clear and consistent overview of their stock, to quickly edit quantities and to track stock movements.

To complete this goal:

  • We assembled a team consisting of 1 product manager + 1 product designer + 2 developers.
  • We adopted an iterative process to test our ideas.

During each of the 4 sprints*, our routine was the following:

  • Ideation workshop: the team assembled to sketch solutions ideas to specific problems.
  • Prototype crafting.
  • Test the prototype with 5 users.
  • Debrief together and decide what to work on during the next sprint.

* a sprint is a development iteration. It lasts 2 weeks at PrestaShop.

Sprint #1

What we wanted to test

  • If the table presentation of stocks is easy to understand.
  • If people catch the meaning of physical, reserved and available stock.
  • If users can edit product quantities, either one by one or in bulk.

Prototype

The first prototype was made with Balsamiq. It looks “low-fidelity” but allowed to quickly test our first interfaces without over-designing it.

First prototype

What we learned

  • The table’s structure was clear and the notions of physical, reserved and available stocks easy to understand.
  • The process to edit quantities was too long, with too many steps.
  • The presentation of products with combinations wasn’t clear… and unfortunately it took us time to realize we got it wrong!

Reflecting on that last point now, the problem is that we tried to over-anticipate a technical limitation that actually didn’t exist - remember the “premature optimization is the root of all evil!”. In order to avoid performance limitations when displaying products that have hundreds or even thousands of combinations (as we wrongly thought so), we designed a specific table for the combinations of a product, accessible with the “view all combinations” button. In the next prototypes we stuck with it, looking for a local optimum by marginally improving the UI instead of questioning the UX. Fortunately we realized the issue afterwards!

Sprint #2

What we wanted to test

  • If the new steps to edit the quantities were simple and fast enough.
  • If people would better understand the presentation of product with combinations.
  • If testers could use the bulk edition of quantities.
  • If users understood how they could specify a movement label for a stock edition.

Prototype

This one was made with Sketch and the flow was set up on Invision in order to give a more “real” experience and help users project themselves in the prototype.

Second prototype

What we learned

  • Edition of quantities was simple enough and the input field to edit quantities was fine.
  • Most of the testers didn’t understand the steps to follow to edit quantities in bulk. After this test, we decided to put this feature of bulk edition on hold since it wasn’t clear how we could solve this problem and it wasn’t a critical need.
  • Users didn’t see / need / understand how they could give a movement reason.

Sprint #3

What we wanted to test

  • How users look for products: either with the search bar + filters, or with quick search fields above the table.
  • If the ‘advanced filters’ were relevant.
  • If this interface could be enough to prepare supply purchases (procurement).

Prototype

Third prototype

What we learned

  • The search bar and filters were users’ first instinctive choice. There was no real case to keep the quick search fields above the table.
  • This interface would not be convenient to prepare procurement: it lacked essential information like alert stock level, ideal stock level, purchase prices, sales stats…

Sprint #4

What we wanted to test

  • If users can specify a stock movement label when editing quantities, whether it’s for one product or for several products at once.
  • If users find how they can have an overview of the stock movements history and if the stock movements table is understandable.
  • If the stock movement history table could be suitable for accounting purposes.

Prototype

Fourth prototype

What we learned

  • Users succeeded in using movement type labels, but with difficulties. It seemed the steps order was not was they expected. Moreover, it lacked labels: users wanted to add their own labels. Since it wasn’t very conclusive, we decided to put this feature on hold and work on other solution candidates after the launch of a first version of this interface.
  • The table of stock movements would absolutely not be convenient for accounting: it lacked too many information. That would be a topic for a more advanced feature.

Conclusion

At the end of these 4 iterations we estimated we had collected enough feedback to move on with the development of the interfaces. Inevitably, we spotted new issues during the development and we had to find other creative solutions. When we felt stuck we always arbitrated in favor of the simplest solution. So please don’t assume the first version will look exactly the same as in the prototypes.

The 8 weeks we spent iterating over a new stock management interface were really exciting for the whole team. We contacted 20 people from all around the world and collected extremely useful feedback. Thanks to doing the test remotely over Skype, testers could share their screen and show us how the creative features and workarounds they developed to solve their stock management needs: it was a great source of inspiration!

Call for volunteers

It is thanks to this precious user feedback that we could iterate upon several prototype versions. You want to be part of the next test sessions and help us improve PrestaShop’s stock management system? Then register today!

Register!

Of course your participation is optional but we would be really happy if you accept to take part in the tests. The more people participate, the more we can improve PrestaShop. If you accept, depending on your profile, you’ll receive an invitation in the coming weeks for a test session. Tests are done remotely (on Skype or Google Hangouts) and usually last 30 minutes. It can be done in English or French.

See you in the third an final article about stock management in 1.7 – or at the next test session!

Do you speak PrestaShop? – May 2017 edition

$
0
0

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

Crowdin Monthly banner

Project news

Top languages evolution since January

A lot of words have been translated since the beginning of the year :) Here’s a quick overview of the evolution of the most active languages over the past few months - Thanks for your involvement!

Crowdin Monthly banner

Deactivating Swiss-German in PrestaShop

It’s been a while that the German for Switzerland is avalaible for Switzerland merchants. However, this language does not bring any value to merchants at the moment: Indeed, it is similar to the German language, and hasn’t been localized to answer the needs of the Swiss market. Confusing.
Thus, from 1.7.2.O onwards, the Swiss localization package will load the German language only.

The German, Switzerland translation project has also been removed from the Crowdin translation project. It has never really been maintained and it remained inactive for too long.

In the future, if merchants want to this language back, we’d be happy to re-open the language on Crowdin :)

Deactivating inactive languages on Crowdin

In the same spirit, other inactive languages have been removed from the Crowdin project:

  • Bosnian
  • German, Austria
  • Irish
  • Kannada
  • Malagasy
  • Oriya
  • Spanish, El Salvador
  • Spanish, Honduras
  • Swahili
  • Swahili, Tanzania
  • Telugu

Again, if you wish to contribute for one of these languages, please drop us a word at translation@prestashop.com, and this language will be available for translation again on Crowdin.

1.7.2 on its way

As per our release planning, we’re preparing version 1.7.2.0.

Before its release, we will upload its strings to the Crowdin project:

  • so that translators have the time to translate this version
  • to check the content and see if any modifications are needed

There will be new content to translate soon, mostly for the Stock Management feature (which will be back in 1.7.2.0), so your help will be required. Of course, we’ll let you know on Build when the new content is uploaded!

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

A few stats

  • 48 members were active on the project this month.
  • A total of 35,955 words have been translated and 29,480 validated.
  • All this in 39 different languages.

Thank you for your involvement!

Top contributors

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

Top 10 translators in May:

 TranslatorLanguage# Words
1.Jesús Ruiz (jruiz)Spanish14,454
2.Yuji Sugimoto (bm-sugi)Japanese6,342
3.SeongHyeon Cho (jaymz9634)Korean2,864
4.Mohammed Chakir (idchakirm5)Arabic2,417
5.khouloud_SIFASTArabic2,007
6.Roger López (rogerlopz)Spanish, Mexico1,672
7.M. Mirena (mmirena)Albanian1,100
8.RogerWMMCatalan965
9.Cha (cafetango)Chinese Traditional753
10.Carlos Loyola Vásquez (carlosloyola14)Spanish, Peru539

Top 10 proofreaders in May:

 ProofreaderLanguage# Words
1.Jesús Ruiz (jruiz)Spanish9,115
2.SkaZun (raidhunters)Ukrainian6,592
3.Yuji Sugimoto (bm-sugi)Japanese6,783
4.Stamatis (breezer)Greek3,829
5.KoralPolish3,313
6.Morten Borg (mortenborg)Danish1,643
7.AmirRzdPersian1,358
8.Cha (cafetango)Chinese Traditional1,045
9.Stanislav Yordanov (StanProg)Bulgarian929
10.DaoKakaoRussian911

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

BulgarianEnglishFrenchFrench, Canada
French, CanadaGermanGreekItalian
NorwegianRussianSlovakSlovene
SpanishSwedishTurkish 

On its side, PrestaShop 1.7.1 is fully available in 15 languages!

CroatianEnglishFrenchFrench, Canada
GermanGreekItalianNorwegian
RussianSlovakSloveneSpanish
SwedishTurkishUkrainian 

Languages with the best evolution

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

  • Arabic (+9% to reach 64% translated in 1.7)
  • Japanese (+4% to reach 82% translated in 1.7)
  • Korean (+3% to reach 21% translated in 1.7)
  • Catalan (+2% to reach 94% translated in 1.7)

Best translation progress for May 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 % 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 May 2017, some languages would still benefit from some proofreading:

  • Galician (66% vs 46% in 1.7)
  • Arabic (64% translated vs 18% validated in 1.7)
  • Japanese (82% translated vs 63% validated in 1.7 - getting better!)
  • Romanian (95% vs 76% in 1.7)

Languages that need proofreading

Again, these figures are mostly for 1.7, but 1.6 needs some proofreading too :)

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!

1.7.2 is ready for translation

$
0
0

As you might have guessed, PrestaShop 1.7.2 is on its way, and with it some new strings are coming too. We’ve just updated the Crowdin project to add the strings that appeared since v1.7.1.0: PrestaShop 1.7.2 is now open for translation!

Our goal is to release PrestaShop 1.7.2 with the highest possible level of translation, therefore we’re opening the translation some time before the actual release takes place. It is possible that some strings will be updated afterward - if we spot some mistakes or add some more domains.

New domains and domain transfers

Two translation domains were added, therefore we have new folders in the project:

DomainContent
Admin.Navigation.SearchContent for the search bar and its result page.
Admin.Login.FeatureStrings from the login page of the administration panel.

If you need a reminded about what domains are for, read this article.

To provide still more context, we transferred a lot of strings available in the messages domain to the most relevant domains, mainly in the Admin section. This is not supposed to affect the existing translations, but it might, however, incur some losses. Fingers crossed!

New content

The major changes on the 1.7.2 are to be found on the side of stock management. With a new stock management interface, some new strings appeared in version 1.7.2.

The new stock interface is displayed in the Catalog section, therefore most stock-related strings will fall under the Admin.Catalog subdomains.

Some more changes to the codebase imply new or modified strings, among which:

  • new strings for the search on the translation page
  • updated error messages with clearer variables
  • some strings that were previously not translatable are now available on Crowdin
  • various strings rewritten for improvement.

Closing 1.7.1 translation project

For maintenance purpose, we’re only keeping the latest minor version active on Crowdin. We will thus soon remove the 1.7.1 project from Crowdin. Only 1.7.2 will be available for translation from there on (until version 1.7.3 comes).

The 1.7.1 language packs will be updated one last time when closing the 1.7.1 project and will no longer be updated. New translations will be available with 1.7.2 (on its way!).

So, well, what’s the conclusion? We’re calling for translators to help translate PrestaShop 1.7.2!

PrestaShop Core Weekly - Week 25 of 2017

$
0
0

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

Core Weekly banner

General messages

Let’s just say that version 1.6.1.15 of PrestaShop should be released soon ;)

Also, the 1.7.2.0 GitHub milestone is 100% complete. This means that all current pull requests have been dealt with, and that we are entering the testing phase for this next minor version of PrestaShop 1.7. We’re hoping for an early/mid July release. Fingers crossed!

Oh, also: if you’re building child themes, remember that they can have their own translation :)
Check out the ‘childtheme-example’ repository for a nice recap of this feature!

Have a nice week!

Code changes in the ‘develop’ branch (for 1.7.2.0)

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

Core

  • #7889: Introduce module self configurator feature, by @quetzacoalt91.
  • #7941: Add total amount TTC in credit slip, by @fatmabouchekoua.
  • #8028: Update regex for tab registration, by @quetzacoalt91.
  • #8047: License, composer, catalog, assets, by @aleeks.

Back office

  • #7808: Add tooltips on product’s combination image, by @kompilorb.
  • #7911: Fix style of selected customer in product page, by @fatmabouchekoua.
  • #7934: Fix float conversion from strings using comma as decimal separator, by @eternoendless.
  • #7939: Fix the categories tree, by @hibatallahaouadni.
  • #8003: Fixed import store in backoffice, by @aleeks.
  • #8004: Fix displayed combination creation field, by @fatmabouchekoua.
  • #8008: Clean AdminProductsController, by @maximebiloe.
  • #8014: Show Duplicate option when multishop selected, by @fatmabouchekoua.
  • #8016: Display module confirm uninstall message, by @fatmabouchekoua.
  • #8024: Fix legacy submenu laptop, by @nihco2.
  • #8027: Currencies live exchanges rates upload, by @kompilorb.
  • #8031: Placeholder width in declination page, by @kompilorb.
  • #8039: Translations feedback, by @maximebiloe.
  • #8041: Feedback stock management, by @aleeks.
  • #8044: Fix the conversion_rate in the order_payment table, by @maximebiloe.
  • #8045: GSA quick fixes, by @nihco2.

Front office

  • #7952: Add class selected to selected address, by @fatmabouchekoua.
  • #7959: Empty customization ID after adding to cart. Thank you @unlocomqx!
  • #8005: Fix legal compliance in footer in mobile display, by @maximebiloe.
  • #8009: Remove contact form after submit, by @fatmabouchekoua.
  • #8010: Make the edit link translatable, by @fatmabouchekoua.
  • #8019: Missing product-flag class on product miniature. Thank you @soullivaneuh!
  • #8034: Apache rules for .woff2 font files, by @maximebiloe.
  • #8036: Fix cart front, by @maximebiloe.
  • #8040: Wrong close of ‘product_tabs’ {block} in product.tpl. Thank you @addisnetwork!

Test

  • #8037: Make tests working with new build of Travis, by @quetzacoalt91.

Installer

  • #7981: Fix upgrade from very old versions. Thank you @martinfojtik!
  • #8018: URL update for installer, by @alexeven.

Localization

  • #7949: India states update. Thank you @ish6614!
  • #8000: Install Deutsch instead of Deutsch CH for Switzerland, by @maximebiloe.

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

Core

  • #7560: getBaseLink() should be public. Thank you @inem0o!
  • #7963: Fix wrong keys for cache, by @quetzacoalt91.
  • #8023: Fix AdminSlipController filter. Thank you @vinvin27!

Back office

  • #7447: Do not clutter webcaches with duplicated assets’ objects. Thank you @drzraf!
  • #7793: Fix the conversion_rate in the order_payment table, by @hibatallahaouadni.
  • #7940: Fix the categories tree, by @hibatallahaouadni.
  • #7943: Fix available quantity for stock management items in Order_edit & FO, by @hibatallahaouadni.
  • #7947: Display product reference in Stock management list, by @hibatallahaouadni.
  • #7953: Fix subcategories pagination. Thank you @axometeam!
  • #7961: Eliminate currencies doubling in stock management currency list, by @hibatallahaouadni.
  • #7968: Fix ASM real quantity issues when changing SupplyOrder status, by @hibatallahaouadni.
  • #7974: Add the condition of SSL_ENABLED to Google Maps, by @hibatallahaouadni.
  • #8015: Prevent adding pack in itself, by @hibatallahaouadni.

Front office

  • #7607: Fix line endings in theme’s JS files. Thank you @mcdado!
  • #7788: Fix Category Block in the Left Sidebar on Sitemap Page, by @hibatallahaouadni.
  • #7948: Apache rules for .woff2 font files. Thank you @axometeam!
  • #7995: Fix the specific price of the default combination, by @hibatallahaouadni.

Localization

  • #7967: Update colombian tax rate, by @aleeks.

Web service

  • #7946: Fix preg_replace /e modifier for PHP 7.1. Thank you @axometeam!

Thank you to the contributors whose pull requests were merged since the last Core Weekly Report: @addisnetwork, @axometeam, @drzraf, @inem0o, @ish6614, @martinfojtik, @mcdado, @soullivaneuh, @unlocomqx, and @vinvin27!

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

$
0
0

PrestaShop 1.6.1.15 is now available. This maintenance release has seen 19 pull requests merged since version 1.6.1.14.

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

Download 1.6.1.15 now!

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

  • Fix the conversion_rate in the order_payment table
  • Fix the specific price of the default combination
  • Fix the categories tree
  • Fix subcategories pagination
  • Display product reference in Stock management list
  • Fix available quantity for ASM items in Order_edit & FO
  • Fix ASM real quantity issues when changing SupplyOrder status
  • Eliminate currencies doubling in ASM currency list
  • Fix wrong keys for cache
  • Do not clutter webcaches with duplicated assets’ objects
  • …and several other fixes.

The PrestaShop 1.6.1.15 changelog is available.

Since version 1.6.1.15 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.15.

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

  • @aleeks
  • @axometeam
  • @drzraf
  • @hibatallahaouadni
  • @inem0o
  • @mcdado
  • @quetzacoalt91
  • @vinvin27

A huge “thank you!” to each of the 5 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.14 is completely safe; upgrading from a standard 1.6.0.x version should work just as well. Those upgrading from version 1.5, 1.4 or even 1.3 should take their time and pay attention to their modules, their theme and their custom modifications!

Viewing all 941 articles
Browse latest View live