2014-09-12 2 views
1

Je veux commencer mon premier projet dans Grails et je veux partager plus d'applications/plugins. Pour l'instant je n'ai qu'un seul site/application (/myproj/projectA). Dans le futur je veux ajouter une nouvelle application (/myproj/projectB) et je veux réutiliser une partie de la logique de projectA (Ex. UserService).Modularize Grails Application (Grails 2.3.x)

Dans Grails, quel est le chemin? Créer 2 applications (projectA, projectB) et un plugin commun (ex.with UserService)?

Comment le faire? Le résultat final est le suivant: Je souhaite mettre à jour une application unique sans redéployer l'intégralité de l'application.

Merci à l'avance

Répondre

5

Création d'une fonctionnalité réutilisable/partagée est l'un des principaux avantages de Grails comme cadre de développement. Vous devriez certainement penser à la modularisation de vos fonctionnalités dès le début et à la conception pour la création et l'utilisation des plugins.

Comme vous l'avez supposé, vous utilisez des plugins grails à cet effet. Nous avons développé un écosystème interne constitué de (actuellement) une trentaine de plugins, chacun d'entre eux fournissant une fonctionnalité spécifique. Nous avons également reporté certains modèles visibles dans les plugins Grails, de sorte que les fonctionnalités de base (domaines et services) sont séparées de l'interface utilisateur (contrôleurs, taglibs et vues). Par exemple, nous avons les plug-ins suivants:

arkCore - Core datatypes, domains and services 
arkComponents - Common UI controls 
arkDocument - Document management datatypes, domains and services 
arkDocumentUi - Document management user interface 

Dans ce cas arkDocument dépend de arkCore et arkDocumentUi dépend arkDocument et arkComponents.

Grails peut créer des projets d'application ou de plug-in. Ma recommandation est de

  1. développer votre fonctionnalité dans une application pour commencer.
  2. Faites-le fonctionner sous une forme basique.
  3. Créez un projet de plug-in et déplacez tous les artefacts pertinents de l'application dans le plug-in.
  4. Publiez le plug-in dans un référentiel local.
  5. Mettez à jour le projet BuildConfig.groovy pour référencer le plugin comme tout autre plug-in Grails.

Vous devez faire les choses suivantes pour se familiariser avec l'utilisation des plugins:

  • Lire et comprendre la section plugins de la documentation Grails
  • obtenir et installer Artifactory comme référentiel de plug-in privé votre développement. S'il ne s'agit que de vous, vous pouvez simplement envisager d'utiliser le référentiel Maven local et d'utiliser maven-install plutôt que publish-plugin.
  • Regardez quelques-uns des plugins développés par des tiers pour des exemples. Ils sont généralement très simples.
+0

Merci Steve! –

+0

Merci pour la belle explication steve.J'ai d'autres questions concernant la modularisation d'une application de grails. S'il vous plaît répondez à ce http://stackoverflow.com/questions/34249297/differences-between-adding-a-project-as-dependency-and-as-a-plugin – Prabhath

+0

@Steve pourriez-vous s'il vous plaît dire comment ajouter un plugin aux grails 2.5 projet comme en place ou pourriez-vous me donner un exemple de travail. –

Questions connexes