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
Master Data Management with Pimcore
Search
Christoph Lühr
August 25, 2018
Programming
220
0
Share
Master Data Management with Pimcore
PHP Track at FrOSCon 2018 [en]
Christoph Lühr
August 25, 2018
More Decks by Christoph Lühr
See All by Christoph Lühr
Vektor-Suche & LLMs
chluehr
0
130
Search, Embeddings & Vector-DBs
chluehr
0
150
Reality Check: Automated Content Production at Enterprise Scale with Pimcore
chluehr
0
86
The how and why of getting Freelancers
chluehr
0
79
Content & Master Data Management with Pimcore
chluehr
1
750
Swoole in 5 Minutes [en]
chluehr
1
12k
PIM & Master Data Management with Pimcore 5 [en]
chluehr
2
320
Digital Transformation & Master Data Management with Pimcore 5
chluehr
0
260
LXD System Containers [en]
chluehr
0
370
Other Decks in Programming
See All in Programming
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
6.4k
ハンズオンで学ぶクラウドネイティブ
tatsukiminami
0
120
Symfonyの特性(設計思想)を手軽に活かす特性(trait)
ickx
0
130
ルールルルルルRubyの中身の予備知識 ── RubyKaigiの前に予習しなイカ?
ydah
1
160
PHP で mp3 プレイヤーを実装しよう
m3m0r7
PRO
0
260
Running Swift without an OS
kishikawakatsumi
0
780
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
180
ファインチューニングせずメインコンペを解く方法
pokutuna
0
300
瑠璃の宝石に学ぶ技術の声の聴き方 / 【劇場版】アニメから得た学びを発表会2026 #エンジニアニメ
mazrean
0
240
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
16
5.6k
感情を設計する
ichimichi
5
1.4k
ハーネスエンジニアリングにどう向き合うか 〜ルールファイルを超えて開発プロセスを設計する〜 / How to approach harness engineering
rkaga
14
6.1k
Featured
See All Featured
Code Review Best Practice
trishagee
74
20k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Balancing Empowerment & Direction
lara
6
1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
120
Google's AI Overviews - The New Search
badams
0
970
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
520
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
170
A designer walks into a library…
pauljervisheath
211
24k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
320
What does AI have to do with Human Rights?
axbom
PRO
1
2.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
Transcript
Christoph Lühr @chluehr / FrOSCon PHP-Track 2018-08-25 Master Data Management
with
"Pimcore is the leading PHP Data Management Platform" Christoph Lühr
None
Image source: http://www.flickr.com/photos/robby_van_moor/5702589201/ CC BY-ND 2.0
None
(#) Internet
(#) Digital Transformation
None
Unicode Character 'HAPPY PERSON RAISING ONE HAND' (U+1F64B)
Master Data Management
Single SourcE Of Truth
None
None
None
None
None
Image source: https://instagram.com/p/wse6D4LtB1/
By Persian Poet Gal, Surachit, Winstonza, Lord Leatherface, Leptictidium, AnonMoos,
Chongtin, RuM, Popolon, Uwe Gille, Wyvernoid, Kikos, Hisagi, LambdaCorp, Tux the penguin, Patrol110, 2(L.L.K.)2, Мелкијадес, Homo lupus, Erikire, Jcfidy, Angelito7, Kandar, Router, Lord Leatherface, Whidou, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=39183625
None
None
None
None
None
Image source: http://icons8.com/web-app/1475/Database / Document by useiconic.com from the Noun
Project
Alternatives?
Specialized (PIM - MDM)
None
None
None
Wrench by i cons from the Noun Project
Snail by Juraj Sedlák from the Noun Project
CMS (with Extensions)
None
None
None
None
(!fun) clock by Ananth from the Noun Project
Framework (+ Bundles)
None
None
None
$$$ clock by Ananth from the Noun Project
None
None
Von Free Software Foundation - gnu.org/graphics/license-logos.html, Gemeinfrei, https://commons.wikimedia.org/w/index.php?curid=5393454
None
7.1+
Image source: http://symfony.com/logo 3.4
None
None
Von Carlos Prioglio - http://redis.io/images/redis-logo.svg, Logo, https://de.wikipedia.org/w/index.php?curid=8041512
None
composer \ create-project \ pimcore/pimcore \ my-project
None
+
None
+
None
(Master) Data Management
Image source: http://blog.feixen.de/gefunden-im-web/fliesentische/
Image source: http://icons8.com/web-app/1475/Database
Image source: http://icons8.com/web-app/1475/Database
Image source: http://icons8.com/web-app/1475/Database
None
None
# Object # Classes
None
+
None
None
40+ Field Types
None
None
None
None
Versions Diffs / Schedules / ...
None
Grids Edit / CSV / Operators / ...
None
None
None
Custom Views + Perspectives ( Role-Based )
None
Variants & Inheritance
None
Permissions Op. / Path / Role-Based
None
Workflows State / Action / Events
None
None
E-Commerce Framework
None
CRM Framework
None
None
Image source: http://www.flickr.com/photos/rietje/76566707/ CC BY 2.0
SHOW ME THE CODE!
<?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"); foreach
($personList as $person) { ... $results = Object\Person::getByWeight(75);
PHP / REST / WebDAV
None
None
None
+
+
+
Previews Formats & Thumbnails
Libre Office Ghostscript Image Magick Ffmpeg [..]
Pipes Processing Images
None
None
None
None
WANTED WANTED
None
// using piplines for asset formats in code: $asset->getThumbnail("marioPipe"); //
=> /thumb_marioPipe/
[email protected]
$asset->getThumbnail("marioPipe")->getHTML(); // => <img ... srcset / media queries
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/
SHOW ME THE CODE!
M VC
# Pimcore # Directory Layout # /project
CONTROLLER
VIEW
views/Content/portal.html.twig: <div class="my-html-block"> {{ pimcore_image('mugshot') }} {{ pimcore_textarea('wanted') }} <div>
<?php # app/Resources/views/Blog/list.html.php ?> <html> <body> <h1>List</h1> <h2><?= $this->input("headline"); ?></h2>
</body> </html>
Image source: https://www.pimcore.org/
<?php # src/AppBundle/Controller/BlogController.php: # [..] class BlogController extends FrontendController {
public function detailAction(Request $request) { $id = $request->get('id'); $article = BlogArticle::getById($id); $this->view->article = $article; } }
<?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; } }
References
None
None
None
None
None
None
Demo
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/