Changes

Jump to navigation Jump to search
m
no edit summary
Line 9: Line 9:     
<seo metak="developer, development, documentation, guide, doc, tutorial, usage, help, api, coding, standard, rules" />
 
<seo metak="developer, development, documentation, guide, doc, tutorial, usage, help, api, coding, standard, rules" />
This page is main index of documents relating to developer documentation. For user documentation, [[User documentation|see here]].
      +
This page is main index of documents relating to developer documentation. For user documentation [[User documentation|see here]].
      −
= Development organization and tools =
+
=Development organization and tools=
 
This chapter contains global information that must be read before starting any development on Dolibarr.
 
This chapter contains global information that must be read before starting any development on Dolibarr.
# [[Dolibarr Project|Organization of project]]
  −
# [[To known before to start|To be known before starting to develop]]
  −
# [[Environment and development tools]]
  −
# [[Dependencies and external libraries]]
  −
# [[FAQ_Get,update_project_sources|Get or update sources of a development version]]
     −
= Coding rules and best practices =
+
#[[Dolibarr Project|Organization of project]]
# [[Prerequisite|Prerequisites]]
+
#[[To known before to start|To be known before starting to develop]]
# [[Language and development rules|Language and development rules (PHP, SQL, HTML)]]
+
#[[Environment and development tools]]
# [[:Category:Table SQL|List of tables]]
+
#[[Dependencies and external libraries]]
# Tree structure of files and classes are available in the [http://doxygen.dolibarr.org/ doxygen generated documentation]
+
#[[FAQ_Get,update_project_sources|Get or update sources of a development version]]
   −
= List of modules =
+
=Coding rules and best practices=
 +
 
 +
#[[Prerequisite|Prerequisites]]
 +
#[[Language and development rules|Language and development rules (PHP, SQL, HTML)]]
 +
#[[:Category:Table SQL|List of tables]]
 +
#Tree structure of files and classes are available in the [http://doxygen.dolibarr.org/ doxygen generated documentation]
 +
 
 +
=List of modules=
 
Technical documentation on standard business modules is available in each module's developer documentation pages. Choose the appropriate page you are interested in:
 
Technical documentation on standard business modules is available in each module's developer documentation pages. Choose the appropriate page you are interested in:
   −
* [[:Category:List of Modules (developer)‎|List of standard modules]]
+
*[[:Category:List of Modules (developer)‎|List of standard modules]]
* [[:Category:Complementary modules|List of complementary modules]]
+
*[[:Category:Complementary modules|List of complementary modules]]
   −
= To develop a new module/addon for GUI =
+
=To develop a new module/addon for GUI=
 
This section describes how to develop a new module changing the Dolibarr user interface. This can be screens, themes, data, its own CSS stylesheet, source code or all of this.
 
This section describes how to develop a new module changing the Dolibarr user interface. This can be screens, themes, data, its own CSS stylesheet, source code or all of this.
   Line 40: Line 42:  
To develop your own module, check the [[Module development]] tutorial.
 
To develop your own module, check the [[Module development]] tutorial.
   −
= To develop a batch or command line script =
+
=To develop a batch or command line script=
 
This chapter describes how to develop command line scripts to execute tasks in Dolibarr (read, update data...).
 
This chapter describes how to develop command line scripts to execute tasks in Dolibarr (read, update data...).
 +
 
Making modifications to the graphical user interface (GUI) is not included in this chapter. See the previous chapter for this.
 
Making modifications to the graphical user interface (GUI) is not included in this chapter. See the previous chapter for this.
    
To develop a script, like a cron script or a command line import tool to import data from an external source, you can have a look at the [[Script development]] page.
 
To develop a script, like a cron script or a command line import tool to import data from an external source, you can have a look at the [[Script development]] page.
   −
= Technical components of Dolibarr =
+
=Technical components of Dolibarr=
== Tree structure ==
+
==Tree structure==
 
The path hierarchy of the current version files is available from the [http://doxygen.dolibarr.org/ doxygen generated documentation] (similar to generated "javadoc" documentation).
 
The path hierarchy of the current version files is available from the [http://doxygen.dolibarr.org/ doxygen generated documentation] (similar to generated "javadoc" documentation).
    
Paths to use to add new files by a new module are defined in the documentation to develop a new module (see [[Module development]]).
 
Paths to use to add new files by a new module are defined in the documentation to develop a new module (see [[Module development]]).
   −
== Setup storage ==
+
==Setup storage==
 
There are 3 places for Dolibarr setup parameters.
 
There are 3 places for Dolibarr setup parameters.
* Dolibarr technical setup parameters (authentication mode, database logins and storage area for files) are defined in only one setup file, conf/conf.php. See [[Configuration file]] for more information.
  −
* Global features parameters are stored in [[Table llx_const]]. See the [[Constants]] page for more information.
  −
* Feature parameters specific to a user are stored in [[Table llx_user_param]]. See the [[Constants]] page for more information.
     −
== Business objects ==
+
*Dolibarr technical setup parameters (authentication mode, database logins and storage area for files) are defined in only one setup file: <code>/conf/conf.php</code> .
See page [[Business Objects]]
+
 
 +
See [[Configuration file]] for more information-
   −
== Menus system ==
+
*Global features parameters are stored in [[Table llx_const]].
See [[Menus system]].
     −
== Tabs system ==
+
See the [[Constants]] page for more information.
See [[Tabs system]].
     −
== Skins system ==
+
*Feature parameters specific to a user are stored in [[Table llx_user_param]].  
See [[Skins]].
     −
== Box system ==
+
See the [[Constants]] page for more information.
See [[Box system]].
     −
== Authentication system ==
+
==Business objects==
See [[Authentication]].
+
See [[Business Objects]]  
   −
== Permission system ==
+
==Menus system==
See [[Permissions En|Permissions]].
+
See [[Menus system]]  
   −
== Translation system ==
+
==Tabs system==
See [[Translation system]].
+
See [[Tabs system]]  
   −
== Error management ==
+
==Skins system==
See [[Error reporting|Error reporting]].
+
See [[Skins]]  
   −
== Canvas system ==
+
==Box system==
 +
See [[Box system]]
 +
 
 +
==Authentication system==
 +
See [[Authentication]]
 +
 
 +
==Permission system==
 +
See [[Permissions En|Permissions]]
 +
 
 +
==Translation system==
 +
See [[Translation system]]
 +
 
 +
==Error management==
 +
See [[Error reporting|Error reporting]]
 +
 
 +
==Canvas system==
 
Canvas is a developer feature to replace screens to create, update or view a record (products, thirdparties, contacts, ...). For example, you can replace the input form used to create a new third party, or its editing form, or replace its viewing template.
 
Canvas is a developer feature to replace screens to create, update or view a record (products, thirdparties, contacts, ...). For example, you can replace the input form used to create a new third party, or its editing form, or replace its viewing template.
 
   
 
   
See [[Canvas development]].
+
See [[Canvas development]]  
   −
== Triggers system ==
+
==Triggers system==
 
Triggers are a development feature to execute personalized code during a Dolibarr "business event" (creation of an invoice, deleting a user, update of third party, etc...), and only for a business event. To personalize code for other contexts, see the '''Hooks system''' chapter instead.
 
Triggers are a development feature to execute personalized code during a Dolibarr "business event" (creation of an invoice, deleting a user, update of third party, etc...), and only for a business event. To personalize code for other contexts, see the '''Hooks system''' chapter instead.
    
For triggers usage, see [[Interfaces Dolibarr toward foreign systems|this page]].
 
For triggers usage, see [[Interfaces Dolibarr toward foreign systems|this page]].
   −
== Hooks system ==
+
==Hooks system==
See [[Hooks system]].
+
See [[Hooks system]]  
   −
== Variable substitution system ==
+
==Variable substitution system==
See [[Variable substitution system]].
+
See [[Variable substitution system]]  
   −
== Web services ==
+
==Web services==
 
Dolibarr can be setup to provide some services.
 
Dolibarr can be setup to provide some services.
   Line 108: Line 120:  
Note: The [[Module Web Services API SOAP (developer)]] is deprecated.
 
Note: The [[Module Web Services API SOAP (developer)]] is deprecated.
   −
== Files/Documents storage management ==
+
==Files/Documents storage management==
See [[Generated documents]].
+
See [[Generated documents]]  
   −
== Numbering modules ==
+
==Numbering modules==
 
For each entity created in the application, Dolibarr assigns a reference. In order to adapt the reference to any use, Dolibarr use modules to define the reference generation rule. Several standard modules are supplied. Some are generic and are used to define the numbering mask (number on x characters, with or without prefix, including the date or not, etc.), which can meet most needs. However, there are still cases where the modules provided don't meet the needs. In this case it is necessary to develop a custom numbering module.
 
For each entity created in the application, Dolibarr assigns a reference. In order to adapt the reference to any use, Dolibarr use modules to define the reference generation rule. Several standard modules are supplied. Some are generic and are used to define the numbering mask (number on x characters, with or without prefix, including the date or not, etc.), which can meet most needs. However, there are still cases where the modules provided don't meet the needs. In this case it is necessary to develop a custom numbering module.
    
For more information, see [[Create numeration module|Create numbering module]].
 
For more information, see [[Create numeration module|Create numbering module]].
   −
== Document templates and documents generation ==
+
==Document templates and documents generation==
    
More documentation about document generation from templates is available to [[Create a PDF document template]] or [[Create an ODT document template]].
 
More documentation about document generation from templates is available to [[Create a PDF document template]] or [[Create an ODT document template]].
   −
== Extrafields ==
+
==Extrafields==
See [[Extrafields]].
+
See [[Extrafields]]  
   −
== Other internal function ==
+
==Other internal function==
 
There are many internal libraries your code can use.
 
There are many internal libraries your code can use.
 
You may find a lot of generic functions in the functions.lib.php, functions2.lib.php or admin.lib.php. Any function found in htdocs/core/lib/*.lib files can be used.
 
You may find a lot of generic functions in the functions.lib.php, functions2.lib.php or admin.lib.php. Any function found in htdocs/core/lib/*.lib files can be used.
Line 138: Line 150:  
</source>
 
</source>
   −
= Mass exports/imports =
+
=Mass exports/imports=
# [[Mass imports]]
+
 
# [[Module Exports En|Mass exports]]
+
#[[Mass imports]]
 +
#[[Module Exports En|Mass exports]]
 +
 
 +
=Interfaces and links with other applications=
   −
= Interfaces and links with other applications =
+
#[[Interfaces Dolibarr toward foreign systems]] or toward Dolibarr (Dolibarr Triggers)
# [[Interfaces Dolibarr toward foreign systems]] or toward Dolibarr (Dolibarr Triggers)
+
#[[Interfaces from foreign systems toward Dolibarr]]
# [[Interfaces from foreign systems toward Dolibarr]]
+
#[[Module Web Services|Web Services]]
# [[Module Web Services|Web Services]]
     −
= FAQ =
+
=FAQ=
 
All FAQs are available through the FAQ index page [[:Category:FAQ EN|FAQ EN]]
 
All FAQs are available through the FAQ index page [[:Category:FAQ EN|FAQ EN]]
1,983

edits

Navigation menu