This laravel web application is designed to take override requests for class registrations.
Familiarize yourself with the laravel application installation process.
Clone this repository or download the zip archive.
git clone https://github.com/uawcob/course-overrides.git
Point the server document root at the public
folder.
Set write permissions for the web server user to the storage and cache folders.
sudo chown :www-data -R storage/ bootstrap/cache/
sudo chmod g+w -R storage/ bootstrap/cache/
Create the environment variables file from the template.
cp .env.example .env
Set all the values in .env
accordingly.
Leave APP_KEY
blank because it will be set by the deploy script later.
You may request API credentials for razorback courses and plans from Mike Akerman in UITS, or someone from the UAConnect development team.
Staff advisors and administrators must belong to a privileged security group in active directory. Find the Shibboleth entitlement name that matches the group and set the environment variable:
OVERRIDE_ADMIN_GROUP="GACL\WCOB-UGPO-OverrideRequestAdmins"
OVERRIDE_ADMIN_ENTITLEMENT="urn:mace:uark.edu:ADGroups:Walton College:Security Groups:WCOB-UGPO-OverrideRequestAdmins"
If you don't know the mapping, then you can find it in the $_SERVER
variable
after authenticating.
It's recommended to use redis for the caching and session layer.
Pull the docker image and set the host:port:6379
accordingly.
docker pull redis
docker run --name override-redis --restart=always --publish 127.0.0.1:6789:6379 --detach redis
In this example, the variables would be set:
CACHE_DRIVER=redis
SESSION_DRIVER=redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6789
The database migrations include a view and user permissions that were created exclusively for Microsoft SQL Server. If using a different DBMS, then you can skip those migrations. The purpose of these migrations is to create an administrative view with an editable column for notes on request processing.
If you are running a Linux server connecting to MS SQL Server, then you might
be interested in the php-sybase
package with these configurations.
Finally, there is a short deploy script to finish installation.
./deploy.bash
There is a Dockerfile included for testing with the Courses API.
docker build -t razorbacks/override-mock-api tests/docker/MockApi/
docker run --rm -d -p 8888:80 razorbacks/override-mock-api
Then set the environment variable for your endpoint.
RAZORBACK_COURSES_API=http://localhost:8888
Run unit and integration tests:
./vendor/bin/phpunit
Run browser tests:
php artisan dusk
The Laravel framework is open-sourced software licensed under the MIT license.