ANN: Platform-core 1.0.M6 (and M4 and M5) released

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

ANN: Platform-core 1.0.M6 (and M4 and M5) released

Marc Palmer Local
Hi,

Hot on the heels of the platform-core 1.0.M3 release, we have had no less than 3 emergency releases. Due to painting ourselves into a corner with the milestone versioning, these sadly have resulted in M4, M5 and M6 releases. We'll be trying to avoid this kind of thing in the future.

So the new platform-core 1.0.M6 release incorporates the following improvements since 1.0.M3:

- Added the missing bootstrap JS file needed for the /platform/ UI to work

- Event DSL artefacts in plugins automatically set the event namespace to pluginNameInBeanCase if no namespace is provided.

- Events sent to undeclared namespace/topic pairs will result in an exception (so no more "why the hell isn't my listener being triggered" when you use wrong namespace)

- Improvements to p:text tag - support for overriding the i18n prefix using scope/plugin attributes just like p:textScope, but one-off.

- Improvements to p:label, p:button and p:smartLink tags to accept textScope and textPlugin attributes to do the same as above, and for body to be used as default value if supplied

- Bug fixes in p:button relating to submit buttons

- Improved /platform/ dev view for showing plugin config - shows all plugin related config now.

- Fixed namespace of i18n strings for security button tags

- Improved output in /platform/showUiExtensions, added more examples of p:button, p:label, p:smartLink and p:text

This of course means that hopefully the next true milestone will be M7 and will include the promised Injection API and events/config improvements.

panel
Install dependency:
    compile ":platform-core:1.0.M6"
Source:
    http://github.com/grailsrocks/grails-platform-core
Docs:
    http://grailsrocks.github.com/grails-platform-core

Changelog: http://jira.grails.org/browse/GPPLATFORMCORE#selectedTab=com.atlassian.jira.plugin.system.project%3Achangelog-

Cheers
~ ~ ~
Marc Palmer
Freelancer (Grails/Groovy/Java/UX)

I offer commercial support for Grails plugins from as low as $50/mo.
For details see: http://grailsrocks.com

Blog: http://www.anyware.co.uk | Resumé: http://www.anyware.co.uk/marc
Contributor @ http://grails.org |  Founder @ http://noticelocal.com
Developer @ http://weceem.org | Member @ http://spottymushroom.com
Twitter: http://twitter.com/wangjammer5 


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply | Threaded
Open this post in threaded view
|

Re: ANN: Platform-core 1.0.M6 (and M4 and M5) released

Nathan Wells
Out of curiousity, why not just call "1.0.M6" your first release (i.e. "1.0.0") and add new features in the next major release (i.e. "1.1.0")? Just sayin'

Nathan Wells


On Fri, Aug 17, 2012 at 5:01 AM, Marc Palmer <[hidden email]> wrote:
Hi,

Hot on the heels of the platform-core 1.0.M3 release, we have had no less than 3 emergency releases. Due to painting ourselves into a corner with the milestone versioning, these sadly have resulted in M4, M5 and M6 releases. We'll be trying to avoid this kind of thing in the future.

So the new platform-core 1.0.M6 release incorporates the following improvements since 1.0.M3:

- Added the missing bootstrap JS file needed for the /platform/ UI to work

- Event DSL artefacts in plugins automatically set the event namespace to pluginNameInBeanCase if no namespace is provided.

- Events sent to undeclared namespace/topic pairs will result in an exception (so no more "why the hell isn't my listener being triggered" when you use wrong namespace)

- Improvements to p:text tag - support for overriding the i18n prefix using scope/plugin attributes just like p:textScope, but one-off.

- Improvements to p:label, p:button and p:smartLink tags to accept textScope and textPlugin attributes to do the same as above, and for body to be used as default value if supplied

- Bug fixes in p:button relating to submit buttons

- Improved /platform/ dev view for showing plugin config - shows all plugin related config now.

- Fixed namespace of i18n strings for security button tags

- Improved output in /platform/showUiExtensions, added more examples of p:button, p:label, p:smartLink and p:text

This of course means that hopefully the next true milestone will be M7 and will include the promised Injection API and events/config improvements.

panel
Install dependency:
    compile ":platform-core:1.0.M6"
Source:
    http://github.com/grailsrocks/grails-platform-core
Docs:
    http://grailsrocks.github.com/grails-platform-core

Changelog: http://jira.grails.org/browse/GPPLATFORMCORE#selectedTab=com.atlassian.jira.plugin.system.project%3Achangelog-

Cheers
~ ~ ~
Marc Palmer
Freelancer (Grails/Groovy/Java/UX)

