Nepomuk 2010.0 roadmap

From Mandriva Community Wiki

Jump to: navigation, search
This article is a work in progress being written, rewritten or being significantly restructured.
You are invited to discuss the changes and to participate to the article's improvement according to what has been decided on the talk page.
This aims at presenting the detailed integration and packaging scope of Nepomuk core and Nepomuk features in Mandriva 2010. It is currently being discussed.


Contents

Nepomuk from a package point of view

Nepomuk consists of the main components below, from which a set of packages are derived.

Nepomuk core

Nepomuk core provides the nepomuk server

It is included in the following components:

  • kdebase4-runtime
  • kdebase4-runtime-devel
  • kdelibs4-core
  • kdelibs4-devel

Version planned for mdv2010.0: KDE 4.3.x

Nepomuk libs

  • libnepomukqueryclient
  • libnepomukquery4
  • libnepomuk4
  • nepomuk-extras (see below)

Version planned for mdv2010.0: KDE 4.3.x

Soprano

Soprano is a framework for storing and querying RDF data. It consists of the Soprano API, several plugins providing RDF databases, a command line client.

Soprano consists of the following components:

  • libsoprano4
  • libsopranoserver1
  • libsopranoclient1
  • libsopranoindex1
  • soprano
  • soprano-devel
  • soprano-plugin-common
  • soprano-plugin-virtuoso (This backend is not stable yet and has been removed from Soprano 2.3)
  • soprano-plugin-redland
  • soprano-plugin-sesame2 (requires java-6-openjdk)

Version planned for mdv2010.0: 2.3.x (2.3.1 will be released in August fixing at least a minor cmake issue)

Potential Nepomuk extensions for 2010.0

TODO: This should be made into a public page on [1]

Packaging tasks summary (depending on actual decisions)

  • packaging of the nepomuk-extras tarball to be provided by Sebastian on kde-apps.org by end of July, and released by end of August. A pre-release can be obtained here.
  • packaging of Olena with the Scribo extension activat:ed
  • packaging of the Olena Scribo demo
  • inclusion of kdebase-runtime and kdelibs patches for virtual folders and semantic file dialog features
  • inclusion of kdepim and kdemail patches for semantic kmail features

Nepomuk shell

Description: The Nepomuk shell is intended as a general Nepomuk resource administration tool. It allows to browse the existing resources, add new and delete resources, change the current work context, and so on. It will integrate most of the annotations tools to provide annotation suggestions via Scribo or to semi-automatically annotate with information from web services such as geonames.

Source: The nepomukshell can currently be found in the KDE svn playground: playground/base/nepomuk-kde/nepomukshell. It depends on a few other components.

Roadmap: The plan is to get the nepomukshell into a usable state in August. It will, however, not be targeted at the average user as it wills till require a bit of knowledge-worker background.

Version planned: A nepomuk-extras 0.1 package will be released by 31/08/09 (beta versions before) which will contain all extensions discussed on this page except the ones marked as patches or packages.

File annotation service

Description: The Nepomuk file annotation service listens to a signals from the Strigi service which informs about new files. New files in this context means files that have been created after the Strigi service has been started and that do not have manual annotations yet.

The file annotation service will then propose to relate the new file to the current context (see context service below) if one is set; and it will use the annotation framework (and with it Scribo) to suggest additional annotations though the KDE notification system. The latter is a temporary far-from-perfect solution that works for the time being.

Source: As most non-stable (as in: not ready to get into kdebase) Nepomuk components the source can be found in the KDE svn playground: playground/base/nepomuk-kde/fileannotationservice. It depends on a few other components.

Roadmap: To be released with nepomuk-extras 0.1. However, the necessary Strigi signal is not part of KDE 4.3 and not even in trunk yet. A patch will be part of nepomuk-extras 0.1.

Version planned: nepomuk-extras 0.1


Context

Description: The idea of the Nepomuk context is simple: one arbitrary resource can be the current context, typically this would be a task, a project, or an event. Applications should then either filter their content based on the context or propose additional actions. The only working example at the moment is the file annotation service mentioned above.

The system consits of a Nepomuk service which runs in the background and maintains the current context and a plasma applet that allows to change the context.

Source: As most non-stable (as in: not ready to get into kdebase) Nepomuk components the source can be found in the KDE svn playground: playground/base/nepomuk-kde/usercontext/. It depends on a few other components.

Roadmap: To be released with nepomuk-extras 0.1.

Version planned: nepomuk-extras 0.1


Scribo OpenCalais plugin

Description: The Scribo OpenCalais plugin uses the OpenCalais service to analyze plain text content and suggest annotations. It is used through the Scribo framework by the file annotation service, the nepomukshell, and the advanced file open and save dialog.

Source: As most non-stable (as in: not ready to get into kdebase) Nepomuk components the source can be found in the KDE svn playground: playground/base/nepomuk-kde/scribo.

Roadmap: Will be released together with the rest of the Scribo framework in nepomuk-extras 0.1.

Version planned: nepomuk-extras 0.1


Scribo Dolphin actions

Description: A simple Konqueror context menu action which will start the simpleannotator on text files.

Source: As most non-stable (as in: not ready to get into kdebase) Nepomuk components the source can be found in the KDE svn playground: playground/base/nepomuk-kde/annotationplugins/simpleannotator.

Roadmap: Will be released together with the rest of the Scribo framework in nepomuk-extras 0.1.

