{"id":5495,"date":"2017-12-28T17:49:30","date_gmt":"2017-12-28T21:49:30","guid":{"rendered":"http:\/\/www.dr-chuck.com\/csev-blog\/?p=5495"},"modified":"2017-12-28T17:49:30","modified_gmt":"2017-12-28T21:49:30","slug":"app-store-progress-on-www-tsugicloud-org","status":"publish","type":"post","link":"https:\/\/www.dr-chuck.com\/csev-blog\/2017\/12\/app-store-progress-on-www-tsugicloud-org\/","title":{"rendered":"App Store Progress on www.tsugicloud.org"},"content":{"rendered":"<p>I have done a bunch of updates to <a href=\"https:\/\/www.tsugi.org\/\" rel=\"noopener\" target=\"_blank\">Tsugi&#8217;s<\/a> support for stand alone App Stores (without any kind of lesson content).  This is all in production at <a href=\"http:\/\/www.tsugicloud.org\" rel=\"noopener\" target=\"_blank\">www.tsugicloud.org<\/a><\/p>\n<p><a href=\"http:\/\/www.dr-chuck.com\/csev-blog\/wp-content\/uploads\/2017\/12\/2017-12-28-TsugiCloud-Peer.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.dr-chuck.com\/csev-blog\/wp-content\/uploads\/2017\/12\/2017-12-28-TsugiCloud-Peer-300x245.png\" alt=\"\" width=\"300\" height=\"245\" class=\"aligncenter size-medium wp-image-5499\" srcset=\"https:\/\/www.dr-chuck.com\/csev-blog\/wp-content\/uploads\/2017\/12\/2017-12-28-TsugiCloud-Peer-300x245.png 300w, https:\/\/www.dr-chuck.com\/csev-blog\/wp-content\/uploads\/2017\/12\/2017-12-28-TsugiCloud-Peer-768x627.png 768w, https:\/\/www.dr-chuck.com\/csev-blog\/wp-content\/uploads\/2017\/12\/2017-12-28-TsugiCloud-Peer-1024x836.png 1024w, https:\/\/www.dr-chuck.com\/csev-blog\/wp-content\/uploads\/2017\/12\/2017-12-28-TsugiCloud-Peer-624x509.png 624w, https:\/\/www.dr-chuck.com\/csev-blog\/wp-content\/uploads\/2017\/12\/2017-12-28-TsugiCloud-Peer.png 1109w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>I have expanded the contract in <strong>register.php<\/strong> for the tools to describe themselves and improved the pattern in <strong>.htaccess \/ tsugi.php<\/strong> to better support the App Store.  You can see this all in action at:<\/p>\n<p><a href=\"https:\/\/www.tsugicloud.org\/tsugi\/store\/details\/peer-grade\" rel=\"noopener\" target=\"_blank\">https:\/\/www.tsugicloud.org\/tsugi\/store\/details\/peer-grade<\/a><\/p>\n<p>Play with \u201cTest\u201d and \u201cTool URLs\u201d.  A much smoother flow and richer experience.<\/p>\n<p>You can see the new patterns for developers to take advantage of this in a relatively simple tool like:<\/p>\n<p><a href=\"https:\/\/github.com\/tsugitools\/map\" rel=\"noopener\" target=\"_blank\">https:\/\/github.com\/tsugitools\/map<\/a><\/p>\n<p>Look at <strong>.htaccess  \/ tsugi.php \/ register.php<\/strong> and the <strong>store<\/strong> folder which holds screen shots.  Some notes:<\/p>\n<p>&#8211; The new and expanded <strong>register.php<\/strong> is what drives the pretty store view under <strong>\/tsugi\/store<\/strong><\/p>\n<p>&#8211; The new <strong>tsugi.php<\/strong> makes it so every tool has a Canvas configuration URL and can dump its own configuration in JSON (more to come here):<\/p>\n<p><a href=\"https:\/\/www.tsugicloud.org\/mod\/map\/register.json\" rel=\"noopener\" target=\"_blank\">https:\/\/www.tsugicloud.org\/mod\/map\/register.json<\/a><br \/>\n<a href=\"https:\/\/www.tsugicloud.org\/mod\/map\/canvas-config.xml\" rel=\"noopener\" target=\"_blank\">https:\/\/www.tsugicloud.org\/mod\/map\/canvas-config.xml<\/a><\/p>\n<p>&#8211; There are new options in <strong>tsugi\/config.php<\/strong> to include a privacy url and service level agreement url:<\/p>\n<pre><code>$CFG->privacy_url = 'https:\/\/www.tsugicloud.org\/services\/policies\/privacy';\r\n$CFG->sla_url = 'https:\/\/www.tsugicloud.org\/services\/policies\/service-level-agreement';\r\n<\/code><\/pre>\n<p>These are important when connecting to Google Classroom so you should have them for your sites.  Don\u2019t point to mine &#8211; make your own and be honest and thorough.<\/p>\n<p>And while I am on the topic &#8211; you might want to take a minute and play with Google Classroom.  It is easiest to use a non-enterprise Google account.  Some enterprises (like umich.edu) do not let their users use Google Classroom.  But my @gmail.com account works fine.<\/p>\n<p>Log in to <a href=\"http:\/\/classroom.google.com\" rel=\"noopener\" target=\"_blank\">classroom.google.com<\/a> and make a course. Then go to <\/p>\n<p><a href=\"https:\/\/www.tsugicloud.org\/tsugi\/settings\/\" rel=\"noopener\" target=\"_blank\">https:\/\/www.tsugicloud.org\/tsugi\/settings\/<\/a><\/p>\n<p>And connect to Google Classroom.  All of a sudden little green squares show up to let you push tools into Google.  Grades flow and everything.  Google Classroom flow is pretty nice &#8211; but like any proprietary integration &#8211; to make it work on the Tool Provider side requires special tooling.<\/p>\n<p><a href=\"http:\/\/www.dr-chuck.com\/csev-blog\/wp-content\/uploads\/2017\/12\/2017-12-28-TsugiCloud-Google.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.dr-chuck.com\/csev-blog\/wp-content\/uploads\/2017\/12\/2017-12-28-TsugiCloud-Google-300x245.png\" alt=\"\" width=\"300\" height=\"245\" class=\"aligncenter size-medium wp-image-5498\" srcset=\"https:\/\/www.dr-chuck.com\/csev-blog\/wp-content\/uploads\/2017\/12\/2017-12-28-TsugiCloud-Google-300x245.png 300w, https:\/\/www.dr-chuck.com\/csev-blog\/wp-content\/uploads\/2017\/12\/2017-12-28-TsugiCloud-Google-768x627.png 768w, https:\/\/www.dr-chuck.com\/csev-blog\/wp-content\/uploads\/2017\/12\/2017-12-28-TsugiCloud-Google-1024x836.png 1024w, https:\/\/www.dr-chuck.com\/csev-blog\/wp-content\/uploads\/2017\/12\/2017-12-28-TsugiCloud-Google-624x509.png 624w, https:\/\/www.dr-chuck.com\/csev-blog\/wp-content\/uploads\/2017\/12\/2017-12-28-TsugiCloud-Google.png 1109w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>So in summary, if you are a Tsugi tool developer, you might want to up your game in <strong>register.php<\/strong>, <strong>tsugi.php<\/strong> (adding <strong>.htaccess<\/strong> if you don\u2019t already have it) and adding some screen shots in a <strong>store<\/strong> folder.  The App Store falls back nicely with a simpler view until you upgrade your tool to feed the necessary metadata to expanded store.<\/p>\n<p>Hope you like it and comments welcome.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have done a bunch of updates to Tsugi&#8217;s support for stand alone App Stores (without any kind of lesson content). This is all in production at www.tsugicloud.org I have expanded the contract in register.php for the tools to describe themselves and improved the pattern in .htaccess \/ tsugi.php to better support the App Store. [&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-5495","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\/5495","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=5495"}],"version-history":[{"count":11,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/posts\/5495\/revisions"}],"predecessor-version":[{"id":5508,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/posts\/5495\/revisions\/5508"}],"wp:attachment":[{"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/media?parent=5495"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/categories?post=5495"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/tags?post=5495"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}