Saturday, November 11, 2006

After the Seattle Plone Conf I had an idea how to implement a simple Pluggable Auth Service plugin to make authenticated RSS feeds accessible to desktop clients. The main problem with desktop RSS readers is that they need something like basic auth instead of a login form.

My first attempt was writing a challenger plugin which differentiated on user agent headers. This was not the most optimal sollution according to wiggy.

He advised me to create a protocol sniffer. So of I went and changed the plugin. It is now a proper protocol sniffer. This adds a protocol named Human Browser to the set of protocols. Using the challenger chooser you can set this protocol to use cookie auth. The normal browser protocol should then be set to http auth.

The plugin still uses the user agent header to detect if it is dealing with a human controlled browser. You can add browsers to this using a subscriber (look at detectors.py).

You can check out the code from the collective at /collective/PASPlugins/HumanBrowserPlugin/trunk.

Monday, October 30, 2006

The second and final day of the sprint is over now. I implemented portlet reloading for the navigation and recent items portlet. This code is now easy to use from any event handler so refreshing other portlets is easy.
Another thing I did was to add information on what fields where modified by the Ajax call. This allows us to check in the event handlers if we need to update anything. The navigation portlet reloader is an example of how this could work.
At night (after the sprint) I finished the final bits by adding reloading support for the portal tabs and the breadcrumb. This was so easy to do that I made a small screencast as well.

Start screencast

Sunday, October 29, 2006

The first day of the sprint went pretty well. It was my first sprint so I can make no comperison. A was a bit anxious to get started. It took more time getting all the people in to the auditorium, introducing all the subjects than I liked at the time.

There were a lot of subjects to choose from. I chose for the Azax sprint. It was not as big of a group as the mebrane guys but still nice. We did a bit of introduction in the begin as well.

A lot of people had trouble setting up Zope on their Windows system. Furtonately I was prepared for this and had a custom build ready to go. I supplied all Windows user with a installer.

Then it was time to choose a subject. I chose to work on the event integration. The main idea was to support the follow use-case.

Let's say you change the title of a document using Ajax. Now the title will be changed in the document view. But usually you also want to update the navigation menu, the navigation portlet etc.

So the thing I did today was to use Zope 3 events to add more Azax commands to the request. In layman's terms this means that the Ajax handling code just generates and event. This will then activate any number of interested handlers. These handlers can add extra commands like changing the portlets.

At the end of the day I had made a doctest and a working system. Along the way we had discussions on how to implement it and I fixed the API a bit.

I am quite content with the results of the first day. Hopefully I can do some usefull stuff tomorrow as well.

The final day was really interesting. It started with a keynote from Eben Moglen. This got a quite emotional response from most people. After this Alexander Limi highlighted the fifteen most exiting features of Plone 3.

After a short break I went to the talk from Joel Burton about making Plone simpler for end users. He had some really good ideas and ready to go tweaks. A lot of these tweaks should be automatable so maybe I will write a burtonizer product.

Phillip had an interesting talk about viewlets in Zope 2. It seemed really nice but may be a bit difficult for scripters to understand. Although the current macro mess is pretty bad as well.

We had some great snacks during the break. This day they served mediterainian tapas.

One of the days highlights for me was Wichert's talk about PAS (the Zope 2 version). He really made it clear for me where everything goes and what it does. So when I will need to use it I now know what to do. An example of a usecase I know have an idea about how to implement is RSS feeds that need authentication.

Most RSS readers don't understand the Plone login form. So if you want to access the feeds from the reader you need to supply the proper credentials via basic authentication. What we want is that normal users go through the login form and RSS readers use basic auth.

To do this you create a challenger plugin. This can be used to differentiate based on the user agent or some detectable propertie in the url.

The lightning talks were the closing talks. It was fun to see these as they are always fun due to the frantic pace. After these the conference ended. As far as I am concerned this was the best IT conference I have ever been to. My thanks go out to all the people involved in making this happen.

Kapil's talk about relational Alchemist was really good. The technologie will enable a lot of people to integrate Zope (en therefore Plone) efficiently with RDB systems.

Because of the use of SQLAlchemy as a base the database can be really bad an it will still be possible to integrate. This will be really nice to use to integrate with other applications.

This day I decided to go to the lightning talks. These were really interesting.

Unfortunately I am a bit late with blogging this so I don't rember all the details anymore.

Thursday, October 26, 2006

First day of the conference
The first day went well. After checkin in (which was really fast) we received our conference info. It we got a really slick looking folder with program etc. inside. The start of the day went really well.
Well, aside from us being silly enough not to bring european to american power converters that is. Being the laptop addicted people we are we made acquiring these converters the next task for the day.
At the hotel we were told there was a radio shack nearby. After a few minutes walking we found it. Unfortunately they were closed till nine.
After drinking a bit of tea at a local coffee house we got our adapters. Talking about the tea, the water here is really different. Unfortunately not in a good way. It has lots of chloride in it. You can smell it everytime you open a faucet. This makes all tea taste really funky. So I will go with the flow and start drinking more coffee (mostly decaffe to make sure I don't bounce of the walls).
The conference day itself was nice. I watched talks about membrane, generic setup and zope 3 style development. I also joined in a birds of a feather session for Plone trainers (end user and developers). It was nice to hear the different stories. I made some notes about the session below:
  • Some people have a fear for using Plone
  • Using a demo site for training on
  • Using demo content (flags from CIA)
  • Make sure they have some content to publish (users own content) otherwise they will call after a few months because they forgot all
  • The people who ask the most questions are the smartest/most advanced (so make sure to focus on the silent ones)
  • Never say somethings are hard (when you say this thing is hard you basically say the next 10 minutes are boring)
  • Zoomerang?!? is a survey tool (to evaluate training)
  • Make a quiz to test knowledge (mainly usefull for internal training)
The snacks served in between talks were really good. If I have to name a downside it would be that I didn't know before hand what most of the things tasted like. Being my usefull carefull self I put a big scoop of green stuff in my mouth. This had the unfortunate side effect of setting my head fire a few seconds later. Other experiences like this were tasting something which looked like sour cream which turned out to be some sort of sweet.
All in all it was a excellent start of the conference. I hope to see some great presentations and talk to nice people today as well.

Wednesday, October 25, 2006

Being my first large trip I must say that it was quite nice. Aside from a but-ache it was quite comfortable. The inflight movies kept me entertained.

I also managed to take a few pictures through the airplane window. Most of the time there were only clouds to see but there were a few clearings.

The trip to the hotel was a bit more difficult than needed to be. We first used the bus to get down town. The driver was really friendly and helped us out on where to go next.

Unfortunately the next driver forgot to tell us when we needed to get off. We did ask him before hand, guess these kind of things happen. Because of this detour we did get to see some more of Seattle.

When we traveld back the bus driver told us to take another bus. Because we figured we were in the neighborhood we didn't bother with taking another bus.

After walking (and asking for directions a few times) we finnaly arrived at our hotel. It is really nice.

After taking a short break Jan and I went to the meetup place. It was a sports cafe with a lot of tv's. We both had our first buger of the trip. Boy, the Americans know how to make burgers.

This was the last bit of the trip. As we were both pretty tired we turned to bed early.

All photos of the trip are online. Check them out at gallery.

Monday, October 23, 2006


Tomorrow morning I will leave my comfy home to go to the Plone Conference in Amerika. I must say I am really looking forward to it. This will be my first time to a Plone Conf. I will make sure to post pictures and notes about the conference.

A college of mine (Jan) is also going. We will also join in the sprints after the conference. There are some nice subjects for the sprint. This should be great fun as well.