rome/ROMEDevelopmentProposals/ROMEFeatureRequests.html

219 lines
14 KiB
HTML
Raw Normal View History

2014-04-18 19:37:21 +02:00
<!DOCTYPE html>
<!--
2016-04-24 20:54:49 +02:00
| Generated by Apache Maven Doxia at 2016-04-24
2014-04-18 19:37:21 +02:00
| Rendered using Apache Maven Fluido Skin 1.3.0
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
2014-04-18 19:37:21 +02:00
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="author" content="mkurz" />
<meta name="Date-Creation-yyyymmdd" content="20110815" />
2016-04-24 20:54:49 +02:00
<meta name="Date-Revision-yyyymmdd" content="20160424" />
<meta http-equiv="Content-Language" content="en" />
2014-04-18 19:37:21 +02:00
<title>ROME - ROME Feature Requests</title>
<link rel="stylesheet" href="../css/apache-maven-fluido-1.3.0.min.css" />
<link rel="stylesheet" href="../css/site.css" />
<link rel="stylesheet" href="../css/print.css" media="print" />
<script type="text/javascript" src="../js/apache-maven-fluido-1.3.0.min.js"></script>
</head>
<body class="topBarDisabled">
2016-04-24 20:54:49 +02:00
2016-04-24 20:54:49 +02:00
<a href="http://github.com/rometools/rome">
<img style="position: absolute; top: 0; right: 0; border: 0; z-index: 10000;"
src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png"
alt="Fork me on GitHub">
</a>
2014-04-18 19:37:21 +02:00
<div class="container-fluid">
<div id="banner">
<div class="pull-left">
2016-04-24 20:54:49 +02:00
<a href="../index.html" id="bannerLeft">
2014-04-18 19:37:21 +02:00
<img src="../images/romelogo.png" alt="ROME"/>
</a>
2014-04-18 19:37:21 +02:00
</div>
<div class="pull-right"> </div>
<div class="clear"><hr/></div>
</div>
2014-04-18 19:37:21 +02:00
<div id="breadcrumbs">
<ul class="breadcrumb">
2014-04-18 19:37:21 +02:00
2016-04-24 20:54:49 +02:00
<li id="publishDate" class="pull-right">Last Published: 2016-04-24</li> <li class="divider pull-right">|</li>
<li id="projectVersion" class="pull-right">Version: 1.7.0-SNAPSHOT</li>
2014-04-18 19:37:21 +02:00
</ul>
</div>
2014-04-18 19:37:21 +02:00
<div class="row-fluid">
<div id="leftColumn" class="span3">
<div class="well sidebar-nav">
2014-04-18 19:37:21 +02:00
<ul class="nav nav-list">
<li class="nav-header">Rome</li>
<li>
<a href="../index.html" title="Overview">
<i class="none"></i>
Overview</a>
</li>
2014-04-18 19:37:21 +02:00
<li>
<a href="../HowRomeWorks/index.html" title="How Rome Works">
<i class="icon-chevron-right"></i>
How Rome Works</a>
</li>
2014-04-18 19:37:21 +02:00
<li>
<a href="../RssAndAtOMUtilitiEsROMEV0.5AndAboveTutorialsAndArticles/index.html" title="Tutorials And Articles">
<i class="none"></i>
Tutorials And Articles</a>
</li>
2014-04-18 19:37:21 +02:00
<li>
<a href="../ROMEReleases/index.html" title="Releases">
<i class="icon-chevron-right"></i>
Releases</a>
</li>
2014-04-18 19:37:21 +02:00
<li>
<a href="../ROMEDevelopmentProposals/index.html" title="ROME Development Proposals">
<i class="none"></i>
ROME Development Proposals</a>
</li>
2016-04-24 20:54:49 +02:00
<li>
<a href="../Modules/index.html" title="Modules">
<i class="icon-chevron-right"></i>
Modules</a>
</li>
<li>
<a href="../Fetcher/index.html" title="Fetcher">
<i class="icon-chevron-right"></i>
Fetcher</a>
</li>
<li>
<a href="../Opml/index.html" title="OPML">
<i class="none"></i>
OPML</a>
</li>
<li>
<a href="../Propono/index.html" title="Propono">
<i class="none"></i>
Propono</a>
</li>
<li>
<a href="../Certiorem/index.html" title="Certiorem">
<i class="icon-chevron-right"></i>
Certiorem</a>
</li>
2014-04-18 19:37:21 +02:00
<li class="nav-header">Project Documentation</li>
2016-04-24 20:54:49 +02:00
2014-04-18 19:37:21 +02:00
<li>
<a href="../project-info.html" title="Project Information">
<i class="icon-chevron-right"></i>
Project Information</a>
</li>
2014-04-18 19:37:21 +02:00
</ul>
<hr class="divider" />
<div id="poweredBy">
<div class="clear"></div>
<div class="clear"></div>
<div class="clear"></div>
<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
2014-04-18 19:37:21 +02:00
<img class="builtBy" alt="Built by Maven" src="../images/logos/maven-feather.png" />
</a>
2014-04-18 19:37:21 +02:00
</div>
</div>
</div>
<div id="bodyColumn" class="span9" >
<div class="section">
<h2>ROME Feature Requests<a name="ROME_Feature_Requests"></a></h2>
<ul>
2016-04-24 20:54:49 +02:00
<li><b>BUG:</b> com.rometools.rome.io.impl.DateParser:Date parseW3CDateTime(String) incorrectly uses a comma (&quot;,&quot;) rather than a decimal (&quot;.&quot;) to delimit the seconds from miliseconds. The correct format can be found on <a class="externalLink" href="http://www.w3.org/TR/NOTE-datetime">http://www.w3.org/TR/NOTE-datetime</a>. The bug is on line 170 (version 0.8). The fix is to replace the line with this: <tt>int secFraction = pre.indexOf(&quot;.&quot;);</tt> -- JLP 9/4/2006</li>
<li><b>BUG:</b> Atom 1.0 parsing uses wrong Content types. &quot;text&quot;, &quot;html&quot;, &quot;xhtml&quot; do not match what is parse from the content elements. Subsequently, the content elements always have a null value - no way to get content.</li>
<li><b>BUG:</b> Link in description is not parsed<br />Try to parse <a class="externalLink" href="http://jakarta.apache.org/site/rss.xml">http://jakarta.apache.org/site/rss.xml</a>, look at entry <a class="externalLink" href="http://jakarta.apache.org/site/news/news-2006-q1.html#20060107.1">http://jakarta.apache.org/site/news/news-2006-q1.html#20060107.1</a> This entry has an &quot;&lt;a href...&quot; in the first line, which isn't parsed by Rome -- Main.iterson - 25 Jan 2006</li>
<li><b>BUG:</b> Support all encodings<br />The problem is when reading RSS a space between the encoding to the value or ualue in '' insted of &quot;&quot; will cause error, for example: this will work work encoding=&quot;windows-1255&quot; but this: encoding = &quot;windows-1255&quot; or encoding='windows-1255' won't work.</li>
<li><b>BUG:</b> The reader doesn't attempt use the masks that defined in the rome.properties for reading the date for all date parsing method, e.g. RSS093Parser.parseItem uses DateParser.parserRFC822 which is not covered by that logic -- Main.den_st - 17 Jan 2006; if it will use the mask the code will run good. I had a problem to read date and I defined a mask in the properties file (datetime.extra.masks=yyyy-MM-dd'T'HH:mm:ss trying to read 2005-09-22T09:00:41} ). Then i try to change one of the mask at runtime to the mask i defined in the properties file and it works good. The logic in the code trys to format the date with each one of the default masks if it faild it returns null instead of trying to format the date using the format that defined in the rome.properties file.</li>
<li>Support for writing to OutputStreams. If I want to compress the feeds to a (.gz) file or write to a socket, I have to extend SyndFeedOutput and WireFeedOutput to add a method called output(SyndFeed, OuputStream). It would be nice to have that built in instead. -- Main.agherna - 08 Aug 2005</li>
<li>I'd like the getDate method on feeds and entries to go to the associated modules and retrieve the appropriate dc:date when the getDate() method returns null. This way entries from feeds like this one: <a class="externalLink" href="http://www.magpiebrain.com/index.xml">http://www.magpiebrain.com/index.xml</a> would have valid dates without requiring me to write code work out what format the feed is in and act accordingly.</li>
<li>Would like to see <a href="../../opml/index.html">OPML</a> parser also.<br /><tt>This is already supported by Rome</tt>. RSS2.0 parser, see <a href="../RssAndAtOMUtilitiEsROMEV0.5AndAboveTutorialsAndArticles/FeedsDateElementsMappingToSyndFeedAndSyndEntry.html">Date Elements mapping</a> by default does not process Modules. Refer to the Modules Plugins documentation to see how to enable this.</li>
<li><a class="externalLink" href="http://bobwyman.pubsub.com/main/2004/09/implementations.html">RFC3229</a> support (in <a href="../../fetcher/index.html">RomeFetcher</a> and example code implementing it for production) would be a killer feature.</li>
<li>The RSS 1.0 Spec <a class="externalLink" href="http://web.resource.org/rss/1.0/spec">http://web.resource.org/rss/1.0/spec</a> indicates that the <b>suggested</b> maximum length for a description field on an entry is 500 characters, but the 0.4 codebase enforces 500 characters as a hard limit -- exceeding it on input or output generates a FeedException. Since one doesn't always have control over the feeds one consumes, it seems to me that it would be a good idea if Rome were more forgiving in accepting feed entries that exceed the suggested lengths.</li>
<li>Is there a chance to include an option in Rome for liberal parsing, ie. trying to get most out of a feed even when it's non-conforming without throwing exceptions? I believe RSS is pretty close to HTML not from a technical point of view but thinking of practical use. Hence, RSS feeds will be incorrect in many cases however they still could join the party with a tolerant parser. Maybe Rome could do for Java what <a class="externalLink" href="http://diveintomark.org/projects/feed_parser/">Mark Pilgrim</a> has done for Python (although I did not verify his ultraliberal parser's tolerance)?</li>
<li>More liberal parsing for dates, to handle un-parseable dates like: &quot;12 sep 1998&quot;, &quot;'05&quot; or monsters like this one : &quot;[2005]&quot;. I faced this problem using DCModule, dc:date attribute can have mentioned values. In older versions of my app there were no constrains for date format, so users have written them very freely.</li>
<li>I think that Rome has problems parsing rss feeds where the xml contains a link to a stylesheet. Try parsing <a class="externalLink" href="http://ihatemyflatmate.blogspot.com/atom.xml">http://ihatemyflatmate.blogspot.com/atom.xml</a> (Atom) or <a class="externalLink" href="http://msdn.microsoft.com/rss.xml">http://msdn.microsoft.com/rss.xml</a> (RSS 1.0). I get Exceptions with both, and they both have stylesheets, whereas other working feeds don't.</li>
<li>It would be very nice to have a possibility to add stylesheet to generated feed. I can do this by replacing header in generated String, but this method is ...</li>
<li>There are problems with the correct encoding of HTML when generating RSS2.0. It is in the area of extended character sets. If you encode the following:
<div class="source">
<pre>
&lt;FONT size=&quot;2&quot;&gt;Quatre pi&amp;amp;#232;ces&lt;/FONT&gt;
</pre></div>
<p>In the hope of gettin &quot;Quatre pi&#xe8;ces&quot; in your html feed. You get from the SynFeedOutput.output() this: </p>
<div class="source">
<pre>
&amp;amp;lt;FONT size=&quot;2&quot;&amp;amp;gt;Quatre pi&amp;amp;amp;#232;ces&amp;amp;lt;/FONT&amp;amp;gt;
</pre></div>
<p>Which ends up with &quot;Quatre pi&#xe8;ces&quot; being displayed in the RSS Reader that is taking your feed. To get the correct ouput I have had to resort to outputString.replaceAll(&quot;&#&quot;,&quot;&#&quot;); OK as a a workaround but not very elegant or performant! -- Main.rjwallis - 19 Mar 2005</p></li>
<li>From that what i know about Rome it's impossible to use &quot;&lt;[!CDDATA [&quot; entities in content of feed's tags. i know this isn't essential, but it would a very nice feature.</li>
<li>Provide support for lastBuildDate in RSS, many news provider, including Yahoo News and BBC use lastBuildDate instead of lastPublishDate.</li></ul></div>
</div>
2014-04-18 19:37:21 +02:00
</div>
</div>
<hr/>
<footer>
<div class="container-fluid">
2016-04-24 20:54:49 +02:00
<div class="row span12">Copyright &copy; 2016.
2014-04-18 19:37:21 +02:00
All Rights Reserved.
</div>
2014-04-18 19:37:21 +02:00
</div>
</footer>
</body>
2016-04-24 20:54:49 +02:00
</html>