Les joies de la version 3.7 en développement

Un petit message pour les développeurs de modules : Attention à la 3.7
Il y a eu deux « renommages massifs » de fichiers
Les fichiers fiche.php sont devenus card.php
et les fichiers listes.php sont devenus list.php
J’ai déjà soulevé une anomalie majeur à ce sujet au niveau des rapprochement bancaire (l’url étant conservé dans la base il faut faire un update)
Mais cela oblige aussi à modifier tous les modules faisant des liens directs vers les listes (et en particulier au niveau des onglets, le retour à la liste…)

Bref, avant de passer à la 3.7 il faudra faire attention que vos modules aient été « patché » correctement

Bonjour Charles,

Je plaide coupable, c’est moi le responsable de ce changement. J’en ai d’autres en cours sur la 3.8 qui arriveront prochainement

Le sens de ce message n’est pas de trouver un coupable mais d’informer, d’ailleurs je pense que cette évolution est une très bonne chose…
Même si cela doit me prendre des jours de corrections, il faudrait faire la même chose dans l’organisation des dossiers des modules, la gestions des menus…

Ton point de vue m’intéresse sur ce point. Quand tu dis :

Que préconises-tu ? Comme ça si je peux aider… Parce que jusqu’à présent, je prévois qu’une utilisation de l’anglais plus poussé dans les noms de fichiers, fonctions, bd.

Pour faire simple dans l’explication, mettre au format tous les modules internes .
Prenons par exemple, les interventions :
le fichier
/htdocs/langs/fr_FR/interventions.lang
est déplacé et renommé
/htdocs/fichinter/langs/fr_FR/fichinter.lang

le fichier des librairies
/htdocs/core/lib/fichinter.lib.php
est déplacé dans
/htdocs/fichinter/core/lib/fichinter.lib.php

Le fichier de paramétrage du module
/htdocs/core/modules/modFicheinter.class.php
sera remplacé par
/htdocs/fichinter/core/modules/modFichinter.class.php

Les menus ne sont plus défiinis dans le fichier /htdocs/core/menus/standard… mais dans le fichier modFichinter.class.php juste au dessus
etc…

c’est sur que ça se corse vraiment !
et il y a pas moyen d’intégrer vos modules dans le core et de faire payer pour leur activation avec une sorte de code ?
Mobilid fait ça, mais c’est pour l’appli android…

Bonjour

@Hubz nous ne parlons pas des modules externes mais du core dans son intégralité et nous sommes plus sur un aspect qualitatif du code employé et une méthode commune

@defrance un problème se pose avec Transifex pour la réintégration des fichiers langs dans leur module respectif.
Quand est il du dossier compta, il faut l’eclater a la racine, non ?
Tu seras au dev camp ?

faire un script qui récupère les fichiers de langs dans un seul dossier puis les repositionne dans leurs dossiers respectif une fois traduit ne doit pas être trop compliqué…

Oui et ce n’est pas le seul qu’il faut éclater (/comm par exemple)

Toujours présent quand il y a de la free food :stuck_out_tongue_winking_eye:

Bonjour (Hello)
J’utilise la fonction getNomUrl, mais sans savoir à l’avance quel est le type d’objet à traiter;
- projet -> function getNomUrl($withpicto=0,$option=’’)
- task -> function getNomUrl($withpicto=0,$option=’’)
- produit -> function getNomUrl($withpicto=0,$option=’’,$maxlength=0)
- holiday -> function getNomUrl($withpicto=0)
- commande -> function getNomUrl($withpicto=0,$option=0,$max=0,$short=0)
- contrat -> function getNomUrl($withpicto=0,$maxlength=0)
Je voudrais souhaiterais donc avoir uniquement quelque soit l’objet
function getNameUrl($withpicto=0,$option=0,$max=0,$short=0)
ex pour fichinter.class.php

	function getNameUrl($withpicto=0,$option=0,$maxlen=0,$short=0)
	{
		return getNomUrl($withpicto);
	}

ex pour contrat.class.php

	function getNameUrl($withpicto=0,$option=0,$maxlen=0,$short=0)
	{
		return getNomUrl($withpicto, $maxlen);
	}

