Archive for the Category 'groovy'

This Week in Grails (2013-01)

Thursday, January 10th, 2013

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:

and 13 updated plugins:

  • akka version 0.6.1. Akka actors integration from Groovy and Java, in a Servlet 3.x environment
  • browser-detection version 0.4.3. Provides a service and tag library for browser detection
  • database-migration version 1.3.2. Official Grails plugin for database migrations
  • equals-hashcode-test version 0.3. Base Spock specification for testing equals and hashCode methods of domain classes and other Groovy objects
  • facebook-sdk version 0.4.8. Allows your application to use the Facebook Platform and develop Facebook apps on Facebook.com or on web sites (with Facebook Connect)
  • grom version 0.3.0. Sends notifications on Windows, Linux, and Mac
  • handlebars-resources version 0.3.4. Supports using Handlebars.js templates with the Grails Resources Plugin
  • newrelic version 0.5. Adds the NewRelic Real User Monitoring feature to your GSP pages
  • quartz-monitor version 0.3-RC1. One clear and concise page that enables you to administer all your Quartz jobs
  • remote-pagination version 0.4. Provides tags for pagination and to sort columns without page refresh using Ajax and loads only the list of objects needed
  • spring-security-facebook version 0.10.3. Plugin for Facebook Authentication, as extension to Grails Spring Security Core plugin
  • stripe version 1.3. Use Stripe to process credit card transactions
  • war-exec version 1.0.2. Makes the war files generated by Grails executable (java -jar myapp.war) by embedding Jetty. Jetty can be configured using properties in Config.groovy

Interesting Tweets

User groups and Conferences


This Week in Grails (2012-52)

Wednesday, January 02nd, 2013

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.


Translations of this post:



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

Interesting Tweets

User groups and Conferences


This Week in Grails (2012-51)

Thursday, December 27th, 2012

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.

Also, GPars 1.0 was released this week.

There were a few writeups about the Groovy & Grails Exchange last week:

and a few more interesting tweets:

I forgot to mention when discussing GGX last week that Yu Sudo took some great photos during the conference. While the rest of us were using our cell phones to take mediocre shots (and often making them worse with Instagram filters) he was using a real camera. I didn’t know people still used real cameras 🙂 Check out his stuff on Flickr.

I updated my old Spring MVC plugin this week and wrote up why you would use it here. I also released a new plugin that adds support for Logback.


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 4 new plugins released:

  • crash version 1.2.0-cr3-p1. Integrates the Common Reusable SHell (CRaSH – http://crashub.org/ )
  • logback version 0.1.1. Replaces Log4j with Logback for logging
  • miniprofiler version 0.1. Shows timing and SQL query information in a head-up display in a web page; useful for debugging database and other performance problems
  • grails-remote-methods version 0.2. Allow controller methods to call from JS without any code

and 15 updated plugins:

  • aws-sdk version 1.3.26. Use the Amazon Web Services infrastructure services
  • codenarc version 0.18. Static code analysis for Groovy
  • cucumber version 0.7.0. Test your Grails apps with Cucumber
  • facebook-sdk version 0.4.7. Allows your application to use the Facebook Platform and develop Facebook apps on Facebook.com or on web sites (with Facebook Connect)
  • jasper-response version 1.0.1. Render JasperReports as PDF or HTML
  • kickstart-with-bootstrap version 0.8.9. Start your project with a good looking frontend, with adapted scaffolding templates for standard CRUD pages using Twitter Bootstrap
  • mongodb version 1.1.0.GA. Aims to provide an object-mapping layer on top of MongoDB
  • oauth version 2.2.1. Provides easy interaction with OAuth service providers
  • quartz version 1.0-RC3. Schedules jobs to be executed with a specified interval or cron expression using the Quartz Enterprise Job Scheduler
  • sendgrid version 1.1. Allows the sending of Email via SendGrid’s services
  • spring-security-facebook version 0.10.2. Plugin for Facebook Authentication, as extension to Grails Spring Security Core plugin
  • spring-security-twitter version 0.4.4. Twitter authentication as extension to the Spring Security Core plugin
  • springmvc version 0.2. Enables the use of Spring MVC controllers
  • vaadin version 1.7.0-beta11. Adds Vaadin (http://vaadin.com/) integration
  • zkui version 0.5.5.2. Seamlessly integrates ZK with Grails’ infrastructures; uses the Grails’ infrastructures such as GSP, controllers rather than zk’s zul as in ZKGrails plugin

Interesting Tweets

User groups and Conferences


This Week in Grails (2012-50)

Wednesday, December 19th, 2012

The big news of this week was the 2012 Groovy & Grails Exchange in London. Lots of great content this year, and attendance was up 40% from last year. It’s always a great conference thanks to the fine folks at Skills Matter who run the conference and many other events throughout the year. They’re great about getting videos of the talks online quickly and you can check them out at the conference schedule – click through each talk to the full description. There was a lot of Twitter activity – search on the #ggx hashtag. Here are several of the more interesting ones, including several links to presentations and sample code:

In addition, Grails 2.1.2 was released with some fixes for the 2.1.x line (note that the distribution is now ~120MB since it includes source and Javadoc), and Grails 2.2.0 RC4 was released. This will be the final RC release before the 2.2 GA release and it includes Groovy 2.0, so you should definitely check it out and start looking now at upgrading.

The Spring Loaded JVM agent that we use in Grails 2.0+ for code reloading was open-sourced this week.

The folks at Canoo released Open Dolphin which integrates Enterprise applications with Java Desktop applications.

I released a new plugin, the tcpmon plugin. It provides the TCPMon proxy tool which can help with debugging web services and rest APIs.


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 8 new plugins released:

  • dynamic-themes version 0.1.0. Load and render your pages with your own theme (folders with GSP templates and css) dynamically outside the scope of a web request
  • envers version 0.4.4. Integrates with Hibernate Envers
  • extra-runtime-validation version 0.1. Adds validate method to domain objects to perform additional validations at runtime
  • improx version 0.1. Use interactive mode from other process via TCP
  • jasper-response version 1.0. Render JasperReports as PDF or HTML
  • mongodb-compound-index-attributes version 1.1. Add attributes to MongoDB’s compound index
  • raven version 0.5.2. Sentry Client for Grails
  • tcpmon version 0.1. Provides the TCPMon web service monitoring tool

and 33 updated plugins:

  • asynchronous-mail version 0.9. Send email asynchronously by storing them in the database and sending with a Quartz job
  • auto-test version 1.0.2. Monitors the project directory and attempts to run only the subset of tests affected by what changed
  • bootstrap-theme version 1.0.RC3. Provides a basic Platform UI Theme based on Twitter Bootstrap
  • bootstrap-ui version 1.0.RC4. Twitter Bootstrap based UI Set for plugin platform
  • cloud-bees version 0.6.2. Adds scripts to integrate with the CloudBees client API
  • cookie version 0.4. Provides a service and taglib to get, set, and delete cookies
  • cxf version 1.0.8. Expose Grails services as SOAP web services via CXF
  • cxf-client version 1.4.8. Use existing (or new) Apache CXF wsdl2java generated content to invoke SOAP services
  • database-migration version 1.2.2. Official Grails plugin for database migrations
  • dojo version 1.6.1.15. Integrates the Dojo javascript toolkit
  • easygrid version 1.0.0. Provides a convenient and agile way of defining Data Grids
  • facebook-sdk version 0.4.6. Allows your application to use the Facebook Platform and develop Facebook apps on Facebook.com or on web sites (with Facebook Connect)
  • feature-switch version 0.4. Allows turning on and off of features
  • flash-helper version 0.9.4. Simplifies and standardizes the process of adding/reading messages in the flash scope
  • font-awesome-resources version 2.0.4. Integrates the Font Awesome icon set
  • force-response-download version 0.1.4. Forces the browser to open a dialog for downloading content produced within controller actions
  • handlebars version 1.1.0. Server side rendering of Handlebars.js templates
  • handlebars-resources version 0.3.3. Supports using Handlebars.js templates with the Grails Resources Plugin
  • jmx version 0.8. Adds JMX support and provides the ability to expose services and other Spring beans as MBeans
  • localizations version 1.4.4.6. Store i18n strings in a database
  • nerderg-form-tags version 2.1.3. Bringing Readability, Convention, Consistency and CSS to form design
  • page-resources version 0.2.3. Enhances the resources plugin by allowing for creation of ‘page’ resource modules using convention over configuration
  • platform-core version 1.0.RC2. Provides functionality for plugins to use to achieve greater integration with each other and with applications
  • platform-ui version 1.0.RC3. Abstracted UI elements and theming for plugin/application interoperability
  • rabbitmq-tasks version 0.5.4. Run background tasks using RabbitMQ to queue them
  • release version 2.2.0. Publishes Grails plugins either to a public or private repository
  • resources version 1.2.RC3. A resource management and processing framework
  • rest-client-builder version 1.0.3. Provides an alternative REST client implementation based on Spring’s RestTemplate that is not tied to commons-http-client
  • sendgrid version 1.0. Allows the sending of Email via SendGrid’s services
  • simpledb version 0.5. Integrates the AWS SimpleDB datastore into Grails, providing a GORM API onto it
  • spring-batch version 1.0.RC1. Provides the Spring Batch framework and convention based Jobs
  • twitter-bootstrap version 2.2.2. Twitter Bootstrap CSS framework resource files
  • zkui version 0.5.5. Seamlessly integrates ZK with Grails’ infrastructures; uses the Grails’ infrastructures such as GSP, controllers rather than zk’s zul as in ZKGrails plugin

Interesting Tweets

Jobs



User groups and Conferences


Grails plugin dependencies

Wednesday, December 19th, 2012

If you need a jar library in a Grails plugin, the best approach is to add a dependency in BuildConfig.groovy from a Maven repository so you (and your users) only download it once and use it for each project that needs it. This works well as long as the jar is in Maven Central or some other repo, but some smaller projects don’t publish to Maven repos, so sometimes you are stuck with jar files in the lib directory. Using dependency management is convenient, especially since you can override the version in the application later if a newer jar version is released.

The standard syntax is simple, for example

dependencies {
   compile 'com.atomikos:transactions-jms:3.8.0'
}

This is great, but due to the way Maven works this can result in far more than just that one jar file since all of its dependencies and transitive dependencies will also be downloaded and added to the project’s classpath. That’s what you want most of the time, but often I’ve found that there are unneccessary depdendencies, or dependencies that are already provided by Grails or another plugin but with a different version. So I tend to list out all of the dependencies that I actually want to end up with, adding the necessary exclusions to the dependency declarations. For example here are the two that the spring-security-core plugin defines:

compile('org.springframework.security:spring-security-core:3.0.7.RELEASE') {
   excludes 'spring-expression', 'spring-core', 'spring-context', 'spring-tx',
            'spring-aop', 'spring-jdbc', 'spring-web', 'spring-test', 'aspectjrt',
            'aspectjweaver', 'cglib-nodep', 'ehcache', 'commons-collections',
            'hsqldb', 'jsr250-api', 'log4j', 'junit', 'mockito-core', 'jmock-junit4'
}

compile('org.springframework.security:spring-security-web:3.0.7.RELEASE') {
   excludes 'spring-security-core', 'spring-web', 'spring-jdbc', 'spring-test',
            'commons-codec', 'hsqldb', 'servlet-api', 'junit', 'mockito-core', 'jmock-junit4'
}

I could have cheated and just used transitive = false:

compile('org.springframework.security:spring-security-core:3.0.7.RELEASE') {
   transitive = false
}

compile('org.springframework.security:spring-security-web:3.0.7.RELEASE') {
   transitive = false
}

but this is really only appropriate for applications; in plugins it’s better to avoid this so the pom files are correct.


This usually isn’t that hard to do; it’s just a matter of reading pom.xml files and copy/pasting the relevant bits. But it can be tedious and I realized recently that this was an excellent use case for a Groovy script.

If you’ve installed the release plugin (it should be there since it’s added to the plugin’s BuildConfig.groovy by default) then you can run the generate-pom and it will generate target/pom.xml.

The process that I use is iterative. The first step is to use the transitive = false attribute that I said not to use earlier. This will generate a pom.xml with all of the dependencies and transitive dependencies enumerated for you for each of your specified dependencies. Then run this script in a Grails or Groovy console and it will build the proper syntax for each declaration:

String xml = new File('/path/to/pom.xml').text
for (dependency in new XmlSlurper().parseText(xml).dependencies.dependency) {
   String scope = dependency.scope ?: 'compile'
   Set exclusions = []
   for (exclusion in dependency.exclusions.exclusion) {
      String groupId = exclusion.groupId
      String artifactId = exclusion.artifactId

      if ( (groupId == 'xml-apis' && artifactId == 'xml-apis') ||
           (groupId == 'xml-apis' && artifactId == 'xmlParserAPIs') ||
           (groupId == 'xerces' && artifactId == 'xmlParserAPIs') ) {
         continue
      }

      exclusions << "'$artifactId'"
   }

   String combined = dependency.groupId.text() + ':' +
       dependency.artifactId.text() + ':' +
       dependency.version.text()
   if (exclusions) {
      println "\t$scope('$combined') {"
      println "\t\texcludes ${exclusions.sort().join(', ')}"
      println "\t}\n"
   }
   else {
      println "\t$scope '$combined'\n"
   }
}

Replace transitive = false with the output from the script. If this is sufficient then you’re done, but if you’ve excluded a jar file that you will need, then add it as an explicit dependency with transitive = false and run the script again. Repeat the process until all of the important jar files are listed, and all of their dependencies are properly excluded. Keep in mind that you don’t have to list everything, just what you need to get your plugin working. If a user needs another related jar that you excluded, it can always be added to the application’s BuildConfig.groovy.


For a more extensive example, see the db-reverse-engineer plugin’s BuildConfig.groovy. I could have just defined a dependency for the Hibernate Tools jar, but to do it correctly I ended up with six dependency declarations.

This Week in Grails (2012-48)

Tuesday, December 04th, 2012

The 2012 Groovy & Grails Exchange is next week – better get your tickets before they sell out.

The early bird price for the Greach conference has been extended until December 12, so grab a ticket before the price goes up.

Peter Ledbrook left VMware last week. It’s obviously a big loss for us, but potentially your gain since you can now hire him as a consultant 🙂

I released a new plugin this week, app-info-hibernate and wrote a blog post about it and the updated db-reverse-engineer plugin.


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 5 new plugins released:

  • app-info-hibernate version 0.2. Add-on for the app-info plugin, adds extensive HIbernate information and graphs
  • fresh-security version 1.0.2.RC1. Security that “just works”, backed by Spring Security
  • funky-test-load version 0.3.9. Enables functional tests to be used as light load tests
  • localhome-config version 0.2. Configure the external configuration in ~/.grails/appName/files(Config.groovy,grails-app/i18n,web-app/)
  • mail-on-exception version 0.1. Allows one to specify an email address where all frontend exceptions will be sent

and 15 updated plugins:

  • airbrake version 0.9.1. Notifier plugin for integrating apps with Airbrake
  • akka version 0.6. Akka actors integration from Groovy and Java, in a Servlet 3.x environment
  • cassandra-astyanax version 0.3.2. Exposes the Astyanax Cassandra client as a Grails service and adds dynamic methods
  • cassandra-orm version 0.3.2. Provides GORM-like dynamic methods for persisting Groovy objects into Cassandra (but does not implement the GORM API)
  • cloud-bees version 0.6.1. Adds scripts to integrate with the CloudBees client API
  • cookie-session version 2.0.2. Allows you to store session data in a cookie
  • database-migration version 1.2.1. Official Grails plugin for database migrations
  • db-reverse-engineer version 0.5. Reverse-engineers a database to Grails domain classes.
  • functional-test version 2.0.RC1. Functional web testing using HtmlUnit to simulate the client browser
  • handlebars-resources version 0.3.2. Supports using Handlebars.js templates with the Grails Resources Plugin
  • jesque version 0.5.1. Groovier approach to using jesque
  • rabbitmq version 1.0.0. Integrates with Rabbit MQ messaging
  • rabbitmq-tasks version 0.5.3. Run background tasks using RabbitMQ to queue them
  • simple-captcha version 0.9.2. Creates simple image CAPTCHAs that protect against automated completion and submission of HTML forms
  • vaadin version 1.7.0-beta10. Adds Vaadin (http://vaadin.com/) integration

Interesting Tweets

User groups and Conferences


The Grails app-info-hibernate plugin

Wednesday, November 28th, 2012

The original app-info plugin had support for displaying lots of information about your Grails application, and several pages for Hibernate information and graphs. The Hibernate features ended up being about half of the plugin, so originally I wanted to split out the Hibernate features into a separate plugin. This didn’t work because I wasn’t able to get the GSPs rendered; at the time it wasn’t possible to use a plugin attribute for the render method to tell Grails where to find the controller mixin’s GSPs.

When Grails 2.0 was released my hand was forced though, since there wasn’t a version of the Hibernate Tools library that I use to generate table and entity graphs which worked with the updated version of Hibernate that Grails now uses. I was able to create a mostly-working version of the db-reverse-engineer plugin which also uses Hibernate Tools by forking the Gant script in its own JVM and using a different Hibernate jar, but that wasn’t possible in the app-info plugin because the functionality is part of the runtime, not just a script. So I removed the Hibernate features with plans to create an app-info-hibernate plugin once there was a compatible Hibernate Tools jar; I wrote about this here.

Fortunately there is finally a “CR1” version of the Hibernate Tools library in Maven Central, and in my testing I discovered that the plugin attribute does work in the Grails 2.0 render method, so I finished up the work for the plugin and released it today. I also released an update of the db-reverse-engineer plugin which uses the updated library and no longer needs the hackish workaround of forking a new process; install version 0.5 by adding compile ':db-reverse-engineer:0.5' to your BuildConfig.groovy.


Using the plugin is very similar to what I described in the original blog post. Add the plugin to BuildConfig.groovy:

plugins {
   ...

   compile ':app-info-hibernate:0.2'
}

(that there’s no need to add the app-info plugin since it will be transitively installed) and configure the grails.plugins.dynamicController.mixins map in Config.groovy:

grails.plugins.dynamicController.mixins = [
   'com.burtbeckwith.grails.plugins.appinfo.IndexControllerMixin':
      'com.burtbeckwith.appinfo_test.AdminManageController',

   'com.burtbeckwith.grails.plugins.appinfo.Log4jControllerMixin' :
      'com.burtbeckwith.appinfo_test.AdminManageController',

   'com.burtbeckwith.grails.plugins.appinfo.SpringControllerMixin' :
      'com.burtbeckwith.appinfo_test.AdminManageController',

   'com.burtbeckwith.grails.plugins.appinfo.MemoryControllerMixin' :
      'com.burtbeckwith.appinfo_test.AdminManageController',

   'com.burtbeckwith.grails.plugins.appinfo.PropertiesControllerMixin' :
      'com.burtbeckwith.appinfo_test.AdminManageController',

   'com.burtbeckwith.grails.plugins.appinfo.ScopesControllerMixin' :
      'com.burtbeckwith.appinfo_test.AdminManageController',

   'com.burtbeckwith.grails.plugins.appinfo.ThreadsControllerMixin' :
      'com.burtbeckwith.appinfo_test.AdminManageController',

   'com.burtbeckwith.grails.plugins.appinfo.hibernate.HibernateControllerMixin' :
      'com.burtbeckwith.appinfo_test.AdminManageController',

   'app.info.custom.example.MyConfigControllerMixin' :
      'com.burtbeckwith.appinfo_test.AdminManageController'
]

One thing to be aware of is that the HibernateControllerMixin package has changed; it’s now in the com.burtbeckwith.grails.plugins.appinfo.hibernate package.

Note that due to some issues in the updated grails.org site, the app-info plugin page isn’t editable, so it’s out of date, and there’s no plugin page yet for the app-info-hibernate plugin. It will be at http://grails.org/plugin/app-info-hibernate when the issues are resolved. You can install the plugin, it’s just not viewable in the plugin portal.


You can download a sample application that uses the plugin here.

This Week in Grails (2012-47)

Wednesday, November 28th, 2012

The big news of this week is the updated grails.org site. This was a big effort and a combination of work by VMware employees and community members, including Eric Berry, Damien Vitrac, and Craig Burke. The site is a Grails application and is open source – the repo is here if you have a fix or a new feature and want to send a pull request. We track issue in JIRA here so if you see anything weird let us know.

As part of the site upgrade, we’ve implemented a new system for submitting plugins. Instead of mailing the dev list, submit it with this form. Disqus is enabled throughout the site, so you can use that to make suggestions and ask questions about submitted plugins, and comment on other parts of the site too.

The winners of the Grails48 hackathon have been announced. Congrats to the team at OSOCO for their 1st-place finish!

The early access edition of Programming Grails was updated this week with three new chapters, for a total of ten. Only two more to go 🙂


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 3 new plugins released:

  • bootstrap-theme version 1.0.RC2. Provides a basic Platform UI Theme based on Twitter Bootstrap
  • bootstrap-ui version 1.0.RC2. Twitter Bootstrap based UI Set for plugin platform
  • platform-ui version 1.0.RC1. Abstracted UI elements and theming for plugin/application interoperability

and 7 updated plugins:

  • jesque version 0.5.0. Groovier approach to using jesque
  • lamer-filter version 1.0.2. NOTFOUND
  • page-resources version 0.2.1. Enhances the resources plugin by allowing for creation of ‘page’ resource modules using convention over configuration
  • platform-core version 1.0.RC1. Provides functionality for plugins to use to achieve greater integration with each other and with applications
  • release version 2.1.0. Publishes Grails plugins either to a public or private repository
  • spring-security-facebook version 0.10. Plugin for Facebook Authentication, as extension to Grails Spring Security Core plugin
  • vaadin version 1.7.0-beta9.2. Adds Vaadin (http://vaadin.com/) integration

Interesting Tweets

Jobs



User groups and Conferences


This Week in Grails (2012-46)

Wednesday, November 21st, 2012

The Greach early bird price ends on November 30, so get your tickets now before the price goes up.

The US and EU GR8Conf dates have been announced; the US conference will be July 21st-23rd and the EU dates are May 22nd-24th. Both conferences’ call for papers are open; submit for the US conference here and the EU conference here.


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 4 new plugins released:

  • css-lint version 0.1. Runs csslint on css files
  • kissmetrics version 0.1.2. Allows your Grails application to use KISSmetrics APIs
  • rwt version 0.1. Integrates RWT – the web-ported Standard Widget Toolkit (SWT) – to build your RWT and JFace powered user interfaces
  • vero version 0.1.0. Allows your Grails application to use Vero APIs

and 13 updated plugins:

  • aws-sdk version 1.3.24. Use the Amazon Web Services infrastructure services
  • closure-compiler version 0.9.1. Compiles/optimizes your javascript resources with the Google Closure Compiler
  • clover version 3.1.8. Integrates the Clover code coverage tool
  • cookie-session version 2.0.1. Allows you to store session data in a cookie
  • facebook-sdk version 0.4.4. Allows your application to use the Facebook Platform and develop Facebook apps on Facebook.com or on web sites (with Facebook Connect)
  • geb version 0.9.0-RC-1. Geb is a library for headless web browsing on the JVM, suitable for automation and functional web testing
  • gwt version 0.8. Incorporates GWT into Grails
  • html5-mobile-scaffolding version 0.4.4. Scaffolds HTML5 mobile application using jQuery mobile in a single page
  • jquery version 1.8.3. Integrates jQuery
  • kickstart-with-bootstrap version 0.8.8. Start your project with a good looking frontend, with adapted scaffolding templates for standard CRUD pages using Twitter Bootstrap
  • mongodb-morphia version 0.8.2. Alternative MongoDB GORM based on the Morphia library (former gorm-mongodb)
  • nerderg-form-tags version 2.1. Bringing Readability, Convention, Consistency and CSS to form design
  • vaadin version 1.7.0-beta9.1. Adds Vaadin (http://vaadin.com/) integration

Interesting Tweets

Jobs



User groups and Conferences


This Week in Grails (2012-45)

Wednesday, November 14th, 2012

The Grails48 hackathon was this weekend. Sounds like people got a lot done – I’m looking forward to seeing the various applications that were created and of course to see who wins the various prizes 🙂

The 2012 Groovy & Grails Exchange is coming up soon – it’s only a month away. Be sure to get your tickets now before the price goes up again. And the 2013 Greach conference is not long after that. I’ll be speaking at both and I’m looking forward to the conferences, especially Greach since I haven’t been to Spain before.

I started working on a Grails plugin that provides a UI for P6Spy a long time ago, but didn’t finish it. It was based on the sqlprofiler Swing application that connects to your application with an RMI appender. I’m not sure what triggered me to look at it again but I picked it back up this weekend and got it working. See the plugin page for more information; the source is on Github so feel free to send pull requests with updates (especially CSS and UI-related fixes since I’m not great at developing user interfaces).


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 3 new plugins released:

  • easygrid version 0.9.9. Provides a convenient and agile way of defining Data Grids
  • mongeez version 0.2.1. Integrates the Mongeez change management system for MongoDB
  • p6spy-ui version 0.1. Uses the P6Spy library to intercept JDBC calls and display them in a web page

and 15 updated plugins:

  • app-forty-two-paas version 0.2. Develop engaging and connected Mobile, Web, Social, Enterprise and SaaS Apps using ShepHertz App42 PaaS Cloud and Backend as a Service Platform
  • closure-compiler version 0.9. Compiles/optimizes your javascript resources with the Google Closure Compiler
  • cookie-session version 2.0.0. Allows you to store session data in a cookie
  • cxf version 1.0.7. Expose Grails services as SOAP web services via CXF
  • dojo version 1.6.1.12. Integrates the Dojo javascript toolkit
  • ember-templates-precompiler version 0.2.1. Precompiles EmberJS powered Handlebars templates
  • google-visualization version 0.6. Provides a taglib for the interactive charts of the Google Visualization API
  • greenmail version 1.3.3. Provides a wrapper around GreenMail and provides a view that displays ‘sent’ messages – useful for testing
  • inflector version 0.2. Provides tags to simplify common text inflections, e.g. plural and singular words
  • inviter version 0.4. A Grails port of the functionality found in the OpenInviter PHP project
  • jquery version 1.8.2. Integrates jQuery
  • mail version 1.0.1. Send email from your application
  • neo4j version 1.0.0.M5. GORM for Neo4j
  • stripe version 1.2. Use Stripe to process credit card transactions
  • vaadin version 1.7.0-beta7. Adds Vaadin (http://vaadin.com/) integration

Interesting Tweets

User groups and Conferences


Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 License.