Idea list, 2010

Training

Title

Make a screencast version of the Buildout tutorial

Difficulty

Average

Estimated time

2

Task description

Create a screencast which will guide new users through the process of setting up a new Plone site using Buildout.

Additional info

You may want to base your screencast on the Buildout tutorial on Plone.org - http://plone.org/documentation/manual/developer-manual/managing-projects-with-buildout/referencemanual-all-pages

Deliverable

An AVI video tutorial

Requirements

Clear speaking voice for narrating the screencast.

Benefits

Many people find buildout difficult to understand and/or scary. The aim of this task is to make buildout more approachable to new users.

Links

http://plone.org/documentation/manual/developer-manual/managing-projects-with-buildout/referencemanual-all-pages

 

 

 

 

 

Code

Title

Plone status control panel

Difficulty

Advanced

Estimated time

5

Task description

Drupal has quite a cool control panel that gives information on how well your instance is configured, showing if things follow best practises. This would make a version for Plone.

Additional info

Things we should have are: - Ensure the Plone process doesn't have write access to its own source code - ZODB cache churn not too high - Migrations all have been run - plone.app.caching or CacheFu installed and active

Deliverable

An add-on product that adds a new control panel

Requirements

Python

Benefits

This would give newbies an easy way to check their sites are following best-practises and would have to worry less if they're doing things correctly, also pointing out some best practises known to the core development community that might not be as well known for everyone else.

Links

Title

Create an XDV theme for RedTie

Difficulty

Easy

Estimated time

2

Task description

Deliverance/XDV/Diazo allows you to theme sites by providing some static HTML and a way of mapping where content in the original Plone site goes into the template. This will create a theme of this type for the RedTie open source theme.

Additional info

Deliverable

A zip of deliverance rules and static resources

Requirements

Benefits

Links

http://www.oswd.org/design/preview/id/3699

Title

Create a new Plone workflow

Difficulty

Average

Estimated time

4

Task description

Plone has multiple workflows built in that let users choose when their content is visible and to whom. This would create a new workflow for more advanced drafting of documents.

Additional info

The flow of states would be: Writing > Checking > Proofing > Pending > Published i.e. there are multiple stages of approval where the document is checked for accuracy and for spelling/typographical errors before rejoining the standard process.

Deliverable

A workflow definition export from Plone

Requirements

None

Benefits

This would be a good example of how to do more complex workflows, especially multiple worklists.

Links

Title

Create a portlet to show the local weather for a given place

Difficulty

Advanced

Estimated time

3

Task description

A portlet that takes a location and uses wunderground.com or similar to display the current/forecast weather conditions for that place.

Additional info

Deliverable

An installable package

Requirements

Strong Python skills

Benefits

Lots of sites will have a strong local connection, especially for local intranets. This will provide some more heads-up information for the users, increasing the chances they will come to the site.

Links

Title

Create a portlet for displaying featured content

Difficulty

Advanced

Estimated time

3

Task description

Create a portlet for use in Plone which displays an appropriate representation of a piece of content selected by site administrators as featured. This should include a user interface for selecting the featured content item as well as the main display itself.

Additional info

Deliverable

A python egg

Requirements

Python.

Benefits

Many sites use the concept of featured content to promote lesser known or new content. Currently we don't have any way of doing this out of the box and it would be a useful addition.

Links

 

 

 

 

 

Documentation

Title

Create a comparison of Plone with Drupal

Difficulty

Easy

Estimated time

2

Task description

Produce a report comparing Plone to Drupal, detailing the differences in functionality, flexibility, extensibility, performance and ease of use and installation.

Additional info

Deliverable

PDF report containing comparison, including screenshots

Requirements

Benefits

This will allow us to see where other frameworks are better so we can improve

Links

Title

Installation Guide

Difficulty

Easy

Estimated time

3

Task description

Create an installation guide for Plone targeting all platforms, to publish at plone.org.

Additional info

It should be short and to the point, similar to http://docs.djangoproject.com/en/dev/topics/install/ . Not a lot of screenshots needed.

Deliverable

