This Week in Grails (2012-05)
Rob Fletcher has been doing some great work on scaffolding. Check out this slick demo app on Cloud Foundry. It uses his Fields plugin
(the successor to the bean-fields
) and Twitter Bootstrap.
I realized this week that I’d missed the transition of Rob’s blog to its new home and had missed some interesting posts: Organizing Functional Tests
and Optional Tag Bodies
.
When I switched to 2.0 for development of the Spring Security Core plugin, the PDF of the docs was clipped on the right and I assumed it was because of a 2.0 bug so I removed the PDF from the docs page. I tried generating PDF docs this week for another project and it worked fine and I realized that it was actually a combination of long non-breaking strings and the new larger font that was the issue, so I added in some spaces to allow line breaks and updated the docs page with a link to the PDF.
I also did some work to make working with Heroku a bit better. There was a reported issue with using SSL and Spring Security so I released a small update of the spring-security-core plugin (v1.2.7.2) to address that and updated the Heroku docs about how to use it. There wasn’t a need to update the Heroku plugin – it involves a configuration setting for the security plugin. I’m now also generating PDF docs for the Heroku plugin which you’ll see at the docs link.
Another standing issue with Heroku and Spring Security has to do with sessions when running multiple instances of an application. Heroku doesn’t offer any session clustering or session affinity options, so authentication will usually fail because after successfully logging into one instance, you’ll get redirected and there’s a good chance you’ll end up on an instance that doesn’t have your authentication details in its session. I started playing with an approach to session management that stores sessions in a database (either a database or a NoSQL store or even Memcached) and released a preliminary version of the database-session plugin to test it out, but it’s not ready yet. It was a mistake to release it as 1.0 – it should have been a snapshot release – so don’t use it yet.
I also updated the runtime-logging to work with Grails 1.3 and 2.0.
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:
Miscellaneous Items
-
Building a Backend for backbone.js Todos Example With Grails and MongoDB
-
Nice installing Grails 2.0 on OS X screencast for beginners
-
Glassfish 2 & Grails 2 Logging
-
Call for testing of existing Maven plugin
-
Berglund and McCullough on Mastering Grails 101
-
Grails reading from the filesystem
-
Grails Performance Framework
-
Magnolia and Grails Integration part 1
-
Grails Redis Plugin Memoization Annotation Transformation (a Retrospective on Groovy AST)
-
Opendream Grails Training Courses – Thailand
-
http://observatoriodegrails.com/hoy/?date=2012-01-30
-
http://observatoriodegrails.com/hoy/?date=2012-01-31
-
http://observatoriodegrails.com/hoy/?date=2012-02-01
-
http://observatoriodegrails.com/hoy/?date=2012-02-02
-
http://observatoriodegrails.com/hoy/?date=2012-02-03
-
This Week in Spring, January 31, 2012
Plugins
There were 8 new plugins released:
-
concurrent-test
version 0.1. Run Grails JUnit tests concurrently
-
bitly-shortener
version 0.1. A wrapper to bitly.com shorten API method
-
stylus-resources
version 0.1. Compiles Stylus ( https://github.com/LearnBoost/stylus ) sheets to css
-
spring-security-taobao
version 0.8.2. Integrates the Taobao Open API Authentication with the Spring Security Core plugin
-
angularjs-resources
version 0.1.2. Adds AngularJS resources to an application
-
jasmine-resources
version 0.1.1. Adds Jasmine resources to an application
-
sinonjs-resources
version 0.1.0. Adds Sinon.JS resources to an application
-
database-session
version 1.0. Stores HTTP sessions in a database
and 22 updated plugins:
-
asynchronous-mail
version 0.4. Send email asynchronously by storing them in the database and sending with a Quartz job
-
auto-test
version 1.0. Monitors the project directory and attempts to run only the subset of tests affected by what changed
-
bean-fields
version 1.0.BUILD-SNAPSHOT. Provides a suite of tags for rendering form fields for domain and command objects
-
cxf-client
version 1.2.6. Use existing (or new) Apache CXF wsdl2java generated content to invoke SOAP services
-
dojo
version 1.6.1.5. Integrates the Dojo javascript toolkit
-
elasticsearch
version 0.18.7.1-SNAPSHOT. Adds support for the http://www.elasticsearch.com/ RESTful search engine
-
external-config-reload
version 0.4.9. Polls for changes to external configuration files (files added to grails.config.locations), reloads the configuration when a change has occurred, and notifies specified plugins by firing the onConfigChange event in each
-
fields
version 1.0.1. Customizable form-field rendering based on overrideable GSP template
-
grom
version 0.2.3. Sends notifications on Windows, Linux, and Mac
-
jesque
version 0.3.0. Groovier approach to using jesque
-
jesque-web
version 0.3.0. Web interface to view and manage jesque queues, jobs and workers
-
jquery-mobile
version 1.0.4. Provides jQuery mobile framework resource files
-
lesscss-resources
version 1.0. Optimises the use of http://www.lesscss.org css files, compiling .less files into their .css counterprt, and place the css into the processing chain to be available to the other resource plugin features
-
paypal
version 0.6.5. Adds PayPal integration
-
redis
version 1.2. Provides integration with a Redis datastore
-
routing
version 1.1.7. Send and route messages to a wide variety of destination endpoints directly from your Controllers and Services using Camel
-
runtime-logging
version 0.4. Control Log4j logging at runtime
-
spring-security-core
version 1.2.7.2. The official Grails security plugin; integrates with Spring Security
-
spring-security-saml
version 1.0.0.M13. SAML 2.x support for the Spring Security Plugin
-
spring-security-shibboleth-native-sp
version 1.0.3. Shibboleth Naitive SP support for the Spring Security grails plugin
-
twitter-bootstrap
version 2.0.0.16. Twitter Bootstrap CSS framework resource files
-
twitter4j
version 0.3.2. Send and receive Twitter messages using the twitter4j library
Interesting Tweets
- @tomaslin: Our little grails app is going to be on Tv – check out the Secret Escapes Tv ad – http://t.co/x11X5Rch
- @CedricChampeau: Just submitted a talk for @GR8ConfUS 🙂 CFP ends by feb 14th, hurry up if you want to submit too! #groovy #grails
- @phani_alone: Grails Hyderabad Users Group http://t.co/PLypgzkE
- @greybeardedgeek: Just had a bug fix accepted to an open source project for the first time ever – very minor, but exciting! #Groovy http://t.co/loOVuqpN
- @piragua: Grails AutoTest plugin updated to work with Grails 2.0 interactive mode. https://t.co/l9jykkm1 Feedback welcome!
- @Neurotic: GPars. #Groovy #BrainExplosion #awesome.
- @pledbrook: Any volunteers to start a #grails HOWTO on database management with Reverse Engineer and Database Migration plugins?
- @www_books_ru: Это первая книга на русском по языку Groovy и совместному использованию Groovy и Grails! http://t.co/Kwww94Jk
- @vcaraulean: What’s special in Groovy & Grails it’s not “dynamism”. In .NET we had IronRuby & IronPython on top of CLR, but community involvement was ~0
- @aaronzirbes: Finished converting 30 apps from custom #grails #acegi to spring-security-(mock|core|ldap|shibboleth-native-sp). Avg time per app: 45m
- @mcquinne: finally getting around to using #spock… wow. just wow. #groovy #grails
- @tednaleid: published version 1.2 of the grails redis plugin…thanks to @ctoestreich for adding annotations for all memoize methods https://t.co/KjWFPHrH
- @pledbrook: To counter confusion over how to send a message on GitHub, added some screenshots: http://t.co/DXlAmpNH – hope they help!
- @CedricChampeau: Finished implementing a new proxy generator for #groovy 🙂
- @tomaslin: Contributed a grails howto on Getting started with data migrations and the plugin – feedback welcome – http://t.co/vrAEYsa3
- @grails_rocks: I have now migrated all my important plugins from codehaus SVN to github: https://t.co/opF34IeX – that was a bit of a task. #grails
- @smaldini: in stash, 2 new #grails plugins : default Events API and Spring Integration Events API
- @smaldini: just did a new convention directory to let #grails devs to precompile part of code (back porting API, AST …) – will be in plugin platform
- @nicholas_hagen: #Groovy is just too enjoyable: executor.submit { -> println “oh yeah” } as java.util.concurrent.Callable
Jobs
-
Dice keyword search for Grails
-
Monster keyword search for Grails
-
Careerbuilder keyword search for Grails
-
SpringSourceJob Twitter feed
-
SpringSource job search at jobs.vmware.com
- @kalebdf: Immediately looking 4 JavaScript devs @PROSpricing. Work in a fast start-up like atmosphere with #Backbone #ExtJS #Mustache #Groovy #NoSQL
-
Desarrollador Groovy/Grails – Madrid
- @LeiLaniThomas: Grails/ Groovy on Rails Developer needed NOW! Pay up to $60 hourly, Inland Empire, CA. Please contact me if you or anyone you know is inte…
-
Analistas / Programadores especializados en JAVA
- @SE_RobDay: @secret_escapes is hiring: Editorial assistant, Junior Grails developer and a Contracts manager – Check it, homies: http://t.co/hOjAu3hX
-
Senior Java, Groovy and Grails Engineer at Taulia Inc. in San Francisco, CA
-
Grails Developer in Virginia/Maryland
-
Groovy/Grails Developer in NYC
- @mjlefevre: Anyone know a Grails freelancer in the New Jersey / New York area? Having Rails skills too would be a plus.
-
Java Developer (Groovy & Grails) in Gibraltar
-
Web Developer, Grails / ColdFusion, London
-
Java/Grails Developer(s) at ABZ Reporting GmbH in Darmstadt
-
Sr. JAVA/Groovy Grails Dev – Contract in the Inland Empire in California
-
Experienced Grails Developer (contract) in Westerham, Kent, South East, UK
-
Grails / J2EE Developer in Foster City, CA
-
Junior Grails Developer (contract) in Westerham, Kent, South East, UK
-
Java / Spring / Hibernate / Grails developer (contract) at jBilling
-
Java/Grails Developer (Austin)
User groups and Conferences
-
Spring I/O 2012
- February 16th and 17th in Madrid
-
Thursday, February 9, 2012
- Seattle Groovy/Grails Users Group
-
Deploying Grails Applications – 20 Feb 2012
- London GGUG
-
March 8, 2012
- Seattle Groovy/Grails Users Group
I have a client that has a policy of no-session-affinity. I ended up using a variation on TokenBasedRememberMeFilter/Services. I also gave them the option of using a distributed cache, but they wanted to use the cookie approach.
[…] rest is here: An Army of Solipsists » Blog Archive » This Week in Grails (2012-05) Bookmark on Delicious Digg this post Recommend on Facebook share via Reddit Share with Stumblers […]