The JLeRN Experiment

JISC's Learning Registry Node Experiment at Mimas

Archive for the tag “mimas”

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.

Alpha node

We installed the JLeRN “alpha” node on our new Ubuntu server on the weekend (Jan 21-22) before the Hackday.  But there was a bug which affected the indexes and thus document retrieval.

The LR developers in the U.S. resolved the bug promptly and we applied the fix on Jan 28th.

The node is here: http://alpha.mimas.ac.uk

The node supports all publish and retrieval services although we haven’t had a chance to test all of these yet.

The node is now open to the world except you need a username and password to publish documents.  The credentials you need to publish are:

Username: fred
Password: flintstone

Give it a go when you have a minute or two.

Examples:
http://alpha.mimas.ac.uk/status
http://alpha.mimas.ac.uk/description
http://alpha.mimas.ac.uk/obtain  [all documents in node, 100 at a time]
http://alpha.mimas.ac.uk/obtain?request_ID=http://dspace.jorum.ac.uk/xmlui/handle/123456789/1000
http://alpha.mimas.ac.uk/slice?any_tags=curve
http://alpha.mimas.ac.uk/slice?any_tags=magnetism

N.B.: The examples above fetch JSON documents.  Install an extension to your favourite browser so you can display the documents in a readable format; e.g., JSONview extension for Firefox.

Curl examples:
$ curl  -v http://alpha.mimas.ac.uk/obtain?request_ID=”http://alpha.mimas.ac.uk/obtain?request_ID=http://dspace.jorum.ac.uk/xmlui/handle/123456789/1000″
$ curl -Xv POST -H “Content-Type:application/json” “http://alpha.mimas.ac.uk/publish” -d @test_data.json -u fred

The Learning Registry Quick Reference Guide has more examples.

Java on Learning Registry…

The JLeRN Hackday was such an involving and learning event. Got few more doubts clear with Nick and got a chance to speak with Scott regarding his work on LRJavaLib – the Java library for the Learning Registry services. I downloaded bencode from http://bit.ly/AecnXF, untar it, and installed the jar file using Maven.

Now am trying to develop some Java code to automate all the services using JAX-RS using Eclipse IDE.

Also need to look at the Data Services proposal, which seems quite promising from the Developer’s list on http://bit.ly/wScfDk

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.

Welcome to The JLeRN Experiment at Mimas

Welcome to the JLeRN blog!

We’re a small team at Mimas in the UK, working on a JISC-funded experiment, setting up and testing a node as part of the U.S.-based Learning Registry project:

“JISC will be participating in the Learning Registry project by setting up an experimental node in the UK with a focus on content from the higher education and cultural sectors. Utilising the expertise and content available to JISC, the project will explore contributing data and analysing it. JISC hopes to collaborate with the Learning Registry in exploring the infrastructure considerations and to help specify and support useful applications.”

We’re collaborating across the globe with other edtech development teams on this technical proof-of-concept initiative. The Learning Registry is exploring the development of a decentralised network of nodes for sharing ‘paradata’ about learning resources and their use:

“Paradata provides a mechanism to openly exchange data about how resources are discovered, assessed for utility, and integrated into the processes of designing learning experiences. Each of the individual and collective actions of favoriting, foldering, rating, sharing, remixing, embedding, and embellishing that are the hallmarks of today’s teacher workflow around digital content are points of paradata that can serve as indicators about resource utility and emerging teacher practices.” - NSDL page on the Learning Registry site.

The team consists of me, Sarah Currier, leading the effort, and two awesome developers, Nick Syrotiuk and Bharti Gupta.

We’re going to use this blog to share all of our adventures, mis-steps, solutions, and creative ideas while working on the Learning Registry. It’s open notebook science in action!

We’re also staying in close communication with JISC CETIS, who have a separate watching brief and advisory role on behalf of the UK with the US Learning Registry project. John Robertson, Lorna Campbell and Phil Barker have already been a great help. I highly recommend following the links on John and Lorna’s names there, to read some useful, accessible blog posts on the Learning Registry. You might also want to check out the presentations and guidance documents here, follow the project on Twitter at @learningreg and #learningreg, and read Learning Registry maven Dan Rehak‘s guest blog post for CETIS here.

And we’ll be working, of course, with the Jorum team, also based here at Mimas, as one source of learning resource data.

We’d like to work with any technical teams who would like to experiment with the node we are setting up. If you have data and/or you are setting up your own node, and wish to collaborate with us, please get in touch: sarah [dot] currier [at] manchester.ac.uk


Post Navigation

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: