[MGNLRSSAGG-204] Remove ROME Feed Fetcher dependency Created: 24/May/16  Updated: 08/Mar/21

Status: Open
Project: Magnolia RSS Aggregator Module
Component/s: rss_importer
Affects Version/s: 2.6.3
Fix Version/s: None

Type: Improvement Priority: Neutral
Reporter: Richard Gange Assignee: Aleksandr Pchelintcev
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
relation
is related to MGNLRSSAGG-196 Raise dependency for rometools from 1... Closed
is related to MGNLRSSAGG-203 add https support Closed
Template:
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)

 Description   

ROME Feed Fetcher deprcated

According to https://github.com/rometools/rome/issues/276 the Fetcher is being removed from future releases of rometools. The usefulness of the library has ended:

we decided to mark all ROME Fetcher classes as deprecated in version 1.6 and to drop it completely in version 2.0. ROME Fetcher was useful some years ago when internet connections were slow and expensive, because it supports ETags, GZip compression, RFC3229 delta encoding and caching.

Nowadays there are libraries like the well known Apache HttpClient. It supports ETags and GZip compression out-of-the-box, delta encoding seems to be used very rarely and there are also much better caching solutions (like EhCache) compared to our simple file and in-memory based implementations.

We should remove the dependency on ROME and use HttpClient and HttpsClient.



 Comments   
Comment by Richard Gange [ 26/May/16 ]

This actually doesn't look like such a big change. Removing the dependency effects 4 classes in info.magnolia.module.rssaggregator.importhandler. Three of which can be fixed very quickly since they really depend on the rewrite of MgnlHttpURLFeedFetcher.

ROME FF brings built-in caching support. We should not need that anyway since the regular cache could handle that job. Instead we just need to get the feed using another method. Perhaps the one outlined here https://github.com/rometools/rome/issues/276. We should also allow for https connections. So really we're talking about changing the behavior of one class, MgnlHttpURLFeedFetcher. It's constructor will change in the process, effecting 3 other classes in the package.

Generated at Mon Feb 12 07:06:35 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.