This Week in Grails (2013-02)

Graeme wrote about the new Aether-based depedency resolution approach in 2.3. Aether is missing a few features that Ivy has but makes up for that in several ways, in particular by being significantly faster.

The Groovy team released an RC of Groovy 2.1. Lots of cool stuff there, the most interesting to me being support for invokedynamic. This promises to bring huge performance increases without any annotations or code changes (as long as you’re using a JDK version that supports it).


If you want to keep up with these “This Week in Grails” posts you can access them directly via their category link or in an RSS reader with the feed for just these posts.


Translations of this post:



Plugins

There were no new plugins released but 11 updated:

  • asynchronous-mail version 1.0-RC1. Send email asynchronously by storing them in the database and sending with a Quartz job
  • clover version 3.1.10.1. Integrates the Clover code coverage tool
  • cookie-session version 2.0.3. Allows you to store session data in a cookie
  • cucumber version 0.8.0. Test your Grails apps with Cucumber
  • easygrid version 1.1.0. Provides a convenient and agile way of defining Data Grids
  • kissmetrics version 0.2.0. Allows your Grails application to use KISSmetrics APIs
  • localizations version 1.4.4.7. Store i18n strings in a database
  • quartz version 1.0-RC5. Schedules jobs to be executed with a specified interval or cron expression using the Quartz Enterprise Job Scheduler
  • remote-pagination version 0.4.1. Provides tags for pagination and to sort columns without page refresh using Ajax and loads only the list of objects needed
  • slug-generator version 0.2. Generates unique slugs for String properties, for example to generate unique ‘nice’ urls for access to domain objects
  • vero version 0.2.0. Allows your Grails application to use Vero APIs

Interesting Tweets

User groups and Conferences


Share

flattr this!

Oracle releases emergency Java patch

javalogoAfter the Department of Homeland Security’s US-CERT warned users to disable Java to stop hackers from taking control of users’ machines, Oracle issued an emergency patch on Sunday.

Last week, US-CERT warned that the newest Java “vulnerability is being attacked in the wild, and is reported to be incorporated into exploit kits. Exploit code for this vulnerability is also publicly available. We have confirmed that Windows, OS X, and Linux platforms are affected.”

You can get the patch here.

This Week in Grails (2013-01)

By Burt

Share

The big news of this week is that there is finally a book available that covers Grails 2, Jeff and Graeme’s The Definitive Guide to Grails 2. There’s even photographic proof that it’s shipping :)

If you’re considering submitting talk proposals to either or both of GR8Conf Europe and GR8Conf US be sure to do so soon; the deadline is February 15. Submit for the US conference here and the EU conference here, and if you want to submit for both you can do that from either site.

I released two new plugins this week. The first was the database-migration-jaxb plugin which was going to be part of the database-migration plugin but it requires Java 7 or higher (more specifically JAXB 2.2 or higher) so I released it as an addon instead. It adds a new approach to creating database migrations – writing them programmatically using JAXB-generated classes. I wrote about this and the big new 1.3 release of the database-migration plugin in this blog post.

The other new plugin is spring-security-shiro which adds the ability to use Shiro’s easy and powerful ACLs and permissions alongside Spring Security and the spring-security-core plugin. See this blog post for more information.


If you want to keep up with these “This Week in Grails” posts you can access them directly via their category link or in an RSS reader with the feed for just these posts.


Translations of this post:



Plugins

There were 2 new plugins released:

Geb Quickie: Automatically download drivers for Chrome and Internet Explorer

gebA common error encountered by Geb beginners using Webdriver with Chrome or Internet Explorer is that they forget to download and properly configure chromedriver / iedriver.

If you’re interested in Geb or would like to learn more about this issue, take a look at Tomas Lind’s great blog.

This Week in Grails (2012-52)

Tomas Lin published a great blog post with a large collection of Grails testing resources.
Be sure to register your support for Marc Palmer’s proposed book on the resources plugins.

The Greach conference is getting closer, only a few weeks away. Do you have your ticket yet?

I released a new plugin this week, the lazylob plugin. It adds support for lazy loading of BLOB and CLOB domain class properties so you don’t have to artificially split your domain class into a one-to-one just to avoid the cost of loading large object data when you load domain class instances.

If you want to keep up with these “This Week in Grails” posts you can access them directly via their category link or in an RSS reader with the feed for just these posts.

Miscellaneous Items
Plugins
Interesting Tweets
Jobs
User groups and Conferences

Miscellaneous Items

Beginning Groovy, Grails and Griffon

Grails: generic methods for equals and hashCode calculation

This year (and week) in Spring

Plugins

There was 1 new plugin released:

lazylob version 0.1. Adds support for lazy-loaded Blobs and Clobs

and 3 updated plugins:

quartz version 1.0-RC4. Schedules jobs to be executed with a specified interval or cron expression using the Quartz Enterprise Job Scheduler

spring-security-taobao version 1.1. Integrates the Taobao Open API Authentication with the Spring Security Core plugin

zk version 2.1.0. Adds ZK Ajax framework (www.zkoss.org) support to Grails applications

 

Is Spock a logical choice for your Unit Testing?

Spock_(mirror)

  1. Easy to learn 

    If you know Java and JUnit, you are almost ready to go.

  2. Powered by Groovy 

    Java’s dynamic companion lets you do more in less time. Plus, it’s a lot of fun!

  3. Eliminates waste 

    No assertion API. No record/replay mocking API. No superfluous annotations. Everything is questioned, and only the essential is kept.

  4. Detailed information 

    Spock’s runtime collects a wealth of information, and presents it to you when needed.Condition not satisfied:

        max(a, b) == c
        |   |  |  |  |
        3   1  3  |  2
                  false
  5. Designed for use 

    We always start from a user’s perspective, without worrying about implementation details. Everything else follows from that.

  6. Open-minded 

    Test-first? Test-last? Unit-level? Integration-level? Test-driven? Behavior-driven? We believe there are many ways to create good software, and try to give you the flexibility to do it your way.

  7. Beautiful language 

    Express your thoughts in a beautiful and highly expressive specification language.

        def "subscribers receive published events at least once"() {
          when: publisher.send(event)
          then: (1.._) * subscriber.receive(event)
          where: event << ["started", "paused", "stopped"]
        }
  8. Extensible for everyone 

    @Transaction? @SpringBean? @DeployApp? With Spock’s interception-based extension mechanism, you can easily create your own extensions.

  9. Compatible with JUnit 

    Run specifications with your IDE, build tool, and continuous integration server. Leverage JUnit’s reporting capabilities.

  10. Learns from the history 

    Spock combines the best features of proven tools like JUnit, jMock, and RSpec, and innovates on top of them.

  11. Learn more about Spock, or get started right away.

This Week in Grails (2012-51)

There were a few Groovy and Grails releases this week. Grails 2.2 was released and there are many new features but the big one is that it uses Groovy 2.0. Grails 2.1.3 was also released and includes fixes for the 2.1.x line.

Groovy 2.0.6 was released with several fixes and improvements, and the first beta of Groovy 2.1 was released. It looks like 2.1 will have some very interesting new features.

GPars 1.0 was released this week.