Version planned: nepomuk-extras 0.1


Advanced virtual folders

Description: As part of his Google Summer of Code project Adam Kidder improves the Nepomuk virtual folder system existing in KDE 4.3. The advanced kio slave supports the direct use of SPARQL queries in a very simple syntax and improves the user query language with concepts like relative dates and times.

Source: The code for the advanced virtual folders can be found in Adam's work branch in the KDE svn: branches/work/soc-virtualfolders. It is a branch of parts of kdebase-runtime which would have to be replaced in the actual kdebase-runtime package.

Roadmap: By the end of August (the end of GSoC) Adam will have the advanced queries finished and at least coded a GUI to create and save fixed queries which can then be accessed from the root folder of nepomuksearch:/. Depending on his development pace he will also provide an improved search bar in Dolphin using a filter system developed by Alessandro Sivieri for his GSoC project (see below).

Version planned: Will be merged into KDE 4.4. Will be stable by the end of August to be patched into kdebase-runtime from KDE 4.3. The eventual inclusion of the patch into the mdv2010.0 kdebase4-runtime package remains to be discussed depending on its advancement and stability state 20/08/09.

Nepomuk-enabled open/save dialog

Description: In his GSoC project Alessandro Sivieri works on a semantically enabled replacement for the KDE open and save dialogs. The idea is to not let the user care about folders anymore, but only about annotations. The typical example is the following: I write an invoice in a text processor and want to save it. Now instead of choosing a name including its date and the customer name and maybe putting it into the folder for customer data and not in the invoices folder I do something different. I tell the system that this is an invoice for a specific customer and a specific product. Then I can give it a name and maybe even the invoice number since the invoice ontology defines that (or I did that myself). I do not care about where Nepomuk does save the file. Later when I want to open it again I do not search through folders trying to remember how I used to arranged files. I simply tell the system that I want to open an invoice for a specific customer. And maybe I remember the rough date, so I give a range. The new and improved open dialog will then filter all annotated files according to my wishes and present the small selection that is left from with I can choose the file.

Source: Alessandro develops his smart filedialog in the KDE svn playground: playground/base/nepomuk-kde/smartsave/.

Roadmap: By the end of August the GSoC finishes and Alessandro is supposed to have a stable and working version. The GUI will probably not be perfect yet but it should be very usable. At that point we need to provide a patch to integrate it into the existing file dialog as an alternative. Thus, Alessandro's work cannot be released with nepomuk-extras but needs to be patched into kdelibs.

Version planned: Needs to be patched into kdelibs. Will be merged into KDE 4.4. Will be stable by the end of August to be patched into kdelibs from KDE 4.3. The feature will still let the user save files as currently, only an additional tab will be available for using Nepomuk. The eventual inclusion of the patch into the mdv2010.0 kdelibs package remains to be discussed depending on its advancement and stability state 20/08/09.

KMail Scribo extension

Description: The KMail extension will provide a context menu entry which provides annotation suggestions for the currently selected email. The problem here is that KMail does not use Akonadi yet and, thus, does not have unique and fixed identifiers for the emails. It is not clear yet if this extension can actually be released with Mandriva 2010 or if that will only confuse users since annotations are lost all the time.

Source: The source currently exists as a patch to KMail in the KDE svn playground: playground/base/nepomuk-kde/patches.

Roadmap: Until the end of August a simple context menu should exist. FIXME: It is still unclear how to identify the emails to be able to open them in KMail when found via a search client.

Version planned: Needs to be patched into kdepim/kmail. The inclusion of the patch into the mdv2010.0 kdepim and kmail packages remains to be discussed depending on its advancement and stability state 20/08/09.


Olena Scribo

Description: Olena is a platform dedicated to image processing. At the moment it is mainly composed of a C++ library: Milena. This library features many tools to easily perform image processing tasks. Its main characteristic is its genericity: it allows to write an algorithm once and run it over many kinds of images (grey scale, color, 1D, 2D, 3D, ...). We do our image processing research using this library, but most importantly we have gathered (and still do) generic programming expertise from the library development. The Scribo extension adds the possibility to detect text in images. The proposal is to include the Scribo extension into mdv2010.0.

Source: See http://www.lrde.epita.fr/cgi-bin/twiki/view/Olena/Olena100 about Olena 1.0. Instructions on how to include the Scribo extension in the build is presented there: http://doc4.mandriva.org/bin/view/labs/Olena-Scribo

Roadmap: The code is available and can be considered to be included as is in mdv2010.0 (except potential patches for complying with Mandriva policies)

Version planned: 1.0 is released

Olena Scribo demo

Description: Qt application for extracting text from images. It is part of the Olena project

Source: See http://doc4.mandriva.org/bin/view/labs/Olena-Scribo (demo section). The package has to include the provided demo data.

Roadmap: the code can be included as is (to be discussed)

Okular Nepomuk annotations

Description: The feature stores the comments on PDF fragments highlighted from Okular in the Nepomuk database.

Source: A patch will be made available in August.

Roadmap: Considering the inclusion of the patch in Mandriva is postponed to mdv2010.1.

Version planned: N/A

Notes

  • soprano-plugin-sesame2 has currently no require dependency on a Java virtual machine
  • the dynamic linker needs to know where it can find one libjvm.so (either OpenJDK one, or Sun one)
  • java-6 required
Personal tools