-
Notifications
You must be signed in to change notification settings - Fork 0
An open-source survey creation and administration tool built with Ruby and Rails
License
mmaness/JULIE
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
== 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.
About
An open-source survey creation and administration tool built with Ruby and Rails
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published