Blog Posts

XSLT Presentation of Learning Object Metadata

I’m (re)working on the learning object presentation code in CAREO. It currently uses a java class to figure out what sort of stuff it need to do to present a resource associated with a learning object. Some quasi-hackish code, like “if it claims to be a QuickTime movie, double-check the technical.location file extension. If that checks out, assume we’re really talking about a QuickTime movie, and try to build a page to display it. Unless it’s been uploaded to the ALOHA-managed streaming server, since that will already wrap a page around the file. In that case, just display the file as-is. Otherwise, go ahead and generate a web page, and add the object/embed tags to set up the QuickTime plugin. Feed it appropriate parameters, and return the page.”

Read More

CVS/ProjectBuilder woes

It looks like the CVS client built into ProjectBuilder insists on puking all over the deeply-nested file structure of a WebObjects project. Folders that are actually packages, etc…

In 3 separate cases, although PB insisted that all files were in fact committed to CVS, and up to date, only the .java files were uploaded to the server. Using the manual command-line CVS client, I was able to commit the whole shebang. Very unnerving. I’m going to revert to the command line client for the time being, and play around with Concurrent Versions Librarian (CVL), which is a gui-based CVS client for a bunch of platforms, including MacOSX. It looks like it needs a bit of tweaking to get it configured right, but I figure I’ll be more likely to commit regularly (and properly) if I don’t have to keep looking up commands and codes for cvs and vi.

Read More

Bug fixed

There was a pesky bug in CAREO for the past couple of months, where a non-themed component with a hyperlink would nuke the theme setting for that session, possibly also improperly rendering whatever page was linked to the hyperlink.

I’ve finally tracked it down and squashed it (it was low priority, mostly cosmetic), and it seems to work better. Theme setting is now properly stored in (and retrieved from) the session, so hyperlinks should work more reliably (like, for instance, in the WOTabButtonPanel in Metadata view).

Read More

ProjectBuilder Index Woes

Just got this fun error message while trying to build UCRepositoryCore after making some changes:
Rebuild Index. Again.

Of course, that means that when I re-open the UCRepositoryCore.pbproj file, it’s going to insist on rebuilding the index. Again. Including the entire known java universe. Again. Grr… Another half hour at 100% CPU waiting for that to finish…

Read More

Development by Accretion

Just came across a great term on Tim Bray’s ongoing site: Development by Accretion. He used it as a throw-away comment when talking about something else, but it struck a chord.

From Tim’s posting:
I ended up having to write some real dodgy ad-hoc code to discard the right-side apparatus in certain poorly-thought-through special cases. Hmm… I don’t want to write a bloody soup-to-nuts editorial system by accretion, but the slope is feeling slippery.

Read More

LMS Roulette

Interesting article on Meta-time discussing some of the big players in the LMS game. They ignore many of the small guys, which seem to be positioned to fill the gap between the insanely expensive Enterprise-class LMS vendors and the roll-your-own solutions.

I think it might be relevant to add this to the discussion: If you build your content to known standards (like, say, IMS and SCORM), it DOESN’T MATTER which LMS you use, as long as it’s compliant, too… Want to switch LMS? OK… Just export your content and data from the old LMS, and import it into the new one. IMS is doing a lot of work on filling in the gaps on the standards, and we should all be leveraging that work.

Read More

Refactoring

Spent much of the afternoon refactoring some WebObjects components in CAREO to let me better reuse them as bits of themey goodness. Stuff like Search Results, which is currently a single Page wrapped in the PageTemplate, will become 2 separate components: a reusable component to display search results from any query, and a standalone page to wrap that reusable component to reproduce current behaviour. The big push for this is the SciQ zones, which will have all kinds of search results all over the place, with a need to customize the design of each page.

Read More

XML Databases: Potential Candidate List

Here’s some of the XML databases we’re looking at here, in no particular order:

Exist
Current front-runner. Cheap (free), implements XPath, with nice ties into XML-RPC and JSP. Implements the XML:DB interface too. Seems fast, but wondering how it will scale up, or react in a “real” environment (outside of the test apps that ship with it). Rob is investigating this now, and has a copy of our entire metadata repository stored in it as native XML files. It has a cool file structure metaphor, so it’s like SSH’ing into a box to browse files and run queries.
NOTE: I had originally incorrectly stated that Exist implements XQuery. I meant XPath. XQuery is listed as a possible future feature for Exist, but it is not currently supported.

Read More

Java 1.4.1 on MacOSX

I just upgraded to Java 1.4.1, and all seems great. jEdit is much more responsive, and the SCROLL WHEEL WORKS! YAY! It’s SOOO much faster than 1.3.1 was, and this is without the hardware accelerated SWING (I’ve got a pokey Powerbook G4/400, and the video card isn’t up to snuff for that).

It’s interesting that although 1.4.1 was rumoured to be a from-the-ground rebuild in Cocoa, the Services menu still doesn’t seem to work from within java apps. Hrm…

Read More

Blogs I Read

I just added a “Blogs I Read” link in the sidebar on this weblog. It links to an automatically generated list of the 82 blogs I’m subscribed to. I can’t figure out how it’s sorting them, because they’re certainly not in the order they’re listed in NetNewsWire. I’ll have to write my own XSL to do it right, it seems.

Or, here’s a direct link.

Read More