[MGNLRSSAGG-10] Enable easy syndication of any Magnolia content Created: 02/Feb/09 Updated: 09/Feb/15 Resolved: 02/Mar/09 |
|
| Status: | Closed |
| Project: | Magnolia RSS Aggregator Module |
| Component/s: | None |
| Affects Version/s: | 1.0 |
| Fix Version/s: | 1.0 |
| Type: | Improvement | Priority: | Major |
| Reporter: | Rob van der Linden Vooren | Assignee: | Jan Haderka |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
||||||||
| Issue Links: |
|
||||||||
| Template: |
|
||||||||
| Patch included: |
Yes
|
||||||||
| Acceptance criteria: |
Empty
|
||||||||
| Task DoD: |
[ ]*
Doc/release notes changes? Comment present?
[ ]*
Downstream builds green?
[ ]*
Solution information and context easily available?
[ ]*
Tests
[ ]*
FixVersion filled and not yet released
[ ] 
Architecture Decision Record (ADR)
|
||||||||
| Testcase included: |
Yes
|
||||||||
| Date of First Response: | |||||||||
| Description |
|
We encountered a use case of needing to syndicate other content than just the aggregate feeds defined in the RSS Module. Please have a look at the patch and let me know what you think. |
| Comments |
| Comment by Philipp Bracher [ 03/Feb/09 ] |
|
Without looking at the details, but sounds as this might go into the data module. |
| Comment by Rob van der Linden Vooren [ 03/Feb/09 ] |
|
Ok Philipp, thanks for your feedback, just see where you guys can use it. |
| Comment by Jan Haderka [ 03/Feb/09 ] |
Thanks. Was about to ask you if you can provide this update It would be great if you can maybe provide sample of configuration for your other use case? You use it to generate feed from small articles like news on your site or something similar? Or do you use it to generate feeds from other data types in data module? Regarding your comment in the JSP - yes, absolutely. JSP should go away completely and be replaced by either filter or servlet registered in /server/filters respectively /server/filters/servlets. JSP was just a poor-man's-hack to see if the POC will work out or not. As for the resolving different feed generators I think it would be more flexible to have them configured via admin interface, for example under /modules/rssaggregator/config/feedGenerators rather then having to add generator mapping on the fly in jsp page. BTW, contrary to Philipp, I think it should stay with RSSAggregator module. |
| Comment by Rob van der Linden Vooren [ 04/Feb/09 ] |
|
I have updated the patch (...v2) with some changes (remove unused by hand, I'm in doubt whether the patch deletes?)
|
| Comment by Rob van der Linden Vooren [ 04/Feb/09 ] |
|
Hi, thanks for providing the RSS Aggregate Module in the first place As for required steps to syndicate <any-content-here> as RSS, the current steps required are: 1) Implement a SyndFeedGenerator by extending the SyndFeedGenerator base class, that maps it to a list of feed entries. A typical usecase obviously, would be to query and map content nodes to feed entries. To achieve this in a simple fashion, have a look at the MagnoliaTemplate and ContentMapper. 2) Implement a SyndFeedGeneratorFactory for your Generator that will create a configured Generator instance based on given request parameters. (See remark R1) 3) Map a logical name for a generator to a SyndFeedGeneratorFactory that is capable of constructing that generator. 4) Make a request (in this case on the JSP) with the appropriate parameters on which the Generator to use can be resolved to see the feed syndication work R1: Typically I think creating a new instance of your generator won't require any parameters. In the case of the RSSModuleFeedGenerator however, the path to the blog aggregate definition in the JCR was required. This was the reason for introduce factories for Generator construction. R2: Ideally (as you mentioned) the mappings in the SyndFeedGeneratorResolver are done by means of configuration in the admin interface. I hope this confirms/clarifies the perspective on the patch where needed. If not, let me know. |
| Comment by Philipp Bracher [ 05/Feb/09 ] |
|
@Jan: it is up to you to decide what makes sense, I might have easily misunderstood something. |
| Comment by Rob van der Linden Vooren [ 07/Feb/09 ] |
|
Added updated patch. This patch is what v2 of the patch was, with an additional fix for a bug (introduced when the fix for The RSSImportHandler would try to create an instance of the RSSFeedFetcher interface when no feedFetcherClass was configured. Also added proper license headers. |
| Comment by Rob van der Linden Vooren [ 22/Feb/09 ] |
|
Added updated patch (
Jan, I've tested this patch against magnolia-4.0-rc3. |
| Comment by Jan Haderka [ 25/Feb/09 ] |
|
Looks great. I'll review it in details and test it and let you know if I find anything. |
| Comment by Jan Haderka [ 02/Mar/09 ] |
|
Applied. Thanks for the patch. I've made few changes here and there, mainly related to the configuration to simplify it and provide reasonable defaults. The Default feedGenerator is now configured in the module descriptor (same as for the default FeedFetcher). I've also updated dialogs and added functionality to read the title and description from the aggregate defined in the data://rssaggregator. The site url is taken from the server configuration and pointing to the site itself. |
| Comment by Rob van der Linden Vooren [ 02/Mar/09 ] |
|
Hi Jan, Thanks for applying the patch. I'll look through your commit to learn from your configuration simplifications. Furthermore no trouble for it taking a little longer. No-one can do everything at one now can we? Cheers, Rob |
| Comment by Boris Kraft [ 30/Mar/09 ] |
|
Some of this info here should definitely go into the documentation for the RSS module... |