plonewars.com

October 10th, 2007

Ian Bicking: Workingenv is dead, long live Virtualenv!

A lot of people have found workingenv useful, but it’s always been a bit fragile. If you’ve seen the …/site.py is not a setuptools-generated site.py; please remove it. message, you know what I mean.

For a while I tried to refactor and improve workingenv, but it didn’t go very well. So I decided to ditch it completely and revisit the ideas of virtual-python.py. That script works by copying the Python executable, and in doing so change sys.prefix — it’s pretty consistent that all other paths in Python derive from sys.prefix.

The result is virtualenv, which I think is now featureful enough for general use. It might still be buggy, but it’s worked well for some of us, and I expect the bugs to all be much easier than they were in workingenv.

Unlike virtual-python.py, virtualenv works on Windows and in the latest release also Mac framework builds. It also handles site-packages better, so you can manage some of your packages using packages from your OS distribution (e.g., debs or rpms), while also installing environment-local packages.

So, in summary: use virtualenv, don’t use workingenv. And if you were using the –requirements option to workingenv, the package PoachEggs lets you do a similar batch installation after you’ve created the environment.

Ian Bicking: Workingenv is dead, long live Virtualenv!

Originally from Planet Plone


from Yoda http://plonewars.com/2007/10/10/ian-bicking-workingenv-is-dead-long-live-virtualenv/







October 10th, 2007

Get Paid: Live from Napoli…

<h2>Social Sourcing Talk</h2>
<p>The GetPaid project was organized differently than your average free software project. For one, we raised money for it. Additionally, we had an integrated design process that involved non-developers from the beginning. In the talk, I introduce the social sourcing model we used and why this was an important process for making the best product possible. I explained the process by telling the GetPaid story. <br /></p>
<p>Basic outline of the process: <b><br /></b></p>
<p><b>Definition:</b> An organizing approach that gets diverse stakeholders to participate to the software making process.<br /></p>
<p>Outline of Social Sourcing, <i>v1.0 Alpha </i>;)<br /></p>
<ul><li>Study the market (benchmark)</li><li>Put together a compelling plan</li><li>Recruit the right people</li><li>Engage a wide base in refining requirements</li><li>Ask for money</li><li>Celebrate successes</li><li>Sustain it: fun, organization, motivation</li><li>Regroup, review, and restart…</li></ul>
<p><br />It’s exciting to be moving towards the end of this process in GetPaid. After the conference, we go into a Release Candidate sprint…but we are definitely eyeing the review, regroup, and restart step!<br /><br />You can<a title=”GetPaid Social Sourcing Naples Talk” href=”../../../../files/ifpeople-socialsource-plone07-oct.07.pdf”> get the full presentation here</a><br /><br />The presentation was recorded and should be available at plone.org within about a month. Note also though that some sessions are being streamed live at <a href=”http://ploneconf.comlounge.tv/”>http://ploneconf.comlounge.tv/</a><br /></p>
<h2>Questions for Plone<br /></h2>
<p>Part of my presentation was to ask questions about the processes for organizing and desiging Plone, in light of the social sourcing model. In particular, how can Plone be more inclusive to non-developers in defining it’s directions and features? Perhaps Plone could benefit from process improvements that would: <br /></p>
<ul><li>Clarify direction and identity</li><li>Provide more inclusive design process</li><li>Improve the overall product </li><li>Strengthen Plone community<br /></li></ul>
<p>In particular: how is the vision for the future defined? Is that a transparent and open process? Where is it documented? Also, why is there nothing between the vision and a PLIP that would enable non-developers to participate? (This last one came out of my frustration at not being able to create a PLIP to introduce some search UI improvements we had made to Plone core, since, as per policy on plone.org, only core developers can make PLIPs). <br /><br />Just as I was getting into this, “someone who knows” informed us of imminent announcements that will address this issue. I suppose that means that at the Plone Foundation meeting tonight! So look for some more news :) <br /></p>
<h2>Questions for GetPaid</h2>
<p>Jon Stahl, our NGO liason and ongoing project supporter, made a great question: what does GetPaid need to keep the process going? Not something I had prepared for, so I made a few notes here in addition to what I responded: <br /></p>
<ul><li>Deployments! We need more deployments, and in particular, practical applications of GetPaid that lead to more options being available in the product (ie for payment processors, workflows, configurations, interfaces, etc). </li><li>More organizers! The project is likely to have teams oriented around specific extensions to the product (membership, event registration, advanced store functionality). The organizers would basically focus on new rounds of social sourced development. </li><li>More committed developers! Though for the first release, we relied on Kapil’s work establishing GetPaid as a framework. Going forward, we need more people involved as developers to architecture as well as features. </li><li>UI love! Usability on the system can be greatly improved and we welcome contributions to this. </li><li>Screencasts!…for documentation and marketing. </li><li>Organizing new round of features: questions from the audience helped get my brain off the narrow focus on getting a release to see the next round of features that need to be considered. I will be writing up some notes on this work. </li></ul>
<p>Well, that’s a good first start, I think, but will definitely continue to consider what we need (especially after we get to reflect on a release). <br /><br /></p>

