• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Grails @ Battle of the Geeks 2007
 

Grails @ Battle of the Geeks 2007

on

  • 871 views

Short presentation used to present Grails at the battle of the geeks.

Short presentation used to present Grails at the battle of the geeks.

Statistics

Views

Total Views
871
Views on SlideShare
840
Embed Views
31

Actions

Likes
0
Downloads
93
Comments
0

5 Embeds 31

http://maas-frensch.com 26
http://www.linkedin.com 2
http://www.maas-frensch.com 1
http://www.slideshare.net 1
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Grails @ Battle of the Geeks 2007 Grails @ Battle of the Geeks 2007 Presentation Transcript

    • GRAILS
    • Peter Maas ~ Works at Finalist IT Group. 70% Developer, 25% Architect and 5% CTO Board. Experience includes Java/JEE, Spring, Hibernate, i B a t i s , J S F, S t r u t s , M M B a s e. Passionate about scripting languages for the JVM like Groovy and JRuby.
    • So, what is Grails? In its' essence Grails is an MVC action-based webframework · CoC: convention over configuration · DRY: don't repeat yourself · TDD: test driven development · Combines advantages of frameworks like RoR/Django/Turbogears with proven Java technology
    • GROOVY ≠ GRUBY GRAILS ≠ RAILS
    • uses defacto & proven frameworks Quartz Webflow Spring Acegi Groovy SiteMesh Compass Gorm Lucene Hibernate
    • Key Advantages · Lowers the steep learningcurve of the Java platform · Brings (back) both productivity and pleasure of development · Lets you build applications in an incremental/iterative way · Allows you to scale your application in complexity and infrastructure
    • DEMO Battle Registration Presentation 1 name 1 * * name name description email description date
    • Domain classes class Registration { class Battle { class Presentation { String name String name String name String email String description String description Criteria Battle battle Date date Battle battle static belongsTo = [Battle] static hasMany = static belongsTo = [Battle] def listByRegistration = { [presentations:Presentation,registrations:Registration] def c = Battle.createCriteria() static constraints = { def results = c{ static constraints = { static constraints = { name(blank: false) registrations{ name(blank: false) name(blank: false) email(blank: false, like(quot;namequot;,quot;%${params.name}%quot;) description(blank: false) description(blank: false) email: true) } date(nullable: false) battle(nullable: false) battle(nullable: false) order(quot;datequot;,quot;descquot;) } } } } def String toString(){ def String toString() { def String toString() { render(view:'list',model:[battleList: results]) return name return name return name } } } } } } } g:textArea Bootstrap Battle b = new Battle(name: quot;Battle of the Geeks 2007quot;, description: quot;Finalists BOTG 2007quot;, date: new Date()) <g:textArea name=quot;myFieldquot; value=quot;myValuequot; rows=quot;5quot; cols=quot;40quot;/> b.save() [quot;CMScquot;, quot;Guicequot;,quot;Grailsquot;,quot;Mulequot;].each{ Spring config Presentation p = new Presentation(name: quot;${it} presentationquot;, description: quot;presentation about ${it}quot;, battle: b) p.save() } <bean id=quot;textileParserquot; class=quot;com.plink.plextile.TextParserquot;/> Taglib Render AS import com.plink.plextile.*; import grails.converters.* class TextileTagLib { ... TextParser textileParser def showXML = { def renderTextile = { attrs -> Battle b = Battle.get( params.id) out << textileParser.parseTextile(attrs.value, true) render b as XML } } }