plone

You are currently browsing articles tagged plone.

Packt Plone books strike again! Written by well-known Alex Clark and technically reviewed by the re-incident Steve McMahon, Plone 3.3 Site Administration comes to my e-shelf. Being Alex the most dedicated plone.org administrator, you can’t expect him to be wrong at how to manage a Plone site. :)

While the book target audience is claimed to be everyone interested in becoming more familiar with how to professionally manage Plone sites, I’ve found most of the book very, very basic. If you know how to use a terminal, a text editor and a browser, you’re likely not going to have many problems following the detailed tiny-step-by-tiny-step instructions provided in the book. However, the reader might feel sometimes like a script-kiddie, executing commands and adding sections to his/her buildout without really understanding fully what he/she’s doing (and why) and thus unable to confidently change the configuration. This is specially true in the last chapters of the book.

The writing style is always casual and easy. Alex gets directly to the point without much bla-bla. The downside is that Alex sometimes uses some concepts (like Five, FSDVs or CMF) in the book without previous introduction or pointers to further documentation. But of course, you can always rely on Google. For some questions the reader might have, Alex has opted for a short-answer/medium-answer/long-answer schema that, while the division is not always perfect, helps the reader to decide how in deep does he/she want to go.

The book is a gentle introduction to buildout and product installation (including basic theming) for absolute beginners, and that’s what the first half of the book is all about, but I had expected a longer treatment of load balancing schemes, cache proxies and settings for optimal performance, load testing, multimedia streaming, development-production products and buildout deployment, apache/nginx configuration for Plone, multiple ZODB mount-points and ZEO configuration, among others. These are the kind of things I would expect an advanced Plone site administrator to master, and what we need proper, comprehensive documentation for.

Summing up, if you fall inside the target audience outlined in the paragraph above, you’re going to like this book. If you’re looking for more hard-core site administration stuff, check out Planet Plone and other online docs.

Tags: , ,

The following story is an attempt to show an example of how one can work with Plone in real world project. It’s based on a real product whose development I contributed to: acentoweb.competition.

The requisites

The client wanted a system to manage and organize online photo and video competitions. The competitions’ announcements and rules would be published in the site. The people who wanted to participate in a certain competition would register on it, entering their personal data, and then be able to submit photos and videos to be evaluated for the competition.

Participants should only be able to see their own submissions, and never the ones from the other participants, until the submission time is finished. The judge of every competition, a group of designed people, should be able to see all the submited items, but not their owners. The members of the judge should also be able to rate or reject each submission.

The participants shouldn’t be able to edit or add elements in the rest of the site, only in the competions they had signed up, and the sign-up form should look like if they were signing up for a competition, not like if they were creating an account for a normal Plone site.

The proposed solution

This is how we decided to implement the product in Plone. Surely there might be smarter ways, so comments to improve the product are appreciated. :)

First, we decided to create a folderish Archetypes content-type to represent a Competition, with classic title and description, and rules. Folderish because it would hold photos and videos. The photos would be just a copy of the Image type, and the videos of the File type, perhaps including some integration with p4a. Having special Photo and Video content-types ensures we can assign a custom workflow to them, as we actually need.

To ensure that the participants can only see their own submissions during the competition submission period, we create a special workflow for them, competition_item_workflow, with three states:

  • Private: The participant is still preparing the item. Only he can see and modify it.
  • Pending: The item is waiting for the judge evaluation. The participant can’t modify the item anymore. The judge can see and evaluate it now.
  • Published: The competition has ended and the items is marked for public display.

Only the participant (the owner) can trigger the submission of an item, and the judge can publish it later, which is implemented using role guards in the respective transitions.

Competitions themselves also have a dedicated workflow, competition_workflow, with states:

  • Private: In preparation. Can only be seen by the owner and the users he/she allows manually.
  • Open: The rules are published and participants can sign-up and submit their works.
  • Closed: The competition doesn’t accept new work submissions and the results are published.

Since a single person can participate in more than one competition, we decided to make the participants create a user in the site and sign-up later in each competition individually. To do so we:

  • Create a customized copy of the Plone join_form, with fields for location, phone number, and other personal data they need to enter when they sign-up.
  • Customize the Competition view to include a “Sign-up for this competition!” button, which would grant the “Competitor” local role to the user, which in turn would grant him rights to create and submit items for the competition.