I offer commercial support for Grails plugins from as low as $50/mo.
For details see: http://grailsrocks.com

Blog: http://www.anyware.co.uk | Resumé: http://www.anyware.co.uk/marc
Contributor @ http://grails.org |  Founder @ http://noticelocal.com
Developer @ http://weceem.org | Member @ http://spottymushroom.com
Twitter: http://twitter.com/wangjammer5


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



Reply | Threaded
Open this post in threaded view
|

Re: ANN: Platform-core 1.0.M6 (and M4 and M5) released

bksaville
I'm with you Nathan, seems to me a bit like google having things in 'beta' for 5 years. :)

On Sat, Aug 18, 2012 at 8:58 PM, Nathan Wells <[hidden email]> wrote:
Out of curiousity, why not just call "1.0.M6" your first release (i.e. "1.0.0") and add new features in the next major release (i.e. "1.1.0")? Just sayin'

Nathan Wells



On Fri, Aug 17, 2012 at 5:01 AM, Marc Palmer <[hidden email]> wrote:
Hi,

Hot on the heels of the platform-core 1.0.M3 release, we have had no less than 3 emergency releases. Due to painting ourselves into a corner with the milestone versioning, these sadly have resulted in M4, M5 and M6 releases. We'll be trying to avoid this kind of thing in the future.

So the new platform-core 1.0.M6 release incorporates the following improvements since 1.0.M3:

- Added the missing bootstrap JS file needed for the /platform/ UI to work

- Event DSL artefacts in plugins automatically set the event namespace to pluginNameInBeanCase if no namespace is provided.

- Events sent to undeclared namespace/topic pairs will result in an exception (so no more "why the hell isn't my listener being triggered" when you use wrong namespace)

- Improvements to p:text tag - support for overriding the i18n prefix using scope/plugin attributes just like p:textScope, but one-off.

- Improvements to p:label, p:button and p:smartLink tags to accept textScope and textPlugin attributes to do the same as above, and for body to be used as default value if supplied

- Bug fixes in p:button relating to submit buttons

- Improved /platform/ dev view for showing plugin config - shows all plugin related config now.

- Fixed namespace of i18n strings for security button tags

- Improved output in /platform/showUiExtensions, added more examples of p:button, p:label, p:smartLink and p:text

This of course means that hopefully the next true milestone will be M7 and will include the promised Injection API and events/config improvements.

panel
Install dependency:
    compile ":platform-core:1.0.M6"
Source:
    http://github.com/grailsrocks/grails-platform-core
Docs:
    http://grailsrocks.github.com/grails-platform-core

Changelog: http://jira.grails.org/browse/GPPLATFORMCORE#selectedTab=com.atlassian.jira.plugin.system.project%3Achangelog-

Cheers
~ ~ ~
Marc Palmer
Freelancer (Grails/Groovy/Java/UX)

I offer commercial support for Grails plugins from as low as $50/mo.
For details see: http://grailsrocks.com

Blog: http://www.anyware.co.uk | Resumé: http://www.anyware.co.uk/marc
Contributor @ http://grails.org |  Founder @ http://noticelocal.com
Developer @ http://weceem.org | Member @ http://spottymushroom.com
Twitter: http://twitter.com/wangjammer5


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email




Reply | Threaded
Open this post in threaded view
|

Re: ANN: Platform-core 1.0.M6 (and M4 and M5) released

micke_
I think it is a good idea to release it as milestones while the API isn't nailed down, clearly shows that it is work in progress where the API is expected to change.
Think it is a bad idea to release it as proper versions, would give people the impression that the API won't change when it is nigh on expected to or it is work inprogress.

Micke

On 19 August 2012 17:00, Brian Saville <[hidden email]> wrote:
I'm with you Nathan, seems to me a bit like google having things in 'beta' for 5 years. :)


On Sat, Aug 18, 2012 at 8:58 PM, Nathan Wells <[hidden email]> wrote:
Out of curiousity, why not just call "1.0.M6" your first release (i.e. "1.0.0") and add new features in the next major release (i.e. "1.1.0")? Just sayin'

Nathan Wells



On Fri, Aug 17, 2012 at 5:01 AM, Marc Palmer <[hidden email]> wrote:
Hi,

Hot on the heels of the platform-core 1.0.M3 release, we have had no less than 3 emergency releases. Due to painting ourselves into a corner with the milestone versioning, these sadly have resulted in M4, M5 and M6 releases. We'll be trying to avoid this kind of thing in the future.

So the new platform-core 1.0.M6 release incorporates the following improvements since 1.0.M3:

- Added the missing bootstrap JS file needed for the /platform/ UI to work

