Will rant for beer.

Month

June 2013

2 posts

Plone 5

So, as you’ve likely noticed, we spent a lot time of talking about Plone 5 during the recent Plone Symposium Midwest. I think we’ve reached the point where can really start prioritizing concepts for a major release. Obviously, any changes need to go through the Framework Team for final approval, but I’ve got a bully pulpit and I’m not afraid to use it.

Here’s how I’d like to see development focused over the near term:

 Plone 5 ships with Dexterity as its default content type story.

  • Dexterity versions of plone.app.event and plone.app.collection
  • A better set of widgets (plone.app.widgets)
  • Products.Archetypes, Products.ATContentTypes, archetypes.schemaextender remain available as add-ons for older content
  • Full multilingual story available (plone.app.multilingual)

Plone 5’s UI gets an extensive overhaul.

  • Diazo becomes the default theming story
  • Fewer CSS files makes finding and overriding easier
  • No more !important in its CSS
  • Editing interface is separated from content for easier styling (plone.app.toolbar)
  • Accessible: WCAG- and ATAG-compliant
  • Deco.gs is replaced with a more commonly-used grid system, responsive
  • New folder contents UI with filtering and batch operations
  • Improved, tested widgets
  • TinyMCE gets upgraded to version 4.0, with a simplified integration making it easier for us to stay up-to-date

Plone 5 ships with an empty portal_skins.

  • Exists for add-ons
  • Most content moved to browser views, z3c.form
  • Login rewritten to use views, events. Simple, but pluggable for more complex use cases
  • Pay attention to proper XSRF protection for our most common functionality


Plone 5 has amazing test coverage.

  • Migrating scripts from portal_skins to browser views allows more unit testing
  • New JavaScript practices mean more unit tests for our interactive stuff

Plone 5 is faster.

  • Chameleon reduces rendering times by 30%
  • Date formatting is handled on the client side


Plone 5 is easier to learn.

  • plone.api covers most common development tasks.
  • Plone 5 eats its own dog food and sets an example for:
    • Views over skins
    • z3c.form
    • Dexterity
    • Diazo
  • JavaScript integration/development requires less knowledge of Plone
  • Theming requires less knowledge of Plone, less fighting with the default setup

And most importantly…
Plone 5 is achievable within the next 12 months.

There are, I’m sure, 30 other features that are in some stage of not-doneness, and while I’d like to see us do everything, we need to find some kind of scope. I think the above featureset gives us a nice range of features, a not-too-painful upgrade, and gives everyone plenty to do over the next year.

We’ve already begun approaching Plone companies to get buy in to the effort, asking for time, money or organizational support. Six Feet Up has pledged 5 hours per week of their QA team’s time to test our work. Netsight is organizing a sprint to rework the login. AMP is pledging 5 hours a week toward deprecating portal_skins. Wildcard is taking on the folder contents revamp. If your group has a particular need, now is the time to make it happen.

In addition, we have plans to use the general community excitement that comes along with a major release to build some momentum in our non-code teams. If we can move this forward, I think Plone 5 will be a big step up for both Plone the software and Plone the community.

Jun 14, 2013
#plone
Communications

“Every step is a first step if its a step in the right direction.”
- Terry Pratchett, “I Shall Wear Midnight”

I tend to be…measured in what I say. In the best case, that means that it takes me far longer than it should to communicate things. In the worst, it means that things just sit in my drafts folder.

Discussions during last week’s Plone Symposium Midwest point to many great things happening in the next 12 months. For me, the greatest is the rebooting of Plone’s communications team. Since last September, Rose Pruyne has been writing some fantastic articles for plone.org about community members doing great things with Plone. Now, she and a team of writers and editors will be conducting interviews with team leaders, developers, and anyone working to make Plone even better.

We recognize that we’ve been pretty lax about letting everyone know what’s going on, and this is our first step in fixing that.

Jun 13, 2013
#plone

September 2012

9 posts

“When you’re a programmer…you have the ability to do whatever you want really, really quickly in the crappiest possible way.” —John Siracusa (via merlin)
Sep 16, 201278 notes
Sep 11, 2012
“I don’t know why they make them look so delicious.” —Sen. Chuck Schumer (D-NY) on Tide detergent pods.
Sep 10, 20121 note
“The open source world does many things brilliantly, but one thing it does badly is planning for leadership succession.” —Glyn Moody, Learning from Diaspora
Sep 9, 2012
Plone: The Second Decade

