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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Christoph Lühr
August 25, 2018
Programming
0
210
Master Data Management with Pimcore
PHP Track at FrOSCon 2018 [en]
Christoph Lühr
August 25, 2018
Tweet
Share
More Decks by Christoph Lühr
See All by Christoph Lühr
Vektor-Suche & LLMs
chluehr
0
110
Search, Embeddings & Vector-DBs
chluehr
0
130
Reality Check: Automated Content Production at Enterprise Scale with Pimcore
chluehr
0
75
The how and why of getting Freelancers
chluehr
0
73
Content & Master Data Management with Pimcore
chluehr
1
730
Swoole in 5 Minutes [en]
chluehr
1
12k
PIM & Master Data Management with Pimcore 5 [en]
chluehr
2
310
Digital Transformation & Master Data Management with Pimcore 5
chluehr
0
250
LXD System Containers [en]
chluehr
0
350
Other Decks in Programming
See All in Programming
OSSとなったswift-buildで Xcodeのビルドを差し替えられるため 自分でXcodeを直せる時代になっている ダイアモンド問題編
yimajo
3
620
AI時代の認知負荷との向き合い方
optfit
0
160
Fluid Templating in TYPO3 14
s2b
0
130
AtCoder Conference 2025
shindannin
0
1.1k
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
390
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
140
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
700
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
5
460
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
今から始めるClaude Code超入門
448jp
8
8.8k
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
240
Featured
See All Featured
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
54
Designing Experiences People Love
moore
144
24k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
270
Ethics towards AI in product and experience design
skipperchong
2
190
AI: The stuff that nobody shows you
jnunemaker
PRO
2
260
We Are The Robots
honzajavorek
0
160
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
340
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
300
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
430
GraphQLとの向き合い方2022年版
quramy
50
14k
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/