Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Shopware 6: plugins and migration
Search
Michael Telgmann
May 23, 2019
Programming
1
740
Shopware 6: plugins and migration
Michael Telgmann
May 23, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
CSC509 Lecture 14
javiergs
PRO
0
130
Haze - Real time background blurring
chrisbanes
1
500
良いユニットテストを書こう
mototakatsu
4
1.5k
ブラウザ単体でmp4書き出すまで - muddy-web - 2024-12
yue4u
2
460
テストケースの名前はどうつけるべきか?
orgachem
PRO
0
130
Scalaから始めるOpenFeature入門 / Scalaわいわい勉強会 #4
arthur1
1
300
The rollercoaster of releasing an Android, iOS, and macOS app with Kotlin Multiplatform | droidcon Italy
prof18
0
150
SymfonyCon Vienna 2025: Twig, still relevant in 2025?
fabpot
3
1.2k
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
1
120
14 Years of iOS: Lessons and Key Points
seyfoyun
1
770
KubeCon + CloudNativeCon NA 2024 Overviewat Kubernetes Meetup Tokyo #68 / amsy810_k8sjp68
masayaaoyama
0
240
ソフトウェアの振る舞いに着目し 複雑な要件の開発に立ち向かう
rickyban
0
890
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
The Language of Interfaces
destraynor
154
24k
Embracing the Ebb and Flow
colly
84
4.5k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
GraphQLとの向き合い方2022年版
quramy
44
13k
Optimizing for Happiness
mojombo
376
70k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
510
Testing 201, or: Great Expectations
jmmastey
40
7.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Transcript
The new platform: Plugins & Migration
@holger_tk @mitelg Holger-Thomas Kaßner Michael Telgmann Squad Leader Shopware Services
Developer Core & Services
What to expect? Plugin basics Extending Shopware 6 All about
Migration
Plugins
None
Community
Let´s talk about plugins in
None
None
None
Plugin Manager
Shopware 6 Plugin Manager
None
Connecting to your account
The basic structure
Shopware 6 plugin structure
composer.json composer.json is required! type „shopware-platform-plugin“ „shopware-plugin-class“ is required Label
is required you must use psr-0 or psr-4
Plugin base class
Resources directory
Extending Shopware 6
Events
Types of events loading the product detail page product page
loader DAL* *data abstraction layer CRUD events for all entities page loaded events for the storefront
Business events order created send confirmation mail customer registers receive
voucher
Business events order created send confirmation mail customer registers receive
voucher
Controllers
Defining controllers
Entities
Creating entities
Creating entities
Creating entities
Creating entities http://shopware.local/api/v1/swag-bundle/4a30f0a83cae4a26b82848e303be3614
Extending entities attributes custom fields json format used for simple
additional data
Extending entities
Extending entities
Creating a custom admin module
Creating a custom admin module
Creating a custom admin module
Extending the storefront
Extending the storefront
Extending the storefront
Custom line items
Custom line items
Custom line items
Custom line items
Custom line items
Custom line items
Cart
Cart calculation
Price rounding
Calculated cart
None
None
Preparing your plugin for Shopware 6
Migration
Migration as holistic topic content- / data migration environment- /
plugin migration
Connector Plugin Migration (Account) Migration Assistant
Plugin Migration Assistant License migration to Shopware 6
Plugin successors?
Shop overview
Plugin Migration Assistant (Account)
Plugin Migration Assistant (Account)
Plugin Migration Assistant (Account)
Plugin Migration Assistant (Account)
Plugin Migration Assistant (Account)
When?
Data Migration
Community Day 2019 Data Migration history SW3 SW4 „migration scripts“
Shopware one-click update Shopware 5 migration plugin
Shopware 5 Migration Plugin
Shopware 5 Migration Plugin
Migration Assistant Data migration to Shopware 6
Creating a connection
None
None
Checking data & pre-mapping
None
Start migrating
None
… that’s all
Migration process Fetch Convert Mapping Write Process media & documents
complete migration support for big data amounts simple operation for
the user partial / repeated updates as automated as possible extensibility What we want to achieve performance stability extensibility
Technical concepts connection profiles gateways data selections converter writer media
handlers
Shopware Migration Assistant plugin structure
We like the concept of working with profiles from the
Shopware 5 migration tool
Profiles acting as an entry point into migration Profiles contain
the gateways - i.e. the types of connection to the source Profiles can be added or extended Extensibility through profiles
None
Tagged Services using the Dependency Injection Container of Symfony get
collected on initialization way to integrate your services into other system
Gateways Shopware 6 platform Shopware migration tool (Plugin) Gateways
SCD 2019 Api Plugin („api gateway“) new API endpoints in
Shopware 5 read-only interface high performance - no ORM extensibility
SCD 2019 Local migration („local gateway“) Installation of 5 &
6 on one server Connection to local database Migration of media from the local installation folder
Gateway classes
Data selections
None
Dataset
Premapping
None
Converters
Converter classes
Data writer
Processing media solution for downloading media via api plugin solution
for local migration resolving paths for different strategies
Migration in a nutshell
Shopware Migration Connector Migration via fast API
None
None
Functionality Migration Connector information about compatibility of your environment with
Shopware 6 new api endpoints for fast read actions dynamic endpoint to request 3rd party tables
Now available!
Finally
Get in touch with the new tools docs.shopware.com academy.shopware.com github.com/shopware
Thank your for your patience! Time for Q&A