PIM/Akregator port: Difference between revisions

From KDE Community Wiki
< PIM
(new page to document the Akonadi port of Akregator)
m (15 revisions imported)
 
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Bugs ==
== Building Akregator2 ==
* KSelectionProxyModel causes a crash when a new feed is added and then deleted. [Alessandro: I prepared a test case (kde:scratch/cosentino/newitch.git), Steve is looking into this]
 
Akregator2 is developed in the akregator_port branch of the kdepim, kdepim-runtime and kdepimlibs repositories.
 
Running '''git checkout akregator_port''' in these three repositories is enough to build Akregator2.
 
The master branch is merged regularly into the akregator_port branch.
 
{{note|Akregator2 will '''NOT''' replace Akregator. Both are installed and can be executed at the same time.}}
 
== Code location ==
The Akregator2 related code is split between kdepimlibs, kdepim-runtime and kdepim.
 
* '''Kdepimlibs/krss''' contains the feed parser and the Akonadi collections handling code.
 
* '''Kdepim-runtime/resources/krsslocal''' is the main RSS resource.
 
* '''Kdepim-runtime/resources/tinytinyrss''' is an Akonadi resource to sync data from  a [http://tt-rss.org tinytinyrss] hosting site.
 
* '''Kdepim-runtime/migration/akregator''' is the migration tool. Please note that the existing Akregator archives are only parsed. No data will be removed.
 
* '''Kdepim-runtime/agents/nepomukfeeder/plugins/nepomukrssfeeder.*''' is a nepomukfeeder plugin.
 
* '''Kdepim/akregator2''' is the Akonadi based Akregator program.
 
* '''Kdepim/kontact/akregator2''' is the Akregator2 plugin for Kontact.
 
== Commit policy ==
 
* Only Akregator2 related commits shall be pushed into the akregator_port branch.
* Bug fixes and new features should be pushed into the 4.xx or master branch respectively.
* Bug fixes for Akregator1 shall also be merged into the Akregator2 code if possible.
* If your pending changes need to be reviewed, please use [https://reviewboard.kde.org Reviewboard].
** In the groups list, enter '''kdepim'''.
** In the people list, enter '''osterfeld'''.
 
== Known bugs ==
 
[https://bugs.kde.org/buglist.cgi?order=Importance&query_format=advanced&bug_status=UNCONFIRMED&bug_status=CONFIRMED&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=RESOLVED&bug_status=NEEDSINFO&bug_status=VERIFIED&bug_status=CLOSED&component=akonadi-port&product=akregator Complete bugs list]
 
Most Important Issues:
* [https://bugs.kde.org/297662 Bug 297662] - Resource crashes when going quickly through unread items.
* [https://bugs.kde.org/313751 Bug 313751] - migrator tool stalls on the first run.
* [https://bugs.kde.org/313760 Bug 313760] - migrator sometimes appends articles to the wrong feed.
* [https://bugs.kde.org/316376 Bug 316376] - articles are not stored locally.


== Needed features ==
== Needed features ==


* '''[TODO]''' Local storage for feeds. Currently, there's no local storage for Akregator2 data. (maybe use a maildir?)
* '''[TODO]''' Result of the above point, the migration tool should also handle locally stored Akregator2 data
* '''[TODO]''' basic periodic fetching (can this be implemented using CachePolicy?)
* '''[TODO]''' basic periodic fetching (can this be implemented using CachePolicy?)
* '''[TODO]'''  highlighting feeds currently fetched (in the old resource this was done using a custom dbus interface. Is that the only option? maybe use collection properties)
* '''[TODO]'''  highlighting feeds currently fetched (in the old resource this was done using a custom dbus interface. Is that the only option? maybe use collection properties)
* '''[IN PROGRESS]''' (Alessandro) move interval fetching and archive options configuration to a resource configuration dialog
* '''[IN PROGRESS?]''' (Alessandro) move interval fetching and archive options configuration to a resource configuration dialog


== Optional features ==
== Optional features ==

Latest revision as of 13:01, 11 March 2016

Building Akregator2

Akregator2 is developed in the akregator_port branch of the kdepim, kdepim-runtime and kdepimlibs repositories.

Running git checkout akregator_port in these three repositories is enough to build Akregator2.

The master branch is merged regularly into the akregator_port branch.

Note

Akregator2 will NOT replace Akregator. Both are installed and can be executed at the same time.


Code location

The Akregator2 related code is split between kdepimlibs, kdepim-runtime and kdepim.

  • Kdepimlibs/krss contains the feed parser and the Akonadi collections handling code.
  • Kdepim-runtime/resources/krsslocal is the main RSS resource.
  • Kdepim-runtime/resources/tinytinyrss is an Akonadi resource to sync data from a tinytinyrss hosting site.
  • Kdepim-runtime/migration/akregator is the migration tool. Please note that the existing Akregator archives are only parsed. No data will be removed.
  • Kdepim-runtime/agents/nepomukfeeder/plugins/nepomukrssfeeder.* is a nepomukfeeder plugin.
  • Kdepim/akregator2 is the Akonadi based Akregator program.
  • Kdepim/kontact/akregator2 is the Akregator2 plugin for Kontact.

Commit policy

  • Only Akregator2 related commits shall be pushed into the akregator_port branch.
  • Bug fixes and new features should be pushed into the 4.xx or master branch respectively.
  • Bug fixes for Akregator1 shall also be merged into the Akregator2 code if possible.
  • If your pending changes need to be reviewed, please use Reviewboard.
    • In the groups list, enter kdepim.
    • In the people list, enter osterfeld.

Known bugs

Complete bugs list

Most Important Issues:

  • Bug 297662 - Resource crashes when going quickly through unread items.
  • Bug 313751 - migrator tool stalls on the first run.
  • Bug 313760 - migrator sometimes appends articles to the wrong feed.
  • Bug 316376 - articles are not stored locally.

Needed features

  • [TODO] Local storage for feeds. Currently, there's no local storage for Akregator2 data. (maybe use a maildir?)
  • [TODO] Result of the above point, the migration tool should also handle locally stored Akregator2 data
  • [TODO] basic periodic fetching (can this be implemented using CachePolicy?)
  • [TODO] highlighting feeds currently fetched (in the old resource this was done using a custom dbus interface. Is that the only option? maybe use collection properties)
  • [IN PROGRESS?] (Alessandro) move interval fetching and archive options configuration to a resource configuration dialog

Optional features