Calling out to the DLN Community for assistance!
We’d like to create an all-in-one RSS feed for ALL DLN shows.
Issue: our feeds are on different domains so it would need to parse all feeds and make a new combined feed.
Anyone able & willing to help?
Note: this is so people can subscribe to one feed if they want and still get the downloads but for every show in one go.
Also this will be used for other things as well. If we can get this made, I have a bunch of ways this could be awesome to have.
I have my own attempt to create this merged feed and it kind of works but it isn’t an ideal state right now to use. Here is the repo I just created on GitHub for this, if you can help I’d very much appreciate it.
Can I ask the obvious questions. How are the RSS feeds created to begin with?
Couldn’t you create the large feed and have the other feeds be a subset?
More from the GitHub page:
I am open to any suggestions including potential replacements but I would prefer PHP because I at least partially understand it. If it would be better to replace RSSMix with SimplePie for example then I am open to that as well. This might be a better approach anyway but I’m not sure.
I can help but I know my schedule won’t let me jump in immediately. Roughly 6 weeks out. My feelings won’t be hurt if someone else jumps in front of me.
I have extensive backend php coding experience and have worked on projects involving RSS generation. Mostly my recent work in RSS involves retrieval and parsing. I’ll have to spend a little time getting refreshed on RSS generation.
I thought it sounded odd that there wasn’t a ready-made PHP script for this, so I did a little search.
I found these:
The second is by far the most advanced, but the first seems to do what you are looking for. It lacked a few functions, like proper handling of namespaces and the ability to add a custom XML base stub to build upon, so I wrapped the functions in a class and added the missing features.
You can find it here:
The file rssmerge.php shows an example of usage.
Either run the file from the command line (possibly in a cron job)
php rssmerge.php > combinedfeeds.rss
Or put the PHP file directly on a web server, but in that case, add a caching reverse proxy in front of it, since it takes a while to execute and you don’t want it to do that on every request.
I put in a check, to see if it is running on a web server. It will then automatically add the correct headers and the cache time is set to 10 minutes, but you can change that.
WARNING: This is barely tested and may burn down your house or kill your pets.
- I have executed the scripts command line and verified that it generates a valid RSS file.
- I have executed it behind a web server and verified that it generates a correct RSS feed with correct http headers.
Nothing else is tested! Use at your own risk