Plone is facing an increasing number of external stressors. The economy is sinking whole companies. People who had previously relied on Plone as a software application platform have begun to opt for Pyramid instead. Mozilla lures away disenchanted developers. Names once common on mailing lists and change logs aren’t seen so much anymore. In the last 3 years, we’ve lost a lot of people that have been central to Plone’s success. Understandably, there’s been a good deal of angst over this and it’s something we absolutely cannot ignore.

So here’s the thing…

1). People move on. Worrying about or trying to win those people back is a waste of time and effort.

This sort of turnover, or “generational relay”, is nothing new to OSS projects. The “half-life” of a Debian developer is estimated to be about 7.5 years; to hope for more for Plone is a fool’s game. And we’re awesome people; though they may no longer be actively contributing to the project, those who have departed have often happily remained our friends, advisors, and advocates.

2). We have the same amount of talent as (if not more than) ever, but it’s spread out over more people. This is a good thing.

According to Oholo’s tracking, the number of active core contributors has increased by 15% over the previous 12 month period. What losses we’ve seen have been replaced by a larger number of new contributors.

3). In fact, I think the Plone community has dramatically increased in diversity – abilities, geographic, and otherwise, we’re just doing a bad job of recognizing and utilizing it.

The three regional Plone conferences this year have had over 500 attendees combined, yet we still use the annual worldwide conference as our measure for community interest. At Plone Symposium South America, 18 people signed their Plone Contributor Agreements, six of whom had made their first contributions to Plone by the end of the week. Over the past year, we’ve averaged one major sprint each month, and those have been spread across nine different countries.

I received an email from a man who has been working with Plone since its earliest days. Two weeks ago he made his first contribution the the codebase. I am thrilled to have him join us, but I have to wonder why it took us all so long to call on him to help.

We have Python and JavaScript developers, designers, marketers, writers, sysadmins, organizers, leaders, all waiting at the periphery for someone to invite them in and show them around.

4). These are good problems to have, because we absolutely can fix them.

We’re still doing great things. Plone is outstanding software, and is getting better with each release. We’ve got a good handle on the directions the product will take in the future.

But the problem is this: We’ve coasted on the idea that our community of contributors is so strong and have ignored the fact that it needs to be actively nurtured to remain so. We all need to feel ownership and responsibility for Plone again. We need to stand up to cheer and point out when somebody does something awesome. We need to make sure people who have an interest in contributing can quickly find a way to do so. We need to give people the information and resources they need to make the most of their contributions. We need to promote people who have shown drive and leadership into roles where they can be most effective.

So, here in year eleven of the project, what is the future of Plone? It’s you, it’s us, it’s saying “thank you” to everyone who got us through the first ten years, and it’s saying “We’ll take it from here”.

Sep 9, 20122 notes
#plone
“You see, Open Source is all about the people. Really, on almost any project you would want to be a part of, the code comes second. People are what distinguish a project that is a joy to work on from one that is a chore; people are what make the difference between a project that is flourishing and one that languishes in the bitbucket. Sure, you will only stay up all night coding on a project if it is solving a problem you think is important; but unless you have people with whom you can collaborate, discuss, design, and develop, you are probably going to lose interest or get stuck before too long.” —Nóoirín Plunkett, Open Advice: People are Everything
Sep 9, 20122 notes
#plone
“But there is an even bigger issue here, I think, that concerns project continuity. Too often in the world of free software, projects depend upon one or two key people, either as leaders or programmers – or both. This makes the code extremely vulnerable, and often leads to problems when those key individuals depart for whatever reason.” —Glyn Moody, Learning from Diaspora
Sep 9, 2012
#plone
“Maintainability is a critical feature of software engineering. But it becomes paramount in FLOSS. It is not only about source code. It is about people, social relationships and digital etiquette. It is something beyond mere good taste. Quod severis metes (“as you sow, so shall you reap”). Remember that, next time, you may be the newcomer filling the knowledge gap left by a former developer.” —Felipe Ortega, in Open Advice: Prepare for the Future: Evolution of Teams in FLOSS,
Sep 9, 2012
#plone
Plone Community and Development – Things of note (2012-09-07)

