dolibarr-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Dolibarr-dev] Canvas


From: Laurent Destailleur (Eldy)
Subject: Re: [Dolibarr-dev] Canvas
Date: Fri, 03 Sep 2010 20:53:24 +0200
User-agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; fr; rv:1.9.2.8) Gecko/20100802 Lightning/1.0b2 Thunderbird/3.1.2

 Oui c'est bien cela sur le principe.
Par contre pour faciliter la compréhension du dev, je verrais toutefois les regles de nommage suivante:

Répertoire:   societe/canvas/xxx/

Répertoire:   societe/canvas/xxx/tpl/
xxx.create.tpl.php
xxx.edit.tpl.php
xxx.view.tpl.php

Répertoire:   societe/canvas/xxx/class
xxx.ds.class.php   hérite de l'objet origine comme societe.class.php
xxx.action.class.php hérite de la classe SocActionsCommon qui est dans le fichier htdocs/societe/canvas/class

Rem: "ds" veut dire "datasource" et "action" veut dire "action" et sont des termes communéments admis pour parler de Model et Controller.

Et en effet dans soc.php, on aurait,
- en mode canvas non actif, le code actuel
- en mode canvas actif (à définir comment on active, actuellement par un param dans l'url mais il vaudrait mieux une constante en base): des simples appels aux fonctions de la classe xxx.action.class.php pour les actions et des templates pour l'affichage.

Et oui ainsi cela pourrait s'appliquer à tout type de données sans trop de risque de tout casser, et si on garde le mode standard tel quel sans trop compliqué le code. Celui qui veut travailler sur le core de dolibarr ne sera "géné" que par quelques lignes de codes en plus qui ne sont jamais active du fait du test sur if canvas actif, ce qui respecte bien l'adage du "Simple à développer" qu'il faut conserver.


Le 03/09/2010 11:14, Régis Houssin a écrit :
afin de coller au MVC voila comment on pourrait voit la chose:

M : Model (accès en base)
V : View (template)
C : Controller (contrôle, traitement des données)

on est d'accord que la classe "societe.class.php" est le "Model" du module société et ne doit pas contenir de traitement d'affichage, dans le cas des canvas, "thirdparty.default.class.php" est le "Model" du canvas qui hérite de société
et "edit.tpl.php" est un des affichages (View) du canvas

il nous manque donc un "Controller",
nous pourrions donc définir un canvas de la sorte :

répertoire societe/canvas/default/
"thirdparty.default.class.php" : le "Model" du canvas (hérite de la classe Societe) "card.default.class.php" : le "Controller" de la page "soc.php" spécifique a ce canvas (hérite de la classe CardCommon ci-dessous), il sert d'interface entre "soc.php" et le "Model" "card.edit.tpl.php, card.view.tpl.php, card.create.tpl.php" : les différentes "View" (code html) de la page "soc.php"

répertoire societe/canvas/
"card.common.class.php" : le "Controller" de la page "soc.php" commune aux canvas

soc.php ne serait là que pour appeler les différents "Controller" et afficher le template

ce genre de fonctionnement pourrait s'appliquer à tout type de page (canvas ou non)

Vous en pensez quoi ?


Le 02/09/10 23:37, Laurent Destailleur a écrit :
La je viens de faire des modifs qui ont l'air de marcher pour un mode mixte.

Par defaut le champ canvas est null en table.
Quand on appelle une url avec canvas=xxx alors cela utilise le masque du canvas xxx et cela stocke en base avec canvas=xxx. Ainsi en modif on utilise aussi le canvas=xxx.

Ainsi je pense qu'on a un mode mixte qui permet d'avancer sur l'amélioration du code de la fonction canvas. Les 2 modes sont possibles.
Je te laisse tester et voir si j'ai pas trop cassé.


Le 02/09/2010 23:32, Régis Houssin a écrit :
Oui je sais, mais je comptais bien séparer tout ça, je n'ai pas terminé

-----------------------------------------
Régis Houssin
Tél. +33633020797
http://www.dolibarr.fr
http://www.dolibox.fr

Le 2 sept. 2010 à 22:05, "Laurent Destailleur (Eldy)"<address@hidden>  a écrit :

Il y a aussi plein de vilaine choses dans le code des canvas.

Ainsi il n'y a plus de séparation MVC et on trouve du code de présentation dans 
les classe metiers comme la fonction
ajax_selectThirdPartyType(), assign_values, assign_values, etc... dans la 
classe métier societe.

Il faudrait sortir tout cela de la classe societe et mettre cela dans le 
template ou la page qui appelle le template.

--
Eldy (Laurent Destailleur).
---------------------------------------------------------------
EMail:address@hidden
Web:http://www.destailleur.fr

Dolibarr (Project leader):http://www.dolibarr.org
To make a donation for Dolibarr project via Paypal:address@hidden
AWStats (Author) :http://awstats.sourceforge.net
To make a donation for AWStats project via Paypal:address@hidden
AWBot (Author) :http://awbot.sourceforge.net
CVSChangeLogBuilder (Author) :http://cvschangelogb.sourceforge.net


_______________________________________________
Dolibarr-dev mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev


_______________________________________________
Dolibarr-dev mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev


--
Laurent.
-----------------------------------------
EMail:address@hidden
Web:http://www.destailleur.fr
Messenger MSN:address@hidden
Messenger Jabber: eldy
Tel: 0662724322


_______________________________________________
Dolibarr-dev mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev


Cordialement,
--
Régis Houssin
---------------------------------------------------------
Cap-Networks
30, Quai de Verdun
71700 Tournus
FRANCE
VoIP: +33 1 83 62 40 03
GSM: +33 6 33 02 07 97
Web:http://www.cap-networks.com/
Email:address@hidden

Dolibarr developer:address@hidden
Web Portal:http://www.dolibarr.fr/
SaaS offers:http://www.dolibox.fr/
Shop:http://www.dolistore.com/
Development platform:http://www.dolibarr.pro/
---------------------------------------------------------


_______________________________________________
Dolibarr-dev mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev


--
Eldy (Laurent Destailleur).
---------------------------------------------------------------
EMail: address@hidden
Web: http://www.destailleur.fr

Dolibarr (Project leader): http://www.dolibarr.org
To make a donation for Dolibarr project via Paypal: address@hidden
AWStats (Author) : http://awstats.sourceforge.net
To make a donation for AWStats project via Paypal: address@hidden
AWBot (Author) : http://awbot.sourceforge.net
CVSChangeLogBuilder (Author) : http://cvschangelogb.sourceforge.net




reply via email to

[Prev in Thread] Current Thread [Next in Thread]