GSoC 2021 KMyMoney - Week 3, 4 and 5
The plan for the Week 3 and Week 4 was to complete the following tasks:
- Write unit tests for the debug support.
- Work on the Online Quote support :
- Use the member functions of AlkOnlineQuote class and AlkOnlineQuoteSource class.
- Start the work on the “update of online quote support” feature.
Week 5 was more into replacing the WebPriceQuote usage in KMyMoney and figuring out what APIs are needed in libalkimia.
I noticed that the online quotes that were in kmymoneyrc weren’t visible in the Online Quotes dialog. I figured out that and used the kmymoney profiles only. As also further pointed by Ralf, the onlinequoteseditor (in libalkimia) is intended to support multiple applications and therefore adds multiple profiles.
As unit tests were already written in libalkmia I run all the tests to check if something were wrong. All the tests passed successfully.
I started replacing WebPriceQuote implementation with that of Alkimia one by one. I managed to do so with the help of API documentation and previous KMyMoney 4.8 implementation. I found that some of the implementations were not present in libalkimia :
- AlkOnlineQuote::csvquote() as opposed to WebPriceQuote::csvquote()
For this Ralf pointed out that it uses the type MyMoneyStatement as the second parameter only known by kmymoney and therefore cannot be added to alkimia and Thomas suggested I move over it as the whole CSV import is needed to be reworked and is currently out of the scope of GSoC project.
I also tried to implement AlkOnlineQuote::setDate() I got a reference error which was due to m_fromDate and m_toDate in WebPriceQuote are only used in connection with CSV downloads and Thomas said me to skip that.
Thomas said me to add two more members to AlkOnlineQuoteSource::Private: , m_idNumber (QString) and m_idSelector (enum). For that, I implemented the m_idNumber in private and the idSelector enum in public since it was to be used in the getter and setter function outside private.
Alkimia build was successful. I am also working in the modifications in AlkOnlineQuoteSource constructors with these new members and its tests.
My work can be found here : Alkimia and KMyMoney.
Learnings -
My object-oriented concepts improved and I learned how to implement and modify tests.
What’s next -
Phase 1 ended and there are now evaluations. The initial part of my project started slow since I was taking time to get acquainted more with the codebase. It is great to have such helpful mentors who help me with my queries as early as possible. I have planned to put on more time in my project as required. Work for the next work involves replacing the left WebPriceQuote APIs.
If anyone wants to suggest something or have a discussion please reach out to me on suraj[dot]mahto49[at]gmail[dot]com or @suraj_sloth:kde.org in matrix.