Document at plone.org

Requirements

Writing skills, access to Linux/Mac/Windows environment (or two of them at least).

Benefits

Unified, clear installation docs will make more people be able to install Plone and enjoy it without having to show up in #plone and ask for help.

Links

www.plone.org/documentation

Title

Unify the how to ask for help guides

Difficulty

Easy

Estimated time

2

Task description

Merge all the existing "how to ask for help" guides into one, with modifications.

Additional info

See http://dev.plone.org/plone/ticket/9342

Deliverable

Doc page at plone.org.

Requirements

Writing skills.

Benefits

A single entry point about how to ask for help will help users to be helped properly by the community.

Links

http://dev.plone.org/plone/ticket/9342

Title

Deploy Plone in basic webservers doc

Difficulty

Advanced

Estimated time

3

Task description

Create a doc explaining how to perform a basic Plone deployment using popular web-servers as Apache, nginx, lighty...

Additional info

There is some available documentation at Plone.org for Apache the student can use as a starting point. The guide should provide pointers for a basic deployment, but not go into too much depth.

Deliverable

Guide at plone.org.

Requirements

Knowledge of how to configure a web server to act as a proxy for an application server.

Benefits

Links

Title

Create a screencast showing how to combine a Plone and Wordpress site using XDV.

Difficulty

Average

Estimated time

2

Task description

Produce a screencast showing the process of applying a theme to a Plone site and a Wordpress site at the same time, ultimately providing seamless integration of the two to end users.

Additional info

Create a simple XDV theme and configuration which pulls content in from two backends and merges them.

Deliverable

AVI video suitable for upload

Requirements

Benefits

XDV is a very exciting technology and it would be excellent if we could show how it is possible to use it to combine different frameworks to allow site developers to always use the best tool for each part of their site.

Links

Title

Screencast showing how to make custom content types with Dexterity

Difficulty

Average

Estimated time

3

Task description

Make a tutorial showing how you can create your own custom content type through the web using Dexterity, and then export it to the filesystem so that it can be used in future projects and managed under source control.

Additional info

You can choose what information you would like your content type to store but try to include a selection of different field types and validation. You should try to think of an interesting real-world application for your content type. You should make the format of your tutorial similar to the other tutorials on plone.org

Deliverable

An html page and screenshots

Requirements

Some HTML skills, the ability to write clear, well-thought-out instructions.

Benefits

There is already a comprehensive developer guide to creating Dexterity content types in the filesystem (ie with python code), but Dexterity also has powerful through-the-web content-creation facilities. This means you don't need to be a developer to create new content types. We need to make it more obvious that this can be done.

Links

http://plone.org/products/dexterity http://plone.org/products/dexterity/documentation/how-to/install

 

 

 

 

 

Outreach

Title

Plone slideshow template

Difficulty

Advanced

Estimated time

4

Task description

When we are presenting Plone in external circumstances, such as other Python conferences, we would like to be able to easily create pretty presentations without worrying about making the slides pretty.

Additional info

Students should create a Keynote template with a series of different masters Including: - Title page - Bullet list - Page with graph/photo - Comparison of two graphs/photo - Large photo with caption etc If you don't have Keynote then any other presentation software will be fine, we may have more questions before accepting the task as completed though, to ensure the import to Keynote works correctly.

Deliverable

A keynote template with at least 10 different masters

Requirements

MacOSX with Keynote (or some other presentation system that Keynote can import from) A good eye for design

Benefits

This will let anyone presenting Plone to a conference to write pretty and consistent slides, letting them concentrate on the content of the presentation.

Links

http://plone.org/news/announcing-the-plone-logo-usage-guidelines-and-policy

Title

Update the codeswarm

Difficulty

Easy

Estimated time

2

Task description

Generate a new code-swarm and other pretty visualisations of Plone's commit history.

Additional info

Deliverable

An AVI

Requirements

Benefits

Links

Title

Create an XDV screencast for Drupal

Difficulty

Average

Estimated time

2

Task description

