2010-07-07 16 views
4

Je construis une application Grails qui aura plusieurs sites Web similaires (chacun étant son propre nom de domaine) avec le même code mais un design et une configuration différents. (pensez à blogger)Grails - Noms de domaine multiples, sites Web connexes

Quelle est la meilleure méthode pour utiliser une vue différente et même une logique différente sur une seule application sans trop de piratage? Je suis nouveau à Grails et la méthode que j'ai en tête est de vérifier tout le temps pour voir ce que le nom de domaine est et pour servir le bon contrôleur/vue. Y a-t-il un meilleur moyen?

+0

Je pensais en fait à poser une question presque identique hier. Si vous testez le plugin MultiTenant, cela vous dérangerait-il de rapporter votre expérience? Je sais sur la page du plugin qu'il est en alpha et les claes indiquent que c'est seulement compatible avec 1.2 donc pas une option viable pour moi en ce moment, mais j'aimerais savoir comment cela fonctionne pour vous (si ce n'est pas trop de problèmes) . – proflux

+0

Si je vais l'utiliser je mettrai ici une mise à jour. Mais je me suis un peu inquiété des mêmes problèmes et j'en ai besoin pour un site de production à fort trafic, donc ... je ne sais pas si je dois l'utiliser. – cripox

+0

De nombreux plugins Grails ne s'avèrent pas être une solution «prête à l'emploi» pour vos besoins. Cependant, ils sont faciles à décompresser et inspecter et modifier ou améliorer si nécessaire. Je vous suggère de passer quelques heures à creuser dans le code source plutôt que de commencer à développer quelque chose à partir de zéro. Jetez un oeil ici ... http://grails.1312388.n4.nabble.com/Support-pour-multi-tenant-in-grails-1-3-1-td2277982.html ... à propos l'état du plugin et peut-être que vous pouvez aider une fois que vous en avez une idée. Je pourrais aussi bien si je commence à utiliser ce plugin :-) – wwwclaes

Répondre

2

Je voudrais aller avec le MultiTenant plugin. Vous mentionnez que les points de vue et la logique diffèrent, mais je suppose que ce qui différera le plus, ce sont les données? Utilisez MultiTenant pour séparer proprement les données de chaque site sans trop d'efforts, et si vous stockez la configuration des vues et de la logique dans la base de données, vous obtenez également ce type d'emplacement par site.

Je pense que MultiTenant est en cours de mise à jour vers la dernière version Grails, au moins, j'ai vu que mentionné dans la liste de courrier Grails. Je pense que vous devez utiliser une version 1.2 jusque-là.

Je fais quelque chose de similaire à séparer les données en utilisant le plugin Hibernate Filter. Mes vues sont les mêmes mais j'ai des textes et des messages par site en recherchant d'abord le message "SITE-A.hello.world" et s'il n'est pas trouvé, le message par défaut "hello.world" est récupéré. Juste pour vous donner une idée de la façon dont les vues peuvent être personnalisées, même si vous avez probablement besoin d'aller plus loin que cela pour votre système ...

+0

C'est exactement ce que je cherchais. Merci. – cripox