Show your support for video publishing in Plone

February 3, 2008 at 8:38 pm

Thanks to the following generous individuals, we have raised over $1,200 for the development of Plone4ArtistsVideo, an add-on product that improves the publishing of videos in Plone.


Support this project with microPledge

 

11 pledges ($1220.06)

  • $20.06 from Kurt Bendl
  • $100 from Donna Snow
  • $200 from Zahid Malik
  • $100 from Totsie Marine
  • $50 from Scott Paley
  • $50 from Chris Johnson
  • $25 from Jon Stahl
  • $50 from John Habermann
  • $500 from Alexander Pilz
  • $25 from Jesse Synder
  • $100 from Aleksandr Vladimirskiy

We’re less than $800 towards our goal of $2,000! Please consider pledging your support to help us get Plone4ArtistsVideo 1.1 released which will have support for Plone 3.0.

Thanks in advance for contributing financially to the development of open source software! Any amount helps us get closer to the goal.

Intersecting journey of Free Culture, Creative Commons and Plone

February 3, 2008 at 6:20 pm

Several years ago I discovered the book Free Culture by Lawrence Lessig. It was actually one of the first eBooks that I put on my handheld PDA at the time, a Handspring Visor, a device that now seems quaint compared to my iPhone. I remember watching the Flash presentation of Lessig’s talk at OSCON in 2002, and being motivated to learn more about copyright law. Lessig made the issues tangible, and of incredible importance to anyone who considers themselves a creator.

More importantly, he demonstrated that the copyright laws of yesterday were no longer suitable for the creators of today, and what was needed was a new way to license your creative work. And so he founded the Creative Commons, a non-profit organization that provides free tools for creators to easily mark their creative work with the freedoms they want it to carry.

During one of my trips out to San Francisco, I met with Mike Linksvayer at the Creative Commons headquarters. At the time I was very interested in adding Creative Commons licensing support to Plone, the open source content management system, so I wanted to talk to him about the best ways to accomplish this.

Well, we didn’t talk much about Plone, but I did get to have lunch with the other CC folks, and afterwards Mike suggested that I talk to Nathan Yergler, the Python programmer who was making so many cool CC tools, that they had to hire him.

Upon closer inspection, I discovered that Nathan was doing some pretty cool stuff with Zope 3, including building desktop applications such as ccPublisher. While I still haven’t met Nathan (now CTO of Creative Commons), I can see from his blog that he recently moved from Indiana to San Francisco, so there’s a much greater chance that our paths will cross now.

Meanwhile Jonah Bossewitch had written up PLIP #136 (Plone improvement proposal) to get content licensing support native in Plone. There was a product called PloneCreativeCommons that was a good start, but Brent Lambert and David Ray from Utah State University, took it a step further during the Big Apple Sprint (also organized by Jonah) and created ContentLicensing a really great add-on product for Plone that we’re now bundling with Plone4Artists.

After moving to Boston, I got to know some of the folks involved with the Harvard Free Culture group, one of many college-based Free Culture groups that promote the public interest in intellectual property and information & communications technology policy.

Last week I was hanging out with the Free Culture kids at a dinner at the Cambridge Brewing Company hosted by Dean Jansen and Will Guaraldi, both of the Participatory Culture Foundation, best known for the Miro video player. For the Plone4ArtistsVideo add-on product for Plone, we’re exploring using some of the Python code in Miro for scraping popular video sharing sites such as Youtube.

Recently I stumbled across this TEDTalk video presentation by Lawrence Lessig, and invite you to watch as he takes you through a fascinating journey about culture and gets a standing ovation at the end.

Easy video publishing with Plone4ArtistsVideo

January 6, 2008 at 1:49 am

Plone4ArtistsVideo screenshotAs evidenced by the proliferation of Plone add-ons such as ATGoogleVideo, ATFlashMovie and the recent release of SevenVideo, there is obviously a demand for tools that make it easier to publish videos to a Plone site.

While each of these products is useful in that they make it easy to add a video hosted on Google Video (ATGoogleVideo), a Flash SWF file (ATFlashMovie) or a Youtube/Metacafe (SevenVideo), there are several disadvantages to these products.

Not extensible

With the exception of SevenVideo, each product only supports a single video site/format. What if you start out wanting to add Google Videos to your Plone site, and then later decide you want to add support for YouTube videos? Well, you probably aren’t going to want to extend ATGoogleVideo, because it wasn’t designed for that. So you’ll have to install SevenVideo. Then later you want to add support for another video sharing site. Well, you’ll have to then install another product. And so on…

