I Use This!
Very High Activity


Analyzed 6 days ago. based on code collected 6 days ago.
Posted 1 day ago by ehu
Upgrading LedgerSMB 1.5.x to 1.5.y There are two steps to upgrading a LedgerSMB 1.5.x installation to 1.5.y (x smaller than y): Upgrade the software Upgrade the company database The last step has to be executed for each company ... [More] database that's set up. Note that all the steps below are prefixed with the 'sudo' command, but these can be executed as 'root' directly as well. Upgrading the software This is by far the easiest part. These are the steps to go through, assuming an installation from tarball: Stop the LedgerSMB application server (e.g. Starman) $ sudo service starman-ledgersmb stop Back up the old software by moving it out of the way (assuming you installed in /usr/local/ledgersmb): $ sudo mv /usr/local/ledgersmb /usr/local/ledgersmb.backup Untar the tarball into /usr/local/ledgersmb: $ sudo tar xf ledgersmb-1.5.x.tar.gz --directory /usr/local Copy the configuration file from the old installation: $ sudo cp /usr/local/ledgersmb.backup/ledgersmb.conf /usr/local/ledgersmb/ Start the LedgerSMB application server again (Starman example given, as before): $ sudo service starman-ledgersmb start Upgrading the company database After the software has been upgraded, the company database(s) have to be upgraded. When a user logs in on a database which is of a version different from the software that's used to access the database, a "Database version mismatch" error will be generated. To upgrade the company database from the Web UI, navigate to the setup.pl page (e.g. when you're hosting your LedgerSMB on https://localhost/ and normally log in through https://localhost/login.pl, now you need to navigate to https://localhost/setup.pl). Log into setup.pl with the database admin credentials (the "lsmb_dbadmin" user, if you followed the installation instructions). After login, setup.pl will show a sccreen with the following at the top:   Logged in as lsmb_dbadmin LedgerSMB 1.5 db found Rebuild/Upgrade? By clicking the "Yes" button, the company database upgrade process will be executed. Repeat this process for all company databases. ehu Tue, 02/28/2017 - 08:38 Topic Upgrading Upgrade Installation Release 1.5 FAQ Category Installation [Less]
Posted 10 days ago by ehu
1.5.3 Released Download https://sourceforge.net/projects/ledger-smb/files/Releases/1.5.3/ ehu Sun, 02/19/2017 - 03:35 The LedgerSMB development team is happy to announce yet another new version of its ... [More] open source ERP and accounting application. This release contains a fix for the change in Perl 5.24 which no longer includes '.' in @INC. Some distributions have backported this change to earlier Perl versions (as it is security fix CVE-2016-1238). LedgerSMB now both works correctly without '.' on @INC and actively removes '.' from @INC on any Perl version, effectively backporting this security fix. Changelog for 1.5.3 Fix access to contact data for database admins (Erik H) Fix Reconciliation Submit button not enabled (Nick P) Fix Batch Search for approved transactions (Chris T) Compensate for CVE-2016-1238 ('.' no longer in @INC) (Erik H) Fix Invoice line item descriptions not visible until clicked (Erik H, 2607) Fix payment amounts in Cash->Reports->Receipts (Erik H, 2618) Nick P is Nick Prater Chris T is Chris Travers Erik H is Erik Huelsmann The release can be downloaded from sourceforge athttps://sourceforge.net/projects/ledger-smb/files/Releases/1.5.3/ These are the sha256 checksums of the uploaded files: aee82009340561ef385d4ecc469c29920e01889ff60b91e951b8e6ae200979b2 ledgersmb-1.5.3.tar.gz 33a5c19898722fd3e10a354d717e12522b71e2d4516e2bf861556ffedb1cc606 ledgersmb-1.5.3.tar.gz.asc Release 1.5 Security release Off Release candidate Off [Less]
Posted 16 days ago by nore...@blogger.com (Chris Travers)
The PostgreSQL at 10 TB And Beyond talk has now been released on Youtube. Feel free to watch.  For the folks seeing this on Planet Perl Iron Man, there is a short function which extends SQL written in Perl that runs in PostgreSQL in the final 10 ... [More] minutes or so of the lecture.This lecture discusses human and technical approaches to solving volume, velocity, and variety problems on PostgreSQL in the 10TB range on a single, non-sharded large server.As a side but related note, I am teaching a course through Edument on the topics discussed in Sweden discussing many of the technical aspects discussed here, called Advanced PostgreSQL for Programmers.  You can book the course for the end of this month.  It will be held in Malmo, Sweden. [Less]
Posted about 1 month ago by nore...@blogger.com (Chris Travers)
One of the topics discussed in the large database talk is the way we used PL/Perl to solve some data variety problems in terms of extracting data from structured text documents.It is certainly possible to use other languages to do the same, but ... [More] PL/Perl has an edge in a number of important ways.  PL/Perl is light-weight, flexible and fills this particular need better than any other language I have worked with.While one of the considerations has often been knowledge of Perl in the team, PL/Perl has a number of specific reasons to recommend it: It is light-weight compared to PL/Java and many other languages It excels at processing text in general ways. It has extremely mature regular expression support These features combine to create a procedural language for PostgreSQL which is particularly good at extracting data from structured text documents in the scientific space.  Structured text files are very common and being able to extract, for example, a publication date or other information from the file is very helpful.Moreover when you mark your functions as immutable, you can index the output, and this is helpful when you want ordered records starting at a certain point.So for example, suppose we want to be able to query on plasmid lines in UNIPROT documents but we have not set this up before we loaded the table.  We could easily create a PL/Perl function like:CREATE OR REPLACE FUNCTION plasmid_lines(uniprot text) RETURNS text[]LANGUAGE PLPERL IMMUTABLE AS$$use strict;use warnings; my ($uniprot) = @_;my @lines = grep { /^OG\s+Plasmid/ } split /\n/ $uniprot;return [ map {  my $l = $_; $l =~ s/^OG\s+Plasmid\s*//; $l } @lines ];$$;You could  then create a GIN index on the array elements:CREATE INDEX uniprot_doc_plasmids ON uniprot_docs USING gin (plasmid_lines(doc));Neat! [Less]
Posted about 1 month ago by ehu
Setting up Perl's `local::lib` for LedgerSMB: why and how? Introducing to local::lib Straight from local::lib's RATIONALE section:   The version of a Perl package on your machine is not always the version you need. [...] local::lib ... [More] solves this problem by allowing you to create your own directory of Perl packages downloaded from CPAN (in a multi-user system, this would typically be within your own home directory). The existing system Perl installation is not affected; you simply invoke Perl with special options so that Perl uses the packages in your own local package directory rather than the system packages. local::lib arranges things so that your locally installed version of the Perl packages takes precedence over the system installation. If you are using a package management system (such as Debian), you don't need to worry about Debian and CPAN stepping on each other's toes. Your local version of the packages will be written to an entirely separate directory from those installed by Debian. To achieve its goal by setting specific values for standard (Perl) environment variables: PERL5LIB Perl's search path for Perl modules (*.pm files) PATH the shell's search path for executables (including CPAN installed "utilities") PERL_MB_OPT PERL_MM_OPT options for Module::Build and MakeMaker respectively, used when installing modules from CPAN Why use local::lib with LedgerSMB? LedgerSMB is - measured in terms of functionality - large application. In order to perform some of its functions, LedgerSMB needs to execute actions for which code has been developed and uploaded to CPAN by other projects. As the LedgerSMB development team would rather concentrate on its core responsibilities, the philosophy is to outsource as much of its code as can be outsourced to reliable other projects in the Perl community. (Code re-use before writing its own code.) As a result, LedgerSMB's list of direct and indirect dependencies is quite impressive. With the list of dependencies, the chances increase of dependencies of LedgerSMB requiring incompatible minimum and/or maximum versions of libraries which are already installed on your system. Preventing these conflicts from becoming a problem is exactly the use-case for local::lib. Installing local::lib   ehu Wed, 01/25/2017 - 12:26 [Less]
Posted about 1 month ago by nore...@blogger.com (Chris Travers)
I have been invited to give a talk on PostgreSQL at 10TB and above in Malmo, Sweden.  The seminar is free to attend.  I expect to be talking for about 45 minutes with some time for questions and answers.  I also have been invited to give the talk at ... [More] PG Conf Russia in March.  I do not know whether either will be recorded.  But for those in the Copenhagen/Malmo area, you can register for the seminar at the Event Brite page.I thought it would be helpful to talk about what problems will be discussed in the talk.We won't be talking about the ordinary issues that come with scaling up hardware, or the issues of backup or recovery, or of upgrades. Those could be talks of their own.  But we will be talking about some deep, specific challenges we faced and along the way talking about some of the controversies in database theory that often come up in these areas, and we will talk about solutions.Two of these challenges concern a subsystem in the database which handled large amounts of data in high-throughput tables (lots of inserts and lots of deletes).   The other two address volume of data. Performance problems in work queue tables regarding large numbers of deletions off the head of indexes with different workers deleting off different indexes.  This is an atypical case where table partitioning could be used to solve a number of underlying problems with autovacuum performance and query planning. Race conditions in stored procedures between mvcc snapshots and advisory locks in the work queue tables.  We will talk about how this race condition happens and we solved it without using row locks.  We solved this by rechecking results in a new snapshot which we decided was the cheapest solution to this problem. Slow access and poor plans regarding accessing data in large tables.  We will talk about what First Normal Form really means, why we opted to break the requirements in this case, what problems this caused, and how we solved them. Finally, we will look at how new requirements on semi-structured data were easily implemented using procedural languages, and how we made these perform well. In the end there are a number of key lessons one can take away regarding monitoring and measuring performance in a database.  These include being willing to tackle low-level details, measure, and even simulate performance.Please join me in Malmo or Moscow for this talk. [Less]
Posted about 1 month ago by ehu
1.5.2 Released ehu Sun, 01/22/2017 - 02:55 The LedgerSMB development team is happy to announce yet another new version of its open source ERP and accounting application. This release contains the following fixes and improvements: ... [More] Redirect '/' to '/login.pl' in Starman (Erik H, #2520) Description field too big on GL and invoice screens (Erik H, #2264) Remove spurious space in Apache2 example config (Erik H, #2534) Credit invoice edit screen looks exactly like regular screen (Erik H, #2550) setup.pl admin can't reset user password [regresses 1.5.1] Fix misnamed function in call (Chris T) Suppress NOTICEs while creating/upgrading databases (Erik H, #2560) Invoice template: 'Paid' row shows even without payments (Erik H, #2569) Invoice template: 'Payments' section always printed (Erik H, #2568) Chris T is Chris Travers Erik H is Erik Huelsmann The release can be downloaded from sourceforge athttps://sourceforge.net/projects/ledger-smb/files/Releases/1.5.2/ These are the sha256 checksums of the uploaded files: 6495f29710ea98d26fe49842e193f81af006c56bcb2fcc070a1567f95dc20d77 ledgersmb-1.5.2.tar.gz 86c0e6852bb38168742a428f94127bb6fed647d978a6ef72f973e5e92ba740b0 ledgersmb-1.5.2.tar.gz.asc Release 1.5 Security release Off Release candidate Off [Less]
Posted about 1 month ago by ehu
1.4.38 Released ehu Sun, 01/22/2017 - 02:45 The LedgerSMB development team is happy to announce yet another new version of its open source ERP and accounting application. This release contains the following fixes and improvements: ... [More] Changelog for 1.4.38 Printed credit invoice indistinguishible from regular invoice (Erik H, #2546) Credit invoice edit screen looks like regular invoice screen (Erik H, #2550) Failure to generate AR/AP aging report (Erik H, #2545) Fix misnamed function in call (Chris T) Invoice template: 'Paid' row shows even without payments (Erik H, #2569) Invoice template: 'Payments' section always printed (Erik H, #2568) The release can be downloaded from sourceforge athttps://sourceforge.net/projects/ledger-smb/files/Releases/1.4.38/ These are the sha256 checksums of the uploaded files: 6aea8270beadc33dac32f610add406e4f82b1b431b92a1eb93ecc2ddb0e4c520 ledgersmb-1.4.38.tar.gz 88cae499b434234168d0e74f1272605d893404ca8273942a606fedeaa4f13cf5 ledgersmb-1.4.38.tar.gz.asc Release 1.4 Security release Off Release candidate Off [Less]
Posted about 2 months ago by ehu
1.5.1 Released Download https://sourceforge.net/projects/ledger-smb/files/Releases/1.5.1/ ehu Sat, 01/14/2017 - 14:52 The LedgerSMB development team is happy to announce another new version in the ... [More] stable 1.5 release series of its open source ERP and accounting application. This release includes all relevant fixes from 1.4.37 and further polishes the 1.5 user experience. Changelog for 1.5.1 Adjust tools/patch-release-upgrade.pl for interface changes in 1.5 (Erik H) Outstanding report (AR/AP) not showing Due amount (Erik H, #2351) Outstanding report (AR/AP) does not include taxes (Erik H, #2437) Contact screen does not honor Default Country from Defaults (Erik H, #2349) UI switches language after "Post Batch" (Erik H, #1640) Incorrect address on Aging statement (Erik H, #1245) Database error when clicking 'Preferences' menu (Erik H, #2370) Can't open Template Transaction (Erik H, #2369) Print selects (printer, ...) shown even without Print button (Erik H, #2376) Cash->Voucher->Reverse doesn't filter by account (Erik H, #1401) 'year' dropdown in 'General Journal > Search' always empty (Erik H, #2278) Can't import Timecard due to 'undefined action "run_import"' (Erik H, #2462) Filtering PNL by reporting unit (dep't) fails (Erik H, #2469) 'System > Reporting units' doesn't show module checkmarks (Erik H, #2470) Languages not sorted by description (but by code instead) (Erik H, #1118) 'Print' button appears to work only once per browser session (Erik H, #2083) Can't override 'Subject' when sending invoice (Erik H, #2488) Template menus should refer to 'template_name' (Erik H/John L, #2497) Don't open a new window when clicking 'Return to login' (Erik H, #2496) Don't show an error on session expiry (Erik H, #2502) Editing account heading shows 'Account' tab (Erik H, #2507) Cash > Voucher > Receipt doesn't preserve Source (Erik H, #2487) When saving a business unit, return to the edit screen (Erik H, #1024) Erik H is Erik Huelsmann John L is John Locke The release can be downloaded from sourceforge athttps://sourceforge.net/projects/ledger-smb/files/Releases/1.5.1/ These are the sha256 checksums of the uploaded files: 15152e88c59a88712d1a2af4ab2e61bced5f21d949d02bcdd3699850fecbc462 ledgersmb-1.5.1.tar.gz 30a2f3a1312fd2220ac78050f460e3cb906fc9f1c88de25d4443e1376d901a71 ledgersmb-1.5.1.tar.gz.asc Release 1.5 Security release Off Release candidate Off [Less]
Posted about 2 months ago by freelock
Using Docker to develop on LedgerSMB Getting all the development dependencies and a working copy for LedgerSMB can be time consuming and complex. However, using our Docker image can greatly streamline this process. Here is one way to ... [More] get a development environment set up for LedgerSMB using our Docker image. Create a Postgres container Create a LedgerSMB container Copy the code to a local directory for development Re-create the LedgerSMB container with your local directory bind-mounted into the container Example docker run --name postgres -d -v pgdata:/var/lib/postgresql/data \ -e POSTGRES_PASSWORD="myrootpassword" postgres:9.5 docker run --name lsmb --link postgres:postgres -d -p 5762:5762 ledgersmb/ledgersmb:dev-master At this point you should have a running Postgres container, and a running LedgerSMB container (named lsmb). Next, we will copy the ledgersmb source code out to a local directory where we can easily edit with whatever IDE we prefer: docker cp lsmb:/srv/ledgersmb ./ledgersmb Finally, we need to re-run the lsmb container with our local code mounted: docker stop lsmb docker rm lsmb docker run --name lsmb --link postgres:postgres -d -v /home/john/git/ledgersmb:/srv/ledgersmb \     -p 5762:5762 ledgersmb/ledgersmb:dev-master Notes To set up a LedgerSMB company, go to http://localhost:5762/setup.pl, and log in with user "postgres" and the password you set in the first line. Then follow the setup steps. Your local working copy will have the git origin set to a read-only copy of the "master" github branch, at the commit that was current when the Docker image was last built. If you would like to update to the current commit (recommended before doing any kind of pull request), update to the latest commit: git fetch git rebase origin/master git submodule update make dojo If you don't have the appropriate tools to build dojo (node.js, make) you can run these inside the container. Or, you can set the dojo_built setting in ledgersmb.conf to 0 to run from the dojo source.. However, you will need to make some adjustments for file permissions -- the container by default runs as the "www-data" user, or UID 33. You will need to either recursively set the file ownership to this user in your local tree, or execute the commands inside the container as root. Example using www-data user, after you fix your file permissions: docker exec -ti lsmb bash www-data@90451823cb57:/srv/ledgersmb$ make dojo Example using root inside the container: docker exec -ti --user=root lsmb bash Cache issues The container is set up with template caching enabled. This means that you'll need to restart the container after code changes to see them. This is a simple: docker restart lsmb Enjoy! freelock Sat, 01/14/2017 - 09:38 Topic Development Operating system Linux FAQ Category Contributing [Less]