etc
On garde les getNomUrl et en anglais le getNameUrl a les mêmes paramètres quelque soit l’objet
Qu’en pensez vous?
Fred

Bonsoir Frederic,

J’ai commencé à travailler sur le problème en octobre 2014, je n’ai pas eu le temps de revenir dessus depuis mais un peu d’uniformisation ne ferait pas de mal.

Le nom retenu était getHtmlLink à la place de getNomUrl

Je t’invite à lire les différent échanges sur ce point.
https://github.com/Dolibarr/dolibarr/pull/1936
http://lists.nongnu.org/archive/html/dolibarr-dev/2014-10/msg00017.html

Bon courage

Bonjour
Merci pour les liens… il y a du boulot:

htdocs/compta/dons/class/don.class.php: function getNomUrl($withpicto=0)
htdocs/compta/deplacement/class/deplacement.class.php: function getNomUrl($withpicto=0)
htdocs/compta/prelevement/class/bonprelevement.class.php: function getNomUrl($withpicto=0,$option=’’)
htdocs/compta/tva/class/tva.class.php: function getNomUrl($withpicto=0,$option=’’)
htdocs/compta/sociales/class/chargesociales.class.php: function getNomUrl($withpicto=0,$maxlen=0)
htdocs/compta/sociales/class/paymentsocialcontribution.class.php: function getNomUrl($withpicto=0,$maxlen=0)
htdocs/compta/bank/class/account.class.php: function getNomUrl($withpicto=0, $mode=’’)
htdocs/compta/bank/class/account.class.php: function getNomUrl($withpicto=0,$maxlen=0,$option=’’)
htdocs/compta/localtax/class/localtax.class.php: function getNomUrl($withpicto=0, $option=’’)
htdocs/compta/paiement/class/paiement.class.php: function getNomUrl($withpicto=0,$option=’’)
htdocs/compta/paiement/cheque/class/remisecheque.class.php: function getNomUrl($withpicto=0,$option=’’)
htdocs/compta/salaries/class/paymentsalary.class.php: function getNomUrl($withpicto=0,$option=’’)
htdocs/compta/facture/class/facture-rec.class.php: function getNomUrl($withpicto=0,$option=’’)
htdocs/compta/facture/class/facture.class.php: function getNomUrl($withpicto=0,$option=’’,$max=0,$short=0,$moretitle=’’)
htdocs/projet/class/project.class.php: function getNomUrl($withpicto=0, $option=’’, $addlabel=0)
htdocs/projet/class/task.class.php: function getNomUrl($withpicto=0,$option=’’,$mode=‹ task ›)
htdocs/comm/action/class/cactioncomm.class.php: function getNomUrl($withpicto=0)
htdocs/comm/action/class/actioncomm.class.php: function getNomUrl($withpicto=0,$maxlength=0,$classname=’’,$option=’’,$overwritepicto=0)
htdocs/comm/askpricesupplier/class/askpricesupplier.class.php: function getNomUrl($withpicto=0,$option=’’, $get_params=’’)
htdocs/comm/propal/class/propal.class.php: function getNomUrl($withpicto=0,$option=’’, $get_params=’’)
htdocs/product/stock/class/entrepot.class.php: function getNomUrl($withpicto=0,$option=’’)
htdocs/product/class/product.class.php: function getNomUrl($withpicto=0,$option=’’,$maxlength=0)
htdocs/holiday/class/holiday.class.php: function getNomUrl($withpicto=0)
htdocs/expensereport/class/expensereport.class.php: function getNomUrl($withpicto=0)
htdocs/commande/class/commande.class.php: function getNomUrl($withpicto=0,$option=0,$max=0,$short=0)
htdocs/fichinter/class/fichinter.class.php: function getNomUrl($withpicto=0,$option=’’)
htdocs/categories/class/categorie.class.php: function getNomUrl($withpicto=0,$option=’’,$maxlength=0)
htdocs/contact/class/contact.class.php: function getNomUrl($withpicto=0,$option=’’,$maxlen=0,$moreparam=’’)
htdocs/expedition/class/expedition.class.php: function getNomUrl($withpicto=0,$option=0,$max=0,$short=0)
htdocs/contrat/class/contrat.class.php: function getNomUrl($withpicto=0,$maxlength=0)
htdocs/contrat/class/contrat.class.php: function getNomUrl($withpicto=0,$maxlength=0)
htdocs/resource/class/resource.class.php: function getNomUrl($withpicto=0,$option=’’, $get_params=’’)
htdocs/core/class/discount.class.php: function getNomUrl($withpicto,$option=‹ invoice ›)
htdocs/livraison/class/livraison.class.php: function getNomUrl($withpicto=0)
htdocs/fourn/class/fournisseur.facture.class.php: function getNomUrl($withpicto=0,$option=’’,$max=0)
htdocs/fourn/class/paiementfourn.class.php: function getNomUrl($withpicto=0,$option=’’)
htdocs/fourn/class/fournisseur.commande.class.php: function getNomUrl($withpicto=0,$option=’’)
htdocs/ecm/class/ecmdirectory.class.php: function getNomUrl($withpicto=0,$option=’’,$max=0,$more=’’)
htdocs/adherents/class/cotisation.class.php: function getNomUrl($withpicto=0)
htdocs/adherents/class/adherent_type.class.php: function getNomUrl($withpicto=0,$maxlen=0)
htdocs/adherents/class/adherent.class.php: function getNomUrl($withpicto=0,$maxlen=0,$option=‹ card ›)
htdocs/user/class/user.class.php: function getNomUrl($withpicto=0, $option=’’, $infologin=0, $notooltip=0, $maxlen=24)
htdocs/societe/class/address.class.php: function getNomUrl($withpicto=0,$option=’’)
htdocs/societe/class/societe.class.php: function getNomUrl($withpicto=0,$option=’’,$maxlen=0,$notooltip=0)

