Overview

Shopware United’s inaugural event took place on 4th Nov 3pm (UK) and was a thorough investigation of the Shopware 6 backlog. A huge Shout Out to the speakers – Christian Dangl – thanks for stepping in at such short notice – and 🐘 Fabian Blechschmidt did a great job of setting the scene. Thanks have to go to you all for participating in the breakout sessions, we had four breakout sessions in total and I think we had some great discussions and came up with some good ideas – you can read through our notes below.

Round Table Session: Catalogue notes

https://miro.com/app/board/o9J_kjNNyiU=/

Missing features list by number of votes

  1. Bundle products – ability to configure and sell products consisted of different simple products sold as one, with the option to have different quantities of simple products. (4 votes of 14 people)
  2. Products mass update – ability to update products properties in bulk, mass edit actions on products in backend panel. (4 votes of 14 people)
  3. Option to manage product assets, like Download PDF, „How to” videos. Feature should work just like image assets. (3 votes of 14 people)
  4. Multiple warehouses (stock values) per product (rule-based)  Option to manage more than one warehouse, more than one stock with role builders for order management. (3 votes of 14 people)   
  5. RuleBuilder for product text fields. Rule builder to build descriptions, Translations based on sales channel not language. (2 votes of 14 people)
  6. Better handling of large amounts of variants and properties in administration, problem with UX, witch is not user friendly and hard to work with (2 votes of 14 people)
  7. Product asset type definitions ie. Which image is primary, which is secondary… purpose of each asset, would allow a variety of template implementations, witch image belongs to where, where the images goes and API  (1 vote of 14 people)
  8. History of stock changes in product to see orders or history of changes on the product on one view. (1 vote of 14 people)
  9. Better documentation regarding the “what does this feature do in the background” (1 vote of 14 people)
  10. Stock alert notifications – ability for users to signup and receive notification when product is back in stock and they can buy (1 vote of 14 people)
  11. Manufactures mass upload, manufactures as dropdown, to have it as a dictionary (0 votes of 14 people)
  12. More compact advanced prices UI in products (0 votes of 14 people)
  13. Change the amount of articles show on the listing page (storefront)with options and settings (0 votes of 14 people)
  14. Simple product inventory ( see inventory levels for both parts and children on one screen (0 votes of 14 people)

Round Table Session: Pricing and promotion notes

https://miro.com/app/board/o9J_kgHOR3E=/ 

 

Missing features list by number of votes

  1. Advanced Promotion Builder –  like buy 3 products, get 3rd the cheapest one with discounts  or for free  (5 votes of 14 people)
  2. Promotion per category or customer group –  calculated with percentage (e.g. 20% off for Cat A and CAt B for a weekend only. Category level management, not any shopping cart (5 votes of 14 people)
  3. List prices for advanced pricing – available for normal pricing, but no option to define for advanced (4 votes of 14 people)
  4. Optimized display of advanced pricing for many rules – performance problem, its slow because of rules, that needs to be calculated (4 votes of 14 people)
  5. Rounding errors – problem with countries, requires to have different rounding option for different countries like Switzerland. Working with different systems (ERP fe) and Shopware results in sometime 1cent “offset” regarding the rounding issue in PHP/Shopware. Tax office and SAP guys will love seeing this fixed. (4 votes of 14 people)

Prices depending on time and date. Price per date form ERP where its available Price rules data and time as special price (1 vote of 14 people

 

Round Table Session: API

 

The first Round Table we sat in on was the API topic. With Shopware 6s’ push to be a headless, API first platform we expected this to be a hot topic, and we were not disappointed. About 30 others joined us and after a short introduction and explanation on how the workshop works, we dove right into posting questions, ideas… as well as drawings, smileys, and Nyancat videos.

In an overwhelmingly casual and friendly atmosphere, we discussed each and every topic posted and aimed to bundle the points that closely matched.

Some common topics were documentation as well as best practice sharing around the APIs to on-board developers quicker, as well as around triggering indexing. Also, reference keys for various entities were mentioned several times. 

https://miro.com/app/board/o9J_kgHORvc=/

 

API: accept duplicates image names for different products

→  Unique file name should apply only per product, not globally

 

SW 5 shopping world mobile / desktop independent (different content mobile / desktop)

→ wish to have the same amount of possibilities for different views right in the backend

→ comment: not directly an api-”problem”

 

Shipping: Adding fixed fields on product level that can contain hs-codes and country of origin to automate customs-documentation for international (outside of eu) Shipping

 

Best practise/better documentation/more trainings

→ best practices for syncing huge amounts of data

→ best practice for plugin config API

→ more online training for new dev. + documentation and examples so we can quicker grow our dev teams

→ WRT documentation. They should be split out into MVP (get up and running) steps and the detailed API specs like other platforms provide.  The docs for Magento are easy to find (which is important for obvious reasons): they are at /swagger – which is pretty obvious and it works. It would be worth looking at other platforms and seeing who des X well and taking inspiration.

 

Token Lifetime => Logic Apps

→ Allow for configuring the lifetime of a token for an external app to be aware of its lifetime

→ it’s fixed at the moment in SW6

 

Timezone Handling

→ All date-times are stored as a UTC time, please add the timezone to date-time fields

 

API for trigger Indexing

→ Start indexing after a couple of calls

→ Group indexing for sync calls

→ When importing data via API you suppress the reindexing. It would be great to have an endpoint that triggers the reindex of a certain batch of data in the last X hours

The current endpoint reindexes the whole shop, it’s desired to have batch indexes

→ Comment from shopware: api/v2/_action/index – index manually

→ Comment from shopware: And indexing headers “per request” https://docs.shopware.com/en/shopware-platform-dev-en/admin-api-guide/sync-api#more-performance 

→ Question: The solution would only call the indexing for all entities, wouldn’t it? It would be nice to just toss a couple of IDs to index just those. Or just trigger the index for “everything that changed in the last 30 minutes”.

 

API: technical name for all (like categories, properties) to link to technical name/code PIM system

→ Have a unique identifier that never changes. So the property labelled “Green”, should be able to change into “Light green” for example without losing the reference 

→ This reference should be set by an external system (most of the time the PIM sets the reference) 

→ Comment from shopware: Use the ID key from the external system and use an (any => hex) hashing algorithm (e.g. md5) to map it to a UUID to preserve the unique property of it

→ Question: Wouldn’t that result in invalid UUIDs in the database? That way shopware can never validate the IDs. Sounds more like a workaround than a solid solution to me.

 

Voting

Documentation, Swagger, Best Practices, Online training11
Adding fields on product level to set hs-code and country of origin4
A way to trigger indexing on a subset of updates sent via API4
Improved timezone handling on date fields4
Device-specific display options for shopping experiences3
Custom fields on orders and order lines in the API3
Fixed identifiers / technical names for categories and properties2
External keys such as productNumber and customerNumber1
Lifetime management on auth keys1
Allow duplicate image names between products1

 

 

Round Table Session: Plugins

 

The second round was reserved for Missing Shopware 6 Plugins and Integrations. Anyone working with Shopware 6 as an agency, freelance developer, or even merchant will, from time to time, run into a plugin they used in Shopware 5 or another platform that they are missing for Shopware 6.

And we were not disappointed. With 29 sticky notes representing various integrations, there was plenty of input!

A few topics that stood out by a good amount were a Dynamic Form Builder, payment and shipping integrations, as well as Multi Source/Omni Channel inventory, as well as batch editing of products, categories, and orders in the admin.

In true community spirit, many already indicated to be happy to share the workload on realizing these plugins. A big opportunity for Shopware United to offer a platform for these efforts!

https://miro.com/app/board/o9J_kgHORxo=/

 

Form-Builder

→ Dynamic customizable form generator 

→ Part of SW5

 

Basic import/export tool which can be extended per case

→ Migrations are currently a big issue. (also topic at the api round table)

 

Subscription Plugin

→ “somebody” seems to work on it, but there will be a lot of payment implementations

→ also SaaS providers such as recurly and chargebee are needed

 

Extended CMS Plugins

→ make it easier to create new CMS blocks

→ Shopping Experiences import/export

→ CMS page frontend preview

 

SEO

→ a plugin to add landing pages with unique content for SEO URL based on specific categories and active filters

→ SEO tooling 

 

Transfer settings

→ between Shopware instances (e.g. Rule Builder, Shipping, Payment)

→ Stage/Live

→ in general Transfer Entities between Shopversions/Instances (languageIds, salesChannel)

 

Email Marketing

→ connection Mailchimp / Klaviyo / Bronto / Github

→ Abandoned Cart

→ Comment: basic integration for Mailchimp already build

 

MSI

→ Omnichannel – Multi Location Inventory / Click & Collect / Find in store

 

TaxJar / Avalara for US market

 

Bundled products

→ magento 1 style

→ Explanation: a Bundle Product is a combination of grouped products (variant) or/and cofig. products. The customer has to choose from different options fields comparable to the grouped products. Each option stands for a single item. The customer gets a bundle of products which will be sold as one.

  

Localization 

→ Payment Gateways

→ Delivery plugins (Still not much for the polish market)

 

Different Integrations

→ Local Invoicing platforms

→ ERP Integration

→ Exact online =>  available send mail to [email protected]

   

Calendar event booking

 

TopicVotes
Bulk updating of products, orders and other entities from the grid (5 votes from a similar idea in other sessions)9
Dynamic form generator5
Bundle products (4 votes from similar idea on other session)5
Multi-Source Inventory (3 votes from a similar idea on other sessions)5
Plugin to optimize / style emails4
SEO tooling, for example, create landing pages based on category + active filters with a text and SEO friendly URL3
Email marketing tool integrations2
Tool to transfer settings and database entities between instances2
More ERP integrations2
Easier creation of CMS blocks, frontend preview for pages1
Import/export of CMS blocks and Shopping Experiences1
Subscription plugin or integration with subscription SaaS1
Local payment and shipping plugins1
Order notifications based on Symfony Notifier1
Integration for Taxjar / Avalara0
More extensibility in the Migration tool0
Calendar event booking0
Improved Search for community edition0