plone symposium south america 2012

47
Old Dogs & New Tricks By [ a highly opinionated talk about the future of Plone from a Framework Team member, developer, project manager, consultant, loud mouth, and general advocate of change aka ] Elizabeth Leddy

Upload: elizabeth-leddy

Post on 14-Jan-2015

1.319 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Plone Symposium South America 2012

Old Dogs & New Tricks

By[ a highly opinionated talk about the future of Plone from a Framework Team member, developer, project

manager, consultant, loud mouth, and general advocate of change aka ]

Elizabeth Leddy

Page 2: Plone Symposium South America 2012

Plone 4.X

Page 3: Plone Symposium South America 2012

..... .....

4.[1,2,3] Features‣ Modernizing the User Experience

‣ Commenting

‣ Theming (Diazo)

‣ Search

‣ Collections

‣ Content type creation

(Dexterity )

‣ Events

‣ Modernizing The Architecture‣ Performance++

‣ Repackaging Party

‣ Keep up with Zope releases

‣ Standardizing APIs

‣ HTML 5

‣ Python 2.7

4.1

4.2

4.3

Page 4: Plone Symposium South America 2012

New Processes

0

15

30

45

4.0 4.1 4.2 4.3 4.4*

Proposed AcceptedMerged Incomplete

4.0

4.1

4.2

4.3*

0 100 200 300 400

Days from Last Release to AlphaDays from Alpha to Release

PLIPS Releases

* PLIP monster wants PLIPS

Only YOU can make this smaller!

Page 5: Plone Symposium South America 2012

s

Ticket Cleanup Process

Attainable Goal: 4 Tickets per Contributor

1132 Open Tickets8 per core contributor

3.4 new tickets/day

Page 6: Plone Symposium South America 2012

Ticket Status

Distribution of Tickets (color coded by how much

attention they get)

Feature Requests376

PLIPs25

Bugs729

Breakdown of Bugs (color coded by how irritated I

am that they are open)

Ongoing24

Future230

4.x603

Page 7: Plone Symposium South America 2012

Add Ons

2010

2011

2012*

0 125 250 375 500

New Updated

In January 2012, 29 new add-ons were registered on Plone.org. That is almost

one new add-on per day.

Page 8: Plone Symposium South America 2012

Move to Github

Core Commits/Month

Collective DM Commits/Month

Page 9: Plone Symposium South America 2012

What is Plone 5?Seriously this time!

Page 10: Plone Symposium South America 2012

2007

‣Deco/Tiles

‣Usability

‣Performance

‣1 content type to

RULE THEM ALL! GLITTER+PONIES = UNICORNS=== Plone 5

blah blah blah.

meh dog says...

Page 11: Plone Symposium South America 2012

2012: Facing Reality

???Deco Light?

CMSUI?The #1

framework of post apocalyptic

times?

2010?2011?

2012?

Grok?

Whatever the release manager says it is?

Page 12: Plone Symposium South America 2012

Roadmap

‣ plone.org/roadmap

‣ Short Term‣ Improved calendaring and

collections

‣ Improved content development

experience

‣ Medium Term‣ CMS-UI & Deco Lite

‣ WSGI & Ajax

‣ CMF forms -> Browser Views

In order to reach

where we are going

we must forgive

where we have been

Direction (Roadmap)

Community

Beer

Plone 4

Vectors of Influence for Plone 5

Dedication

Excitement

BitternessResistance to change

Realized Path

Text

Page 13: Plone Symposium South America 2012

Tale of a major

Plone 2.5 Regression

Page 15: Plone Symposium South America 2012

So... what COULD justify the complexity of Plone?

‣ It's moving to a more modern architecture. It's bridging both the old and the new approach right now,

which adds some complexity until the transition is mostly complete. This is mostly to keep things

backwards compatible. Plone does not abandon it’s users.

‣ [Plone 4] starts up 3-4 times faster than the current version. and uses about 20% less memory

