agile development with hobo
DESCRIPTION
The next slide in the series gives more details about the wonders of Hobo.TRANSCRIPT
![Page 2: Agile Development With Hobo](https://reader033.vdocuments.mx/reader033/viewer/2022061222/54c0c1df4a7959f4488b45c9/html5/thumbnails/2.jpg)
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
![Page 3: Agile Development With Hobo](https://reader033.vdocuments.mx/reader033/viewer/2022061222/54c0c1df4a7959f4488b45c9/html5/thumbnails/3.jpg)
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
![Page 4: Agile Development With Hobo](https://reader033.vdocuments.mx/reader033/viewer/2022061222/54c0c1df4a7959f4488b45c9/html5/thumbnails/4.jpg)
Getting started
Download hobo gem from hobocentral Install hobo gem
![Page 5: Agile Development With Hobo](https://reader033.vdocuments.mx/reader033/viewer/2022061222/54c0c1df4a7959f4488b45c9/html5/thumbnails/5.jpg)
Create Application Skeleton
hobo <appname> Runs Rails Runs Hobo App generator Default theme Basic user model
![Page 6: Agile Development With Hobo](https://reader033.vdocuments.mx/reader033/viewer/2022061222/54c0c1df4a7959f4488b45c9/html5/thumbnails/6.jpg)
Create MySQL Database
Use phpmyadmin <appname>_development
![Page 7: Agile Development With Hobo](https://reader033.vdocuments.mx/reader033/viewer/2022061222/54c0c1df4a7959f4488b45c9/html5/thumbnails/7.jpg)
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
![Page 8: Agile Development With Hobo](https://reader033.vdocuments.mx/reader033/viewer/2022061222/54c0c1df4a7959f4488b45c9/html5/thumbnails/8.jpg)
Add Fields
Add fields to your tables in the migrations scripts
auto dates foreign keys are Hobo options rake db:migrate
![Page 9: Agile Development With Hobo](https://reader033.vdocuments.mx/reader033/viewer/2022061222/54c0c1df4a7959f4488b45c9/html5/thumbnails/9.jpg)
Create Object Relationships
Advert belongs_to :user belongs_to :category set_creator_attr :user
![Page 10: Agile Development With Hobo](https://reader033.vdocuments.mx/reader033/viewer/2022061222/54c0c1df4a7959f4488b45c9/html5/thumbnails/10.jpg)
Start the application
Use Instant Rails Console to start application Login signup search Uses acts_as_authenticated plugin Scriptaculous AJAX editor
![Page 11: Agile Development With Hobo](https://reader033.vdocuments.mx/reader033/viewer/2022061222/54c0c1df4a7959f4488b45c9/html5/thumbnails/11.jpg)
Customizing Application
Using DRYML changing the index page each DRYML tag calls a Rails helper method changing generated page creating tags
![Page 12: Agile Development With Hobo](https://reader033.vdocuments.mx/reader033/viewer/2022061222/54c0c1df4a7959f4488b45c9/html5/thumbnails/12.jpg)
Hobo Rapid tags
<index_page> <show_page> <new_page> <edit_page> <show_collection_page> <new_in_collection_page>
![Page 13: Agile Development With Hobo](https://reader033.vdocuments.mx/reader033/viewer/2022061222/54c0c1df4a7959f4488b45c9/html5/thumbnails/13.jpg)
Core and Common tags
repeat panel show section maincol sidecol display_name
object_link new_object_link count with join if else
![Page 14: Agile Development With Hobo](https://reader033.vdocuments.mx/reader033/viewer/2022061222/54c0c1df4a7959f4488b45c9/html5/thumbnails/14.jpg)
Page navigation
<page_nav> <first_page_link> <last_page_link> <next_page_link> <previous_page_link> <page_n_of_count>
![Page 15: Agile Development With Hobo](https://reader033.vdocuments.mx/reader033/viewer/2022061222/54c0c1df4a7959f4488b45c9/html5/thumbnails/15.jpg)
CRUD buttons
<create_button> <delete_button>
![Page 16: Agile Development With Hobo](https://reader033.vdocuments.mx/reader033/viewer/2022061222/54c0c1df4a7959f4488b45c9/html5/thumbnails/16.jpg)
Create your own tag !
def: Definition <def tag="my_tag">This is my tag</def> Use <my_tag/> Output This is my tag
![Page 17: Agile Development With Hobo](https://reader033.vdocuments.mx/reader033/viewer/2022061222/54c0c1df4a7959f4488b45c9/html5/thumbnails/17.jpg)
Creating tags
Tags with attributes The attributes become local variables inside
the tag. Passing arbitrary values Implicit context
![Page 18: Agile Development With Hobo](https://reader033.vdocuments.mx/reader033/viewer/2022061222/54c0c1df4a7959f4488b45c9/html5/thumbnails/18.jpg)
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
![Page 19: Agile Development With Hobo](https://reader033.vdocuments.mx/reader033/viewer/2022061222/54c0c1df4a7959f4488b45c9/html5/thumbnails/19.jpg)
Using Tags from Ruby
Tags are just methods, they can be called from ERB scriptlets and from helpers.
Call with parameters or content
![Page 20: Agile Development With Hobo](https://reader033.vdocuments.mx/reader033/viewer/2022061222/54c0c1df4a7959f4488b45c9/html5/thumbnails/20.jpg)
Modifying theme and stylesheet
Look at screencast for example Many designs available at opendesigns.org
![Page 21: Agile Development With Hobo](https://reader033.vdocuments.mx/reader033/viewer/2022061222/54c0c1df4a7959f4488b45c9/html5/thumbnails/21.jpg)
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
![Page 22: Agile Development With Hobo](https://reader033.vdocuments.mx/reader033/viewer/2022061222/54c0c1df4a7959f4488b45c9/html5/thumbnails/22.jpg)
Resources
http://www.hobocentral.net Download plugin Look at screencasts for quickstart Read the blogs Read the forums
![Page 23: Agile Development With Hobo](https://reader033.vdocuments.mx/reader033/viewer/2022061222/54c0c1df4a7959f4488b45c9/html5/thumbnails/23.jpg)
Contributing
look at code in Trac Log bugs Send patches/bug fixes to Tom Locke Create documentation Create sample applications and tutorials
![Page 24: Agile Development With Hobo](https://reader033.vdocuments.mx/reader033/viewer/2022061222/54c0c1df4a7959f4488b45c9/html5/thumbnails/24.jpg)
Thank You
Thanks to Tom Locke and others for creating Hobo.
Please email me your feedback at [email protected]