Update: Matthew Latterell left a comment to inform me that ATGoogleVideo does in fact support Youtube as well. My apologies for not getting my facts straight.

Burden of maintaining multiple products

For each new product that you install in your Plone site, that’s another product that you have to maintain and upgrade when new versions are released. So if you want to support all of those video types, you have to install all those video products, right? Wrong! Read on to learn about a product that has support for all these video sites and file formats out-of-the-box and is also extensible so you can add other sites/formats.

Content type pollution

You can never have enough content types available for users to add to the Plone site, right? Wrong! For each new product that you install in your Plone site, you introduce new content types. Each new product introduces additional items which appear in the Add new item menu.

From a usability standpoint, this is a disadvantage because your users now have to think before they are going to add a video. “Now which type of video am I adding? Is it a Flash, Google, Youtube or Metacafe video?” and scratch their heads as they look through the list of items to find the appropriate content type.

Wouldn’t it be easier if they could just add a normal Link if they want to add a video hosted elsewhere, and a File if they want to upload a video file? This makes logical sense if you are just a normal non-technical user of the CMS.

Now wouldn’t it be even more convenient if when you added that Link or File, Plone was smart enough to detect where the link was from, or what kind of file you are uploading, and automagically extract the relevant metadata and choose an appropriate video player?

A video publishing tool for the rest of us

This is what the Plone4ArtistsVideo product provides, an intuitive interface for adding videos to your Plone site whether they are hosted on one of a dozen popular video sharing sites, or a Quicktime, Windows Media or Flash video file on your computer. And it introduces no new content types!

As part of the development of Plone.tv, we added the ability to extract the metadata from videos hosted on Google Video, Youtube, Blip.tv and Revver.com. This means that when you paste in a video link from one of these sites into your Plone site, Plone4ArtistsVideo will grab the title, description, thumbnail, tags and author, so you don’t have to type all that data in again.

We’ve also added the capability of rating and tagging in addition to commenting on the videos. Note: you must have the contentrating and tagging products installed in order for these features to be enabled.

Try it out!

You can download the latest version of Plone4ArtistsVideo 1.0 which is compatible with Plone 2.5, and we are working on Plone4ArtistsVideo 1.1 which will bring Plone 3.0 compatibility. Help us to get the 1.1 release out faster by pledging a financial contribution. We are developing this open source software on a volunteer basis, so we appreciate any amount of money that you can contribute. Thanks!

Jonathan Lewis is also making a screencast about Plone4ArtistsVideo which will complement the two that he has already done about Plone4ArtistsAudio and Plone4ArtistsCalendar.

In the meantime, you can take Plone4ArtistsVideo for a test drive on the demo site. Please try it out and give us feedback on what you like and what you don’t like!

Birds of a Feather – fostering Plone subcommunities

June 4, 2007 at 11:42 pm

I’m at the PIKtipi sprint right now and thoroughly enjoying the sprinting, camping and socializing among friends old and new. I got a chance to chat with Xavier Heymans (CEO of ZEA Partners), and he was telling me about the new PloneGov initiative. It’s really interesting to see how governments from around the world are coming together under a common purpose to create open source software to serve the public.

This lead to a discussion about the importance of organizing the Plone users within various vertical markets and that collecting case studies about how these sectors are using Plone might be a good place to start. There is already an initiative on Plone.org for this, but it appears to be inactive. What are the policies for posting to this area of plone.org? How does one contribute case studies, news, links, events, etc.?

I’ve also been thinking about how the Plone community needs to do a better job of evangelizing its successes, and helping to facilitate like-minded groups to form sub-communities. Plone is being used in a wide variety of sectors and there are so many interesting use cases: libraries, eLearning, governments, artists, newspapers, mapping and even managing vineyards!

But these case studies are few and far between. As of today, there are only 6 case studies on plone.net. I should not be the one to cast the first stone, because my company, Jazkarta, has not published any case studies yet, even though we have several projects that would be very interesting to document.

I’ve started collecting various “Plone for…” initiatives and sites, and would like to post these somewhere permanent where they can grow into a comprehensive resource for decision makers who are evaluating Plone to see if it will fit their needs. Perhaps this information would be better suited for a home on plone.net? Here is the first shot…

Plone for Libraries

