­­­­­­­­­­­­­­­­­

This week’s Plone Conference 2008 Sprint newsletter brings you last minute sprint details with more updates on the sprint topic. See the previous issues for more information if you have missed those. As always, you can post a sprint topic or express interest in an existing topic at the Plone Conference 2008 Sprint wiki. Once again, the Plone Conference 2008 Sprint takes places Saturday and Sunday, October 11-12, at the Arlington Career Center.

 

Plone Conference and Sprint IRC Channel

The IRC channel for the Plone 2008 Conference and Sprint has been opened as #ploneconf2008 on irc.freenode.net. Use this channel for chatting about where to go and meet up at Conference, as well as for extending your sprint to remote developers. Need a freenode-centric primer on IRC? Check out this quick tour.

 

ZopeSkel Sprint Update

Josh has been super busy getting ready for the ZopeSkel sprint since his last report in Issue #1 of the DC Sprintletter. Actually he’s been busy getting you ready for the ZopeSkel sprint. Here’s Josh again with what you need to know to hit the ground running at the ZopeSkel sprint:

“Last week I branched zopeskel and merged in my changes. I plan to use this branch for the sprint.

I’ve also written up a very quick howto on getting up and running with ZopeSkel, building a plone 3 buildout with an archetype-based content type product and I’ve verified this actually works:

ZOPESKEL + ARCHETYPES - BUIDLD A DEV ENV
========================================

Dev Environment (Ubunutu)
-------------------------
$ sudo aptitude install build-essential python-dev python2.4 python2.4-dev subversion

Easy Install
------------
$ cd /tmp
$ wget http://peak.telecommunity.com/dist/ez_setup.py
$ sudo python2.4 ez_setup.py

