addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwchatcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscrosseditemptyheartfacebookfolderfullheartglobegmailgoogleimagesinstagramlinklocation-pinmagnifying-glassmailminusmoremuplabelShape 3 + Rectangle 1outlookpersonplusprice-ribbonImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruseryahoo

Austin Groovy and Grails Users Message Board › What are folks working on?

What are folks working on?

Janelle K.
janellekz
Austin, TX
Post #: 2
Hi all,
I've been using groovy/grails for some less typical applications, and was wondering what kind of projects everyone was working on?

I've got 2 right now:

One project is on a continuous delivery implementation effort, we've automated all the application release process and DB versioned builds with groovy and some custom DSLs for configuration management. Our grails app is a dashboard that provides health status and versions for all the DBs and servers in various environments. Rigging grails to use the same domain classes across multiple datasources, was an interesting problem. :)

My other project is probably more typical - a dashboard & reporting app on Grails. It's been a lot of fun, and we sure got the first release done blazing fast!

What are y'all working on? How are groovy/grails a part of your lives?

Janelle


Ryan V.
rvanderwerf
Group Organizer
Austin, TX
Post #: 9
Right now @ ReachForce we're building a customer portal to provide self service (and internal use)to our product suite. Right now it does a wizard for configuring our SmartForms product (which provides Firmograpic data to users who submit web forms in real time) and a DataClease product, which customers upload lead and contact data, and we clean it up and correct incorrect info about the firmographics. Lots of stuff behind that which is regular Java, Solr, IBM Infosphere too, but the front end is all Grails :) We're also working on next is a dashboard with reporting information, integrated cms, etc.

Custom DSLs are nice, Rob Bugh here made a little one used for Bootstrapping database data. I've frequently found that the SimpleTemplateEngine in Groovy does the got for me where I might use DSLs, so I never got the chance to really build any.

Also doing a lot with AWS and the VPC, we're also moving our infrastructure from Rackspace bare metal to it. That's been a challenge too, untangling and moving what was over 30 machines of work crammed onto 1 big giant bare metal server. I've also gotten Terracotta working with Grails on AWS VPC, which is kind of neat.

I wrote a deployment tool when I was in KPI (My first prod grails project over 3 years ago) and I haven't found a replacement to use here. I've been toying around with writing a newer, better one or trying to see if Asgard will work. Jenkins and its plugins are fine for auto-deploy to a server after a build, but if you want to browse through releases and push one to a production server, I haven't found a good answer using Jenkins for that. What are other using? Chef and Puppet scripts I suppose? Janelle is sounds like you've written your own framework for this too!

In the past I've build Developer portals transitioned from Struts to Grails, which are still in active use today for major cell phone makers and carriers. That's why I'm the maintainer of the Struts 1 plugin for Grails now, I fixed it up this year to work with Grails 2.

I also maintain the GVPS (Grails Video Psuedo Streamer) plugin, which I have a 1.5 hour presentation on that I gave at SpringOne2GX and Gr8Conf this year if anyone wants to hear that at one of the meetups.



Janelle K.
janellekz
Austin, TX
Post #: 3
It's all custom... we tried initially to repurpose existing tools, but it quickly became more effort to try to morph something into what we needed than just building it. But we aren't doing bare metal provisioning or anything even close, just managing the application stack and DB.

The DB management stuff out there just sucks and you quickly run into limitations and mistake-prone issues with anything remotely complicated. In this case, complicated was at a whole new level - 500k lines of plsql code, parallel branched DB development on a different release cadence, massive volumes of data, and combinatorial explosions in data testing complexity. Fun stuff. :) We've got a pretty sweet tool stack though now for doing DB CI, SQL code management, DB state validation and provisioning, even in the trickiest environment imaginable. :)

Speaking of plugins... I'd love to see a talk on Grails plugin development for modularizing applications. A lot of the existing plugin infrastructure seems kind of broken and not well developed, but maybe I'm missing something? I heard there was a lot of work being done on it, so we've just been waiting.

Your GVPS plugin sounds cool, but I can't think of a real excuse to actually use it. :)







Ryan V.
rvanderwerf
Group Organizer
Austin, TX
Post #: 12
It's all custom... we tried initially to repurpose existing tools, but it quickly became more effort to try to morph something into what we needed than just building it. But we aren't doing bare metal provisioning or anything even close, just managing the application stack and DB.

The DB management stuff out there just sucks and you quickly run into limitations and mistake-prone issues with anything remotely complicated. In this case, complicated was at a whole new level - 500k lines of plsql code, parallel branched DB development on a different release cadence, massive volumes of data, and combinatorial explosions in data testing complexity. Fun stuff. :) We've got a pretty sweet tool stack though now for doing DB CI, SQL code management, DB state validation and provisioning, even in the trickiest environment imaginable. :)

