The JLeRN Experiment

JISC's Learning Registry Node Experiment at Mimas

Archive for the tag “jlern”

Taster: a soon-to-be released ENGrich Learning Registry Case Study for JLeRN

One of the tasks we’ve commissioned from our informal task group is a case study from Liverpool University on why and how they have implemented a Learning Registry node to enhance access to high-quality visual resources (images, videos, Flash animations, etc.) for use in engineering education. The ENGrich team will be presenting their case study at the JLeRN Final Workshop on Monday 22nd October and completing it based on feedback and discussion there; but we’d be interested in any questions or points you have as well prior to the final version being published here.

So, here is your taster:

Ins and Outs of the Learning Registry: An ENGrich Case Study for JLeRN – draft

By the ENGrich Team at Liverpool University. This work is licensed by The University of Liverpool under a CC BY-SA 3.0 Unported License CC-by-sa icon

A brief summary of the ENGrich project

ENGrich, a project based at the University of Liverpool, is both designing and developing a customised search engine for visual media relevant to engineering education. Using Google Custom Search (with applied filters such as tags, file-types and sites/domains) as a primary search engine for images, videos, presentations and FlashTM movies, this project is then pulling and pushing corresponding metadata / paradata from and to the Learning Registry (LR). A user-interface is also being developed to enable those engaging with the site (principally students and academics) to add further data relating to particular resources, and to how they are being used. This information is published to LR, which is then employed to help order any subsequent searches.

ENGrich process flow

This section will detail the process flow of the proposed service. Effectively, the LR plays a central role in ‘engriching’ visual engineering content, above and beyond the basic data returned by Google Custom Search.

ENGrich Process Flow Diagram

ENGrich Process Flow Diagram

Working with documentation

This section will cover how we worked through the available LR guides and documentation, from the very basic methods (publish, slice etc) to the more customized data services (extract).

The list includes:

Learning Registry in 20 Minutes or Less

Learning Registry – Quick Reference Guide

Learning Registry – Slicing

Paradata in 20 Minutes or Less

Modeling Paradata and Assertions as Activities

Paradata Cookbook

LR Data Services

Setting up a Learning Registry node at the University of Liverpool

This section will explain the rationale behind the decision to set up an institutional LR node (common node) at the University of Liverpool, and challenges and issues we faced while doing it. This node is to be utilized by the project, as well as providing a means of highlighting the wider potential of the LR to other centres / services across the University.

Summer students identifying learning resources

This section will describe how the project employed undergraduate engineering students over the summer of 2012 to classify visual media available online that are relevant to the University of Liverpool engineering modules. The project relies on their experience as engineering students to provide insights into learning techniques of how to identify resources that will aid future students. 25,000+ records were linked to the appropriate modules, and are ready to be published in the University LR node using the paradata templates described below.

The students blogged every week on their tasks and progress.

Paradata statements templates

This section will report on how we went about creating the required PHP templates to publish the students’ data into our Learning Registry node. We have constructed a set of contextualized usage paradata statements for different types of actions (e.g. recommended, aligned, not aligned) and so far have published a couple of test documents to our University LR node.

Slice, harvest, obtain methods and data services (extract)

This section will summarise our experience with different methods the LR has in place for accessing data from the LR. We report on using slice, obtain, harvest and extract methods, explaining why we have chosen one over the other.

University of Liverpool student portal – using data directly from LR

This section will demonstrate how an iLIKE ‘widget’ (a portative version of ENGrich visual search) could be implemented within the University of Liverpool student portal. The iLIKE prototype gets a unique listing of identifiable University of Liverpool engineering modules (titles and codes) directly from the Learning Registry as the user types into the text field, and then fetches the latest resources relating to that module from the LR. It dynamically generates the thumbnails corresponding to the resources.

Working with Mimas

This section will talk about how we collaborated with the JLeRN team at Mimas to resolve some initial bugs in the slice service; to draw on their experiences in setting up a new LR node at the University of Liverpool; to develop a set of customised extract data services; and also about the possibility of joining the LR nodes at Liverpool and Mimas using the LR distribute service.

What next…?

We have been looking at options to further work related to the JLeRN node and paradata, basically to create a sample interface. Javascript will be used mainly for the front-end, though it is all in primary stages. With all the data we have currently in our JLeRN node, it would be good to have a way to explore it and use it through a web client. Currently it is not fully clear what we might end up with, but some basic wireframes for the web pages are considered. Next we will look at the sharing and synchronising of learning resources across the Alpha node on Ubuntu OS and the Beta node on Windows 2008 OS.

Keep watching this space on more progress.

The Windows Node at Mimas

Worked to establish a node on the Windows Server 2008 machine and after some tweaking and self learning got through quite far installing the node.There were some issues on getting Nginx setup right though.

Then after some tweaking, Nginx goes smoothly on the Windows 2008 server after restarting the machine, but wasn’t sure why the step to push the couchapps not working. I was trying to navigate to the config folder of the LR repository
cd C:\Python27\LearningRegRepository\config
and ran the command

python setup_node.py

and was getting the following error:

Traceback (most recent call last):
File “setup_node.py”, line 12, in
import couchdb
ImportError: No module named couchdb

Checked the python code, and couchdb folder is very much existing.. well I knew now is the time to “DEBUG” which I guess I love the most. Lou on the US Learning Registry team suggested to download version 1.1.1 from https://github.com/dch/couchdb/downloads

Damon Regan from the US Learning Registry team noticed the blog post and was happy about the work on Windows machine. He mentioned that Lou Wolford on the LR team has worked with getting the LR running on Windows. There is an active pickling error that they’re working to resolve. He shared the discussion thread on that: https://github.com/LearningRegistry/LearningRegistry/pull/167 and discussions were happening on the Windows mods during the dev calls. He hoped that all issues get resolved and I can get it up and running soon.

Later on I managed to resolve as per Jim’s suggestion for Ubuntu on https://groups.google.com/forum/#!msg/learningreg-dev/0sKsLb15fi8/hFFhObPk69IJ


cd ~/gitrepos/LearningRegistry/LR
pip install -e ./

That should install ALL LR dependencies outside of wsgi, then:

cd ~/gitrepos/config
python setup_node.py -d

I used the same version of couchDB as Lou suggested. The pickling error was still persisting and I was going through the discussion thread Damon mentioned in his comment.

Lou commented that they are looking into a solution that looks for what OS is running and switches between threads/processes to keep everything stable no matter what OS is being used. He promised to keep me updated and let me know ASAP when it is released.  Damon mentioned that John Poyau from the LR team is working on a new factory model to allow windows platforms to use threads and linux and mac platforms to use process. Then in few days, John was able to fix the issue by switching to use Thread instead of Process in change_monitor to fix the pickling_error in Windows. Also he tweaked the way test files are declared to be Windows-friendly.

Damon mentioned that the fix is tested on Windows, Mac and linux. He also mentioned that the fix is not formally released yet. but is in their stable master. He recommended to update our experimental windows node at Mimas from the stable master to obtain the fix. He suggested following steps as well to upgrade the node to master


1. Pull the most recent tag from git

cd /LearningRegistry
git checkout master
git pull

2. Run the setup node python script

python setup_node.py -d

Then he mentioned that it is important to re-run the setup node python script as configuration changes take place during updates. The LR team hopes to have an update script soon that will preserve our node settings on update.

Now I have followed Damon’s steps and do not see the pickling error anymore, and able to start the server on localhost. Watch this space for further development on the Windows environment.

Pre-Dev8D JLeRN Developers’ Challenge Surgery

So the JLeRN Developers Challenge at Dev8D  is up and posted on the Challenges page on Dev8D, and invite your brilliant ideas and entries.

There shall be a dedicated one hour pre-Dev8D surgery on 6th February, 2011 from 10:30-11:30 am and is open for any queries or assistance. You are more than welcome to find more about the challenge or the JLeRN project itself during the surgery.

To participate in the challenge, please drop in a quick email on Bharti [dot] Gupta [at] manchester [dot] ac [dot] uk. You should receive an immediate response acknowledging your interest in the challenge along with the details of how to proceed and connect to the development environment. Please feel free to go through our blog posts which points to most of the work we have been involved in.

Node of Mimas

Nick here.  I work at Mimas with Sarah and Bharti.  I installed a node in mid-December on a spare machine I had lying around.  As it was nothing “official” I called it Node of Mimas.  One simple way of looking at the node’s status is to execute a command like this:

$ curl http://<…>/status

{ “node_name”: “Node of Mimas”, “node_id”: “7ee34ddd8e4f4ea4aafd59c3c7619a16″, “active”: true, “timestamp”: “2012-01-11T20:32:01.097068Z”, “start_time”: “2011-12-31T10:01:07.698981Z”, “install_time”: “2011-12-14T14:44:24.206372Z”, “earliestDatestamp”: “2011-12-14T15:34:23″, “doc_count”: 1 }

You might notice the output from this command is a pretty JSON document.  This node was installed on December 14th and last restarted on New Year’s Eve.  It contains one document.  I wonder what it is?  Execute the following command to find out:

$curl http://<…>/obtain

{“documents”:[{"document": [{"doc_type": "resource_data", "resource_locator": "URI_of_resource", "resource_data": "Put_anything_like_metadata, xml_or_whatever_here", "update_timestamp": "2011-12-14T15:34:23.219869Z", "keys": ["science", "what_ever_you_want"], “TOS”: {“submission_TOS”: “http://www.learningregistry.org/tos/cc0/v0-5/&#8221;}, “_rev”: “1-f81b1258b28092a314661527ad7dcbf0″, “resource_data_type”: “metadata”, “payload_placement”: “inline”, “payload_schema”: ["hashtags", "describing", "resource", "format"], “node_timestamp”: “2011-12-14T15:34:23.219869Z”, “doc_version”: “0.23.0″, “create_timestamp”: “2011-12-14T15:34:23.219869Z”, “active”: true, “publishing_node”: “7ee34ddd8e4f4ea4aafd59c3c7619a16″, “_id”: “551592f1743d46a7b4f4d6c7484e356a”, “doc_ID”: “551592f1743d46a7b4f4d6c7484e356a”, “identity”: {“owner”: “”, “submitter”: “Your name or organization here”, “submitter_type”: “agent”, “signer”: “Your name or organization if signing the document”, “curator”: “”}}], “doc_ID”: “URI_of_resource”}]}

Let’s make the output more readable for humans (and edit it slightly):

JSON document

Sample document

Well, it’s just a test document, in JSON format, but it gives you an indication of what Learning Registry data looks like.

The Hackday in Manchester is fast approaching.  We are expecting to be given a new server by the end of this week but it will take a few days to install and test a new node we are calling Alpha.  By the middle of next week we will decide which node to use for the Hackday, either Node of Mimas or Alpha.  That’s all for now.

Post Navigation

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: