This guide is intended for developers who are familiar (or at least acquainted) with using SuiteCRM but want to perform their own customisations. SuiteCRM is a large and mature piece of software so it is impractical for a guide to cover all aspects of the software. The most important and commonly-used parts are covered here, which should allow you to make the changes you need in the vast majority of situations. See the Further Resources page for additional references. If you find anything missing or incorrect, contributions are welcome via the SuiteDocs repository.
Each chapter in this guide is intended to be self-contained so the reader can jump to interesting chapters. Overlapping content is usually indicated with links to the relevant chapters.
Some parts of this guide may refer to file paths or other parts of code
that can have a variable value, for example controller names contain the
module name or a file with an arbitrary name. In this case these will be
marked in the form <TheModuleName>, <TheFileName> or something else
suitable. In these cases you can substitute something appropriate (such
as Accounts or MyNewFile).
Visit the product’s website to download the SuiteCRM installer.
In the Administration guide you will find Installation instructions.
SuiteCRM is also available on GitHub at github.com/SuiteCRM/SuiteCRM. Each SuiteCRM version is tagged so you can easily grab the version you need.
After the initial install there are a few tweaks you may want to make on an instance you are developing on. These changes should improve your development flow and productivity as well as help identify issues if they occur.
SuiteCRM will cache various files that it processes, such as Smarty templates. Developer mode will turn off some of the caching so that changes to files will be seen immediately (though this isn’t always the case - as is the case with extensions). This can be enabled either through the config file or via the General settings page inside admin.
The default log level of SuiteCRM is fatal. This is a good default for
production instances but you may want to increase the log level to
info or debug. This will make the log output more verbose so, should
anything go wrong, you’ll have something to refer to. See the
chapter on logging for more
information.
You’ll also want to turn off display errors. Unfortunately at the moment
SuiteCRM has various notices and warnings out of the box. With
display_errors on this can sometimes cause AJAX pages and the link to
break.
With this being said you should be checking the PHP error logs or
selectively enabling
display_errors to ensure that the code you are creating is not
creating additional notices, warnings or errors.
XDebug is a PHP extension which provides profiling and debugging capabilities to PHP. This can massively improve developer productivity by simplifying development and, particularly, tracking down any issues. See the XDebug site for information on XDebug.
Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.