First of all, thanks to Alex Clark, Peter Mathis, Érico Andrei, and Elizabeth Leddy for clearing up issues mentioned in the previous update!

 

If you’re looking for a way to get involved, these may be great starting points. If you aren’t sure where you might fit in, email me at esteele@plone.org and I’ll do my best to find a place to exploit your talents and a mentor to help you along.

 

Eric 

Releases: 

  • Unified and OS X installers for Plone 4.2.1 are now available at http://plone.org/products/plone/releases/4.2.1. 

  • A note on Windows installers: Alan Runyan reports rather severe problems migrating it to Python 2.7. We’re looking at potential solutions, most likely Ross Patterson’s work on using Microsoft’s Web Platform Installer. I hope to get the interested parties together soon to move things forward. If you’re interested in helping, let me know and I’ll include you.

  • Plone 4.3a1 should be out in the next week. Keep an eye out, there’s some great stuff in there.  

Community Things: 

  • The Sea Sprint has reached its fund raising goal. Thank you to all who contributed.

  • The talk schedule for Plone Conference 2012 is now available:

  • For those still looking for lodging for the conference, have you considered the Plone Boat?

  • Nathan van Gheem has started a UI Team review of some of Plone’s existing features. They’ll be looking for ways to revamp, declutter, and otherwise improve core functionality. This is a good opportunity to weigh in on areas of confusion or to take the proposed changes and make the fixes. Follow the discussion here: http://sourceforge.net/mailarchive/message.php?msg_id=29742345

  • Plone Symposium South America has wrapped up and was an astounding success. Don’t be surprised if you see a lot of impact from Plone South America this coming year! In contributions from more than 18 new core developers, we saw a burst of internationalization efforts across several key documents. Read more at http://plonechix.blogspot.com.br/2012/08/plone-south-america-sprint-report-day-1.html

  • Elizabeth Leddy is working to revamp the contributor agreement process. She’s collecting thoughts here: http://piratepad.net/gHbJXO3SFL. Let’s make it easier for everyone to get contributing to Plone!

  • Another product of the PSSA sprints is the Plone Todo tutorial which teaches beginner integration concepts. Not only is it a good read, it’s also being tested against all new Plone releases so that we can be sure that neither the tutorial nor Plone itself is broken.

  • The 60th Plone Tuneup is Friday, September 21st! Help us triage and fix tickets in this very special installment.

High Impact Bugs: 

  • Tiny MCE and alt tags: https://dev.plone.org/ticket/12322 . This is the most duplicate reported bug of the  last 3 months.

  • Fixing error on plone.org when an item is protected by login: https://dev.plone.org/ticket/12996

  • The new plone.app.jquery disables jquery-integration.js when upgrading Plone. For those using unwrapped jQuery calls, this can cause an “undefined variable: jq” error when loading pages. We need to make sure this gets documented in the 4.2 upgrade guide.

Quick Documentation Fixes: 

  • Fix broken images in “where is what”: https://dev.plone.org/ticket/11625

  • Update documentation on global variables in templates: https://dev.plone.org/ticket/13093

  • Document how to reset a password: https://dev.plone.org/ticket/9411  

General issues, interesting problems (Fix them or debate them, I just want them gone):

  • Gifs are getting over-pixellated since Archetypes 1.7.11: https://dev.plone.org/ticket/12952

  • Acquisition takes precedence over redirects: https://dev.plone.org/ticket/12940

  • TinyMCE no warning on unsaved body edits: https://dev.plone.org/ticket/12983

  • Content state changes use a get instead of post, which causes some issues: See https://dev.plone.org/ticket/12447, https://dev.plone.org/ticket/11970

  • prefs_install_products_form: Rendering causes traceback from

  • Products.TinyMCE.adapters.schema.getRichTextFieldNames(): https://dev.plone.org/ticket/12992

  • plone.app.stagingbehavior can break a site: https://dev.plone.org/ticket/13126

  • plone.app.theming edits are tied to manager role: https://dev.plone.org/ticket/13156 

Trac Archeology – Oldies but goodies: 

  • PlonePAS needs to traverse to unauthorized page instead of redirecting https://dev.plone.org/ticket/3493 (should this be a PLIP?) (2004)

  • Search keywords raise errors https://dev.plone.org/ticket/2963 (2004)

  • Move happytalk in mails to the footer https://dev.plone.org/ticket/7001 (2006) Delete or PLIP!