Get Paid: Live from Napoli…

Originally from Planet Plone


from Yoda http://plonewars.com/2007/10/10/get-paid-live-from-napoli/







October 10th, 2007

ZEORaid

raid over two zeos with automatic rebuild/recovery of a failed zeo. Looks very nice, very quick to use.

ZEORaid

Originally from del.icio.us/tag/plone by wien1900


from Yoda http://plonewars.com/2007/10/10/zeoraid/







October 10th, 2007

Maurits van Rees: plone.portlets

Plone conference 2007, Napels.
Speaker: Geir Baekholt

The left_slots and right-slots properties are probably the
oldest piece of Plone that is sill in 2.5. It is at least seven years
old. It is not working really nice for users or developers.

Then we had PlonePortlets. With this product, portlets became content
objects (which is not terribly nice). They worked but has many side
effects.

In April 2006 we had the Archipelagosprint in which we spent time
thinking about portlets and coding a bit. Then everyone went home and
did nothing about it. Except Martin Aspeli (optilude on irc). He
almost singlehandedly (well, with help by Philipp von Weitershausen)
coded plone.portlets and plone.app.portlets which is in Plone 3.0.

In Plone 3.0 portlets are objects, not templates (although there are
templates in the background of course, to actually show the portlets
in the browser).

Default portlets are the login portlet, navigation, calendar, recent
items, news, events, search, RSS feed (though it does not work),
review list and the classic portlet (which we will see later).

Adding portlets is now more involved than just setting the
left_slots and right_slots properties. They can be assigned
to context, users/groups and content types.

With the Manage Portal permission you have a link at the bottom of the
left and right slots to a page for managing the portlets of that
context. You can also block portlets in subfolders. Due to a bug
this does not work in Plone 3.0, but it does work in 3.0.1.

Often you want to have a portlet that is only visible to for example
the finance department. You can now do this in the Group Management
in the Plone Control Panel. Go to the Group Portlets tab and add left
and right portlets there for this group.

You can have user portlets. A user can add portlets in his personal
dashboard. Click on the user name (next to logout usually). Edit
your dashboard there and add your favorite portlets.

There is a static portlet in the collective. It is a good example
that you can copy. Also look at the Collection portlet, which can
come in place of the News and Recent Items portlets.

These new portlets are a bit more complex than the old ones. For
backwards compatibility there is the Classic portlet so you can still
use them (with all its downsides of course).

Portlets are not viewlets. Portlets are persistent. Viewlets are
defined in zcml.

Porlets have at least: interface, assignment, renderer. Possibly also
an add form, edit form. Interface describes what it looks like (it
has a header attribute in our case), inheriting from
IPortletDataProvider. The Assignment class implements that Interface.
The Renderer class renders the portlet (mostly using a template). It
also has a method available so you can use that to conditionnally
show the portlet. You wrap all this up with some lines in a zcml
file.

In the future we want to have more GenericSetup support for this so
you can define portlet assignments in xml so you do not need to write
code for this. (Are there any volunteers?) We need widgets for more
advanced configuration. We need more reusable portlets. Try it! We
also may come up with a paster template that you can use as a starting
point for your own portlet.

Maurits van Rees: plone.portlets

Originally from Planet Plone


from Yoda http://plonewars.com/2007/10/10/maurits-van-rees-ploneportlets/







October 10th, 2007

Reinout van Rees: Plone in enterprises – Jean-Paul ladage (jladage)

How to deal with integration for a large-scale website. Zest software (8
persons) made the intranet website for the 6000-person research department of
Philips . Some of the biggest challenges had to do
with the performance of the sites, the desired reliability of the service and
especially the project management.

The site has only logged-in users and a few thousand actually log in every
day. This is different from most of the plone sites, where you have a large
majority of anonymous users. The users are authenticated against a 200000
user LDAP database. Plone’s ldap story at that time still needed some work and
manual patching. We made a small product that took care of all ldap
configuration and patching. Wiggy recently released a new plone ldap product
that does basically the same thing, only better, nicer and with a handy UI :-)

Single-sign-on (SSO) is handled by apache (set up by Philips itself with
mod_nltm). Apache passes along a variable in the request with the username in
it. We created apachepas that grabs the
variable and tells PAS that it is that user.

