Speakers
- Ben Alex
- Michael Alford
- Andres Almiray
- Scott Andrews
- Alex Antonov
- Alef Arendsen
- Mattias Arthursson
- Shay Banon
- Jean Barmash
- Antranig Basman
- Chris Beams
- Burt Beckwith
- Peter Bell
- Tim Berglund
- Imad Bernoussi
- Jonas Boner
- Jon Brisbin
- Jeff Brown
- Kent Brown
- Dennis Callaghan
- Isaac Christoffersen
- Andy Clement
- Christophe Coenraets
- Adrian Colyer
- Michael Cote
- Hamlet D'Arcy
- Joshua Davis
- Scott Davis
- Hans Dockter
- Keith Donald
- Christian Dupuis
- Justin Edelson
- Mike Esler
- Mike Evans
- Danno Ferrin
- Robert Fischer
- Adam Fitzgerald
- Andrew Glover
- Jeremy Grelle
- Filip Hanik
- Colin Harrington
- Rob Harrop
- Ryan Heaton
- Jennifer Hickey
- Pete Higgins
- Hal Hildebrand
- Al Hilwa
- Juergen Hoeller
- Jim Jagielski
- Steve Jin
- Rod Johnson
- Mike Keith
- Jack Kennedy
- Mik Kersten
- Paul King
- Dave Klein
- Mark Kralj-Taylor
- Guillaume LaForge
- Costin Leau
- Scott Leberknight
- Peter Ledbrook
- Charles Lee
- John Lewis
- Patrick Linskey
- Martin Lippert
- Mat Lowery
- Wayne Lund
- Randy MacBlane
- Andi Mann
- Maudrit Martinez
- Ross Mason
- Tom McCuch
- Richard McDougall
- Sudhir Menon
- Marty Messer
- Russell Miles
- Jim Moore
- Ryan Morgan
- Justin Murray
- Billy Newport
- John Newton
- Peter Niederwieser
- Glyn Normington
- Brian Oliver
- Pratik Patel
- Prasad Pimplaskar
- Mark Pollack
- Alexandru Popescu
- Arjen Poutsma
- Yan Pujante
- Cameron Purdy
- Jags Ramnarayan
- Mark Richards
- Thomas Risberg
- Jared Rodriguez
- John Rymer
- Vipul Savjani
- Stefan Schmidt
- Mark Schwartz
- Nati Shalom
- Ken Sipe
- Brian Sletten
- Javier Soltero
- Randy Stafford
- Mike Stenhouse
- Matt Stine
- Rossen Stoyanchev
- Venkat Subramaniam
- Dave Syer
- Matthew Taylor
- Mark Thomas
- Greg Turnquist
- Thomas Van de Velde
- Erwin Vervaet
- Scott Vlaminck
- Alexander von Zitzewitz
- Chris Wall
- Craig Walls
- Lucas Ward
- Kevin Whinnery
- James Williams
- David Winterfeldt
- Chip Witt
- Eberhard Wolff
- Aaron Zeckoski
- Oleg Zhurakousky
- Ari Zilka
- Kris Zyp
Burt Beckwith
Senior Java Developer and Grails Expert
Blog
Grails App-Info plugin
Posted Saturday, July 17, 2010
I released a new Grails plugin today, app-info. This plugin exposes a lot of internal information for a Grails application. Most of the code for this plugin dates back a long time and was originally mostly JSPs that I would copy into whatever more »Using GMail with a Log4j SMTP Appender in Grails
Posted Wednesday, February 3, 2010
I saw a plaintive wail on Twitter about using GMail as the smtp server to send error emails using a Log4j SMTPAppender in Grails. It turned out to be a little tricky (and a bigger solution than 140 characters would allow) so I thought I'd desc more »Delayed SessionFactory Creation in Grails
Posted Monday, January 25, 2010
The topic of delaying DataSource and SessionFactory creation until some point after startup has come up a few times on the Grails user mailing list so I thought I'd give it a shot. I got it working, but it's not pretty. Grails (and Hibernate) w more »ACLs in the Grails Spring Security Plugin
Posted Sunday, December 27, 2009
It has taken way too long, but the Grails Spring Security plugin finally has ACL support. It's not officially available yet, but people have offered to beta test an early version of the plugin with ACLs, so you can download that here and report more »Hierarchical Roles in the Grails Spring Security Plugin
Posted Monday, December 21, 2009
I was looking at a non-Grails Spring Security application that used hierarchical roles and wondered what it'd take to get this working with the Grails plugin. Turns out it's pretty simple. Non-hierarchical roles are checked by a RoleVoter but to more »Presentations
Demystifying Spring Security in Grails
The Spring Security (Acegi) plugin for Grails has gotten a bad rap. Earlier versions of the plugin and the Acegi framework were somewhat cumbersome to use but new features in Spring Security 2.0 and lots of enhancements and features in the Grails plugin h more »Clustering a Grails Application for Scalability and Availability
How is your lone web server going to handle all the traffic you'll get when it lands on Slashdot or the front page of Digg? Probably not well. To prepare for all of this popularity you're going to need multiple servers, but there's more to it than buying more »UI Performance - Maximizing Page Load Efficiency
The Yahoo Performance Team has made a ton of great UI performance tuning information available, both online and in two books, "High Performance Web Sites" and the recently released followup "Even Faster Web Sites". more »Advanced GORM - Performance, Customization and Monitoring
You've used GORM in Grails apps, you've written custom criteria and HQL queries, and now you're ready to take database access in Grails to the next level. more »Grails Spring Security Plugins
In this talk we'll look at the new Spring Security Core plugin and its dependent plugins. The core plugin provides all of the standard functionality you expect from a security plugin (URL security, users, roles, form-based authentication, etc.) and extens more »Database Migrations in Grails
Hibernate's create-drop mode is great when you're prototyping your Grails applications but once you get past the initial stages of your project you'll need to manage database changes (adding, removing, and renaming tables, columns, and indexes, refactorin more »Advanced GORM - Performance, Customization and Monitoring
You've used GORM in Grails apps, you've written custom criteria and HQL queries, and now you're ready to take database access in Grails to the next level. more »The Spring Security (Acegi) plugin for Grails has gotten a bad rap. Earlier versions of the plugin and the Acegi framework were somewhat cumbersome to use but new features in Spring Security 2.0 and lots of enhancements and features in the Grails plugin have made securing your Grails apps easy.
This talk will demonstrate getting started with the Spring Security plugin and also show how easy it is to add Basic Authentication, LDAP, and even OpenID and Facebook authentication to an application. We'll also look at the various configuration options and extension points for when you need to customize beyond the standard configuration.
How is your lone web server going to handle all the traffic you'll get when it lands on Slashdot or the front page of Digg? Probably not well. To prepare for all of this popularity you're going to need multiple servers, but there's more to it than buying hardware.
In this talk we'll look at implementing Tomcat's HTTP Session clustering, distributed second-level Hibernate caching using EhCache, and using the JDBC store feature of Quartz so your servers can handle the load while maintaining consistent data.
The Yahoo Performance Team has made a ton of great UI performance tuning information available, both online and in two books, "High Performance Web Sites" and the recently released followup "Even Faster Web Sites".
The Grails UI-Performance plugin implements many of these best practices, including compressing and minifying static and dynamic content, aggressive caching, bundling files, creating image sprites and more. We'll look at the wrong way to send content to your users' browsers and the right way, and use YSlow to measure the improvements along the way. Your users will appreciate the zippier response times, and you'll appreciate the decreased server load.
You've used GORM in Grails apps, you've written custom criteria and HQL queries, and now you're ready to take database access in Grails to the next level.
In this talk we'll look at improving performance of Grails apps by avoiding mapped collections, strategies for second-level caching using EhCache, runtime monitoring and graphing, and using a custom Configuration subclass to customize your Hibernate config beyond what GORM mappings provide.
In this talk we'll look at the new Spring Security Core plugin and its dependent plugins. The core plugin provides all of the standard functionality you expect from a security plugin (URL security, users, roles, form-based authentication, etc.) and extension plugins add extra functionality such as OpenID support, LDAP authentication, object and method security with ACLs, and more.
We'll look at the various plugins and create some sample applications to see how easy it is to secure a Grails application with Spring Security.
Hibernate's create-drop mode is great when you're prototyping your Grails applications but once you get past the initial stages of your project you'll need to manage database changes (adding, removing, and renaming tables, columns, and indexes, refactoring data, etc.)
You can do this by hand but there are excellent tools and plugins available and in this talk we'll compare the various approaches available.
You've used GORM in Grails apps, you've written custom criteria and HQL queries, and now you're ready to take database access in Grails to the next level.
In this talk we'll look at improving performance of Grails apps by avoiding mapped collections, strategies for second-level caching using EhCache, runtime monitoring and graphing, and using a custom Configuration subclass to customize your Hibernate config beyond what GORM mappings provide.