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