To hide the author info from the judge, we customize the plone.documentbyline viewlet to hide it for users without the Modify portal content permission over an object. It’s not the most optimal solution perhaps, but it just works for now.

The judge for each competition is assigned manually for the managers of the site, assigning the “Reviewer” local role to individual users via the Sharing tab.

The rating is implemented via plone.contentratings. We created a custom category with a custom rating manager, since the default one wasn’t working properly with the permission settings we set for rating and reading the ratings: competitors and the judge can’t see the ratings of submissions before the competition is closed, and the judge can only rate works while the competition is open.

Tags: ,

I’ve been working these months in a Google Summer of Code project entitled Core tiles development. One thing I wanted to do is to write some documentation about how the whole Deco/Blocks/Tiles system works together – the reason is that there are a lot of packages and moving pieces involved and it’s easy to get lost trying to understand what does what and in which order. I won’t try to explain in detail how does each package do its work (read each package documentation if you’re interested) but to introduce the different packages involved.

In short, Deco is a page composition system based on semantic HTML and a grid system. Instead of using custom XML namespaces and a templating language (like METAL), Deco uses plain (strategic) HTML.

To add this feature to a Dexterity content-type you just have to add the plone.app.layoutbehavior Dexterity behavior to it. This behavior adds two fields to the content-type: layout, to select the site layout you want to use, and content. This last field will contain all the tile-related HTML markup, and is populated by default with two field tiles: title and description. The Dexterity type with the cited behavior we’re currently using is named Page and lives into plone.app.page.

If the Deco UI package, plone.app.deco, is installed, it will detect the presence of the content field and activate. The Deco UI allows you to insert, drag-and-drop, edit and delete tiles inside the content field of a type.

To position the tiles in the screen, the Deco UI makes use of the so-called Deco Grid System, a bunch of carefully crafted CSS classes that, when applied to div elements, position them in the page with the appropiate dimensions.

Tiles are little more than browser views with associated configuration data, and their base classes live in plone.tiles. We have transient tiles, which store the configuration data in a querystring in the tile HTML, like:

http://host.org/@@plone.app.standardtiles.helloname/tile-1?name=Israel

and persistent tiles, for config data not encodeable into querystrings (e.g. a large file), which store the data in the ZODB as annotations in the content object. Note the expected ‘@@’ for browser views — when this URL is accessed, it will return an HTML page with headers and a body, like:

<html>
  <head>
    <link rel="stylesheet" type="text/css" href="names.css" />
  </head>
  <body>
    <p class="aName">Hello Israel!</p>
  </body>
</html>

The plone.app.tiles (notice the “app” namespace) package registers the helper views @@add-tile, @@edit-tile and @@delete-tile to do exactly what their names say, the two first ones using a form generated from the tile data schema via plone.autoform.

So how are tiles actually rendered into a page? The answer resides in plone.app.blocks. This package is in charge of loading the page layout (remember the “layout” field added by plone.app.layoutbehavior?), merging in the contents of the page and “expanding” the tiles, merging the head of the tile into the head of the resulting page and putting its body where the placeholder for the tile was, as detailed in the documentation.

Finally, the basic tiles to be inserted, including image, video, attachment, navigation tree and searchbox among others, live in plone.app.standardtiles.

Muchas gracias por vuestras respuestas.

Finalmente vamos a intentar quedar días antes de empezar el mes de alquiler para firmar el contrato, pagar la fianza en metálico y recibir las llaves: todo a la vez.

Además, vamos a pedir a nuestro (futuro) casero que nos envíe una copia del texto del contrato antes, para poder tener tiempo de discutirlo si no estuviésemos de acuerdo en algo.

Por otra parte, buscando información por la Red he encontrado este par de enlaces, bastante útiles:

http://www.spaviv.es/informacion/normativa.php
http://www.upv.es/perfiles/estudiante/documentos/alojamientos_triptico.pdf

Tags: , , ,

Plone 3 Multimedia cover

Time for a new review of a Plone book! This time it’s Plone 3 Multimedia, by Tom Gross, and published by, guess who… Packt Publishing! One would say that Packt has a really good marketing team. :P

The mistake in the title is here strikes once again, since most of the book, if not it all, will apply also for Plone 4, but Packt continues following this policy.

First think I thought was… do we really need a whole book about multimedia in Plone? The answer is, well, there is enough material, enough multimedia-related products for Plone out there to write a book about the topic if you want to.

