Some javascript/style in this post has been disabled (
why?)
Hi,
To all asia pacific students who like python, GSoC applications close today. You can work on Plone and get paid for it.
I'm please to announce PretaWeb has submitted an application to be a mentor. If your unsure of of what project you might work on then there is a list of plone related projects below and I've also attached a project idea for a python (only vaguely plone related) project which I think would be extremely fun to work on.
Google Summer of Code allows students at further and higher education institutions to apply for a studentship with almost 150 open source projects over the summer, for which they recieve $4500. The Plone Foundation is one of these organisations and we welcome proposals for projects base on Zope and Plone, add-on products like PloneFormGen and GetPaid, or supporting technology like deliverance or ArchGenXML.
Students can submit an application
online, to complete either a project of their own devising or one from our
list of ideas. The application process closes on the 3rd of April 2009, at 1900UTC, we look forward to reading your application.
Manual Driven Development
=====================
Summary
------------
Doctests and functional doctests in particular are a popular method combining developer documentation and automated tests. zope.testbrowser makes creating functional tests even more painless. What if we could extend this process to create online help and/or manuals with screen-shots from the same doctest files?
It would be of particular use to Plone as a way to reduce the workload of maintaining user manuals for Plone. As doctests it will be easier to be alerted when documentation has changed as the test should fail. In addition if the plone user manual was converted to a doctest then it could be maintained more easily by both core developers in conjunction with document writers, which currently happens less than it should.
For example if client could ask for a new workflow for plone to
The user goes to the home page
>>> browser = Browser()
>>> browser.open('http://localhost')
Search for a record
>>> browser.getControl("Search Site").value = "blah"
>>> browser.getControl("Submit").click()
The user has a choice of states to move this record to
>>> browser.getControl("State").options
['Published', 'Private', 'Archived']
With some clever introspection this could be executed to grab screenshots of the running system. For instance
>>> browser.getControl("Search Site").value = "blah"
would be a cutout screenshot of the search control with the value being entered.
>>> browser.getControl("State").options
['Published', 'Private', 'Archived']
would become a cutout highlighting the values in the dropdown or radion options.
In addition, such documentation could then be incorporated into an online help system. Each use case mentioned could have the urls browsed to extracted. When a user of the final system browses to those urls and pushes the help button they could be directed to a list of scenarios/tutorials where that url was a part of.
Implementation
--------------------
Integrating selenium with zope.testbrowser might be one way to make this happen. There are probably already ways to record screenshots from selenium tests.
Since there are limitless kinds of test conditions are possible with python, it might be hard to show all of them in a sensible way visually. However in my experience most tests fall into just a few simple idioms that could be recognised.
The generation of documentation could be integrated as part of sphinx. Sphinx based documentation could also be further integrated into Plone to create Plone content or into a Plone online help system.
Preferably the actual image generation system could be abstracted as a library for use in many documentation systems.
Some notations might have to be implemented so document writers could control the generation of certain screenshots.
Another potential implementation could be creating screencasts from doctests.
Skills
-------
Knowledge of Python and perhaps some javascript and image processing.
Mentors
----------
Dylan Jay from Pretaweb is willing to mentor this effort, perhaps in conjucntion with the members of the Plone doc team.
Aims
------
A system for generating documentation with screenshots from zope.testbrowser functional doctests. This would be use to anyone developing web application already using python doctests.
A working implementation along with a Plone user manual converted to doctests would be a great result if it generated the kind of screenshots the Plone documenation team approve of.
---
Dylan Jay, Plone Solutions Manager
www.pretaweb.com
tel:+61299552830
mob:+61421477460
skype:dylan_jay
_______________________________________________
Plone-AsiaPacific mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-asiapacific