MAD: using Plone to supervise production processes


Published on

PLOG 2011 slides by Bruno Ripa and Simone Deponti

Published in: Technology
  • Be the first to comment

  • Be the first to like this

MAD: using Plone to supervise production processes

  1. 1. MAD: using Plone to supervise production processes Bruno Ripa Simone Deponti
  2. 2. Life as they know it A joyful Rubbish dumpPretty and ‘easy’ people working at it
  3. 3. For a single “noble” objective
  4. 4. Working as intended (tm)
  5. 5. HOW ?Huge excel files feedingNo data centralizationNo access controlNo: roles permissions <insert_whatever>
  6. 6. Suddenly they saw the lightPlone 2.5ArchetypesDocument conversion to PDFGIS interface
  7. 7. “Their” Nirvana•Workflow usage•Centralization•Search capabilities (well yeah, notby diving into win folders...)•No more yelling at MS Officeversions•No morewhere_da_hell_is_the_last_version_of_that_damn_file_i_should_use_t (*) intended audience: a very nerd oneoday_to_pass_the_verification_to_get_the_last_quality_certificationsessions.
  8. 8. ...BUT...let’s look into it:•unmature technology (postgis ? lol)•hard integration session (primagis ? gdal and the such)•too much design constraints (pdf conversion sloooow)•she was not yet famous...oh wait...
  9. 9. In details•Huge AT schema describing documents•Resistance to adhere to workflows logic (whydon’t you change that damn state when you’redone ?)•GIS: basically a vanity feature, but fantastic for thecustomer•PDF creation for some docs took minutes (yes,MINUTES - ask OpenOffice)•Catalog madness•Catalog madness, little more•Did i say “catalog madness” ?
  10. 10. A new era was coming...New tools were ready to rule:•Plone 4 (Dexterity)•Geoserver•Postgis (finally)•Diazo•SQLAlchemy
  11. 11. The Big PictureModels definition (XML) Document instances WEB Print XSLT
  12. 12. GIS implementationBefore AfterShape files imported Geoserver servinginto Plone as Primagis postgis data, publishedelements using a low on the web usinglevel procedure using OpenLayersGDAL system library. Realtime changesUnflexible allowed.
  13. 13. Search featuresBefore AfterSearch queries were Models are actuallytotally built upon persisted intocatalog indexes; some postgres tables, hencemodels got hundres of providing all thefields (and so features of the DBMS.indexes). Life gets better andPainful moments. faster.
  14. 14. StatisticsBefore AfterYes, you could try to If you can think aboutask the catalog for it, we can give it tosome results. Be sure get a coffee and abreak, put them To protect and serve.toghether, and enjoyyou coffe break.Time lapse.
  15. 15. PDF ConversionBefore AfterPDF creation invoking Each documentcatalog, taking back comes out from avalues, invoking html 2 pdfSOffice server to load conversion; justODT model, gimme couple ofplaceholders seconds, ‘bro !substitution, one byone, and PDF Lightweight.conversion.Just this.
  16. 16. MVC, you’re fired !•Keeping definition “portable”•Merge model and presentationdefinition •Supermodel •ZPT
  17. 17. Storing data•Storage abstraction •filtering •averages, sums, etc •SQL storage•Plone object that acts as“document folder”•More than one folder per-site (able to handle multiplephysical sites)
  18. 18. Viewing and editing data•Get the data (modelincluded!)•Obtain template from themodel•Use z3c.form to rendereverything
  19. 19. Printing•Is telling the user to go toFile › Print when viewing thepage good enough?•Enter wkhtml2pdf (goodenough for us) •Performances have been satisfactory enough
  20. 20. Why Plone then?•Single system that doesCMS, process managementand GIS•Effectively, GIS and processmanagement are Zope3webapps (it still works as aweb framework)