GSoC Wrap-up Part 1

This year’s Google Summer of Code has ended. And it was a great success!

This year I had the pleasure to mentor two outstanding students: Adam Kidder and Alessandro Sivieri. Working with them was fun and rewarding. Both quickly understood what Nepomuk was all about and provided high quality work. I am very happy about that. Even more so since both of them plan to continue working on KDE and Nepomuk. Thus, I can only repeat myself: a great success.

Enough of the euphoria. Let us dive into the good stuff and start with Adam’s project:

Improved Virtual Folders

We have had the virtual folder KIO slave in KDE for quite some time now. But it was one big hack I threw together and always had its hickups, not to mention the lack of features. Adam took the project of improving the situation by making it more stable, introducing new features such as negated terms and relative dates, and providing a GUI for query creation. I can assure you that this was no easy task. Diving into the messy code I produced both for the Nepomuk query service and the search KIO slave Adam needed nerves of steel. But he proved himself by understanding and sorting out the mess and introducing a bunch of nice features.

Relative Dates

One of the nicest thing Adam implemented is the support for relative date in queries. By relative dates I mean for example yesterday as you can see in the following screenshot:

Virtual Folder using a relative date

Virtual Folder using a relative date

Another possible relative date is “a week ago” which can of course also be combined with other query terms:

gsoc-virtfolders-last-weekApart from relative dates Adam implemented

Negated Query Terms

Using a minus sign as the negation prefix we can exclude certain query terms:

Querying for one tag

Querying for one tag

Excluding another tag

Excluding another tag

Very useful and mandatory for any search engine.

One thing I personally find very important is the possibility to use

Sparql Queries in the KIO slave

This allows to use the KIO slave to list arbitrary query results (as long as its only resources) and list them in Dolphin or even use a KDirModel to list resources in any application.

Listing Nepomuk Tasks via the Search KIO slave

Listing Nepomuk Tasks via the Search KIO slave

Now let us have a look at the


Due to the complexity of Adam’s project’s code he did not get as far with the GUI as he would have liked. But as mentioned already he will continue to work on it and integrate it into Dolphin nicely. Anyway, so far we have a small query creator which allows to save queries that are then displayed in the nepomuksearch:/ main folder.

Editing a query in the simple query editor

Editing a query in the simple query editor

Try it

If you want to test Adam’s new features before they are merged into trunk you need to install his work branch which replaces a few files installed by kdebase-runtime. The query editor is still part of the Nepomuk playground module. It is not enabled in the build system of the whole module, it needs to be built independantly.

That’s it for now. Next up: Alessandro’s smart file dialog.

Reblog this post [with Zemanta]

19 thoughts on “GSoC Wrap-up Part 1

  1. Great to see things move forward in the enduser department. So people will eventually be able to actually make use of these awesome technologies. Keep it up!

  2. Finally after long time there is something what “avarage joe” can understand ;-)

    The features what is now implented, are really needed and nice to hear they come to 4.4!

  3. Now we just need to find a way to beautify this without hiding all of the power. Creating user interfaces to use nepomuk might be as big of a challenge as nepomuk itself…

    • @Troy. Hm maybe one way could be special predefined view modes within dolphin (which maybe even can be created, enhanced and adjusted by users if they want without recompiling)? The diary file view suggested by GNOME’s new kid on the block -Zeitgeist- would be an obvious example.

  4. I would suggest calling “save this” “bookmark search” instead and share such bookmarked searches with KDE’s global bookmark system. (It’s unfortunate Dolphin doesn’t make use of it. Places doesn’t scale as well.)

  5. In terms of making this useful for the average joe, would it be possible to have the current search bar that is in KDE 4.3’s Dolphin to automatically use this? For example, typing in “beautiful” will search for all files with the tag “beautiful” as well as all text in indexed files for the same word – thus making it really easy for the end user to actually use this. Having an ‘advanced search’ would be good too though.

  6. Pingback: GSOC 2009 Wrap Up | NavinoT

  7. @Sebastian Trüg:

    Searching for “beautiful” only shows an icon of that tag at the bottom of the search that points to nepomuk:/beautiful. Clicking on it doesn’t do anything for me (KDE 4.3.0).

    I agree with anon that it should be called “Bookmark Search”, or alternatively “Save Search”. There are some other nit-picks in the GUI (remove exclamation mark in “Search!”, maybe add text to add button etc.); it’s nice to hear that Adam’s going to work on it after GSoC. :)

  8. Pingback: GSoC Wrap-up Part 2 « Trueg's Blog

  9. Pingback: Akonadi, Nepomuk and Strigi explained « Thomas McGuire's Blog

  10. Pingback: Just another way of browsing your files « Trueg's Blog

  11. Pingback: What We Did Last Summer (And the Rest of 2009) – A Look Back Onto the Nepomuk Development Year With an Obscenely Long Title « Trueg's Blog

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s