Hi Chris
Chris Hubick wrote:
> Hi.
>
> I don't know if this is a good place to ask about VDEX (as applied to
> LOM), but since I'm not an IMS member, I will give it a shot...
>
Hopefully this is a good place to ask about VDEX, no matter how you're
using it.
> Does anyone here have any idea how to create a VDEX XML file to encode
> the values for vocabulary elements from the LOM specification?
>
> For entering vocabulary element instance data in our LOM editor, rather
> than having users type in a source and value for each vocabulary field
> manually, we wish to provide a drop-list for vocabulary sources/values
> populated based on VDEX data.
We, at ICBL, ran a short project to add VDEX support to Reload. The main
aim was to help us understand VDEX rather than develop functionality for
Reload, but we did get a VDEX editor working and we used VDEX files to
provide drop down menus as you suggest. Some caveats: we were working
with the public draft version of VDEX, not the final release; for the
drop downs we aimed for a flexible system even though it was rather
inefficient; the developer left early, so we didn't really wrap up the
project nicely. With those caveats, you can see what we did at
http://www.icbl.hw.ac.uk/vdex/ . By the way, the latest version on that
site isn't the last version that was created. I'll try to fix that soon.
I know Harvest Road and the Aloha project were looking at doing similar
work at around the same time, we had discussions with people from Aloha
about many of these issues, when I say "we" below that often includes
them (to be honest I can no longer remember what we worked out for
ourselves and what we picked up off other people).
> Thus, as a first step, we are trying to
> encode the vocabulary data from the LOM into a VDEX file.
>
> My initial effort is attached, but not knowing much about VDEX, there
> was a *lot* of guesswork involved...
>
> Questions:
>
> 1) Can we use a single VDEX record to define values for all LOM
> elements, or will we be forced to create a VDEX record for each
> vocabulary element defined by the LOM?
>
> Possibly misguided, I have tried to encode the entire LOM vocabulary
> into the single VDEX file attached.
>
That looks interesting, I can see what you're trying to do. We put the
vocabulary for each LOM element into its own VDEX file. I'm not sure we
gave this much thought, it seemed to follow on quite naturally from work
in the UK LOM Core which was looking at the vocabularies for each
element more or less in isolation -- in other words when we were
thinking about what to put in the Educational Context vocabulary we
didn't worry too much about what we might do with technical format. So
rather than one large vocab file to maintain we tended towards small
independent files. I was assuming that would match how vocab files were
delivered in general (i.e. from outside the LOM world). Finally, I guess
there was an element of wanting to use the simplest type of VDEX
vocabulary since that matched our level of understanding of the spec
when we started.
> 2) There can be many types of VDEX files, not all of which are
> necessarily applicable to editing and filling in values for a LOM
> metadata instance. When we are editing a LOM, how do we extract only
> the applicable VDEX files from our general purpose VDEX server? Put
> another way: How do you label a VDEX record as being suitable for use
> against LOM vocabulary elements?
>
> I decided to use a metadata element on the root vdex XML element
> containing a LOM which has an IsBasedOn relation to a resource with the
> identifier entry of the LOM namespace.
>
Didn't think about this. Is it solved for a given application if point 3
is solved. In other words, wouldn't I want any type of vocabulary my
application understands for the element I need a vocab.?
> 3) How do you specify which vdex terms are applicable to which LOM
> elements? That is, my editor wants to know all the LOM vdex defined
> terms for the LOM.General.Structure element, how does it extract these
> from the VDEX instance?
>
> I have chosen to create a VDEX file with a hierarchicalTokenTerms
> profileType, with a term corresponding to each LOM vocabulary element
> containing sub-terms for that element's values.
>
We used the VDEX metadata element for this.
For vocabularies used for Classification we used the LOM classification
element with purpose = idea
For vocabularies used in the rest of the LOM we recorded the target
element in the general.keyword
See examples attached. There seemed to be many different ways of doing this
We were thinking that when configuring Reload for you application
profile you could put all the allowed vocabularies into one folder
specified in the Reload config, and extract the relevant vocab file for
each element by looking at the metadata in the VDEX files. That's
flexible but could be slow. Another approach would be to specify the
allowed VDEX files for each element in the Reload config file.
> 4) How do you encode a LOM vocabulary option as a VDEX term?
>
> I started thinking, using LOM.Relation.Kind for example, that the term
> identifier would be 'ispartof' and the caption would be 'Is Part Of',
> and didn't bother to fill in description yet. The problem with this
> approach is that VDEX uses the term identifier as a fragment in forming
> a URI for the term by appending it to the vocabulary identifier - ie
> VocabURI#TermID. Thus, term identifiers have to be valid URI
> characters, and those can't contain spaces - which means when you get to
> LifeCycle.Contribute.Role 'graphical designer', it's not a valid term
> identifier.
>
> For this reason, I then chose to make the LOM defined value the term
> caption, with the readable version as the term description, and create a
> valid term identifier based on the caption, though replacing spaces with
> underscores.
>
We came up against similar problems with mapping what you could put into
VDEX against what you needed in the LOM. I thought we had agreed to do
what you describe, but that's not reflected in the examples :-}
Another problem is how to specify the value for the "source" element in
the LOM. I can't remember what we did here, probably we didn't get round
to solving it. The VDEX vocabName and vocabIdentifier were both
prolematic, though I think the latter seemed more promising.
>
> Yeah, so, after all that, you get the attached initial effort. I would
> be greatly appreciative of any feedback on this.
>
Looks like we came across the same difficulties, but solved most of them
in a different way. To some extent that confirms my personal conclusion
at the time, which was that were too many different ways of doing this
for any project working in isolation to solve. There needs to be some
sort of community consensus on how to provide the information necessary
to share vocabulary files.
I would be really interested in hearing from anyone else who has looked
into this for VDEX or zThes, and I guess not just for the LOM. There
must be similar problems whatever vocab format / metadata schema you use.
Hope this helps. Phil.
--
Phil Barker Learning Technology Adviser
ICBL, School of Mathematical and Computer Sciences
Mountbatten Building, Heriot-Watt University,
Edinburgh, EH14 4AS
Tel: 0131 451 3278 Fax: 0131 451 3327
Web: http://www.icbl.hw.ac.uk/~philb/
|