Line 1:
Line 1:
+
{{DISPLAYTITLE:開発者手引き}}
+
<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" />
<!-- BEGIN interlang links -->
<!-- BEGIN interlang links -->
Line 13:
Line 15:
−
=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.
Line 22:
Line 24:
#[[FAQ_Get,update_project_sources|Get or update sources of a development version]]
#[[FAQ_Get,update_project_sources|Get or update sources of a development version]]
−
=Coding rules and best practices=
+
=コーディング規約とベストプラクティス=
#[[Prerequisite|Prerequisites]]
#[[Prerequisite|Prerequisites]]
Line 29:
Line 31:
#Tree structure of files and classes are available in the [http://doxygen.dolibarr.org/ doxygen generated documentation]
#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:
Line 35:
Line 37:
*[[:Category:Complementary modules|List of complementary modules]]
*[[:Category:Complementary modules|List of complementary modules]]
−
=To develop a new module/addon for GUI=
+
=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 42:
Line 44:
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=
+
=バッチまたはコマンドラインスクリプトを作るには=
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...).
Line 49:
Line 51:
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=
+
=Dolibarr の技術的要素 (Technical components)=
−
==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.
Line 68:
Line 70:
*Feature parameters specific to a user are stored in [[Table llx_user_param]].
*Feature parameters specific to a user are stored in [[Table llx_user_param]].
−
==Business objects==
+
==ビジネスオブジェクト (Business objects)==
−
See [[Business Objects]]
+
See [[ビジネスオブジェクト]]
−
==Menus system==
+
==メニューシステム (Menu system)==
See [[Menus system]]
See [[Menus system]]
−
==Tabs system==
+
==タブシステム (Tabs system)==
See [[Tabs system]]
See [[Tabs system]]
−
==Skins system==
+
==スキンシステム (Skins system)==
See [[Skins]]
See [[Skins]]
−
==Widget system==
+
==ウィジェットシステム (Widget system)==
See [[Widget system]]
See [[Widget system]]
−
==Authentication system==
+
==認証システム (Authentication system)==
See [[Authentication]]
See [[Authentication]]
−
==Permission system==
+
==許可システム (Permission system)==
See [[Permissions En|Permissions]]
See [[Permissions En|Permissions]]
−
==Translation system==
+
==翻訳システム (Translation system)==
See [[Translation system]]
See [[Translation system]]
−
==Error management==
+
==エラー管理 (Error management)==
See [[Error reporting|Error reporting]]
See [[Error reporting|Error reporting]]
−
==Canvas system==
+
==キャンバスシステム (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 118:
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]]
−
==Online payment system==
+
==オンライン決済システム (Online payment system)==
See [[Online payment system]]
See [[Online payment system]]
−
==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 144:
Line 146:
For example, to make a condition based on requiring Dolibarr version > 3.5, you can use versioncompare and versiondolibarrarray found in admin.lib.php:
For example, to make a condition based on requiring Dolibarr version > 3.5, you can use versioncompare and versiondolibarrarray found in admin.lib.php:
−
<syntaxHighlight lang="php">
+
<syntaxhighlight lang="php">
if (versioncompare(versiondolibarrarray(), array(3,5,0)) > 0)
if (versioncompare(versiondolibarrarray(), array(3,5,0)) > 0)
{
{
...
...
}
}
−
</syntaxHighlight>
+
</syntaxhighlight>
−
=Mass exports/imports=
+
=大量 エクスポート/インポート (Mass exports/imports)=
#[[Mass imports]]
#[[Mass imports]]
#[[Module Exports En|Mass exports]]
#[[Module Exports En|Mass exports]]
−
=Interfaces and links with other applications=
+
=他のアプリとのインタフェースやリンク (Interfaces and links with other applications)=
#[[Interfaces Dolibarr toward foreign systems]] or Dolibarr toward Dolibarr (Dolibarr Triggers or Hooks)
#[[Interfaces Dolibarr toward foreign systems]] or Dolibarr toward Dolibarr (Dolibarr Triggers or Hooks)