Here I am with my beautiful girlfriend Kimmy at the 2005 Graduation Dinner.
We both turned up for Ernie’s big MIT Sloan award. He made a bit of a spectacle by kissing the prize giver not once, not twice, but three times on each cheek! The picture came out blurred, which is why I can’t share it.
Here is Rafael (my PhD superviser) and his partner Dorian at the 2005 Graduation Dinner.
Kimmy and I were seated next to Ernie and his lovely partner Fiona. Ernie was clearly happy to be at the Graduation Dinner to collect his prize for best Advanced Web Engineering project… clearly he was smashed.
I committed a new dotFOLIO feature to CVS. It allows the administrator to bulk upload a CSV file of users. This feature is similar to the bulk upload process in dotLRN, except that the CSV file for dotFOLIO requires a different format.
Lately I’ve been thinking about setting up an LDAP server for storing information about my contacts. I read this article, which basically tells me how to configure LDAP to use an addressbook like schema for storing contact details. The reason for using LDAP is that I will be able to synchronise contact details across all my email clients both at work and at home. If necessary I can even share the contact details with friends.
I went along to the CeBIT exhibition down at Darling Harbour to check out what is happening in the World of IT. To be frank I was very disappointed. Luckily it didn’t cost me a thing… but I wish I could get back the 2 hours of my life that I spent looking at the lame vendor exhibits.
A few vendors there were offering Content Management Systems (CMS). Some of them looked like blatant rip-offs of Plone. But then if another business was wanting to pay what the vendor was asking for, then serve them bloody right! Especially when they can use a far more superior open source product.
The most fascinating thing at CeBIT this year was the Laserpod, which looks like an aluminium spaghetti tin with a cheap laser pointer inside, and topped with a plastic dome. That pretty much summed up the stuff on display at CeBIT… cheap, tacky stuff that you can build yourself.
Better luck next year.
For the last couple of months now I have been pondering about what exactly I am researching. I think the real reason for this is that I haven’t really identified a research problem. I have spent most of my time lately developing an e-portfolio system, and putting my research on the back-burner till I have a suitable platform to work with.
I had previously read a lot of literature on e-portfolios, and have written a few literature reviews. From the literature, I have found that e-portfolios are all about establishing rich “connections” between academic endeavours and the skills and knowledge acquired.
So my research question is, “how to manage these connections within an e-portfolio?”
Already I am finding that dotFOLIO is able to create connections by “clipping” a piece of reflective writing (from a blog) to a learning artifact stored in the file repository. The repository essentially stores all of the student’s work completed for a course. The blog provides a way to reflect on what was learnt from a learning activity, the evidence of which is located in the file repository. The clipper tool in dotFOLIO creates the relationship between reflection and the evidence.
Other relationships can be created. For example, a student could be reading a fellow student’s blog within dotFOLIO, and feel inspired about writing about their own ideas on the same subject matter. The student can then use dotFOLIO to clip the other student’s blog entry to their own, so as to provide a richer context for the ideas established.
So dotFOLIO already provides the infrastructure for creating connections between learning activities and knowledge acquired. What would be interesting now is to visualise these connections. If we were to map these connections, we will have formed a network conveying all the learning sources for a specific student. The network would look similar to the learning-network diagram displayed.
The diagram is just a snapshot of the Java SimpleGraph applet demo. I intend to modify the applet so that it can dynamically create a graph that corresponds to the learning network for a learner.
From the graph we’ll be able to identify whether a student learns from reading material such as websites or from their peers and instructors. We’ll also identify whether they only use dotFOLIO for assessments or for their general learning.
Next semester we’ll be trialling dotFOLIO with about 200 students. The learning network from this should be quite impressive, and the resulting graph will be quite complex.
I just found out today that my cousin Sarah has a blog. Sarah is based in Japan teaching English. Her blog has a lot of interesting stories of her experiences with Japanese culture… and there are lots of pictures too!
The first release of dotFOLIO is now available from the OpenACS CVS repository. Finally committed the source code to the repository today. This is a pre-release, and really should be considered as a demo than a workable version. I still need to iron out permissions and group management.
OpenACS has some really powerful features that I would like to expose through my blog, and I would like to cover them in my “OpenACS Tip of the Week”. I will try to present features that will be of immediate use to OpenACS developers. However before diving into the deep end, I will cover a few basics of OpenACS within this posting for reference.
OpenACS Packages
OpenACS has transformed from a monolithic code base (3.x and below) to a neater modularised code base in the latest releases (4.x and above). Applications that use the OpenACS framework are now developed in self-contained modules called “packages”. All packages are structured using the Model-View-Controller (MVC) pattern.
There are core packages such as the kernel, templating and authentication packages that give you the basis for a web application that supports user, group and application management. You can extend the functionality of a vanilla installation of OpenACS by plugging in already developed packages such as a calendar or wiki through a package installer interface. Or if you can’t find a package that provides the functionality you need from OpenACS’s extensive package catalog, then you can easily develop your own package.
A package contains an XML based .info file containing meta-data for the package. The core packages use the .info file for dependency checking, as well as for defining properties and specifying call-back commands. The package can also have an SQL directory that contains all SQL files for generating the data model for the application. There is a TCL directory that contains all library procedures for the application. Finally, there is a WWW directory that contains all the presentation logic for the Web application. The structure of the dotfolio package is as follows:
dotfolio
+ dotfolio.info
+ sql
+ oracle
+ postgresql
* dotfolio-create.sql
* dotfolio-drop.sql
+ tcl
* dotfolio-apm-callbacks.tcl
* dotfolio-init.tcl
* dotfolio-procs.tcl
+ www
* index.adp
* index.tcl
* index.xql
* index-postgresql.xql
* index-oracle.xql
In the SQL directory, the dotfolio-create.sql file is called only once when the application is installed, and is used to create the data model in a database. Currently there is support for both Oracle and PostgreSQL in OpenACS, so depending on which RDBMS you are using, the dotfolio-create.sql will be executed from the SQL sub-directory that corresponds to the RDBMS used.
In the TCL directory, the dotfolio-apm-callbacks.tcl file contains procs that get called when the application is installed/mounted. The dotfolio-init.tcl contains TCL procs that initiate the application when AOLServer starts up. The dotfolio-procs.tcl contains TCL procs that can be used by files in WWW or by other packages.
In the WWW directory, each web page consists for an XQL file, a TCL file and an ADP file. The ADP file contains HTML and templating tags for presentation of data from the data base. The XQL file is an XML based file that contains SQL statements that can be used by the TCL file. SQL statements common to all database systems can be placed in file.xql, whereas RDBMS specific SQL statements can be placed in file-postgresql.xql or file-oracle.xql. The TCL file contains the logic for executing SQL statements and then pushing the returned data to the ADP template file.
That just about covers OpenACS and packages from a high-level overview. Next week I will start blogging about more useful features in OpenACS.