‣ There's a much easier types system in the works (Dexterity), which will reduce the complexity and speed

up the system a lot, while keeping the same level of functionality.

‣ If you want to use it as a "platform," then the platform is a stack of over one million lines of code which

implements a complete content management suite. No one knows it all. However, all those "acronyms"

and "files" are evidence of a software which is factored in components so that no one need know it all.

You can get as deep or shallow in it as you need. If there's something you need for some aspect of

content management, it's already there, you don't have to create it from scratch, and you can do it in a

way that's consistent with a wide practice and review.

Page 16: Plone Symposium South America 2012

On UpgradingData migrations from Plone 2.5 to

4.2 were very successful. Data

compatibility will remain

important be important and we

are dedicated not getting stuck

again (Python bumps, we bump).

The worst of the modernization

storm is over.

Page 17: Plone Symposium South America 2012

..... .....

Framework Core Values

‣ XML Configuration

‣ Easy debugging

‣ Extensibility/Pluggability

‣ 100% test coverage

‣ Best in class code

‣ More documentation

‣ Hard things easy

‣ Code next to config

‣ Syntactic Sugar

‣ The custom folder

‣ Happy end users

‣ Clear and simple APIs

‣ Better documentation

‣Easy things easy

Page 18: Plone Symposium South America 2012

Teaching Python Web‣ Task: Make a TODO list

‣ Audience: New to Python

‣ 3 frameworks, 3 hours

per framework

‣ web2py, flask, DjangoInterfaces? I’ll just use PHP then.

meh dog says...

Page 19: Plone Symposium South America 2012

Simple Syntax

@route(‘/contact’)

@render(‘contact.pt’)

class Contact(View):

def getContactInfo(self):

return {phone=”999-999-9999”}

@route(‘/support-request’)

def ProcessSupport(View):

# submit to 3rd party here

return redirect(url_for(ThankYou))

Page 20: Plone Symposium South America 2012

Hypoglycemia

‣ Getting the site root

‣ 6 files and ~20 lines of code to add a

new stylesheet

‣ Touching so many files and modules:

impossible to move quickly without

referencing documentation

constantly

Using Recommended Practices:

Page 21: Plone Symposium South America 2012

The patient suffers from a severe deficiency of

Syntactic Sugar

Page 22: Plone Symposium South America 2012

Scapegoat: Documentation

Page 23: Plone Symposium South America 2012

Developer Driven Development

‣ Think about the API first

‣ Obsess about developer

efficiency

‣ Use documented examples/

recipes to prove ease of use

‣ Contribute shortcuts from your

everyday process and share

them with coworkers and

communityMake documentation less important with intuitive code!

Page 24: Plone Symposium South America 2012

Plone 5 has the potential to make

Happy Developers!

Page 25: Plone Symposium South America 2012

... makes hiring easier

‣ Plone will never be hip: move on

‣Dangerously high levels of

frustration in the blood

‣ Foster interest in long term

career achievement

‣ “At least it’s not Java”

“plone means getting hands dirty and

drinking away your sorrows once you finish the day”

supton, #plone, January 2012

A thriving community of happy developers...

Page 26: Plone Symposium South America 2012

‣ Plone developers cost much more

than the competition because they

are highly skilled + scarce

‣ Ramp up is too time consuming ($$$)

‣ Clients have the right to a saturated

developer market should they move

on to a different company

‣Developers have the right to feel

prepared to move on within PLONE

‣Diversity in quality of developers

... makes firing easier

A large community of happy developers...

Page 27: Plone Symposium South America 2012

Redefining Sexy Too many packages rely on

too few maintainers; the code

is so brilliant and innovative,

people are afraid to touch it.

We need to nurture a culture

where code is usable and

“maintainable” by the

average Plone developer.

Page 28: Plone Symposium South America 2012

Spanky Certified

✓ Internationalized

✓ Unit tests

✓ End-user documentation

✓ Internal documentation

