Kickstart with Bootstrap - Good looking websites!

26 votes
Dependency:
compile ":kickstart-with-bootstrap:1.1.0"

 Documentation  Source  Issues

Summary

Kickstart is a plugin for Grails to start your project with a good looking frontend. It provides adapted scaffolding templates for standard CRUD pages using the Bootstrap frontend framework initiated by Twitter.

Installation

Grails 2.x use:

Use version 0.9.9.1 for Grails version 2.0 - 2.2

Use version 1.0.0+ for Grails version 2.3 or higher

Install the dependency in BuildConfig.groovy and thereafter call the script "kickstart":

grails kickstart

Description

Introduction

Kickstart is a plugin for Grails in order to start your project with a good looking frontend. It is intended to be used in rapid application scenarios such as a Startup Weekend or a prototyping session with a customer. This plugin provides the following feature:

  • Adapted scaffolding templates for standard CRUD pages using the Bootstrap web page template by Twitter.
  • Initial set of webpages to describe the website (e.g., about.gsp, contact.gsp, and systeminfo.gsp)
  • A language picker that adapts to the available property files in the i18n directory. Using the FamFamFam flag icons.
  • A minimal console logging filter (KickstartFilter.groovy) to help understand which actions are called and params are transmitted

Usage

After installation you must call the kickstart script with "grails kickstart", which will copy several files into your project.

grails kickstart

Afterwards create your domain classes (or copy them into the project) and generate controllers and views - they will now use the Bootstrap framework!

Consequences

The Kickstart script will (after asking you) overwrite a few files in the conf, src, and views directories of your project - you should use it only on fresh new Grails projects.

Affected files and directories (as of version 0.8.0; see script/Kickstart.groovy for current procedure):

  • conf/UrlMappings.groovy
  • conf/Config.groovy (will only get one line appended)
  • src/templates
  • /views/_common (contains common GSP entries such as buttons or modals)
  • /views/_errors (contains error GSP for 404, 500, etc.)
  • /views/_menu (contains menus or submenus)
  • /views/home (contains the index.gsp)
  • /views/layouts (contains layout files)
  • /views/siteinfo (contains separated or static pages such as about.gsp)
  • /views/index.gsp will be deleted!
  • /views/error.gsp will be deleted!

Potenial Problems:

It looks like the dependency management of Grails 2.2 changed and causes problems. If kickstart is installed the project will not inherit the plugins the kickstart plugin used. A preliminary fix is to add the following lines to the BuildConfig.groovy file within the project's conf directory:

compile ':kickstart-with-bootstrap:0.8.9'
runtime ':jquery:1.8.3'
compile ':lesscss-resources:1.3.0.3'
compile 
">>

(adding them via "grails install-plugin ..." should work also).

This fix will result in a working system but I got some informative logs via the errors channel (red) from org.apache.coyote and org.apache.catalina (Tomcat) that are new to me.

Furthermore Grails 2.2 introduced a messages_nb.properties file for the Locale "nb" that is not standard (at least according to ISO 3166) and, therefore, has no flag icon and will result in errors about a missing resource file "nb.png". If this is meant for Norway the locale should be "no".

A quick fix is to a) delete the property file, b) rename the file to 'messages_no.properties',
or copy the flag image file 'no.png' to 'nb.png' within web-app/images/flags folder of the 
kickstart plugin.

Terms of Use

Backlog

  • 1.0.3 Fix for Date binding (currently, the date binding does not work)<br/>
  • 1.0.2 Fix for DatePicker (currently, the datepicker requires jQuery 1.8.3)<br/>
  • 1.0.1 Fix for index vs list actions (currently, both are supported) <br/>

Changelog

  • 1.0.0 Upgrade to Grail 2.3.4 <br/>
  • 0.9.9.1 Fixed missing search view. Integrated cleanup by Burt Beckwith. <br/>
  • 0.9.9 Upgraded to Bootstrap 3.0.2. <br/>
  • 0.9.8 Upgraded to Grails 2.2.4. Updated several plugin dependencies. Added Flag for China (zh.png). Updated Datepicker plugin. <br/>
  • 0.9.7 Integrated fixes by Craig Sherstan (csherstan) <br/>
  • 0.9.6 Updated to Bootstrap 2.3.1 with lesscss 1.3.3 <br/>
  • 0.9.5 Reduced to the max: removed skin/layout switching. Removed build and metrics calculation. Works on PAAS with less files.<br/>
  • 0.9.4 Integrated Font Awesome using the Grails Font Awesome Resources Plugin by Eamonn O'Connell<br/>
  • 0.9.3 Upgrade to patched Bootstrap 2.3.0 (had to partially downgrade mixins.less to 2.2.2). Fixed problem with hibernate plugin dependency when using Grails versions less than 2.2.0.
  • 0.9.2 Fixed problem with less file handling if resource plugin is disabled.
  • 0.9.1 Added views for security (prepared for spring security: auth.gsp and denied.gsp). Integrated configuration settings for views. Updated several missing I18N codes.
  • 0.9.0 Added config switches to calculate build numbers and metrics. Updated to Bootstrap 2.2.2 (2.3 has currently compilation errors with lesscss).
  • 0.8.9 Fixed Bug with CloudFoundry and Tomcat which (now) need references to the plugin containing resources (e.g., images)
  • 0.8.8 Fixed Bug with i18n directory when deploying. Removed domain Object for demo page.
  • 0.8.7 Improved the date binding to use default.date.datepicker.format or default.date.format (removing non-Date items).
  • 0.8.6 Changed solution for Less compilation problem (Switch is now in KickstartResources.groovy only). Fixed problem of SkinA alternative in responsive mode. In production mode only one skin is used.
  • 0.8.5 Fixed a problem with CloudFoundry & Less: running in production will not compile less anymore but switch to files directly.
  • 0.8.3 Introduced a demo page with all fields used by the scaffolding mechanism.
  • 0.8.2 Corrected missing copy of resources.groovy.
  • 0.8.1 Fixed error when copying UrlMappings.groovy, which was not packaged into the plugin.
  • 0.8.0 Integrated less templates of two Bootstrap based designs. Corrected links in language selector and config menus.
  • 0.7.2: Integrated a Bootstrap-based checkbox in the taglib and scaffolding templates.
  • 0.7.1: Corrected datepicker problem with Java representation with month. Corrected missing ID in links to edit-actions.
  • 0.7.0: Updated to Bootstrap 2.1.1 and Grails 2.1. Included FamFamFam icons for flags in language selector. Reorganized file structure for views.
  • 0.6.1: Minor bug fix in _Events.gsp script.
  • 0.6.0: Integration of Bootstrap DatePicker. Uses Grails 2.0 files as base for scaffolding, etc. Cleanup of code and scripts.
  • 0.5.7: Added script to calculate or retrieve build numbers.
  • 0.5.6: Empty commit to test Grails plugin publish mechanism
  • 0.5.5: Minor bugfix (missing import) and correction of KickstartWithBootstrapGrailsPlugin.groovy
  • 0.5.4: Added measurement of time to simple console logging in KickstartFilters
  • 0.5.3: Improvement of error.gsp
  • 0.5.2: Cleanup of code and scripts. Improvement of I18N
  • 0.5.1: Minor bugfixes in Bootstrap and layout files
  • 0.5: Initial shared version (February 11, 2012)
  • 0.1: Initial version (September 21, 2011)