Websites/Mozilla.org/Archive/Design Implementation/RSS: Difference between revisions
(some initial thoughts) |
m (moved Mozilla.org/Design Implementation/RSS to Websites/Mozilla.org/Archive/Design Implementation/RSS: moving old pages to archive area) |
||
(15 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 9: | Line 13: | ||
== How to do it == | == 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 == | == 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 === | |||
* + 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 | |||
=== 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