• Plinkit provides Plone-based, pre-built websites for public libraries. See Darci Hanning’s presentation about Plinkit at the Plone Conference 2006.

Plone for Education and eLearning

• eduCommons is an OpenCourseWare management system designed specifically to support OpenCourseWare projects. eduCommons will help you develop and manage an open access collection of course materials. eduCommons is used by Utah State University, Novell’s OpenCourseWare, Rice University’s Connexions, etc. Read more about the history of EduCommons.

Plone for Governments

• The goal of PloneGov is to develop in a cooperative manner, applications and websites suited for public organization for their own use as well as for their citizens’.
• CommunePlone, the predecessor to PloneGov, is a fast growing open source software mutualization project led by local governments. Open to international collaboration, the project outlines the benefits of open source and mutualization for the Public Sector. Read more about CommunesPlone.

Plone for Artists

• Plone4Artists is an initiative to assemble a Plone products bundle with features commonly required for artist community websites. The target audience is artists and musicians who want to build a community portal site where they can showcase their work and network with like-minded artists.
• BI.LIVE is an example of a site that is using the 1st generation Plone4Artists products for multimedia: ATAudio/ATVideo.

Plone for eCommerce

• PloneGetPaid is a lightweight framework for payment processing and commerce in Plone. There have already been two sprints to accelerate the development of the product. The upcoming doc-comm sprint at the Googleplex in Mountain View (June 25-29) will have a team of developers working on improving this product and getting it ready for prime-time.

Plone for Multimedia

• The MediaDB project was developed as a central repository for media files and documents, that were to be used in multiple web sites (referred to as ‘media sites’ here) run by the same company. That means the project not so much implements a media server handling the media content itself (e.g. video streaming), but focuses on storing files in a central place and making them available from (remote) plone sites. Demo of MediaDB

• The Plone4ArtistsSite suite of products includes several components for making it easier to manage multimedia content in your Plone site: Plone4ArtistsAudio, Plone4ArtistsVideo, and PloneFlashUpload.

• Plumi is a GPL licensed video sharing Content Management System based on Plone and produced by the EngageMedia collective. Plumi enables you to create your own sophisticated video sharing site; by adding it to an existing Plone instance you can quickly have a wide array of functionality to facilitate video distribution and community creation. EngageMedia is a website for video about social justice and environmental issues in Australia, Southeast Asia and the Pacific.

Plone for Community Planning

• OpenPlans aims to transform social activism by providing tools that connect people and enable them to share ideas, stay organized, and act collectively to effect change. OpenCore is the Plone-based software which powers the site, and is freely available under a GPL license. Read the getting started guide which explains how they use buildit to deploy the software.

Plone for GIS & Mapping

• PrimaGIS is a collaborative web mapping application for Plone. PrimaGIS is using buildit to easily deploy a PrimaGIS site.
• Pleiades is an international research community, devoted to the study of ancient geography
• GeoServer was started to help build a more open, interoperable infrastructure of Geographic Information.
• GISPython is a resource for all things about Python and GIS.

Plone for Newspapers

• Julius is a project that came out efforts to build a website dedicated to the national elections for the Mexican newspaper La Jornada. Julius has modules to convert HTML exported from QuarkXpress into NITF files, and code to import those files and create an “edition”, which is made of articles and photos. Read Carlo’s blog post on the Plone for Newspapers initiative.

Plone for Public Radio

• While there isn’t a formal project around using Plone for public radio, there have been some discussions about Plone on the Public Broadcasting Open Source Best Practices list which was started after the Beyond Broadcast 2006 conference in Cambridge, MA, and more discussion took place at the Beyond Broadcast 2007 and the IMA 2007 Conference. There are two public radio stations known to be using Plone: KCRW and KJZZ.

Plone for Multilingual Websites

• While the Plone interface has support for 50+ languages out of the box, the LinguaPlone add-on makes it possible to manage the actual content in more than one language. Plone Solutions (the maintainers of LinguaPlone) and Russ Ferriday from Topia are considered to be some of the experts in deploying multilingual Plone-based websites. Perhaps they could provide some case studies to show how Plone is a viable solution for implementing a multilingual CMS.
• ecoagents is an EU funded gaming website whose purpose is to teach kids about environmental issues. ecoagents is using LinguaPlone and XLIFF Marshaller to provide support and translation for 26 languages.

Plone for Laboratories

• Upfront Systems and BIKA Labs in S. Africa have developed LIMS, a web-based laboratory information management system (LIMS), a Plone-based tool for managing. Read the press release.

