README.md 3 KB
Newer Older
Tyler Lemburg's avatar
Tyler Lemburg committed
1
2
3
4
5
UNL Resource Scheduler
======================

UNL Resource Scheduler is a web app developed around managing timed reservations for various campus resources. This app was initially created for the Nebraska Innovation Studio, and then expanded and generalized to be able to be used by all departments at UNL. New features are in development and feature and bugfix requests will usually be attended to quickly.

Eric Rasmussen's avatar
Eric Rasmussen committed
6
7
8
9
10
11
Patch
============
Supporting UNL's October 2018 move to shib.unl.edu/idp/profile/cas requires CAS tickets longer than 256 chars. Manually patch the rack-cas library to support tickets up to 1024.
 - https://github.com/biola/rack-cas/blob/master/lib/rack-cas/cas_request.rb#L35
 - vendor/bundle/ruby/2.2.0/gems/rack-cas-0.16.0/lib/rack-cas/cas_request.rb

Tyler Lemburg's avatar
Tyler Lemburg committed
12
13
14
15
16
Installation
============

Using local resources
---------------------
Tyler R Lemburg's avatar
Tyler R Lemburg committed
17
0. Run `xcode-select --install`. Congratulations, you have saved yourself 5000 insanity points.
Jeff Sturek's avatar
Jeff Sturek committed
18
19
1. Get the right ruby on your machine. UNL Resource Scheduler currently runs on Ruby 2.6.5. Get RVM on your machine with `\curl -sSL https://get.rvm.io | bash`.
2. Now using RVM, install the ruby with `rvm install 2.6.5`.
Tyler Lemburg's avatar
Tyler Lemburg committed
20
21
22
23
24
25
26
3. You probably do not have the `bundler` gem. Check with `bundle`. If not, install it with `gem install bundler`.
4. In the project root, install the gems using `bundle install`.
5. Create a mysql database you'd like to use, you can typically use one on your computer. `brew install mysql` if necessary. 
6. `config/config.json` is a committed file, and a template for the configuration. Create a copy in the same directoy named `server.json` and edit it to match your database.
7. Your database is currently blank. Run the migrations from the root of the project using `rake migrate` to bring in all the tables and columns.
8. Install the WDN Framework into the `public/wdn` directory...see [WDN Documentation](http://wdn.unl.edu/documentation).
9. Start the server by going to the root directory and doing `bundle exec shotgun -o 0.0.0.0 -p 9292`. This launches the server on localhost port 9292, listening everywhere (you can use your iimlemburg.unl.edu or whichever), and the server will automatically update to new code. If you add gems to the bundle, you will need to re-execute this command.
Tyler Lemburg's avatar
Tyler Lemburg committed
27
10. Navigate to `localhost:9292/` or similar and begin!
28
11. In another terminal, type `bundle exec guard` in the project root to execute LESS compilation.
Tyler Lemburg's avatar
Tyler Lemburg committed
29
30
31

Quick Tutorial
==============
32
1. Service spaces refer to different silos of the University that will utilize resources. E.g. the math department, the Honors program, or University Communication.
Tyler Lemburg's avatar
Tyler Lemburg committed
33
34
35
36
2. Super Admins of a space can do anything, including giving others access and privileges to the space.
3. Resources are created, and then may be reserved by anyone who has the User Access privilege in the space. 
4. Events *may* include a resource reservation but do not have to.
5. Admins with the right privilege can set the *hours* of the space, which indicate when reservations can be made.
Tyler R Lemburg's avatar
Tyler R Lemburg committed
37
6. The agenda is a quick overview of the day for Admins to look at.