{"action":"created","issue":{"url":"https://api.github.com/repos/zendframework/modules.zendframework.com/issues/352","labels_url":"https://api.github.com/repos/zendframework/modules.zendframework.com/issues/352/labels{/name}","comments_url":"https://api.github.com/repos/zendframework/modules.zendframework.com/issues/352/comments","events_url":"https://api.github.com/repos/zendframework/modules.zendframework.com/issues/352/events","html_url":"https://github.com/zendframework/modules.zendframework.com/pull/352","id":55850570,"number":352,"title":"[WIP] [RFC] Implement Packagist-style module add process","user":{"login":"adamlundrigan","id":527329,"avatar_url":"https://avatars.githubusercontent.com/u/527329?v=3","gravatar_id":"","url":"https://api.github.com/users/adamlundrigan","html_url":"https://github.com/adamlundrigan","followers_url":"https://api.github.com/users/adamlundrigan/followers","following_url":"https://api.github.com/users/adamlundrigan/following{/other_user}","gists_url":"https://api.github.com/users/adamlundrigan/gists{/gist_id}","starred_url":"https://api.github.com/users/adamlundrigan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adamlundrigan/subscriptions","organizations_url":"https://api.github.com/users/adamlundrigan/orgs","repos_url":"https://api.github.com/users/adamlundrigan/repos","events_url":"https://api.github.com/users/adamlundrigan/events{/privacy}","received_events_url":"https://api.github.com/users/adamlundrigan/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/zendframework/modules.zendframework.com/labels/Feature","name":"Feature","color":"009800"},{"url":"https://api.github.com/repos/zendframework/modules.zendframework.com/labels/in%20progress","name":"in progress","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":11,"created_at":"2015-01-29T03:09:11Z","updated_at":"2015-10-18T19:06:11Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/zendframework/modules.zendframework.com/pulls/352","html_url":"https://github.com/zendframework/modules.zendframework.com/pull/352","diff_url":"https://github.com/zendframework/modules.zendframework.com/pull/352.diff","patch_url":"https://github.com/zendframework/modules.zendframework.com/pull/352.patch"},"body":"## Overview\r\n\r\nDrop the current module add process (n+1 GitHub API requests to fetch all the repositories for your account and determine which are ZF2 modules) in favour of something closer to what Packagist does:\r\n\r\n 1. Enter the URL to your repository\r\n 2. In an AJAX request, pull the repository and determine if it's a ZF2 module\r\n   - If it is a module, import it and return the new module's details + link to it's view page\r\n   - If it isn't a module (or if something fails), return a suitable error message\r\n 3. If a module was successfully created, add a row for it below the add form so the user can see it has been added and either open it's view page in a new window or continue adding more modules. \r\n\r\nThere are two main upsides to this approach\r\n - Uses far fewer GitHub API requests, which is important as the Search API used to determine if a repository contains a ZF2 module is limited to 30 requests per minute.  \r\n - Makes supporting multiple sources (eg: bitbucket) easier.\r\n\r\n## TODO list\r\n\r\n_TODO: needs more TODOs_\r\n\r\n - [ ] Implement UI for triggering module add\r\n - [ ] Implement background handling of add requests\r\n  - [ ] Packagist package names\r\n  - [ ] GitHub repository slug\r\n"},"comment":{"url":"https://api.github.com/repos/zendframework/modules.zendframework.com/issues/comments/149039465","html_url":"https://github.com/zendframework/modules.zendframework.com/pull/352#issuecomment-149039465","issue_url":"https://api.github.com/repos/zendframework/modules.zendframework.com/issues/352","id":149039465,"user":{"login":"gianarb","id":1630267,"avatar_url":"https://avatars.githubusercontent.com/u/1630267?v=3","gravatar_id":"","url":"https://api.github.com/users/gianarb","html_url":"https://github.com/gianarb","followers_url":"https://api.github.com/users/gianarb/followers","following_url":"https://api.github.com/users/gianarb/following{/other_user}","gists_url":"https://api.github.com/users/gianarb/gists{/gist_id}","starred_url":"https://api.github.com/users/gianarb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gianarb/subscriptions","organizations_url":"https://api.github.com/users/gianarb/orgs","repos_url":"https://api.github.com/users/gianarb/repos","events_url":"https://api.github.com/users/gianarb/events{/privacy}","received_events_url":"https://api.github.com/users/gianarb/received_events","type":"User","site_admin":false},"created_at":"2015-10-18T19:06:11Z","updated_at":"2015-10-18T19:06:11Z","body":"News? :)"}}