FAQ Développeur

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search

Utilisation du cvs

Sur le forum dolibarr: Forum cvs


Modification du code, participer au développement

  • Avec accès CVS en ecriture

A ce jour, les accès en écriture au CVS sont restreint (le nombre de commit étant déjà suffisemment dynamiqe). Il n'est pas exclut d'accueillir d'autres développeurs en modification à d'autres horizons. Si vous bénéficiez donc à l'heure actuel d'un accès CVS en écriture, utilisez le, sinon il est nécessaire de suivre la procédure qui suit (Modification du code, sans accès CVS en ecriture)

  • Sans accès CVS en ecriture

Si vous n'avez pas de compte développeur, il est nécessaire de fournir par mail, votre fichier patch.

Sous tout OS:

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 a jour CVS ou bien tout simplement l'arborescence résultant de la décompression d'un snapshot tgz de Dolibarr). On appelera ce répertoire ancien_rep.

- Avoir un autre répertoire qui contient l'arborescence de Dolibarr mais dans laquelle vous faites vos modifications. On appelera 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 -Naur  ancien_rep  nouveau_rep  > fichier.patch

Envoyer votre patch sur la ML. L'intégration de votre patch n'est toutefois pas garantie, pas plus que le délai.

Sous Windows:

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". Saisir un nom de fichier comme "resultat.patch", cocher la case "Append" et choisir l'option "Format Unified". Cliquer sur "Ok". Eventuellement recommencer pour chaque fichier modifier. Au final, on obtient un beau fichier resultat.patch qui contient toutes les modifications au bon format.

Mettre a jour la version développeur

La première opération consiste à récupérer les dernières versions CVS (Voir FAQ Forum cvs pour cela). Les nouveaux fichiers annulent et remplacent les anciens.

Le deuxième étape consiste à migrer la base. Pour cela aller dans le répertoire mysql/migration et exécuter le script de migration qui correspond le mieux à votre cas. Par exemple, si vous êtes en version 1.2, ou 2.0 dev, il vous faut prendre le script de migration 1.1.0-2.0.0.sql La règle est que: La version à gauche du tiret doit être inférieure ou égale à votre version actuele, la version à droite du tiret, doit etre la plus élevée possible, le CVS contenant le travail pour cette version).

- Si votre version est exactement celle à droite du tiret, le script de migration doit s'exécuter sans erreur.

mysql -uuser -ppassword -Dnom_base_dolibarr < nomscript.sql

- Si votre version est entre les deux, (parce que vous avez déjà fait une mise à jour CVS par exemple), vous aurez des erreurs à l'exécution du script. Ignorez les. Pour cela, sous mysql, vous devez lancer le script sql avec l'option -f:

mysql -f -uuser -ppassword -Dnom_base_dolibarr < nomscript.sql

Comment créer un nouveau theme

Voir pour cela la page Themes


Comment développer mon propre système de menu

Voir pour cela la page Système_de_menus


Comment ajouter une traduction

Voir pour cela la page Documentation_traducteur


Changer mon système de numérotation des factures en cours de route

Si le nouveau système de numérotation n'entre pas en conflit avec l'ancien, il suffit d'aller dans le menu Configuration - Modules - Configuration factures et prendre un nouveau modèle dans la liste. Si le nouveau système rentre en conflit, il est nécessaire de renuméroter vos références existantes. Cela peut-être fait avec une requête SQL. Par exemple, pour passer de Jupiter (FYYYYMM99) à Terre (FAYYMM-999), vous pouvez exécuter la requête suivante:

update llx_facture set facnumber=concat('FA',substr(facnumber,4,4),'-',substr(facnumber,8))
where facnumber like 'f%' and facnumber not like 'fa%';