Websites/Mozilla.org/Archive/Design Implementation/RSS: Difference between revisions
m (moved Mozilla.org/Design Implementation/RSS to Websites/Mozilla.org/Archive/Design Implementation/RSS: moving old pages to archive area) |
|||
(8 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
'''Note: This page refers to the relaunch of the site completed in August 2009 and is available for reference.''' | |||
== What we want to do == | == What we want to do == | ||
[https://bugzilla.mozilla.org/show_bug.cgi?id=493099 Bug 493099: Hook up news feeds on new www.mozilla.org home page]. | |||
We want a feed parser that | We want a feed parser that | ||
Line 17: | Line 21: | ||
== Implementation == | == Implementation == | ||
There are several different options (subject to evaluation) | Overall ideas: | ||
* Use a cron-job to generate static html with the news items | |||
* Pull in the items from a db-based cache, refresh the cache occasionally | |||
There are several different options (subject to evaluation). | |||
=== Write a parser from scratch === | === Write a parser from scratch === | ||
Line 41: | Line 49: | ||
* XML_RSS | * XML_RSS | ||
** PHP license | ** PHP license | ||
** No active development (last | ** No active development (last release 06) | ||
=== SimplePie === | === SimplePie === | ||
* BSD license | * BSD license | ||
* CURL extension required (need to check with reed, if it is enabled) | |||
* Caching out of the box (flat file only right now, but could be overloaded with own DB-class) | * Caching out of the box (flat file only right now, but could be overloaded with own DB-class) | ||
* Meshing of multiple feeds out of the box | * Meshing of multiple feeds out of the box | ||
* Problems with some feeds, but workarounds exist | * Problems with some feeds, but workarounds exist | ||
* Nice API | * Nice API | ||
* Goodies such as feed auto-discovery (feels a lot like Firefox ;) | |||
* Performance seems to be good with caching, but no idea, if it scales up nicely. | |||
=== Magpie RSS === | |||
* GPL license | |||
* No active development (last release 05) | |||
=== PHP Universal Feed Parser === | |||
* GPL license | |||
* seems to be a one-man effort | |||
* uses OOP methodology | |||
=== Other === | === Other === |
Latest revision as of 17:12, 6 September 2012
Note: This page refers to the relaunch of the site completed in August 2009 and is available for reference.
What we want to do
Bug 493099: Hook up news feeds on new www.mozilla.org home page.
We want a feed parser that
- pulls latest feed info from feeds.mozilla.com for front page
- pulls latest feed info from news.rdf (for now) for front page
- optionally: creates mash ups of multiple feeds on sub-pages (e.g. Our causes > Education)
How to do it
Mozilla.org has a lot of visitors, so we probably want to cache feed items for some time to a) be nice to the feed provider and b) get better performance.
We probably want a database-based cache over a file-based cache, because it gives faster results.
TTL of the cached items can be relatively high (higher on the sub-pages than on the front page), because we offer the feeds to open up an additional window into the community and not to be a direct, always-up-to-date information resource.
Implementation
Overall ideas:
- Use a cron-job to generate static html with the news items
- Pull in the items from a db-based cache, refresh the cache occasionally
There are several different options (subject to evaluation).
Write a parser from scratch
- + maybe better performance
- + would hopefully be exactly what we want
- - more development time
- - not as well tested as other solutions
Zend Framework
- New BSD license
- very modular and flexible
- PHP5 only (read: makes use of new OOP features, which is good)
- well maintained, active development
- DB abstraction layer, cache handling
- some known issues, API a bit counter-intuitive in places
- probably not as heavily tested as other solutions (because relatively new)
- generally long turnaround time (bug filed to fix released)
PEAR
- XML_Feed_Parser
- LGPL license
- No maintainer
- XML_RSS
- PHP license
- No active development (last release 06)
SimplePie
- BSD license
- CURL extension required (need to check with reed, if it is enabled)
- Caching out of the box (flat file only right now, but could be overloaded with own DB-class)
- Meshing of multiple feeds out of the box
- Problems with some feeds, but workarounds exist
- Nice API
- Goodies such as feed auto-discovery (feels a lot like Firefox ;)
- Performance seems to be good with caching, but no idea, if it scales up nicely.
Magpie RSS
- GPL license
- No active development (last release 05)
PHP Universal Feed Parser
- GPL license
- seems to be a one-man effort
- uses OOP methodology