Category Archives: Uncategorized

Hierarchy in Charon

Those of you watching my photo blog have seen some photos of new hierarchy support in Charon. I have now checked in the code.
Add a UI to display sites in a hierarchy. This all centers around
a new per-site property (sakai:parent-id). This allows the construction
of a hierarchy by having child sites point to parent sites.
This is a latent feature with zero UI impact unless it is truned on
by the addition of a property.
For more info see
https://source.sakaiproject.org/svn//reference/trunk/docs/architecture/sakai_pseudo_hierarchy.doc
See the above document for some next steps.
SAK-7907 SAK-249 SAK-8052
Thanks to the staff at Charles Sturt for the design brainstorming session…
http://www.dr-chuck.com/images/2007/04/index.php?img=25-04-07_232453_01.jpg
http://www.dr-chuck.com/images/2007/04/index.php?img=25-04-07_233028_01.jpg
http://www.dr-chuck.com/images/2007/04/index.php?img=26-04-07_055638_01.jpg
This was mostly coded in airports and on UAL flights 870 and 72.
http://www.dr-chuck.com/images/2007/05/index.php?img=03-05-07_180531_01.jpg

Continue reading

Notes From Developer Workshop At Melbourne

These were my speaking notes. The better stuff is in the powerpoint.
PowerPoint.
Local Customizations
– Get into trunk – ahead of the game
Building a Tool
http://bugs.sakaiproject.org/confluence/display/BOOT/Home
JSF
RSF
JSR-168
IMS Tool Interoperability
Installing Sakai
Provider Source
Skin Documentation
Boot Camp
Sample Portlets in Sakai
Writing a Portlet in Sakai
IMS Tool Interop Portlet Source
IMS Tool Interop Test Site
Rutgers Link Tool (Using)

Adding a new Portlet to Pluto 1.1

~/dev/apache-tomcat-5.5.20/conf csev$ vi tomcat-users.xml
<?xml version=’1.0′ encoding=’utf-8′?>
<tomcat-users>
<role rolename=”pluto”/>
<role rolename=”tomcat”/>
<role rolename=”role1″/>
<user username=”tomcat” password=”tomcat” roles=”tomcat,pluto”/>
<user username=”role1″ password=”tomcat” roles=”role1″/>
<user username=”both” password=”tomcat” roles=”tomcat,role1″/>
</tomcat-users>
~/dev/apache-tomcat-5.5.20/webapps/pluto/WEB-INF csev$ vi pluto-portal-driver-config.xml
<page name=”IFrame” uri=”/WEB-INF/themes/pluto-default-theme.jsp”>
<portlet context=”/iframe-portlet” name=”SakaiIFrame”/>
</page>
~/dev/apache-tomcat-5.5.20/conf/Catalina/localhost csev$ vi iframe-portlet.xml
<Context path=”iframe-portlet” docBase=”iframe-portlet.war”
crossContext=”true” Manager=””></Context>

Great – Now I am in Hawaii

The plane coming back from Australia had a bit of vibration and trouble so we diverted to Hawaii. We arrived at 5AM – I got a boarding pass at 10AM – 5 hours of line to rebook one plane load of folks. And the nice folks at UAL gave me a $7.50 meal voucher. I still don’t know if If i wll make my connector in San Francisco.
Hawaii is way too humid – I expected it would be nice like San Diego – but so far I am not pleased witht he weather. Ah well – I am likely in a bad mood for having my flight interrupted anyways.
Hopefully it will go better now that I have a boarding pass, have free wireless, ar conditioning and checked in some code from the WorldClub and have my laptop getting charged.

I made Melete 2.3 work on 2.4

I got things working well enough for my demo by making a simple change to the project.xml
:~/dev/sakai/melete-2.3.m2/melete-app csev$ vi project.xml
<!– 2.4 Patch –>
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.6.2</version>
<properties>
<war.bundle>true</war.bundle>
</properties>
</dependency>
<dependency>
<groupId>xerces</groupId>
<artifactId>xmlParserAPIs</artifactId>
<version>2.6.2</version>
<properties>
<war.bundle>true</war.bundle>
</properties>
</dependency>

Educause Australasia: Dancing with the CIOs and Head Librarians

I missed a bit about Australian Culture. When the program says “dinner from 7PM until midnight” – it is serious about the “until midnight” bit.
I just assumed we would eat and then go our separate ways – hence the logic of Karaoke at 9:30 PM.
That turns out *not* to be the case. We did have pre-dinner drinks, food, and a short speech and a magician for a while. All seemed to be pro-forma. I figured it was winding down in time to go for Karaoke.
But then the rock band showed up. Everybody – the CIOs – librarians – probably 150 people – *immediately* got up and started dancing. Crazy! In the US we would sit at the tables and complain about the loud noise and the go off somewhere else. The tables were empty and everyone was on the dance floor. And not like in the US – they stayed for every single song and only sat down when the band took a break.
It *did* go until midnight. Just like the program said. A few people including myself left right before the last set. I have never seen a group that liked to dance as a group more – except perhaps the Irish.
Live and learn – always an unexpected cultural experience – perhaps tonight will be Karaoke.

Small Code Refactor in Portal

I did a bit of a refactor and removed some duplicate code that was getting ugly to maintain in
SkinnableCharonPortal.java
WorksiteHandler.java
It was the code that sets up the order of the top tabs. Some folks like Charles Sturt are interested in customizing this code and it is really sad to maintain it two places particularly when customizing it across a few releases.
It is a simple refactor – stuff that was natively in the context is now in a map called siteTabs like in this diff:
-#if ( $pageNavToolsCount > 1 || ! $pageMaxIfSingle )
+#if ( $sitePages.pageNavToolsCount > 1 || ! $sitePages.pageMaxIfSingle )
If this goes awry – you will see the string “$siteTabs” in your output. I have tested every place I could think of – but it is always possible to have made a mistake.

Continue reading

NIFTY Feature – Single Tool Maximized

I just added a feature
http://bugs.sakaiproject.org/jira/browse/SAK-9799
This detects when there is only one tool present in the tool list and then only shows that tool. Like this:
http://bugs.sakaiproject.org/jira/secure/attachment/13879/singletoolmaximized.jpg
This requirement was inspired when I went to Cambridge and watched a seminar where the faculty member did his *whole class* in the wiki. I thought that it was a brilliant and clever approach.
This allows users to even redirect their whole site to another LMS bu using the web tool as the only visible tool and pointing to a URL to something like the /portal/worksite URL.
Other approaches might be melete-only, resources-only, discussion-only, LAMS-only. You could even use the iframe tool and do your whole site using DAV :) The web content tool effectively allows a complete redirect of the site to some other place!
I hope folks find this useful.

Continue reading