Learning Repository on Drupal

Events happening in the community are now at Drupal community events on www.drupal.org.
aalamaki's picture

Hi all,

We at the JEM (Joining Educational Mathematics) have have been experimenting on how to build a Drupal 5.x based Learning Repository on basis top of some of the existing modules, our solution follows the guidelines of IMS LOM Specification.

A sample of our work so far is available at http://www.jem-thematic.net/repository and a complete guide on how to build a similar repository along with the necessary scripts and reference to modules needed to produce the output is available at http://jem-thematic.net/node/715. We would appreciate your comments on our work so far and possible suggestions for future development.

Work so far

The work we have done so far comprises of the following:

  • Customized Content type
  • Customized input form
  • A custom CCK module to support the VCard in LOM; the specification states that it should allow multiple authors so we created this feature
  • Vocabularies on basis of the IMS Learning Resource Meta-Data Information Model (Version 1.2.1 Final Specification)
    • Aggregation Level
    • Context
    • Difficulty
    • Intended End User Role
    • Interactivity Level
    • Interactivity Type
    • Keywords
    • Language
    • Learning Resource Type
    • LivingTaxonomy
    • Semantic Density
    • Status
    • Structure
  • A customized node view with the following key features:
  • A set of views to properly display the repository contents; sorting is available by date, author name and content title

Features currently under development

Comments

This is a great writeup

bonobo's picture

Thanks for sharing this out --

This is a great writeup, and a great example of what you can do with Drupal --

Do you have any plans to release the code that creates the "Export to LOM" functionality (as seen at http://jem-thematic.net/node/684 )

I also have a question on the multiple author functionality, as described here: http://jem-thematic.net/node/717 -- does this functionality make the piece of content show up on each authors individual tracker, and give each author rights over it? I would have tested this myself but the link to the zip of the module returns a "Page not found" error -- Also, do you have any plans to release this as a contrib module on d.o?

RE the XML import: you might want to look at the feedapi, and create a custom parser that works with that -- at the FeedAPI BoF in Boston, the maintainers of the FeedAPI talked about supporting exactly that type of functionality.

RE OAI support -- you also might want to check out OpenSearch and the work going on with Solr -- and there's also the RDF work, but that's all in D6.

Cheers,

Bill


FunnyMonkey
Tools for Teachers

XML Export

aalamaki's picture

Hi all,

To clarify this up a bit, the export function is embedded in the content template for learning resource which is available with the guide on the JEM website. You can easily extract it from there, the export is a function of its own. Releasing this as a module of it's own is a bit hard as the function is heavily embedded to the structures and features of drupal that we are using currently for the repository. However if someone wants to give it a try, be my guest :)

About the tracker, that is actually a good question. I'm leaving for the holidays so cannot test it out now but i have fixed the link to the module now so anyone can test it out. Report as feedback if any problems :)

The import, we already actually have done some experiments and got an almost working version for it, we are using the PHP xpath functions to loop through the XML. Only issue is the PHP5 lack of support for name spaces, this makes it impossible to validate the XML before import. This can result in unwanted empty fields in the imported record as the function will assume that the imported XML is valid on structure, we might need to use a javascript for the validation.

Thanks for the tip with OpenSearch, I will have a look at both the Solr and that one after the holidays :)

Cheers,

Antti

Hi, About the multiple

aalamaki's picture

Hi,

About the multiple authors, we could indeed release it as a contrib module. It's integrated only to CCK and not dependent on the rest of the repository. I will check on it after the holidays :)

Cheers, Antti

Multiple Authors

dmcw's picture

Multiple author tracking would be a great!

At the moment, we deal with this by creating different views for tracking individual and group contributions.

The group contributions view grabs from a CCK user reference field called "authors" added to any node with group authorship. Students have to click on their name in the "authors" field when they make a contribution. There are number of reasons that this is less than ideal!

~doug

Hi Yes, well actually it

aalamaki's picture

Hi

Yes, well actually it might work on this one already. Have you tested out the module ?

All the module now does is it creates a table in the database with the necessary fields and associates it to the content type which it is meant to work with while providing the fields in the input form (check my guide for comments on the exact specs or download and try it out yourself).

I think the tracking would have to come from the CCK or drupal core side to work so I believe that if this tracking works for other similar CCK modules, it should work for this one too without problems.

Cheers, Antti

To clarify

aalamaki's picture

Hi,

Actually now that I think of it, this CCK Author Name Module does not add permissions of any sort, I was reading the above a bit wrongly. The authorship and the tracker stuff are added on basis of the node author which are a different functionality.