ZopeSkel
--------
$ sudo easy_install -U ZopeSkel
- or -
[ from JJ's zopeskel branch ]
$ cd ~
$ svn co http://svn.plone.org/svn/collective/ZopeSkel/branches/jjmojojjmojo-AT/
$ cd jjmojojjmojo-AT
$ sudo python2.4 setup.py develop

Check for ZopeSkel
------------------
$ paster create --list-templates
Available templates:
  archetype:          A Plone project that uses Archetypes
  basic_namespace:    A project with a namespace package
  basic_package:      A basic setuptools-enabled package
  basic_zope:         A Zope project
  kss_plugin:         A KSS plugin template
  nested_namespace:   A project with two nested namespaces.
  paste_deploy:       A web application deployed through paste.deploy
  plone:              A Plone project
  plone2.5_buildout:  A buildout for Plone 2.5 projects
  plone2.5_theme:     A Theme for Plone 2.5
  plone2_theme:       A Theme Product for Plone 2.1 & Plone 2.5
  plone3_buildout:    A buildout for Plone 3 projects
  plone3_portlet:     A Plone 3 portlet
  plone3_theme:       A Theme for Plone 3.0
  plone_app:          A Plone App project
  plone_hosting:      Plone hosting: buildout with ZEO and any Plone version
  plone_pas:          A Plone PAS project
  recipe:             A recipe project for zc.buildout
  silva_buildout:     A buildout for Silva projects

Buildout Skeleton
-----------------
$ paster create -t plone3_buildout mybuildout
Selected and implied templates:
  ZopeSkel#plone3_buildout  A buildout for Plone 3 projects

Variables:
  egg:      mybuildout
  package:  mybuildout
  project:  mybuildout
Enter zope2_install (Path to Zope 2 installation; leave blank to fetch one) ['']:
Enter plone_products_install (Path to directory containing Plone products; leave blank to fetch one) ['']:
Enter zope_user (Zope root admin user) ['admin']:
Enter zope_password (Zope root admin password) ['']: admin
Enter http_port (HTTP port) [8080]:
Enter debug_mode (Should debug mode be "on" or "off"?) ['off']: on
Enter verbose_security (Should verbose security be "on" or "off"?) ['off']: on

Archetypes Product
------------------
$ cd mybuildout/src
$ paster create -t archetype my.product
Selected and implied templates:
  ZopeSkel#basic_namespace  A project with a namespace package
  ZopeSkel#plone            A Plone project
  ZopeSkel#archetype        A Plone project that uses Archetypes

Variables:
  egg:      my.product
  package:  myproduct
  project:  my.product
Enter title (The title of the project) ['Plone Example']: My Product
Enter namespace_package (Namespace package (like plone)) ['plone']: my
Enter package (The package contained namespace package (like example)) ['example']: product
Enter zope2product (Are you creating a Zope 2 Product?) [True]:
Enter version (Version) ['1.0']:
Enter description (One-line description of the package) ['']:
Enter long_description (Multi-line description (in reST)) ['']:
Enter author (Author name) ['Plone Foundation']:
Enter author_email (Author email) ['plone-developers@lists.sourceforge.net']:
Enter keywords (Space-separated keywords/tags) ['']:
Enter url (URL of homepage) ['http://svn.plone.org/svn/plone/plone.example']:
Enter license_name (License name) ['GPL']:
Enter zip_safe (True/False: if the package can be distributed as a .zip file) [False]:

Wire Up Product To Plone
------------------------
$ cd ../
$ vi buildout.cfg

Make changes:
[buildout]
...
develop =
    *src/my.product*
...
[instance]
eggs =
    ${buildout:eggs}
    ${plone:eggs}
    *my.product*
...
zcml =
    my.product

Save and exit.

Check for Local Commands
------------------------
$ cd src/my.product
$ paster help
Usage: paster [paster_options] COMMAND [command_options]

Options:
  --version         show program's version number and exit
  --plugin=PLUGINS  Add a plugin to the list of commands (plugins are Egg
                    specs; will also require() the Egg)
  -h, --help        Show this help message

Commands:
  create       Create the file layout for a Python distribution
  help         Display help
  make-config  Install a package and create a fresh config file/directory
  points       Show information about entry points
  post         Run a request for the described application
  request      Run a request for the described application
  serve        Serve the described application
  setup-app    Setup an application, given a config file

ZopeSkel local commands:
  addcontent   Adds plone content types to your project

Content Type(s)
---------------

Container
~~~~~~~~~
$ paster addcontent contenttype
Enter contenttype_name (Content type name ) ['Example Type']: Date Book
Enter contenttype_description (Content type description ) ['Description of the Example Type']: A Simple Date Book
Enter folderish (True/False: Content type is Folderish ) [False]: True
Enter global_allow (True/False: Globally addable ) [True]:
Enter allow_discussion (True/False: Allow discussion ) [False]:

Non-Container
~~~~~~~~~~~~~
$ paster addcontent contenttype
Enter contenttype_name (Content type name ) ['Example Type']: Entry
Enter contenttype_description (Content type description ) ['Description of the Example Type']: A Date Book Entry
Enter folderish (True/False: Content type is Folderish ) [False]:
Enter global_allow (True/False: Globally addable ) [True]: False
Enter allow_discussion (True/False: Allow discussion ) [False]:

- repeat for each content type in your system -

Archetypes Schema
-----------------
$ paster addcontent atschema
Welcome to the ATSchema Builder. Field names/widgets can be specified in lowercase or upper case.
NOTE: No need to add 'widget' or 'field' to the names. atschema does the work for you!
See
    http://plone.org/documentation/manual/archetypes-developer-manual/fields/fields-reference/
and
    http://plone.org/documentation/manual/archetypes-developer-manual/fields/widgets-reference
for field and widget details
Enter content_class_filename (What is the module (file)name of your content class?) ['exampletype']: datebook
Enter field_name (What would you like to name this field?) ['newfield']: year
Enter field_type (What kind of field should I make for you?
Some examples: [boolean,computed,cmfobject,datetime,file,fixedpoint,float,image,integer,lines,reference,string,text]) ['string']: integer
Enter widget_type (What kind of widget do you want to use?) ['default']:
Enter field_label (What should be the label of this field (title)?) ['New Field']: Date Book Year
Enter field_desc (What should be the description of this field (help text)?) ['Field description']: Limit this date book to one specific year
Enter required (Is this field required?) ['False']:
Enter default (If you'd like a default type it here, otherwise leave it blank) ['']:

- repeat for each field in your schema -

Bootstrap/Buildout
------------------
$ cd ../../
$ python2.4 bootstrap.py
$ ./bin/buildout

Start Zope
----------
$ ./bin/instance fg

Eyeball Test
------------
1. Open http://localhost:8080 in a browser. You should see the Zope welcome page
2. Click the Zope Management Interface link, enter admin/admin for username/password
3. Select "Plone Site" from the dropdown on the right.
4. Enter a useful id (plone). The rest of the fields don't matter right now.
5. Click "Add Plone Site" button
6. Watch console for any errors during plone site setup
7. Click on the link to "plone (Site)"
8. Click on "portal_quickinstaller"
9. Check the box next to "My Product"
10. Click "Install"
11. Watch the console for errors
12. You should see "My Product" under "Installed Products"
13. Open http://localhost:8080/plone (it usually takes some time to load first time round)
14. Click the "Add New" link.
15. Look for Date Book in the list
16. Click on Date Book in the list
17. Fill out the form. We'll use "My Date Book" for the title, "A Date Book" for the description, and 2008 for the year
18. Click save button
­­­

-jj

 

Sprint Location Site Plan

First Floor Plan of ACCThe site plan for the Arlington Career Center shows the areas in the sprint location which are available for sprinting. Areas will be assigned to topics on the first morning of the sprint based on factors such as need for laptop projectors for tutorials and the number of sprinters per topic. Sprints which have solicited engagement, submitted newsletter reports, and have published their participation details on the sprint wiki have a leg up for space. But there will be more than ample room even if every single person from Plone Conference 2008 attends the sprint.

A special room has been designated for the Beginners’ Sprint on the site plan. Talks have been prepared for this room to help beginning sprinters. And so the Beginners’ Sprint will have the largest private room with a large screen laptop projector and public address system. The common area in the center of the building is reserved for morning briefings and evening reports, but will be a free sprinting space during the day. The common area can host 150 sprinters. There are two other private rooms with projectors, and two private rooms without projectors. The topics with the most participation will get the private rooms.

It is important to note that alcohol and tobacco products are forbidden at the Arlington Career Center. The ACC is a facility of the Arlington Public School System, and as such is subject to local ordinance. Smoking is prohibited on any school grounds in Arlington County and within 1000 feet of any school property.

 

Plone4Artists Sprint Announced

The first time I knew about a public post-Plone Conference sprint, Nate Aune had hired space in Vienna for a Plone4Artists sprint out of his own pocket. Since then, there has been a Plone4Artists sprint after every Plone Conference. 2008 will be no exception. Here’s what Nate had to say upon announcing the Plone4Artists topic at the 2008 Plone Conference Sprint earlier last week:

­”We’re looking for a few good developers to help extend the multimedia capabilities of Plone. Our immediate goal is to get a 1.2 release of Plone4ArtistsVideo and Plone4ArtistsAudio products out. We also need folks who can test and write documentation. If you’d like to join the Plone4Artists/multimedia sprint team, please add your name to the participants list.

Here’s a list of tasks:

Audio

Video

Large file handling

 

Video transcoding

  • integrate scripts to post video uploads to Blip.tv using this Python script and their API (bypass Zope)
  • explore ZopeTube for doing the video transcoding”

-Nate

 

Sprint Volunteers: Your Help Needed

We couldn’t have a sprint of this size without a good number of volunteers. The fine people at the Arlington Career Center, Jeff, Jason, Matt, and Dave are volunteering their time to help us. The topic leaders are volunteering their time. And you, the sprinter can not only volunteer your time at the sprint, but might consider some of these needs:

  • There will be plenty of power and network available at the sprint. What you need to do is bring your own power strip. The ACC has many power distribution cords and few power strips. They have asked each sprinter to bring a power strip. Be sure to put your name on your power strip.
  • Warm bodies to move tables and chairs, make coffee, tape down power cords, put up signs, assist caterers, and all manner of odd jobs are needed at the ACC by 7am on both mornings of the sprint. Considering that the Metro doesn’t open until 8am on weekends, this is a tall order. But your help is needed. The ACC is less than a $20 cab ride away from the conference center. Please consider coming out early so that the sprint can start on time at 9am. We have the ACC until 11pm on Saturday and 5pm on Sunday, meaning that report outs will start around 9:30pm the first day and 4pm on Sunday. It would be great to have a few people stick around for clean up duty afterwards.
  • The Beginners’ Sprint needs mentors and tutorial speakers. Sprints like the post-conference sprint, the only time all year when the largest majority of the Plone Community are gathered together, are about software second, and developing the skill base of the community first. Pair programming is the key to spreading skills. If experts only pair with gurus, and newbies only pair with neophytes, skills are not multiplied. Please let Jon and Joel know you are ready to help grow the community (their email addresses at the bottom of the previously linked page).
  • Alex Clark needs you to bring your laptop projectors to both the Plone Conference and Sprint. The Reagan Center charges almost what a laptop projector costs just to rent one. The sprint location has several projectors, but not enough for one for each topic. Your help with the loan of a laptop projector for a week will make the Plone Conference experience smoother for everyone. Projectors in the 5000 lumens range are especially needed.

 

Until Next Time

I’m Chris Calloway and that’s our Sprintletter for this week. Stay tuned to the Plone Conference 2008 blog in the next week for more about Plone Conference 2008 Sprint preparations.

­

Filed September 29th, 2008 under ploneconf2008, sprint
  1. Nice write up. This is already useful today.

    One comment on ZopeSkel and the package/product template there: one of the first things
    I usually do after having created the skeleton is to manually introduce the “subversion folders”
    ‘trunk’, ‘tags’, ‘branches’ (and more recently also ‘buildouts’ sometimes) into the hierarchy.

    Maybe ZopeSkel could take care of this as well - at least optionally.

    Keep up the good work,

    Raphael

    Comment by raphael on October 1, 2008 at 3:51 am

Leave a comment