One thing I don’t understand is what the target audience is supposed to be. The “Who this book is for” section claims that (please Packt don’t sue me for copyright-related issues ;):

This book is for Plone integrators who want to extend the core of Plone with multimedia features. It gives no introduction to Plone and readers should know how to set up a Plone site using a buildout. The book can be read and understood well even if the reader is not a Python developer, though some examples have Python code included.

The book starts giving definitions of what a CMS or what multimedia is and the different types of multimedia elements we can stumble upon, so you think it’s going to be soft, but it soon dives into using multimedia in Zope Page Templates and Python code, and later uses some more advanced concepts (e.g. automated testing, traversers, marking interfaces, zope events…) without (IMO) proper introduction.

Is not that I can’t accept the reader is required to have some former Plone knowledge — what I don’t understand is the mixture of really-newbies with more advanced coding material.

I would have appreciated a kind of requirements story to give more coherence to the content as a whole, something like what happens in the Plone 3 Products Development Cookbook or Proffessional Plone Development: a fictitious client that presents some requirements for a to-be-developed Plone site.

Plone 3 Multimedia doesn’t follow this pattern, and the result is a different structure, a reference presenting and briefly explaining different products to add multimedia features to your site, like the whole Plone 4 Artists (p4a) suite, plonetruegallery, Slideshowfolder, collective.flowplayer, Plumi, Vice, collective.uploadify or Red5, among others.

The two last chapters deal with what I think are vital topics when dealing with multimedia: storage and caching. In the storage one, I miss some more guidance about which storage system choose in every situation and why, instead of just a list of different available products with storage-related features.

Finally, I don’t think the appendices, covering multimedia and syndication formats, licenses and links for getting more help, are worth it. We already have Wikipedia, Google searches and all, so if one wants to read about, say, Ogg Vorbis, one ends here or here, with a lot more info that what one can find in the corresponding appendix of the book. All these pages could have better been employed in explaining more deeply the more advanced technical concepts, for example.

To sum up, I find this book good for “advanced” integrators or developers who are looking for an overview of the different available multimedia products for Plone. For the rest, I’ve not doubt you can learn something from it, but perhaps others fit your profile better.

Tags: , ,

Plone 3 CookbookWhen I received a review request for Plone 3 Products Development Cookbook from Packt, the first thing I thought was: How didn’t I know about this book before, and who are the authors? I’d certainly not heard about them (Juan Pablo Giménez and Marcos F. Romero) nor this upcoming book ever before, but it seems there are a lot of Plone books being written behind the scenes by people not hanging at #plone too. :)

The list of reviewers, comprising Martin Aspeli, Alec Mitchell and Emanuel Sartor, being as they are core and very active developers, automatically made me think this was going to be an accurate and up-to-date book.

This is the second book in the market about modern development with Plone, after Martin Aspeli’s Proffessional Plone Development. And after having skimmed through it (if you try to proof-read this kind of books from top to bottom your brain can explode), I can say that it’s probably going to become a classic invaluable reference as PPD already is.

Plone 3 Products Development Cookbook spans over 350 pages full of useful tips, set-up instructions and step-by-step coding approaches to solve specific use-cases (that’s why it’s called “cookbook”). Even if the book title says Plone 3, I think it’s just a Packt policy – one can be sure that most of the contents (if not all them) will be valid for Plone 4 too, and the authors even included some special instructions for Plone 4.

The book show-cases the development of an hypothetical digital newspaper with Plone, covering the whole process: From installing Python and Plone in Linux or Windows (Mac OSX specifics aren”t covered in this book) to preparing the production environment, passing through the installation of useful development tools like ipdb, DocFinderTab or plone.reload, creating content-types using ArchGenXML, paster-aided plain Archetypes or Dexterity, internationalizing and localizing the product, building XML-RPC interaction with other systems, and more (see the full table of contents). All the features coded include automated tests, what is a Very Good Practice and will help devs to be less afraid of writing tests.

The book is organized in a recipe-list fashion, in chapters, every recipe including “getting ready”, “how to do it”, “how it works” and “there is more” sections. Sometimes the separation of concerns between these sections is not very clear, but one can expect a series of short steps in “how to do it”, to use as reference, and some brief explanation in “how it works”.

In my opinion, this is not a book for beginners. Even if there are some explanations in the “how it works” section of each recipe, they are almost always quite brief, and can certainly make you have to re-read and Google for more documentation often, if you really want to understand how the Zope Component Architecture, ZPT, skin layers, z3c.forms, etc. work. I see it more as a reference book for more advanced developers, who can also discover in this book some tricks and approaches they didn’t know before – I certainly did!

