Abstract: The Coming Functionality Mashup

This is my abstract for my faculty visit presentation next Thursday at the UM School of Information.
We have been hearing for sometime about Web 2.0 and how Web 2.0 allows to create new functionality by remixing and reusing existing content to produce new derived content. However, we can only go so far when the only thing that we can “mash up” is the content – we need to begin to have the ability to mash up functionality as well. The Sakai (CTools) software is successful as increasingly more capabilities are integrated into the software. This leads software that continuously increases in size and complexity simply to be successful (kind of like dinosaurs that kept evolving to be larger and larger – until a comet hit to wipe them out). This leads to efforts like Microsoft, Apple, and Google where slowly but surely they need to reinvent, rewrite, acquire, etc enough functionality to cover their entire scope of their domain in their own proprietary manner. At the same time we are seeing increasingly rich and powerful focused point solutions such as YouTube or Skype that would be a nice addition to any application – but are used in isolation. There is an intense need to build interoperable capabilities that can be mashed up to make new meta-systems. But this is difficult to do in a clean manner because of issues like identity, authorization, storage. This is particularly acute in the teaching and learning area where there in nearly an infinite variation of approaches to teaching which are desirable. Almost by definition, no single piece of software will ever cover the scope of teaching and learning. Customization, innovation, and extension must happen at the level of an individual user and yet these systems must be as robust as any other enterprise wide application with 100% availability and extremely scalable performance. The goal is to architect applications which meet the seemingly conflicting goals of enterprise scalability and reliability with individual extension and customization. Teaching, Learning and Collaboration systems such as Sakai (CTools) are in an ideal position to make a breakthrough innovation in functionality mash up because the need is so great. I will give a vision of the next few years of evolution of systems like Sakai to make those systems to address both important dimensions of the next generation of enterprise applications. The vision will outline the needs and goals of these next generation system as well as the challenges that must be faced to achieve those goals.
Dr. Charles Severance
http://www.dr-chuck.com/
http://www.dr-chuck.com/dr-chuck/resume/index.htm

Recovering Real Media Files

In preparation for my faculty visit to the UM School of Information, I found I needed to recover some old media that I only had in Real Media – I had lost all the copies of the final video.
Several things did not work which I describe below. What did work is
Real7ime Converter (R7C) is a converter of any RealPlayer(tm) streaming medias (video and sound) to AVI/WAV/MP3 format. It is a realtime converter because it does not manage Real Time Streaming Protocol(tm) (RTSP) directly so the needed time to convert a media will be greater or equal to the time of the media.
This can be downloaded from http://r7cproj.euro.ru/indexe.htm
I also installed a copy of real Player 8 from my own archival copies – It worked with this Real Player – I don’t know what other versions it works with – thankfully in the mid-90’s as Real got weirder and weirder – I had the forthought to keep copies of all of the Real distributions :)
This worked swell – I got an uncompressed 320×240 AVI that I turned into Flash Video and MP4. Here is the result:
Understanding the Posix Open System Reference Model
Pretty cool – since I was dead in the water otherwise.

Continue reading

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.