Speaking of plugins... I'd love to see a talk on Grails plugin development for modularizing applications. A lot of the existing plugin infrastructure seems kind of broken and not well developed, but maybe I'm missing something? I heard there was a lot of work being done on it, so we've just been waiting.

Your GVPS plugin sounds cool, but I can't think of a real excuse to actually use it. :)

Cool, the farthest I've gotten into DB management is using liquibase and the grails plugin. It worked pretty well at KPI where the setup was pretty simple. However at ReachForce we have a big Oracle database with legacy pl/sql scripts that doesn't seem to fit well (or will take a lot work) to work into liquibase.

The plugin infrastructure works quite well, I broke everything into plugins at both KPI and ReachForce. I'm not sure what issues you might be running into, dependencies is where stuff gets tricky, because Grails will not tolerate any kind of circular dependency.

As long as things are declared in the plugins {} closure and point to a maven or artifactory server, it works pretty good. In-place plugins I only use for local development, but the jenkins server, we have jobs for each plugin that publish to the snapshots artifactory repo. When we do a main app build, it pulls in the plugins as artifacts (like any other grails plugin) into the WAR which we then deploy.

Are ya'll using Grails 2.1? Plugins stuff via BuildConfig in 1.3.x was a little tricky, it's soo much better in 2.x.

The main use case for GVPS is if you have secure video assets on your website you want to stream to a small to medium group of users, or if you have product cataloge of sorts that has videos attached to it.Otherwise you'd probably just use one of many video services like vimeo, etc. I know KPI is using it for video assets on developerprogram.com here and there.

I cover some of the recommended setup for plugins in my Grails enterprise talk, mostly because if you don't break it up that way things will not scale or grow well. One thing I have plugins NOT useful for is putting in JSP templates into, I've never had any luck with that thus far. I could probably shave that down to less than 30 minues to just cover the plugin stuff and how it relates to using artifactory (or whatever maven flavor server you like).

The buzz right now is on the platform-core and platform-ui plugin for making site themes, and there is platform-events plugin that can go on top of that too, so you can intergrate angular.js and the likes and have that client javascript push stuff all integrated (Graeme demoed this at the S1GX2 keynote this year).

I believe Marc Palmer is having a theme contest right now to win prizes on who has submits the best themes using platform-core and platform-ui plugins.
Janelle K.
janellekz
Austin, TX
Post #: 4
It worked fine with publishing artifacts, the problem we had was with the in-place plugins for local development and having to do a clean rebuild or cache wipe to get stuff to resolve/update and not use wrong cached artifacts. Very well may just have had something configured wrong, but that's the reason help would be awesome. :)

Local development with active modules seemed to have a clunky dev workflow so we became hesitant to do plugins for anything that wasn't relatively stable - it seemed to make development more of a pain. Any tips you have would certainly be appreciated.

I'm looking forward to meeting you Ryan... and thanks for sharing, really interesting stuff you've been doing.
I think this is going to be an awesome community.
Ryan V.
rvanderwerf
Group Organizer
Austin, TX
Post #: 13
haha it's funny we've met a bunch of times through Agile Austin, I was speaking on that panel a couple weeks ago through Lee Fox when you were talking about ATTWIFI. I just had no idea you were doing Grails stuff :)

It worked fine with publishing artifacts, the problem we had was with the in-place plugins for local development and having to do a clean rebuild or cache wipe to get stuff to resolve/update and not use wrong cached artifacts. Very well may just have had something configured wrong, but that's the reason help would be awesome. :)

Local development with active modules seemed to have a clunky dev workflow so we became hesitant to do plugins for anything that wasn't relatively stable - it seemed to make development more of a pain. Any tips you have would certainly be appreciated.

I'm looking forward to meeting you Ryan... and thanks for sharing, really interesting stuff you've been doing.
I think this is going to be an awesome community.

Janelle K.
janellekz
Austin, TX
Post #: 5
Oh! Now I totally remember! You spoke at NFJS too, didn't you? I knew you seemed really familiar, but I just didn't put the 2 together... sorry. I've been rather checked out of Agile Austin lately, working on my book has taken over most of my free time - trying to get a first release out in January. (leanpub.com/ideaflow­)

All of our project work at New Iron is Groovy/Grails now for the most part. It's been lots of fun. The ATT stuff is just one client, but a challenging one and I'm constantly struggling with people challenges. :) On the flip-side though, they have some really hard problems to solve, which makes it fun to figure out. My team there is part consulting, part dev - we work on tool development with our own code base, but trying to help out their in-house teams. Our stuff is all groovy. ;)

Our other projects have been more single page app, visualization heavy stuff, so we've built up a knack for cool UI stuff and grails. I've always done mostly backend work, so it still feels a little foreign to me. :) Todd, who you met recently, is pretty remarkable though, and kicking ass at leading those projects.
Powered by mvnForum

Our Sponsors

  • ReachForce

    Food and drinks for some meetups.

  • New Iron

    Help with food & drinks for group, speakers and help with meetup space.

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy