Tuesday, June 28, 2005

Descriptors

Norm and I have been exchanging a series of emails dealing with how descriptors should be implemented in the CS2Wiki, and I'd like to describe what we ended up with.

First, the CS1Wiki already has descriptors to control the sorting of LSecs and Pages (or not). Color is also a descriptor, though its currently accessible from the cls display. However, these descriptors are implemented as special TKCS properties, each with its own set of Wiki commands, and we need a way to implement a multitude of descriptors, often type specific. But note here that descriptors, like color, can be inherited.

The temptation is to use headers for descriptors, but that's not a good idea. Headers are data and are the meat of users, along with other text content. Descriptors deal with behavior and are configured--a very different activity and likely not something most users will be concerned with.

So the descriptors which apply to a particular Role will need to be put in that Role's descriptor dictionary, much like the way we handle contextual names. And we'll likely have a dsc command that puts you into descriptor mode, and a set of commands which only work in that mode.

I expect also that there will be a lot of Roles which have (mostly) the same descriptors. So we should be able to define a Role which serves as a Descriptor Unit for other Roles. Now in this case, the headers (and LSecs) in the Descriptor Role will be the descriptors for other Roles.

Now when you combine a Descriptor Role together with a Role's own descriptors and the descriptors it inherits from its applicative context, and you start to have a moderately rich system.

0 Comments:

Post a Comment

<< Home