Summing up, this is a really useful reference for folks with previous developing experience in Plone. My sincere congratulations to the authors for their hard work to make this happen – I’m sure it will hit the shelves of every active Plone developer!

Tags: , ,

Tags: , ,

Update: This project has been accepted! Martin Aspeli will be my mentor. :)

For those of you not familiarized with Plone nor web development nor computers: I want to press a lot of buttons to make the pattern of lights shown in a metal rectangle change however I want. (credits to xkcd #722 ;)

For the rest of you, here goes my Google Summer of Code 2010 student proposal!

Core tiles development

Deco is a revolutionary page composition system heavily based on semantic HTML and middleware software (either WSGI or using a post-publication hook), which could probably be shipped by default with Plone 5. The underlying Deco architecture, based on the concepts of panels and tiles, needs a set of core tiles (image, video, navigation tree, content-type field) to be inserted in the page.

What are you studying, and where?

I’m a Physics student from the Universidad Complutense de Madrid, Spain. I’m studying now in Stockholm (Kungligla Tekniska Högskolan) as an Erasmus student, and will study in Barcelona next year within another exchange programme (Séneca).

What is the most interesting programming project you’ve undertaken while at university?

I’ve coded a C++ app to solve the minesweeper game using different chained strategies.

Have you ever contributed to an open source project? If so, give details.

(Remember, filing bug reports and writing documentation are every bit as much contributions as writing code)

I’ve contributed to:

- Flock: Bug reports and translations to Spanish, as well as trying to lead the l10n team for a while.

- Mozilla: Providing help in the Mozilla Hispano (community website) forums, as well as writing some end-user documentation and a localization QA application in Django.

- Alqua: Wrote part of the code to use LaTeX templates written in the Cheetah template language to generate quality documents.

- Plone: Contributed and managed developer documentation. Leaded efforts to write documentation for the upcoming Plone versions. Reported a bunch of bugs, and fixed anohter (coding).

Have you used Plone before? What for?

Yes, for the Alqua website, in my first job (Zassh website), working with the Plone community and in my current job in Webworks.

Have you spoken to anyone in the Plone community about your project? Who?

Yes, Martin Aspeli, Geir Baekholt, Matthew Wilkes, Alexander Limi, David Glick, Rob Gietema and I guess some others I don’t remember right now.

What is your project idea?

This is the most important bit, so be as detailed as you can.

Deco is a new and exciting new way of composing, and I’d say that even theming pages and a website. It allows the user to create flexible grid-based layouts for the contents directly through the web without the limits of portlets and viewlets positioning and unifying these two concepts through the idea of “tile”.

Some sample tiles have been developed as a proof of concept (example.deco), but we need to develop a set of standard core tiles, including the so-called “application” ones like Text, Navigation, Image, Video, Calendar, Login Box, Search Box, Map, RSS Feed or Comments, and the field-type one, which can represent fields like Title, Description or Date. These last one would be probably integrated with Dexterity.

I want to create all these, and I think that we will find and solve a lot of issues underlying the current architectural Deco code in the way. The collective.tinymcetiles product, already usable, will allow us to insert tiles in Rich Fields and therefore test them.

At the same time, most of the infrastructure and API for creating, storing and displaying tiles is already completed (plone.tiles and plone.app.tiles), as well as the system to merge and render panel layouts (plone.app.blocks), but we still lack a system to store and manage site and page-wide layouts. I want to work also on the design and implementation of this system, with the help of my mentor.

Finally, and keeping in mind the radical change of concept Deco involves, I’d like to write quite a lot high and low-level documentation about how the whole system works, ensuring a smooth transition curve for people already used to the old way as long as newcomers.

Please complete the following sentences about how you see the state of the project at different points in the timeline:

At the start of the official coding period (i.e. a month after the accepted projects are announced) my project will be …just about to start after having read the documentation about the different packages involved and played with them, creating some test tiles and some test Dexterity content-types, to understand better how they work.

3 weeks into the official coding period my project will be …having coded an alpha version of most of the application tiles: Image, Video, File, etc. These tiles can work with Archetypes content types and collective.tinymcetiles.

Half-way through the coding period my project will be …having coded an alpha version of a sample field tile. These tiles would extract the data from a Dexterity content-type. example.deco already implements a proof-of-concept for a field tile, but this implementation needs to be rethinked according to M. Aspeli. Field tiles won’t probably work well with with collective.tinymcetiles, but Rob Gietema (from 4Digital) is already working on the plone.app.deco package to support this.

3 weeks from the end of the coding period my project will be …having polished the previous tiles and started working on a Dexterity “Page” content-type to be able to insert field and app tiles in it without collective.tinymcetiles.

At the end of the coding period my project will be …finished working on the Page type and the previous tiles.

3 months after summer of code finishes my project will be …hopefully continued to fix bugs and improve it! It will need to if we want it to make into Plone 5.

Do you have any other commitments during the summer of code period (i.e. between June and August)?

I plan to travel for holidays for at least a week. I also have to move from Madrid to Barcelona, so I’ll need to look for an apartment there and probably will be busy for a week or so till everything settles down again in my life. :)

