pimcore primer · => content migration pain db structure, strongly de-normalized =>...

36
pimcore primer @bephpug 2012

Upload: hatu

Post on 17-Sep-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source:  CC BY-NC-SA …

pimcore primer@bephpug 2012

Page 2: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source:  CC BY-NC-SA …

@chluehr

Christoph Lühr

Page 3: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source:  CC BY-NC-SA …

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 …
Page 5: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source:  CC BY-NC-SA …

(we are hiring, too)

Page 6: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source:  CC BY-NC-SA …

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 …
Page 8: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source:  CC BY-NC-SA …
Page 9: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source:  CC BY-NC-SA …
Page 10: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source:  CC BY-NC-SA …
Page 11: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source:  CC BY-NC-SA …
Page 12: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source:  CC BY-NC-SA …

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 …

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 …

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 …

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 …

"sounds cool."

Page 17: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source:  CC BY-NC-SA …

(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 …

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 …

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 …

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 …

#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 …

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 …

Demo

Page 24: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source:  CC BY-NC-SA …

...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 …

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 …
Page 27: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source:  CC BY-NC-SA …

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 …

Product data

Page 29: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source:  CC BY-NC-SA …
Page 30: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source:  CC BY-NC-SA …

Sony, Citroen, ...

Facebook apps

Page 31: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source:  CC BY-NC-SA …

Decoupling.

Page 32: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source:  CC BY-NC-SA …
Page 33: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source:  CC BY-NC-SA …
Page 34: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source:  CC BY-NC-SA …

Questions?

Page 35: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source:  CC BY-NC-SA …

Thanks!

Page 36: pimcore primer · => content migration pain DB structure, strongly de-normalized => performance penalties. Image source:  CC BY-NC-SA …

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