Welcome to Interface For Research Opportunities’s documentation!¶
The Interface For Research Opportunities (IRO) application is designed to simplify and improve the administration of Research Experience For Undergraduates (REU) programs, although should be flexible enough for similar programs as well. This is a project of the Summer Program For Undergraduate Research (SPUR) of the Institute of Neuroscience at the University of Oregon. Designed and developed by Jacob Bieker.
Contents:
Getting Started¶
Installation¶
There are multiple options to install and set up the IRO utility, including cloning the repo, using Vagrant or Docker,
as well as using pip
to install it.
1. Easiest Method: pip
¶
- Open up a terminal (on Linux or OSX), or Command Prompt (On Windows)
- Run
pip install django-iro
to install the utility and associated dependencies
2. Cloning the Repository¶
- Open up a terminal (on Linux or OSX), or Command Prompt (On Windows)
- Run
git clone git://github.com/UO-SPUR/iro
to clone the repository to the current machine- Type
cd iro
to change directory to the IRO utility- Run
pip install -r requirements.txt
to install the dependencies
3. Using Docker¶
If you have Docker installed, you can use the included Dockerfile to build the utility 1. Download fromm GitHub the Dockerfile
4. Using Vagrant¶
If Vagrant is more your thing, the included Vagrant files can be used to run the utility in a virtual machine 1. Download the Vagrant file from GitHub 2. Open up a terminal (on Linux or OSX), or Command Prompt (On Windows) in the directory where the vagrant file was downloaded 3. Runvagrant up
to build the virtual machine
Initial Setup¶
After IRO is installed, follow the steps below to setup the database and get a working utility (Ignore if using Docker or Vagrant):
- Go to the directory where
- Open up a terminal (on Linux or OSX), or Command Prompt (On Windows)
- Run
python3 manage.py migrate
to create the database - To start the basic server then, run
python3 manage.py runserver
- To create a superuser, which gives access to the administration panel, run
python3 manage.py createsuperuser
and follow the prompts onscreen
Frequently Asked Questions¶
- How do I set this up?
- How do I change the questions for the application?
- How do I change the email settings?
- How do I start the utility?
- How do I change the colors?
- How do I change how it looks?
- How do I create the superuser?
- How do I change the models?
- How do I backup the database?
- How do I change which database is used?
- How do I change emails sent by the utility?
Research Experience For Undergraduates (REU) Setup¶
Preparing for REU¶
A few steps have to be completed before the utility is ready for prime time. They include adding institutions, changing some choices for the application, and adding Faculty and Mentors, among others.
Adding an Institute¶
A lab, institute, research group, or other organization which a participating faculty member is a part of are all called Institutes in the IRO program. To add one to the utility, follow the steps below.
- Login as an administrator to the admin panel (if a superuser has not been created, follow these steps initial-setup.
- Click on the Institutes section.
- Click on ‘Add Institute’
- Fill out all parts of the form
- Click ‘Save’ to save the Institute to the database
Adding a Faculty¶
To add a researcher, PI, faculty member, or whomever is going to be a PI for an intern, a Faculty user has to be created.
- Once the relevant Institutes are created, direct the faculty members to the URL
<your university>/accounts/register/faculty
- Have the Faculty member fill out the form and submit it.
- Make sure the Faculty member activates their account by clicking on a link sent to them in an activation email.
#. Congratulations! The Faculty member is now part of the utility! They should be visible under the ‘Facultys’ section of the administration console.
Adding a Mentor¶
To add a mentor, a Mentor user has to be created. This follows very similar steps to Adding a Faculty.
- Once the relevant Faculty are created, direct the mentors to the URL
<your university>/accounts/register/mentors
- Have the Mentor fill out the form and submit it.
- Make sure the Mentor activates their account by clicking on a link sent to them in an activation email.
#. Congratulations! The Mentor is now part of the utility and Interns can be assigned to them. They should be visible under the ‘Mentors’ section of the administration console.
Adding an Intern¶
To add an intern to the utility:
- Make sure the Intern has submitted an application.
- In the administration console, navigate to the ‘Applications’ section.
- Choose the Application corresponding to the new Intern.
- On the Application overview, change the ‘Decision Action’ to ‘Yes’
- An email will be sent to the Applicant’s email.
- They can follow that link to the url
<your-university>/accounts/register/interns/?uuid=<unique id for application>
- Once they fill out the Intern registration form, the procedure is the same as for Adding a Mentor and Adding a Faculty
Application¶
The Application is the basis for the whole REU system. It is what tells the utility to send the Reference Letters to, each Application is linked to an Intern, with many of the Intern fields being auto-filled by Application data.
Here are the steps that must be followed for an Application to be submitted successfully.
- Navigate to
<your-university>/iro/application
- Fill out the application
- For Reference Letters, fill all the fields, as the generated email takes that information
- Press submit
- If not redirected to the Thank You Page, there is an error in the application that needs to be fixed
Authentication¶
The IRO utility uses five different levels of authentication by default. There are the Admins, or superusers, with access to every part of the utility; Faculty, who have access to Faculty pages and some Intern and Mentor information; Mentors, who have access to Mentor pages and some Intern and Faculty information; Interns, who have access to Intern information, and anonymous users, who only have access to the public aspects of the utility and website, such as the Application page.
Methods¶
The main way of restricting access of users to sensitive parts of the site is by seeing if the user’s profile is part of a valid group with access to the page. For example, to access to Intern Overview Page, the user must be logged in and their profile must be a member of the group Faculty or Mentor.
Changing Methods¶
To modify how IRO restricts access of specific pages to users, follow the following steps.
Troubleshooting¶
Here are fixes to the most common problems with the IRO. If your problem is not addressed by the below, please submit an issue on the GitHub issues tracker.
Customization¶
Forms¶
Administration Console¶
Models¶
To customize models, take a look at the models.rst page.
URLs¶
To customize URLs, take a look at the urls.py
file in iro/urls.py
as well as reu_utility/urls.py
.
Templates¶
Located in the iro/templates subdirectory, the templates are fully editable.