This will be creating a screencast demonstrating the Diazo/XDV method of theming targeted at Drupal people. This is a big new technology in the Plone ecosystem, so this task will show people from other CMSes how easy it is to make themes using it.

Additional info

The screencast should go from an installed Drupal site behind Apache through to putting the content of the drupal site into the Plone theme.

Deliverable

An AVI

Requirements

A drupal install, clear speaking voice.

Benefits

Diazo is looking more and more like the new way to do Plone theming from Plone 4.0 onwards. It lets us theme very different websites easily, and is not Plone specific. It could easily be used by many Drupal people, this screencast will show them how easy it is.

Links

Title

Create an XDV screencast for Wordpress

Difficulty

Average

Estimated time

3

Task description

This will be creating a screencast demonstrating the Diazo/XDV method of theming targeted at Wordpress people. This is a big new technology in the Plone ecosystem, so this task will show people from other CMSes how easy it is to make themes using it.

Additional info

The screencast should go from an installed Wordpress site behind Apache through to putting the content of the drupal site into the Plone theme.

Deliverable

An AVI

Requirements

A wordpress install, clear speaking voice.

Benefits

Diazo is looking more and more like the new way to do Plone theming from Plone 4.0 onwards. It lets us theme very different websites easily, and is not Plone specific. It could easily be used by many Drupal people, this screencast will show them how easy it is.

Links

 

 

 

 

 

Research

Title

Investigate Bayesian ranking algorithms

Difficulty

Average

Estimated time

4

Task description

The Plone.org add-on page shows addons ordered by ranking. This is naïve at the moment, as a small number of very positive votes will skew rankings. Investivate which is the best ranking algorithm for this use case and implement it in the ranking product.

Additional info

Deliverable

A replacement ranking system for contentratings

Requirements

Python

Benefits

This will allow people to find high-quality Plone add-ons more easily.

Links

Title

Create a comparison of Plone with Wordpress

Difficulty

Easy

Estimated time

2

Task description

Produce a report detailing the differences between Plone and Wordpress in terms of functionality, extensibility, flexibility, ease of use and installation.

Additional info

Deliverable

PDF report containing comparison, including screenshots

Requirements

Benefits

This will allow us to see where we need to improve.

Links

Title

Create a comparison of Plone with Joomla

Difficulty

Easy

Estimated time

2

Task description

Produce a report detailing the differences between Plone and Joomla focusing on functionality, flexibility, extensibility, ease of use and installation.

Additional info

Deliverable

PDF report containing comparison, including screenshots

Requirements

Benefits

It's useful to us to know where other frameworks do things differently or better, this report will let us see where we should focus our efforts.

Links

Title

Create a comparison of Plone with SharePoint

Difficulty

Average

Estimated time

2

Task description

Produce a report detailing the differences between Plone and SharePoint, focusing on functionality, flexibility, extensibility, ease of use and installation

Additional info

Deliverable

PDF report containing comparison, including screenshots

Requirements

Access to an existing SharePoint installation, or the ability to install the demo version.

Benefits

It's useful to us to know where other frameworks do things differently or better, this report will let us see where we should focus our efforts.

Links

 

 

 

 

 

User Interface

Title

Restyle the Dexterity TTW content type editor

Difficulty

Average

Estimated time

2

Task description

Dexterity has a through the web content type creator that isn't very pretty at the moment. Update the CSS for that to make it fit in with Plone better.

Additional info

Deliverable

A patch to plone.app.dexterity

Requirements

Benefits

Links

Title

Use jQueryTools to make PloneSurvey more usable

Difficulty

Average

Estimated time

4

Task description

Use jQueryTools and other existing Javascript in Plone to make the PloneSurvey add-on product more usable.

Additional info

Deliverable

A patch to PloneSurveys

Requirements

Javascript

Benefits

Links

Title

Improve the UI for the Users and Groups page

Difficulty

Advanced

Estimated time

5

Task description

You can get to the Users and Groups page from the Plone Control Panel. This page is notoriously unfriendly and could do with some user interface/user experience improvements, for example enhancements with JQuery UI.

Additional info

Do some user experience testing to find out the common problems that users experience with this page, and make your improvements based on your findings.