Sep 7, 2012
#plone

August 2012

1 post

Plone Community and Development – Things of note (2012-08-23)

Hello everyone. In an effort to make sure that everyone knows what’s being done and what needs to be done, here’s a list of both. If you’re wondering what you should be caring about, this is it.

If you’re looking for a way to get involved, these may be great starting points. If you aren’t sure where you might fit in, email me at esteele@plone.org and I’ll do my best to find a place to exploit your talents.

Eric

Community Tasks
  • Plone 4.3 is ready to be released. If you’ve got an idea for 4.4/5, now’s the time to get it in. How do you do that? By creating a PLIP (https://dev.plone.org/wiki/PLIP). The Framework Team will be discussing our wishlist at our next meeting, so you’ll hear more about that next month.

  • The Sea Sprint is currently collecting donations to bring in more developers to finish up Deco Lite. If you or your company has a stake in making Plone better at content editing and layout (and I think that’s all of us), now is the time to make it happen. Donate at http://seasprint2012.chipin.com/sea-sprint-2012

  • Please go vote for the talks you want to see at the Plone Conference (http://www.ploneconf.org/the-event/talks/conference-talks). Also, go to the Plone Conference.

  • These people need commit access. Who’s on it? : https://dev.plone.org/query?status=assigned&status=confirmed&status=new&status=reopened&component=CommitAccess&group=status&col=id&col=summary&col=status&report=51&order=priority Done!

  • Liz wants a new contributor agreement collection process. I’d agree. Liz, where can we discuss progress on that? Update: Liz points us to this document:

Releases To Try
  • Plone 4.2.1 is in “soft release” status. Point your buildouts at http://dist.plone.org/release/4.2.1-pending/versions.cfg to try it out. I’m still waiting on another bugfix, but this one should go to final release status soon.
  • Products.TinyMCE 1.3b2 is available on pypi. This fixes a slew of issues we’ve all been having with TinyMCE. While we’re still waiting on a 4.3a1 release, you can try this one out in your 4.2 sites. Please do, we want to get this one right.
  • Similarly, we’d like to know what it’ll take to upgrade to jQuery 1.7.x. Update plone.app.jquery to 1.7.2 (but not on your live site!) and submit bug reports for any issues.
High Impact Bugs
  • TinyMCE and alt tags: https://dev.plone.org/ticket/12322. This is the most repeatedly-reported bug of the last 3 months.
  • Fixing error on plone.org when an item is protected by login: https://dev.plone.org/ticket/12996
Quick Documentation Fixes
  • Fix broken images in “where is what”: https://dev.plone.org/ticket/11625
  • Update documentation on global variables in templates: https://dev.plone.org/ticket/13093
  • Document how to reset a password: https://dev.plone.org/ticket/9411
The QA Team says
  • Who wants to help the QA team? Join in at plone-qa-team@lists.plone.org
  • Unless someone can argue that the bounty missions have been successful, let’s close those tickets out.
  • Close/re-verify all tickets from 2008 and 2009. There are only about 10: https://dev.plone.org/report/1?sort=modified&asc=1&page=1 . Goal is to make sure all tickets in the tracker are somewhat modern
General issues, interesting problems (Fix them or debate them, I just want them gone)
  • Gifs are getting over-pixellated since Archetypes 1.7.11: https://dev.plone.org/ticket/12952
  • Acquisition takes precedence over redirects: https://dev.plone.org/ticket/12940
  • TinyMCE no warning on unsaved body edits: https://dev.plone.org/ticket/12983
  • Content state changes use a get instead of post, which causes some issues: See https://dev.plone.org/ticket/12447, https://dev.plone.org/ticket/11970
  • plone.app.collection does not store and filter path index: https://dev.plone.org/ticket/13012. Pull request, needs review Fixed by Peter Mathis!
  • Collection Views broken (Default view, Summary view, Thumbnail view): https://dev.plone.org/ticket/13010 Fixed by Érico Andrei!
  • prefs_install_products_form: Rendering causes traceback from Products.TinyMCE.adapters.schema.getRichTextFieldNames(): https://dev.plone.org/ticket/12992
Aug 26, 2012
#Plone

May 2012

4 posts

Pre-PSE12-Strategicesque-Sprintacular Wrapup Report

The Pre-PSE12-Strategicesque-Sprintacular was held in State College, PA in the days preceding Plone Symposium East, 2012.


This sprint was different from most. Typically sprints are a very active, very vocal event as sprinters debate and decide how a new feature should be implemented. The Sprintacular’s goals were centered around code cleanup and removal, which resulted in a very quiet and highly focused environment.

Here’s what happened…

Hanno Schlichting:

  • Removed zope.app.* dependencies in Plone core.
  • Investigated upgrading Plone to CMF 2.3. Integrating membership tool into Plone, ran into issues. Changes in tool registration makes upgrading problematic in a 4.x release.

David Glick:

  • Refactored Archetypes-specific code in preparation for Plone’s future switch to Dexterity.
  • Moved several portal_scripts Python scripts to browser views.
  • Helped Hanno with zope.app.* cleanup.
  • Removed around 30 total packages as dependencies.

Craig Haynal, Eric Steele, Nathan van Gheem:

  • Worked on removal of KSS from Plone core.
  • Existing KSS scripts migrated to use jQuery instead.
  • Remove KSS as a dependency of Plone.

Joel Kleier:

  • PEP8, PyFlakes clean up of Products.CMFPlone, Products.PlonePAS, plone.outputfilters, and Products.PloneTestCase

Ross Patterson, Ed Manlove, Michael Mulich

  • Created wrappers for older testing frameworks to ease their move to plone.app.testing.
  • Investigated conversion operations for older tests, but none have panned out.
  • Began work on a testcase migration guide.
  • Migrated PloneTestCase tests in Products.CMFPlone to use plone.app.testing.

Many thanks to all who attended!

May 24, 2012
#plone
Play
May 24, 2012
#plone
It's time to talk Plone 5.

Someone needs to kick this off… Plone 5!

The whole point of this is focusing/refocusing our development efforts, so I’m going to keep this short and expect the rest of you to run with the discussion.

Plone 5 will drop in March, 2013 and will be about two things:
1) Dexterity becomes Plone’s default content type story. We handle multilingual content beautifully. We figure out a migration path for Archetypes content.
2) Diazo becomes Plone’s default theming story. CMSUI/plone.app.toolbar gets awesome and wraps the whole thing up nicely.