I’ll also attend the Plone Symposium East 2010 at the end of May.

I also plan to attend the Plone Conference 2010 this Autumn.

Tags: , ,

One of the first things you have to keep in mind when considering to get this book is the target audience. If you’re a hard-core developer who keeps Proffessional Plone Development under your pillow, this book might be a bit too “soft” for you. It’s targeted to integrators with little experience in Plone who want to learn about how to perform certain tasks, from publishing an usable events calendar to create an on-line form for visitors’ comments.

Both the author, Erik Rose, and the technical reviewers are well known and respected in the community. I’ve chatted more than once with two of the reviewers, Steve McMahon and Denys Mishunov, and I know they’re quite skillful and competent, so you can expect the book to be correct and well-written.

I must admit that, at first, I was a bit annoyed with the step-by-step recipe-style of the book. Being a Physics student, I’m used to read texts where the main points of the theory are explained, but the step-by-step procedure is often left as an exercise to the reader. Having to follow closely a list of steps makes me feel like a script-kiddie: somebody who executes a series of steps without actually understanding what is she/he really doing.

However, Erik has taken care of providing a lot of contextual explanation about the steps, with comments about the different options you have and why would you prefer to choose one or another. Moreover, the just-follow-these-steps approach is not so heavily used after the two first chapters.

Although the title of the book suggests that people in the educational context are its only target public, you can learn a lot from its suggested approaches even if you aren’t into education. Being very, very practical, it covers a freaking impressive list of tasks/features: making academic courses available on-line, a directory of personnel, setting-up a blog and a forum, publishing audio and video, creating forms easily, theming a site and managing a production system.

I wouldn’t have covered the theming and the sysadmin stuff, since it’s quite technical and there are already (or are coming) good book references on these subjects, including the Plone 3 Theming by Veda Williamson, Practical Plone 3, or the upcoming Plone 3.3 Site Administration by the popular Alex Clark. By the way, Alex, please tell Packt that this title is not attractive at all marketingly-speaking — people will think that the book only applies to 3.3!

Unlike other books, which are quite bare-Plone centered, a lot of interesting add-on products are documented, more or less extensively: FacultyStaffDirectory (of which Erik is an active contributor and therefore even provides tips about future development!), p4a.Calendar, Scrawl, QuillsEnabled, PloneBoard, collective.flowplayer, p4a.video, p4a.audio, PloneFormGen, z3c.jbot and CacheFu, among others.

Erik doesn’t simply provide general technical manager advice, but also tells you about good practices for content editors based on his previous experience and known pitfalls. What is even more impressive, he sometimes points you to some tickets in Trac about open issues! While this would be more suitable for on-line documentation, it reflects the active involvement and time Erik has spent on investigating what he’s writing about. Good work, Erik!

The book is full of evangelism, specially in the first chapter, where it comes in loads. While it shows that Erik (and the reviewers?) is really passionate about Plone, I guess that who bought this book is looking for info about how to use the product, not marketing stuff, and perhaps these pages could have seen better use with some images, more extensive explanation of a certain feature, or just removed and the price of the book lowered. But this is only the opinion of someone who’s already convinced of the coolness of Plone. Erik also takes the opportunity to expose his political view about the issues with buildout, installation and packaging.

The writing style is clear and always fun. Sentences like “Who can resist puppies? They are heart-meltingly cute and loads of fun, but it’s easy to forget, when their wet little noses are in your face, that they come with responsibility. Likewise, add-ons are free to install and use, but they also bring hidden costs.” make you smile and remind you that some people in the Plone community have a good sense of humour and are crazy enough to publish this kind of stuff in a technical book. :)

