Monthly Archives: December 2007

Fun with the Frameset Portal – SAK-12402

I am about done with the code for the frameset portal (SAK-12402) – the progress went nicely – I am pretty pleased with the results. Thanks to some timey prodding from Nick, I expanded this from just JSR-168 tools to make it available to all Sakai tools by a simple tool configuration option that can either be set in a tool registration file or dynamically by the tool as the tool runs.
I invented a neat feature where the portal uses frameset navigation as much as possible (only turned on by a property) – it is nice because I could quickly test lots of navigation sequences and work through click streams so as to make the frameset portal work reasonably well – even when it is used heavily.
My feeling is that this will start out with a just a few tools like IMS Tool Interoperability and the iFrame (Web Content) tool. It will simply seem like the portal navigation “minimizes” from time to time.
Off to write some documentation and a test plan.

Today I learned to make SVN branches

And it is a *LOT* of fun. Branches are a way to store code you are fiddling with on the server instead of scattered around your home directory. It is also a great way to version control your hacking. Up to now I kept making tar files each time something worked and I had made progress.
I made branches for all my outstanding fiddling
o Frameless portal – functional – 70% complete – needs cleanup
o iFrame Portlet – functional – 50% complete – needs careful moving of features from web content tool
o Mail archive tool performance improvement – 10% complete – I have refactored code to make paging calls. But it does not really do paging. The real work is to move paging from MailArchiveAction into the service and this will require SQL hacking.
Here is how you make an SVN branch:
svn copy -m “Branch for Mail Archive Performance Improvement”
svn copy -m “Create branch for iframe portlet”
svn copy -m “Create branch for frameset portal”
This is so easy and fun – I cannot believe I did not know how to do this until today. I learned from this web page:
I love coding over holiday break! Coffee, pajamas, and a cable modem!

Programming the Frame Set Portal

I am working on what I call the frameset portal
This allows a JSR-168 portlet in Sakai to request to be shown with no left navigation. This has applications for externally hosted tools and content – like the iframe tool and the IMS Tool Interoperability tool.
The way most LMS’s do this is by using a frame set. The LMS puts a little tiny nav bar in a frame at the top so the user can get back to the LMS and puts the content in a second frame that gets the rest of the screen. This uses a frameset instead of iFrames – so the usability is not too bad – of course the accessibility is not so good. But for content that lives in a URL – this is the only choice other than a popup. This is better then a popup in many people’s opinion (and mine as well).
I think that this will allow publisher content to look really nice in Sakai.

Continue reading

Pedagogy / Tip: Using Google Calendar in Sakai

This shows how to use a Google Calendar in Sakai instead of the built-in calendar. The primary benefit is that you can get your course calendar on your PDA and desktop – and the students can subscribe to the calendar as well. Code is being worked on in Sakai to produce an ICS feed – but until your site has that Sakai code in production, this is a workaround.

Continue reading

Abstract: Sakai Overview

This presentation gives a brief overview of the Sakai project. The topics covered range from the history of the project all the way up to a simple overview of the Sakai architecture. The presentation describes Sakai’s placement in the market, Sakai community governance, Sakai’s commercial affiliates, Sakai adoption, and a number of other topics.

iPhone cannot sync contacts

This is a great entry – made me very happy.
Does anyone know how to resolve this error? I keep getting an error message stating that iTunes could not sync contacts to the iPhone because an error occurred while pushing data from the phone.
Give this a try: Go to Applications>iSync>Preferences>Reset Sync History