Projects/KMyMoney: Difference between revisions

    From KDE TechBase
    No edit summary
    (Updated Schedule for future releases)
    (175 intermediate revisions by 14 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_5_splash.png]]


    == Guidelines ==
    == Available versions  ==
    === Latest release ===
    [http://download.kde.org/stable/kmymoney/5.0.0/src/kmymoney-5.0.0.tar.xz.mirrorlist KMyMoney 5.0.0] has been released on 2nd of February 2018.
    Alternatively, you can get the source from the [https://projects.kde.org/projects/extragear/office/kmymoney KDE Git]. (see link below)


    As a first step, we are leaving Qt3Support, if possible.
    === Obsolete releases ===
    There are cases when it is best to port to the corresponding Qt4 classes.
    KMyMoney 4.8.1 has been released on 26th of December 2018.
    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.
    [http://download.kde.org/stable/kmymoney/4.8.0/src/kmymoney-4.8.0.tar.xz.mirrorlist KMyMoney 4.8.0] has been released on 14th of June 2016.


    == Areas to work on ==
    [http://download.kde.org/stable/kmymoney/4.7.2/src/kmymoney-4.7.2.tar.xz.mirrorlist KMyMoney 4.7.2] has been released on 14st of April 2015.


    *Views
    [http://download.kde.org/stable/kmymoney/4.7.1/src/kmymoney-4.7.1.tar.xz.mirrorlist KMyMoney 4.7.1] has been released on 1st of November 2014.
    *Dialogs
    *Widgets


    Please include the areas you are working on to avoid overlapping with other developers.
    [http://download.kde.org/stable/kmymoney/4.7.0/src/kmymoney-4.7.0.tar.xz.mirrorlist KMyMoney 4.7.0] has been released on 1st of October 2014.


    == Issues ==
    [http://download.kde.org/stable/kmymoney/4.6.6/src/kmymoney-4.6.6.tar.xz.mirrorlist KMyMoney 4.6.6] has been released
    on 24th of June 2014.


    Please report here the issues you find.
    [http://sourceforge.net/projects/kmymoney2/files/KMyMoney-KDE4/4.6.4/kmymoney-4.6.4.tar.bz2/download KMyMoney 4.6.4] has been released on 6th of October 2013.


    *Libkdchart has been commented out until last minute. Charts won't work until then
    [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.
    *Check for multiple instances. It was using DCOP, and it has to be migrated to a method suitable with DBus.
    *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.
    *Q3ButtonGroup objects should be migrated to QButtonGroup. The Q3Support class is severely handicapped and there are no issues in porting to the new class.
    *Standard icon names have changed. Check the name of the icon being called if you see a default icon is being displayed.


    [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.


    == Areas to leave as they are for the moment ==
    [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.


    libkgpg is best left as it is for now. Thomas Baumgart plans to do an overhaul of the whole class when there is time.  
    [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.


    libkdchart is an extract from koffice. If we find a bug there, it is best to report it to the koffice maintainers
    [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.


    The mymoney folder contains the engine. It is covered by the unit tests and they mostly run ok. This is a critical area of the application, so check with Thomas or Alvaro before making a change.
    [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.


    Of course, if you find a critical bug in any of these, let us know.
    [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.


    == Mailing list ==
    [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.


    For now, use the regular kmymoney developers mailing list. A mailing list in kde.org has been requested.
    [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.


    == Coordination ==


    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.
    [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.
    Alternatively, you can contact Thomas Baumgart in the developers list.


    == People involved ==
    [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.


    *mlaurent
    [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.
    *conet
    *neoclust
    *asoliverez
    *tbaumgart


    (Contact the coordinator if you are willing to contribute)
    == Installation  ==


    == Timeline ==
    === Requirements  ===
    Have it ready for kdereview before the end of the year. Is it too optimistic?
     
    KMyMoney depends on KDE SC 4.7+. Specifically on kdelibs,  kde PIM libs, and kactivities.
     
    *g++
    *make
    *cmake
    *libkdepimlibs-devel
    *libgpgme-dev
    *libical-dev
    *libkactivities-dev
    *libgmp-dev
    *libalkimia-dev
     
    ==== Optional ====
    Additionally, you may want to install other libraries that will provide additional functionality:
     
    *libofx >= 0.9.2
    *Aqbanking >= 5.0.0
    *quote::finance (also known as libfinance-quote-perl)
     
    === 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 [https://projects.kde.org/projects/extragear/office/kmymoney KDE Git] at
    * '''git://anongit.kde.org/kmymoney'''.
     
    $ git clone git://anongit.kde.org/kmymoney
     
    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/
    # optional, to adjust build configuration
    $ ccmake .
    $ make && make
    $ sudo 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 separate build directory is mandatory (out of source build).
    The ''install'' 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-kf5/<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-kf5/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 kmymoney. Also, if you need help write to [email protected].
     
    === 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'''
     
    === Windows specific configuration options ===
    ==== KDE provided file dialogs for example for importer ====
    add to share/config/kdeglobals
    [KFileDialog Settings]
    Native=false
     
    ==== Enable debug log level for online banking plugin ====
    Open a command shell in kmymoney 'bin' dir and run
    set AQBANKING_LEVEL=debug
    set GWEN_LOGLEVEL=debug
    Then start kmymoney with
    kmymoney
    ==== Enable verbose log level for online banking plugin ====
    Open a command shell in kmymoney 'bin' dir and run
    set AQBANKING_LEVEL=verbous
    set GWEN_LOGLEVEL=verbous
    Then start kmymoney with
    kmymoney
     
    ==== Show aqbanking log file path ====
    # Start kmymoney
    # Open Settings->configure KMymoney
    # In the Main tab select "Support" -> on that page there is a link to the current aqbanking lo path
     
    == Schedule for future releases ==
    Development is active on trunk towards the next version. There is a [https://www.kmymoney.org/todofeatures.php wishlist] of features which might be integrated in future releases.
     
    === Version 4.8.3 ===
    * Release in October 2018
    * Release date is not specified yet and depends on the number of [https://www.kmymoney.org/resolvedbugs.php?4.8.3 fixed] bugs (at least 10)
    * Source snapshots can be fetched from the [https://cgit.kde.org/kmymoney.git/log/?h=4.8 Git repo]
    * Snapshot binaries for Windows are available (look for versions named 4.8.xxx which refers to the related git commit)
    ** Mingw based installer snapshots for [https://software.opensuse.org/search?q=mingw32-kmymoney-installer Win32]  and [https://software.opensuse.org/search?q=mingw64-kmymoney-installer Win64] (use [http://www.7-zip.org/ 7zip] for unpacking the  rpm file)
    ** Mingw based portable snapshots for [https://software.opensuse.org/search?q=mingw32-kmymoney-portable Win32]  and [https://software.opensuse.org/search?q=mingw64-kmymoney-portable Win64] (use [http://www.7-zip.org/ 7zip] for unpacking the  rpm file)
     
    === Version 5.0.3 ===
    * Release date not specified yet (need to be specified by the KF5 development team)

    Revision as of 21:22, 20 September 2018

    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.

    Available versions

    Latest release

    KMyMoney 5.0.0 has been released on 2nd of February 2018. Alternatively, you can get the source from the KDE Git. (see link below)

    Obsolete releases

    KMyMoney 4.8.1 has been released on 26th of December 2018.

    KMyMoney 4.8.0 has been released on 14th of June 2016.

    KMyMoney 4.7.2 has been released on 14st of April 2015.

    KMyMoney 4.7.1 has been released on 1st of November 2014.

    KMyMoney 4.7.0 has been released on 1st of October 2014.

    KMyMoney 4.6.6 has been released on 24th of June 2014.

    KMyMoney 4.6.4 has been released on 6th of October 2013.

    KMyMoney 4.6.3 has been released on September 3rd 2012.

    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.7+. Specifically on kdelibs, kde PIM libs, and kactivities.

    *g++
    *make
    *cmake
    *libkdepimlibs-devel
    *libgpgme-dev
    *libical-dev
    *libkactivities-dev
    *libgmp-dev
    *libalkimia-dev
    

    Optional

    Additionally, you may want to install other libraries that will provide additional functionality:

    • libofx >= 0.9.2
    • Aqbanking >= 5.0.0
    • quote::finance (also known as libfinance-quote-perl)

    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

    $ git clone git://anongit.kde.org/kmymoney

    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/
    
    1. optional, to adjust build configuration
    $ ccmake .
    $ make && make
    $ sudo 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 separate build directory is mandatory (out of source build). The install 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-kf5/<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-kf5/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 kmymoney. Also, if you need help write to [email protected].

    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

    Windows specific configuration options

    KDE provided file dialogs for example for importer

    add to share/config/kdeglobals

    [KFileDialog Settings]
    Native=false
    

    Enable debug log level for online banking plugin

    Open a command shell in kmymoney 'bin' dir and run

    set AQBANKING_LEVEL=debug
    set GWEN_LOGLEVEL=debug
    

    Then start kmymoney with

    kmymoney
    
    

    Enable verbose log level for online banking plugin

    Open a command shell in kmymoney 'bin' dir and run

    set AQBANKING_LEVEL=verbous
    set GWEN_LOGLEVEL=verbous
    

    Then start kmymoney with

    kmymoney
    

    Show aqbanking log file path

    1. Start kmymoney
    2. Open Settings->configure KMymoney
    3. In the Main tab select "Support" -> on that page there is a link to the current aqbanking lo path

    Schedule for future releases

    Development is active on trunk towards the next version. There is a wishlist of features which might be integrated in future releases.

    Version 4.8.3

    • Release in October 2018
    • Release date is not specified yet and depends on the number of fixed bugs (at least 10)
    • Source snapshots can be fetched from the Git repo
    • Snapshot binaries for Windows are available (look for versions named 4.8.xxx which refers to the related git commit)
      • Mingw based installer snapshots for Win32 and Win64 (use 7zip for unpacking the rpm file)
      • Mingw based portable snapshots for Win32 and Win64 (use 7zip for unpacking the rpm file)

    Version 5.0.3

    • Release date not specified yet (need to be specified by the KF5 development team)