JUN
23
2015

Kexi 3!

I am happy to say that Pre-Alpha edition of ‪Kexi‬ 3.0 runs nicely already after like 3 weeks of porting! Especially its tabular view work out of the box for me after fixing the last compilation error with zero fixes needed in the functionality.

Porting for the porting itself would not be an interesting goal. As you see on the picture Kexi 3.0 uses KDE Frameworks 5. With Qt 5.4 it's More compact, faster, closer to mobile devices. And a 1st class citizen called Windows version has to come to reach the wide audience.

Under the mask Kexi uses a new business apps-oriented KDb framework (kde:kdb - try it, LGPL), formely called Predicate and KexiDB. KDb is a database connectivity and creation framework, consisted of a general-purpose C++ Qt library and set of plugins delivering support for various database vendors. More about it in following posts maybe with code snippets that would explain why would you want to do the same in a few mouse clicks in a visual designer and 200 lines of code instead of inventing own data abstractions in a plain source code.

A big fraction of the porting effort went into KDb, KReport and KProperty.

KReport (kde:kreport repository, LGPL) is a framework for the creation and generation of reports in multiple formats. Think of a SAP Crystal Reports or MS Access reports but Qt friendly and extensible and fully FOSS. So far it was a gem hidden in Kexi code, long ago forked from the OpenRPT.

KProperty (kde:kproperty repository, LGPL) is a property editing framework with editor widget similar to what is known from Qt Designer. It has some candies over competitors of the same sort. I found out that developers often use a traditional list box with Add/Delete/Edit buttons instead of an inline property editor widget. Of course they do if this so far was the fastest path to get things done.

The biggest FOSS user of KDb is Kexi at the moment and KProperty and KReport are already used by Kexi and Calligra Plan. All three repos are very KF5-like so you'd feel at home. None of the code of the libs and Kexi actually uses kdelibs4support. Note: KReport's API will cleaned up after Calligra 3.0 release but the lib is so high-level one that porting is a relatively quick task. If you're interested in using any of the libs at this pre-release stage, we at Calligra are truly interested in knowing your needs and opinions.

The source code of Kexi 3 itself (LGPL) sits in a kexi-frameworks{N}-staniek branch of the kde:calligra repository where so far N=6, and will increase soon as I rebase the mainline. Common building shared for entire Calligra 3 is explaned at https://community.kde.org/Calligra/Building/3 (work in progress). To configure, make sure required dependencies are met and type 'cmake -DPRODUCTSET=kexi -DCMAKE_INSTALL_PREFIX=~/dev/inst5 -DCMAKE_BUILD_TYPE=Debug path/to/source'. PRODUCTSET=kexi picks Kexi only; if you want more of Calligra, adjust it to your needs.

Comments

Very excited by all this, I've long wanted to write a cross-platform Genealogy database app with lots of charting and reporting and writing and media stuff built-in for which Calligra seemed an ideal base, but requiring the users to have a whole monolithic Calligra to be installed was always going to be a pain. Having it all broken out is far better, now all I have to do is find the time to write it! :-)


By John Layt at Tue, 06/23/2015 - 10:26

Thanks John. Feel free to share your needs on the forum https://forum.kde.org/kexi. As for the dependencies, they have never been very large compared to any competition, see http://packages.ubuntu.com/vivid/kexi for example. But yes, this improves every day. A lot depends on how distributor splits all that and they've been doing a pretty good job. Of course the real test are mobile/embedded platforms.


By Jarosław Staniek at Tue, 06/23/2015 - 10:40

It's incredible that a year later, there's still no Kexi 3 nor Calligra 3. I know it's a matter of manpower, not that developers are getting drunk and going to the prostitutes all the time, LOL. So, please do more fundraising campaigns to hire professional programmes 35 hours a week. The "Donate" buttons aren't enough, obviously (besides, many people just hate paypal). Make more public, visible campaigns, please. Also, I think KDE should be more involved in universitary life, especially in non-english speaking countries. I'm sure a los of contributors are lost due to that lack of support for everyone who doesn't speak english, and there we have thousands of programmers in southern Europe or Hispanic America who just know english to ask for a beer when in vacation but have a good instruction in informatics and could very well collaborate if KDE, as an organization, were less "culturally colonialist" and involved more in universitary life al around the world. This should, oviously, be a task for the regional KDE groups, but KDE development teams would need to make an internationalization effort and allow communications in other languages than english, I'm sure the number of coding contributors from America, Asia, Europe and Africa would increase a lot.
I do know (from my brother) that some students in southern Europe feel really attracted to FLOSS and consider to start and collaborate in FLOSS projects for ther end of studies final project but desist when they see that besides the difficulties of their project they have also to live with an english dictionary (concretely, a technical, computer-related, english dict) as their best companion. So, they abandon the idea and start their little app for Android, or Windows, where they have all the documentation and thousand of collaborators in ther native language.

Seriously, I know this is a difficult issue, and that KDE (FLOSS guys, in general) don't want to face and prefer to pretend that everybody feels comfortable in english, and that if there's low manpower that's a pity they cannot do anything to solve. The reality is not that, and as result we are like this: a year later your promising annoucement about Kexi's progress, and still we don't have an usable and stable 3.x version. And this happens all the time with all the projects: a big announcement that runs through blogs, forums, etc, and then, stalling. It's the "panem nostrum quotidianum" in FLOSS development (well, excepting Firefox, VLC, Wordpress, & al).
So, please, make more frequent and big fundraising campaigns to hire a couple of full time programmers, and get more involved in informatics students ambient all around the world, not only in north american or indian universities; allow multilingual groups, forums, bug reports, ideas, etc. I don't say this would be the perfect solution and voluntary developers would multiply by 100, but I'm sure they would increase a lot.
Do you think Wikipedia would be the "de facto" online encyclopedia all over the planet it is today if only english speaking groups of editors had been allowed? I don't. Take example from the Android world: thousands of developers from all the world who get and sometimes answer bug reports and features requets ideas, etc, in every language, because Google Play is perfectly translated and allows users to send comments in their mother languages. The result is that developers have even too much bug reports and situations like "I can't reproduce you bug, sorry" we read tons of times when reporting bugs, is almos inexistent in Android.
Please, think and comment with other developers and KDE organizators about it.

Best regards, and good luck, we (you, devs, and we, users) need it.


By Ruiz at Mon, 05/09/2016 - 16:25