{"action":"created","issue":{"url":"https://api.github.com/repos/ilios/ilios/issues/812","labels_url":"https://api.github.com/repos/ilios/ilios/issues/812/labels{/name}","comments_url":"https://api.github.com/repos/ilios/ilios/issues/812/comments","events_url":"https://api.github.com/repos/ilios/ilios/issues/812/events","html_url":"https://github.com/ilios/ilios/issues/812","id":65081403,"number":812,"title":"Can we declare support for only a JSON API?","user":{"login":"jrjohnson","id":349624,"avatar_url":"https://avatars.githubusercontent.com/u/349624?v=3","gravatar_id":"","url":"https://api.github.com/users/jrjohnson","html_url":"https://github.com/jrjohnson","followers_url":"https://api.github.com/users/jrjohnson/followers","following_url":"https://api.github.com/users/jrjohnson/following{/other_user}","gists_url":"https://api.github.com/users/jrjohnson/gists{/gist_id}","starred_url":"https://api.github.com/users/jrjohnson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrjohnson/subscriptions","organizations_url":"https://api.github.com/users/jrjohnson/orgs","repos_url":"https://api.github.com/users/jrjohnson/repos","events_url":"https://api.github.com/users/jrjohnson/events{/privacy}","received_events_url":"https://api.github.com/users/jrjohnson/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ilios/ilios/labels/RFC","name":"RFC","color":"d4c5f9"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/ilios/ilios/milestones/17","html_url":"https://github.com/ilios/ilios/milestones/v3.0.0","labels_url":"https://api.github.com/repos/ilios/ilios/milestones/17/labels","id":777227,"number":17,"title":"v3.0.0","description":"Initial launch of Symfony based Ilios 3 with API support","creator":{"login":"saschaben","id":1753431,"avatar_url":"https://avatars.githubusercontent.com/u/1753431?v=3","gravatar_id":"","url":"https://api.github.com/users/saschaben","html_url":"https://github.com/saschaben","followers_url":"https://api.github.com/users/saschaben/followers","following_url":"https://api.github.com/users/saschaben/following{/other_user}","gists_url":"https://api.github.com/users/saschaben/gists{/gist_id}","starred_url":"https://api.github.com/users/saschaben/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saschaben/subscriptions","organizations_url":"https://api.github.com/users/saschaben/orgs","repos_url":"https://api.github.com/users/saschaben/repos","events_url":"https://api.github.com/users/saschaben/events{/privacy}","received_events_url":"https://api.github.com/users/saschaben/received_events","type":"User","site_admin":false},"open_issues":16,"closed_issues":13,"state":"open","created_at":"2014-09-03T18:00:53Z","updated_at":"2015-03-29T17:42:45Z","due_on":"2015-01-29T08:00:00Z","closed_at":null},"comments":4,"created_at":"2015-03-29T17:42:45Z","updated_at":"2015-03-30T20:51:57Z","closed_at":null,"body":"Right now we are targeting supporting XML/JSON with some HTML views in order to make it easy to learn the structure.  However this adds complexity to our setup and may not have any real benefits.  If we DROP support for XML and make HTML a nice to have extra we can focus all development efforts on creating a 100% compatible JSON api following the standards at http://jsonapi.org/\r\nIt is quite possible that we can do this with substantially less code by leveraging community work here:\r\nhttps://github.com/gointegro/hateoas-bundle\r\nor here\r\nhttps://github.com/tobscure/json-api\r\n\r\nBy supporting a single API standard we can write more focused documentation and eliminate complexity in our code.  \r\n\r\nSince XML APIs seem to be a dying format dropping support may very well have no negative implications.\r\n\r\nIt will be much easier to add XML later as a supported format than it will be to support it in the 3.0 launch and then remove it in the future when it is under-utilized.\r\n\r\nThoughts @Trott and @saschaben "},"comment":{"url":"https://api.github.com/repos/ilios/ilios/issues/comments/87828105","html_url":"https://github.com/ilios/ilios/issues/812#issuecomment-87828105","issue_url":"https://api.github.com/repos/ilios/ilios/issues/812","id":87828105,"user":{"login":"Trott","id":718899,"avatar_url":"https://avatars.githubusercontent.com/u/718899?v=3","gravatar_id":"","url":"https://api.github.com/users/Trott","html_url":"https://github.com/Trott","followers_url":"https://api.github.com/users/Trott/followers","following_url":"https://api.github.com/users/Trott/following{/other_user}","gists_url":"https://api.github.com/users/Trott/gists{/gist_id}","starred_url":"https://api.github.com/users/Trott/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Trott/subscriptions","organizations_url":"https://api.github.com/users/Trott/orgs","repos_url":"https://api.github.com/users/Trott/repos","events_url":"https://api.github.com/users/Trott/events{/privacy}","received_events_url":"https://api.github.com/users/Trott/received_events","type":"User","site_admin":false},"created_at":"2015-03-30T20:51:57Z","updated_at":"2015-03-30T20:51:57Z","body":"I'm in favor of providing JSON and not bothering with XML. \r\n\r\nIf I understand correctly, the Curriculum Inventory Standard stuff in Ilios 2 does not use the API (because the API does not exist). \r\n\r\nI have no idea if the plan is to change that in Ilios 3 or not. But there's no reason it can't consume JSON and produce XML. That would at least isolate the XML.\r\n\r\n(Or is the idea that the API should produce Curriculum Inventory Standard stuff directly? That sounds ambitious to me, but hey, I'm not micromanaging development...er, I mean, following development very closely.)\r\n"}}