ast year around this time I wrote an overview of the community activity for
2015 looked forward to 2016. Now the time has come to look back on that
outlook and look forward on 2017!
== Community interest ==
This year, the team added a Matrix channel[1] to the well known Freenode
IRC channel, bridging traffic both ways. The benefit of Matrix is that -
once registered - a user can retrieve the full backlog of channel traffic,
contrary to IRC.
Through the Matrix functionality, the #ledgersmb IRC/Matrix channel is now
seeing active contributors around the clock nearly every day. The channel
is highly active with both developers and users frequenting the channel for
discussion or looking for help. David Godfrey, Yves Lavoie, Jigme Datse:
thanks for your contributions there!
Yet the traditional medium of mailing lists takes its share in community
communication, with over 300 mails on the users list and almost 800 on the
developers list in 2016.
Although the downloads from Sourceforge are up when compared to 2015, by ca
10%, traffic from ledgersmb.org has dropped by 10% when compared to 2015.
During 2016, we were able to get contributions from 4 new contributors -
next to the project regulars - with two (David Godfrey and Yves Lavoie)
already having been accepted as "regulars" in the project and have taken on
the role of "Project Guardian" by accepting a position in the project's
"Core committee". As such, we were able to do a *lot* better than last
year, where we were able to find 1 new contributor.
== Releases ==
On the brink of 2017, the project succeeded to push out the start of a new
maintenance release series: 1.5.0. Even though plans had formed in 2015
already to release 1.5.0, the project contributors didn't accept anything
but a great release. And so it has become!
The project worked closely together to make sure this is the best 1.x.0
release so far; this release has:
* Better automated testing than any release before (25% code coverage;
with only 11% for 1.4)
* More manual testing than the 1.3 or 1.4 releases -- tests of real-world
use-cases
* Better documentation at .0 release, with all of quickstart guide,
detailed installation instructions and upgrade instructions in place before
release
Not to mention all the technical and user experience focussed improvements!
Other than this major milestone, there were
* 15 releases for 1.4 (1.4.22 through 1.4.36)
* 4 pre-releases (1.5.0-beta5, 1.5.0-rc1 through rc3)
With 20 releases, 2016 surpasses the success of 2015 of 16 releases.
== Packaging and installation ==
Many of our releases have been packaged for the Debian Stretch release and
Debian's Jessie Backports. Jame (Robert James Clay) has contributed further
work on Debian packaging to allow users to plan minor version migration --
similarly to PostgreSQL which has postgresql-9.4 and postgresql-9.5
packages. We're expecting ledgersmb-1.4 and ledgersmb-1.5 packages show up
in Debian's repositories, allowing backports for 1.4.x and 1.5.x to happen
independently.
In 2016, the LedgerSMB 1.5 docker images were moved from "EXPERIMENTAL" to
production status. John Locke was able to remove the experimental status
due to the fact that printed document templates have now fully moved to the
database for document storage.
== Development progress ==
The project has been marked as "Very High Activity" project all year on
OpenHUB [2] meaning we have been among the 0.3 to 0.4% most active
projects! It's great to see we have been able to maintain this high level
of activity that was started in the third quarter of 2015.
Taking into account that GitHub has been configured to scan only the master
branch, we can conclude that actual activity is much higher as we have the
following additional branches being maintained:
* 1.4
* 1.4-mc
* 1.5 (as of the branch point sometime during summer)
* 1.5-mc (same)
* master-mc
During 2015, 358 pull requests were created on the main LedgerSMB
repository. During 2016, that number more than doubled with over 780 pull
requests. Issues show a similar trend.
Even though development activity on the project's main repository has been
maintained at very high levels, project contributors have found time to
factor out tools to be used for the wider Perl community (or re-use efforts
of others in our project):
* Chris Travers further expanded on the development of the PGObject
toolchain [3], factoring common code patterns out of LedgerSMB into a
separate library
* Erik Huelsmann worked with the Pherkin (Test::BDD::Cucumber) project
(Peter Sergeant) to extend it with a plugin framework, for use with the
LedgerSMB project
* Erik Huelsmann founded the Weasel project [4] to build a web application
testing framework like PHP's Mink
* Yves Lavoie found the excellent pgTAP framework for better integration
of our SQL tests into perl's "prove" testing utility
* Yves Lavoie reworked many of our tests to become suitable for
parallelization driven by "prove"
== New functionality and improvements ==
2016 and Yves Lavoie brought us a tremendously improved migration from SQL
Ledger 3.0. A major step forward for anybody wanting to transition to a
recent version of LedgerSMB.
Yves also rewrote the framework for testing functionality in the database
(stored procedures) from our custom testing routines to pgTAP, a framework
for integration with Perl's 'prove' testing utility.
The developers reached out to other projects to report bugs, contribute
fixes or even build completely new infrastructure in other projects for
functionalities our project needs: Erik Huelsmann reached out to
Test::Dependencies (and adopted it) and started the Weasel project for web
application testing. Peter Sergeant from the Test::BDD::Cucumber project
implemented the concept of extensions, for LedgerSMB to hook into and has
further improvements in progress for integration in 'prove'.
A number of BDD tests were implemented, more than doubling the amount of
code executed during our test cycle, with further work pending.
== Looking forward to 2017 ==
For 2017, we hope and expect to keep up the current speed of development:
now that more and more tests are in place, changing the code base becomes
easier each step on the way.
Additionally, the development team discussed the best way forward with
respect to backporting new features. We settled on backporting fixes as
much as possible, but backporting only those changes which do not
jeopardize the stability of the stable branch. Any features which do not
satisfy those criteria, will go into 1.6 - which may be released early, if
these features are compelling enough.
With fewer regressions to fix, we expect to spend more time on the UI --
there are numerous areas where we want to improve the UX (User eXperience).
As for new contributors: we hope to find a javascript developer/user
interface developer to help out on the client side of things, now that more
and more functionality is at least partially depending on it.
Let me finish by expressing that we'll find a fitting task for everybody
who wants to join our efforts! Be it in development, testing, translating,
documenting or helping others!
[1] https://vector.im/beta/#/room/#ledgersmb:matrix.org
[2] https://www.openhub.net/p/ledger-smb
[3] https://github.com/ledgersmb/PGObject
[4] https://github.com/perl-weasel/weasel
--
Bye,
Erik.
http://efficito.com -- Hosted accounting and ERP.
Robust and Flexible. No vendor lock-in.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Ledger-smb-users mailing list
Ledger-smb-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ledger-smb-users