Those two features alone are more than enough to make for an awesome major release, with a reasonable upgrade from Plone 4. Everything we accomplish past that is icing on the cake.

Go.

Edit: Added some links to the relevant technologies. Developer discussion happens here.

May 23, 2012
#plone
Pre-PSE12-Strategicesque-Sprintacular Day 2 Morning Checkin

Quick notes from the sprinters as we get started on our first full day of sprinting. The Pre-PSE12-Strategicesque-Sprintacular is focused on deprecating or removing old code from the Plone core.

Hanno Schlichting: Removing zope.app dependencies. Today: fix some dependencies on zope.app.testing. Should remove around 15 packages as dependencies.

David Glick: Working to make Archetypes optional in preparation for adding in Dexterity and plone.app.contenttypes. Currently running Plone without any content types. Helping Hanno with zope.app dependencies. Running the core.cfg, we’ve gone from 220 eggs to 208. Today: make Archetypes not be a test dependency of CMFPlone by isolating those tests and moving to the Archetypes packages.

Ross Patterson: Converting existing tests to plone.app.testing. Creating wrappers for older testing frameworks to ease the move.

Michael Mulich: Working with Ross. Transforming plonetestcase in CMFPlone to use plone.app.testing. One down, working on a functional doctest now.

Ed Manlove: Helping Ross and Michael, getting started.

Eric Steele: Working on KSS deprecation. Finding what we’ve already moved out of KSS and removing the unused KSS rules.

Craig Haynal: Migrating all KSS used by the folder contents view to jQuery.

Nathan van Gheem: Moving KSS rules used by portlets to jQuery, moving related views to plone.app.portlets.

Joel Kleier: Removing unused imports throughout Plone core

May 19, 2012
#plone

March 2012

2 posts

It all starts with the tickets.