- Event DSL artefacts in plugins automatically set the event namespace to pluginNameInBeanCase if no namespace is provided.

- Events sent to undeclared namespace/topic pairs will result in an exception (so no more "why the hell isn't my listener being triggered" when you use wrong namespace)

- Improvements to p:text tag - support for overriding the i18n prefix using scope/plugin attributes just like p:textScope, but one-off.

- Improvements to p:label, p:button and p:smartLink tags to accept textScope and textPlugin attributes to do the same as above, and for body to be used as default value if supplied

- Bug fixes in p:button relating to submit buttons

- Improved /platform/ dev view for showing plugin config - shows all plugin related config now.

- Fixed namespace of i18n strings for security button tags

- Improved output in /platform/showUiExtensions, added more examples of p:button, p:label, p:smartLink and p:text

This of course means that hopefully the next true milestone will be M7 and will include the promised Injection API and events/config improvements.

panel
Install dependency:
    compile ":platform-core:1.0.M6"
Source:
    http://github.com/grailsrocks/grails-platform-core
Docs:
    http://grailsrocks.github.com/grails-platform-core

Changelog: http://jira.grails.org/browse/GPPLATFORMCORE#selectedTab=com.atlassian.jira.plugin.system.project%3Achangelog-

Cheers
~ ~ ~
Marc Palmer
Freelancer (Grails/Groovy/Java/UX)

I offer commercial support for Grails plugins from as low as $50/mo.
For details see: http://grailsrocks.com

Blog: http://www.anyware.co.uk | Resumé: http://www.anyware.co.uk/marc
Contributor @ http://grails.org |  Founder @ http://noticelocal.com
Developer @ http://weceem.org | Member @ http://spottymushroom.com
Twitter: http://twitter.com/wangjammer5


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email





Reply | Threaded
Open this post in threaded view
|

Re: ANN: Platform-core 1.0.M6 (and M4 and M5) released

Marc Palmer Local
In reply to this post by Nathan Wells

On 19 Aug 2012, at 03:58, Nathan Wells <[hidden email]> wrote:

> Out of curiousity, why not just call "1.0.M6" your first release (i.e. "1.0.0") and add new features in the next major release (i.e. "1.1.0")? Just sayin'
>

I appreciate the sentiment.

However we decided some time ago that this API suite represents the core "platform" and the 1.0 baseline API that all plugins will be able to rely upon.

We already have an injection API used internally, the problem is just that we have been asked to migrate it to a 2.0-style class mixin approach. We're investigating how to do this.

It may be we do move to 1.0 without it. To be honest, I could do without the extra workload ;-)

Ultimately all software releases are a continuum, and every release has limitations and bugs. The 1.0 goal is purely psychological, but that obviously has value.

Marc

~ ~ ~
Marc Palmer
Freelancer (Grails/Groovy/Java/UX)

I offer commercial support for Grails plugins from as low as $50/mo.
For details see: http://grailsrocks.com

Blog: http://www.anyware.co.uk | Resumé: http://www.anyware.co.uk/marc
Contributor @ http://grails.org |  Founder @ http://noticelocal.com
Developer @ http://weceem.org | Member @ http://spottymushroom.com
Twitter: http://twitter.com/wangjammer5 


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply | Threaded
Open this post in threaded view
|

RE: ANN: Platform-core 1.0.M6 (and M4 and M5) released

jonspalmer
Are there implementation details on how some of the 'core' (ha ha) parts of the plugin work? In particular how are the listeners implemented. I'm particularly curious because in evaluating the plugin for our use I need to understand how it will scale and what our debugging steps and failure modes might look like and I don't have enough information to inform that evaluation.


Also can the plugin be used standalone in an app or is it mostly intended as being used to author other plugins?

Thanks
Jon

-----Original Message-----
From: Marc Palmer [mailto:[hidden email]]
Sent: Monday, August 20, 2012 5:47 AM
To: [hidden email]
Subject: Re: [grails-user] ANN: Platform-core 1.0.M6 (and M4 and M5) released


On 19 Aug 2012, at 03:58, Nathan Wells <[hidden email]> wrote:

> Out of curiousity, why not just call "1.0.M6" your first release (i.e. "1.0.0") and add new features in the next major release (i.e. "1.1.0")? Just sayin'
>

I appreciate the sentiment.

However we decided some time ago that this API suite represents the core "platform" and the 1.0 baseline API that all plugins will be able to rely upon.

We already have an injection API used internally, the problem is just that we have been asked to migrate it to a 2.0-style class mixin approach. We're investigating how to do this.

It may be we do move to 1.0 without it. To be honest, I could do without the extra workload ;-)

