How to get started¶
- Option A. Using git repository
- Option B. Using installed instance
- Option C. Extension development
- Configuration for development
- Where to put customizations
Option A. Using git repository¶
Using the main EspoCRM repository.
- Clone https://github.com/espocrm/espocrm repository to your local computer.
- Change to the project's root directory:
cd path/to/espocrm
. - Install Composer (v2.0 or greater).
- Install npm (v8.0 or greater).
- Install Grunt.
- Run
composer install
if Composer is installed globally (orphp composer.phar install
if locally). - Run
npm ci
.
Then you can build by running grunt
.
To build a proper config.php file and populate database you can run installation. Open http(s)://{YOUR_CRM_URL}/install
location in the browser. It's assumed that your webserver is properly configured.
Note
Some dependencies require php extensions that you might not have installed. You can skip these requirements by installing with a flag --ignore-platform-reqs: composer install --ignore-platform-reqs
.
Building¶
- Change to the project's root directory.
- Run Grunt with
grunt
.
The build will be created in the build
directory.
Note
By default, grunt installs composer dependencies. You can skip it by running grunt offline
.
Branches¶
- fix – upcoming maintenance release; fixes should be pushed to this branch;
- master – develop branch; new features should be pushed to this branch;
- stable – last stable release.
Upgrade packages¶
Preparation:
- Fetch tags to your git repository from the remote:
git fetch --tags
. - Checkout to a needed version tag (or don't if you want to test upgrade to the most recent commit).
- Build EspoCRM with grunt (see above how to build).
Build the upgrade package with the command:
node diff {version_from}
The package will be created in the build
directory.
Option B. Using installed instance¶
You can develop and make customizations right on a regular installed EspoCRM instance.
Option C. Extension development¶
By utilizing ext-template repository, you can develop an installable extension for EspoCRM. Your repository will contain only your custom files. Template tools allows you to run your extension in Espo instance for testing.
Configuration for development¶
EspoCRM instance configuration for development. Parameters should be set in data/config.php
.
Developer mode disables cache.
'isDeveloperMode' => true,
You can force using backend cache (metadata, language etc.) in the developer mode. Can be reasonable as the application can run slow w/o cache.
'useCacheInDeveloperMode' => true,
Where to put customizations¶
Option A. Custom dirs¶
custom/Espo/Custom/
– for metadata and all files pertaining to backendclient/custom/
– for client files
Option B. Module dirs¶
custom/Espo/Modules/{YourModuleName}/
– for metadata and all files pertaining to backendclient/custom/modules/{your-module-name}/
– for client files