Skip to main content

Posts

Showing posts with the label plone

Whiskers - a tool for keeping track of your buildouts

Few years ago I released a first version of Whiskers together with buildout.sendpickedversions . It's about the time to push new version out. What is Whiskers? Whiskers is a Pyramid web application which stores information about your buildouts so that you don't have to manually check what they contain. All the data to Whiskers is transferred by buildout.sendpickedversions - an buildout extension which keeps track of packages your buildout uses and sends the data in json-format to Whiskers-server. Reason for Whiskers? Main reason for me to develop Whiskers was based on the need of knowing what packages I have in our servers. I'm working at the University of Jyväskylä and part of my job is to maintain our Plone instances. We have about 100 Plone instances with slightly varying setup. If we needed a new version of some specific package it meant lots of work to have a list of Plone-sites which needed the update. With Whiskers I know what to update after few clicks. ...

cd under development packages nested folders without repeating yourself

To me Plone development environment means Fedora 12, terminator and vim . As I do lots of development in the shell there has been one annoying little thing which I'm tired of - cd:ing under development packages inner structure to where the actual code lives. Doesn't seem much but if you repeat that many times a day you'll get tired of it. Of course you can always launch vim for the package root and open the file you wanted from there, but it's still extra effort. Few weeks ago me and my colleague Jussi Talaskivi started to think that there has to be a script which takes you to your destination simply by parsing dotted name and using information from there to cd you to the correct place. After spending some time googling around we found none. Annoyed by this we decided to do this missing script by ourself. Soon it turned out that this wasn't that easy task as it sounds - simple shell or python script where you just parse correct path from arguments wouldn...

Plone RPM deployment

It's been ages since I wrote my last post. I guess now it's time to make that up with post about Plone deployment. In a last few months I've had chance to invest part of my time at work to develop our Plone deployment model and since there hasn't been that many posts about the subject I thought I'd share my experiences for the community. Before I get to the details here's some background information about the environment I've been dealing with. I'm working at the University of Jyväskylä , Finland. Our university is a heavy weight Plone adopter here in Finland. Plone is in use by every faculty and department. We have about 500 - 700 content managers and about 50 - 60 separate Plone instances. Our front page gets about 2 - 3 million hits page views / month. The important information in previous data is the amount of instances. 50 - 60 is just my estimation about our current status and that amount is increasing every year. I'm sure you got the idea s...

Plone 4, ZEO and supervisor

This post belongs also to the "lessons learned" category. With Plone 3, ZEO and supervisor combination you've probably configured your supervisor to start plone instances by running $BUILDOUT/parts/client1/bin/runzope. Problem is that with Plone 4 your $BUILDOUT/parts/client folder doesn't contain anything else than etc folder. You know starting instances by targeting supervisor to use $BUILDOUT/bin/client1 fg doesn't work like you'd expect (supervisor would control the client1 script - not the actual plone process). My colleague Jussi Talaskivi figured that using 'console' argument instead of 'fg' for bin/client1 script should do the trick. With 'console' argument stopping, starting and restarting Plone 4 instances with supervisor works like a charm. Below is full example of working supervisor configuration. [buildout] parts = supervisor [supervisor] recipe = collective.recipe.supervisor port = 8200 user = xxxx password = ...

Plone 4, ZEO and tempstorage

This is reminder for myself and hopefully for other people too so that they don't have to waste several hours of valuable time looking for this simple piece of information. If you have experience setting up Plone 3 with ZEO and tempstorage (so that your sessions won't disappear in the middle of hardcore content managing) you might have trouble setting up same kind of setup while using Plone 4. Thanks to David Glick who enlightened   me that plone.recipe.zeoserver doesn't include whole Zope 2 in it's Python environment anymore. In this specific scenario this means that even though you have tempstorage in your eggs folder it isn't included in pythonpath when zeoserver part is being processed and this leads to below error message: Error: could not load package tempstorage: No module named tempstorage Package name: 'tempstorage' File name: 'component.xml' Package path: None For help, use bin/zeo-server -h Solution to this is to add this simp...

Usability and Plone

I've seen in here and there someone mentioning that usability of Plone is very good. Lot's of people - me included - like the fact that in Plone you don't have separate content management interface compared to some of Plones rivals. That counts for something when we're talking about good usability. Still that is only one quite small part of the whole picture. So what else is there? What do people like in Plone and where are the rough edges for end users? If general consensus is that Plone does have good usability, where is the actual proof of that? On plone.org I found one page in developer documentation mentioning following:  "Plone differentiates itself on usability. The intuitiveness of the user interface is what attracts people to Plone the most." I interpret this sentence meaning about the "one view for all" approach. What bugs me in this is that this whole sentence about good usability is about how the UI works compared to Plones competi...

