Hi everyone;
I want to propose the following framework changes after 1.4 branches off:
1. Database connections should be handled by a separate class so we can
get rid of duplicate code between LedgerSMB.pm and LedgerSMB::Form.pm.
2. LedgerSMB->new() needs to be simplified and modularized. Right now it
is 170 lines long and rather hard to follow.
3. Split open/check/close_form into a separate module for handling form
id's.
4. Move to PGObject::Simple (for 1.3 code) and PGObject::Simple::Role (for
1.4 code). This requires some very simple changes to db call routines and
allows a lot more flexibility if we need it.
5. LedgerSMB->get_user_info should be moved to LedgerSMB::DBObject::User
6. I would like to remove the following methods:
LedgerSMB->debug
LedgerSMB->escape (this is better handled by the Template macros)
LedgerSMB->is_blank (use LedgerSMB->required(...) instead)
LedgerSMB->redirect(). We shouldn't need this at all.
LedgerSMB->format_amount(). Not needed with new code.
LedgerSMB->parse_amount(). Use LedgerSMB->numbers instead.
LedgerSMB->round_amount(). Just round the number using ffround instead.
LedgerSMB->call_procedure() would be gone (in favor of PGObject
interface).
LedgerSMB->is_allowed_role()
LedgerSMB->date_to_number()-- do we even need this?
Move web error handling to LedgerSMB::Request for code sharing
LedgerSMB->get_default_value_by_key should be removed in favor of
LedgerSMB::Setting->get
Eventually I would like the LedgerSMB module to go away.
I would also like to rewrite our current auth modules as they have
accumulated a fair bit of cruft in 1.4. I would also like to rewrite
LedgerSMB::App_State to use singletons and accessors instead of direct
variable access.
Some of the above (in particular removing unused LedgerSMB functions) I
might get to before the branch.
--
Best Wishes,
Chris Travers
Efficito: Hosted Accounting and ERP. Robust and Flexible. No vendor
lock-in.
http://www.efficito.com/learn_more.shtml
------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today.
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
Ledger-smb-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel