{"action":"created","issue":{"url":"https://api.github.com/repos/dunglas/DunglasApiBundle/issues/191","labels_url":"https://api.github.com/repos/dunglas/DunglasApiBundle/issues/191/labels{/name}","comments_url":"https://api.github.com/repos/dunglas/DunglasApiBundle/issues/191/comments","events_url":"https://api.github.com/repos/dunglas/DunglasApiBundle/issues/191/events","html_url":"https://github.com/dunglas/DunglasApiBundle/pull/191","id":97394758,"number":191,"title":"ADR implementation, JSON-LD decoupling and content negociation support","user":{"login":"dunglas","id":57224,"avatar_url":"https://avatars.githubusercontent.com/u/57224?v=3","gravatar_id":"","url":"https://api.github.com/users/dunglas","html_url":"https://github.com/dunglas","followers_url":"https://api.github.com/users/dunglas/followers","following_url":"https://api.github.com/users/dunglas/following{/other_user}","gists_url":"https://api.github.com/users/dunglas/gists{/gist_id}","starred_url":"https://api.github.com/users/dunglas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dunglas/subscriptions","organizations_url":"https://api.github.com/users/dunglas/orgs","repos_url":"https://api.github.com/users/dunglas/repos","events_url":"https://api.github.com/users/dunglas/events{/privacy}","received_events_url":"https://api.github.com/users/dunglas/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dunglas/DunglasApiBundle/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":20,"created_at":"2015-07-27T06:13:47Z","updated_at":"2015-07-28T08:24:17Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/dunglas/DunglasApiBundle/pulls/191","html_url":"https://github.com/dunglas/DunglasApiBundle/pull/191","diff_url":"https://github.com/dunglas/DunglasApiBundle/pull/191.diff","patch_url":"https://github.com/dunglas/DunglasApiBundle/pull/191.patch"},"body":"*  Now uses a variation of the [ADR pattern](https://github.com/pmjones/adr) done with Symfony (I'll make a blog post about that soon)\r\n* There is no more coupling to JSON-LD and Hydra: the bundle can now output any format including but not limited to raw JSON, XML or HAL (I'll add an exemple of a custom XML serializer in the tests).\r\n* To complete the previous feature, I've added content negotiation capabilities using @willdurand's [Negotiation library](https://github.com/willdurand/Negotiation). (I'll add an exemple in tests too). It means that you can request various representations of the same resource using the `Accept` header (of course the requested format must be supported by one of the registered normalizer). \r\n\r\n@pmjones do you think you can find some time to review this ADR implementation and tell me if it is in scope with the pattern you designed?"},"comment":{"url":"https://api.github.com/repos/dunglas/DunglasApiBundle/issues/comments/125498452","html_url":"https://github.com/dunglas/DunglasApiBundle/pull/191#issuecomment-125498452","issue_url":"https://api.github.com/repos/dunglas/DunglasApiBundle/issues/191","id":125498452,"user":{"login":"dupuchba","id":911705,"avatar_url":"https://avatars.githubusercontent.com/u/911705?v=3","gravatar_id":"","url":"https://api.github.com/users/dupuchba","html_url":"https://github.com/dupuchba","followers_url":"https://api.github.com/users/dupuchba/followers","following_url":"https://api.github.com/users/dupuchba/following{/other_user}","gists_url":"https://api.github.com/users/dupuchba/gists{/gist_id}","starred_url":"https://api.github.com/users/dupuchba/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dupuchba/subscriptions","organizations_url":"https://api.github.com/users/dupuchba/orgs","repos_url":"https://api.github.com/users/dupuchba/repos","events_url":"https://api.github.com/users/dupuchba/events{/privacy}","received_events_url":"https://api.github.com/users/dupuchba/received_events","type":"User","site_admin":false},"created_at":"2015-07-28T08:24:17Z","updated_at":"2015-07-28T08:24:17Z","body":"@ogizanagi for point 1, a new comer can still `php app/console debug:event-dispatcher` which has been specifically dedicated for that.\r\nConcerning the \"magic\" part of this, it's indeed a drawback of using listeners this way. We could always write a doc about \"how things work\" internally :-)."}}