Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 app
Octocat-spinner-32 config
Octocat-spinner-32 db
Octocat-spinner-32 doc
Octocat-spinner-32 lib
Octocat-spinner-32 public
Octocat-spinner-32 script
Octocat-spinner-32 src
Octocat-spinner-32 test
Octocat-spinner-32 vendor
Octocat-spinner-32 .gitignore
Octocat-spinner-32 .travis.yml
Octocat-spinner-32 Gemfile
Octocat-spinner-32 Gemfile.lock
Octocat-spinner-32 Mavenfile
Octocat-spinner-32 README.md
Octocat-spinner-32 Rakefile
Octocat-spinner-32 agpl-3.0.txt
Octocat-spinner-32 config.ru
Octocat-spinner-32 domain.rb
Octocat-spinner-32 pom.xml
README.md

RSL2 Build Status

prerequisite

reqirements are

  • java> 1.4.2

  • sqlite3

  • MRI (or jruby)

MRI is sufficient to run everything but java is needed. after java-to-javascript compilation everything runs with MRI as well. but to keep things simple . . .

install ruby-maven gem

gem install ruby-maven

now there is a rmvn and a gwt command available.

rmvn bundle install will create bin-stubs in target/bin which allows to run the regular ruby commands after putting that bin-stubs directory into the PATH environment variable.

any rmvn command will place the gems for the application in the directory target/rubygems which is set as GEM_HOME and GEM_PATH by the rmvn command or by the binstubs.

setup a fresh system

the first run of maven takes a while and for the rubygems part that is true too.

rmvn bundle install

and then

rake db:setup

will setup the database. now all gems are in place and the database as well.

starting the server

for GWT development you need to use the development shell from GWT. you also can start the application with webrick (or with any other server gem) but here you need to compile first the GWT part into javascript. finally you can use MRI to run the application.

run gwt development shell

no need for compilation just start the server and developement shell with

gwt run

now you can launch a browser directly from that shell.

the login credentials

  • username can be choosen and the user will have a single group with the same name

  • password is behappy

  • per default root group can do everything, i.e. username root will get you in :)

using a remote server for authentication

if you start the server with SSO=true then the authentication goes to the url configured in config/environments/developement.rb.

SSO=true gwt run

per default this uses the services at http://localhost:3000

run application with webrick

first you need to compile the GWT application by

gwt compile

then you can start the server

rails server

now use the url to start:

http://localhost:3000/Rsl2.html#file_resources

authorization

per default root group can do everything.

each user belong to none, one or more groups. for each action on the controller you can declare the allowed groups. see also the guards file in app/guards one per controller.

configured groups

  • root: can do everything

  • region: allows to edit region specific configuration

  • registrars: can add and modify (to certain extend) student/incident data

  • at: can edit student/incident data

overall architecture

  • the rails server is basically an API server offering access to the persistent model via a restful JSON services (mainly CRUD operations). this layer enforces permissions.

  • the UI is an ajax client coded with GWT. this layers shows only parts of the system where the user has permissions for them.

  • search remote API - pending

  • cronjobs:

    • daily updates of remote data (users, ats, regions, locations)

    • notifications of AT to review old entries

    • purging of stale data (as configured per region)

more ?

http://github.com/mkristian/rails-resty-gwt gives you more detail info about rails and GWT and the tools used.

Something went wrong with that request. Please try again.