What's new in KReport & KProperty & Predicate

Jaroslaw Staniek staniek at kde.org
Mon May 11 14:05:07 BST 2015


On 11 May 2015 at 13:05, Adam Pigg <piggz1 at gmail.com> wrote:
> Wasn't I writing an example app?
>
> Am able to start it tonight.

Sweet, how about a relay race?
I'll commit simple rendering code in 20 minutes to examples/ (please
work in the branch or better create your own).

Random ideas about the app:
- The goal: testing public APIs (for existence and usability),
demonstration for a non-trivial problem, finally, preparing the port
of Kexi to KReport.

- Data source not from KDb/Predicate/CalligraDb but from a simple data
structure (a list of maps?)

- Render a nontrivial document (maybe can be created with Kexi, dumped
into file and loaded, what is  good because we'd like to perfectly
support Kexi 2.x's Reports

- Create a number of actions for the main window -- plug all
export/print options we have (in KexiReportView::KexiReportView).
Later (>3.0?) we would move some of them to KReport from Kexi Reports.

PS: As can be spotted in the commits I did not rename Ko* classes to
K* _unless_ some class changes considerably. A more global change in
this area has a lower priority and it seems that we have enough of
similar fun with the Predicate->KDb change.

PPS: I _recommend_ everyone who follows it to try the plugins-staniek
branch of KReport and report any issues or ideas.

> Sent from my BlackBerry 10 smartphone.
>   Original Message
> From: Jaroslaw Staniek
> Sent: Monday, 11 May 2015 11:58 AM
> To: Calligra Suite developers and users mailing list
> Reply To: Calligra Suite developers and users mailing list
> Cc: kexi-devel at kde.org
> Subject: Re: What's new in KReport & KProperty & Predicate
>
> Hi,
> Update for KReport:
> Both static (compiled in) and normal plugins load. We use the new
> KPluginMetaData stuff.
> I am working on example app that uses all this to show report preview,
> then the report designer.
>
> See the plugins-staniek branch of
> ssh://git@git.kde.org/clones/kreport/staniek/work
>
>
> commit bea4cc4e4d87fe42bca1239bb936c9ced94e76b2
> Author: Jaroslaw Staniek <staniek at kde.org>
> Date: Mon May 11 12:47:27 2015 +0200
>
> Cleanup the prerenderer a bit
>
> commit 5737f59af4c618c0e711ea9421e2b0a033fc85f6
> Author: Jaroslaw Staniek <staniek at kde.org>
> Date: Mon May 11 11:41:07 2015 +0200
>
> Implement built-in and static plugins style API, use KPluginMetaData
>
> commit c708a48c394c6937cc3519dd5c36124790118225
> Author: Jaroslaw Staniek <staniek at kde.org>
> Date: Sat May 9 21:35:51 2015 +0200
>
> Move internal includes to build-interface; more forwarding headers
>
> commit 89522a401edb86f80fc7d3b3bd74e4e1308f6863
> Author: Jaroslaw Staniek <staniek at kde.org>
> Date: Fri May 8 01:39:00 2015 +0200
>
> build plugins/barcode/
>
> commit 17cfa98c811ac8457b1031543ff301fd2b17446d
> Author: Jaroslaw Staniek <staniek at kde.org>
> Date: Fri May 8 01:37:47 2015 +0200
>
> add dep on KF5 CoreAaddons
>
> commit 49205bee7ba3be6b6d57766f22d5aab21b259169
> Author: Jaroslaw Staniek <staniek at kde.org>
> Date: Fri May 8 01:36:39 2015 +0200
>
> share internal includes between plugins and tests
>
>
> On 27 April 2015 at 18:06, Jaroslaw Staniek <staniek at kde.org> wrote:
>> 2.9.3 is tagged and will be released on 29th so no new fixes will go
>> into this version. If you're interested (you are, right?) please keep
>> finding reporting bugs/wishes for improvements so they'd be part of
>> 2.9.4 (before May 23rd [1]). Browse forums, there are requests that
>> have to be formulated a bit more clearly in form of bug reports. Don't
>> afraid to ask and continue discussions.
>>
>> Thanks a lot to everyone who contributed to Kexi 2.9.3!
>>
>> In the meantime I am a back to porting 3.x again. This is the usual cycle.
>>
>> [1] https://community.kde.org/Calligra/Schedules/2.9/Release_Plan
>>
>> On 21 April 2015 at 09:33, Jaroslaw Staniek <staniek at kde.org> wrote:
>>> Hi
>>> Update: 2.9.3 Tagging is set to April 25th, and I am planning to drag
>>> some fixes to Kexi by that date.
>>> I encourage you to join this effort this week by testing and reporting
>>> any issues. Even small notes are helpful, especially if there's an
>>> easy fix :)
>>>
>>> This means less work on the porting side until 26th.
>>>
>>> On 20 April 2015 at 00:54, Jaroslaw Staniek <staniek at kde.org> wrote:
>>>> Hi,
>>>> More updates: dirty code for the plugin manager: see my private clone
>>>> of kreport.
>>>>
>>>> commit 46e2f69fcdd77bb11b40fe73a03fbaafe060a479
>>>> add the initial plugins autotest (doesn't build for now)
>>>>
>>>> commit 0c681d4062cf58a606b454deaafb6c2bc0582038
>>>> Add a new plugin system (UNFINISHED)
>>>>
>>>>
>>>> On 19 April 2015 at 21:54, Jaroslaw Staniek <staniek at kde.org> wrote:
>>>>> On 18 April 2015 at 19:27, Jaroslaw Staniek <staniek at kde.org> wrote:
>>>>>> New code in kreport, please read:
>>>>>>
>>>>>> + 1a13b092b091e0dd8cbe72d091a666ed6ee24eab Port KoPageFormat to Qt5
>>>>>> + a730d9b164f9165fe326fd6833e7391c3d127e0c Port
>>>>>> KGlobalSettings::smallestReadableFont()
>>>>>> + 2627fcb9d787c271c6c7fd50f0aa1cc0bfbfbade Port from KTemporaryFile
>>>>>> + 844a355f0367545ca0b7c3e3ca1a0d09c7c04f3b More ifdefs for scripting code
>>>>>> + 6eef4d819113af81369cac0f445148e66ae782b4 most dependent libs are private
>>>>>> + 4a1cdfe33d3af764dfee297da760d48f68578dcb Remove unused method declaration
>>>>>> + c55078ae3c653c82feaf1428bc11de6e2318f2cb Temporarily disable ods/odt renderers
>>>>>
>>>>> 1. The above means KReport links, btw :)
>>>>>
>>>>> 2. I've added to https://community.kde.org/Kexi/Porting_to_Qt%26KF_5
>>>>> the following:
>>>>>
>>>>> "Add tests and/or examples to KReport, make it easier to understand as
>>>>> a framework; Port some code from Kexi Reports (e.g. KexiReportView) to
>>>>> KReport "
>>>>>
>>>>> This means... larger refactoring would be needed in Kexi/KReport to
>>>>> make this true. This is why I propose to have it in post-3.0. This
>>>>> does not mean unit test cannot be added now. Please consider adding
>>>>> that... KReport has none!
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>>
>>>>>> On 16 April 2015 at 23:15, Jaroslaw Staniek <staniek at kde.org> wrote:
>>>>>>> Hi!
>>>>>>> Update:
>>>>>>> - I am keeping new changes to kreport in
>>>>>>> http://quickgit.kde.org/?p=clones%2Fkreport%2Fstaniek%2Fwork.git
>>>>>>> @Adam, could you please review? These big boring patches do not fit to
>>>>>>> reviewboard too much.
>>>>>>>
>>>>>>> - I am finalizing the plugin manager work for kreport to make it as
>>>>>>> recommended in https://community.kde.org/Calligra/Schedules/3.0/Porting_Notes#Plugin_system
>>>>>>>
>>>>>>> See also the updated
>>>>>>> https://community.kde.org/Calligra/Schedules/3.0/Porting_Plan for more
>>>>>>> overview.
>>>>>>>
>>>>>>> On 13 April 2015 at 00:43, Jaroslaw Staniek <staniek at kde.org> wrote:
>>>>>>>> Update:
>>>>>>>> - Everything what's enabled in KReport (the *Manager isn't) compiles
>>>>>>>> - Predicate rename to KDb in progress, for code see my kdb branch or
>>>>>>>> the scratch repo:
>>>>>>>> http://quickgit.kde.org/?p=clones%2Fpredicate%2Fstaniek%2Fwork.git&a=shortlog&h=c7751f3846b9054244337c887836e28ccae485bd
>>>>>>>>
>>>>>>>> On 9 April 2015 at 10:45, Jaroslaw Staniek <staniek at kde.org> wrote:
>>>>>>>>> Please publish the patch as an attachment as we did before.
>>>>>>>>> We're waiting for admins and systems to synchronize everything.
>>>>>>>>>
>>>>>>>>> Sure, I don't touch kreport to avoid conflicts :)
>>>>>>>>> Just updating calligra frameworks branch to reflect changes that
>>>>>>>>> happened to koproperty.
>>>>>>>>>
>>>>>>>>> On 9 April 2015 at 08:01, Adam Pigg <piggz1 at gmail.com> wrote:
>>>>>>>>>> Excellent, I've got a lot of changes to push to kreport, am I waiting for rb to work?
>>>>>>>>>>
>>>>>>>>>> Sent from my BlackBerry 10 smartphone.
>>>>>>>>>> Original Message
>>>>>>>>>> From: Jaroslaw Staniek
>>>>>>>>>> Sent: Wednesday, 8 April 2015 11:45 PM
>>>>>>>>>> To: kexi-devel at kde.org
>>>>>>>>>> Reply To: Calligra Suite developers and users mailing list
>>>>>>>>>> Cc: Calligra Suite developers and users mailing list
>>>>>>>>>> Subject: Re: What's new in KReport & KProperty & Predicate
>>>>>>>>>>
>>>>>>>>>> Hi All,
>>>>>>>>>> Update: KProperty and KReport frameworks have moved to the official places:
>>>>>>>>>>
>>>>>>>>>> git clone kde:kproperty
>>>>>>>>>> git clone kde:kreport
>>>>>>>>>>
>>>>>>>>>> The page [1] has been updated accordingly.
>>>>>>>>>>
>>>>>>>>>> Notes
>>>>>>>>>> 0. Consider API and state of KProperty ready to use within Calligra
>>>>>>>>>> (for now Kexi and Plan) and elsewhere (if someone is in need)
>>>>>>>>>> 1. There won't be pushes with --force anymore for kproperty and kreport :)
>>>>>>>>>> 2. The reviewboard will be available soon and all usual infrastructure
>>>>>>>>>> you know from the KDE repos.
>>>>>>>>>> 3. kreport still doesn't build fully (this is a dependency for porting
>>>>>>>>>> of Kexi and Plan)
>>>>>>>>>> 4. please coordinate planned changes with me, innocent changes such as
>>>>>>>>>> file renames may set your patch hard to apply.
>>>>>>>>>> 5. predicate stays in the scratch repo for some time awaiting history
>>>>>>>>>> editing, until we get proper dir layout
>>>>>>>>>>
>>>>>>>>>> [1] https://community.kde.org/Kexi/Porting_to_Qt%26KF_5
>>>>>>>>>>
>>>>>>>>>> On 6 April 2015 at 16:17, Jaroslaw Staniek <staniek at kde.org> wrote:
>>>>>>>>>>> Update:
>>>>>>>>>>> - cmake build scripts for KProperty and KReport are largely following
>>>>>>>>>>> the conventions of KF5 and e.g. KDiagram
>>>>>>>>>>> - KProperty now uses CamelCase filenames and (mostly) the convention
>>>>>>>>>>> of KProperty prefix for class names (so the KoProperty namespace is
>>>>>>>>>>> removed)
>>>>>>>>>>> - Consider KProperty are almost ready for placing in the final
>>>>>>>>>>> repository. Example app in examples/ subdir works.
>>>>>>>>>>> - part of the KReport is ported to use QLatin1String where needed,
>>>>>>>>>>> also some includes are fixed; Adam is helping with this right now
>>>>>>>>>>>
>>>>>>>>>>> TODO:
>>>>>>>>>>> - more QLatin1String and include fixes for KReport
>>>>>>>>>>> - port KReport to the new KProperty naming conventions
>>>>>>>>>>> - some test app for KReport would help us to verify it without waiting
>>>>>>>>>>> for Kexi to be ported
>>>>>>>>>>>
>>>>>>>>>>> Feel free to test and report any ideas/issues.
>>>>>>>>>>>
>>>>>>>>>>> On 3 April 2015 at 01:07, Jaroslaw Staniek <staniek at kde.org> wrote:
>>>>>>>>>>>> Hi,
>>>>>>>>>>>> There's a number of new commits in the temporary repos [0].
>>>>>>>>>>>> A short update and proposed plans.
>>>>>>>>>>>> Let's make them work, test them so they're not blockers for porting
>>>>>>>>>>>> Kexi anymore.
>>>>>>>>>>>>
>>>>>>>>>>>> (we're assuming KF5 frameworks are installed from packages or built
>>>>>>>>>>>> with the great kdesrc-build tool [1])
>>>>>>>>>>>>
>>>>>>>>>>>> KProperty:
>>>>>>>>>>>> - builds and installs
>>>>>>>>>>>> - includes changes from Adam [2]
>>>>>>>>>>>> - includes all changes from calligra/2.9
>>>>>>>>>>>> - headers install to include/KProperty
>>>>>>>>>>>>
>>>>>>>>>>>> KReport:
>>>>>>>>>>>> - includes changes from Adam [3]
>>>>>>>>>>>> - TODO: more build would work if "find_package(KProperty REQUIRED)" works
>>>>>>>>>>>> - TODO: add the central CMakeLists.txt, like in KProperty, for now we
>>>>>>>>>>>> have to build kreport/src/.
>>>>>>>>>>>> - TODO: install headers to include/KReport
>>>>>>>>>>>>
>>>>>>>>>>>> Predicate:
>>>>>>>>>>>> - not much recently, needs more patches ported from calligra/2.9,
>>>>>>>>>>>> please help with this
>>>>>>>>>>>> - soon also this [4]
>>>>>>>>>>>>
>>>>>>>>>>>> All three:
>>>>>>>>>>>> - TODO: dig in their central CMakeLists.txt files to make them
>>>>>>>>>>>> configure similarly to KF5 packages so line such as "find_package(....
>>>>>>>>>>>> REQUIRED)" adds necessary include path for the users of the libs;
>>>>>>>>>>>> volunteers needed here
>>>>>>>>>>>> - TODO: once we have all three usable, porting scripts will be in use
>>>>>>>>>>>> - Note: no calligra activities from the 'frameworks' branch of
>>>>>>>>>>>> calligra affect these 3 libs because the 'frameworks' branch no longer
>>>>>>>>>>>> contains their code (so no merges from 'frameworks' are expected, only
>>>>>>>>>>>> small merges by hand for bugfixes from calligra/2.9)
>>>>>>>>>>>>
>>>>>>>>>>>> [0] https://community.kde.org/Kexi/Porting_to_Qt%26KF_5
>>>>>>>>>>>> [1] https://community.kde.org/Frameworks/Building
>>>>>>>>>>>> [2] https://git.reviewboard.kde.org/r/123038/
>>>>>>>>>>>> [3] https://git.reviewboard.kde.org/r/123039/
>>>>>>>>>>>> [4] https://git.reviewboard.kde.org/r/122015/
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> regards, Jaroslaw Staniek
>>>>>>>>>>>>
>>>>>>>>>>>> KDE:
>>>>>>>>>>>> : A world-wide network of software engineers, artists, writers, translators
>>>>>>>>>>>> : and facilitators committed to Free Software development - http://kde.org
>>>>>>>>>>>> Calligra Suite:
>>>>>>>>>>>> : A graphic art and office suite - http://calligra.org
>>>>>>>>>>>> Kexi:
>>>>>>>>>>>> : A visual database apps builder - http://calligra.org/kexi
>>>>>>>>>>>> Qt Certified Specialist:
>>>>>>>>>>>> : http://www.linkedin.com/in/jstaniek
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> regards, Jaroslaw Staniek
>>>>>>>>>>>
>>>>>>>>>>> KDE:
>>>>>>>>>>> : A world-wide network of software engineers, artists, writers, translators
>>>>>>>>>>> : and facilitators committed to Free Software development - http://kde.org
>>>>>>>>>>> Calligra Suite:
>>>>>>>>>>> : A graphic art and office suite - http://calligra.org
>>>>>>>>>>> Kexi:
>>>>>>>>>>> : A visual database apps builder - http://calligra.org/kexi
>>>>>>>>>>> Qt Certified Specialist:
>>>>>>>>>>> : http://www.linkedin.com/in/jstaniek
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> regards, Jaroslaw Staniek
>>>>>>>>>>
>>>>>>>>>> KDE:
>>>>>>>>>> : A world-wide network of software engineers, artists, writers, translators
>>>>>>>>>> : and facilitators committed to Free Software development - http://kde.org
>>>>>>>>>> Calligra Suite:
>>>>>>>>>> : A graphic art and office suite - http://calligra.org
>>>>>>>>>> Kexi:
>>>>>>>>>> : A visual database apps builder - http://calligra.org/kexi
>>>>>>>>>> Qt Certified Specialist:
>>>>>>>>>> : http://www.linkedin.com/in/jstaniek
>>>>>>>>>> _______________________________________________
>>>>>>>>>> calligra-devel mailing list
>>>>>>>>>> calligra-devel at kde.org
>>>>>>>>>> https://mail.kde.org/mailman/listinfo/calligra-devel
>>>>>>>>>> _______________________________________________
>>>>>>>>>> calligra-devel mailing list
>>>>>>>>>> calligra-devel at kde.org
>>>>>>>>>> https://mail.kde.org/mailman/listinfo/calligra-devel
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> regards, Jaroslaw Staniek
>>>>>>>>>
>>>>>>>>> KDE:
>>>>>>>>> : A world-wide network of software engineers, artists, writers, translators
>>>>>>>>> : and facilitators committed to Free Software development - http://kde.org
>>>>>>>>> Calligra Suite:
>>>>>>>>> : A graphic art and office suite - http://calligra.org
>>>>>>>>> Kexi:
>>>>>>>>> : A visual database apps builder - http://calligra.org/kexi
>>>>>>>>> Qt Certified Specialist:
>>>>>>>>> : http://www.linkedin.com/in/jstaniek
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> regards, Jaroslaw Staniek
>>>>>>>>
>>>>>>>> KDE:
>>>>>>>> : A world-wide network of software engineers, artists, writers, translators
>>>>>>>> : and facilitators committed to Free Software development - http://kde.org
>>>>>>>> Calligra Suite:
>>>>>>>> : A graphic art and office suite - http://calligra.org
>>>>>>>> Kexi:
>>>>>>>> : A visual database apps builder - http://calligra.org/kexi
>>>>>>>> Qt Certified Specialist:
>>>>>>>> : http://www.linkedin.com/in/jstaniek
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> regards, Jaroslaw Staniek
>>>>>>>
>>>>>>> KDE:
>>>>>>> : A world-wide network of software engineers, artists, writers, translators
>>>>>>> : and facilitators committed to Free Software development - http://kde.org
>>>>>>> Calligra Suite:
>>>>>>> : A graphic art and office suite - http://calligra.org
>>>>>>> Kexi:
>>>>>>> : A visual database apps builder - http://calligra.org/kexi
>>>>>>> Qt Certified Specialist:
>>>>>>> : http://www.linkedin.com/in/jstaniek
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> regards, Jaroslaw Staniek
>>>>>>
>>>>>> KDE:
>>>>>> : A world-wide network of software engineers, artists, writers, translators
>>>>>> : and facilitators committed to Free Software development - http://kde.org
>>>>>> Calligra Suite:
>>>>>> : A graphic art and office suite - http://calligra.org
>>>>>> Kexi:
>>>>>> : A visual database apps builder - http://calligra.org/kexi
>>>>>> Qt Certified Specialist:
>>>>>> : http://www.linkedin.com/in/jstaniek
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> regards, Jaroslaw Staniek
>>>>>
>>>>> KDE:
>>>>> : A world-wide network of software engineers, artists, writers, translators
>>>>> : and facilitators committed to Free Software development - http://kde.org
>>>>> Calligra Suite:
>>>>> : A graphic art and office suite - http://calligra.org
>>>>> Kexi:
>>>>> : A visual database apps builder - http://calligra.org/kexi
>>>>> Qt Certified Specialist:
>>>>> : http://www.linkedin.com/in/jstaniek
>>>>
>>>>
>>>>
>>>> --
>>>> regards, Jaroslaw Staniek
>>>>
>>>> KDE:
>>>> : A world-wide network of software engineers, artists, writers, translators
>>>> : and facilitators committed to Free Software development - http://kde.org
>>>> Calligra Suite:
>>>> : A graphic art and office suite - http://calligra.org
>>>> Kexi:
>>>> : A visual database apps builder - http://calligra.org/kexi
>>>> Qt Certified Specialist:
>>>> : http://www.linkedin.com/in/jstaniek
>>>
>>>
>>>
>>> --
>>> regards, Jaroslaw Staniek
>>>
>>> KDE:
>>> : A world-wide network of software engineers, artists, writers, translators
>>> : and facilitators committed to Free Software development - http://kde.org
>>> Calligra Suite:
>>> : A graphic art and office suite - http://calligra.org
>>> Kexi:
>>> : A visual database apps builder - http://calligra.org/kexi
>>> Qt Certified Specialist:
>>> : http://www.linkedin.com/in/jstaniek
>>
>>
>>
>> --
>> regards, Jaroslaw Staniek
>>
>> KDE:
>> : A world-wide network of software engineers, artists, writers, translators
>> : and facilitators committed to Free Software development - http://kde.org
>> Calligra Suite:
>> : A graphic art and office suite - http://calligra.org
>> Kexi:
>> : A visual database apps builder - http://calligra.org/kexi
>> Qt Certified Specialist:
>> : http://www.linkedin.com/in/jstaniek
>
>
>
> --
> regards, Jaroslaw Staniek
>
> KDE:
> : A world-wide network of software engineers, artists, writers, translators
> : and facilitators committed to Free Software development - http://kde.org
> Calligra Suite:
> : A graphic art and office suite - http://calligra.org
> Kexi:
> : A visual database apps builder - http://calligra.org/kexi
> Qt Certified Specialist:
> : http://www.linkedin.com/in/jstaniek
> _______________________________________________
> calligra-devel mailing list
> calligra-devel at kde.org
> https://mail.kde.org/mailman/listinfo/calligra-devel
> _______________________________________________
> calligra-devel mailing list
> calligra-devel at kde.org
> https://mail.kde.org/mailman/listinfo/calligra-devel



-- 
regards, Jaroslaw Staniek

KDE:
: A world-wide network of software engineers, artists, writers, translators
: and facilitators committed to Free Software development - http://kde.org
Calligra Suite:
: A graphic art and office suite - http://calligra.org
Kexi:
: A visual database apps builder - http://calligra.org/kexi
Qt Certified Specialist:
: http://www.linkedin.com/in/jstaniek



More information about the calligra-devel mailing list