I would like to create a “Shell” of a Grails project that hosts functionality in plugins, with the URLs segregated by plugin name.
So the URLs for a Blog plugin used in the Shell project might look like: /shell/blog/viewBlogPost
But what I’m actually seeing is all of the plugins’ controllers behave as if they are part of the shell project itself: /shell/viewBlogPost
Is there any way to declare that the Blog plugin’s controllers be accessible only under a /blog path in the URL?
It seems like Grails plugins are not able to do this. The problem is that they lack encapsulation and composability, leading to artifact conflicts:
I opened an issue: GRAILS-9300
The Grails team has tentative plans to address this in 2.2, by using the plugin name as a namespace for artifacts.