Deliverable

A reviewed patch in Trac

Requirements

JQuery, XHTML, CSS, Python, an interest in user experience

Benefits

Almost every Plone user will use this page at some point. This will help to make the whole experience of using Plone a more positive one.

Links

http://www.b2bemailmarketing.com/2008/05/user-experience.html

Title

Usability testing of Plone's content management tools

Difficulty

Easy

Estimated time

2

Task description

Perform some user experience testing on the content-management aspects of Plone (creating new content, publishing, editing, deleting, managing folder structures etc) and produce a report detailing the difficulties that people had, and suggesting improvements.

Additional info

Deliverable

A PDF report

Requirements

an interest in user experience

Benefits

Links

http://www.b2bemailmarketing.com/2008/05/user-experience.html

 

 

 

 

 

Quality Assurance

Title

Real-world migration tests

Difficulty

Advanced

Estimated time

5

Task description

Create a Python script that takes a combination of buildout files and Data.fs for an old Plone site and runs a migration from scratch.

Additional info

Deliverable

A python script that can be easily integrated into Hudson.

Requirements

Python knowledge

Benefits

This would let us automatically test the migration for various old Plone versions that are more complex than the basic case and will help us find more tests to write.

Links

Title

Testing data for migrations

Difficulty

Easy

Estimated time

3

Task description

Create a Plone 2.5 site using popular add-on products, many users and lots of content for testing the migration machinery.

Additional info

Speak to users on the Plone IRC channel to find out what add-ons are in common use, then install them in the site. The outcome should be a database file that looks like a real Plone 2.5 site but without any confidential data.

Deliverable

A Data.fs file

Requirements

None

Benefits

This would allow us to start doing some more automated tests of how well migration works in complex cases.

Links

 

 

 

 

 

Translation

Title

Translate "Top 15 Questions" document into your native language

Difficulty

Average

Estimated time

3

Task description

There is a document showing the top 15 questions about Plone with their answers, translate this into German.

Additional info

Deliverable

Either an updated InDesign file or a text document with the new text clearly marked against what it replaces in the original.

Requirements

InDesign would be useful, not needed.

Benefits

Links

http://www.coactivate.org/projects/plone-marketing/contributed-marketing-materials

Title

Translate "Top 15 Questions" document into your native language

Difficulty

Average

Estimated time

3

Task description

There is a document showing the top 15 questions about Plone with their answers, translate this into French.

Additional info

Deliverable

Either an updated InDesign file or a text document with the new text clearly marked against what it replaces in the original.

Requirements

InDesign would be useful, not needed.

Benefits

Links

http://www.coactivate.org/projects/plone-marketing/contributed-marketing-materials

Title

Translate "Top 15 Questions" document into your native language

Difficulty

Average

Estimated time

3

Task description

There is a document showing the top 15 questions about Plone with their answers, translate this into Spanish.

Additional info

Deliverable

Either an updated InDesign file or a text document with the new text clearly marked against what it replaces in the original.

Requirements

InDesign would be useful, not needed.

Benefits

Links

http://www.coactivate.org/projects/plone-marketing/contributed-marketing-materials

Title

Translate "Top 15 Questions" document into your native language

Difficulty

Average

Estimated time

3

Task description

There is a document showing the top 15 questions about Plone with their answers, translate this into Japanese.

Additional info

Deliverable

Either an updated InDesign file or a text document with the new text clearly marked against what it replaces in the original.

Requirements

InDesign would be useful, not needed.

Benefits

Links

http://www.coactivate.org/projects/plone-marketing/contributed-marketing-materials

Title

Translate "Top 15 Questions" document into your native language

Difficulty

Average

Estimated time

3

Task description

There is a document showing the top 15 questions about Plone with their answers, translate this into Brazillian Portugese.

Additional info

Deliverable

Either an updated InDesign file or a text document with the new text clearly marked against what it replaces in the original.

Requirements

InDesign would be useful, not needed.

Benefits

Links

http://www.coactivate.org/projects/plone-marketing/contributed-marketing-materials