Projects/KMyMoney: Difference between revisions

From KDE TechBase
(move to extragear)
(Move wiki to GitLab)
Tag: Replaced
 
(74 intermediate revisions by 11 users not shown)
Line 1: Line 1:
This page is dedicated to discuss issues related to the port to KDE4. The effort is ongoing and it is not considered stable. It is only suitable for early adopters. If you are looking for the stable version, go to the official page of [http://kmymoney2.sourceforge.net KMyMoney].
This documentation has been moved to GitLab wiki: https://invent.kde.org/office/kmymoney/-/wikis/home
 
[[Image:Kmm_splash_3_97.png]]
 
== Available versions  ==
 
[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.
 
 
[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.
 
[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.
 
[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.
 
Alternatively, you can get the source from the KDE SVN. (see link below)
 
== Installation  ==
 
=== Requirements  ===
 
KMyMoney depends on KDE SC 4.3+. Specifically on kdelibs and kde PIM libs. Additionally, you may want to install other libraries that will provide additional functionality:
 
*libofx
*Aqbanking >= v4.2.5
*quote::finance
 
=== Installation steps  ===
 
Get the source from KDE SVN or the latest tarball.
 
To install read the README.cmake file in the root folder of the source. The basic steps are the following:
 
$ mkdir build
$ cd build
$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr/
$ make
$ make install
 
'''(this 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 SVN 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. Any bugs you find, please report it and assign to product kmymoney4. Also, if you need help write to kmymoney[email protected].
 
=== Link to Debian bugs ===
The bugs in Debian tracker can be linked back to BKO
 
* Open a bug report in KDE 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.
 
 
== Development guidelines  ==
 
As a first step, we are leaving Qt3Support, if possible. 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.
 
The repository to use is the one in KDE SVN. svn://anonsvn.kde.org/home/kde/trunk/extragear/office/kmymoney.
 
<br>
 
== Blocking issues  ==
 
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>
*<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>
*<s>Port AqBanking plugin</s> ''Note: KBanking compiles against AqBanking >= 4.2.4. Did some preliminary testing which looks OK. Still need to do more testing esp. with chipcards etc. (ipwizard)''
*<s>There are a couple of occurrences of '''Uninitialized variables''' warnings during the build. We should fix those.</s> The remaining occurrences are all in libkdchart.
*Several files are rebuilt if '''make''' is executed twice in a row.
*<s>After the payee completer depletes al possible completions when typing a payee's name the typed text is selected so if the user continues to type all characters entered so far are lost</s>
 
== Areas known to work  ==
 
I thought that we can put here a list of features that are known to work (after a developer testing):
 
<br>
 
{| border="1"
|-
! Area
! Status
! Comments
|-
| Tips and tricks
| Working
| <br>
|-
| Home Page
| Working
| <br>
|-
| Institutions
| Working
| <br>
|-
| Accounts
| Working
| <br>
|-
| Ledgers
| Working
| <br>
|-
| Schedules
| Working
| <br>
|-
| Categories
| Working
| <br>
|-
| Payees
| Working
| <br>
|-
| Investments
| Working
| <br>
|-
| Reports
| Working
| <br>
|-
| Charts
| Working
| <br>
|-
| Budgets
| Working
| <br>
|-
| Forecast
| Working
| <br>
|-
| Splash screen
| Working
| <br>
|-
| Settings
| Working
| <br>
|-
| Webconnect
| Working
| <br>
|-
| Plugins
| Working
| <br>
|-
| Database
| Working
| Passes unit tests for MySQL, PostgreSQL and SQLite3. (fvilas)
|-
| GPG
| Working
| <br>
|}
 
== Removing Qt3 support ==
 
This table is used to track the work on removing Qt3 support from kmymoney.
 
<br>
 
{| border="1"
|-
! Area
! Status
! Comments
|-
| Home Page
| Done
| <br>
|-
| Institutions
| Done
| <br>
|-
| Accounts
| Done
| <br>
|-
| Ledgers
| Done
| <br>
|-
| Schedules
|
| <br>
|-
| Categories
| Done
| <br>
|-
| Payees
| Done
| <br>
|-
| Investments
|
| <br>
|-
| Reports
|
| <br>
|-
| Charts
|
| <br>
|-
| Budgets
| Done
| <br>
|-
| Forecast
|
| <br>
|-
| Settings
| Done
| <br>
|-
| Plugins
| Done
| <br>
|-
| Database
|
|
|}
 
== Areas to work on  ==
 
*Views
*Dialogs
*Widgets
 
Also, here you have the KrazyEBN report, which reports common issues on the code. [http://www.englishbreakfastnetwork.org/krazy/reports/extragear/office/kmymoney/index.html Krazy Report]
 
Please include the areas you are working on to avoid overlapping with other developers.
 
=== 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>
*<s>Port the KBanking plugin to KDE4 and add it the KMyMoney source tree</s>
*<s>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</s> (will be replaced by a new item view)
* Implement the following features on the new accounts view:
** <s>show the reconciliation state</s>
** drag and drop
** <s>unused categories message only if it's the case</s>
 
=== asoliverez  ===
 
<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  ===
 
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.
 
*<s>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]</s> Replaced using [http://api.kde.org/4.x-api/kdepimlibs-apidocs/qgpgme/html/index.html QGpgME]
*<s>Replace kMyMoneyDateInput with [http://api.kde.org/4.x-api/kdepim-apidocs/libkdepim/html/classKPIM_1_1KDateEdit.html KPIM::KDateEdit]</s> Postponed, as KPIM::KDateEdit development headers are not available in some distros
*Separate the base and constructed widgets into their own libs
*Provide a designer plugin library with KMyMoney specific widgets. Work has started and the first widget (date entry) is available for plugins this way.
 
=== fvilas  ===
 
*<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 -&gt; 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 -&gt; QButtonGroup port</s>
*General cleanup of deprecation warnings to quiet the build a bit
*<s>Q3BoxLayout -&gt; QBoxLayout</s>
 
== Issues  ==
 
Please report here the issues you find.
 
*<s>Libkdchart has been commented out until last minute. Charts won't work until then</s>(asoliverez)
*<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 seems to use the KDE3 styles. That's a bug in KHTML that will be in KDE SC 4.4.
 
== Areas to leave as they are for the moment  ==
 
libkdchart is an extract from koffice. If we find a bug there, it is best to report it to the kdchart maintainers
 
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.
 
Of course, if you find a critical bug in anywhere on the application, send a mail to the mailing list or report it on bugs.kde.org.
 
== New Features ==
 
[[/Features/Tags|Tags]]
 
== Mailing list  ==
 
https://mail.kde.org/mailman/listinfo/kmymoney-devel. Use it to discuss issues related to the port to KDE4.
 
== 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. Alternatively, you can contact Thomas Baumgart on the developers list.
 
== People involved  ==
 
*mlaurent
*conet
*neoclust
*asoliverez
*tbaumgart aka ipwizard
*fvilas
*tonyb
 
(Contact the coordinator if you are willing to contribute)
 
== Release schedule  ==
<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.
 
[[/Release/announcement draft|announcement draft]]
 
=== Version 4.5 ===
Release at the same time as KDE SC 4.5.
Stable release
 
==Donations==
 
The project currently has no costs, and therefore has not setup a unified way to collect donations.
Each individual developer provides a way to receive donations, which will be used project-related or for leisure (which, in turn, helps the project. After all, a happy developer writes better code, right?).
 
 
'''Thomas Baumgart:'''
 
Amazon wishlists (in different countries):
 
* Germany http://www.amazon.de/exec/obidos/registry/1T19RN6RY4ABL/ref=wl_s_3/028-8003588-2510945
* US https://www.amazon.com/gp/registry/wishlist/16YBVTHXIEQTA/
* UK http://www.amazon.co.uk/gp/registry/20HV5VJTTY5H0
* France http://www.amazon.fr/gp/registry/3C6RM5PN3X2KS
 
 
'''Alvaro Soliverez:'''
* Amazon's wishlist: http://www.amazon.com/gp/registry/registry.html?ie=UTF8&type=wishlist&id=2ELFUD3RDHHKH
* PayPal donate button at http://soliverez.com.ar
 
 
'''Fernando Vilas:'''
 
 
'''Cristian Onet:'''
* PayPal donate button at http://cheepee.homedns.org/~cristi/donate.html
 
'''Tony Bloomfield:'''

Latest revision as of 02:46, 10 September 2020

This documentation has been moved to GitLab wiki: https://invent.kde.org/office/kmymoney/-/wikis/home