This info is available for adding on the customized input form so the in the current state the nodes when added will show up only on the tracker of that individual user who actually created the node.

I believe this CCK Author Name module could be expanded to add to the tracker as well though but this will need slightly more investigation on which table the data is retrieved from by the tracker but I'm not sure if the authorship of a node can be granted to multiple users.

Cheers, Antti

We have developed some code

bonobo's picture

We have developed some code (that we will be releasing out shortly) that delivers comparable functionality -- it lets the original node creator specify additional editors and viewers of a node, so, by adding additional editors, you effectively create multiple authors.

Right now, it addresses the precise client needs for which we developed it, but it could be generalized out to address a broader variety of needs.

We also spent a fair amount of time researching other modules that deliver similar functionality, in particular content access with acl, and node access -- we opted to roll our own for a variety of reasons, largely related to usability.

Cheers,

Bill


FunnyMonkey
Tools for Teachers

Wow! That's very cool Bill.

kyle_mathews's picture

Wow! That's very cool Bill. I'll be excited to test out the module when y'all release it! That functionality will meet a lot of people's needs I'd guess.

Kyle Mathews

Kyle Mathews

Has this been released yet?

dwees's picture

Has this been released yet? I think my school would love to be able to use it.

Thanks,

Dave

Yes

bonobo's picture

http://drupal.org/project/coherent_access -- there's a D5 and D6 version.

For the D6 version, the next thing on our roadmap using Views 2 to filter on who has view and edit rights. The module currently generates a block and a tab on the user profile for this.

Cheers,

Bill


FunnyMonkey
Tools for Teachers

Nice

aalamaki's picture

Indeed, gonna save me some trouble of coding too :)

By the way, made some corrections on the views and the content template that come along that guide mentioned in the first article, these corrections include:

  • RSS support on the repository views
  • Support for file attachments on node views (did not get displayed before)

I have also updated the guide, the latest versions of the content template and the views are available there both in the zip at the download and as separate files among the instructions.

Update on the features under development too, the import is almost done but the php5 lack of support of xml namespaces still giving trouble. We have been working also on SVG support for the description part of the lom entries. This script is well on the way as well, it reads SVG from anywhere on the page, parses it and outputs it using the Zorn javascript available at http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm. This will override the IE traditional problem of lack of native XML support, saves the trouble of installing plugins too (they are out of fashion anyways) :)

Cheers, Antti

Status update

aalamaki's picture

Hi all,

We now have an experimental version of the import module for the repository available for testing. If you wish to test it out, the module can be found in a zip package at http://www.jem-thematic.net/files/lom_import.zip

The module can also be viewed on action on basis of request, please contact me over the contact form on http://www.jem-thematic.net/contact for preview url.

Due to limitations of the drupal's inbuilt XML parser, the module uses a custom made parser based on the PHP SimpleXML. The module is still a bit of a draft version with the following missing:

  • Access control
  • Possibility to attach a picture and an attachment file during the import
  • Preview of imported node

Best regards, Antti Alamäki

Hi all, It appeared that the

aalamaki's picture

Hi all,

It appeared that the LOM records exported from the repositories built accoring to the guideline at http://jem-thematic.net/node/715 would not validate. This was due to a problem on the taxonpath element, it would not include the entire taxonomy path in the taxon elements under the taxonpath element.

This is now fixed, please download the updated content template at http://www.jem-thematic.net/files/lom_body.txt and in contemplates settings insert the contents of the file as the body template for the LOM content type.

Best regards, Antti Alamäki

Drupal LOM

ronpage80's picture

It appears that this jem-thematic site is no longer available. Does someone have the info that was on that site?

I'm very interested in a marriage of Drupal/LOM/Solr for a learning object repository. This thread seemed like a promising piece to the puzzle.

Thanks.

--
Ron

We're building a learning

gchaix's picture

We're building a learning object repository based in Drupal and using Solr. Based on the work the guys at Funnymonkey did, we're slowly rolling out features here:

http://orvsd.org/search/apachesolr_search

We still have some work to do on the export piece as well as the tagging, but you get the idea.

-Greg

Still alive?

ricardobeltranl's picture

I have a similar idea but for Drupal learning materials.

Is this project still alive?

Ricardo Beltrán
CEO, Indava

What happenned with this project?

ricardobeltranl's picture

I have a similar idea but for Drupal learning materials.

Is this project still alive?

Ricardo Beltrán
CEO, Indava