Fred

bonjour

ce serait pas possible de laisser les fichiers fiche.php avec une redirection vers card.php avec un message dans le syslog pour signaler le changement cela laisserai le temps au dev de faire les modification

Bonsoir,

C’est noté dans le changelog développeur et utilisateur de la 3.7 depuis 6 mois. En plus vu que celle ci ne sort pas pour l’instant. C’est le temps de s’y mettre. Bon courage.

Bonjour à tous,

Ces changements majeurs sont une bonne choses. Ne pas retrouver le même élément sous divers nommages c’est mieux. Mais le soucis c’est si une deuxième vague de renommage est prévue lors de la 3.8.

Ça me fait dire que les développeurs vont attendre la 3.8 pour mettre à jour leurs modules histoire de ne pas devoir le refaire une seconde fois. Compte tenu que la 3.7 est en « stand-by », ne serait-ce pas utile de terminer la phase renommage/standardisation du core sur la 3.7 ?

A vous lire…
@+

Bonjour,

La 3.7 même si elle ne sort pas est freeze, plus de changement majeur à entrevoir même si c’était plus large du coup pour les acceptations de corrections.

Par contre, l’uniformisation/correction que j’effectue et que je vais continuer à faire (Ca au moins, c’est de mon niveau) à commencé sur la 3.6 et a pour but d’avoir une v4.0 (Septembre 2016) plus propre.

Le problème est qu’on intègre des modules Franco-français avec tous les champs de la base de données en français et le nom des fonctions/commentaires en Français. Je passe derrière quand j’en ai le temps pour corriger ça.

Et pour corriger toute le code, standardiser un max, on parle de centaines d’heures ! Y’a du travail.

3 « J'aime »

Bonjour
Je rebondis sur ce dernier message en mode troll car ça me fait halluciner de voir toute cette dépense d’énergie alors que la grande majorité des développeurs et des utilisateurs de dolibarr est francophone…
ok j’arrête et je sors !

Pour ma part, je pense que c’est une excellente initiative, et que j’avais aussi proposé il y a quelques années mais effectivement le boulot est énorme, donc c’est du beau boulot aspangaro si tu arrives au bout :happy:

@altatof: justement, si la plupart des contributeurs sont francophones, c’est peut-être aussi car le code source est en français, c’est une barrière non négligeable pour les contributeurs d’autres pays.

Ich bien ein Troller auch !
C’est vrai que si le code source était en allemand, on se plaindrait grave, en bon franchouillard, ici sur le forum :happy:

troll again : en chinois, on aurait encore plus de contributeurs, non ?

en indo-chinois !