Difference between revisions of "Projects/PIM/RSS framework for Akonadi"

< Projects‎ | PIM
Jump to: navigation, search
(s/first/second/)
(cleanup + long-term goals)
Line 1: Line 1:
 
== Needs research ==
 
== Needs research ==
  
* Maildir as storage for RSS articles (code in kdepim/maildir). How reliably will it work on Windows:
 
  - the ":" issue
 
  - atomacity of hardlinking/unlinking,
 
    see [[Projects/PIM/MS_Windows#Maildir_implementation_in_KMail]]
 
* libsyndication doesn't provide progress when loading a feed, check whether it's possible to get progress from KIO _at all_
 
 
* What are possible settings for the resource?
 
* What are possible settings for the resource?
 
* Read up on OPML/RSS/Atom spec (+ on the itunes podcast extension so we can set appropriate attributes; other extensions?)
 
* Read up on OPML/RSS/Atom spec (+ on the itunes podcast extension so we can set appropriate attributes; other extensions?)
* Nepomuk feeder agent: feed ontology? current state of fulltext search support?
+
* Possible Nepomuk RSS ontology (I found one on the web, not sure if it's correct)
  
== Current todo ==
+
== Long-term project goals ==
  
* React on changes made to collections (added/changed/removed)
+
* Finish the basic framework (the goal of this SoC project)
* '''Don't''' forget about status and error messages!
+
* Port Akregator to it/rewrite Akregator from scratch
* Unit tests
+
* Improve virtual/search feeds (Nepomuk/Strigi/Akonadi virtual collections?)
* Define possible API for managing feeds
+
* Create a generic RSS Akonadi resource: easy to add other types of RSS sources (RSS feeds from an Openchange server, online feed readers)
 +
* Implement an RSS resource for the Newsgator.com online reader
 +
* Get KDE4/Akonadi/this RSS framework up and running on my N800 so I can *finally* read feeds everywhere and sync them via NG.com
  
 
== Bugs to track down ==
 
== Bugs to track down ==
Line 28: Line 25:
 
*** org::freedesktop::Akonadi::AgentManager::AgentManager::cleanup()
 
*** org::freedesktop::Akonadi::AgentManager::AgentManager::cleanup()
 
*** org::freedesktop::Akonadi::Agent::Control::quit() - via D-Bus for every agent
 
*** org::freedesktop::Akonadi::Agent::Control::quit() - via D-Bus for every agent
 
* clicking on 'Save' in akonadiconsole causes crashes
 
* possibility to add a resource by double-clicking in akonadiconsole (will make my life _much_ easier)
 

Revision as of 12:29, 30 July 2008

Needs research

  • What are possible settings for the resource?
  • Read up on OPML/RSS/Atom spec (+ on the itunes podcast extension so we can set appropriate attributes; other extensions?)
  • Possible Nepomuk RSS ontology (I found one on the web, not sure if it's correct)

Long-term project goals

  • Finish the basic framework (the goal of this SoC project)
  • Port Akregator to it/rewrite Akregator from scratch
  • Improve virtual/search feeds (Nepomuk/Strigi/Akonadi virtual collections?)
  • Create a generic RSS Akonadi resource: easy to add other types of RSS sources (RSS feeds from an Openchange server, online feed readers)
  • Implement an RSS resource for the Newsgator.com online reader
  • Get KDE4/Akonadi/this RSS framework up and running on my N800 so I can *finally* read feeds everywhere and sync them via NG.com

Bugs to track down

  • aboutToQuit() is not called when manually removing the resource via akonadiconsole (tracked down). aboutToQuit() is called from within AgentBase::quit() so it's invoked only in the second case:
    • When removing a resource via akonadiconsole the calling sequence is:
      • AgentManager::removeInstance(instance)
      • org::freedesktop::Akonadi::AgentManager::removeAgentInstance(id) - via D-Bus
      • org::freedesktop::Akonadi::Agent::Control::cleanup() - via D-Bus
    • When removing a resource at 'akonadictl stop' the calling sequence is:
      • org::freedesktop::Akonadi::AgentManager::~AgentManager() - from akonadictl
      • org::freedesktop::Akonadi::AgentManager::AgentManager::cleanup()
      • org::freedesktop::Akonadi::Agent::Control::quit() - via D-Bus for every agent

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal