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

Reply via email to