2
0
forked from Wavyzz/dolibarr
Files
dolibarr-fork/htdocs/modulebuilder/README.md
Laurent Destailleur 542a72c684 NEW custom dir is enabled dy default on first install.
Fix modulebuilder when custom dir not defined.
2017-06-10 23:50:46 +02:00

216 lines
5.6 KiB
Markdown

Dolibarr Module Template (aka My Module)
========================================
This is a full featured module template for Dolibarr.
It's a tool for module developers to kickstart their project and give an hands-on sample of which features Dolibarr has to offer for module development.
If you're not a module developer you have no use for this.
Documentation
-------------
[Module tutorial](https://wiki.dolibarr.org/index.php/Module_development)
[Dolibarr development](https://wiki.dolibarr.org/index.php/Developer_documentation)
### Translations
Dolibarr uses [Transifex](https://transifex.com) to manage it's translations.
This template also contains a sample configuration for Transifex managed translations under the hidden [.tx](.tx) directory.
For more informations, see the [translator's documentation](http://wiki.dolibarr.org/index.php/Translator_documentation).
There is a [Transifex project](https://transifex.com/projects/p/dolibarr-module-template) for this module.
Install
-------
### Manually
- Make sure Dolibarr is already installed and configured on your workstation or development server.
- In your Dolibarr installation directory, edit the ```htdocs/conf/conf.php``` file
- Find the following lines:
```php
//$dolibarr_main_url_root_alt ...
//$dolibarr_main_document_root_alt ...
```
- Uncomment these lines (delete the leading ```//```) and assign a sensible value according to your Dolibarr installation
For example :
- UNIX:
```php
$dolibarr_main_url_root = 'http://localhost/Dolibarr/htdocs';
$dolibarr_main_document_root = '/var/www/Dolibarr/htdocs';
$dolibarr_main_url_root_alt = '/custom';
$dolibarr_main_document_root_alt = '/var/www/Dolibarr/htdocs/custom';
```
- Windows:
```php
$dolibarr_main_url_root = 'http://localhost/Dolibarr/htdocs';
$dolibarr_main_document_root = 'C:/My Web Sites/Dolibarr/htdocs';
$dolibarr_main_url_root_alt = '/custom';
$dolibarr_main_document_root_alt = 'C:/My Web Sites/Dolibarr/htdocs/custom';
```
For more information about the ```conf.php``` file take a look at the conf.php.example file.
- Clone the repository in ```$dolibarr_main_document_root_alt/mymodule```
*(You may have to create the ```htdocs/custom``` directory first if it doesn't exist yet.)*
```sh
git clone git@github.com:Dolibarr/dolibarr-module-template.git mymodule
```
- Install [Composer](https://getcomposer.org) dependencies:
```sh
composer install
```
Follow the [final steps](#final_steps).
### Using [Composer](https://getcomposer.org)
Require this repository from Dolibarr's composer:
```json
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/dolibarr/dolibarr-module-template"
}
],
"require": {
"dolibarr/mymodule": "dev-master"
}
}
```
Run
```sh
composer update
```
Follow the [final steps](#final_steps).
### <a name="final_steps"></a>Final steps
From your browser:
- Log into Dolibarr as a super-administrator
- Under "Setup" -> "Other setup", set ```MAIN_FEATURES_LEVEL``` to ```2```
- Go to "Setup" -> "Modules"
- The module is under one of the tabs
- You should now be able to enable the new module and start coding ;)
Provided tools
--------------
### Starting a new module
A [script](dev/newmodule.sh) allows you to rename most of the code to your own module name.
It requires ```find```, ```sed``` and ```rename``` commands on your system.
Just make sure you provide a CamelCase name.
```sh
./dev/newmodule.sh [NewName]
```
Some work still has to be done manually:
- Rename the directory holding the code
- Maybe rename some other bits (Search for 'my' in filenames and code)
- Update your module ID in the module descriptor
- Update your language files
- Keywords based on the module ID
- String referencing the template
- Remove the features you don't plan to use
- Fill the copyright notices at the top of each file
- Add your logo: see [images README](dev/img/README.md) for specifications
- Start a new GIT history
```
git checkout --orphan [new_branch_name]
```
- Build an awesome module ;)
### Composer scripts
Only the main commands are listed here.
See the [composer comments](composer-comments.md) or the [composer.json](composer.json) itself for more informations.
#### Check
Run a linter, a PHP compatibility version checker and checks coding style.
```sh
composer check
```
#### Test
Run unit and functional tests.
```sh
composer test
```
#### Doc
Build code and user documentation.
#### Release
Run the checks and tests then build a distribution ZIP.
```sh
composer release
```
#### Git hooks
Optional [GIT hooks](https://git-scm.com/book/it/v2/Customizing-Git-Git-Hooks) are provided.
These are just wrappers calling composer scripts.
They ensure best practices are followed during module development.
Install:
```sh
composer git_hooks_install
```
Remove:
```sh
composer git_hooks_remove
```
## Publishing the module
The de-facto standard for publishing and marketing modules for Dolibarr is the [Dolistore](https://www.dolistore.com).
Templates for required images and texts are [provided](dev/dolistore).
Check the dedicated [README](dev/dolistore/README.md) for more informations.
Licenses
--------
### Main code
![GPLv3 logo](img/gplv3.png)
GPLv3 or (at your option) any later version.
See [COPYING](COPYING) for more information.
### Other Licenses
#### [Parsedown](http://parsedown.org/)
Used to display this README in the module's about page.
Licensed under MIT.
#### [GNU Licenses logos](https://www.gnu.org/graphics/license-logos.html)
Public domain
#### Documentation
All texts and readmes.
![GFDL logo](img/gfdl.png)