An open-source survey creation and administration tool built with Ruby and Rails
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
config
db
doc
lib/tasks
public
script
test
tmp/pids
vendor/plugins
.gitignore
.project
Gemfile
Gemfile.lock
JulieRoundel_black.png
JulieRoundel_clear.png
Julie_logo.png
License.txt
README
Rakefile
config.ru

README

== Welcome to JULIE, version 1.8.3.1
Copyright (C) 2007-2013  Michael Maness


JULIE is an open-source survey framework for the creation and administration of 
web-based and other computer-assisted surveys. JULIE provides tools to create 
most survey question types as well as specialized tools for the creation of stated 
choice experiments. JULIE is built on the popular Rails web application framework 
and Ruby programming language.


== Release Notes
   Version 1.8.3.1

This is a very small modification.

The following changes were made (including 1.8.1 notes):

* Officially supports Ruby 1.9.3 and Rails 3.2.11.
* ExperimentResponse table added to the model and database. This table stores the state
  of a Scenario question's scenario table for each respondent's responses.
* ExperimentValue table added to the model and database. This table stores the state of
  a Scenario question's scenario table in "value form" for each respondent's responses.
* Added the a column to the ExperimentValue and ExperimentResponse tables for each Scenario
  question which stores the response given. [1.8.3.1]
* Changed the indexing for responses to Scenario questions from zero-based to one-based
  (i.e. the first response is mapped to one instead of zero) [1.8.3.1]
* The gem file has references for Mongrel and Thin.
* Changed the copyright date on most files from 2011 to 2013.
* The .gitignore file should now work on .sqlite3 and .log files.

The following bugs were found and fixed:

* A notification of invalid input should be given to respondents for Scenario questions.
  (Bugfix: Survey Controller)
* Fixed the issue where refreshing or entering invalid answers for Scenario questions gave
  the respondent a newly created scenario table. Now the same scenario table should be shown.
  (Bugfix: Survey Controller)
* Fixed a bug where skip was not showing and the back button was not working as intended on
  the first question. Back button was showing even though it was the first question and
  question numbering is incorrect. (Bugfix: Survey Controller)
* Fixed a bug where questions/question.rb was not loaded in the instructions method.
  (Bugfix: Survey Controller) [1.8.3.1]
 
== Getting Started

(See the wiki at http://www.github.com/mmaness/JULIE/wiki)
(See installation pdf at https://github.com/mmaness/JULIE/tree/master/doc/Introduction_to_JULIE_182.pdf)

To get started with JULIE, you need the following:

* Operating System supported by Ruby (Windows, Mac OS/X, Linux)
* Ruby 1.9.3
* Rails 3.2.11 or higher
* SQLite 3.5.6
* Bundler 1.0.21

After installing those components successfully, download the JULIE package from Github 
(https://github.com/mmaness/JULIE/zipball/master OR https://github.com/mmaness/JULIE/tarball/master) 
and unzip/untar it a directory.  It is suggested that you rename the parent directory to "JULIE-183" 
for consistency with the rest of the instructions.

Using a command line tool, go to the JULIE-183 directory.  To install the dependencies, use the 
following command:
  bundle install

See if json has caused an error, type command:
  rails –v

If error seen, open up Explorer and go to C:\RailsInstaller\Ruby1.8.7\lib\ruby\gems\1.8\specifications.
Open the file “json-1.6.1.gemspec” in a text editor and replace the line:
  s.date = %q{2011-09-18 00:00:00.000000000Z}
with this line:
  s.date = %q{2011-08-31}
Then save the file. If successful, then rerunning the command "rails -v" should show no error messages.

With the dependencies installed, create the development and production databases.  First change 
directories to /JULIE-183/db/ then create copies of the blank database template:
  cp blank_database_template.db development.sqlite3
  cp blank_database_template.db production.sqlite3
  
With the databases in place, populate them with tables by using Rails migrations.  Use the 
following command:
  rake db:migrate

You should be set to begin developing surveys with JULIE.  To start the Rails server, use the following command:
  rails server
  
Then point your browser to http://localhost:3000 to see a splash screen for Rails.  If that happens, then 
congratulations, you have completed the process successfully.

== Description of Contents

The default directory structure of a JULIE application:

  |-- app
  |   |-- controllers
  |   |-- helpers
  |   |-- mailers
  |   |-- models
  |       |-- surveys
  |       |-- survenity
  |       `-- questions
  |   `-- views
  |       |-- layouts
  |       `-- survey
  |-- config
  |   |-- environments
  |   |-- initializers
  |   `-- locales
  |-- db
  |-- doc
  |-- lib
  |   `-- tasks
  |-- log
  |-- public
  |   |-- images
  |   |-- javascripts
  |   `-- stylesheets
  |-- script
  |-- test
  |   |-- fixtures
  |   |-- functional
  |   |-- integration
  |   |-- performance
  |   `-- unit
  |-- tmp
  |   |-- cache
  |   |-- pids
  |   |-- sessions
  |   `-- sockets
  `-- vendor
      `-- plugins

app
  Holds all the code that's specific to this particular application.

app/controllers
  Holds controllers that should be named like weblogs_controller.rb for
  automated URL mapping. All controllers should descend from
  ApplicationController which itself descends from ActionController::Base.

app/models
  Holds models that link JULIE to the databases.
  
app/model/survey
  Survey files are stored here.

app/model/survenity
  Contains the Survenity parser, compiler, and interpreter.

app/model/questions
  Holds ruby files representing questions and experiments.

app/views
  Holds the template files for the view that should be named like
  weblogs/index.html.erb for the WeblogsController#index action. All views use
  eRuby syntax by default.

app/views/layouts
  Holds the template files for layouts to be used with views. This models the
  common header/footer method of wrapping views. In your views, define a layout
  using the <tt>layout :default</tt> and create a file named default.html.erb.
  Inside default.html.erb, call <% yield %> to render the view using this
  layout.
  
app/views/survey
  Holds the html and embedded ruby code that represents the visual display of
  surveys.

app/helpers
  Holds view helpers that should be named like weblogs_helper.rb. These are
  generated for you automatically when using generators for controllers.
  Helpers can be used to wrap functionality for your views into methods.

config
  Configuration files for the Rails environment, the routing map, the database,
  and other dependencies.

db
  Contains the database schema in schema.rb. db/migrate contains all the
  sequence of Migrations for your schema.

doc
  This directory is where your application documentation will be stored when
  generated using <tt>rake doc:app</tt>

lib
  Application specific libraries. Basically, any kind of custom code that
  doesn't belong under controllers, models, or helpers. This directory is in
  the load path.

public
  The directory available for the web server. Contains subdirectories for
  images, stylesheets, and javascripts. Also contains the dispatchers and the
  default HTML files. This should be set as the DOCUMENT_ROOT of your web
  server.

script
  Helper scripts for automation and generation.

test
  Unit and functional tests along with fixtures. When using the rails generate
  command, template test files will be generated for you and placed in this
  directory.

vendor
  External libraries that the application depends on. Also includes the plugins
  subdirectory. If the app has frozen rails, those gems also go here, under
  vendor/rails/. This directory is in the load path.