Evolution RSS Reader Plugin

From Evolution-plugins

Jump to: navigation, search

This plugin adds RSS Feeds support for evolution mail. RSS support was built upon the somewhat existing RSS support in evolution-1.4 branch. The motivation behind this was to have RSS in same place as mails, at this moment I do not see the point having a separate RSS reader since a RSS Article is like an email message. Probably that's the same reason for NNTP support in evolution.

Evolution RSS can display article using summary view or HTML view.


Instructions on how to compile WebKit and GtkMozEmbed.


Contents

[edit] Features

  • RDF,RSS and ATOM support
  • Searching and filtering using Evolution support (a feed article is infact an email message in Evolution)
  • HTML articles page rendering
    • Gecko (firefox, mozilla, xulrunner) support
    • Apple's Webkit support
  • Offline reading of feed content
  • Renaming of feed folders
  • Feed Enclosures
  • OPML/XML import/export function
  • Auto-cleaning old article feeds
  • Magic Spacebar For Reading Articles (Evolution MagicSpacebar)
  • Add feeds from browser through D-BUS using binary evolution-import-rss

[edit] News

  • 2008-06-30: Released version 0.1.0
    • custom feeds update interval
    • implement feed TTL
    • fix slow deletion of expired articles
    • redesigned add/edit feed dialog
    • prevent fetching enclosures & images to be cancelled by abort_soup_all => articles with missing images/enclosures
    • fix move folder to imply rename operation
    • support multiple levels of rename
    • Fix for bug #531751 correctly parse UTF8 content
    • added X-evolution-rss-feed-id for feed aricle's UUID
    • implemented usage of evolution's proxy config options: for now support only evo's manual proxy config option
    • implement persistent storage for feed images
    • make Cancel All button work (fix #535689)
    • fix for #535670 make articles forward/replay-able
    • modify feeds articles to a more correct content type x-evolution/evolution-rss/feed
    • correctly startup/shutdown gecko
    • add enable java and javascript to render options
    • disable plugin install popups for gecko
    • setup evolution/evolution-rss agent string when browsing with gecko
    • implement network timeout
    • Implement tooltips for longer feed names
    • Implement progress operation for add/edit feeds
    • shorten the feed names to avoid the scrolling
    • increase timeout (30) for evolution complete startup (Jasper Lievisse Adriaanse)
    • Enforce libsoup-2.4 devel requirement for evolution >= 2.21.90
    • support for building against xulrunner-1.9
    • Gracefully fallback to other render
    • Modify taskbar_operation meaning to have only one operation for whole feeds fetching
    • fix gecko/webit CFLAGS
    • fix send and receive dialog crash
    • merge patch from Pedro Fragoso fixes deb #477053
    • finish_feed() fix removing feed
    • implement 'Received' header
    • abort_all_soup() do not set message status
    • sanitize_url() accept feed:// protocol
    • fix no feeds enabled
    • added RSS_VERBOSE_DEBUG option
    • make 'no feeds configured' popup a little less annoying
    • add progress message for adding and editing feeds
    • fix currently read article not to be deleted also prevent items flagged as important to be deleted
    • update to newer webkit API
    • correctly parse ATOM source, sumary
    • corectly parse xml element and xml text nodes
  • 2008-03-03: Released version 0.0.8
    • ATOM content parsing
    • libxul (mozilla 2.0) support
    • fix mozembed/webkit size_allocate signal
    • prevent currently read article to be deleted when feeds deletion activated
    • change to XML_SUBSTITUTE_PEREF in order to correctly parse link in article (eg. slashdot)
    • fix stop and reload web area operations
    • fix editing feeds
    • updated RSS icon
    • notify of sucessful feed when import through dbus
    • port to libsoup-2.4
    • fix UTF8 parsing for gtkhtml engine
    • add XML_PARSE_NOCDATA as gtkhtml won't interpret either way
    • fix incrementing when adding feeds with the same name
    • make auth dialog less intrusive
    • add check for data before reload when using xulrunner
    • enable proxy options (ingored till now)
    • fix percent display on taskbar operations
    • message if mozembed/webkits are not enabled
    • initial implementation of non-intrusive error
    • implemented reading feeds as task bar operations
    • validate parsed date against rfc822, and use system time in case of broken date

All news

[edit] How to install

You'll need a pretty new version of evolution in order to build. I've tested with 2.8.

Unpack evolution-rss-0.X.Y.tar.gz.


Users of Unbuntu, firstly make sure you have following installed (apt-get)

- automake 
- gettext
- evolution-dev
- libglib2.0-dev 
- intltool 
- libtool 
- evolution-data-server-dev 
- libcurl3 
- libcurl3-dev 
- libsoup2.2-8 
- libsoup2.2-dev
- libdbus-glib-1-dev (for evolution-import-rss support)

For Gecko support (evolution-rss >= 0.0.5)

- build-essential
- firefox-dev

if you have problems with gecko please see this note

For Xulrunner support (evolution-rss >= 0.0.5) (recommended)

- build-essential
- libxul-dev

Users of Fedora, make sure you have following installed (yum)

- gcc
- perl-XML-Parser
- automake 
- gettext
- gcc-c++
- evolution-devel
- evolution-data-server-devel
- glib2-devel
- libsoup-devel
- intltool 
- libtool 

For Gecko support (evolution-rss >= 0.0.5)

- firefox-devel (fedora <= 8)
- xulrunner-devel-unstable (fedora >= 9)

Gecko support for users of SLED, openSuse, etc

- gecko-sdk


Run:

cd /path/to/extracted/directory
./configure --prefix=/usr
make
make install

then enable Evolution Rss under Edit->Plugins and you are all setup.

[edit] Setup Feeds

Since evolution-rss 0.0.4 is possible to configure evolution-rss by

Edit->Preferences->News & Blogs or simply by pressing shortcut Shift + Ctrl + s

Evolution preferences window:

[edit] Adding feeds

To add a feed use Image:add.png Add button.

Add feed address in the Feed URL: field.

(for now you have to add the link pointing to XML content)

[edit] Article Settings

Sow the article summary instead of webpage - by default summary of feed article is displayed. Summary is a short html content that sometimes is a digest of an article. Checking this option evolution-rss will render the full html article contained in link. By default this is off.

Feed Enabled - allows you to disable the feed. Useful when feed page is not reachable for some reason (eg. temporary server problem)

[edit] Article Storage

Don't delete articles - by default no articles are deleted.

Delete all but the last X messages - this option will allow you to keep a minimum number of articles in the current feed, deleting older ones.

Delete articles older than X days - this option will delete every article that is at least X days old.

Always delete unread articles - this will force deletion of articles even if they are unread.

Article storage enables you do delete old feed's articles to save space.


For evolution-rss versions < 0.0.4 in order to setup feeds you need to go to: Message->Setup RSS

[edit] Evolution-RSS displaying an article

      * Rendering with Gecko support.

[edit] Importing feeds in evolution (from browser)

It is not possible to add feeds in evolution via D-BUS. To add feed use evolution-import-rss

evolution-import-rss <Feed_URL>

      

         

[edit] Download

[edit] source

evolution-rss-0.1.0.tar.gz (474K)

evolution-rss-0.0.8.tar.gz (453K)

evolution-rss-0.0.7.tar.gz (446K)

All downloads

[edit] binary



[edit] patches

[edit] FAQ

1.How can I enable rendering of feed articles using Gecko ?

You probably need to recompile evolution-rss. And you will need the following

distributionpackage
Fedorafirefox-devel
Ubuntufirefox-dev

libxulrunner-dev

Susegecko-sdk

After you installed those packages you will need to recompile evolution-rss. Support for gecko libraries should web automatically detected:

Evolution RSS plugin successfully configured
   Installation path: /usr/lib/evolution/2.10/plugins
   HTML rendering : gtkhtml GECKO(firefox)

Go to evolution Preferences => News & Blogs => HTML and select Mozilla as rendering.

2.Evolution crashes when using gtkmozembed as a render?

Problems have been spotting when running evolution under Ubuntu and prbably on Debian too.

This is a well known bug (https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/26436/), as many other application crash when they embed firefox with gtkmozembed.


There are 3 fixes for that:

- either run evolution with LD_LIBRARY_PATH=/path/to/firefox/lib evolution
- either appd into ld.so.conf /path/to/firefox and run ldconfig afterwards
- install and recompile evolution-rss with xulrunner-1.9 which provides glue
that should load the right libs automagically

or you can choose to render articles using Webkit

3.How can enable webkit in evolution-rss?

Enabling webkit in evolution-rss requires webkit especially Gdk part to be compiled. For complete instructions see:

       http://gnome.eu.org/evo/index.php/WebKit

After instalation is complete you have to recompile evolution-rss. Hopefully evolution-rss

build script will detech webkit's gdk stuff. Hopefully this will sooner be a package on each

distro, coz building webkit takes long ! (3+ hrs)

After you recompiled evolution-rss you can setup HTML render in Edit->Preferences->News&Blogs under HTML tab.


4.What does "Validate feed" mean?

Adding feed when poor conection can be really slow. Imagine you have a 350+ opml file and each feeds needs to be feched before setup, this will take enourmous amount of time, so you can just skip this step by unchecking Validate feed option. Feeds will be read, afterwards one by one.

[edit] Bugs

[edit] Developement

  • SVN Anonymous access
svn co http://svn.gnome.org/svn/evolution-rss/trunk evolution-rss

[edit] TODO (for version 0.0.9)

[x] automatically adding feeds through DBUS
[ ] make evolution's filtering rules for for feeds
[x] add expiry option (remove feeds before a certain date)
[x] add suport for rendering RSS article webpage
[x] add support for auto-reading RSS after a specified amount of time
[x] support for readding rss feeds at the startup
[x] add feed enclosures
[x] add user/passwords for feeds
[x] detect version of feed RSS/RDF
[x] rename folder options
[x] feed crc file might get manually delete
[x] sort list alfabeticaly by default
[x] ATOM feeds support
[x] add an button to permit switching summary/HTML view
[x] move messages to status bar
[ ] add syndicate icon for News&Blogs folder