At the sprint I’ve been working together with some other folks on creating a Plone4Artists distribution using buildout. We are preparing a tutorial that will hopefully pave the way for other groups to create their own distributions of Plone. Right now, PrimaGIS and OpenPlans’ opencore projects are the only ones that I know of that are using any kind of automated buildout software to distribute their software. It might be a good idea to formalize this process, so that if you want your distribution of Plone to be listed in the directory (wherever that may be hosted), it should include a buildout to make it easy for people to download and evaluate.

The goal is to lower the barrier to entry for a would-be Plone user/integrator. If the software is hard to install and configure, people will turn to other CMSes such as Drupal or Joomla which often have one-click installations at a hosting provider. For the first time, we have tools that provide a way to easily set up and configure a Plone site just by typing a couple of commands (1. bootstrap 2. buildout).

Tools like buildout are empowering because it means we can distribute pre-configured Plone bundles that are specifically targeting a particular audience. These specialized Plone distributions demonstrate the real value of Plone – it’s ability to be easily customized and it’s rich library of 3rd party add-on products.

Technorati Tags: ,

Europe, here I come!

May 26, 2007 at 8:45 am

Tomorrow I’m off to Europe for three weeks. As usual, it’s a combined business/pleasure trip. My tentative itinerary is:

Yes, this trip is a continuation of the ongoing Plone4Artists roadshow with talks at LinuxTag, DZUG and possibly an impromptu talk at Podcamp Europe. The purpose of these talks is to promote the Plone platform as a viable tool for building online communities and managing and publishing multimedia content such as audio and video. My particular interest is to build artist communities and to facilitate networking and the exchange of ideas among a highly niche audience.

I would have liked to go to the Reboot conference in Copenhagen, but by the time I found out about it, the tickets were already sold out, and I had already booked my ticket to Berlin. While visiting the OLPC headquarters in Cambridge, I also found out about the iCommons Summit which is taking place in the beautiful seaside town of Dubrovnik in Croatia the last weekend that I’m in Europe.

Anyways, it would probably have been too much to try to do all of this in 3 weeks. I want to have some downtime to hang out with friends and just enjoy the delightful Danish summer. It’s been two years since I was last in Copenhagen, and I’m really looking forward to visit again.

I’ve got my Plazes profile setup, so you can now track my whereabouts. It’s not GPS but almost as good!

Technorati Tags: , , , , , , , ,

Plone Conference enters Second Life

October 25, 2006 at 1:20 am

I’m on my way to the annual Plone Conference which is in Seattle for the first time. I went to college in Seattle and it’s been a long time since I’ve been back to visit. I’m really looking forward to stay right down in Pioneer Square / Pikes Place market, and see friends who I haven’t seen in awhile.

I will be giving a talk entitled Multimedia and Podcasting with Plone, sitting on the Plone for Enterprises panel, giving a lightning talk about Plone4ArtistsCalendar, leading a birds-of-a-feature (BoF) about multimedia, and coordinating the after conference sprint! Not to mention catching up with all the other Plonistas who I’ve gotten to know at various Plone events and on the #plone IRC channel. Whew – it’s going to be a busy week!

200610250220
One of the interesting developments this year is the creation of a virtual Plone Conference area in Second Life, the massively multiplayer online world, boasting 1 million “residents” and growing. See more photos on Flickr.

In the virtual conference area, there are viewing stations where you can actually watch live streaming of the conference sessions. So even if you can’t make it to the physical conference you can still participate, and interact with the other people who are visiting.

Created by Christian Scholtz (aka MrTopf), the Plone Conference in Second Life is free to attend, and all you need to do is download Second Life and create a character. See Christian’s blog post for screenshots and read the press release. If you decide to teleport in, look for me – my character is Fergut Huskerdu.

Technorati Tags: , , ,

Listening for messages using listen

June 10, 2006 at 4:03 pm

listen screenshotAlec Mitchell’s listen product is not only an excellent example of how to use the latest Zope 3 technologies in Plone, it’s also a very useful product.Listen is a mailing list management application that integrates into Plone. It’s based on Maik Jablonski’s Mailboxer product which has been around a long time and proved to be very stable.

PloneMailboxer was an attempt to integrate Mailboxer into Plone, but it hasn’t seen much development in over a year.

What I like about listen is that users can subscribe either as a user logged into the Plone site, or by simply providing an email address (while browsing the site anonymously). They can also post new messages and reply to existing messages through the Plone interface. All messages posted through the website are relayed to the mailing list, and vice versa.It took awhile to set it up all because it requires some configuration on the Linux server. Here is a summary of my experience.

1.Install listen

I grabbed the listen bundle and symlinked in all the products:

Note: I put all of my products in a global $PRODUCTS directory, usually in /usr/misc/zope/products
Then for each Zope instance, I symlink the products I need into that instance’s products directory. This way I only have to update the products in one place for all my Zope instances.

2. Setup a test instance

Restarted Zope and made a test Plone instance ‘mysite’. Installed listen and made a listen instance ‘mylist’
So the listen instance is now at: http://www.domain.com/mysite/mylist
The email address for this list will be: mylist@domain.com

3. Set up the smtp2zope script

4. Make the alias for the mailing list

Put the following in .qmail-mylist:

Note: This step took the longest time because I couldn’t figure out where to make the .qmail-mylist file. First I put it in /var/qmail/alias, but it wasn’t getting read from there. Since my box is serving multiple domains, each domain has it’s own qmail aliases. It also didn’t help that all the instructions for setting up Mailboxer assume that you are running postfix or sendmail. Luckily I found this howto which explained how to do it for qmail.

If you are using postfix or sendmail, then you need to edit the ‘/etc/aliases’ file and add the following:

Once you save this file, you need to run the command ‘newaliases’ to refresh the aliases. The README.txt explains all this pretty well.

5. Configuring the Mailhost

By default, Plone now ships with SecureMailHost. I wasn’t able to get listen to work with SecureMailhost nor the recommended MaildropHost due to the error described in this issue. I deleted the SecureMailHost object in the Plone root, and added a normal Mailhost object. I left the SMTP authentication fields empty, and then it worked. If anyone knows why it’s giving an sslerror, please respond to the issue in the tracker.

What’s next?

I’d like to migrate all the mailboxer archives from lists.plone4artists.org over to use listen, but I’m not sure how easy this will be. I’d also like to be able to search the messages in the archive. Currently, they don’t appear in the search results when I use Plone’s LiveSearch. Although, this might be intentional?

Technorati Tags:

Drag-n-drop page design for end users

January 16, 2005 at 12:26 pm

Yesterday, with help from Godefroid Chapelle, I managed to get CompositePack working with p4aPortfolio (the new name for ArtistPortfolio).

While the previous frontpage was composed of static blocks (recordings, events, bands, etc.), with CompositePack integration it’s now possible to drag-n-drop viewlets on the portfolio frontpage to re-arrange their placement.

You can also add new viewlets or delete existing ones, without having to jump through hoops to get the job done.

This means that for the end user (non-technical artists), they can very easily decide what should be displayed most prominently on their portfolio page.

For example, maybe they are not gigging very much but producing a lot of new songs, so they could move the ‘Events’ viewlet to the bottom of the page, and move the ‘Recent audio files’ viewlet higher up on the page.

Alternatives

I had also looked at CMFContentPanels and the recently released ListingPages product to provide this functionality but nothing came close to the intuitiveness of drag-n-dropping that CompositePack provides.

Issues

If you want to add a general viewlet that is not attached to a particular piece of content, for example a viewlet that displays all MP3s that have been added anywhere in a Member’s folder (and not just a particular folder), you have to associate that viewlet with the type ‘Plone Site’, and then it can be added as ‘Portal’ instead of ‘Content’.

The problem with this is that currently, when you select ‘Portal’ it adds the element to the page right away and chooses the default viewlet which may or may not be the one you want. So you have to go back and select the viewlet after you’ve already added it. Not the most intuitive interface and definitely should be improved.

A workaround for the time being is to use the general categories that appear in the navigation portlet as ‘placeholders’ so that if the user selects an object of type ‘Recordings’, they can select among several viewlets: ‘recordings in this folder’, ‘recordings in this members folder’, ‘recordings for the whole site’.

It really doesn’t matter which particular object they select, but just that they select one that has these ‘global’ viewlets associated with it.

New feature ideas

Add another option in the dropdown menu called ‘Add new item to this folder’. If the viewlet is showing a folderish object, one should be able to not only edit that object but add new items into that folder.

As it is right now, if I’m viewing the frontpage and want to add a new recording, I have to first click on the ‘Recordings’ folder (in the left navigation) and then choose ‘Add CD’. I should be able to do this directly from the recordings viewlet on the frontpage.

