开发者常见问题解答
本页包含一些与Dolibarr开发相关的问题和解答。有关使用的问题和解答,请参见页面 FAQ Utilisateur 。
如何成为官方开发者
在Dolibarr项目星系中,有几个不同级别/等级的参与者。
开发人员和贡献的数量很重要,但任何想要达到一定质量水平的项目都必须在功能需求和编码方面对开发进行受控管理和验证修改。因此,对源代码(Git服务器)的写访问受到限制,并由下面几行所描述的组织管理。每个开发人员都有一个grade(等级),这取决于他们的资历和过去的贡献。一个人在项目中的授权水平随着等级晋升阶段的增加而提高。
因此,Dolibarr开发者的职业生涯经历了这些阶段,这些阶段是根据科幻小说爱好者熟悉的标题进行分类。以下是这些步骤。重要的是要理解,该组织的唯一目的是提高Dolibarr的质量,为了实现这一目标,必须严格遵守该组织规定。
Dolibarr项目贡献者的等级以及达到该等级所需的条件,在以下页面中定义:Dolibarr项目的开发人员角色 一节。
Dolibarr的开发者
请参阅 Dolibarr项目 页面,了解目前参与Dolibarr项目的每个级别的人员列表。
开始开发
先完整阅读 开发文档 ,以了解开发人员必须遵守的所有规则和原则。 您还可以参阅下面的常见问题解答。
检索/更新项目源代码
请参阅页面 获取与更新项目的GIT源代码 。
如何创建新主题
请参阅页面 主题 。
如何开发自己的模块
要开发自己的编号模块,请参阅 创建编号模块 。
要开发自己的文档模板(PDF或其他格式),请参阅 创建PDF文档模板 或 创建ODT文档模板 。
要开发完整的功能模块(可视界面、表单),请参阅页面 模块开发 。
如何添加或完成翻译
为此,请参阅页面 翻译文档 。
在使用中更改发票自动编号规则
如果新的编号系统与旧的编号系统不冲突,只需前往菜单“主页-设置-模块/应用-发票-设置”,并从列表中获取新的编号规则。
如果新旧编号系统之间规则冲突,则需要对现有引用(references)进行重新编号。这可以通过SQL请求完成。
例如,要从编号规则 Jupiter(FYYYMM99) 迁移到 Terre(FAYYMM-999) ,可以执行以下请求:
update llx_facture set facnumber=concat('FA',substr(facnumber,4,4),'-',substr(facnumber,8))
where facnumber like 'F%' and facnumber not like 'FA%';
例如,要从编号规则模式 FAYYMM999 迁移到 Terre(FAYYMM-999) ,可以执行以下请求:
update llx_facture set facnumber=concat('FA',substr(facnumber,3,4),'-',substr(CONCAT('0000',substr(facnumber,7)),-4))
where facnumber like 'FA%' and facnumber not like '%-%';
提交补丁、改进或参与开发
如果您正在寻求如何开始Dolibarr开发或为Dolibarr开发做出贡献,请阅读章节 开发者常见问题解答#如何成为官方开发者 。
如果您的补丁已经准备好并希望发布,那么本章适合您。
- 如果您是Yoda级别(有关不同等级的信息,请参阅 Dolibarr_Project#Developers_roles ),则拥有直接写入的 GIT 访问权限。因此,只需使用它来提交更改即可。
- 如果您不是Yoda级别(您的级别是 Jedi 或 Admiral 或 Soldier),则必须先使用 GitHub 的“Fork”功能。之后,您可以从 GitHub 发出“Pull Request”,要求将您的补丁合并到develop分支中。 更多信息请参阅 FAQ_Get,update_GIT_project_sources 和 https://github.com/Dolibarr/dolibarr/blob/develop/.github/CONTRIBUTING.md
使用GitHub帐户
Les accès au dépot des sources en lecture est publique. La soumission de contributions dépend toutefois de votre niveau dans le projet.
- Si vous bénéficiez d'un grade Yoda (rarissime), et donc un accès en écriture direct au dépôt de référence, utilisez-le (Voir FAQ Développeur - Devenir développeur officiel pour les différents grades).
- Si vous n'avez pas d'accès en écriture direct au dépôt de référence (votre grade est donc Jedi ou Admiral ou Soldier), vous devez alors utiliser GitHub en « Forkant » le dépôt sur votre compte, puis en faisant une demande de « Pull Request » de votre branche sur le dépôt principal. C'est la méthode recommandée la plus propre et la plus performante. Voir pour plus d'info la page https://wiki.dolibarr.org/index.php/FAQ_Get,update_GIT_project_sources
Note: Si vous ne savez pas bien utiliser l'outil GIT et si votre modification est petite (porte sur un ou deux fichiers), sachez qu'il est possible simplement, en allant sur votre compte GitHub et sur votre repository "Forké" depuis l'interface Web de GitHub, de modifier le fichier en ligne. Une fois la modification faite, vous pouvez utiliser la fonction soumettre Pull Request pour la suggérer au projet. Un valideur l'intégrera alors sans effort si elle est valide.
- La procédure qui suit reste un alternative techniquement possible mais n'est plus pratiquée que pour les toutes petites modifications...
没有GitHub帐户
Sans compte GitHub, il est nécessaire de générer et fournir par mail, sur la mailing-list développeur dolibarr-dev votre fichier patch (Voir ici pour cela https://savannah.nongnu.org/mail/?group=dolibarr). Voici la procédure pour générer un fichier patch:
Voici la méthode Pro selon laquelle travailler pour pouvoir générer un tel fichier patch:
- Avoir un répertoire qui contient la version de Dolibarr de référence (résultat de la mise à jour GIT ou bien tout simplement l'arborescence résultant de la décompression d'un snapshot tgz de Dolibarr). On appellera ce répertoire ancien_rep. Vous pouvez récupérer le snapshot de la version de dev en cours sur le site officiel de Dolibarr - espace téléchargement - version développement.
- Avoir un autre répertoire qui contient l'arborescence de Dolibarr mais dans laquelle vous faites ou avez fait vos modifications. On appellera ce répertoire nouveau_rep.
Pour générer le fichier patch, il suffit alors de lancer la commande diff (en standard sous Linux, fourni dans cygwin sous Windows) de la manière suivante:
diff -BNaur --exclude=CVS --exclude="*.patch" --exclude=".#*" --exclude="*~" --exclude="*.rej" \
--exclude="*.orig" --exclude="*.bak" --exclude=conf.php --exclude=documents \
ancien_rep nouveau_rep > mypatch.patch
Un script ksh réalisant cette commande est disponible dans le répertoire build/patch. Envoyer votre patch sur la ML à l'adresse dolibarr-dev@nongnu.org. L'intégration de votre patch n'est toutefois pas garantie, pas plus que le délai, mais si le patch est réalisé en suivant rigoureusement cette procédure, il a de forte chance d'être au moins testé (dans le cas contraire les chances sont proches de 0).
Si vous êtes sous Windows, une méthode moins Pro mais qui donne le même résultat est la suivante. Installer l'excellent outil open source de comparaison Winmerge qui sait fabriquer des patchs au format diff -Naur. Pour cela, comparer avec Winmerge le fichier référence et le fichier modifié et choisir dans le menu "Tools - Generate patch" (Générer des retouches en version française). Saisir un nom de fichier comme "resultat.patch", cocher la case "Append" et choisir l'option "Format Unified" (Style : unifié en version française). Cliquer sur "Ok". Éventuellement recommencer pour chaque fichier modifié. Au final, on obtient un beau fichier resultat.patch qui contient toutes les modifications au bon format.
Tester/Appliquer un patch
Pour appliquer un fichier patch sur une version non modifié afin d'intégrer les modifications décrites dans le fichier patch, vous pouvez utiliser l'utilitaire patch. Imaginons que vous avez un répertoire des sources d'une version non modifiée de Dolibarr sur un serveur. Pour appliquer le patch, placer dans le répertoire racine de Dolibarr et lancez la commande:
patch -u -p0 -d . < monfichier.patch
Pour information: -p0 permet d'utiliser le chemin entier tel que mentionné dans le fichier de patch pour retrouver les fichiers à modifier dans votre arborescence source (-pn en retire les n premiers niveau de l'arborescence) -d permet de préciser le chemin relatif vers le dossier à patcher. < permet de donner le chemin vers le fichier source à utiliser (le patch doit être au format unifié) -u permet de préciser que le patch est en mode unifié
Envoyer le patch par mail
Une fois votre fichier patch généré et testé avec succès, vous pouvez l'envoyer sur la mailing-list de développement dolibarr-dev de Dolibarr (Voir ici pour cela https://savannah.nongnu.org/mail/?group=dolibarr). Cette mailing-list est lu de tous les développeurs principaux mais nous ne pouvons garantir que le patch sera inclus, cela dépend de sa qualité et des autres priorités de développement du moment.
如何打包/交付模块
请参阅页面 模块开发#创建一个安装包来分发和安装您的模块 。
该流程也适用于生成要在 https://www.dolistore.com 市场上提交的包。
如何了解Dolibarr的最新状况?
将我的数据库从Mysql迁移到PostgreSQL
什么是发布流程以及其是如何进行的
请参阅页面 FAQ Release process