Archive for the 'Open Source Software' Category

GnuCash with MySQL / SQLite

I’m trying to build GnuCash with GDA support to connect with MySQL or SQLite. I’ll start with SQLite since its simpler. I tried earlier today but was stumped because I’m using XFCE4. Not sure if that’s a big problem or not. I’m installing the binary from the debian resources just to get started.

Seems to work with XFCE4 fine, I guess I was confused by the need for libgnomeprint.

I started out by checking out the gda-dev2 sources from their subversion repository, then running ./autoconf.sh. I had to install libglib2.0-dev, intltool,


Running automake --add-missing --gnu  ...
src/business/business-gnome/schemas/Makefile.am:13: GCONF_SCHEMAS_INSTALL does not appear in AM_CONDITIONAL
src/business/business-gnome/schemas/Makefile.am:19: GCONF_SCHEMAS_INSTALL does not appear in AM_CONDITIONAL
src/gnome-utils/schemas/Makefile.am:13: GCONF_SCHEMAS_INSTALL does not appear in AM_CONDITIONAL
src/gnome-utils/schemas/Makefile.am:19: GCONF_SCHEMAS_INSTALL does not appear in AM_CONDITIONAL
src/gnome/schemas/Makefile.am:23: GCONF_SCHEMAS_INSTALL does not appear in AM_CONDITIONAL
src/gnome/schemas/Makefile.am:29: GCONF_SCHEMAS_INSTALL does not appear in AM_CONDITIONAL
src/import-export/hbci/schemas/Makefile.am:13: GCONF_SCHEMAS_INSTALL does not appear in AM_CONDITIONAL
src/import-export/hbci/schemas/Makefile.am:19: GCONF_SCHEMAS_INSTALL does not appear in AM_CONDITIONAL
src/import-export/schemas/Makefile.am:13: GCONF_SCHEMAS_INSTALL does not appear in AM_CONDITIONAL
src/import-export/schemas/Makefile.am:19: GCONF_SCHEMAS_INSTALL does not appear in AM_CONDITIONAL
**Error**: automake failed.

I’m giving up on trying to install on my XFCE4 machine and am now trying to do so on a stock Ubuntu Gutsy machine. I was able to install libgnome-dev which was giving me a hard time on the xubuntu machine, probably because that machine was a mix of etch, lenny, sid, feisty, and gutsy. I know, I know….

Strarting off with:


sudo apt-get install libgnome-dev subversion
mkdir src
cd src
svn co http://svn.gnucash.org/repo/gnucash/branches/gda-dev2/ ./
sudo apt-get install libtool intltool automake autoconf
sudo apt-get install libglib2.0-dev libgtkhtml3.8-dev swig automake1.9 guile-gnome0-dev guile-1.6-dev

Then came this:


NOTE: Just run configure.  Even if something told you to run
      aclocal, automake, or anything else above, IGNORE IT.
      Everything has been run properly.  Just run configure...

Nice!

Then…


cc1: warnings being treated as errors
gnc-schedxaction-gda.c: In function 'gnc_gda_save_schedxaction':
gnc-schedxaction-gda.c:261: warning: 'guid' is used uninitialized in this function

So now I’m trying “./configure –disable-error-on-warning”. That worked, I was able to “sudo make install” but now I’m getting this:


Implementation missing: database_constraints_update_list() in gda-dict-database.c line 1214
Implementation missing: database_constraints_update_list() in gda-dict-database.c line 1214
Segmentation fault (core dumped)

Flot

Flot is a jQuery extension which uses the canvas drawing method of javascript. I’ve added their example test to the PBooks code base to try it out:

http://www.pbooks.org/demo/index.php?nid=flot-test

Cool, huh? I can’t wait to start feeding some financial data into those charts! :-)

UPDATE February 20, 2008: I’ve removed the flot test from the code base for now to focus on other priorities.

NetSuite Goes Public




Congratulations to the team at NetSuite, the ERP, CRM and e-commerce software company which went public recently. I just read a little bit about them and it appears that they are targeting companies with between 100 and 1000 employees, whereas Quickbooks targets 100 employees or less.

Where does PBooks fit in? Well the database should be scalable to support companies of that size, however since I have very little experience with the accounting systems of larger companies, basic things like the user interface might not make sense when you dramatically ramp up the number of accounts, transactions, and so on. Its interesting to think about - even at my small company, the number of transactions is fairly significant, and its pretty easy to get lost in the sea of data if you’re not paying attention.

Subversion Access

Hello again! I’m finally going to open up anonymous subversion access soon. I wrestled with trac for awhile, and finally got that straightened out except for one thing: I’m likely going to relocate the trac server to the top level domain (as well as the forums), into a subdirectory path.

Along those lines, I’m planning to make the access path for subversion something like “www.pbooks.org/svn/”, which will include the sub-project paths, which are all currently under the misc_projects directory. So the usual checkout people can use will be something like:

http://www.pbooks.org/svn/misc_projects/pbooks_portable/trunk/
(Note: its NOT active yet…)

Though I just realized that it includes external calls, so I’ll have to do something different there. Actually most of that stuff is stable, so I can probably provide a download for the pbooks_portable codebase, which isn’t a checkout, but then have the apps/pbooks folder be an anonymous checkout which can be updated when necessary.

Thoughts?

Milestone 0.05 and an External Code Review




As I start work on the next milestone, I’m going to review some of the other open source accounting programs out there, like FrontAccounting, SQL Ledger, and GnuCash. Karl Schmidt also just introduced me to Phreebooks, which initially looked a lot like FrontAccounting, but is actually a totally different application.

I just remembered that FibuSQL also had support for accounting periods, so I should review that one too.

During the past few milestones, I’ve been working away on PBooks, and making a lot of important, though subtle progress. Today I’m working on accounting periods and I thought I’d share my ideas and ask for your thoughts.

  • Accounting periods can be set by the user: arbitrarily, monthly, quarterly, yearly.
  • Once an accounting period is defined, it can then be reconciled.
  • Once an accounting period is reconciled, it can be locked from further editing (this is an important topic, but I’m just focusing on accounting periods for now).
  • Each accounting period will have a beginning balance and an ending balance for each account, which will be carried over from the previous and to the next period, respectively.

I haven’t worked out the data model for the accounting periods just yet, but like everything else in PBooks I’m going to do my best to keep it simple.

Thanks always for your interest!

PBooks 0.1e

Here’s the first release of PBooks!

pbooks-1etar.gz

Here’s a basic PBooks install guide for developers. This tarball includes nexista so you won’t have to install that.

I’ve also opened up the PBooks SVN browser in the trac environment to anonymous users:

http://www.svn.pbooks.org/trac/browser

NOTE: This software still needs a lot of work to be made easily installable! :-) I look forward to hearing your comments, and feel free to join the forums for extended discussions.