1 of 47

Public OSS demo

Welcome!

October - Session 9

06/10/2021

2 of 47

Hello !

QA Analyst

And today’s presenter

Pablo Borowicz

VP of Core engineering

Mateus Shirlaw�Product Manager

Julie Varisellaz

Product content manager

Tristan Lehot

Product designer

Scott Cosio

Product designer

3 of 47

Today’s agenda

Introduction

  • Event rules

Announcements

  • PrestaShop 1.7.7.8 released
  • PrestaShop 1.7.8.0 being released right now!

Demos

  • Next PrestaShop version by @eternoendless
  • Product page discovery by @MatShir and @TristanLDD
  • Content style guide by @Julievrz and @prestascott

Q&A

4 of 47

Event rules

  1. Please use the chat to ask questions.�The video stream is ~1 min delayed – don’t wait until the end of the stream to post your questions!
  2. This event is about the PrestaShop open source project.�PrestaShop company is off topic.�

  • This event is public and recorded.�Record will be shared publicly.��
  • Participants must abide by the Code of Conduct of PrestaShop project.��

Code of Conduct can be read at https://www.prestashop-project.org/code-of-conduct/

5 of 47

Announcements

6 of 47

Announcements

PrestaShop 1.7.7.8 has been delivered on the 14th of September.

This patch release fixes 3 regressions reported on previous 1.7.7 versions.

7 of 47

Announcements

8 of 47

Demonstrations

9 of 47

Demo #1

Next PrestaShop version by @eternoendless

10 of 47

PrestaShop 1.7

  • 1.7.0 released 5 years ago
  • 8 minor releases since
  • Introduced new tech
    • Classic theme / child
    • Symfony & Twig
    • UI kit & VueJS (Back Office)
    • CQRS
  • Kickstarted PrestaShop’s tech transformation

11 of 47

Our goal

“The future architecture”�Published almost 2 years ago!

12 of 47

1.7 could go on for 5 more years

...but should it?

13 of 47

Avoiding breaking changes for 5+ years, it’s hard!

The PHP ecosystem is accelerating

  • New PHP versions every year
  • Libraries get outdated quickly

Symfony 3.4 EOL is just around the corner

  • End of support on November ‘21

We will have to introduce breaking changes sooner or later.

14 of 47

The community needs more visibility for important subjects

“When can we expect the next version?”

→ Should I wait or can I start my project now?

“What kind of changes will it bring?”

→ Will my modules work with it?

“How long will I receive patches?”

→ When will I need to reinvest to upgrade?

We can’t provide visibility if we continue pushing changes for later.

15 of 47

We need to encourage collaboration within the community

PrestaShop is a community OSS project

  • Historical miscommunication about the project’s nature (spoiler: it’s not freemium!)

Low community engagement

  • Unclear governance
  • Majority of merged Pull Requests come�from a small number of contributors

The more we collaborate, the further we will go, and the faster we will get.

16 of 47

Our plan moving forward

  1. Boost PrestaShop’s technical transformation
    • Continue work started on 1.7 Symfony migration, CQRS, …
    • Be pragmatic & more focused about it�i.e. choose our battles
    • Accelerate the process�...by releasing major versions more often

17 of 47

Our plan moving forward

  • Provide more visibility
    • Fully comply with SemVer’s version scheme and semantics�Major version ≠ rewrite
    • Adopt a regular release cycle�...so you know when to expect BCs
    • Clearly define how long a version is supported�So that merchants can know how long they are covered

18 of 47

Our plan moving forward

  • Stimulate community engagement
    • Onboard community maintainers�Already started!
    • Open up the project’s governance�To help prioritize the most important subjects
    • Reinforce the project’s neutrality�Build sense of shared ownership

19 of 47

Starting with

PrestaShop 8

20 of 47

PrestaShop 8

A SemVer major release

  • <major>.<minor>.<patch> = 8.0.0
  • Evolutionary, not revolutionary
  • Fully compatible with existing 1.7 themes
  • Some modules might need updates
  • Start of a new “tick-tock” release cycle (change, then improve)

21 of 47

PrestaShop 8

Key features

  • Symfony 4.4 LTS
  • PHP 8 compatibility
  • Upgraded libraries (e.g. Guzzle)
  • Completely refactored product page

22 of 47

PrestaShop 8

Fully company-agnostic

  • Maintainer role open for anyone, not just PS employees
  • No direct links with PrestaShop SA or its services
  • No embedded Addons marketplace
  • Distributed through Github and Prestashop-project.org

