Plone -- Evolving Python CMS


Published on

A short talk at Python Hsinchu User Group gathering on 2012/09/17. Plone is a long existing CMS (Content Management System) software in the Python world, and one of the most powerful. In short, a CMS runs a database storing contents that are added/edited by User/Group, managed via Workflow, and searchable with Index/Catalog. We will showcase Plone's existing features, demonstrating how it performs as a CMS product, also preview the coming technologies Plone will embrace.

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Plone -- Evolving Python CMS

  1. 1. Plone :Evolving Python CMS 胡崇偉 @
  2. 2. I Love Web Do You? Encouraging Everyone to Think in a Way Scalable and Collaborative
  3. 3. Common Ways to Have Your Sites1. Building Them with Frameworks2. Running Them with CMSes
  4. 4. Existing Frameworks Never Satisfy Me,So I Create My Own… 強者如是說
  5. 5. Plone = Python based CMS CMS = Contents in Database Added/Edited by User/Group Managed via Workflow Searchable with Index/Catalog
  6. 6. Installation Options 1.Unified Installer 2./usr/bin/python 3.VirtualEnv
  7. 7. Content ID = URLhttp://localhost:8080/mysite
  8. 8. Solid Core• Proven Migration Path• Good approximation of Security Track Records of All Stack Components
  9. 9. Undo, Transaction, VersioningPython’s dynamic nature allowsdevelopers to quickly develop applications,avoiding the compile cycle and statictyping declarations required by otherlanguages. The ZODB offers a similarbenefit: developers who use the ZODB canstore their objects transparently withoutany cumbersome mapping of objets torelational database tables.
  10. 10. Default Content Types Page Folder News Item Collection Event Image File Link
  11. 11. Editing
  12. 12. Display
  13. 13. One Folder Different Display
  14. 14. News Item Listing #1
  15. 15. News Item Listing #2
  16. 16. More ThanOut-Of-The-Box Functionalities Needed? With a Little Help from My Friends
  17. 17. Python Building BlocksPython Packages are distributed as Eggs Python Package Index Example: easy_install docutils pip docutils
  18. 18. Extend Plone with Add-onsPlone Addon (Product) =~ Python Package (Egg)
  19. 19. How Plone Add-ons Workzc.buildout helps to install addons
  20. 20. CMS = Forms in Database Form = Content Type
  21. 21. Form = CMS CoreContent Type = Schema = Fields + Widgets
  22. 22. From Archetypes To DexterityImproved Content Type Building Framework
  23. 23. Dexterity BehaviorsReusable components that can be enabled on a per-type basis through enumeration in the FTI.
  24. 24. Diazo : UI Design + Contents
  25. 25. Diazo Concept
  26. 26. Diazo In Action
  27. 27. Considerations1. ZODB: a Double-edged Knife2. Positioned as Enterprise Grade3. Resource Availability4. Integration Issues