praeclarum / FuGetGallery

An alternative web UI for browsing nuget packages
https://www.fuget.org
MIT License
685 stars 121 forks source link

Retrieve all pages of package versions #32

Closed ryanwersal closed 6 years ago

ryanwersal commented 6 years ago

This change downloads all package versions across returned pages. It also adds a CSS class to add to potentially long dropdowns to keep them a reasonable size. I'm not sure what height constant you'd prefer here but 250px felt good to me.

Should fix #26.

Thanks for the site! I've definitely enjoyed the API diffing feature and the ease with regards to finding license information. 👍

loic-sharma commented 6 years ago

This may be expensive for packages with lots of versions. How well does this work for https://www.nuget.org/packages/FAKE ?

ryanwersal commented 6 years ago

I definitely share that concern. I wasn't sure what the most desirable behavior would be considering nuget.org itself appears to deliver all versions as part of the page. Thanks for the example - I'll give that a profile run and see what it looks like.

ryanwersal commented 6 years ago

Answer: not well. There are 27 pages containing 1711 versions for FAKE. It also appears nuget.org's site also chugs quite a bit processing that project detail page.

I'm not sure what a reasonable middle ground is since it seems unavoidable to have to consume the pages if we truly want all versions. Perhaps the answer is to only aggressively load a couple pages and load the rest in the background and store the older versions (unlikely to change?) in a more persistent cache?

praeclarum commented 6 years ago

Yeah this is a good feature, but we do have to solve the large version number problem.

ryanwersal commented 6 years ago

I'll close this for now to not clutter the PRs and reopen when I arrive at a more complete solution. Thanks!