Architecture and Extension Points

From RSSOwl

Jump to: navigation, search

Contents

Plugins

  • org.rssowl.contrib.nntp - Contributes newsgroup support (optional)
  • org.rssowl.contrib.search - Contributes Lucene and full-text-search capabilities
  • org.rssowl.core - Core functionality (see description below)
  • org.rssowl.core.tests - A suite of JUnit 4 tests
  • org.rssowl.lib.db4o - The db4o database storing the model
  • org.rssowl.lib.httpclient - Apache HTTPClient for connections to the internet
  • org.rssowl.lib.jdom - JDom for transforming XML into the model
  • org.rssowl.ui - User Interface functionality (see description below)


org.rssowl.core

  • org.rssowl.core.connection
    • Knows how to connect to the internet and retrieve data
    • Manages credentials for Authentication and Proxy Connections
  • org.rssowl.core.interpreter
    • Knows how to parse a XML file using Xerces and JDom
    • Interprets the JDom model as newsfeed and converts it to the RSSOwl Model
  • org.rssowl.core.model
    • Provides a class for each model type being used in RSSOwl 2
    • Implements persistence using db4o


org.rssowl.ui

  • org.rssowl.ui.internal.actions
    • Actions perform a certain task and appear in various parts of the UI
  • org.rssowl.ui.internal.editors.feed
    • The Feed-Editor is displaying a newsfeed's headlines together with its content in a Browser
  • org.rssowl.ui.internal.views.explorer
    • The Bookmark Explorer allows to manage bookmarks, saved searches and folder in a Tree


Interesting Extension Points provided by RSSOwl

  • ElementHandler
    • Override the Interpreter for a specific Element in the XML document
  • FormatInterpreter
    • Teach the Interpreter a new format
    • Example: The result of a web-service should be displayed as feed in RSSOwl 2
  • NamespaceHandler
    • Teach the Interpreter a certain namespace that is used widely
    • Example: Implement the iTunes namespace being used for podcast feeds
  • ProtocolHandler
    • Add a whole new protocol to the list
    • Example: Let RSSOwl 2 show Mails or Newsgroups like newsfeeds
  • entityPropertyPage
    • Add property pages to Bookmarks, Saved Searches or Folders


Extension Points provided by Eclipse

  • org.eclipse.ui.actionSets
    • Add new items to the Menu or Toolbar in RSSOwl 2
  • org.eclipse.ui.preferencesPages
    • Add new preferences pages to RSSOwl 2
  • org.eclipse.ui.views
    • Add new Views to RSSOwl 2
    • Example: Add a view that allows to manage podcasts in a comfortable way
Personal tools