PrestaShop SA will release their own extended distribution �based on the PrestaShop project

23 of 47

New release cycle

Proposal

  • New releases
    • New major version every 12 to 18 months�Features additions and BCs (e.g. revamp a page)
    • New minor version every 6 to 9 months�Only additions and fixes (e.g. new pages) – fully backward compatible
  • Support
    • 6-month bug fix support for every release�Patch releases only when needed
    • Additional security support for up to 12 months�Only for the last minor release preceding a major

24 of 47

New release & support roadmap (example)

8.0

9.0

8.1

Bug fix support

Bug fix support

Bug fix support

🚀

🚀

Bug fix support

1.7.8.0

🚀

+6m

+18m

+30m

Extended support

Extended support

🚀

+12m�(2023)

+24m�(2024)

+36m (2025)

Start

9.1

Bug fix support

🚀

10.0

Bug fix support

🚀

10.1

Bug fix support

🚀

Extended support

25 of 47

Let’s talk about it!

Join us on Slack

26 of 47

Demo #2

Product page discovery by @MatShir and @TristanLDD

27 of 47

Context

Use the opportunity of product page migration to provide a better product page for the merchants through different UX improvements.

👉

28 of 47

Our methodology

We met 20 merchants from different business

=

20mn interviews

+

25mn user test with clickable prototype

👉

👉

👉

The double diamond process

Discovery phase + solutions

29 of 47

Main pain points to address

  • Tab combinations has performance and ergonomy issues
  • Long vertical scroll can result in bad user experience on tab basic settings
  • Some components are not easy to use and can result in time loss
  • 2 columns layout results in bad information hierarchy
  • Everyone uses a different default reference for their products

Pain points are specific and recurrent problems faced by users in the software

30 of 47

Wireframes

A wireframe is a schematic or blueprint that is useful to build and communicate about the structure of the software.

31 of 47

Demo #3

Content style guide

by @Julievrz and @prestascott

32 of 47

Why a Content style guide?

  • Multiple actors contribute to the wording.
  • Everyone has their own writing style (= inconsistencies).

It’s a win-win!

There are benefits for contributors, maintainers, and merchants.

33 of 47

Structure

VOCABULARY

WRITING GUIDELINES

TRANSLATIONS

34 of 47

Structure: vocabulary

VOCABULARY

Glossary

A-Z

Words to use carefully

Standardized spelling and naming

List of the words used in the PrestaShop ecosystem and their definitions

35 of 47

Structure: vocabulary

VOCABULARY

Glossary

A-Z

Words to use carefully

Standardized spelling and naming

“We” and “our” should be used very carefully

36 of 47

Structure: vocabulary

VOCABULARY

Glossary

A-Z

Words to use carefully

Standardized spelling and naming

Backoffice, back-office, back office?

🤔

37 of 47

Structure: vocabulary

VOCABULARY

Glossary

A-Z

Words to use carefully

Standardized spelling and naming

Back office!

🎉

38 of 47

Glossary page

39 of 47

Structure: writing guidelines

WRITING GUIDELINES

Mechanics

Basics

Key principles

Components

Punctuation

Capitalization

Numbers, currencies, measurements

Buttons

Modals

Error messages

Tooltips, help texts, placeholders

  1. Consistent
  2. Concise
  3. Useful
  4. Human

40 of 47

Structure: writing guidelines

WRITING GUIDELINES

Mechanics

Basics

Key principles

Components

Punctuation

Capitalization

Numbers, currencies, measurements

Buttons

Modals

Error messages

Tooltips, help texts, placeholders

41 of 47

Structure: writing guidelines

WRITING GUIDELINES

Mechanics

Basics

Key principles

Components

Punctuation

Capitalization

Numbers, currencies, measurements

Buttons

Modals

Error messages

Tooltips, help texts, placeholders

42 of 47

Components: buttons

43 of 47

Structure: translations

TRANSLATIONS

Manage translation domains

Each string created for the PrestaShop project must be associated with a translation domain, to be later translated on Crowdin by the community of translators.

44 of 47

Translations page

45 of 47

Next steps

  • Any new string added to the project will have to comply with the new guidelines.
  • Existing strings will have to be modified too.
  • The guide will be regularly updated by the owners of the project: Julie Varisellaz and Scott Cosio.

Your contributions are welcome! 😊

46 of 47

Questions & Answers

47 of 47

Thank you!