Home > stonepath_example_proposal

stonepath_example_proposal

Stonepath_example_proposal is a project mainly written in RUBY and JAVASCRIPT, it's free.

Uses David Bock (bokmann)'s StonePath framework for workflow modeling

== stonepath_test

This Rails project was generated via the Bundler template (see http://tomafro.net/2009/11/a-rails-template-for-gem-bundler), and shows off stonepath (http://github.com/bokmann/stonepath/).

== Why

This app was created without scaffolding, so it's Just What We Need Right Now. It also reduces the amount of autogenerated code we need to wade through.

== The Domain

Think of a domain where we have a Super Organization, under which there are many sub organizations. A user has a proposal to make, but because of the number and complexity of the sub organizations, needs help shepherding their proposal along the system.

In this sample app we are focused on the following: An admin takes a proposal and tells a sub organization to evaluate it to see if the proposal is a good match for them. The Proposal can either be accepted or rejected by that sub organization.

The database entities in this app are: Proposals and Organizations

== The Scenario, as Agile requirements

  • As a user I should be able to add a new Proposal to the System [done RPW 01-05-2010]
  • As the system I should be able to generate a list of Proposals that are pending administrator review [done RPW 01-05-2010]
  • As an administrator I should be able to assign a Proposal to an Organization for acceptance or kickback. [done RPW 01-06-2010]
  • As an Organization I should be able to see my assigned tasks [RPW 01-06-2010]
  • As an Organization I should be able to accept or kickback the Proposal (a kickback would be passed back to the Administrator) [done RPW 01-06-2010]
  • As a administrator I should be able to see the status of the proposal's work items [RPW 01-06-2010]

== The Scenario, in programmer talk

I am testing out stonepath, to make sure I understand how to model Work Items (the Proposal), creating a Task based off these work items, and that these Tasks can be passed back and forth from one Work Bench to another.

This scenario is very loosely modeled on some work done by WD-rpw in March 2009, in Hong Kong China.

== Setting up this app to run

$ gem install bundler $ script/bundle $ rake db:create $ rake db:migrate $ rake db:seed $ script/server

== Using stonepath in your app

$ script/generate script/generate stonepath_work_item Proposal title:string # requires > 0.1.1 of stonepath $ script/generate stonepath_task evaluate_proposal $ script/generate stonepath_eventlog

== Supporting Cast Members

  • navigation_helper (http://rpheath.com/posts/309-rails-plugin-navigation-helper)
  • bundler (http://litanyagainstfear.com/blog/2009/10/14/gem-bundler-is-the-future/)
  • Rails new seed data functionality (http://railscasts.com/episodes/179-seed-data)
Previous:kframework