You may not be aware of it, but Plone has a QA Team. We’ve gone in fits and starts over the last several years, but have never really gained traction. I’m pleased to announce that Elizabeth Leddy has been suckered into agreed to lead the effort! We’ve been in some rather lengthy discussions about what my hopes for the team are and are starting to come to the point of making things happen.

Task 1: Test! Test! Test!

As release manager, I’ve been approaching the position with the basic motto of “Don’t ship crap”. It’s simple, but effective. That basically translates to two things: Make sure that new bugs get fixed.Make sure we aren’t reintroducing old bugs into new releases. And we’ve done fairly well with it. Plone’s Jenkins CI server runs tests against all new commits. We’ve added a “soft-release” phase to the release process which allows developers to test out the new set of released packages before they’re sent off to the public as a real release.

That soft-release phase is one of the areas I really want the QA Team getting involved. Having a team I can trust to put each release – be it alpha, beta, or final – through its paces, is absolutely key to my maintaining my sanity and to you not winding up with a broken Plone install. With active testing, we can reduce the time it takes to make releases, which reduces the time it takes to get bug fixes to you. As things stand now, much of the time involved in making minor releases (4.1, 4.2, etc) is my waiting around until I feel confident that it’s been used by enough people to be considered stable.

But, as Liz and I have talked, I’ve realized that this is actually the lesser of the two main tasks…

Task 2: Tickets, please! Plone has a ticket tracker and as of this post, it has 1,177 open tickets. Many are either outdated, nonsensical or impossible to fix. Far worse, many are just plain forgotten.

When it comes to an open source project, with its inherent limitations to both resources and attention, tickets follow two basic rules:

  1. If there’s no ticket, it’s effectively not a bug.
  2. If the developers don’t see it, it’s not going to get fixed.

So we want to do two things here. First, we’ll be making it much easier for everyone to add tickets. If you take a look at Plone’s new ticket form, you’ll notice it’s dramatically simpler. No login required, no choosing which component is the culprit, just tell us what went wrong and how we can contact you to follow up.

Secondly, we want to make it easier for the developers to find what’s broken, and here’s where the QA team comes in again. Now, when that new ticket comes in, it will be the QA Team’s duty to confirm the bug and properly categorize it. It feels completely underwhelming to boil it down to those two little tasks, but aggregated across the whole of our bug tracker, it leads to an enormous change in our ability to fix bugs in Plone. As a developer, knowing that a bug is both real and valid is a big first step in making a fix. As release manager, being able to point the developers at a set of important bugs each week is an organizational zealot’s dream come true.

Plone’s regular Tune-Up events are a great way to get involved with Plone development. With a steady influx of quality bug reports they become excellent opportunity for anyone to take on tasks that match their skill level, a mechanism for mentorship, oh, and a chance to fix your Plone too.

And so, getting started…

Tomorrow’s (March 16, 2012) Plone Tune-Up will focus on weeding out Plone’s bug tracker. All experience and skill levels are welcomed. We’re looking to close outdated tickets, confirm reported bugs, and generally make it easier for everyone to make Plone awesome. I hope you can join us.

Mar 15, 2012
#plone
Pre-PSE12-strategicesque-sprintacular

Announcing a sprint that, for lack of a better idea, I’m calling the Pre-PSE12-strategicesque-sprintacular. We’ll be taking the four days prior to Plone Symposium East, May 18-21, to maliciously rip code out of Plone core – things like KSS, Kupu, Wicked, Archetypes, zone.app.* dependencies and whatever else we can come up with.

WebLion has graciously reserved a pair of nice large rooms for us to work in. Students will be out of town, so we’ll have unfettered access to the area’s drinking establishments, restaurants, and drinking establishments.

See our CoActivate page for more information and signups.

And don’t forget to stick around for Plone Symposium East, and even better, give a talk.

Mar 9, 2012
#plone

February 2012

1 post

Feb 23, 2012

November 2011

1 post

Nov 16, 2011
Next page →
2012 2013
  • January
  • February
  • March
  • April
  • May
  • June 2
  • July
  • August
  • September
  • October
  • November
  • December
2011 2012 2013
  • January
  • February 1
  • March 2
  • April
  • May 4
  • June
  • July
  • August 1
  • September 9
  • October
  • November
  • December
2011 2012
  • January
  • February
  • March
  • April
  • May
  • June
  • July
  • August
  • September
  • October 1
  • November 1
  • December