Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge from equal-access fork to ucfopen equal-access branch #976

Merged
merged 40 commits into from
Nov 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
fa0a1ec
Improve install docs
SimHoZebs May 17, 2024
e934dd9
Added changelog file to track version changes better
dmols Aug 7, 2024
373cf8c
makefile and compose improvements
SimHoZebs Aug 22, 2024
564ad4c
minor comment
SimHoZebs Aug 22, 2024
fb2a434
more improvements
SimHoZebs Aug 29, 2024
00b1600
grammar errors
SimHoZebs Aug 29, 2024
d9e4a09
minor changes
SimHoZebs Aug 29, 2024
3f7fe4e
Added comments + rephrased some commands
dmols Sep 19, 2024
3687fc1
Added link to former releases and blurb about updating this file
dmols Sep 19, 2024
ad79b15
Added links to contributors' github profiles
dmols Sep 23, 2024
16accfc
Fixed incorrect markdown syntax
dmols Sep 23, 2024
100471b
Merge pull request #957 from ucfopen/issue/956-add-changelog
dmols Sep 23, 2024
f5ad77b
Merge remote-tracking branch 'origin/dev' into improve-install-docs
dmols Sep 24, 2024
6575ec0
Merge pull request #958 from SimHoZebs/issue/948-create-a-makefile
dmols Sep 24, 2024
e44cc6f
Added some styling changes
dmols Sep 25, 2024
e63d4da
Merge pull request #950 from SimHoZebs/improve-install-docs
dmols Sep 25, 2024
e16a56d
Hotfix: minor changes to INSTALL file and Makefile command
dmols Sep 25, 2024
d6c71b5
Adding increased memory limit and timeout to allow php to finish long…
dmols Sep 25, 2024
edc7143
Added missing contributions in CHANGELOG file
dmols Sep 25, 2024
6110a21
Update ci.yml to test new features in dev
dmols Oct 1, 2024
62adfb3
merging back into equal-access
panbed Oct 28, 2024
b072374
mostly working again, checking for phpally-ignore still not working a…
panbed Oct 30, 2024
abf1297
mostly in working condition again, need to handle issues though
panbed Oct 31, 2024
3e68bfc
Merge branch 'equal-access' of https://github.com/panbed/UDOIT into e…
panbed Nov 4, 2024
6ee0349
hopefully initial commit after merge ordeal
panbed Nov 4, 2024
93f4bdd
Changed highlight color for alt text UFIXIT form + changed makefile c…
dmols Nov 6, 2024
8982056
Formatting changes to Makefile
dmols Nov 6, 2024
d8df373
async multiple html pages in an array to the lambda function
panbed Nov 6, 2024
a43b60f
Added links to commits and PRs in CHANGELOG
dmols Nov 6, 2024
db1f864
Removed image generation process for branch push
dmols Nov 6, 2024
12c184e
Added final fixes and altered some CHANGELOG entries
dmols Nov 12, 2024
be54170
Merge pull request #968 from ucfopen/dev-v3.5.0
dmols Nov 12, 2024
04b6476
changed to 5 pages sent instead of 10, adding messageArgs
panbed Nov 14, 2024
c2be872
adding more info to metadata
panbed Nov 19, 2024
b4c4249
very small change to getdomdocuments across the services
panbed Nov 20, 2024
b388b2c
Merge pull request #3 from panbed/dev
panbed Nov 20, 2024
b9b523b
removing all comments for possible deployment
panbed Nov 20, 2024
086b944
oops (fix composer.lock typo)
panbed Nov 20, 2024
22031bd
hopefully working composer.lock
panbed Nov 20, 2024
2f12953
Merge branch 'equal-access' of https://github.com/panbed/UDOIT into e…
panbed Nov 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ APP_LTI_REDIRECT_PATH="/lti/authorize/check"
APP_LTI_NAME="UDOIT 3"
ADMIN_LTI_NAME="UDOIT 3 Admin"
USE_DEVELOPMENT_AUTH="no"
VERSION_NUMBER="3.3.1"
VERSION_NUMBER="3.5.0"

