{"id":6029,"date":"2017-12-21T11:07:54","date_gmt":"2017-12-21T11:07:54","guid":{"rendered":"http:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/?p=6029"},"modified":"2020-05-22T17:24:54","modified_gmt":"2020-05-22T16:24:54","slug":"write-your-own-tools-and-utilities-using-weblearns-entity-broker-rest-interface","status":"publish","type":"post","link":"https:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/2017\/12\/write-your-own-tools-and-utilities-using-weblearns-entity-broker-rest-interface\/","title":{"rendered":"Write your own tools and utilities using WebLearn&#8217;s Entity Broker REST interface"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" src=\"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/d\/dc\/Javascript-shield.png\" alt=\"\" width=\"199\" height=\"199\" \/>Entity Broker is a REST web service interface to Sakai. It is self-documenting, see\u00a0<a href=\"https:\/\/weblearn.ox.ac.uk\/direct\/describe\">https:\/\/weblearn.ox.ac.uk\/direct\/describe<\/a>, but as you will see, some of the documentation is somewhat lacking.<\/p>\n<p>I stumbled across <a href=\"https:\/\/learntech.imsu.ox.ac.uk\/blog\/?p=1240\">a blog post that Damion Young&#8217;s made about WebLearn (Sakai&#8217;s) Entity Broker<\/a>, he has\u00a0very kindly filled is some of the missing pieces of the jigsaw.<\/p>\n<p>It is entirely possible to write useful utilities using a combination of JavaScript,\u00a0HTML and calls to Entity Broker, indeed, this is how the original <a href=\"http:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/2010\/11\/weblearns-mobile-phone-interface\/\">Mobile Oxford offered a mobile interface to WebLearn<\/a>. (The current Mobile Oxford no longer offers such an interface.)<\/p>\n<p>Some of the most recent WebLearn utilities \/ dashboards have been written in JavaScript, examples,<\/p>\n<ul>\n<li><strong><a href=\"https:\/\/weblearn.ox.ac.uk\/portal\/site\/:info:batch-update\">Batch Update Utility<\/a><\/strong>\u00a0(Source code:\u00a0<a title=\"Text\" href=\"https:\/\/weblearn.ox.ac.uk\/access\/content\/public\/misc\/js-entity-broker\/batch-update-sites.js\" target=\"_blank\" rel=\"noopener noreferrer\"><span class=\"hidden-sm hidden-xs\">batch-update-sites.js<\/span><\/a> and\u00a0<span class=\"hidden-sm hidden-xs\"><a title=\"Html\" href=\"https:\/\/weblearn.ox.ac.uk\/access\/content\/public\/misc\/js-entity-broker\/batch-manage-sites.html\" target=\"_blank\" rel=\"noopener noreferrer\">batch-manage-sites.html<\/a>) &#8211; this allows one or more users to be added, deleted or replaced over multiple sites all at once and also <a href=\"\/adamweblearn\/2014\/11\/customisable-branding-of-sites\/\">allows customised branding of sites<\/a><\/span><\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6043\" src=\"http:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/files\/2017\/12\/batch-update.png.jpg\" alt=\"\" width=\"866\" height=\"265\" srcset=\"https:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/files\/2017\/12\/batch-update.png.jpg 866w, https:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/files\/2017\/12\/batch-update.png-300x92.jpg 300w, https:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/files\/2017\/12\/batch-update.png-768x235.jpg 768w\" sizes=\"auto, (max-width: 866px) 100vw, 866px\" \/><\/p>\n<ul>\n<li><strong><a href=\"\/adamweblearn\/2017\/12\/new-student-dashboard-collating-all-recorded-lectures\/\">Recorded Lectures Dashboard<\/a><\/strong>\u00a0(Source code:\u00a0<span class=\"hidden-sm hidden-xs\"><a title=\"Unknown\" href=\"https:\/\/weblearn.ox.ac.uk\/access\/content\/public\/misc\/js-entity-broker\/lti-tools.js\" target=\"_self\">lti-tools.js<\/a>\u00a0and\u00a0<a title=\"Html\" href=\"https:\/\/weblearn.ox.ac.uk\/access\/content\/public\/misc\/js-entity-broker\/recorded-lectures.html\" target=\"_blank\" rel=\"noopener noreferrer\">recorded-lectures.html<\/a>) &#8211; this JavaScript has actually been wrapped up and packaged as a fully fledged tool so it can be placed in every user&#8217;s home area (&#8216;My Home&#8217;)<\/span><\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6044\" src=\"http:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/files\/2017\/12\/reclect.jpg\" alt=\"\" width=\"631\" height=\"402\" srcset=\"https:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/files\/2017\/12\/reclect.jpg 631w, https:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/files\/2017\/12\/reclect-300x191.jpg 300w\" sizes=\"auto, (max-width: 631px) 100vw, 631px\" \/><\/p>\n<ul>\n<li><strong>Anonymous Submissions Dashboard<\/strong> &#8211; this gives an overview of all upcoming formal essay submissions (Source code:\u00a0<span class=\"hidden-sm hidden-xs\"><a title=\"Simple Text Document\" href=\"https:\/\/weblearn.ox.ac.uk\/access\/content\/public\/misc\/js-entity-broker\/anonymous-submissions.js\" target=\"_blank\" rel=\"noopener noreferrer\">anonymous-submissions.js<\/a>\u00a0and\u00a0<a title=\"HTML Page\" href=\"https:\/\/weblearn.ox.ac.uk\/access\/content\/public\/misc\/js-entity-broker\/anonymous-submissions.html\" target=\"_blank\" rel=\"noopener noreferrer\">anonymous-submissions.html<\/a>)<\/span><\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6046\" src=\"http:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/files\/2017\/12\/as-dash.jpg\" alt=\"\" width=\"682\" height=\"256\" srcset=\"https:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/files\/2017\/12\/as-dash.jpg 1124w, https:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/files\/2017\/12\/as-dash-300x113.jpg 300w, https:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/files\/2017\/12\/as-dash-768x288.jpg 768w, https:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/files\/2017\/12\/as-dash-1024x384.jpg 1024w\" sizes=\"auto, (max-width: 682px) 100vw, 682px\" \/><\/p>\n<ul>\n<li><strong>Medical Sciences&#8217;s <a href=\"\/adamweblearn\/2017\/07\/innovative-use-of-weblearn-oxford-online-programme-in-sleep-medicine\/\">Sleep Medicine Online Course<\/a><\/strong><\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-5943\" src=\"http:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/files\/2017\/07\/sleep.jpg\" alt=\"\" width=\"656\" height=\"315\" srcset=\"https:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/files\/2017\/07\/sleep.jpg 700w, https:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/files\/2017\/07\/sleep-300x144.jpg 300w\" sizes=\"auto, (max-width: 656px) 100vw, 656px\" \/><\/p>\n<ul>\n<li><strong>The <a href=\"\/adamweblearn\/2012\/06\/personalising-weblearn-sakai-the-bms-portal-page\/\">Biomedical Sciences portal<\/a> page<\/strong><\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/learntech.imsu.ox.ac.uk\/blog\/wp-content\/uploads\/2012\/05\/bmsportal.jpg\" width=\"670\" height=\"525\" \/><\/p>\n<ul>\n<li>Entity Broker source code:\u00a0<a href=\"https:\/\/github.com\/sakaiproject\/sakai\/tree\/master\/entitybroker\/core-providers\/src\/java\/org\/sakaiproject\/entitybroker\/providers\">https:\/\/github.com\/sakaiproject\/sakai\/tree\/master\/entitybroker\/core-providers\/src\/java\/org\/sakaiproject\/entitybroker\/providers<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Entity Broker is a REST web service interface to Sakai. It is self-documenting, see\u00a0https:\/\/weblearn.ox.ac.uk\/direct\/describe, but as you will see, some of the documentation is somewhat lacking. I stumbled across a blog post that Damion Young&#8217;s made about WebLearn (Sakai&#8217;s) Entity &hellip; <a href=\"https:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/2017\/12\/write-your-own-tools-and-utilities-using-weblearns-entity-broker-rest-interface\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":13,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[90,105],"tags":[44002,13786],"class_list":["post-6029","post","type-post","status-publish","format-standard","hentry","category-sakai","category-weblearn","tag-entity-broker","tag-web-services"],"_links":{"self":[{"href":"https:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/wp-json\/wp\/v2\/posts\/6029","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/wp-json\/wp\/v2\/comments?post=6029"}],"version-history":[{"count":19,"href":"https:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/wp-json\/wp\/v2\/posts\/6029\/revisions"}],"predecessor-version":[{"id":6399,"href":"https:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/wp-json\/wp\/v2\/posts\/6029\/revisions\/6399"}],"wp:attachment":[{"href":"https:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/wp-json\/wp\/v2\/media?parent=6029"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/wp-json\/wp\/v2\/categories?post=6029"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs-new.it.ox.ac.uk\/adamweblearn\/wp-json\/wp\/v2\/tags?post=6029"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}