Nugetgallery: RSS/Atom Feed for Packages

Created on 17 Apr 2016  路  16Comments  路  Source: NuGet/NuGetGallery

This idea is pretty old, but I would like to see such a feature on NuGet.org: A simple feed for packages updates. The other issue about the badge API did remind me about this obvious feature.

Two years ago I tried it with this old PR https://github.com/NuGet/NuGetGallery/pull/2128 - at this time the NuGet API v3 was in the making and NuGet.org was fighting against OData/SQL issues, so the PR got rejected.

My idea would be that the feed should contain only the same information as the version history shows:
image

I'm not sure how this would impact the server - even with a very long output cache duration (e.g. output cache duration for a whole day).

The use case for such a feed would be to do such things like use ifttt to send an email when an package got updated.

What do you think? This "feed" should be a human readable and accessible feed, whichout knowing to much about the NuGetV3 api.

Gallery UI Experience Feature Up for Grabs Verified-Dev Verified-Int Verified-Prod

Most helpful comment

Having an RSS feed would be great! I'm currently using http://nugetfeed.org/ but it seems it does not include pre-release packages.

I'm using it in combination with IFTTT but my notifications are incomplete.

All 16 comments

Is RSS an implementation detail or a feature?

Reason I'm asking is we're planning on creating a "replication API" which will give you a nice library to fetch things like "latest since" from our catalog store. Of course, that's not an RSS feed as such, but if the goal is fetching latest items then it'll do fine.

The goal would be to provide a really simple RSS feed, which points to the details page of each version - without using a API.
Currently I could use the NuGet API to build a NuGet2RSS web app myself - I thought it would be nice to have such functionality builtin.

RubyGems has something like this implemented:
image

https://rubygems.org/gems/mysql & the feed: https://rubygems.org/gems/mysql/versions.atom

If it's per package, the RSS feed could easily be based off the registrations. E.g. https://api.nuget.org/v3/registration0/newtonsoft.json/index.json or even the flat container for DNX (https://api.nuget.org/v3/flatcontainer/newtonsoft.json/index.json).

Let's check first if we'd take it. @yishaigalatzer @harikm86 is an RSS feed per package something we'd like to have short term?

The registration json seems good - it contains version and publishing date, which should fit in the feed model.

Does the Gallery currently query the API itself? Didn't found any reference (that's why I asked this question in the Badge API issue https://github.com/NuGet/NuGetGallery/issues/2889).

No, it does not, the NuGet client does though (restores are served through these registration blobs)

Mhh... if you would like to have this feature, would you prefer going via the API or just use the PackageService from the Gallery, e.g. (from the old PR) https://github.com/robertmuehsig/NuGetGallery/blob/85eabbd23ec47fe0603566a31c8f75fe8b1a2789/src/NuGetGallery/Controllers/PackagesController.cs#L258 ?

Having an RSS feed would be great! I'm currently using http://nugetfeed.org/ but it seems it does not include pre-release packages.

I'm using it in combination with IFTTT but my notifications are incomplete.

Just a small proof that this would be handy: http://www.hurryupandwait.io/blog/track-nuget-downloads-using-odata-rss-and-ifttt-com (the workaround here is via the OData feed)

But Nuget Has no RSS Feed with items representing downloads

Currently Nuget provides no RSS feed or any notification option for subscribing to download stats beyond what is displayed on the project search results and individual project details pages. I don鈥檛 know if there are plans to implement this by the Nuget team in the near future, but I wanted something up and running soon that didn鈥檛 need to be polished.

;)

Just noticed something: If this feature would depend on the NuGet V3 API, what would be the "OnPremise" story? Can the V3 API be deployed on a custom NuGet Gallery?

Using the PackageService.FindPackageByIdAndVersion method for this kind of "api-service" would be hard to scale for NuGet.org and is not an option (at least for the real NuGet.org), right?

On-premise could use the database/repositories available, but that would be a clear no-go for NuGet.org (so it will have to be configurable).

Maybe something like this:
Introduce a new config entry like "Gallery.ExposePackageAsSyndicationFeedMode"

With following possible values:

  • Off (so no RSS/Atom Feed is available - like today)
  • UseLocalDatabase => for On-Prem
  • UseV3Api => for NuGet.org

If value="UseV3Api" the "ServiceDiscoveryUri" must also be set.

馃憤 for this

This would be immensely helpful

Thanks to a wonderful contribution from @robertmuehsig, we've merged a change into our dev branch. This will make it's way to production (www.nuget.org) within the next couple weeks.

Re-opening to track it's progress to PROD.

This is live in PROD. If you run into any problems or have suggestions on the shape of the Atom feed, please feed free to open a new issue!
https://github.com/NuGet/NuGetGallery/issues/new

Was this page helpful?
0 / 5 - 0 ratings