Difference between revisions of "Projects/KMyMoney"

Jump to: navigation, search
(Added 4.6.4 release schedule.)
(96 intermediate revisions by 10 users not shown)
Line 1: Line 1:
This page is dedicated to discuss issues related to the port to KDE4.
+
This page is dedicated to technical aspects of KMyMoney for KDE Platform 4. If you are looking for other info, or the source tarball, go to the official page of [http://kmymoney.org KMyMoney].
  
 +
[[Image:kmm_4_splash.png]]
  
== Guidelines ==
+
== Available versions  ==
 +
=== Latest release ===
  
As a first step, we are leaving Qt3Support, if possible.
+
[http://sourceforge.net/projects/kmymoney2/files/KMyMoney-KDE4/4.6.3/kmymoney-4.6.3.tar.bz2/download KMyMoney 4.6.3] has been released on September 3rd 2012.
There are cases when it is best to port to the corresponding Qt4 classes.
+
Examples of these are the QButtonGroups, KActions, KPageWidget, QTabBar
+
  
For now, focus on make it work. Assess whether it will be faster using Qt3Support or a newer class.
+
Alternatively, you can get the source from the [https://projects.kde.org/projects/extragear/office/kmymoney KDE Git]. (see link below)
  
The repository to use is the one in KDE SVN. svn://anonsvn.kde.org/home/kde/trunk/playground/office/kmymoney.
+
=== Obsolete releases ===
 +
[http://sourceforge.net/projects/kmymoney2/files/KMyMoney-KDE4/4.6.2/kmymoney-4.6.2.tar.bz2/download KMyMoney 4.6.2] has been released on February 4th 2012.
  
 +
[http://sourceforge.net/projects/kmymoney2/files/KMyMoney-KDE4/4.6.1/kmymoney-4.6.1.tar.bz2/download KMyMoney 4.6.1] has been released on November 6th 2011.
  
== Blocking issues ==
+
[http://sourceforge.net/projects/kmymoney2/files/KMyMoney-KDE4/4.6.0/kmymoney-4.6.0.tar.bz2/download KMyMoney 4.6.0] has been released on August 8th 2011.
These are the issues that need to be fixed first before releasing a beta version.
+
*<s>Entering a transaction and hitting an account limit will get the application in a loop which ends in a crash</s>
+
*<s>Reinvest dividend transaction form never enables the Enter button</s>
+
*Enter does not work for transaction enter, only Return does.(not as important as the other, but it's a nag in a main part of the application)
+
*<s>Port AqBanking plugin</s> ''Note: KBanking compiles against at Qt4 AqBanking. Still need to test if it really works (ipwizard)''
+
* There are a couple of occurrences of '''Uninitialized variables''' warnings during the build. We should fix those.
+
* Several files are rebuilt if '''make''' is executed twice in a row.
+
  
== Areas known to work ==
+
[http://sourceforge.net/projects/kmymoney2/files/KMyMoney-KDE4/4.5.3/kmymoney-4.5.3.tar.bz2/download KMyMoney 4.5.3] has been released on February 13rd 2011.
I thought that we can put here a list of features that are known to work (after a developer testing):
+
  
 +
[http://sourceforge.net/projects/kmymoney2/files/KMyMoney-KDE4/4.5.2/kmymoney-4.5.2.tar.bz2/download KMyMoney 4.5.2] has been released on December 23rd 2010.
  
{|- border="1"
+
[http://sourceforge.net/projects/kmymoney2/files/KMyMoney-KDE4/4.5.1/kmymoney-4.5.1.tar.bz2/download KMyMoney 4.5.1] has been released on November 14th 2010.
!Area
+
!Status
+
!Comments
+
|-  
+
|Tips and tricks
+
| Working
+
|
+
|-
+
| Home Page
+
| Working
+
|
+
|-
+
| Institutions
+
| Working
+
|
+
|-
+
| Accounts
+
| Working
+
|
+
|-
+
| Ledgers
+
| Working
+
| The cancel transaction dialog keeps coming up in random situations
+
|-
+
| Schedules
+
| Working
+
|
+
|-
+
| Categories
+
| Working
+
|
+
|-
+
| Payees
+
| Working
+
|
+
|-
+
| Investments
+
| Working
+
|
+
|-
+
| Reports
+
| Working
+
|
+
|-
+
| Charts
+
| Working
+
|
+
|-
+
| Budgets
+
| Working
+
|
+
|-
+
| Forecast
+
| Working
+
|
+
|-
+
| Splash screen
+
| Working
+
|
+
|-
+
| Settings
+
| Working
+
|
+
|-
+
| Webconnect
+
| Working
+
|
+
|-
+
| Plugins
+
| Working
+
| KBanking plugin needs to be ported to KDE4 and added to the source tree
+
|-
+
| Database 
+
| Working
+
| Passes unit tests for MySQL, PostgreSQL and SQLite3. (fvilas)
+
|-
+
| GPG
+
| Not Working
+
| Thomas will have to take a look at it
+
|}
+
  
== Areas to work on ==
+
[http://sourceforge.net/projects/kmymoney2/files/KMyMoney-KDE4/4.5/kmymoney-4.5.tar.bz2/download KMyMoney 4.5] has been released on August 16th 2010.
  
*Views
+
[http://sourceforge.net/projects/kmymoney2/files/KMyMoney-KDE4/3.98/kmymoney-3.98.1.tar.bz2/download KMyMoney 3.98.1] has been released on May 21st 2010.
*Dialogs
+
*Widgets
+
  
Also, here you have the KrazyEBN report, which reports common issues on the code.
 
[http://www.englishbreakfastnetwork.org/krazy/reports/playground/office/kmymoney/index.html Krazy Report]
 
  
Please include the areas you are working on to avoid overlapping with other developers.
+
[http://sourceforge.net/projects/kmymoney2/files/KMyMoney-KDE4/3.98.0/kmymoney-3.98.0.tar.bz2/download KMyMoney 3.98.0] has been released on May 15th 2010.
=== conet ===
+
The following are on my TODO list but that does not mean that I don't need any help on them:
+
*<s>Check all the KListView classes that save their layout and make sure that works (restoreLayout was called in polish() in the Institutions view and polish() is not called anymore)</s>(done)
+
*<s>Check what's up with the transaction form in the ledger</s>(done)
+
*<s>Work on the transaction form since I see it as the hardest thing to port and once it is done (with qt3 support) we can go one and work on the following bullet</s>(done)
+
*<s>Try to fix various small stuff that don't work yet until a usable application is obtained</s>(done)
+
*<s>Check for multiple instances. It was using DCOP, and it has to be migrated to a method suitable with DBus.</s>
+
*Port the KBanking plugin to KDE4 and add it the KMyMoney source tree
+
*Although the code that takes care of the drawing of the highlighter of the drop target in kmymoneyaccounttreebase.cpp was ported the drop target is not highlighted
+
  
=== asoliverez ===
+
[http://sourceforge.net/projects/kmymoney2/files/KMyMoney-KDE4/3.97.2/kmymoney-3.97.2.tar.bz2/download KMyMoney 3.97.2] has been released on Apr 6th 2010.
<s>I will work on the account selector, probably migrate it to Qt4 widgets, because it does all kinds of weird stuff that can be probably optimized.</s> (fixed by conet)
+
Working on the i18n and documentation issues with KDE-i18n team.
+
Also going through the Krazy report, and fixing issues there.
+
  
=== ipwizard ===
+
[https://sourceforge.net/projects/kmymoney2/files/KMyMoney-KDE4/3.96.1/kmymoney-3.96.1.tar.bz2/download KMyMoney 3.96.1] has been released on Feb 17th 2010.
I will try to keep the strings together and work on coordination for the integration of/with other KDE applications. On the code front maybe setting up the Qt-Designer plugin for the KMyMoney widgets.
+
  
* Getting the GPG encryption to work with either [http://api.kde.org/kdesupport-api/kdesupport-apidocs/qca/html/index.html QCA] or [http://api.kde.org/4.1-api/kdepim-apidocs/libkleo/html/index.html libkleo]
+
== Installation  ==
* Replace kMyMoneyDateInput with [http://api.kde.org/4.x-api/kdepim-apidocs/libkdepim/html/classKPIM_1_1KDateEdit.html KPIM::KDateEdit]
+
* Separate the base and constructed widgets into their own libs
+
  
=== fvilas ===
+
=== Requirements  ===
*<s>Convert the dialog allocations on the stack to use QPointer, per EBN point #5.</s>
+
*<s>Port the WebPriceQuote object.</s>
+
*<s>Port the QIF reader</s> and add test cases for it.
+
*Q3Table -> QTableWidget for transaction and register (postponed due to size of task. If anyone wants this, I can send you my patch so far, if not, I'll get back to it at some point.)
+
*<s>Q3ButtonGroup -> QButtonGroup port</s>
+
*General cleanup of deprecation warnings to quiet the build a bit
+
*<s>Q3BoxLayout -> QBoxLayout</s>
+
  
== Issues ==
+
KMyMoney depends on KDE SC 4.4+. Specifically on kdelibs and kde PIM libs. Additionally, you may want to install other libraries that will provide additional functionality:
  
Please report here the issues you find.
+
*libofx >= 0.9.2
 +
*Aqbanking >= 5.0.0
 +
*quote::finance
  
*Libkdchart has been commented out until last minute. Charts won't work until then
+
=== Installation steps  ===
*<s>Check for multiple instances. It was using DCOP, and it has to be migrated to a method suitable with DBus.</s> (conet)
+
*<s>There is a bug in KHTMLPart where you get weird results if you call write() many times. Save it to a QString and call write() once instead.</s> Done (ipwizard)
+
*<s>Q3ButtonGroup objects should be migrated to QButtonGroup. The Q3Support class is severely handicapped and there are no issues in porting to the new class.</s>
+
*Standard icon names have changed. Check the name of the icon being called if you see a default icon is being displayed.
+
*<s>The code that creates the title bar (the one with the blue image) has been commented out since it somehow was not visible and the other widgets got behind in making it impossible to click them with the mouse.</s>(the code has been ported it only needs a good color scheme)
+
*The kmymoney.css has to be updated to use the KDE4 styles.
+
  
== Areas to leave as they are for the moment ==
+
If possible, it is always preferred to use a package specifically prepared for your distribution.  However, if one is not available, or you want a more recent version, you can use the latest tarball.  If you really need the most recent version, such as to test a new bug fix, get the source from [https://projects.kde.org/projects/extragear/office/kmymoney KDE Git] at
 +
 +
* '''git://anongit.kde.org/kmymoney'''.
  
libkgpg is best left as it is for now. Thomas plans to do an overhaul of the whole class when there is time to use the library provided by the PIM libs (gpgme++). If anyone else gets around to work on it, please coordinate with Thomas
+
To install, read the README.cmake file in the root folder of the source. The basic steps are the following:
  
libkdchart is an extract from koffice. If we find a bug there, it is best to report it to the koffice maintainers
+
First, make sure you have uninstalled any old versions of kmymoney through your package manager and/or '''sudo make uninstall''' depending on how it was installed last time. Then:
  
The mymoney folder contains the engine. It is covered by the unit tests and they run ok. This is a critical area of the application, so check with Thomas or Alvaro before making a change.
+
$ mkdir build
 +
$ cd build
 +
$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr/
 +
$ make # This step may be needed twice
 +
$ make install
  
Of course, if you find a critical bug in any of these, let us know.
+
It is important that the prefix is the same one that is used by your already installed KDE software.  If it does not match, you will run into problems later.
 +
'''(The last step should be executed with admin privileges. Either switch to root or use sudo, or the appropriate steps for your installation)'''
  
== Mailing list ==
+
To execute, either look for KMyMoney on the Office menu, or type kmymoney in a console window.
https://mail.kde.org/mailman/listinfo/kmymoney-devel. Use it to discuss issues related to the port to KDE4.
+
  
== Coordination ==
+
=== Localization ===
 +
'''If you are installing from Git source, you need to install your locale files by hand. If you are installing from the tarball provided above, please skip this section.'''
  
Alvaro Soliverez is coordinating the KDE4 effort. You can reach me at asoliverez at gmail.com or on IRC under Hei_ku in the #kmymoney channel.
+
To localize you will need to download the appropriate kmymoney.po file from http://websvn.kde.org/trunk/l10n-kde4/&lt;country_code&gt;/messages/extragear-office/ (replace &lt;country_code&gt; with the correct one for your locale e.g. es would give http://websvn.kde.org/trunk/l10n-kde4/es/messages/extragear-office/) and then, either by switching to root or using sudo, do the following:
Alternatively, you can contact Thomas Baumgart on the developers list.
+
  
== People involved ==
+
*Copy the kmymoney.po file into /usr/share/locale/&lt;country_code&gt;/
 +
*In that folder run:
  
*mlaurent
+
  $ msgfmt kmymoney.po -o LC_MESSAGES/kmymoney.mo
*conet
+
*neoclust
+
*asoliverez
+
*tbaumgart aka ipwizard
+
*fvilas
+
*tonyb
+
  
(Contact the coordinator if you are willing to contribute)
+
  Note: use the msgfmt that comes with your distribution not the one needed for kmymoney2.
  
== Timeline ==
+
=== Debian dependencies ===
Have it ready for kdereview before the end of the year. Is it too optimistic?
+
 
 +
build-essential
 +
cmake
 +
kdelibs5-dev
 +
kdepimlibs5-dev
 +
libaqbanking29-dev
 +
libboost-graph-dev
 +
libfinance-quote-perl
 +
libgpgme11-dev
 +
libgwenhywfar47-dev
 +
libical-dev
 +
libjpeg62-dev
 +
libofx-dev
 +
libpng12-dev
 +
libsqlite3-dev
 +
libz-dev
 +
gettext
 +
 
 +
== Guidelines  ==
 +
 
 +
This version is only suitable for early adopters. It will behave fairly well, but the application might crash and you may lose some data. Make backups often.
 +
 
 +
For 3.95 version and later, we use the Bugzilla tracker at bugs.kde.org (BKO). Any bugs you find, please report it and assign to product kmymoney4. Also, if you need help write to kmymoney-devel@kde.org.
 +
 
 +
=== Link to Debian bugs ===
 +
The bugs in Debian tracker can be linked back to BKO
 +
 
 +
* Open a bug report in KDE Bug Tracking System (BTS)
 +
* Link it to Debian bug number using "forwarded". See http://www.debian.org/Bugs/server-control#forwarded
 +
* When the bug is fixed in KDE BTS, the status will be synced in Debian BTS too.
 +
 
 +
=== Obtain a useful backtrace on Windows  ===
 +
If you would like to create a bug report about an application crash on Windows you need to take care of the following to create a useful report:
 +
 
 +
* make sure that you can reproduce the crash
 +
* download the debug information that matches your version ([http://downloads.sourceforge.net/project/kmymoney2/KMyMoney-Windows/4.6.3/kmymoney-4.6.3-debug-info.7z 4.6.3])
 +
* extract the archive in a folder of your choice (in this example '''c:\temp\kmm-debug-info''') using 7z archiver
 +
* open '''cmd.exe'''
 +
* run '''set _NT_SYMBOL_PATH=c:\temp\kmm-debug-info'''
 +
* run '''"c:\Program Files\KMyMoney\bin\kdeinit4.exe" --terminate'''
 +
* run '''"c:\Program Files\KMyMoney\bin\kmymoney.exe"'''
 +
* try to reproduce the crash and use '''DrKonqi''' the KDE crash handler that appears when the application crashes (only on Windows 7) to report the crash on bugs.kde.org
 +
'''Notes''':
 +
* '''DrKonqi''' will inform you if the crash report is useful or not (it contains the debug information or not)
 +
* if '''DrKonqi''' says that the report is not useful something went wrong in the above steps
 +
* if you can't reproduce the crash immediately you can run KMyMoney for a while in an environment in which '''_NT_SYMBOL_PATH''' is defined as above (you can use a batch file for that)
 +
* when you no longer need the debug information you can safely delete the folder '''c:\temp\kmm-debug-info'''
 +
 
 +
== Release schedule  ==
 +
Development is active on trunk towards the next version, but neither the [http://community.kde.org/KMyMoney/Features/Plan46 feature set] nor the release plan have been completed and signed off yet. There is also a [http://community.kde.org/KMyMoney/Features/Future wishlist] of features which might be integrated in future releases.
 +
 
 +
=== Version 4.5.95 ===
 +
* First beta of what will be 4.6.0 (suitable for early adopters only)
 +
* Feature freeze on 28.05.2011
 +
* Release on 01.06.2011
 +
 
 +
=== Version 4.5.96 ===
 +
* Second beta on our way to 4.6.0 (suitable for early adopters only)
 +
* Release on 15.06.2011
 +
 
 +
=== Version 4.5.97 ===
 +
* First release candidate
 +
* Release on 30.06.2011
 +
 
 +
=== Version 4.6.0 ===
 +
* String freeze on 15.07.2011 (application) 22.07.2011 (documentation)
 +
* Bug freeze on 24.07.2011
 +
* Release on <s>01.08.2011</s> 08.08.2011
 +
 
 +
=== Version 4.6.1 ===
 +
* Release on <s>05.11.2011</s> 06.11.2011
 +
 
 +
=== Version 4.6.2 ===
 +
* Release on 04.02.2012
 +
 
 +
=== Version 4.6.3 ===
 +
* Release on 01.09.2012
 +
 
 +
=== Version 4.6.4 ===
 +
* Release on 06.10.2013
 +
 
 +
<!--
 +
<s>
 +
=== Version 3.95 ===
 +
First beta for KDE4
 +
Released on Dec 28th 2009
 +
Suitable only for early adopters only
 +
 
 +
=== Version 3.96 ===
 +
String freeze on Feb 1st 2010
 +
Release on Feb 15th 2010
 +
Suitable only for early adopters only
 +
 
 +
=== Version 3.97 ===
 +
String freeze on Mar 15th 2010
 +
Release on Mar 30th 2010
 +
Last beta
 +
 
 +
=== Version 3.98 ===
 +
String freeze on Apr 30th 2010
 +
Release on May 15th 2010
 +
First release candidate</s>
 +
 
 +
<s>After that, move to kdereview</s> done, now in extragear.
 +
 
 +
<s>[[/Release/announcement draft|announcement draft]]</s>
 +
 
 +
=== Version 4.5 ===
 +
<s>String freeze on Jul 26th 2010
 +
Bug freeze on Aug 13th 2010
 +
Release on Aug 16th 2010</s>
 +
 
 +
=== Version 4.5.1 ===
 +
<s>Release on November 14th 2010</s>
 +
 
 +
=== Version 4.5.2 ===
 +
<s>Release on December 23rd 2010</s>
 +
 
 +
=== Version 4.5.3 ===
 +
<s>Release on February 13rd 2011</s>
 +
-->

Revision as of 08:13, 29 August 2013

This page is dedicated to technical aspects of KMyMoney for KDE Platform 4. If you are looking for other info, or the source tarball, go to the official page of KMyMoney.

Kmm 4 splash.png

Contents

Available versions

Latest release

KMyMoney 4.6.3 has been released on September 3rd 2012.

Alternatively, you can get the source from the KDE Git. (see link below)

Obsolete releases

KMyMoney 4.6.2 has been released on February 4th 2012.

KMyMoney 4.6.1 has been released on November 6th 2011.

KMyMoney 4.6.0 has been released on August 8th 2011.

KMyMoney 4.5.3 has been released on February 13rd 2011.

KMyMoney 4.5.2 has been released on December 23rd 2010.

KMyMoney 4.5.1 has been released on November 14th 2010.

KMyMoney 4.5 has been released on August 16th 2010.

KMyMoney 3.98.1 has been released on May 21st 2010.


KMyMoney 3.98.0 has been released on May 15th 2010.

KMyMoney 3.97.2 has been released on Apr 6th 2010.

KMyMoney 3.96.1 has been released on Feb 17th 2010.

Installation

Requirements

KMyMoney depends on KDE SC 4.4+. Specifically on kdelibs and kde PIM libs. Additionally, you may want to install other libraries that will provide additional functionality:

  • libofx >= 0.9.2
  • Aqbanking >= 5.0.0
  • quote::finance

Installation steps

If possible, it is always preferred to use a package specifically prepared for your distribution. However, if one is not available, or you want a more recent version, you can use the latest tarball. If you really need the most recent version, such as to test a new bug fix, get the source from KDE Git at

To install, read the README.cmake file in the root folder of the source. The basic steps are the following:

First, make sure you have uninstalled any old versions of kmymoney through your package manager and/or sudo make uninstall depending on how it was installed last time. Then:

$ mkdir build
$ cd build
$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr/
$ make # This step may be needed twice
$ make install

It is important that the prefix is the same one that is used by your already installed KDE software. If it does not match, you will run into problems later. (The last step should be executed with admin privileges. Either switch to root or use sudo, or the appropriate steps for your installation)

To execute, either look for KMyMoney on the Office menu, or type kmymoney in a console window.

Localization

If you are installing from Git source, you need to install your locale files by hand. If you are installing from the tarball provided above, please skip this section.

To localize you will need to download the appropriate kmymoney.po file from http://websvn.kde.org/trunk/l10n-kde4/<country_code>/messages/extragear-office/ (replace <country_code> with the correct one for your locale e.g. es would give http://websvn.kde.org/trunk/l10n-kde4/es/messages/extragear-office/) and then, either by switching to root or using sudo, do the following:

  • Copy the kmymoney.po file into /usr/share/locale/<country_code>/
  • In that folder run:
  $ msgfmt kmymoney.po -o LC_MESSAGES/kmymoney.mo
  Note: use the msgfmt that comes with your distribution not the one needed for kmymoney2.

Debian dependencies

build-essential cmake kdelibs5-dev kdepimlibs5-dev libaqbanking29-dev libboost-graph-dev libfinance-quote-perl libgpgme11-dev libgwenhywfar47-dev libical-dev libjpeg62-dev libofx-dev libpng12-dev libsqlite3-dev libz-dev gettext

Guidelines

This version is only suitable for early adopters. It will behave fairly well, but the application might crash and you may lose some data. Make backups often.

For 3.95 version and later, we use the Bugzilla tracker at bugs.kde.org (BKO). Any bugs you find, please report it and assign to product kmymoney4. Also, if you need help write to kmymoney-devel@kde.org.

Link to Debian bugs

The bugs in Debian tracker can be linked back to BKO

Obtain a useful backtrace on Windows

If you would like to create a bug report about an application crash on Windows you need to take care of the following to create a useful report:

  • make sure that you can reproduce the crash
  • download the debug information that matches your version (4.6.3)
  • extract the archive in a folder of your choice (in this example c:\temp\kmm-debug-info) using 7z archiver
  • open cmd.exe
  • run set _NT_SYMBOL_PATH=c:\temp\kmm-debug-info
  • run "c:\Program Files\KMyMoney\bin\kdeinit4.exe" --terminate
  • run "c:\Program Files\KMyMoney\bin\kmymoney.exe"
  • try to reproduce the crash and use DrKonqi the KDE crash handler that appears when the application crashes (only on Windows 7) to report the crash on bugs.kde.org

Notes:

  • DrKonqi will inform you if the crash report is useful or not (it contains the debug information or not)
  • if DrKonqi says that the report is not useful something went wrong in the above steps
  • if you can't reproduce the crash immediately you can run KMyMoney for a while in an environment in which _NT_SYMBOL_PATH is defined as above (you can use a batch file for that)
  • when you no longer need the debug information you can safely delete the folder c:\temp\kmm-debug-info

Release schedule

Development is active on trunk towards the next version, but neither the feature set nor the release plan have been completed and signed off yet. There is also a wishlist of features which might be integrated in future releases.

Version 4.5.95

  • First beta of what will be 4.6.0 (suitable for early adopters only)
  • Feature freeze on 28.05.2011
  • Release on 01.06.2011

Version 4.5.96

  • Second beta on our way to 4.6.0 (suitable for early adopters only)
  • Release on 15.06.2011

Version 4.5.97

  • First release candidate
  • Release on 30.06.2011

Version 4.6.0

  • String freeze on 15.07.2011 (application) 22.07.2011 (documentation)
  • Bug freeze on 24.07.2011
  • Release on 01.08.2011 08.08.2011

Version 4.6.1

  • Release on 05.11.2011 06.11.2011

Version 4.6.2

  • Release on 04.02.2012

Version 4.6.3

  • Release on 01.09.2012

Version 4.6.4

  • Release on 06.10.2013



KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal