-
Notifications
You must be signed in to change notification settings - Fork 157
[WIP] [RFC] Implement Packagist-style module add process #352
base: master
Are you sure you want to change the base?
[WIP] [RFC] Implement Packagist-style module add process #352
Conversation
Uhhh.... userland validation? :-\
That's not really terrible from an API PoV: how many submissions/minute do we even hope to get? |
Not userland validation, bad wording on my part. Right now the site makes one call to the Search API for each repository in your GitHub account, so if you have more than 30 repositories you bump against the limit. What I propose is nearly identical to the method the site currently uses except it's executed on just one repository (the one you specify the URL for) and not for every repository on your account at once. That also cures the 30-request-per-minute issue as the likelihood of being able to submit 30 modules to the site in under a minute is pretty slim IMO, so it becomes a non-issue. Even if you do manage that extraordinary feat we can display a message saying "You've reached the rate limit, please wait X seconds and try again" |
Not sure, but would this be related to #84? |
Yes, that is pretty much what I had planned for the client side behaviour. |
Cool! 👍 |
It's been a challenge locking down time to work on it, but I still hope to have a prototype out for feedback tomorrow. |
- Provide separate controller action for rendering list (renderModuleListAction) - Inject module list (via child model) rather than relying on view helper to load it - Update module-view helper view script to correct route add/delete references
39b3092
to
8b6e4a6
Compare
Quick summary of the major work to date:
|
Please let me know if I can help you guys - I don't want to make it extra-hard for you with me working on a bunch of things, leaving your PRs unmergable and whatnot. |
@localheinz no worries, there's not much in here yet. I've been yanked away to deal with some time-sensitive client work so I haven't had time recently to work on it. It'll probably be late next month before I can get back to it, so if anyone else wants to pick it up in the meantime feel free...I can add them as a collaborator on my repo or they can start a new PR. |
it need rebase |
News? :) |
Overview
Drop 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:
There are two main upsides to this approach
TODO list
TODO: needs more TODOs