Plone -- Evolving Python CMS

Post on 15-Jan-2015

359 views 1 download

description

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.

Transcript of Plone -- Evolving Python CMS

Plone :Evolving Python CMS

胡崇偉

marr.tw @ gmail.com

I Love WebDo You?

Encouraging Everyone

to Think in a Way

Scalable and Collaborative

Common Ways to Have Your Sites

1. Building Them with Frameworks

2. Running Them with CMSes

Existing FrameworksNever Satisfy Me,

So I Create My Own…

強者如是說

Plone = Python based CMS

CMS = Contents in DatabaseAdded/Edited by User/GroupManaged via WorkflowSearchable with Index/Catalog

Installation Options

1.Unified Installer

2./usr/bin/python

3.VirtualEnv

Solid Core• Proven Migration Path

• Good approximation of Security Track Records of All Stack Components

http://plone.org/products/plone/security/overview

Undo, Transaction, Versioning

Python’s dynamic nature allows developers to quickly develop applications, avoiding the compile cycle and static typing declarations required by other languages. The ZODB offers a similar benefit: developers who use the ZODB can store their objects transparently without any cumbersome mapping of objets to relational database tables.

Default Content Types

PageNews ItemEventImageFileLink

Folder

Collection

Editing

Display

One Folder Different Display

News Item Listing #1

News Item Listing #2

More ThanOut-Of-The-Box Functionalities

Needed?

With a Little Help from My Friends

Python Building Blocks

Python Packages are distributed as Eggs

Python Package Index

http://pypi.python.org/

Example:

easy_install docutils

pip docutils

Extend Plone with Add-ons

Plone Addon (Product) =~ Python Package (Egg)

How Plone Add-ons Work

zc.buildout helps to install addons

CMS = Forms in Database

Form = Content Type

Form = CMS Core

Content Type = Schema = Fields + Widgets

From Archetypes To Dexterity

Improved Content Type Building Framework

Dexterity Behaviors

Reusable components that can be

enabled on a per-type basis through enumeration in the FTI.

Diazo : UI Design + Contents

Diazo Concept

http://www.diazo.org/

Diazo In Action

http://screenr.com/snt8

Considerations

1. ZODB: a Double-edged Knife

2. Positioned as Enterprise Grade

3. Resource Availability

4. Integration Issues