Ultimately all software releases are a continuum, and every release has limitations and bugs. The 1.0 goal is purely psychological, but that obviously has value.

Marc

~ ~ ~
Marc Palmer
Freelancer (Grails/Groovy/Java/UX)

I offer commercial support for Grails plugins from as low as $50/mo.
For details see: http://grailsrocks.com

Blog: http://www.anyware.co.uk | Resumé: http://www.anyware.co.uk/marc Contributor @ http://grails.org |  Founder @ http://noticelocal.com Developer @ http://weceem.org | Member @ http://spottymushroom.com
Twitter: http://twitter.com/wangjammer5 


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email




This email is intended for the person(s) to whom it is addressed and may contain information that is PRIVILEGED or CONFIDENTIAL. Any unauthorized use, distribution, copying, or disclosure by any person other than the addressee(s) is strictly prohibited. If you have received this email in error, please notify the sender immediately by return email and delete the message and any attachments from your system.

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply | Threaded
Open this post in threaded view
|

Re: ANN: Platform-core 1.0.M6 (and M4 and M5) released

smaldini
The Listeners default implementation are stored in DefaultEventsRegistry through a simple HashMap. They are scanned once at startup (thanks to convention - @Listeners) plus each time you do a grailsEvents.on().

EventsImpl, which is the gateway to all calls to events API is a groovy class which stores Event definitions (if any) and each call to event() might have a lookup time to this events definition collection. This could be asynchronous, it's open to improvements.

Then, DefaultEventsPublisher receives events calls, and matches with the current stored Map, processing wildcards (not using regex but indexOf which is normally faster). The default strategy uses an ExecutorService of 10 threads which is fully configurable but might be ok for most of the use cases. 

Therefore, scalability might be affected per 3 factors : Number of listeners, not for memory purpose but for time to route, number of definitions (which has more impact than the former artifacts), and the number of event/second (time to process).

You can use the Spring Integration plugin (events-si) to have more flexibility without pain. Currently the performances should be equivalent, plus a relatively longer time to register dynamic events through grailsEvents.on() .


I'm also working on a Vert.x integration and thinking about other patterns for listeners such as actors as leveraging the same API.

TLDR: it should be ok in most cases, specially in statically declared listeners (@Listener).


On Mon, Aug 20, 2012 at 10:50 AM, Jon Palmer <[hidden email]> wrote:
Are there implementation details on how some of the 'core' (ha ha) parts of the plugin work? In particular how are the listeners implemented. I'm particularly curious because in evaluating the plugin for our use I need to understand how it will scale and what our debugging steps and failure modes might look like and I don't have enough information to inform that evaluation.


Also can the plugin be used standalone in an app or is it mostly intended as being used to author other plugins?

Thanks
Jon

-----Original Message-----
From: Marc Palmer [mailto:[hidden email]]
Sent: Monday, August 20, 2012 5:47 AM
To: [hidden email]
Subject: Re: [grails-user] ANN: Platform-core 1.0.M6 (and M4 and M5) released


On 19 Aug 2012, at 03:58, Nathan Wells <[hidden email]> wrote:

> Out of curiousity, why not just call "1.0.M6" your first release (i.e. "1.0.0") and add new features in the next major release (i.e. "1.1.0")? Just sayin'
>

I appreciate the sentiment.

However we decided some time ago that this API suite represents the core "platform" and the 1.0 baseline API that all plugins will be able to rely upon.

We already have an injection API used internally, the problem is just that we have been asked to migrate it to a 2.0-style class mixin approach. We're investigating how to do this.

It may be we do move to 1.0 without it. To be honest, I could do without the extra workload ;-)

Ultimately all software releases are a continuum, and every release has limitations and bugs. The 1.0 goal is purely psychological, but that obviously has value.

Marc

~ ~ ~
Marc Palmer
Freelancer (Grails/Groovy/Java/UX)

I offer commercial support for Grails plugins from as low as $50/mo.
For details see: http://grailsrocks.com

Blog: http://www.anyware.co.uk | Resumé: http://www.anyware.co.uk/marc Contributor @ http://grails.org |  Founder @ http://noticelocal.com Developer @ http://weceem.org | Member @ http://spottymushroom.com
Twitter: http://twitter.com/wangjammer5


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email




This email is intended for the person(s) to whom it is addressed and may contain information that is PRIVILEGED or CONFIDENTIAL. Any unauthorized use, distribution, copying, or disclosure by any person other than the addressee(s) is strictly prohibited. If you have received this email in error, please notify the sender immediately by return email and delete the message and any attachments from your system.

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email





--
Stéphane MALDINI
--