Vous devez être connecté pour utiliser le forum. Vous pouvez le faire ici.
|
Auteur
|
Message
|
|
Stéphane Lem
|
Dimanche 27 Septembre 2009 1:54:12 pm
Conception d'extensions
Bonjour,
Je m'apprête à développer une extension pour ezpublish, qui permettra d'effectuer des réservations de séjours (type hôtel). N'étant pas pleinement imprégné de la philosophie de développement, je me pose quelques question en terme de conception :
Je pars du principe que la description d'une chambre et/ou d'un type de chambre font partie intégrante du contenu, je serai donc tenté d'utiliser une classe de contenu ez pour celles ci. Pour les classes "métiers" (réservation, prix, saisonnalité etc.), instinctivement, je créerai mes propres tables dans la base de donnée et des classes dans l'extension.
Potentiellement, il est parfaitement possible de créer une section ou placer les réservations et les lier à un utilisateur et à une chambre, d'où cette interrogation. Ne souhaitant pas partir dans le n'importe quoi, je me tourne vers vous pour que le modèle que je choisisse soit le plus pertinent par rapport à ezpublish.
Comment organisez vous les classes/tables dans vos extensions ?
Merci par avance pour vos réponses.
Stéphane.
|
|
Bertrand Dunogier
|
Lundi 28 Septembre 2009 12:04:28 pm
Re: Conception d'extensions
Effectivement, choisir ce qui est du contenu et ce qui n'en est pas est une très bonne première étape. De manière générale, tout ce qui aura vocation à être hiérarchisé, recherchable, etc, devrait être stocké sous forme de contenu. Les chambres seraient donc un bon candidat.
Le prix est à la rigueur discutable, mais comme il est probable que celui-ci soit très variable, un traitement plus spécialisé via des tables personnalisé sera sans doute requis.
Dans tous les cas, il est clairement recommandé de lier les données personnalisées (e.g. tables custom) aux objets correspondants via le ContentObjectID, qui sera forcément unique et permettra facilement de trouver le contenu (chambre, client) auquel il fait référence.
Enfin, il faut penser à faciliter la gestion des liens entre les données métier et les contenus. Une méthode que j'ai tendance à utiliser est d'implémenter un datatype personnalisé qui ira piocher dans une ou des tables custom, afin de pouvoir facilement utiliser ces données externes depuis les templates.
|
|
Stéphane Lem
|
Mardi 29 Septembre 2009 10:23:33 am
Re: Conception d'extensions
Merci pour votre réponse, cette approche était donc plutôt correcte, c'est rassurant. Je vais creuser votre façon de faire avec les datatype qui me paraît pas mal !
Stéphane
|
|