{"id":4744,"date":"2015-06-16T13:16:53","date_gmt":"2015-06-16T17:16:53","guid":{"rendered":"http:\/\/www.dr-chuck.com\/csev-blog\/?p=4744"},"modified":"2015-06-17T06:25:47","modified_gmt":"2015-06-17T10:25:47","slug":"annoucing-the-very-early-sakai-tsugi-bridge","status":"publish","type":"post","link":"https:\/\/www.dr-chuck.com\/csev-blog\/2015\/06\/annoucing-the-very-early-sakai-tsugi-bridge\/","title":{"rendered":"Annoucing the (very early) Sakai &#8211; Tsugi Bridge"},"content":{"rendered":"<p>In my <a href=\"http:\/\/www.dr-chuck.com\/csev-blog\/2015\/06\/annoucing-the-tsugi-java-library-for-building-interoperable-learning-applications\/\">previous post<\/a>, I announced a Java implementation of my Tsugi library.  Java Tsugi has as its goal to allow externally hosted LTI applications to be quickly developed and hosted.<\/p>\n<p>But there is more&#8230;.<\/p>\n<p>I have been long positing that Tsugi would be a way to build portable applications that ran in any Java framework.  Take a look at this slide set starting at slide 24 through the end.  Pay particular attention to slide 28.<\/p>\n<p><center><iframe loading=\"lazy\" src=\"https:\/\/www.slideshare.net\/slideshow\/embed_code\/key\/C2kbUVmdGqrHG1\" width=\"476\" height=\"400\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/center><\/p>\n<p>I claim that the same Tsugi application can run standalone in a Tomcat or in a Sakai-provisioned Tomcat as a Sakai tool with zero code changes.   I see Tsugi as a great way to build the next generation of Sakai tools like XWiki &#8211; we can build an LTI capable XWiki to plug into Sakai or any other LMS.<\/p>\n<p>I have made some really initial steps in this repo:<\/p>\n<p><a href=\"https:\/\/github.com\/csev\/tsugi-sakai\" target=\"_blank\">https:\/\/github.com\/csev\/tsugi-sakai<\/a><\/p>\n<p>This is contains a Sakai implementation of the Tsugi APIs so that the Tsugi Java Servlet can be provisioned run in a Sakai Tomcat.  The implementation is <strong>currently empty<\/strong> &#8211; but I have worked out the class loader issues that allow me to provision a Tsugi servlet with a different implementation without changing the servlet.<\/p>\n<p>So this is very much a start &#8211; the README.md has a lot of steps &#8211; and at the end all you get is a 500 error as shown below &#8211; but it does show how we can eventually connect the Tsugi and Sakai worlds.<\/p>\n<p><a href=\"http:\/\/www.dr-chuck.com\/csev-blog\/wp-content\/uploads\/2015\/06\/2015-06-15-Tsugi-Sakai-500.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.dr-chuck.com\/csev-blog\/wp-content\/uploads\/2015\/06\/2015-06-15-Tsugi-Sakai-500-1024x713.png\" alt=\"2015-06-15-Tsugi-Sakai-500\" width=\"600\" height=\"416\" class=\"aligncenter size-large wp-image-4747\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In my previous post, I announced a Java implementation of my Tsugi library. Java Tsugi has as its goal to allow externally hosted LTI applications to be quickly developed and hosted. But there is more&#8230;. I have been long positing that Tsugi would be a way to build portable applications that ran in any Java [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-4744","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/posts\/4744","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/comments?post=4744"}],"version-history":[{"count":11,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/posts\/4744\/revisions"}],"predecessor-version":[{"id":4756,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/posts\/4744\/revisions\/4756"}],"wp:attachment":[{"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/media?parent=4744"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/categories?post=4744"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/tags?post=4744"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}