[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

New LedgerSMB development snapshot including (mostly complete) migration scripts

Hi all;

We've gone ahead and released Snapshot-20110716.  This release
includes mostly working migration scripts (see below) which should be
sufficient for testing purposes for power users.  These scripts are
expected to be the basis for migration tools to be developed shortly.

You can get it at:

Full migration utilities have not been completed yet.  Until this is
done, the migration process is likely to be rough and suitable for
those comfortable in the development environment only.

The new version also includes (mostly working, see below) fixed asset
tracking and depreciation.

Also for those of you on the public discussion lists (-users, and
-devel), it is probably a good time to start talking about expected
migration headaches in the move to 1.3.  The development on 1.3 has
focused heavily on three areas which are expected to cause obstacles
and headaches to some migrations fro 1.2.

The first of these is data integrity, which has been a gradual issue
as we have worked on this project, tightening up the constraints which
should have been in place from the beginning.  Duplicate or missing
customer and vendor numbers, and duplicate numbers for AR invoices are
likely to be the largest issues here.  Other checks have been
tightened up too so other obstacles may be found along the way for
some users.

A second major difficulty that some businesses may run into is the
change in access control and permissions enforcement.  LedgerSMB
previously had inherited SQL-Ledger's very permissive model in
enforcing what was permitted.  This has changed.  Now we use database
roles and permissions for authentication and authorization purposes.
This restrains the supported configurations of PostgreSQL to a small
extent, but it also means that permissions cannot be cleanly migrated.
   The migration scripts are likely to ease this pain as they get
developed but it is by no means expected that the process will be
entirely painless.

The third issue involves custom templates.  The old SQL-Ledger
template engine has been replaced with TemplateToolkit which offers a
great deal more power and flexibility than the existing SQL-Ledger
template engine.  It also allows us to offer additional formats such
as Excel spreadsheets or Open Document Spreadsheets.  The templates
also support built-in localization, allowing one to offer many
language translations off the same template.  The templating engine is
also used to produce user interface components for the portions of the
code we have been able to rewrite in this period of time.  However the
cost here is in backwards compatibility.   By making this change it is
expected that old templates will not work with the new system and that
they will have to be changed to meet TemplateToolkit's specifications.

Both of these changes though are necessary in the long run as we push
towards a more secure, more maintainable and more flexible codebase.
We do not expect that either of these areas will change again in ways
that are so backwards-incompatible.  Of course we recognize that some
time will be needed to review and work through these issues so I don't
expect to stop supporting 1.2 for some time after 1.3 is released.


Installation is documented but data migration documentation is still
being written.  In a nutshell, you want to do as follows:
1)  Use a copy of your 1.2 database.  You can create a copy if nobody
is logged into the application using:
 createdb [newdbname] -T dbname.  When you are ready to transition,
you can use the same method to create a backup of your old data.
2)  Run the sql/upgrade/1.2-pre-upgrade-checks.sql on your copy of
your database, and correct any problems it reports.
3)  Run the sql/upgrade/1.2-1.3-work-in-progress.sql on your copy of
your database.  This will import your data into the new schema.

What doesn't work:
1)  Manual translations are not migrated yet.  They will be in the
next snapshot.
2)  Passwords are not set for users yet.  This has to be done manually
by an administrator.

Other bugs/missing features:

1)  The menu item for asset depreciation  and disposal reports is
missing.  This is expected to be fixed in the next snapshot.  Fixed
assets management has been merged with the core offering post-beta-4.

2)  There is a minor UI glitch when editing contact information.  This
is being worked on.  For more see

For those running the new snapshots, I would recommend joining the
ledger-smb-commits list (also on Sourceforge.net) so that you can see
in real time what sorts of issues are fixed as they come up.

Best Wishes,
Chris Travers