Well, we’re about an hour away from the Small Pieces session at NMC 2004. There has been a surprising amount of interest from people in the hallways, and some actual traffic on the weblog and wiki.

My gut tells me this may go exactly one of two ways, either:

  1. Raving success
  2. Confusing chaotic failure

My vote is currently on the first one (I think this is going to be fun for all involved, too), and I’m hoping that the real meat of the session shifts away from the tools themselves and into the somewhat contrived discussion we’ve tried to set up.

I’m sure more posts will follow in about an hour…

See my post at:

Decentralists_ Rule in 10_years or_so AKA I am an NMC 2004 fencesitter

for why

Experiments in collaborative weblogs

Filed under: Uncategorized. Tags: . | Leave a Comment 

I’m trying a little experiment over on the Decentralists Weblog for the NMC 2004 Summer Conference.

The weblog can be edited via the web, and is password protected. I’m going to try it for a while with a public password, so folks can add/edit content. I’m not crazy. I’ve backed it up so if things go south I can restore it pretty quickly.

Flame-retardant suit is handy, just in case…

XML via EOF (searching the archives)

Filed under: Uncategorized. Tags: . | Leave a Comment 

Just did some more searching on the Omni WO-Dev list to see if anyone else has cracked the same nut. Turns out not so much. Looks like everyone who needs to connect to an XML database just goes ahead and uses the database’s API(s) directly, forgoing EOF completely.

Here are some links of people who are/were interested in this problem:

I’m just downloading the 147 MB full archive of the mailing list so I can do some better searches (the web form keeps stripping out the “xml” term, which makes it kinda useless when searching for xml-related posts… )

At first blush, it feels like it’s going to be harder than originally thought to graft the XML Database stuff into EOF all proper-like. EOF really likes to thing about things as simple rows, described as flat NSDictionaries. Works great for a RDBMS, which also thinks that way, but XML is deep. Feels like I’m overlooking something important in here somewhere…

Alan, Brian and myself are hitting the road again. This time, we'll be presenting at the NMC 2004 Summer Conference in Vancouver (June 16-19, 2004).

The topic of this presentation is "Small Pieces Loosely Joined", and it's a session that we hope will be a bit, well, different. It's a hands-on session, with attendees actually playing with (er, using) some of the various tools that are available.

The plan is to take the folks in Vancouver, and split them into 3 groups. We'll assign each group to a role. They'll become either "Centralists" ( bent on global domination with the One True Application ), "Decentralists" ( complete anarchists, with bits and pieces scattered across and off the 'net ), or the more conservative "Fence Sitters" (who will try whatever works, but aren't religious about it).

The point of the exercise isn't to sort people into they groups they feel they belong to – that would be boring and less-than-productive. Nope. You're going to get randomly assigned a group, and you'll get to think critically about the pros and cons of a particular perspective. You might even learn something ;-)

As another twist, we're counting on contributions from the Rest of the World. Those who can't make it to Vancouver are encouraged to participate in the session online. There are a whole bunch of people who have volunteered to contribute already! Here's your formal invitation

We've got a bunch of tools available:

As yet another twist, we're experimenting with as many tools as possible, and trying to duct-tape them into a cohesive system. We're blogging in 3 completely different environments (MovableType, Plone, Blosxom), using a wiki, using RSS all over the place, iChatAV/AIM/ICQ, and probably a few other tools I've forgotten about.

All of the content is being actively worked on, and will grow/evolve between now and the conference (and hopefully beyond). This is proving to be a truly organic project – it's taking on a life of its own already!

XML and WebObjects KeyValueCoding

Filed under: Uncategorized. Tags: . | Leave a Comment 

I was just googling to see if someone else had written an EO wrapper for a DOM Document model, and came up with this gem: XML and WebObjects KeyValueCoding by Michael Henderson.

At first blush, this looks like exactly what I need to do. It should be possible to build a pretty solid/transparent/functional DOM wrapper. Probably in a subclass of EOGenericRecord or something like it.

UPDATE: 2004/06/02 – I got it working quite nicely this morning. I query an XStreamDB database, pull all results, read out the full XML of each result, and then feed these into the wrapper class based on Michael’s XMLKeyValueCoding class. I use lazy binding, so the parse to Document doesn’t happen unless/until it’s needed – this should save a lot of time in cases where the results are used in WODisplayGroups etc…

Now, I’ve been looking into adding an EO interface to the class (or vice versa), and modifying King’s XStreamDB EOAdaptor to return these KVC/EO-wrapped objects rather than plain vanilla NSDictionaries. It feels like a much more manageable task than the early “map XML to EO directly” strategy, and I really like that it leaves the XML in a DOM Document, which is as “native” as it can get inside java.

Pulling full IMS LOM XML documents from our XStreamDB database takes roughly 6 ms per record. Tack on another 5 ms per record to wrap and parse, and it’s still performing better than the JUD (XML-to-MySQL mapping via PHP and XML-RPC interface), but in a more flexible way.

In my test database, I can run a query that returns 289 results, and the full query, retrieval, wrap and parse process takes just over 3 seconds. That ain’t bad, and it’s still pretty unoptimized…

I’m working on finishing the EOAdaptor for XStreamDB, and one route I’m exploring is taking the source XML from XStreamDB, running it through DOM and then into full EOs. I’ve been playing around with DOM libraries, and just checked out the latest beta of dom4j.

It’s evolved into one sweet library – basically takes the standard Document model, and wraps XPath, XSLT and other goodness around it. They’re even working on adding schema and validation support (which will be very handy for anyone creating XML documents on the fly. Like, say, in APOLLO…

I’ve just modified a sandbox copy of our Teaching Resources application to use dom4j, and it’s quite fast, too. It only takes about 2ms to parse a full IMS LOM record into a Document. When tied with the EOF caching stuff, that is totally acceptable (depending on what additional overhead is required to get it into EOs, that is…)

← Previous Page