aspnet / live.asp.net

Code for live.asp.net, which hosts the ASP.NET Community Stand-up
https://live.asp.net/
MIT License
289 stars 114 forks source link

Add an RSS/Atom feed #99

Closed hashhar closed 4 years ago

hashhar commented 7 years ago

Add an RSS/Atom feed so that people can subscribe to the series as a podcast.

hashhar commented 7 years ago

I am looking into implementing this and may this ready by the next weekend (exams coming up).

I don't know the best practices regarding creating an XML feed, so I have currently planned to add a class that generates an XML file conforming to the RSS schema (and maybe an Atom schema additionaly) using something like XMLWriter.

hishamco commented 7 years ago

We already have iCal, webcal and Google Calendar, but the RSS & Atom feeds also a good idea

khellang commented 7 years ago

You could try using something like cloudscribe.Syndication?

hashhar commented 7 years ago

This is the error that I'm getting when trying to run dotnet restore, I don't know why?

dotnet --version is 1.0.0-preview3-004056

D:\GitHub\_Forks\live.asp.net\src\live.asp.net\live.asp.net.xproj(7,3): error MSB4019:
The imported project "C:\Program Files\dotnet\sdk\1.0.0-preview3-004056\
Extensions\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Props" was not found.
Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
davidfowl commented 7 years ago

You need to download:

    "version": "1.0.0-preview2-1-003177"

preview3 is msbuild based .NET Core and this project doesn't support that yet.

hashhar commented 7 years ago

@davidfowl Thanks. Got it working.

hashhar commented 7 years ago

I'm sorry for the delay. Finally had some time to look into it.

It seems I have two options, the simple one is to use the YouTubeShowsService class to get a ShowList and create an XML document from it. I may also add some functions to YouTubeShowsService to gather some metadata like description and will try to add a field for the show notes as well.

The other option is to use something like cloudscribe.Syndication. The advantage with cloudscribe is that it supports a lot features and may be easy and familiar for others who will work on this code but it also brings a lot of features that I don't think we'll be needing like categories and similar stuff.

For the time being I'm going with the first alternative.

hashhar commented 7 years ago

@hishamco I have it working locally but had a question? I am using the IShowsService.GetRecordedShowsAsync() method which calls into YouTubeShowsService.GetRecordedShowsAsync() method.

Also, I don't know if the GET endpoint will work or a new View has to be created? I couldn't check it on my end. By work, I mean if the url live.asp.net is pasted into Feedly, it is able to detect the feed.

The results from the API are paginated, how can I combine all the pages of output. It seems you receive a moreShowsUrl pointing to a URL that can be hit but how do I use it?

See my approach at #105

hishamco commented 7 years ago

@hashhar let me check your PR

IvanJosipovic commented 5 years ago

How is this still outstanding?