✓ Existed and maintained for at least 6 months

✓ Installs and uninstalls cleanly

✓ Code structure follows best practice

✓Usable by Spanky

Page 29: Plone Symposium South America 2012

Who does Plone work for?

"If you want a platform to be successful, you need

massive adoption, and that means you need

developers to develop for it. The best way to kill a

platform is to make it hard for developers to build on

it. Most of the time, this happens because platform

companies ... don't know that they have a platform

(they think it's an application)." ~ Joel Spolsky

Page 30: Plone Symposium South America 2012

We Hear You(and we are serious about fixing it)

Page 31: Plone Symposium South America 2012

Plone Pain Top 10 Update

plone.api

Planned in plone.api

Planned for Plone 5

(ping esteele to help)

Page 32: Plone Symposium South America 2012

Plone PainDev docs in core,

trac removed. Guidelines started then stalled - help

requested!

Part of CMF templates

rewrite, new code validated

PLIP Requested: ping esteele

Page 33: Plone Symposium South America 2012

2 new tutorials made, return of tutorial focus

PLIP Requested: ping esteele

Debug tools in plone.api planned

KSS, inline editing pulled out. Lots more too do

Page 34: Plone Symposium South America 2012

Plone 5 TODOs

‣ Make Archetypes Optional

‣ Widget parity*

‣ Default Plone types in Dexterity*

‣ Continue to factor out unnecessary

packages

‣ KSS

‣ Archetypes

‣ Javascript date formatting*

‣ plone.api*

‣ Move all config settings to the registry*

*: Needs PLIP-lementors

Initiating release sequence...Plone 5 released.

Page 35: Plone Symposium South America 2012

..... .....

Summary

‣Plone 4

Modernizing the Plone

user experience

‣Plone 5

Modernizing the Plone

developer experience

Page 36: Plone Symposium South America 2012

Plone Culture NGPlone 5 will happen... now what?

Page 37: Plone Symposium South America 2012

‣ Decide to commit to Plone the community. Too

many people sitting on the fence results just leaves

us with a busted fence.

‣ Commit your project or company, no matter how

small, to just 1 internal Plone culture improvement

proposal this week. Can’t code? Even better.

Committing Not Just for Developers

Page 38: Plone Symposium South America 2012

‣ Policy: All employees sign up for Plone on day 1‣ Paperwork: Contributor agreement, plone.org account

‣ Persist Plone culture (e.g. pre-install IRC)

‣ Training: teach new developers how and when

to file bugs and properly contribute fixes

‣Mentorship: it’s not just for finding the bathroom

Resolve to Initiate

Page 39: Plone Symposium South America 2012

‣ Host a sprint. Ploners LOVE to travel. It’s science.

‣ Send 1 [non-technical] person to a conference ‣ Level Up: Let them stay to sprint‣ Bonus Round: Present a case study of your work

‣ Form an alliance (or two). Explain projects,

frustrations, share contacts. Meet their team in

person.

Resolve to Travel

Page 40: Plone Symposium South America 2012

‣ Test new versions of Plone. Stage, don’t deploy.

Upgrade and run your tests. Report back.

‣Make a policy to stop forking! It’s a short term fix

with long term problems. Enforce it.

‣ Set aside time for a company sponsored PLIP

Resolve to Encourage

Page 41: Plone Symposium South America 2012

..... .....

Resolve to Sprint this Weekend!

‣Tutorial Basic TODO List the

Plone way. Focus on

transition from TTW to

plone.api. Moderated.

‣DOJO

Modernizing the Plone

contributor agreement

process. Learn Dexterity,

content rules and more.

Page 42: Plone Symposium South America 2012

Plone has the potential to makehappy developers, but only you have the power to make

Plone

!MAGIC

Page 43: Plone Symposium South America 2012

EXCUSES

Plone 5 code name: No Excuses

Page 44: Plone Symposium South America 2012

Questions?

Page 46: Plone Symposium South America 2012

Imagery