Speed comparsions between Plone and Wordpress

Jon Stahl wrote recently a blogpost about Plone being three times faster than Dropal, Joomla and Wordpress . We had a small discussion about this in my workplace and as my colleague pointed out this wasn't a really that comprehensive test that you could state Plone being 3 times faster than it's competitors. This seemed a bit unfair test considering how fast this has been spread in tweet/blogosphere, so I decided to repeat the test with a bit more critical viewpoint. What's wrong in the original test? No one would consider opinion poll with 10 answers nowhere near trustworthy - it's all the same with requests. I didn't want to put up all the cms so I just set up second best (Wordpress 2.9.1) and compared that to my Plone development site (4.0a3). As a comparsion I did the first test with same ab command Jon used and my iMac gave following results: Wordpress: 7.13 requests / second Plone: 17.10 requests / second So far we have clear winner and Jons data hol...

New Finnish translations for Plone 4

Today I committed last modifications to Plone Finnish translations to Plone collective. Overall there were quite a lot of things to translate as Finnish translations were reviewed last time over 2 years ago when Plone 3 first time appeared. Plone has developed quite a lot since that and 3.x branch has had missing translations for Finnish users far too long (and still has - I made translations for the 4.x branch only). One thing what troubles me is that I'm not entirely happy about all the translations I made. For some words I found it damn difficult to try find the same - or at least almost the same - expression from Finnish dictionary. The expression power of our language isn't just there yet and trying to browse how people have translated same words in other projects proved the case. There just aren't Finnish equivalent words for the certain English words. What those difficult words were then? Here's few ones popping in my mind: commit, checkout, revision, portlet. ...

Problems with Plone version pinning

Since we splitted our one huge Plone site to several smaller ones we've been looking for the correct procedure to keep things running smoothly and to make updates as painless as possible. So far we haven't found the right way and every update has had some problems. Some of the problems are related to the fact that we have about 24 sites to maintain and adding a new content type to all of them means lots of work. Below are all the steps needed for update (and solutions we've founded so far). 1. Add your new product to buildout.cfg eggs and zcml list. Do this 24 times and you'll find yourself thinking there has to be better way. Luckily there is; you can extend your buildout.cfg with some general config file (eg. deployement.cfg). Most tutorials describe a way where you have those two files living side by side in filesystem and you run buildout with -c deployement.cfg option, but this doesn't remove the actual problem. We have our deployement.cfg living in diffe...

Plone migration experiences

1. Migrating is fun fun fun! Let's face it - migrating Plone site from old version to new one can be either painful or very painful experience. If you need to do it for one site only, you don't even get the reward of the fact that second time will be so much easier. Third time you'll start wondering what was the hard part in it. This post is intended to be description how we did plone migration from older version to new one with big, live and heavy traffic site . We're still middle of migrating rest of our sites and therefore I'm going to upgrade this description when I'm having more time. Also note that this is written with one go from memory and as doing the migration is quite complex thing to do including many tasks there might be some errors. I hope this gives some ideas to others struggling with the same topic and also raises some discussion why this is so complex to do when it shouldn't. I'm also happy to get comments how we could have done this be...

Plone and multi-site management

CMS Wire recently posted a light weight comparsion of open source CMS and their multi-site management capabilities. According to article none of the three popular CMS ( Plone , Drupal and Joomla ) include multi-site management in their core CMS. Article was more about third party addons and what they have to offer for multi-site management needs. Six Feet Up companys Lineage -product shines on this comparsion with it's easy to use separation of certain folder inside Plone site as independet site with certain users, workflows, theme and navigation. Although Lineage is already released it still has some dependencies which are not met with Plone 3.2.1 (but should be in Plone 3.3), so installation needs some additional lines to buildout. You can find more information from Plone Software Center . In the Plone-sites we're developing and maintaining, we've traditionally wanted to keep sites theme pretty much the same within all different departments and faculties. With Lineage...

About this blog and the writer

I should knock down the barriers and finally put some content to this blog. I intend to make this as my technology biased blog partly as a reminder for myself about things and problems I've encountered and hopefully also solved. About me... I'm Finnish information technology science student currently writing my masters thesis about web site usability. To be exact I'm doing research about usability of Ajax based web applications. My intention is to get some data if much hyped myth that Ajax applications have better usability have actually some ground in it. My research application is Plone web CMS (Content Management System) which is probably best open source web CMS currently available. Reasons for me picking this certain web application is my backgrounds as a Plone developer in University of Jyväskylä . I've been working with Plone since Autumn 2006 and in that time I've managed to do quite a few things with Plone from translating ready products to developing new...