DEVELLOPER UN MODULE DOLIBARR (TUTO NOOB)

AVANT DE COMMENCER
THE RTFM
https://wiki.dolibarr.org/index.php/Langages_et_normes

https://wiki.dolibarr.org/index.php/Développement_module#Cr.C3.A9er_un_package_pour_livrer_et_installer_votre_module

Le module s appele ici monmodule

PARTIE A
1 Allez ds config/divers

2
Inserer MAIN_FEATURES_LEVEL = 2 ds les constantes

3 Puis l’activer : Accueil->Configuration->Modules/Applications

4 Puis le lancer : Accueil -> Outils d’administration -> Générateur de Module (ou avec l’icône en haut à droit de votre Dolibarr)

ou mondolibarr/htdocs/modulebuilder

5 Creer votre premier module

6 Creer votre premier objet de module

7 Attribuer des proprietes a votre objet

Et la est ma question
Si je desire lié mon objet a un produit
je dois rajouter
integer:product:product/class/product.class.php
ds un champ ?
mais que dois je modifier d autres comme fichier pour integrer la classe produit ?

8Ajout d un onglet sur fiche entité (facture, commande, proposition commercial, adhérent…)

Ouvrez votre fichier htdocs/custom/monmodule/core/modules/modmonmodule.class.php

Vers la lligne 150

Modifier $this->tabs = array(‹ objecttype:+tabname1:Title1:mylangfile@monmodule:$user->rights->monmodule->read:/monmodule/mapagetab1.php?id=ID ›

en $this->tabs[] = array(‹ data ›=>‹ product:+tabname1:Mon Objet:mylangfile@monmodule:1:/monmodule/mynewtab1.php?id=ID ›);

Desactiver et reactiver le module

9Ajouter les onglets standard d’un objet sur sa propre page

Je n ai pas compris quels fichiers doivent etre modifies

10Créer votre page d’édition de configuration

Un fichier de config semble etre genéré automatiquement lors de la creation du module…

11 Définir vos propres permissions

La définition des permissions que gérera votre module se fait dans le fichier descripteur créé dans la première étape. Modifier la ligne

$this->rights_class = ‹ monmodule ›

pour y mettre la bonne valeur de monmodule.

Qu entend t on par "bonne valeur " ?? son nom /son id /le fichier de classe ?

12 Définir vos styles CSS

Un fichier css semble etre genéré automatiquement lors de la creation du module…

Bonjour,

Je suis désolé mais je ne comprends pas ce que vous voulez faire.
Pouvez détailler un peux plus ?

Si vous voulez rajouter des champs dans un produit le mieux est de passer par les extrafields !

Bonjour ksar
De base si on creer un module
le template cree un module de base >>ok
Si on crée un objet de base il comporte un lien avec les tiers…

Le champ qui integre les tiers
fk_soc ThirdParty integer:confused:ociete:societe/class/societe.class.php

J aurais souhaité faire de meme avec produits/intervention,…

pouvoir lier mon objet de monmodule a un produit

j ai donc mis le champ
integer:product:product/class/product.class.php
mais erreur ds la liste d objet alors que c est ok si j ouvre le formulaire « nouvel objet »

Question 2
Est il possible d utiliser extra ou custom fields sur un module crée ?

Bonjour,

Désolé mais je ne comprends toujours pas.
Quand on crée un objet le modulebuilder crée des fichiers php
Par défaut il crée un objet générique qui est un « extends CommonObject »
la liaison que vous indiquer c’est dans le squelette de la base de donnée proposée « fk_soc ThirdParty integer:confused:ociete:societe/class/societe.class.php »
Vous pouvez tout à fait creer un champs produit dans le même esprit pour votre base de donnée

Customfileds n’existe plus depuis que les extrafields sont arrivés sur la V3.8 (de mémoire)
Oui il est tout à fait possible de travailler sur les extrafields dans un module.

Le mieux ça serrait peut-être que vous nous expliquez ce que vous voulez faire avec votre module pour mieux vous aiguiller sur la manière d’y arriver.

desolé ksar
je debute pour dev un module alors 1000 excuses si je pose des questions debiles

OBJECTA_-_2018-08-28_11.39.53.png

sur la photo
mon object possede bien un lien pour un tiers… ?
>>>"Lier n est peut etre pas le bon terme ?

Oui c’est le squelette par défaut d’un objet.
Tu peux tout à fais le modifier.

ok
mais comment modifier pour
remplacer le champ tiers par le champ produit ?

ok
mais comment modifier pour ajouter ou remplacer le champ tiers par le champ produit ?

Customfields semble encore fonctionner sur une v8 …

Ni extrafields ni custom ne voit mon module

La doc ne dit rien sur ce sujet …

Bonjour,

Encore une fois, expliquez nous ce que vous voulez faire si vous voulez que l’on vous aide.

Je ne sais pas.

Pour Customfiled : https://www.dolistore.com/en/modules/221-Custom-Fields.html Dolibarr max version: 3.8.1+

Pour Extra fields, extrafields n’a pas à « voir » votre module… Soit vous utilisez la class extrafield dans votre module soit non.

D abord merci de votre rapidité generale a me repondre

J essaye de creer un module " de facon générale" pour comprendre …comment creer un module par la suite…
Mais si ça peut vous aider pour l exemple disons que ce module gere des livres
-les livres sont lies a un client
-les livres sont des produits

j ai bien vu la fiche … cela ne l empeche pas d etre fonctionnel sur une v8 :lol:

>>ok .

Merci beaucoup pour le tuto. Après avoir déployer dolibarr, je souhaite implémenté la double la authentification afin de garantir une meilleure sécurité à mon serveur ERP dolibarr. s’ S’il vous plait comment faire pour implémenter un module (double authentification) dans dolibarr lors de la connexion d’un utilisateur à dolibarr??

Bonjour,
Rien à voir avec ce sujet !
Il y a un module : Two-Factor Authentication
@+

Le problème est que je n’ai pas les moyens. Je suis en 5e année dans une ecole d’ingénieure au Cameroun. Pour mémoire de fin d’étude, je souhaiterais apporté un aspect de la sécurité dans le déploiement de mon ERP. Du coup j’ai pensé à la double authentification. SVP aidez moi
:pray: :pray: :pray: :pray: