{"action":"created","issue":{"url":"https://api.github.com/repos/elixir-lang/elixir/issues/3869","labels_url":"https://api.github.com/repos/elixir-lang/elixir/issues/3869/labels{/name}","comments_url":"https://api.github.com/repos/elixir-lang/elixir/issues/3869/comments","events_url":"https://api.github.com/repos/elixir-lang/elixir/issues/3869/events","html_url":"https://github.com/elixir-lang/elixir/issues/3869","id":111523372,"number":3869,"title":"Proposal: \"OTP Page\" in Extras Docs","user":{"login":"Havvy","id":731722,"avatar_url":"https://avatars.githubusercontent.com/u/731722?v=3","gravatar_id":"","url":"https://api.github.com/users/Havvy","html_url":"https://github.com/Havvy","followers_url":"https://api.github.com/users/Havvy/followers","following_url":"https://api.github.com/users/Havvy/following{/other_user}","gists_url":"https://api.github.com/users/Havvy/gists{/gist_id}","starred_url":"https://api.github.com/users/Havvy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Havvy/subscriptions","organizations_url":"https://api.github.com/users/Havvy/orgs","repos_url":"https://api.github.com/users/Havvy/repos","events_url":"https://api.github.com/users/Havvy/events{/privacy}","received_events_url":"https://api.github.com/users/Havvy/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-10-15T00:56:08Z","updated_at":"2015-10-15T11:41:45Z","closed_at":null,"body":"I am proposing adding a page to the \"Pages\" section of the Elixir API docs a page detailing how OTP works in a reference manner. As part of the API docs it would point to the documentation of individual components (GenServer, Supervisor, etc.) as needed. As this is reference material, the documentation will be given in reference format, not in tutorial format like in the Getting Started Guide.\r\n\r\nIts purpose would be to explain common conventions (e.g. `start` and `start_link`), list the common OTP things (`GenServer`, `Supervisor`, etc.) explaining their role in how OTP works, the rationale behind the OTP framework, how to name components, and how`:via` works (directly pulled out of `GenServer` so that `GenServer` can be only about `GenServer`). Also possibly commonalities like termination and code changing.\r\n\r\nThe use case I want to solve is for users who have questions about OTP to have a common starting point.\r\n\r\nNote that I would be writing the initial doc, and would also try to keep it updated."},"comment":{"url":"https://api.github.com/repos/elixir-lang/elixir/issues/comments/148362576","html_url":"https://github.com/elixir-lang/elixir/issues/3869#issuecomment-148362576","issue_url":"https://api.github.com/repos/elixir-lang/elixir/issues/3869","id":148362576,"user":{"login":"josevalim","id":9582,"avatar_url":"https://avatars.githubusercontent.com/u/9582?v=3","gravatar_id":"","url":"https://api.github.com/users/josevalim","html_url":"https://github.com/josevalim","followers_url":"https://api.github.com/users/josevalim/followers","following_url":"https://api.github.com/users/josevalim/following{/other_user}","gists_url":"https://api.github.com/users/josevalim/gists{/gist_id}","starred_url":"https://api.github.com/users/josevalim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/josevalim/subscriptions","organizations_url":"https://api.github.com/users/josevalim/orgs","repos_url":"https://api.github.com/users/josevalim/repos","events_url":"https://api.github.com/users/josevalim/events{/privacy}","received_events_url":"https://api.github.com/users/josevalim/received_events","type":"User","site_admin":false},"created_at":"2015-10-15T11:41:45Z","updated_at":"2015-10-15T11:41:45Z","body":"I think this can work. Today GenServer kind of became the place where we put all this information and all others just link to GenServer docs. If the goal of the OTP page is to list the main principles and reference the main behaviours, it could be quite interesting. @elixir-lang/elixir, what is your take on this?"}}