Difference between revisions of "Projects/PIM/Akonadi/Bookmarks"

< Projects‎ | PIM‎ | Akonadi
Jump to: navigation, search
 
(14 intermediate revisions by 4 users not shown)
Line 10: Line 10:
 
===Desired features===
 
===Desired features===
 
* Sync with online services / other sources
 
* Sync with online services / other sources
* Rating / tagging / other metainformations
+
* Rating / tagging / other metadata
 
* Site snapshots storage
 
* Site snapshots storage
 +
* Search by tag / metadata
 +
* Full text indexing (Strigi)
  
 
===Other ideas to discuss===
 
===Other ideas to discuss===
 
* Only use tags instead of folders. Epiphany does this, mitigated reactions
 
* Only use tags instead of folders. Epiphany does this, mitigated reactions
* Store it in mysql instead of files
 
 
* Merge bookmarks and history (to get history tagging / rating) : a bookmark may be a properly tagged history entry
 
* Merge bookmarks and history (to get history tagging / rating) : a bookmark may be a properly tagged history entry
 
+
* Ability to store a page (like the scrapbook firefox plugin)
 +
** I suggest to do this using Basket Note Pads http://basket.kde.org/ [[User:Zeroheure|Zeroheure]] 09:01, 12 January 2009 (UTC)
 +
** why not use existing archive web page extension [[User:Llukas|Llukas]] 14:11, 7 February 2010 (UTC)
 
==Implementation==
 
==Implementation==
 
The consensus seems to be :
 
The consensus seems to be :
* using Akonadi to handle storage and sync
+
* Akonadi to handle storage and sync
* using Nepomuk to handle tagging / metadata
+
* Nepomuk to handle tagging / metadata
 
* reuse and extend existing kdelibs/kio API
 
* reuse and extend existing kdelibs/kio API
  
 
We need to define :
 
We need to define :
* which one we use to export data to standard KDE classes
+
* the new properties to add to bookmarks
* what is done and what is to do
+
* what is already done and what is to implement
  
 +
===Potential issues===
 +
* KBookmark* extend QDom while Akonadi works by fetching individual items. Should we emulate a QDom or create new classes ? As the Akonadi implementation will still use bookmarks.xml, the two implementations may be used on the same data.
 +
* A lot of Akonadi KDE api and agents are in kdepimlibs on which kdelibs can't depend.
  
 +
===Feature matrix===
 +
{| class="sortable" border="1" cellpadding="5" cellspacing="0" style="border: gray solid 1px; border-collapse: collapse; text-align: left; width: 100%;"
 +
|- style="background: #ececec; white-space:nowrap;"
 +
! Status !! Category !! Description !! Contact
 +
{{FeatureInProgress|Storage|Define new attributes to store|xavier.vello@gmail.com|Xavier Vello|}}
 +
{{FeatureDone|Storage|Local file ressource (in kdepim)||}}
 +
{{FeatureInProgress|Storage|del.icio.us ressource (in playground)|robertknight@gmail.com|Robert Knight}}
 +
{{FeatureTodo|Storage|Storage of screenshots||}}
 +
{{FeatureDone|Metadata|Tagging of akonadi items|toma@kde.org|Toma}}
 +
{{FeatureTodo|Metadata|Strigi index and search||}}
 +
{{FeatureTodo|Libs|Port KBookmarks*||}}
 
[[Category:PIM]]
 
[[Category:PIM]]
 
[[Category:KDE4]]
 
[[Category:KDE4]]

Latest revision as of 15:11, 7 February 2010

This page is about the bookmarks system refactoring for 4.3 using Akonadi / Nepomuk. It's mostly Konqueror-centric, but we must keep in mind the bookmarks system is used by many applications. Comments and ideas are welcome.

Contents

[edit] General picture

[edit] Current state of bookmarks

  • Currently provided classes : KBookmark, KBookmarkGroup, KBookmarksManager and others.
  • Many apps use it : Konqueror, Konsole, Kate, Okular, ... need to keep backwards compatibility.
  • Bookmarks are stored in a per-application XBEL file, parsed by KBookmarksManager.

[edit] Desired features

  • Sync with online services / other sources
  • Rating / tagging / other metadata
  • Site snapshots storage
  • Search by tag / metadata
  • Full text indexing (Strigi)

[edit] Other ideas to discuss

  • Only use tags instead of folders. Epiphany does this, mitigated reactions
  • Merge bookmarks and history (to get history tagging / rating) : a bookmark may be a properly tagged history entry
  • Ability to store a page (like the scrapbook firefox plugin)
    • I suggest to do this using Basket Note Pads http://basket.kde.org/ Zeroheure 09:01, 12 January 2009 (UTC)
    • why not use existing archive web page extension Llukas 14:11, 7 February 2010 (UTC)

[edit] Implementation

The consensus seems to be :

  • Akonadi to handle storage and sync
  • Nepomuk to handle tagging / metadata
  • reuse and extend existing kdelibs/kio API

We need to define :

  • the new properties to add to bookmarks
  • what is already done and what is to implement

[edit] Potential issues

  • KBookmark* extend QDom while Akonadi works by fetching individual items. Should we emulate a QDom or create new classes ? As the Akonadi implementation will still use bookmarks.xml, the two implementations may be used on the same data.
  • A lot of Akonadi KDE api and agents are in kdepimlibs on which kdelibs can't depend.

[edit] Feature matrix

Status Category Description Contact
IN PROGRESS Storage Define new attributes to store Xavier Vello <xavier.vello@gmail.com>
DONE Storage Local file ressource (in kdepim) [mailto: <>]
IN PROGRESS Storage del.icio.us ressource (in playground) Robert Knight <robertknight@gmail.com>
TO DO Storage Storage of screenshots [mailto: <>]
DONE Metadata Tagging of akonadi items Toma <toma@kde.org>
TO DO Metadata Strigi index and search [mailto: <>]
TO DO Libs Port KBookmarks* [mailto: <>]

This page was last modified on 7 February 2010, at 15:11. This page has been accessed 7,098 times. Content is available under Creative Commons License SA 3.0 as well as the GNU Free Documentation License 1.2.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal