[GNC-dev] Co-Owner (v0.3.0)
Robert Fewell
14ubobit at gmail.com
Thu Jun 30 03:39:36 EDT 2022
Ralf,
The current minimum Gtk3 version is 3.22.30. All the glade files have been
generated with Glade 3.38.2 with the minimum Gtk version set to 3.22.
Is there a specific problem you have found that you need help with?
Regards,
Bob
On Wed, 29 Jun 2022 at 18:32, Ralf Zerres <ralf.zerres at mail.de> wrote:
> Hey all,
>
> I'm still active on hacking the coowner branch.
> It's quite a stony path, but I do my best and got into the code
> structure quite well. The active, rebases branch is now called
> `cooowner`. No i do get stuck on two nasty problems. Appreciate your
> advice:
>
> * seems there is the need of a specific GTK environment
> Which one is needed to use glade and code integration (seems plaind
> 3.x version isn't enough)
>
> * given situation: compiles, but i introduced a regression
>
> 11:23:34 ERROR <gnc.engine> gboolean
> qof_choice_add_class(const char*, char*, char*): assertion
> 'qof_object_is_choice(select)' failed
>
> * debug gnucash
> build path:
> cd ~/build-coowner;
> cmake -D CMAKE_BUILD_TYPE=Debug -D CMAKE_INSTALL_PREFIX=./install -
> G Ninja ..)
>
> no i'm strugglin within gdb. Since the app is multi-threaded, i
> like to simplify the debug session and wonder if it would be possible
> to just run with a singel thread?
>
> * does gnucash have a chat for active development (mattermost, discord,
> et al?)
>
> Ralf
>
> Am Dienstag, dem 14.06.2022 um 11:18 +0200 schrieb Ralf Zerres:
> > Dear list,
> >
> > thanks for all your answers that far. It helped me quite a bit to get
> > into the deeper code structure.
> >
> > For all the interested parties i will summerize the intend and
> > structure of the branch, that is served at github at
> >
> > https://github.com/rzerres/gnucash/tree/wip-coowner
> >
> > The workflow in this repo has been adopted to make use of the github
> > CI. It will check the branch maint and wip-coowner.
> >
> >
> > Status
> > ======
> >
> > Given code does compile ...
> >
> > All needed parts have been implemented.
> > I don't expect to have more structure changes in the near future.
> >
> > This is the foundation for new reports. They will rely and consume
> > properties available in the new coonwer specific entities.
> > A proof of concept report (based on new-owner-reoirt,scm) is
> > included.
> >
> >
> > the backend
> > ===========
> >
> > * backend core (libgnucash/engine):
> > `coowner[P].[h,c] serves functionality a an `gncOwner` child, like
> > Customer, Employee and Vendor do.
> > The GncCoOwner stucture has generic parameters (as used in the
> > other business modules) and CoOnwer specific stuff
> > (apartment share, apartment unit, distribution_key).
> > With that in place, it shouldn't be difficult to extend and adopt.
> > Parameter hadling will need more love.
> >
> > * all involved engine helpers (gncAddress, gncBusiness, gncEntry,
> > gncIDSearch, gncInvoice, gncJob and gncTaxTable) have been adopted
> > to handle the new CoOwner type.
> >
> > * backends for sql and xml have been adopted to handle CoOwner
> >
> > * apt-utils are aware of gncCoOwner (business-options and
> > business-preferences)
> >
> > * gnome-plugins are enhanced to handle the Co-Owner type
> >
> > * basic tests (test-coowner.c and test-business-core.scm) are in
> > place.
> >
> >
> > the frontend
> > ============
> >
> > * gnome dialogs have been implemented to address the task you already
> > know from the other business types.
> > (gnucash/gnome/dialog-coowner_*)
> >
> > `dialog-coowner.c provide the CoOwner aware
> > callbacks, service dialogs have been enhanced
> > (dialog_invoice, dialog-order, dialog-payment)
> >
> > * gnome business plugins (gnucash/gnome/gnc-plugin-business)
> > and gnome-utils have been enhanced to support
> > Co-Owner handling, as well as the helpers
> > (gncplugin-page-invoice, gnc-plugin-page-owner-tree, search-owner)
> >
> > * I am aware, that the given menu-structure is based on the
> > legacy gtk menu system (depreciated since gtk v3.10), that uses
> > an xml file based aproach (gnucash/ui).
> > It will be another big change to migrate towards the gtk4 provided
> > GMenu system.
> >
> > * I did adapt the source to have the CoOwner actions.
> > (gnc-plugin-business-ui.xml)
> >
> > * Glade sources (gnucash/gtkbuilder) have been adopted to make use
> > of Co-Owner callbacks
> > (dialog-coowner.glade, dialog-coowner-import-gui.glade,
> > dialog-coowner-report.glade)
> >
> > the reports
> > ===========
> >
> > * a new menu `property management` was added. It is used to group all
> > standard reports created to simplify property management tasks.
> >
> > * a proof of concept report (owner-billing.scm) is created.
> > This need to be adopted to get into the intended shape.
> >
> > * other useful reports may be introduced later on.
> >
> > i18n
> > ====
> >
> > * translations for the german language have been included
> > (po.de)
> >
> >
> >
> > Abstract
> > ========
> >
> > In Germany, a co-owners' association (MEG) is free to decide to
> > self-manage the property in an owner administration. The tasks of
> > [property][property_mgmt] management can then be taken over by an
> > owner of the MEG appointed for this purpose.
> >
> > The rules may be adopted to the needs in other countries as well.
> >
> > [property_mgmt]:
> > https://www.hausverwaltung-ratgeber.de/hausverwaltung.html).
> >
> > Implementation
> > ==============
> >
> > Using the current version of 'gnucash', the property management can
> > create the account structure required for this and manage the
> > necessary bookings. The legal regulations that exist in Germany
> > stipulate that individual accounts must be created annually for the
> > owners, which in particular must show and proportionately allocate
> > apportionable amounts, non-apportionable amounts, the maintenance
> > reserve, as well as income, individual and heating costs.
> >
> > * Property Management
> >
> > The entity Co-Owner is created to provide front and backend functions
> > that handle creation, editing, search and deletion of its parts.
> >
> > The ledgers are handled via standard gnucash books functionality.
> >
> > * Reporting (WIP)
> >
> > The report will extract the relevant books and calculate the share
> > values for each Co-Owner. You are free to build up the book tree but
> > need to define following accounts:
> >
> > Apportionable amounts
> > Individual costs
> > Heating costs
> > Non-Apportionalbe amounts
> > Revenues
> > Provision for maintenance
> >
> > Sub-accounts inside this structure are listed in colums, showing the
> > cumulated balances, the distribution key, the property-total, the
> > apartment/Housing unit shares beside the calculated co-owner
> > amount/balance.
> >
> > A final section will print out the billing totals comparing the
> > business-plan values with the actual realized values in the billing
> > period (usual one year).
> > Again you will see the total amounts as well as the calculated Co-
> > Owner
> > amount based on the actual share.
> >
> > The report will conclude with a Credit-Balance or with an Additional
> > Payment.
> >
> >
> > _______________________________________________
> > gnucash-devel mailing list
> > gnucash-devel at gnucash.org
> > https://lists.gnucash.org/mailman/listinfo/gnucash-devel
> _______________________________________________
> gnucash-devel mailing list
> gnucash-devel at gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel
>
More information about the gnucash-devel
mailing list