Kudos to Erik — while I was certainly biased about reading a book for non-developers and just for Education, you managed to make me learn new stuff and enjoy doing so!

I’d like to thank Packt Publishing for providing me a free review copy of the e-book for my reading pleasure. The 2nd chapter, Calendaring, is available from their site free of charge, in the case you want to take a peek before considering to get the book.

Tags: , ,

I’ve spent some time this weekend updating the Plone Help Center product to work in Plone 4, specifically in Plone 4.0a2. Some reasons/excuses:

  • I had free time.
  • I love coding for fun.
  • I wanted to experience myself how easy/hard can be to updating a Plone 3 product to work in Plone 4.

The changelog will tell you about every change I performed, but a summary of the most important stuff is:

  • The attribute __implements__ of a class cannot be used anymore. Use zope.interface implements and implementsOnly instead.
  • Use mailhost.send instead of mailhost.secureSend. Learn how to upgrade your product accordingly (thanks alecm!).
  • Manually define all needed variables which were formerly globally defined in the famous main_template. This was the most time-consuming step, because I had to fix them one-by-one following a try-error approach. Thanks god PHC has automatic tests, which helped a lot there.
    Perhaps we could come up with a handy find-grep expression to be run in the root of your add-on package to identify all templates where you’re using global expressions (no longer available). find-grep hackers are welcome to comment this post. ;)

Tags:

I just read on a tweet that the first alpha release of Plone 4 is already available for testing and I wasn’t able to resist the temptation. :P  As some people have already pointed out, Python 2.6 for Debian is only available from the experimental repository, and most of us prefer to stay testing or unstable at most. :)

Thanks god, there’s a buildout recipe (we should create a Linux distro based on buildout someday, alecm ;) to build Python from source in an isolated environment. Steps:

  1. svn co https://svn.plone.org/svn/collective/buildout/python/ buildout.python
  2. cd buildout.python; python bootstrap.py
  3. Edit buildout.cfg to fit your needs. You might want to comment out the references to the Python versions you don’t want to install.
  4. bin/buildout
  5. cd to-another-directory; paster create -t plone3_buildout plone4.
  6. Enter “4.0a1″ (without quotes) when asked about “Which Plone version to install”. Make sure you have the last version of ZopeSkel (2.14.1 while I’m writing this – easy_install -U ZopeSkel) or the generated buildout.cfg won’t be valid for Plone 4 otherwise. Thanks to MatthewWilkes for the pointer and of course for the ZopeSkel release. :)
  7. path-to-buildout.python/python-2.6/bin/python bootstrap.py
  8. bin/buildout. If you get tons of lines in your console output about fetching distribute, see this post by Reinout van Rees.
  9. You’ll need to install PIL to run Plone, so do either:
    1. python-2.6/bin/easy_install-2.6 http://dist.repoze.org/PIL-1.1.6.tar.gz, or
    2. Add PIL or PILwoTk to any of the eggs sections of your Plone 4 buildout and re-run bin/buildout.

If you stumble upon an error message similar to:

Downloading http://dist.repoze.org/PIL-1.1.6.tar.gz
Processing PIL-1.1.6.tar.gz
Running PIL-1.1.6/setup.py -q bdist_egg --dist-dir /tmp/easy_install-Fev48C/PIL-1.1.6/egg-dist-tmp-SNtCRu
In file included from decode.c:608:
libImaging/Zip.h:11:18: error: zlib.h: No such file or directory
In file included from decode.c:608:
libImaging/Zip.h:37: error: expected specifier-qualifier-list before ‘z_stream’
error: Setup script exited with error: command 'gcc' failed with exit status 1

try “aptitude install zlib1g-dev”. Thanks davisagli!

The previous procedure should work… But it didn’t in my system. :(  I get an error in the buildout.python bin/buildout:

SystemError: ('Failed', 'patch -p0 < /somepath/buildout.python/parts/readline-patch/readline.patch')

I’ve already tweeted fschulze (who is presumably the author of the collective.buildout.python stuff, according to comments in the #plone IRC channel) about this issue. I hope it will get solved soon! :)

In the meanwhile, removing or commenting out the stuff about readline.patch in the collective.buildout.python buildout.cfg before running bin/buildout appears to be a valid workaround, at least for me.

Tags: ,

« Older entries