Difference between revisions of "Environment and development tools - Optional"

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
(Added tuning configuration for alternative webservers (Nginx))
Line 40: Line 40:
  
 
== If you want to make step by step debugging or tunning (XDebug) ==
 
== If you want to make step by step debugging or tunning (XDebug) ==
* To add global tuning information, from dolibarr 3.8, for pages on your browser javascript console log, add environment variable MAIN_SHOW_TUNING_INFO to 1 into Apache. For this, just add the following line into your apache.conf:
+
* To add global tuning information, from dolibarr 3.8, for pages on your browser javascript console log, add environment variable MAIN_SHOW_TUNING_INFO to 1 on your webserver.
 +
For Apache, just add the following line into your apache.conf:
 
<source lang="ini">
 
<source lang="ini">
 
SetEnv MAIN_SHOW_TUNING_INFO 1
 
SetEnv MAIN_SHOW_TUNING_INFO 1
 
</source>
 
</source>
 +
For Nginx, add the following line to your php location:
 +
<source lang="ini">
 +
fastcgi_param MAIN_SHOW_TUNING_INFO true;
 +
</source>
 +
The variable name is DOL_TUNING for versions of Dolibarr < 3.8.
  
 
* Install XDebug:
 
* Install XDebug:

Revision as of 13:39, 8 June 2015

This page describe all optional components you can install to support more technologies for development around Dolibarr. They are not required to develop Dolibarr nor modules but may be usefull for specific development.

If you manage other projects with SVN

  • Install Eclipse plugin for SVN: SubClipse

For this, use the Find And Install process and add the SVN update URL:

http://subclipse.tigris.org/install.html

or

  • Install Eclispe plugin for SVN: Subversive

http://community.polarion.com/projects/subversive/download/eclipse/2.0/ganymede-site/ - [required] Subversive SVN Connectors

http://community.polarion.com/projects/subversive/download/integrations/ganymede-site/ - [optional] Subversive Integrations

If you want to make Perl scripts

  • Install the Eclipse plugin for Perl: EPIC

For this, use the Find And Install process and add the update URL: http://e-p-i-c.sourceforge.net/updates

If you want to make Python scripts

  • Install the Eclipse plugin for Python: PyDev

For this, use the Find And Install process and add the update URL: http://pydev.org/updates

If you are using Windows

  • Notepad++ (for those which can't stand java or using a computer too old for Eclipse).
  • WinMerge (to compare files and directories)
  • CygWin (to have the "patch" command)

To make FirePHP Debug

If using Ubuntu, you can also complete PHP with FirePHP module by running

pear channel-discover pear.firephp.org
pear install firephp/FirePHPCore

If you want to make step by step debugging or tunning (XDebug)

  • To add global tuning information, from dolibarr 3.8, for pages on your browser javascript console log, add environment variable MAIN_SHOW_TUNING_INFO to 1 on your webserver.

For Apache, just add the following line into your apache.conf:

SetEnv MAIN_SHOW_TUNING_INFO 1

For Nginx, add the following line to your php location:

fastcgi_param MAIN_SHOW_TUNING_INFO true;

The variable name is DOL_TUNING for versions of Dolibarr < 3.8.

  • Install XDebug:

Logo windows.png In Windows

  • Download dll file php_debug_xxx.dll on http://www.xdebug.org and store it in directory /ext of php. Then enable plugin.
  • Modify php.ini file to add parameters:
 [xdebug]
 xdebug.remote_enable=on
 xdebug.remote_handle=dbgp
 xdebug.remote_host=localhost
 xdebug.remote_port=9000
 xdebug.show_local_vars=off
 xdebug.profiler_output_dir=c:/temp
 xdebug.profiler_append=0
 xdebug.profiler_enable=0
 xdebug.profiler_enable_trigger=1

Logo ubuntu.png In Ubuntu / Linux

  • Install package php-xdebug:
sudo apt-get install php5-xdebug
  • Modify xdebug.ini to add parameters after the line zend_extension=xxx (or similar):
 ; With xdebug 2.1 and more
 xdebug.remote_enable=on
 xdebug.remote_handle=dbgp
 xdebug.remote_host=localhost
 xdebug.remote_port=9000
 xdebug.show_local_vars=off
 xdebug.profiler_output_dir=/var/tmp
 xdebug.profiler_enable=0
 xdebug.profiler_enable_trigger=1
 ; Add also this with xdebug 2.2 and more
 xdebug.show_mem_delta=1
 xdebug.trace_output_dir=/var/tmp
 xdebug.auto_trace=0
 xdebug.trace_enable_trigger=1

Eclipsephp.jpg Eclipse configuration

  • Open Eclipse. In Window->Preferences->General->Web Browser, select external web browser, and set it to Default system web browser.
  • Go into the debug section, by Window->Preferences->PHP->Debug, and set the PHP Debugger option to XDebug (by default this is set to the Zend Debugger). Note the chekbox “Break at first line” in this page as well – you can change this later on, as required.
  • After you’ve applied your changes, go into the PHP Debug prespective, and go to menu Debug Configurations… Here, make sure the Server Debugger is set to XDebug, and that the PHP server points to http://localhost/ or an appropriate server location. The file section should point to the file to be debugged, relative to your workspace, the relative path maybe something /dolibarr/htdocs/index.php.
  • Check the URL section to see whether it points to the correct location – if not, make sure you uncheck the “Auto-Generate” check box, and enter in the correct location. Apply the changes and close the dialog box.
  • You should now be ready to debug Dolibarr. Click on Run->Debug or F11 to enable debugging, Eclipse should switch to the Debug View, and the page should start loading in your external browser. If “Break at First Line” checkbox was checked previously, then the program would have “stopped” at the first line. You can step into or step over subsequent lines using the controls on your top left corner. Alternatively, you can place breakpoints at various locations and stop code execution there as well.


Then to analyze files generated by XDebug profiling, you must call the page by adding parameter XDEBUG_PROFILE=1 to generate the file and then install KCacheGrind (Linux) or WinCacheGrind (Windows) to analyze them.

To develop or use Quality controls (PHPUnit, PHPCodeSniffer, PHPCpd, PHPDepends)

From Eclipse

You can also optionnally install The PHP Tools integration (PTI) using the Eclipse plugin installer menu with this following URL:

http://www.phpsrc.org/eclipse/pti/

If you do so, menu to launch tools tests are available in your Eclipse menu.

Modify your Eclipse setup (Windows-Preferences-PHPTools-PHPCodeSniffer) to add a new directory standard found into dev/codesniffer.

Modify your Eclipse setup (Windows-Preferences-PHPTools-PHPUnit) like on screen shot (click to zoom):

Eclipse setup PHPUnit.png

If you did not install PTI, you must install and run PHPUnit and other quality tools manually from command line.

From Command Line

Instal PHPUnit
  • Download a release archive from http://pear.phpunit.de/get/ and extract it to a directory that is listed in the include_path of your php.ini configuration file.
  • Prepare the phpunit script:
    • For Linux: Rename the phpunit.php script to phpunit and replace the @php_bin@ string in it with the path to your PHP command-line interpreter (usually /usr/bin/php).
    • For Windows: Replace the @php_bin@ string in file phpunit.bat with the path of your PHP command-line interpreter and @bin_dir@ string with the path of the PHPunit directory.
    • Edit your Path to inclulde PHPunit directory
    • Make script runnable (chmod +x phpunit on Linux).
  • Prepare the PHPUnit/Util/PHP.php script:
    • Replace the @php_bin@ string if it exists in file it with the path to your PHP command-line interpreter (usually /usr/bin/php).
  • Module xdebug can also be required if you plan to make reporting of test code covering.
Execute PHPUnit tests or generate code coverage reports
  • Go into directory /test of sources. Read file README to know the process to execute a unit test campaign.
Install other quality tools (phpcs, phpcd, phpdepends)
  • Take a look at tools documentation (PHPCodeSniffer, PHPPcd, PHPDepends). For example, to install or upgrade PHPCodeSniffer
sudo pear upgrade PHP_CodeSniffer

To develop or use Selenium tests

From Firefox

Install plugin for Firefox Selenium IDE
  • Download file of plugin "Selenium IDE" for Firefox.
  • Add it into firefox in menu Tools - Complementary modules.
Execute Selenium tests
  • Go into menu Tools - Selinum IDE of Firefox.
  • Open xml file of the suite tests.
  • Execute the test.

To build Doxygen documentation

  • Install Doxygen available for download at http://www.doxygen.org (or install package doxygen with Ubuntu).
  • Install Eclipse plugin by adding source http://download.gna.org/eclox/update/ into your Eclipse update setup. Then setup your Eclipse (Window-Preferences-Doxygen) to define path to Doxygen tool.

To develop Android component

  • Download android SDK and unzip it: http://developer.android.com/sdk
  • Install Android Eclipse plugin:
    • Start Eclipse, then select Help > Install New Software.
    • Click Add, in the top-right corner.
    • In the Add Repository dialog that appears, enter "ADT Plugin" for the Name and the following URL for the Location: https://dl-ssl.google.com/android/eclipse/
    • If you have trouble acquiring the plugin, try using "http" in the Location URL, instead of "https" (https is preferred for security reasons).
    • In the Available Software dialog, select the checkbox next to Developer Tools and click Next.
    • In the next window, you'll see a list of the tools to be downloaded. Click Next.
    • Read and accept the license agreements, then click Finish.
    • If you get a security warning saying that the authenticity or validity of the software can't be established, click OK.
    • When the installation completes, restart Eclipse.