# Define which accessibility checker to use
# Available options: "phpally", "equalaccess_local", "equalaccess_lambda"
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,4 @@ yarn-error.log
.phpunit.result.cache
###< phpunit/phpunit ###

.env
*.env
10 changes: 10 additions & 0 deletions .ins.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
TITLE=Your institution name
LMS_DOMAIN=myschool.instructure.com
LMS_ID=canvas
LMS_ACCOUNT_ID=1234567
CREATED=2021-06-08
STATUS=1
VANITY_URL=canvas.myschool.edu
METADATA={\"lang\":\"es\"}
API_CLIENT_ID=1234500000000001234
API_CLIENT_SECRET=your_api_client_secret
30 changes: 30 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Change Log

Please update this file as you open PRs and make changes to the codebase. Thank you!
## [Unreleased](https://github.com/ucfopen/UDOIT/tree/dev)

## [3.5.0](https://github.com/ucfopen/UDOIT/compare/3.4.0...3.5.0) - 2024-11-12

### General

- Changed element highlight color in UFIXIT form to meet all accessibility standards for color contrast, in [this commit](https://github.com/ucfopen/UDOIT/commit/93f4bdd3b64be23392a0fc16a3df5b4f9f057217) (Thank you, [@dmols](https://github.com/dmols))
- Added TableNotEmpty rule and UFIXIT issue form to track tables with no content [#725](https://github.com/ucfopen/UDOIT/pull/725) (Thank you, [@AlanFCMV](https://github.com/alanfcmv))
- Increased maximum file upload size allowed, from 1mb to 10mb [#944](https://github.com/ucfopen/UDOIT/pull/944) (Thank you, [@taheralfayad](https://github.com/taheralfayad))
- Changed the description of 'ParagraphNotUsedAsHeader' rule to be less ambiguous since UDOIT has flagged this issue incorrectly before [#938](https://github.com/ucfopen/UDOIT/pull/938) (Thank you, [@taheralfayad](https://github.com/taheralfayad))
- Updated outdated dependencies [#947](https://github.com/ucfopen/UDOIT/pull/947) (Thank you, [@dmols](https://github.com/dmols))
- Previously, the browser console would relay the data captured in the course, on initial scan. The console log has been removed since, to allow for better data security [#946](https://github.com/ucfopen/UDOIT/pull/946) (Thank you, [@dmols](https://github.com/dmols))
- Allow UDOIT to accept modern file types to be uploaded, such as those with extensions pptx, xlsx, docx [#943](https://github.com/ucfopen/UDOIT/pull/943) (Thank you, [@taheralfayad](https://github.com/taheralfayad))
- Added a CHANGELOG file to keep better track of the codebase changes [#957](https://github.com/ucfopen/UDOIT/pull/957) (Thank you, [@dmols](https://github.com/dmols))
- Made changes to `INSTALL_CANVAS.md` and `INSTALL.md` files to make the installation process a little easier to follow [#950](https://github.com/ucfopen/UDOIT/pull/950) (Thank you [@SimHoZebs](https://github.com/SimHoZebs))
- Added `Makefile` to speed up development process [#958](https://github.com/ucfopen/UDOIT/pull/958) (Thank you, [@SimHoZebs](https://github.com/SimHoZebs))\
- Dependabot bumped `ws` package from 6.2.2 to 6.2.3 in [this commit](https://github.com/ucfopen/UDOIT/commit/2c6962f336e437f3bdffa42534f7235f01bd3c3a)

### Bugfixes

- Fixed issue where more than one resolved issue in the UFIXIT modal can remain. Before, the modal would only show the most recent one resolved [#892](https://github.com/ucfopen/UDOIT/pull/892) (Thank you, [@ssciolla](https://github.com/ssciolla))
- Fixed case where navigating through issues on UFIXIT modal would be difficult or impossible when one is marked as fixed, since the modal will jump back to the resolved one [#888](https://github.com/ucfopen/UDOIT/pull/888) (Thank you, [@ssciolla](https://github.com/ssciolla))
- Fixed issue where adding a Youtube API key to your .env file would not make UDOIT automatically consider issues revolving youtube captioning. This was resolved by allowing a 'Full Course Rescan' option in the dropdown menu of the UDOIT welcome screen [#898](https://github.com/ucfopen/UDOIT/pull/898) (Thank you, [@taheralfayad](https://github.com/taheralfayad))
- Increased php `memory_limit` from 800M to 3500M, and both `max_execution_time` and `fastcgi_read_timeout` from 180 to 300, to allow for php to handle a larger amount of data, and having nginx wait longer for the processes to complete. Changes seen in [this commit](https://github.com/ucfopen/UDOIT/commit/d6c71b59dc3a353fc3d18b048473e1e09bcef423) (Thank you, [@dmols](https://github.com/dmols) and [@Thetwam](https://github.com/Thetwam))

## Previous Releases
Please refer to [this page](https://github.com/ucfopen/UDOIT/releases) to view the changes made on previous UDOIT releases.
108 changes: 58 additions & 50 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,96 +2,103 @@
UDOIT can be installed on your own existing servers with the following instructions. UDOIT is also available as a hosted and maintained product by [Cidi Labs](https://cidilabs.com). UDOIT is built using the [PHP Symfony Framework](https://symfony.com).

## System Requirements
The system requirements depend on how you install UDOIT. If you use Docker, the host system doesn't require any additional software.
The system requirements depend on how you install UDOIT.

### Docker Method
* Docker
* Docker Compose
* Cmake (This is available on most systems by default)

### Manual Installation Method
* Apache or Nginx webserver
* PHP 8.1, 8.2
* MySQL, MariaDB or PostgreSQL
* Git (If you are using The Git Method below) or if you plan on contributing to UDOIT
* Node v16 is supported; other versions may work
* Node v16 is supported; later versions may work
* Yarn

## Download the Code
### Option 1: Git
We strongly recommend managing the source code through Git. The benefit of this method is that you can update an existing installation of UDOIT by simply using `git pull`. It also lets you roll back to previous versions if needed. Follow these steps:
### Option 1: Git (Strongly recommended)
This method is strongly recommend as it allows UDOIT to be updated through a simple command on the terminal: `git pull`. It also lets you roll back to previous versions if needed. Follow these steps:

1. Install Git on your server
2. Navigate to the directory on your server where UDOIT will live
3. Run `git clone [email protected]:ucfopen/UDOIT.git . ` (The . is important. It tells Git to download the files to the current directory.)
1. Install Git on your server (https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
2. Create a folder/directory in which UDOIT will reside (e.g `UDOIT`) and navigate to it.
3. Inside the UDOIT directory, run `git clone [email protected]:ucfopen/UDOIT.git . ` (The . is important; It tells Git to download the files to the current directory.)

### Option 2: Zip File
If you prefer not to use Git, you can download a zip file of the latest release from the [Releases Page](https://github.com/ucfopen/UDOIT/releases). Unzip it in the directory on your server where UDOIT will live.
If you prefer not to use Git, you can download the zip file of the latest release from the [Releases Page](https://github.com/ucfopen/UDOIT/releases). Unzip it in the directory in which UDOIT will reside.

## .ENV Setup
UDOIT uses a `.env` file for storing configuration variables. To create it:
UDOIT stores configuration variables in a `.env` file. To create it:

1. Copy the file `.env.example` to `.env` by running
1. Inside the UDOIT directory, run the following command in shell:
```
cp .env.example .env
```
2. Leave `APP_ENV` set to `prod`
> If you are setting up a development environment, set this to `dev` and follow the steps in [Installing Composer Dependencies](#installing-composer-dependencies) without the `--no-dev` flag to obtain all of the development packages.
3. Add your database information to the `DATABASE_URL` variable. (The default value of `mysql://root:root@db:3306/udoit3` is suitable for running it on your local computer using Docker.)
4. Modify the `BASE_URL` to match the URL of your instance of UDOIT. (The default value of `http://127.0.0.1:8000/udoit3` is suitable for running it on your local computer using Docker.)
5. Modify the `WEBPACK_PUBLIC_PATH` to match the `BASE_URL` you set. (The default value of `/udoit3/build` is suitable for running it on your local computer usind Docker. Example: If your `BASE_URL` is set to `http://127.0.0.1:8000`, your `WEBPACK_PUBLIC_PATH` should be `/build`.)
6. Set `APP_LMS` to the name of your LMS.
* `canvas` if you are using the Canvas LMS.
* `d2l` if you are using the D2l Brightspace LMS.
7. If you are using UDOIT with a self-hosted instance of Canvas, you can add the `JWK_BASE_URL` variable and set it to the URL of your instance of Canvas. (Example: `JWK_BASE_URL="https://canvas.dev.myschool.edu"`)
8. (Optional) You can change the default language for your entire UDOIT instance by adding the `DEFAULT_LANG` variable. Currently supported languages are English (`en`) and Spanish (`es`).
This command copies the `.env.example` into `.env`, creating the `.env` file in the process if it does not exist.

## Docker
We provide a fast and simple way of setting up a local UDOIT instance through the use of Docker containers.
2. Open `.env` with a text editor (i.e. Notepad, VS Code, etc.) and make the necessary changes to the following variables:
- `APP_ENV`: If you are setting up a development environment, change this to `dev` and follow the steps in [Installing Composer Dependencies](#installing-composer-dependencies) without the `--no-dev` flag to obtain all of the development packages. Otherwise, leave it as `prod`.
- `DATABASE_URL`: If you are hosting UDOIT on Docker or your local machine, leave it as it is. Otherwise, change it to your database URL.
- `BASE_URL`: If you are hosting UDOIT on Docker or your local machine, leave it as it is. Otherwise, change it to the URL of your instance of UDOIT.
- `WEBPACK_PUBLIC_PATH`: Uf you are hosting UDOIT on Docker or your local machine, leave it as it is. Otherwise, change it to match the `BASE_URL`in such a way that `/build` is located at the root of the `BASE_URL` (Example: If your `BASE_URL` is set to `http://127.0.0.1:8000`, your `WEBPACK_PUBLIC_PATH` should be `/build`).
- `APP_LMS`: `canvas` for Canvas LMS. `d2l` for D2l Brightspace LMS.
- `JWK_BASE_URL`: If you are self-hosting Canvas, you may set it to the URL of your instance of Canvas. (Example: `JWK_BASE_URL="https://canvas.dev.myschool.edu"`)
- `DEFAULT_LANG`: (optional) `en` for English. `es` for Spanish. This is English by default.

### 1. Install Docker
To set up the docker containers, you must first install [Docker](https://docs.docker.com/get-docker/) and [Docker Compose](https://docs.docker.com/compose/install/).
## Installation

### 2. Build the Containers
If you prefer to build the containers yourself, or you are actively developing UDOIT and need to rebuild the containers to test your cahnges, run the following command from within the UDOIT directory:
### Option 1: Docker
We provide a fast and simple way of setting up a local UDOIT instance through Docker.

docker compose -f docker-compose.nginx.yml up
1. Install [Docker Desktop](https://docs.docker.com/get-docker/). This will install Docker and Docker Compose on your system.
> Alternatively, you may install Docker and [Docker Compose](https://docs.docker.com/compose/install/) individually.

### 3. Wait
Wait for all of the containers to finish initializing. This can take over 15 minutes. You will know you are ready to proceed with the next step when you haven't seen any output in your terminal for a few minutes.
2. Build the Containers

### 4. Set up the Database
The first time you start the containers, you will need to set up the database to handle all the information UDOIT generates as it runs. Run the following command:
```
make start
```

docker compose -f docker-compose.nginx.yml run php php bin/console doctrine:migrations:migrate
3. Once the containers are initialized, run the following command:
```
make migrate
```
This applies migrations necessary to set up the database to store all UDOIT data.

> You will also need to run that command whenever you update to a new version of UDOIT.
Running this will give the following warning:

### 5. Next steps
Skip to [Testing your Setup](#testing-your-setup) to continue.
> WARNING! You are about to execute a migration in database "udoit3" that could result in schema changes and data loss. Are you sure you wish to continue? (yes/no) [yes]:

### 6. Stopping the Containers
If you ever want to stop the containers, you can do so with the following command:
Type `yes` and proceed. The warning is expected and is a non issue.

docker compose -f docker-compose.nginx.yml down
> Note: You will need to run this command whenever you update to a new version of UDOIT.

UDOIT should be installed and running as Docker containers.

4. To stop the UDOIT containers, run the following command:
```
make down
```

> Please be sure to review the `makefile` for more information on what these commands do.

## Manual Installation
### Option 2: Manual Installation
If you prefer not to use Docker, the process is more complicated:

### Configuring your Web Server
The details of configuring a web server with PHP are out of the scope of this README. You should configure your web server to point to UDOIT's "public" folder as the web root folder. Doing this will hide the configuration and source files so that they are not web accessible. It will also clean up your URL structure so that you don't need to include the "public" folder in any of the URLs to UDOIT.
#### 1. Configuring your Web Server
The details of configuring a web server with PHP are out of the scope of this README. You should configure your web server to point to UDOIT's "public" folder as the web root folder. Doing this will hide the configuration and source files so that they are not web accessible. It will also clean up your URL structure so that you don't need to include the "public" folder in any of the URLs to UDOIT.

If you are using NGINX as your web server, you can use the `build/nginx/nginx.conf` file as a starting point.

### Installing Composer Dependencies
#### 2. Installing Composer Dependencies
UDOIT uses Composer to install PHP dependencies. Follow the upstream documentation on [Composer Installation](https://getcomposer.org/download/) to install `composer.phar` into the project root, then run the following:

php composer.phar install --no-dev

> Remove the `--no-dev` flag if you set `APP_ENV=dev` in your `.env.local` file.

### Database Setup
#### 3. Database Setup
While UDOIT is configured to use MySQL or MariaDB by default, Symfony can be configured to work with other databases as well. See the Symfony documentation for details.

Use Symfony to create the database with this command:
Expand All @@ -110,7 +117,7 @@ If you are operating in a production environment you will need to generate the d

php bin/console cache:warmup --env=prod

### JavaScript
#### 4. JavaScript
UDOIT uses [node](https://nodejs.org) and [yarn](https://yarnpkg.com/) to compile the JavaScript. Install Node and Yarn on your system, then run:

yarn install
Expand All @@ -119,16 +126,17 @@ To build the JavaScript files for production, run the command:

yarn build

## Testing Your Setup
Once you have completed the steps above you will want to test your setup. Unfortunately, UDOIT is an LTI tool that can only fully run within the LMS. You will need to complete the steps in the [INSTALL_CANVAS.md](INSTALL_CANVAS.md) or [INSTALL_D2L.md](INSTALL_D2L.md) to test UDOIT fully.

However, UDOIT does have one URL that is publicly available outside of the LMS. To test your server setup point your browser to:
## Testing successful installation
While UDOIT is an LTI tool that only functions fully within an LMS, you can plug the following URL in your browser to test if UDOIT is installed correctly:

<BASE_URL>/lti/config

For example, if you are setting this up on your local computer via Docker, it may look like:

http://127.0.0.1:8000/udoit3/lti/config

## Configuring Your LMS
You will need to complete the steps in the [INSTALL_CANVAS.md](INSTALL_CANVAS.md) or [INSTALL_D2L.md](INSTALL_D2L.md) to configure UDOIT to work within your LMS.

## Connecting UDOIT to an LMS
To configure it fully within your LMS, follow the installation instructions below that apply to you.
- To install it on Canvas, follow [INSTALL_CANVAS.md](INSTALL_CANVAS.md)
- or for D2l Brightspace, follow [INSTALL_D2L.md](INSTALL_D2L.md)
Loading
Loading