The homepage was made with compositepack, which we cleaned up somewhat for
ploen 2.5. Now the customer himself can modify the homepage layout.

Important was location dependency. Philips research has 7 lab locations
(Eindhoven, Aachen, etc.). Content can be restricted to one or more of those
locations so that users are not overwhelmed with unneeded information that is
not relevant to their work location. Daniel Nouri made
pluggablecatalog for us, which
took care of transparently filtering all catalog query results. In our case,
the filtering was done on the present user’s location setting. This meant we
didn’t have to customize a lot of plone templates, everything was handled
transparantly by the catalog.

Performance. Performance. Performance. Caching. When switching on the new
website, we had to switch it right back to the old one within 30 minutes. It
just wasn’t able to cope. One of the things we improved was dropping some
personalization, for instance by not showing the current user’s name on the
homepage. This way, you can vary the page based on the roles of the user
instead of individually logged in users. This helped a lot compared to the
default cachefu rules. (Also we added more zeo clients, did generic cachefu
work, figured out an error in the apache single-sign-on setup, provided more
detailed caching of page elements, etc.)

Feedfeeder was created to read in atom
feeds from an exisiting news server and to create them as news items in the
plone site. For several usecases, we needed extra data in addition to the
title, description and text: start date, meeting location. For that, we added
the extra information in a special microformat inside the feed
items. Feedfeeder is able to extract that and handle it because of some zope3
adapter work.

Other extra contenttypes (all in the collective svn) included “link of the
day” and “quote of the day”. Also handy for more generic usage:
azlinks, a simple a..z listing of links.

A special problem was the migration of the existing 50 small intranet websites
into the one new site. The key is to do this gradually. A so-called “migration
folder” could be gradually filled with the content of the old website. The
migration folder has a URL pointing at the old site and a checkbox “migrated
yes/no”. The migration folder is shown in the dropdown menu (the dropdown menu
is the main way of navigating the site). As long it is not fully migrated, the
menu item links to the old website; when the checkbox is set to “yes”, the
menu item links to the migration folder instead. Works like a charm.

Project management was important for such a big project. We’re using extreme
programming for it, chopping up the project in 2-3 week iterations. At the end
of the iteration we would go to Eindhoven for a day and close the iteration
and write the stories and tasks for the next iteration. This way, you get
regular feedback and the customer can change the direction of the project at
regular intervals. Internally, standup meetings are essential to coordinate
the work and to make sure that nobody is stuck and that everybody has all the
info he needs.

Very cool: we were allowed to release much of our work as generic open source packages (see some of the links to products in the text above). That’s something that’s to be recommended for all integrators. We got bug reports from other users that improved the products, for instance. Releasing such products also improves the plone ecosystem as a whole.

Reinout van Rees: Plone in enterprises – Jean-Paul ladage (jladage)

Originally from Planet Plone


from Yoda http://plonewars.com/2007/10/10/reinout-van-rees-plone-in-enterprises-jean-paul-ladage-jladage/







October 10th, 2007
October 10th, 2007

ECLecture — Plone CMS: Open Source Content Management

ECLecture — Plone CMS: Open Source Content Management

Originally from del.icio.us/tag/plone by vurtur


from Yoda http://plonewars.com/2007/10/10/eclecture-%e2%80%94-plone-cms-open-source-content-management-2/







October 10th, 2007

Plone Conference Live Video!

Plone Conference Live Video! Oct 10th, 2007 by Jon Stahl Thanks to the heroic efforts of Vincenzo Barone, Christian Scholz and the team at City of Science, we have two channels of live video from Plone Conference streaming on the web and in Second Live. All the details for tuning in are at: http://ploneconf.comlounge.tv/

Plone Conference Live Video!

Originally from [Technorati] Tag results for plone


from Yoda http://plonewars.com/2007/10/10/plone-conference-live-video/







October 10th, 2007

More Live Blogging the Plone Conference

Links to a couple more Plone Conference posts on CMSWire: Wanna Get Paid? E-commerce Add-on for Plone Plone for Media @ Plone Conference 2007 I also really liked the article CMSWire posted about the legitimate threat that open source content management systems are posing for commercial systems.

More Live Blogging the Plone Conference

Originally from [Technorati] Tag results for plone


from Yoda http://plonewars.com/2007/10/10/more-live-blogging-the-plone-conference/







October 10th, 2007

Reinout van Rees: 5 most wanted plone theme tips – Denis Mishunov (spliter)

Reinout van Rees: 5 most wanted plone theme tips – Denis Mishunov (spliter)

Originally from del.icio.us/tag/plone by wsfulmer


from Yoda http://plonewars.com/2007/10/10/reinout-van-rees-5-most-wanted-plone-theme-tips-denis-mishunov-spliter-2/