ACRA/acra-storage — pull request #12 by cernekee (2014-08-15 03:09:07+00:00)
Title: Add Atom 1.0 feed

The current rss.js code always embeds non-SSL (http:) links in the feed data. This is not a good thing because in typical acralyzer installations, access to the bug reports requires transmitting the CouchDB administrator login/password over the wire. Also, crash reports may contain sensitive user data.

I experimented with adding SSL autodetection to rss.js, but encountered the following limitations:

* The Netscape RSS 0.91 spec [discourages](http://scripting.com/netscapeDocs/RSS%200_91%20Spec,%20revision%203.html#link) (if not disallows) protocols other than http: and ftp:.
* RSS does not support relative URLs at all.
* CouchDB does not seem to give us an indication of whether SSL was used to access the current document, so we would have to "guess" (or maybe put it in a configuration file somewhere).

All three problems can be addressed by using Atom instead, and specifying relative URLs in the feed. So I am submitting atom.js, accessed via `https://HOST/acra-PROJECT/_design/acra-storage/_list/atom/recent-items?descending=true`. i.e. just replace "rss" with "atom" in the URL.

The output from this code passes the w3c.org feed validator. There is one non-fatal warning regarding the use of relative URLs in the "self" link, which is allowed but discouraged.

atom.js incorporates @halkeye's pending fixes from bug #10.

[See here](http://mail-archives.apache.org/mod_mbox/couchdb-user/201408.mbox/%3CCAJiQ%3D7D857CSDD9OhN_%3DU0hYT8pogaEM%2BDj3xriqQdpv0CcNnQ%40mail.gmail.com%3E) for background discussion on the CouchDB list; there are additional posts in the thread.