{"id":41,"date":"2009-03-07T13:18:07","date_gmt":"2009-03-07T22:18:07","guid":{"rendered":"https:\/\/www.kellyrob99.com\/blog\/?p=41"},"modified":"2009-03-07T13:18:07","modified_gmt":"2009-03-07T22:18:07","slug":"playing-with-the-new-grails","status":"publish","type":"post","link":"https:\/\/www.kellyrob99.com\/blog\/2009\/03\/07\/playing-with-the-new-grails\/","title":{"rendered":"Playing with the new Grails :)"},"content":{"rendered":"<p>The Groovy and <a class=\"zem_slink\" title=\"Grails (framework)\" rel=\"homepage\" href=\"http:\/\/grails.org\">Grails<\/a> scene has been busy lately, with new versions of both dropping within the last few weeks.\u00c2\u00a0 Seems like the perfect time to get familiar with both, so I&#8217;ve started building a new Grails application.<\/p>\n<p>I play cards with a bunch of friends fairly regularly and it would be nice to track the wins\/losses online where everyone can watch and comment (smack talk welcomed).\u00c2\u00a0 We generally play a variation of <a href=\"http:\/\/www.pagat.com\/rummy\/canasta.html\">canasta<\/a> with 4 to 6 players.<br \/>\nThere&#8217;s a fairly simple scoring system involved so all we really need to track is a Player and a Position for each game. Slightly complicating the domain is that, depending on the number of players, games are either played with a partner or solo.<\/p>\n<h2>Goals and Means<\/h2>\n<ul>\n<li>secure access: using the<a href=\"http:\/\/www.grails.org\/Stark+Security+Plugin\"> Stark security plugin<\/a><\/li>\n<li>taggability: easy tagging of Games using the <a href=\"http:\/\/www.grails.org\/Taggable+Plugin\">Taggable plugin<\/a><\/li>\n<li>searchability: full text searching courtesy of\u00c2\u00a0 compass, lucene and the <a href=\"http:\/\/www.grails.org\/Searchable+Plugin\">Searchable plugin<\/a><\/li>\n<li>richUI: incorporating GUI widgets with <a href=\"http:\/\/www.grails.org\/GrailsUI+Plugin\">GrailsUI<\/a> &#8211; to make everything pretty don&#8217;t you know.<\/li>\n<li>mobile compatability: after all, what use is there in owning an <a class=\"zem_slink\" title=\"iPhone\" rel=\"homepage\" href=\"http:\/\/www.apple.com\/iphone\">iPhone<\/a> if you don&#8217;t program apps you can use it with? For this the <a href=\"http:\/\/www.grails.org\/iUI+Plugin\">iUI<\/a> plugin to provide parallel access to views from a mobile phone<\/li>\n<li>dynamic application settings: using the <a href=\"http:\/\/www.grails.org\/Settings+Plugin\">Settings plugin<\/a> to enable dynamic configuration of system properties in an unobtrusive fashion<\/li>\n<li>test data availability: using the <a href=\"http:\/\/www.grails.org\/Fixtures+Plugin\">Fixtures plugin<\/a> to keep cruft out of Bootstrap.groovy and to support easy testing<\/li>\n<\/ul>\n<h2>So far&#8230;<\/h2>\n<p>Installing the latest Grails, creating a new project using <a class=\"zem_slink\" title=\"IntelliJ IDEA\" rel=\"homepage\" href=\"http:\/\/www.jetbrains.com\/idea\/\">IntelliJ<\/a> and installing the plugins I wanted took all of about 15 minutes! Having configured similar features in regular Java apps many times, I look back and wish I was using Grails at the time.\u00c2\u00a0 The ease of installation and configuration is really pretty astounding. The ability to make a domain class lucene searchable is a one liner. Similary, making things taggable is just implementing an interface. Sigh&#8230; if only everything was that easy.<\/p>\n<h2>Next steps<\/h2>\n<ul>\n<li>domain model for Game and related entities<\/li>\n<li>prettify the views<\/li>\n<li><\/li>\n<\/ul>\n<ul>\n<li><\/li>\n<li><\/li>\n<\/ul>\n<div class=\"zemanta-pixie\"><a class=\"zemanta-pixie-a\" title=\"Zemified by Zemanta\" href=\"http:\/\/reblog.zemanta.com\/zemified\/62dfd91b-c438-4417-a29f-22658183c21a\/\"><img data-recalc-dims=\"1\" decoding=\"async\" class=\"zemanta-pixie-img\" src=\"https:\/\/i0.wp.com\/img.zemanta.com\/reblog_c.png\" alt=\"Reblog this post [with Zemanta]\" \/><\/a><span class=\"zem-script more-related\"><script src=\"http:\/\/static.zemanta.com\/readside\/loader.js\" type=\"text\/javascript\"><\/script><\/span><\/div>\n","protected":false},"excerpt":{"rendered":"<p>The Groovy and Grails scene has been busy lately, with new versions of both dropping within the last few weeks.\u00c2\u00a0 Seems like the perfect time to get familiar with both, so I&#8217;ve started building a new Grails application. I play cards with a bunch of friends fairly regularly and it would be nice to track [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[6],"tags":[257,14,13,258],"class_list":["post-41","post","type-post","status-publish","format-standard","hentry","category-dev","tag-groovy","tag-intellij-idea","tag-iphone","tag-java"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.9 - aioseo.com -->\n\t<meta name=\"description\" content=\"The Groovy and Grails scene has been busy lately, with new versions of both dropping within the last few weeks.\u00c2 Seems like the perfect time to get familiar with both, so I&#039;ve started building a new Grails application. I play cards with a bunch of friends fairly regularly and it would be nice to track\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"TheKaptain\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.kellyrob99.com\/blog\/2009\/03\/07\/playing-with-the-new-grails\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.9\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"The Kaptain on ... stuff | Tales of development, life and the folly that goes along with both\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Playing with the new Grails :) | The Kaptain on ... stuff\" \/>\n\t\t<meta property=\"og:description\" content=\"The Groovy and Grails scene has been busy lately, with new versions of both dropping within the last few weeks.\u00c2 Seems like the perfect time to get familiar with both, so I&#039;ve started building a new Grails application. I play cards with a bunch of friends fairly regularly and it would be nice to track\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.kellyrob99.com\/blog\/2009\/03\/07\/playing-with-the-new-grails\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2009-03-07T22:18:07+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2009-03-07T22:18:07+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Playing with the new Grails :) | The Kaptain on ... stuff\" \/>\n\t\t<meta name=\"twitter:description\" content=\"The Groovy and Grails scene has been busy lately, with new versions of both dropping within the last few weeks.\u00c2 Seems like the perfect time to get familiar with both, so I&#039;ve started building a new Grails application. I play cards with a bunch of friends fairly regularly and it would be nice to track\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog\\\/2009\\\/03\\\/07\\\/playing-with-the-new-grails\\\/#article\",\"name\":\"Playing with the new Grails :) | The Kaptain on ... stuff\",\"headline\":\"Playing with the new Grails :)\",\"author\":{\"@id\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog\\\/author\\\/admin\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"http:\\\/\\\/img.zemanta.com\\\/reblog_c.png?x-id=62dfd91b-c438-4417-a29f-22658183c21a\",\"@id\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog\\\/2009\\\/03\\\/07\\\/playing-with-the-new-grails\\\/#articleImage\"},\"datePublished\":\"2009-03-07T13:18:07-09:00\",\"dateModified\":\"2009-03-07T13:18:07-09:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog\\\/2009\\\/03\\\/07\\\/playing-with-the-new-grails\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog\\\/2009\\\/03\\\/07\\\/playing-with-the-new-grails\\\/#webpage\"},\"articleSection\":\"Development, Groovy, IntelliJ IDEA, IPhone, Java\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog\\\/2009\\\/03\\\/07\\\/playing-with-the-new-grails\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog\\\/category\\\/dev\\\/#listItem\",\"name\":\"Development\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog\\\/category\\\/dev\\\/#listItem\",\"position\":2,\"name\":\"Development\",\"item\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog\\\/category\\\/dev\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog\\\/2009\\\/03\\\/07\\\/playing-with-the-new-grails\\\/#listItem\",\"name\":\"Playing with the new Grails :)\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog\\\/2009\\\/03\\\/07\\\/playing-with-the-new-grails\\\/#listItem\",\"position\":3,\"name\":\"Playing with the new Grails :)\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog\\\/category\\\/dev\\\/#listItem\",\"name\":\"Development\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog\\\/#organization\",\"name\":\"The Kaptain on ... stuff\",\"description\":\"Tales of development, life and the folly that goes along with both\",\"url\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog\\\/author\\\/admin\\\/#author\",\"url\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog\\\/author\\\/admin\\\/\",\"name\":\"TheKaptain\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog\\\/2009\\\/03\\\/07\\\/playing-with-the-new-grails\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e41f09f3548f065fe6967ac904d3ea2a638614c16d879cac47cfad64e5b1426a?s=96&d=monsterid&r=g\",\"width\":96,\"height\":96,\"caption\":\"TheKaptain\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog\\\/2009\\\/03\\\/07\\\/playing-with-the-new-grails\\\/#webpage\",\"url\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog\\\/2009\\\/03\\\/07\\\/playing-with-the-new-grails\\\/\",\"name\":\"Playing with the new Grails :) | The Kaptain on ... stuff\",\"description\":\"The Groovy and Grails scene has been busy lately, with new versions of both dropping within the last few weeks.\\u00c2 Seems like the perfect time to get familiar with both, so I've started building a new Grails application. I play cards with a bunch of friends fairly regularly and it would be nice to track\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog\\\/2009\\\/03\\\/07\\\/playing-with-the-new-grails\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog\\\/author\\\/admin\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog\\\/author\\\/admin\\\/#author\"},\"datePublished\":\"2009-03-07T13:18:07-09:00\",\"dateModified\":\"2009-03-07T13:18:07-09:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog\\\/\",\"name\":\"The Kaptain on ... stuff\",\"description\":\"Tales of development, life and the folly that goes along with both\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.kellyrob99.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Playing with the new Grails :) | The Kaptain on ... stuff","description":"The Groovy and Grails scene has been busy lately, with new versions of both dropping within the last few weeks.\u00c2 Seems like the perfect time to get familiar with both, so I've started building a new Grails application. I play cards with a bunch of friends fairly regularly and it would be nice to track","canonical_url":"https:\/\/www.kellyrob99.com\/blog\/2009\/03\/07\/playing-with-the-new-grails\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.kellyrob99.com\/blog\/2009\/03\/07\/playing-with-the-new-grails\/#article","name":"Playing with the new Grails :) | The Kaptain on ... stuff","headline":"Playing with the new Grails :)","author":{"@id":"https:\/\/www.kellyrob99.com\/blog\/author\/admin\/#author"},"publisher":{"@id":"https:\/\/www.kellyrob99.com\/blog\/#organization"},"image":{"@type":"ImageObject","url":"http:\/\/img.zemanta.com\/reblog_c.png?x-id=62dfd91b-c438-4417-a29f-22658183c21a","@id":"https:\/\/www.kellyrob99.com\/blog\/2009\/03\/07\/playing-with-the-new-grails\/#articleImage"},"datePublished":"2009-03-07T13:18:07-09:00","dateModified":"2009-03-07T13:18:07-09:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.kellyrob99.com\/blog\/2009\/03\/07\/playing-with-the-new-grails\/#webpage"},"isPartOf":{"@id":"https:\/\/www.kellyrob99.com\/blog\/2009\/03\/07\/playing-with-the-new-grails\/#webpage"},"articleSection":"Development, Groovy, IntelliJ IDEA, IPhone, Java"},{"@type":"BreadcrumbList","@id":"https:\/\/www.kellyrob99.com\/blog\/2009\/03\/07\/playing-with-the-new-grails\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.kellyrob99.com\/blog#listItem","position":1,"name":"Home","item":"https:\/\/www.kellyrob99.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/www.kellyrob99.com\/blog\/category\/dev\/#listItem","name":"Development"}},{"@type":"ListItem","@id":"https:\/\/www.kellyrob99.com\/blog\/category\/dev\/#listItem","position":2,"name":"Development","item":"https:\/\/www.kellyrob99.com\/blog\/category\/dev\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.kellyrob99.com\/blog\/2009\/03\/07\/playing-with-the-new-grails\/#listItem","name":"Playing with the new Grails :)"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.kellyrob99.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.kellyrob99.com\/blog\/2009\/03\/07\/playing-with-the-new-grails\/#listItem","position":3,"name":"Playing with the new Grails :)","previousItem":{"@type":"ListItem","@id":"https:\/\/www.kellyrob99.com\/blog\/category\/dev\/#listItem","name":"Development"}}]},{"@type":"Organization","@id":"https:\/\/www.kellyrob99.com\/blog\/#organization","name":"The Kaptain on ... stuff","description":"Tales of development, life and the folly that goes along with both","url":"https:\/\/www.kellyrob99.com\/blog\/"},{"@type":"Person","@id":"https:\/\/www.kellyrob99.com\/blog\/author\/admin\/#author","url":"https:\/\/www.kellyrob99.com\/blog\/author\/admin\/","name":"TheKaptain","image":{"@type":"ImageObject","@id":"https:\/\/www.kellyrob99.com\/blog\/2009\/03\/07\/playing-with-the-new-grails\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/e41f09f3548f065fe6967ac904d3ea2a638614c16d879cac47cfad64e5b1426a?s=96&d=monsterid&r=g","width":96,"height":96,"caption":"TheKaptain"}},{"@type":"WebPage","@id":"https:\/\/www.kellyrob99.com\/blog\/2009\/03\/07\/playing-with-the-new-grails\/#webpage","url":"https:\/\/www.kellyrob99.com\/blog\/2009\/03\/07\/playing-with-the-new-grails\/","name":"Playing with the new Grails :) | The Kaptain on ... stuff","description":"The Groovy and Grails scene has been busy lately, with new versions of both dropping within the last few weeks.\u00c2 Seems like the perfect time to get familiar with both, so I've started building a new Grails application. I play cards with a bunch of friends fairly regularly and it would be nice to track","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.kellyrob99.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.kellyrob99.com\/blog\/2009\/03\/07\/playing-with-the-new-grails\/#breadcrumblist"},"author":{"@id":"https:\/\/www.kellyrob99.com\/blog\/author\/admin\/#author"},"creator":{"@id":"https:\/\/www.kellyrob99.com\/blog\/author\/admin\/#author"},"datePublished":"2009-03-07T13:18:07-09:00","dateModified":"2009-03-07T13:18:07-09:00"},{"@type":"WebSite","@id":"https:\/\/www.kellyrob99.com\/blog\/#website","url":"https:\/\/www.kellyrob99.com\/blog\/","name":"The Kaptain on ... stuff","description":"Tales of development, life and the folly that goes along with both","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.kellyrob99.com\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"The Kaptain on ... stuff | Tales of development, life and the folly that goes along with both","og:type":"article","og:title":"Playing with the new Grails :) | The Kaptain on ... stuff","og:description":"The Groovy and Grails scene has been busy lately, with new versions of both dropping within the last few weeks.\u00c2 Seems like the perfect time to get familiar with both, so I've started building a new Grails application. I play cards with a bunch of friends fairly regularly and it would be nice to track","og:url":"https:\/\/www.kellyrob99.com\/blog\/2009\/03\/07\/playing-with-the-new-grails\/","article:published_time":"2009-03-07T22:18:07+00:00","article:modified_time":"2009-03-07T22:18:07+00:00","twitter:card":"summary","twitter:title":"Playing with the new Grails :) | The Kaptain on ... stuff","twitter:description":"The Groovy and Grails scene has been busy lately, with new versions of both dropping within the last few weeks.\u00c2 Seems like the perfect time to get familiar with both, so I've started building a new Grails application. I play cards with a bunch of friends fairly regularly and it would be nice to track"},"aioseo_meta_data":{"post_id":"41","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2021-02-09 05:15:28","updated":"2025-11-29 19:58:24","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.kellyrob99.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.kellyrob99.com\/blog\/category\/dev\/\" title=\"Development\">Development<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tPlaying with the new Grails :)\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.kellyrob99.com\/blog"},{"label":"Development","link":"https:\/\/www.kellyrob99.com\/blog\/category\/dev\/"},{"label":"Playing with the new Grails :)","link":"https:\/\/www.kellyrob99.com\/blog\/2009\/03\/07\/playing-with-the-new-grails\/"}],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/prjtg-F","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.kellyrob99.com\/blog\/wp-json\/wp\/v2\/posts\/41","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kellyrob99.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kellyrob99.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kellyrob99.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kellyrob99.com\/blog\/wp-json\/wp\/v2\/comments?post=41"}],"version-history":[{"count":6,"href":"https:\/\/www.kellyrob99.com\/blog\/wp-json\/wp\/v2\/posts\/41\/revisions"}],"predecessor-version":[{"id":47,"href":"https:\/\/www.kellyrob99.com\/blog\/wp-json\/wp\/v2\/posts\/41\/revisions\/47"}],"wp:attachment":[{"href":"https:\/\/www.kellyrob99.com\/blog\/wp-json\/wp\/v2\/media?parent=41"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kellyrob99.com\/blog\/wp-json\/wp\/v2\/categories?post=41"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kellyrob99.com\/blog\/wp-json\/wp\/v2\/tags?post=41"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}