pimcore primer · => content migration pain db structure, strongly de-normalized =>...
TRANSCRIPT
![Page 1: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/1.jpg)
pimcore primer@bephpug 2012
![Page 2: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/2.jpg)
@chluehr
Christoph Lühr
![Page 3: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/3.jpg)
Head of Development
basilicom Gmbh
![Page 4: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/4.jpg)
![Page 5: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/5.jpg)
(we are hiring, too)
![Page 6: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/6.jpg)
Image source: http://www.flickr.com/photos/stinajonsson/3932774410 CC BY-NC 2.0
![Page 7: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/7.jpg)
![Page 8: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/8.jpg)
![Page 9: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/9.jpg)
![Page 10: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/10.jpg)
![Page 11: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/11.jpg)
![Page 12: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/12.jpg)
pimcore
● Since 2010
● OpenSource / BSD license
● Austrian company elements.at● ExtJS backend
● Zend Framework 1 based
![Page 13: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/13.jpg)
Features
● Responsive UI
● WYSIWYG, image manipulation
● Drag & drop
● L10n (Frontend/Backend + GUI)
● Versioning
● User / roles / permissions
![Page 14: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/14.jpg)
Under the hood
● Image / video processing pipelines
● DB/UI designer, PHP code generation
● Extensible plugin system
● Caching / optimizing output
● Multi-site capable
● Interfaces: WebDAV, SOAP, CSV, GA
![Page 15: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/15.jpg)
Structure
1. Documents - Pages
2. Assets - Files, images
3. Objects - Database records
4. Properties
![Page 16: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/16.jpg)
"sounds cool."
![Page 17: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/17.jpg)
(there is no silver bullet)
not entirely.
![Page 18: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/18.jpg)
No frontend components.... but:
● Zend Framework MVC
● PHP views + view helpers
● Simple elements:
○ text, image, textarea, link
● loops, re-usable blocks
![Page 19: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/19.jpg)
Example: Template - "Editables"
<div class="logo">
<?= $this->image("logoImage") ?>
<div>
<div class="content">
<?= $this->textarea("contentText") ?>
<div>
![Page 20: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/20.jpg)
UI / Objects / Database designer● Define forms easy like "Access"
● "PhpMyAdmin on steroids"
● Auto-generated ORM PHP code
● Weird structure "object_12"
● De-normalized, missing indexes
● Filesystem dependencies
![Page 21: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/21.jpg)
#FAIL
Filesystem-driven
=> collaborative development is hard
Sequence-ID vs. GUID
=> content migration pain
DB structure, strongly de-normalized
=> performance penalties
![Page 22: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/22.jpg)
Image source: http://www.flickr.com/photos/maynard/31873151/ CC BY-NC-SA 2.0
![Page 23: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/23.jpg)
Demo
![Page 24: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/24.jpg)
...welcome to the RealWorld(tm)
Use Cases
![Page 25: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/25.jpg)
Fashion brand: Sportalm Kitzbuehel
Website
![Page 26: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/26.jpg)
![Page 27: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/27.jpg)
Fashion brand: Sportalm Kitzbuehel
Shop integration
![Page 28: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/28.jpg)
Product data
![Page 29: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/29.jpg)
![Page 30: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/30.jpg)
Sony, Citroen, ...
Facebook apps
![Page 31: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/31.jpg)
Decoupling.
![Page 32: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/32.jpg)
![Page 33: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/33.jpg)
![Page 34: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/34.jpg)
Questions?
![Page 35: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/35.jpg)
Thanks!
![Page 36: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source: CC BY-NC-SA …](https://reader031.vdocuments.us/reader031/viewer/2022022614/5b9f55c509d3f2fc778d5130/html5/thumbnails/36.jpg)
Contact, links, ...
● Christoph LühreMail: [email protected], [email protected] Twitter: @chluehr
● Slides licenseAttribution-NonCommercial-ShareAlike 3.0http://creativecommons.org/licenses/by-nc-sa/3.0/
● Pimcorehttp://www.pimcore.org