First I have to say until now it has been amazing. Why you may ask?

  • libQZeitgeist moved to KDE repositories thanks to my SoC student and already well established rockstar "Trever Fischer"
  • Consensus around the integration of Zeitgeist in KDE from the both sides of Nepomuk and Zeitgeist devs
  • The awesome Nepomuk team

So what are our plans for KDE...

Well Zeitgeist is not only a storage as much as it is also a logic and framework for event processing. Event processing varies from:

  • Allowing/disallowing events from being logged.
  • Attaching geolocation to events
  • Prevent duplicate logging
  • Global incognitos
  • etc...

So our idea is to have Zeitgeist into Nepomuk. HOW? The process will be (KDE runtime) activity manager pushing to Zeitgeist for event evaluation, then Zeitgeist forwarding the events Nepomuk. A good scenario to understand why this is needed is:

You dont want something from folder XXX to be logged. How do you do that?

  • Nepomuk is a storage.
  • When the event is captured by the activity manager pushing to Zeitgeist where Zeitgeist will have a set of rules like (don't log anything from XXX) and will evaluate.
  • Then Zeitgeist decides if it should be pushed or not.
  • (Zeitgeist will also keep its own DB since its pretty compact and useful for some cool zeitgeist features like calculating "what files are related to what" in runtime.)

When is this all gonna happen?

Well I am going to Randa 2011 and so is Trever from the Zeitgeist team and we will be meeting with the Nepomuk guys. And discuss these ideas further as well as have it implemented.

So the todo list for the week will be:

  • Zeitgeist extension that uses FTS search from Nepomuk and sorts using Zeitgeist (DONE)
  • Zeitgeist extension that pushes into Nepomuk (mapping our events to their event representation)
  • Zeitgeist extension that pulls from Nepomuk (forwarding their events)
  • Zeitgeist extension that annotates activity ids to events
  • Patch the Activity Manager to send to Zeitgeist

Trever has some working code for some of the tasks but no testing environment yet. So...

We have one week and it will happen