Agile Development With Hobo
-
Upload
evarist-lobo -
Category
Technology
-
view
2.418 -
download
5
description
Transcript of Agile Development With Hobo
Introduction
Hobo is a rapid web application builder It uses Ruby on rails and several plugins Provides default user model and themes CRUD and AJAX support DRYML tagging language and libraries Easily customizable
Prerequisites
Assumes basic knowledge of web development, databases, Ruby and Rails
For Windows: install InstantRails For MacOS X: install Locomotive Test that you have Ruby and Rails up and
running
Getting started
Download hobo gem from hobocentral Install hobo gem
Create Application Skeleton
hobo <appname> Runs Rails Runs Hobo App generator Default theme Basic user model
Create MySQL Database
Use phpmyadmin <appname>_development
Create Model and Controller
cd <appname>/script/generate hobo_model <model_name>
creates basic files, unit tests and schema
cd <appname>/script/generate hobo_model_controller <model_name>
creates controller and helper classes
Add Fields
Add fields to your tables in the migrations scripts
auto dates foreign keys are Hobo options rake db:migrate
Create Object Relationships
Advert belongs_to :user belongs_to :category set_creator_attr :user
Start the application
Use Instant Rails Console to start application Login signup search Uses acts_as_authenticated plugin Scriptaculous AJAX editor
Customizing Application
Using DRYML changing the index page each DRYML tag calls a Rails helper method changing generated page creating tags
Hobo Rapid tags
<index_page> <show_page> <new_page> <edit_page> <show_collection_page> <new_in_collection_page>
Core and Common tags
repeat panel show section maincol sidecol display_name
object_link new_object_link count with join if else
Page navigation
<page_nav> <first_page_link> <last_page_link> <next_page_link> <previous_page_link> <page_n_of_count>
CRUD buttons
<create_button> <delete_button>
Create your own tag !
def: Definition <def tag="my_tag">This is my tag</def> Use <my_tag/> Output This is my tag
Creating tags
Tags with attributes The attributes become local variables inside
the tag. Passing arbitrary values Implicit context
Creating tag libraries
Use <taglib> to load tags from another Dryml file
Note that app/views/hobolib/application.dryml is implicitly imported into every Dryml template.
You can load the tags from a directory or a Ruby module
Using Tags from Ruby
Tags are just methods, they can be called from ERB scriptlets and from helpers.
Call with parameters or content
Modifying theme and stylesheet
Look at screencast for example Many designs available at opendesigns.org
Hosting your Applications
Capistrano is a tool to deploy ruby applications
Lots of plugins and tutorials exist to make your applications scale with memcache
You can host your application with Amazon S3 and EC2
Resources
http://www.hobocentral.net Download plugin Look at screencasts for quickstart Read the blogs Read the forums
Contributing
look at code in Trac Log bugs Send patches/bug fixes to Tom Locke Create documentation Create sample applications and tutorials
Thank You
Thanks to Tom Locke and others for creating Hobo.
Please email me your feedback at [email protected]