Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome, Safari or Firefox browser.

Ways to investigate for the future of Plone

 

 

Encolpe DEGOUTE, Bearstech

Opensource advocate from 1996 and the president of ALDIL since 3 years.

I worked mainly on Nuxeo CPS and Plone and I contribute on many other projects.

Now I'm at Bearstech for Plone, Django and some Hackable Device stuff.

This conference may contain buzzwords and trolls.

I will propose conflicting ways. Take them as an inspiration.

Feel free to investigate your own ways and to propose some PLIP and GSoC.

What's Plone?

It's a stack upon Zope and CMF.

What's Plone again?

It's build with Python and C with twisted for Zope and the ZODB.

It's using some frameworks: CMF, Archetypes, Dexterity, JQuery, KSS,…

It's a CMS but it can be seen as a framework to build a web application.

There's so much level to improve. What can we do?

First, establishing priority:

  1. Python
  2. Network layer (aka twisted)
  3. Storage (aka ZODB)
  4. Base framework (aka Zope and CMF)
  5. External application integration

Python

What's the next Python to use?

Python

Someone to remove the GIL?

Python

May we need to invest more in Python development

Network Layer

Some bunch of tests show that twisted is more or less the worse framework in the place for that job.

Network Layer

Synchronous vs Asynchronous

What Django or Pyramid are based on?

Network Layer

Network Layer

It would be a totally new paradigm to implement in Zope (or Bluebream)

Network Layer

It's a big work that can be done in Zope 4 or Bluebream 2

Storage

The ZODB is storing objects using the Python Pickle format.

It can use a simple file as storage layer (FileStorage) or some databases (RelStorage).

All transactions stay stored after their life'end until a ZODB pack.

Why Pickle?

It's a Python specific format that can store binary.

Too Python centric and need some C binding the get speed (cPickle).

What to replace Pickle?

JSon: Javascript centric without schema validation and some variation in binary support implementation.

XML: originaly an eXchange format that is democratize as a store format too and it fits all needs. Do we really want it?

What can we improve in the ZODB?

B-Trees: Stratified B-Trees.

Better catalog's indexes: use relational database power with RelStorage

Pack: Have a subprocess that cleanup automatically old transactions.

Can we replace the ZODB?

Base Framework

Who tried launch ZopeProfiler on any Plone site?

How many layer/framework to access my data?

Use Functions is costly and recursive functions are evil!

We need to use more Zope base functions directly from our code.

More Asynchronous service in Plone

Switch to Bluebream and ZTK

We are still not ready on this point. Will we be ready for Zope 4?

Plone

First: should we keep CMF or push it in the ZTK?

Plone

Which visual editor should we use?

Plone

Use dexterity and migrate all products for Plone 4.3.

Plone

Have some File format integration.

Plone should be able to create document from its internal format:

Can we talk semantics?

What about Schema.org?

How can we include microformat in a Plone site?

Can we talk semantics?

We don't have a Python library to discuss with Restful service (for example Stanbol).

Did somebody work with Virtuoso?

Want to use impress.js?

use the source, Luke!

Use a spacebar or arrow keys to navigate