{"action":"opened","issue":{"url":"https://api.github.com/repos/elmsln/elmsln/issues/1473","repository_url":"https://api.github.com/repos/elmsln/elmsln","labels_url":"https://api.github.com/repos/elmsln/elmsln/issues/1473/labels{/name}","comments_url":"https://api.github.com/repos/elmsln/elmsln/issues/1473/comments","events_url":"https://api.github.com/repos/elmsln/elmsln/issues/1473/events","html_url":"https://github.com/elmsln/elmsln/issues/1473","id":189781217,"number":1473,"title":"explore api.elmsln.local concept","user":{"login":"btopro","id":329735,"avatar_url":"https://avatars.githubusercontent.com/u/329735?v=3","gravatar_id":"","url":"https://api.github.com/users/btopro","html_url":"https://github.com/btopro","followers_url":"https://api.github.com/users/btopro/followers","following_url":"https://api.github.com/users/btopro/following{/other_user}","gists_url":"https://api.github.com/users/btopro/gists{/gist_id}","starred_url":"https://api.github.com/users/btopro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/btopro/subscriptions","organizations_url":"https://api.github.com/users/btopro/orgs","repos_url":"https://api.github.com/users/btopro/repos","events_url":"https://api.github.com/users/btopro/events{/privacy}","received_events_url":"https://api.github.com/users/btopro/received_events","type":"User","site_admin":false},"labels":[{"id":347136111,"url":"https://api.github.com/repos/elmsln/elmsln/labels/AWESOME!","name":"AWESOME!","color":"fbca04","default":false},{"id":250327799,"url":"https://api.github.com/repos/elmsln/elmsln/labels/online%20/%20CIS","name":"online / CIS","color":"207de5","default":false},{"id":215147769,"url":"https://api.github.com/repos/elmsln/elmsln/labels/scale%20/%20performance","name":"scale / performance","color":"d4c5f9","default":false}],"state":"open","locked":false,"assignee":{"login":"btopro","id":329735,"avatar_url":"https://avatars.githubusercontent.com/u/329735?v=3","gravatar_id":"","url":"https://api.github.com/users/btopro","html_url":"https://github.com/btopro","followers_url":"https://api.github.com/users/btopro/followers","following_url":"https://api.github.com/users/btopro/following{/other_user}","gists_url":"https://api.github.com/users/btopro/gists{/gist_id}","starred_url":"https://api.github.com/users/btopro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/btopro/subscriptions","organizations_url":"https://api.github.com/users/btopro/orgs","repos_url":"https://api.github.com/users/btopro/repos","events_url":"https://api.github.com/users/btopro/events{/privacy}","received_events_url":"https://api.github.com/users/btopro/received_events","type":"User","site_admin":false},"assignees":[{"login":"btopro","id":329735,"avatar_url":"https://avatars.githubusercontent.com/u/329735?v=3","gravatar_id":"","url":"https://api.github.com/users/btopro","html_url":"https://github.com/btopro","followers_url":"https://api.github.com/users/btopro/followers","following_url":"https://api.github.com/users/btopro/following{/other_user}","gists_url":"https://api.github.com/users/btopro/gists{/gist_id}","starred_url":"https://api.github.com/users/btopro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/btopro/subscriptions","organizations_url":"https://api.github.com/users/btopro/orgs","repos_url":"https://api.github.com/users/btopro/repos","events_url":"https://api.github.com/users/btopro/events{/privacy}","received_events_url":"https://api.github.com/users/btopro/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/elmsln/elmsln/milestones/10","html_url":"https://github.com/elmsln/elmsln/milestones/Bucket%20of%20Crazy%20Fun","labels_url":"https://api.github.com/repos/elmsln/elmsln/milestones/10/labels","id":1822200,"number":10,"title":"Bucket of Crazy Fun","description":"Crazy, Fun, Eventually, when we have time kinda stuff. These can provide a break from monotony and help win the future.\r\n\r\nThe Bucket of Crazy Fun are for ideas that could be at times insane but reflect the world we are <s>trying</s> going to create. The ideas and requests that live there are considered fun / moon-shot type of things, not all of which we'll do and not all of which we have a need for (today).\r\n\r\nThis could be everything from Block Chain deployment mechanism to Virtual Reality in the browser to one-click deployments of new universities (credentialing not withstanding). :)","creator":{"login":"btopro","id":329735,"avatar_url":"https://avatars.githubusercontent.com/u/329735?v=3","gravatar_id":"","url":"https://api.github.com/users/btopro","html_url":"https://github.com/btopro","followers_url":"https://api.github.com/users/btopro/followers","following_url":"https://api.github.com/users/btopro/following{/other_user}","gists_url":"https://api.github.com/users/btopro/gists{/gist_id}","starred_url":"https://api.github.com/users/btopro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/btopro/subscriptions","organizations_url":"https://api.github.com/users/btopro/orgs","repos_url":"https://api.github.com/users/btopro/repos","events_url":"https://api.github.com/users/btopro/events{/privacy}","received_events_url":"https://api.github.com/users/btopro/received_events","type":"User","site_admin":false},"open_issues":30,"closed_issues":0,"state":"open","created_at":"2016-06-12T16:31:40Z","updated_at":"2016-11-16T17:28:49Z","due_on":"2020-01-01T00:00:00Z","closed_at":null},"comments":0,"created_at":"2016-11-16T17:28:49Z","updated_at":"2016-11-16T17:28:49Z","closed_at":null,"body":"What if, Instead of Course A and Course B and course C asking CIS for data which then has to be cached local to each, what if a 3rd party API engine made the query on its behalf?\r\n\r\nThen it could store the response local to itself and all future calls get the cached reference (even tho its remotely delivered). It's the same number of hops (go some place, get result) it's just that a 3rd party system is doing it. I'd probably be in favor of CIS doing this instead of an actual 3rd party just for simplicity / things that already exist, though we could add in api after the fact and then always request the tool directly if the api endpoint doesn't exist.\r\n\r\nWhat this affords us: single cache entry destruction to ACTUALLY kill the cached response globally.\r\nExample 1:\r\n- User updates \"display name\" (people rebuilds)\r\n- Course A requests \"display name\" (people delivers); Course A delivers local cached value for future calls\r\n- Course B requests \"display name\" (people delivers cached response); Course B delivers local cached value for future calls\r\n- User updates \"display name\" (people rebuilds)\r\n- Course C requests \"display name\" (people delivers new response); Course C delivers local cached value for future calls\r\n\r\nIn this scenario, Course A and B are both out of date until the people cache is blown away in their site which depends on other logic to ensure happens. Here's the same scenario w/ the 3rd party cache engine:\r\n- User updates \"display name\" (people rebuilds)\r\n- Course A requests \"display name\" (asks api to get info from people); API gets the call, resends it against people, caches the response and then ships it to Course A\r\n- Course B requests \"display name\" (asks api to get info from people); API knows about it, ships back the cached value\r\n- Value updated in people, API pinpricks api address which kills CID value\r\n- Course A / B / anyone requests the data and it shows up from API address w/ correct value\r\n\r\nConsiderations:\r\n- Overhead on each call going out the door, might want to in the interim still cache local to site but frag it based on defined granularity; Media daily, Interact daily, People hourly, CIS daily\r\n- Awesomeness\r\n"}}
{"actor":{"display_login":"btopro"}}