Pro Yearly is on sale from $80 to $50! »

Content & Master Data Management with Pimcore

Content & Master Data Management with Pimcore

SymfonyLive Berlin 2018 [de]

6e15b56fcb16fae0747810827be8ce8f?s=128

Christoph Lühr

October 26, 2018
Tweet

Transcript

  1. Christoph Lühr @chluehr / SymfonyLive 2018-10-26 Content & Master Data

    Management mit
  2. Unicode Character 'HAPPY PERSON RAISING ONE HAND' (U+1F64B)

  3. "Pimcore ist die beste PHP Data Management Plattform" Christoph Lühr

  4. None
  5. None
  6. 20 Min. Daten von OpenStreetMap - Veröffentlicht unter ODbL (http://opendatacommons.org/licenses/odbl/)

  7. None
  8. (#) Internet

  9. (#) Digitale Transformation

  10. None
  11. Content Management

  12. Content Data Management

  13. Master Data Management

  14. Single SourcE Of Truth

  15. None
  16. None
  17. None
  18. None
  19. None
  20. Image source: https://instagram.com/p/wse6D4LtB1/

  21. 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
  22. None
  23. Alternativen?

  24. Spezialisiert (PIM)

  25. None
  26. None
  27. None
  28. None
  29. Wrench by i cons from the Noun Project

  30. Snail by Juraj Sedlák from the Noun Project

  31. CMS (mit Erweiterungen)

  32. None
  33. None
  34. None
  35. None
  36. None
  37. (!fun) clock by Ananth from the Noun Project

  38. Framework (+ Bundles)

  39. None
  40. None
  41. None
  42. €€€ clock by Ananth from the Noun Project

  43. None
  44. None
  45. Von Free Software Foundation - gnu.org/graphics/license-logos.html, Gemeinfrei, https://commons.wikimedia.org/w/index.php?curid=5393454

  46. None
  47. 7.1+

  48. 3.4

  49. None
  50. Von Carlos Prioglio - http://redis.io/images/redis-logo.svg, Logo, https://de.wikipedia.org/w/index.php?curid=8041512

  51. None
  52. None
  53. composer \ create-project \ pimcore/pimcore \ my-project

  54. None
  55. +

  56. None
  57. +

  58. None
  59. (Master) Data Management

  60. Image source: http://blog.feixen.de/gefunden-im-web/fliesentische/

  61. Image source: http://icons8.com/web-app/1475/Database

  62. Image source: http://icons8.com/web-app/1475/Database

  63. Image source: http://icons8.com/web-app/1475/Database CODE

  64. None
  65. None
  66. # Object # Classes

  67. None
  68. +

  69. None
  70. None
  71. 40+ Field Types

  72. None
  73. None
  74. None
  75. None
  76. Versionen Diffs / Schedules / ...

  77. None
  78. Listen Edit / CSV / Operators / ...

  79. None
  80. None
  81. None
  82. Custom Views + Perspektiven ( -rollenbasiert )

  83. None
  84. Varianten & Vererbung

  85. None
  86. Berechtigungen Op.- / Pfad- / Rollen-

  87. None
  88. Workflows Symfony Workflow Component

  89. None
  90. None
  91. E-Commerce Framework

  92. None
  93. CRM Framework

  94. None
  95. None
  96. Image source: http://www.flickr.com/photos/rietje/76566707/ CC BY 2.0

  97. Zeig mir CODE!

  98. <?php ORM ?> + DB Migrations

  99. // Object creation $person = Object\Person::create(array( 'name' => 'Chris', 'description'

    => 'Fast talker' )); $person->setWeight(75); $person->save();
  100. // Object retrieval $personList = new Object\Person\Listing(); $personList->setOrderKey("weight"); $personList->setOrder("DESC"); foreach

    ($personList as $person) { ... $results = Object\Person::getByWeight(75);
  101. PHP / REST / WebDAV

  102. None
  103. None
  104. None
  105. +

  106. +

  107. +

  108. Bilder Formate & Thumbnails

  109. Libre Office Ghostscript Image Magick Ffmpeg [..]

  110. Pipelines Bildverarbeitung

  111. None
  112. None
  113. None
  114. None
  115. WANTED WANTED

  116. None
  117. // using piplines for asset formats in code: $asset->getThumbnail("marioPipe"); //

    => /thumb_marioPipe/img_0037@2x.jpeg $asset->getThumbnail("marioPipe")->getHTML(); // => <img ... srcset / media queries
  118. None
  119. +

  120. None
  121. None
  122. +

  123. !

  124. Image source: https://www.pimcore.org/ +

  125. Image source: https://www.pimcore.org/

  126. Web 2 Print (PDF Generation)

  127. Image source: https://www.pimcore.org/ +

  128. Image source: https://www.pimcore.org/

  129. Image source: https://www.pimcore.org/

  130. Image source: https://www.pimcore.org/ +

  131. Image source: https://www.pimcore.org/

  132. Image source: https://www.pimcore.org/

  133. Image source: https://www.pdfreactor.com/

  134. Zeig mir CODE!

  135. M VC

  136. Pimcore Directory Layout

  137. CONTROLLER

  138. VIEW

  139. views/Content/portal.html.twig: <div class="my-html-block"> {{ pimcore_image('mugshot') }} {{ pimcore_textarea('wanted') }} <div>

  140. <?php # app/Resources/views/Blog/list.html.php ?> <html> <body> <h1>List</h1> <h2><?= $this->input("headline"); ?></h2>

    </body> </html>
  141. Image source: https://www.pimcore.org/

  142. <?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; } }
  143. <?php namespace AppBundle\Controller; class ContentController extends Controller { /** *

    @Template("AppBundle:Content:portal.html.twig") -- Optional! * @Route("/news/portalpage") -- Optional! * * @return array */ public function portalAction(Request $request, array $templateVars) { $templateVars = $this->defaultAction($request, $templateVars); $templateVars['isPortal'] = true; return $templateVars; } }
  144. Who Cares?

  145. 80.000+ Installationen

  146. 170+ Länder

  147. None
  148. None
  149. None
  150. None
  151. None
  152. None
  153. None
  154. Demo

  155. "Pimcore ist die beste PHP Data Management Plattform" Christoph Lühr

  156. None
  157. Monolith at Newgrange cc-by-sa/2.0 - © Clint Mann - geograph.org.uk/p/4299750

  158. None
  159. Danke! Fragen? Christoph Lühr luehr@r-pentomino.de christoph.luehr@basilicom.de @chluehr Slides license Attribution-NonCommercial-ShareAlike

    3.0 http://creativecommons.org/licenses/by-nc-sa/3.0/