Self-contained member folders

January 2, 2005 at 6:00 pm

I wanted to make it possible for artists to create a portfolio in a
Plone site and have that same portfolio become their actual website.
This requires tweaking a few aspects of how Plone works:

  • Domain name
  • Skin
  • Navigation (navtree and breadcrumb trail)
  • Search
  • Portlets

Domain name

Using the Virtual Host Monster, I created a mapping for the user winnie:

winnie.domain.com -> /ac/Members/winnie/portfolio/
(“ac” is the ID of my Plone site)

Now when I go to winnie.domain.com, it redirects me to Winnie’s portfolio page.

Skin

Since each artist would like to have his/her own logo, colors and other
branding, we can use an access rule to change the skin depending on
whether the user is viewing the artist’s folder using the specific
domain name, or whether they are browsing to the site via the portal
site.

Set skin:

winnie.domain.com -> change to the skin_winnie
www.domain.com/Members/winnie/portfolio -> use the default site skin

So that I don’t have to create an access rule for each and every
member, I place one script in the Members folder and set it to the
access rule:


What this does is get the subdomain from the REQUEST
environment variable BASE0 (could also use SERVER_URL here), and then
if it is equal to “www” (meaning we are just browsing to the artist’s
folder), then keep the normal site skin. But if the subdomain is
anything other than “www” (i.e. “winnie”), then we change the skin. We are assuming
that the skin is named the same as the subdomain with “skin_” prepended.

Navigation

The problem with using VHM to send the user to a specific artist
folder in the Plone site, is that the navigation tree and breadcrumb
trail still show the parent
folders. We want to give the impression that you are not in a portal
site, but viewing an individual artist’s site, so we need to “hide”
these unnecessary navigational elements.

Breadcrumb trail

We will just eliminate the breadcrumb trail since it’s not
really necessary for a small artist site. In portal_skins/skin_winnie/ploneCustom.css we change
the visibility property of portal-breadcrumbs:

Navigation Tree

And to make sure that the left navtree shows only the folders for Winnie’s portfolio page, we need to add a topLevel property to the Members folder.
In the ZMI, go to Members -> Properties

Add new property:
name: topLevel
type: int
value: 4

TODO:

  1. make an ‘Up one level’ or ‘Home’ link at the top of the navtree,
    so that the user can get back to the frontpage. Or find out how to do
    this in the navtree_properties. Preferably we shouldn’t have to edit
    the portlet_navigation.
  2. look at PloneSolutions’ TreeNavPortlet which is a much better implementation of the navtree. Wait until it’s separated from the PlonePortlet product.

Search

When a user is viewing the artist’s portfolio page using the specific
domain name (i.e. winnie.jazkarta.com) we want the search box to only
search the individual artist folder, not the whole site. The search box
should search the whole site if we browse to the artist’s folder via
the portal site. As in the following:

Search box displayed on page:

winnie.domain.com -> limit the search to the path /ac/Members/winnie/portfolio
www.domain.com/Members/winnie/portfolio -> do not limit the search path.

I’ve explained how to do this at the bottom of this howto on the Plone.org website.

Portlets

We don’t want to display all the sitewide portlets when viewing an
artist’s folder, so we probably need to override them by modifying the
left_slots and right_slots properties for the Members folder, and then
add some tal:condition statements to check to see how the user is
accessing the artist folder.

Show portlets:

winnie.domain.com -> don’t show the sitewide portlets since the artist wants the user to stay on their page
(but maybe show one called “Related artists” or something like that)
www.domain.com/Members/winnie/portfolio -> use the sitewide portlets to encourage users to visit other areas of the site

PIL reinstall fun

December 2, 2004 at 5:35 pm

I just updated to the latest Plone 2.0.5 which required updating to
Python 2.3.4. This meant that I had to reinstall all of the custom
python libraries in site-packages.

The CMFPhoto product was unable to resize images, and gave the error ‘IOError: decoder jpeg not available’.

So I did a search on my hosting provider zettai.net for the keyword “PIL” and found this page: How to Install PIL on FreeBSD. It was a bit tricky since I had already installed PIL without doing all of these things.

From the ~/src/Imaging-1.1.4 directory:

I had to include the -f flag to tell it to force a rebuild.

/home/jazkarta/zope/py/bin/python setup.py build -f
/home/jazkarta/zope/py/bin/python setup.py install