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
PIM & Master Data Management with Pimcore 5 [en]
Search
Christoph Lühr
May 30, 2017
Technology
2
300
PIM & Master Data Management with Pimcore 5 [en]
Symfony User Group Berlin #sfugbln 2017-05-30
Christoph Lühr
May 30, 2017
Tweet
Share
More Decks by Christoph Lühr
See All by Christoph Lühr
Vektor-Suche & LLMs
chluehr
0
96
Search, Embeddings & Vector-DBs
chluehr
0
120
Reality Check: Automated Content Production at Enterprise Scale with Pimcore
chluehr
0
65
The how and why of getting Freelancers
chluehr
0
70
Content & Master Data Management with Pimcore
chluehr
1
660
Master Data Management with Pimcore
chluehr
0
200
Swoole in 5 Minutes [en]
chluehr
1
12k
Digital Transformation & Master Data Management with Pimcore 5
chluehr
0
240
LXD System Containers [en]
chluehr
0
340
Other Decks in Technology
See All in Technology
アジャイル社内普及ご近所さんマップを作ろう / Let's create an agile neighborhood map
psj59129
1
140
社内外から"使ってもらえる"データ基盤を支えるアーキテクチャの秘訣/登壇資料(飯塚 大地・高橋 一貴)
hacobu
PRO
0
3.8k
プロダクト負債と歩む持続可能なサービスを育てるための挑戦
sansantech
PRO
1
610
ソフトウェア開発現代史: 55%が変化に備えていない現実 ─ AI支援型開発時代のReboot Japan #agilejapan
takabow
7
4.5k
Greenは本当にGreenか? - B/GデプロイとAPI自動テストで安心デプロイ
kaz29
0
110
ある編集者のこれまでとこれから —— 開発者コミュニティと歩んだ四半世紀
inao
5
3.5k
ZOZOTOWNカート決済リプレイス ── モジュラモノリスという過渡期戦略
zozotech
PRO
0
490
都市スケールAR制作で気をつけること
segur
0
180
adk-samples に学ぶデータ分析 LLM エージェント開発
na0
1
120
組織の“見えない壁”を越えよ!エンタープライズシフトに必須な3つのPMの「在り方」変革 #pmconf2025
masakazu178
1
590
TypeScript 6.0で非推奨化されるオプションたち
uhyo
12
3k
AI駆動開発を実現するためのアーキテクチャと取り組み
baseballyama
13
7.7k
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
We Have a Design System, Now What?
morganepeng
54
7.9k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Side Projects
sachag
455
43k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Code Review Best Practice
trishagee
72
19k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
192
56k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Facilitating Awesome Meetings
lara
57
6.6k
Transcript
Christoph Lühr @chluehr / Symfony User Group Berlin 2017-05-30 PIM
& Master Data Management with
None
SIN CE 2000
Image source: http://www.flickr.com/photos/robby_van_moor/5702589201/ CC BY-ND 2.0
None
(#) Internet
None
D⇒T Digital Transformation
~100 ^ Year
Unicode Character 'HAPPY PERSON RAISING ONE HAND' (U+1F64B)
None
"Systems, Data & Processes" Why MDM & PIM? Digital Transformation
BUSINESS Digital Transformation
Digital Transformation "Digitalization" Production Product Mgmt Sales Marketing IT IT
IT IT
Digital Transformation "Digitalization" Production Product Mgmt Sales Marketing IT IT
IT IT
Digital Transformation "Digitalization" Production Product Mgmt Sales Marketing IT IT
IT IT
None
None
None
System
SHOP ERP CRM
SHOP ERP CRM ?
SHOP ERP CRM Excel \\FS
PROCESSING
IMPORT EXPORT
IMPORT EXPORT API
IMPORT EXPORT FTP XML
A B C E D
? ? ? ? ? ?
ERP ?
SHOP ?
SHOP SHOP SHOP ?
?
Single SourcE Of Truth
Master Data Management System
Benefits!
MDM
IN OUT OUT IN MDM MDM
Newsletter MDM Shop Print Catalog Marketplace . . . "Omni-Channel"
Criteria Requirements
Image source: http://icons8.com/web-app/1475/Database / Document by useiconic.com from the Noun
Project
Options?
Specialized (PIM)
None
None
None
None
Snail by Juraj Sedlák from the Noun Project
CMS (with Extensions)
None
None
None
None
None
(!fun) clock by Ananth from the Noun Project
Framework (Components)
None
None
None
$$$ clock by Ananth from the Noun Project
None
Integrated System Dev. Framework
Integrated System Dev. Framework Platform
Integrated System Dev. Framework
Image source: https://instagram.com/p/wse6D4LtB1/
None
GPL v3
7
None
Image source: http://symfony.com/logo
None
Walk-Thru' (Demo)
None
+
None
None
Image source: https://www.flickr.com/photos/127497725@N02/15733977724
+
None
None
None
Pipes Processing Images
None
None
None
None
WANTED WANTED
... Tags, IPTC Meta, Properties / Relations
None
+
None
None
+
!
Image source: https://www.pimcore.org/ +
Image source: https://www.pimcore.org/
Web 2 Print (PDF Generation)
Image source: https://www.pimcore.org/ +
Image source: https://www.pimcore.org/
Image source: https://www.pimcore.org/
Image source: https://www.pimcore.org/ +
Image source: https://www.pimcore.org/
Image source: https://www.pimcore.org/
Image source: https://www.pdfreactor.com/
M VC
views/Content/portal.html.twig: <div class="my-html-block"> {{ pimcore_image('mugshot') }} {{ pimcore_textarea('wanted') }} <div>
Image source: https://www.pimcore.org/
<?php class ContentController { /** * Optional: * @Template("AppBundle:Content:portal.html.twig") *
@Route("/news/portalpage") */ public function portalAction( ) { // custom code: // - retrieve data // - .. // - populate view } }
<?php namespace AppBundle\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use
Symfony\Component\HttpFoundation\Request; class ContentController extends Controller { /** * @Template("AppBundle:Content:portal.html.twig") -- Optional! * @Route("/news/portalpage") -- Optional! * * @param Request $request * @param array $templateVars * @return array */ public function portalAction(Request $request, array $templateVars) { $templateVars = $this->defaultAction($request, $templateVars); $templateVars['isPortal'] = true; return $templateVars; } }
... Inheritance, Multi-Site, ...
Image source: http://icons8.com/web-app/1475/Database
+
None
None
None
+
None
None
None
40+ Field Types
None
None
None
None
Versions Diffs / Schedules / ...
None
... Variants, Custom Views, Inheritance, Batch & Grid-Edit, ...
None
<?php ORM ?> + DB Migrations
// Object creation $person = Object\Person::create(array( 'name' => 'Chris', 'description'
=> 'Fast talker' )); $person->setWeight(75); $person->save();
// Object retrieval $personList = new Object\Person\Listing(); $personList->setOrderKey("weight"); $personList->setOrder("DESC"); ...
$results = Object\Person::getByWeight(75);
Image source: http://www.flickr.com/photos/rietje/76566707/ CC BY 2.0
Image source: http://icons8.com/web-app/1475/Database / Document by useiconic.com from the Noun
Project
Image source: http://icons8.com/web-app/1475/Database / Document by useiconic.com from the Noun
Project ~ 80.000 Installations
Image source: http://icons8.com/web-app/1475/Database / Document by useiconic.com from the Noun
Project Case Studies
Image source: http://icons8.com/web-app/1475/Database / Document by useiconic.com from the Noun
Project 2017-09 Release V5.0
Image source: http://icons8.com/web-app/1475/Database / Document by useiconic.com from the Noun
Project
Thanks! Questions? Christoph Lühr
[email protected]
[email protected]
@chluehr Slides license Attribution-NonCommercial-ShareAlike
3.0 http://creativecommons.org/licenses/by-nc-sa/3.0/
• Pimcore https://www.pimcore.org/en https://www.pimcore.org/en/resources/try [Demos] • Standalone Docker Demo using
latest Pimcore 5 https://hub.docker.com/r/christophluehr/docker-pimcore-demo- standalone/
Image source: http://icons8.com/web-app/1475/Database / Document by useiconic.com from the Noun
Project User Group Berlin June 28th
None