OpenBrain
Ivan Čukić
ivan.cukic at gmail.com
Wed Feb 18 20:02:16 CET 2009
Hi all,
Since I was mentioned, just to write a couple of words.
From my POV, openbrain could be an interesting improvement for KRunner (and
therefore to the applications that use it as a backend - Lancelot, Quicksand).
Although I agree that most of the time devs will not write specific application
brain data, a global database could prove to be useful.
Currently, Runners are very specific and return just the thing that was asked
from them, which is (more than) OK in most cases. I think that AIML could
provide additional fuzzy results when standard runners fail. And, for simple
things, it is easier to write an AIML file than to make a whole new runner.
The main problem I see is that it is English-specific. I do use English on my
PC, but one of the prerequisites of something leaving kdeplayground is to have
internationalization support.
> but basically, where should libopenbrain go?
I think that subdirectory of the applet itself is OK. IMHO, it would be wrong
to have any application linked directly to it, when it will be available
through KRunner. Reasons:
1. Standard API. I'm not really saying that KRunner API is a standard, but
there's no reason in reinventing the wheel.
2. KRunner provides threading, dynamic plug-in loading and whatnot. So, no
need for ifdefs in code to make different implementations depending on whether
libopenbrain is found on the system.
3. ABI. libopenbrain could be changed in any way imaginable, or even replaced
with another library, and since nothing links directly to it (apart from the
runner), nothing needs to be recompiled.
> also libopenbrain still has std, boost, and xerces includes, they will be
> converted to qt when i get time.
I've noticed that and am really hoping it will be a thing of the past. The
xerces can be easily replaced since SAX api is the same everywhere. As for
boost, it'll take you some time I think :)
> it uses berkdb43 now to instantly load all the brain data (no more waiting
> 30-60 seconds for it to load). i didn't really see a better way to do this
> w qt. tips?
Although I'm not a great fan of MySQL (even embedded) it seems that many KDE
applications have switched to it from other DBs, so it could be a very good
solution - it wouldn't increase dependencies.
Although there are two different approaches IIRC. Amarok uses the embedded one,
while Akonadi or Nepomuk (I really don't remember :) ) uses a /local/ server.
Cheerio!
More information about the Plasma-devel
mailing list