CAS4PAS Mission – The further adventures of Plone 2.5

Okay.. I’m still at this Plone 2.5 upgrade thing. The early reports saying that the upgrade from Plone 2.1 to 2.5 is a snap are indeed correct. Unless you are using CAS for authentication.

Since Plone 2.5 uses PAS (Pluggable Authentication Service) which is very different than the way 2.1 handled authentication, it is necessary to do away with the old way to do CAS auth.

Begin rant ….

The single biggest complaint about the Plone/Zope community is that they think that backward compatibility is optional. They don’t think twice about breaking old code in favour of new features. Undoubtedly PAS is a superior way of handling authentication and permissions than the old way, but couldn’t they make it backwards compatible with the old way of doing things. It is ridiculous to think that every time I have to upgrade to a new version that I have to spend a week or two feeling around the bugs and bases of the code and configuration just trying to make it work again. This paragraph is written out of anger and frustration…. bahh!!

End rant …

Okay, back to rational thinking. Here is what I have done so far:

  1. Downloaded CAS4PAS 1.0.0-1 and installed in the Products directory.
  2. Restarted Zope and added a CAS Helper to the acl_users folder of my Plone site – then copied the settings across.
  3. Downloaded and installed the new version of PloneCASLogin (because the old version doesn’t work with PAS).
  4. Went to a different browser and tried to log in using CAS.
  5. The login button takes me to the CAS login page OK, but when I return to the Plone site, it says that there was a sign-in failure.

At this point I went back to the download pages for the Plone CAS Login and CAS4PAS products to see if I was missing anything. I noticed a patch to make it compatible with CAS 2 (not sure if my server is CAS 1 or 2, but I thought I might as well download it anyway to see if that was the problem.

  1. Downloaded and ran the patch
  2. Restarted the server and tried to log in — same problem!
  3. Scoured the internet for information from others having the same problem. Found one helpful post here.
  4. It suggested that I try to disable the “Challenge” feature of the credentials_cookie_auth in acl_users.
  5. Same problem!

That is where I sit right now… No clues, so I’ll dig deeper into the code and see what I can find….

Plone 2.5 migration Chronicles

Okay.. the time has come for us to migrate from Plone 2.1 to Plone 2.5 on the Faculty web site. The word is that this migration should be much easier than the migration was from 2.0 to 2.1.. so here is a little log of my experience:

  • Given that requirements for Plone 2.5 include Zope 2.8.7+ or 2.9.4+ and we are running 2.8.5, I put in a request to the network support guys to upgrade Zope. They upgraded to 2.10.1 (which would seem to meet the requirement of 2.9.4+) and gave me the reigns.
  • Tried migrating the dataface site using the portal_migration tool. The migration appeared to be successful, so I proceeded to do a version migration on the portal_atct tool. That migration also appeared to be successful. Wow! Was that ever easy! But wait a minute …..
  • When I tried to visit some of the pages of the migrated dataface site, I received “404 resource not found” errors. Something went wrong, but what?
  • I then took a step back and tried something simpler: adding an empty plone site using the ZMI on a default Plone 2.5 install. The installation failed with errors.
  • I began to suspect that Plone 2.5 was not compatible with Zope 2.10, so I did some googling and found out that indeed it does not work. The requirement of 2.9.4+ actually means 2.9.x where x >= 4 – and NOT x where x > 2.9.4.
  • Then I got another bright idea: The requirements listed on the plone site for Plone 2.5 were identical to the requirements for Plone 2.1.4. We were running Plone 2.1.2 fine on our Zope 2.8.5 box so I thought maybe the 2.8.7+ requirement might be lax on the last digit, and that 2.8.5 would work. WRONG! It didn’t work.
  • Sent in a message to the network guys asking for a different Zope install (we’ll eventually have to upgrade to Zope 2.10 for Plone 3, but that won’t be for a while.
  • Now with my newly installed Zope 2.9.6 instance I was ready to go to town.
  • I ran a migration on the dataface site using the portal_migrations and portal_atct tools, and tested the site out. The migrations went smoothly (took about 20 minutes, but everything works tickity boo).
  • The Faculty site is another story. We are using CAS authentication on the site so that users can use the SFU single-sign on features and we don’t have to handle passwords. Apparently Plone 2.5 using PAS (Pluggable Authentication Service) which is quite different than the old system and doesn’t support migration of CAS User Folders. Hence the migration in portal_migrations failed.
  • Googling on the internet led me to a number of pages describing this issue. Apparently the current workaround for this is to delete the CAS User Folder and do the migration, then install CAS4PAS – an alternative CAS product that works with Plone 2.5. The problem is then I think we may lose all of the user roles, groups and permissions. 🙁
  • To be continued ….

The birth of a thespian

I had my first acting class in FPA 150 on Monday. I think this is going to be a blast. What a change from my usual math and computer courses. Less lectures, more participation, and fun. It will still be a lot of work though. We are starting off with King Richard III, a Shakespeare play from which we will be assigned monologues. I am looking forward to getting to know my class mates and being able to release all of the this penned up ham inside me that has been suppressed since highschool.

ikea is great!

Just bought a new kitchen table from ikea today – opened the box, read the instructions, screwed a few screws, nailed a few nails – and voila! The table is set up and ready to go.. Either ikea has brilliantly dumbed down their stuff so that assembly is a no-brainer; or I’m an exceptional handy-man. I think the first option is more likely.

dhtmlXGrid, open source but painfully restricted

I have been attempting to incorporate dhtmlxGrid into Dataface to spice up the editing of related data on web forms. Since Dataface is open source under GPL, any library that I choose to include must also be open source and compatible with GPL. dhtmlxGrid standard edition fits this criterion so I decided to take it for a spin.

Unfortunately the standard edition appears to be no more than a trial version of the software as it does not contain any ability to extract data from the grid (that I can see). Without this ability, it is impossible to actually save, submit, or send data from the grid to a database or a form. What good is a grid like this if it cannot be saved? All of the features that would enable saving data are reserved for the professional edition which has quite a restrictive commercial license which is, safe to say, not compatible with GPL.

I do however give them props for releasing the standard edition under GPL. They could have just released a trial version with no distribution rights at all. As it is, at least I can dig into the code and add the necessary functionality myself.

I am working with the Firefox Javascript debugger to try to see where the data is hidden. This will be a little time consuming, but the end result will be worth it, I think.