Agile Web Development with Hobo Evarist Lobo [email_address]
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=&quot;my_tag&quot;>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 evarist@gmail.com

Agile Development With Hobo

  • 1.
    Agile Web Developmentwith Hobo Evarist Lobo [email_address]
  • 2.
    Introduction Hobo isa 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
  • 3.
    Prerequisites Assumes basicknowledge 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
  • 4.
    Getting started Downloadhobo gem from hobocentral Install hobo gem
  • 5.
    Create Application Skeletonhobo <appname> Runs Rails Runs Hobo App generator Default theme Basic user model
  • 6.
    Create MySQL DatabaseUse phpmyadmin <appname>_development
  • 7.
    Create Model andController 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
  • 8.
    Add Fields Addfields to your tables in the migrations scripts auto dates foreign keys are Hobo options rake db:migrate
  • 9.
    Create Object RelationshipsAdvert belongs_to :user belongs_to :category set_creator_attr :user
  • 10.
    Start the application Use Instant Rails Console to start application Login signup search Uses acts_as_authenticated plugin Scriptaculous AJAX editor
  • 11.
    Customizing Application UsingDRYML changing the index page each DRYML tag calls a Rails helper method changing generated page creating tags
  • 12.
    Hobo Rapid tags<index_page> <show_page> <new_page> <edit_page> <show_collection_page> <new_in_collection_page>
  • 13.
    Core and Commontags repeat panel show section maincol sidecol display_name object_link new_object_link count with join if else
  • 14.
    Page navigation <page_nav><first_page_link> <last_page_link> <next_page_link> <previous_page_link> <page_n_of_count>
  • 15.
  • 16.
    Create your owntag ! def : Definition <def tag=&quot;my_tag&quot;>This is my tag</def> Use <my_tag/> Output This is my tag
  • 17.
    Creating tags Tagswith attributes The attributes become local variables inside the tag. Passing arbitrary values Implicit context
  • 18.
    Creating tag librariesUse <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
  • 19.
    Using Tags fromRuby Tags are just methods, they can be called from ERB scriptlets and from helpers. Call with parameters or content
  • 20.
    Modifying theme andstylesheet Look at screencast for example Many designs available at opendesigns.org
  • 21.
    Hosting your ApplicationsCapistrano 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
  • 22.
    Resources http://www.hobocentral.net Downloadplugin Look at screencasts for quickstart Read the blogs Read the forums
  • 23.
    Contributing look atcode in Trac Log bugs Send patches/bug fixes to Tom Locke Create documentation Create sample applications and tutorials
  • 24.
    Thank You Thanksto Tom Locke and others for creating Hobo. Please email me your feedback at evarist@gmail.com