#23854: Add an RSS feed for https://metrics.torproject.org/news.html -----------------------------+-------------------------- Reporter: cypherpunks | Owner: irl Type: enhancement | Status: accepted Priority: Medium | Milestone: Component: Metrics/Website | Version: Severity: Normal | Resolution: Keywords: | Actual Points: Parent ID: | Points: Reviewer: | Sponsor: -----------------------------+--------------------------
Comment (by karsten): Replying to [comment:4 irl]: > Done a little hacking on this, I think my plan looks like: > > * Add a formatAsFeedItem method to `org.torproject.metrics.web.News` > * Point the resource `/feed.xml` at `NewsServlet` > * Add a JSP named `feed.jsp`, which is used instead of `news.jsp` to render the feed version > * Implement only ATOM (RFC4287), not RSS, as ATOM has far better support for internationalisation that may be used later, where internationalising RSS may hold back that work Sounds good! > This would be the way to do it to match the way the news page is currently built. I do wonder though if perhaps we should instead refactor the way the news page works: > > * Remove the formatAsTableRow method from `org.torproject.metrics.web.News` > * Make getters for `org.torproject.metrics.news.News` public > * Re-implement formatAsTableRow using JSTL in `news.jsp` > * Point the resource `/feed.xml` at `NewsServlet` > * Add a `feed.jsp` using JSTL Hmm, I'm not sure how complex that JSTL variant of `formatAsTableRow` would become. Also keep in mind that we're using formatted news items in `NewsServlet` ''and'' `GraphServlet`. > We definitely do not need to add ROME, or a similar library, at least for now. As an example to get an idea, the RSS 0.91 hacky JSP (where I made getDescription public so that it could be available): > > {{{ > <%@ page contentType="text/xml" %><?xml version="1.0"?> > <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> > <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> > <rss version="0.91"> > <channel> > <title>Tor Metrics - News</title> > <link>https://metrics.torproject.org/</link> > <c:forEach var="entry" items="${news}"> > <item> > <title> > <c:out value="${entry.description}"/> > </title> > </item> > </c:forEach> > </channel> > }}} Great that we don't need to add a library. > karsten, iwakeh - Which approach do you think would be best? I'd say let's start with the first plan. Thanks for researching these alternatives! -- Ticket URL: <https://trac.torproject.org/projects/tor/ticket/23854#comment:6> Tor Bug Tracker & Wiki <https://trac.torproject.org/> The Tor Project: anonymity online
_______________________________________________ tor-bugs mailing list tor-bugs@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs