Topic: Getting started with development

Hello all,

  My organization has decided to move ahead with using FrontAccounting, and we have a few guys available to help with development.  There are a few features we'd like to understand and add to, particularly in the areas of dimensions and reporting.

  I've been tasked with getting the ball rolling on this, so my key questions are:

1) Is there a "recommended" IDE for development?  What do you all use?  Any tips for setting it up to work best with FrontAccounting?  (I'm most familiar with Eclipse, but I'm open to learning others.)

2) Is there a "getting started guide" for developers?  Something that would help us learn the structure of the project, design practices, etc?

  I really appreciate your help, and we're eager to contribute back to the project!

Yours,
  Tom

Re: Getting started with development

There is no 'getting started guide' but I can give a few suggestions...

1) The IDE is your favorite text editor...
2) I often find it easiest to edit the web pages in-place
3) The best way to learn how FA code works is to look at the Downloadable Modules
4) Often a lot of what you want to add can be added via a module
5) using CVS to keep the official code in-sync makes life easier (I like it so when I totally mess up I can do diff's against known good code)

I started improving the Import module and then wrote the module for osCommerce (web store) customer/order import.

I use the import module and Backup/Restore (Setup tab) a lot.
I like to wipe out the db to a known state and re-test things... also helps to look at DB before and after..
helps answer "why did it do THAT?"

that is all I can think of of the top of my head

tom

Re: Getting started with development

In Download Documentation section you will find ERD and database scheme for FA 2.1. All the changes introduced in development version (currently 2.2) you will find in  sql folder (alter2.2.sql and alter2.2.php files).
Development process is made simultaneously in two CVS branches: stable (main) and unstable (development). If your main goal is to track bugs in FA, or make smaller improvements not involving database structure changes the better choice is to use stable source as released on SF.net. But if your changes are more time consuming and/or need some database changes you should work on your local unstable CVS branch copy. This way you will have easier merging of your code with next FA release. All bugfixes from main CVS trunk are merged to unstable branch after every minor FA release (2.1.x).

Regarding IDE, personally I also prefer simple editors, but I think this is matter of habits. For debugging I can advice xdebug php extension and firebug plugin for Firefox.

The best practice is to announce planned development to other guy e.g. here on the forum, to avoid hard to merge overlapping code changes.

You are welcome smile.

Janusz