Hi, On 16 September 2016 at 01:04, Christoph Cullmann <cullm...@absint.com> wrote: >>> => Opinions? >> >> It would be nice to hear what Vishesh, Pinak and Boudhayan think about >> this.
I prefer getting familiar with the code as well as having a mile-high view of what does what before I start laying down code, hence why I haven't submitted a single line of code yet. What I have been doing so far, though... I've been trying to track down the history of Baloo and which part does what. Also looking at past backends and what decisions were taken that ended up with Baloo in the state that it is today. I spoke to Pinak privately and he's volunteered to write some documentation over the weekend. I've also been looking at why Baloo doesn't use something like Xapian (which is made for use-cases like Baloo) and I was pointed to this: https://community.kde.org/Baloo/XapianProblems. Looks like the whole rationale boils down to - we have so much custom code over Xapian we might as well just have custom code over LMDB instead, it's faster. I have a long journey (an actual journey, flights, buses, the whole deal) ahead of me and I'll have some time to think about a long-term plan for Baloo. It may involve killing it and working against Tracker, or it may even involve putting more custom code into it. Whatever the decision is, I'm going to try and justify the effort involved before I present my plan to everyone here. So far I'm leaning towards either a safer wrapper around LMDB or a custom Key Value Database (basically a reimplimentation of Bitcask in C++) for which we can ensure the presence of a Qt-friendly "safe" C++ API, to armour the database code. I actually think Baloo in its current form is very well designed; for example, using the filesystem as a database is pure genius. It's just sloppily executed and the code quality could do with... some work. I think wrapping the Database bits into a more modular and reusable component was part of Vishesh's plans anyway, because other bits of KDE would like to re-use them. Anyway, enough rambling. I should have something in a few days. Thanks, Boudhayan