Skip to content

Commit 9fb06ac

Browse files
authored
Merge pull request ucfopen#971 from ucfopen/dev
Version 3.5.0 Update
2 parents 81b5f09 + be54170 commit 9fb06ac

36 files changed

+1072
-697
lines changed

.env.example

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ APP_LTI_REDIRECT_PATH="/lti/authorize/check"
4040
APP_LTI_NAME="UDOIT 3"
4141
ADMIN_LTI_NAME="UDOIT 3 Admin"
4242
USE_DEVELOPMENT_AUTH="no"
43-
VERSION_NUMBER="3.3.1"
43+
VERSION_NUMBER="3.5.0"
4444

4545

4646
###> symfony/messenger ###
@@ -68,6 +68,7 @@ PHPALLY_SUGGESTION_RULES="
6868
RedirectedLink,
6969
EmbedTagDetected,
7070
IframeNotHandled,
71+
TableNotEmpty
7172
"
7273
# Rules that are easiest to tackle when using UDOIT. Comma-separated list of rule IDs.
7374
EASY_FIX_RULES="

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,4 @@ yarn-error.log
3434
.phpunit.result.cache
3535
###< phpunit/phpunit ###
3636

37-
.env
37+
*.env

.ins.env.example

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
TITLE=Your institution name
2+
LMS_DOMAIN=myschool.instructure.com
3+
LMS_ID=canvas
4+
LMS_ACCOUNT_ID=1234567
5+
CREATED=2021-06-08
6+
STATUS=1
7+
VANITY_URL=canvas.myschool.edu
8+
METADATA={\"lang\":\"es\"}
9+
API_CLIENT_ID=1234500000000001234
10+
API_CLIENT_SECRET=your_api_client_secret

CHANGELOG.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Change Log
2+
3+
Please update this file as you open PRs and make changes to the codebase. Thank you!
4+
## [Unreleased](https://github.com/ucfopen/UDOIT/tree/dev)
5+
6+
## [3.5.0](https://github.com/ucfopen/UDOIT/compare/3.4.0...3.5.0) - 2024-11-12
7+
8+
### General
9+
10+
- 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))
11+
- 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))
12+
- 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))
13+
- 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))
14+
- Updated outdated dependencies [#947](https://github.com/ucfopen/UDOIT/pull/947) (Thank you, [@dmols](https://github.com/dmols))
15+
- 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))
16+
- 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))
17+
- 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))
18+
- 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))
19+
- Added `Makefile` to speed up development process [#958](https://github.com/ucfopen/UDOIT/pull/958) (Thank you, [@SimHoZebs](https://github.com/SimHoZebs))\
20+
- Dependabot bumped `ws` package from 6.2.2 to 6.2.3 in [this commit](https://github.com/ucfopen/UDOIT/commit/2c6962f336e437f3bdffa42534f7235f01bd3c3a)
21+
22+
### Bugfixes
23+
24+
- 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))
25+
- 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))
26+
- 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))
27+
- 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))
28+
29+
## Previous Releases
30+
Please refer to [this page](https://github.com/ucfopen/UDOIT/releases) to view the changes made on previous UDOIT releases.

INSTALL.md

Lines changed: 58 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -2,96 +2,103 @@
22
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).
33

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

77
### Docker Method
88
* Docker
99
* Docker Compose
10+
* Cmake (This is available on most systems by default)
1011

1112
### Manual Installation Method
1213
* Apache or Nginx webserver
1314
* PHP 8.1, 8.2
1415
* MySQL, MariaDB or PostgreSQL
1516
* Git (If you are using The Git Method below) or if you plan on contributing to UDOIT
16-
* Node v16 is supported; other versions may work
17+
* Node v16 is supported; later versions may work
1718
* Yarn
1819

1920
## Download the Code
20-
### Option 1: Git
21-
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:
21+
### Option 1: Git (Strongly recommended)
22+
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:
2223

23-
1. Install Git on your server
24-
2. Navigate to the directory on your server where UDOIT will live
25-
3. Run `git clone [email protected]:ucfopen/UDOIT.git . ` (The . is important. It tells Git to download the files to the current directory.)
24+
1. Install Git on your server (https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
25+
2. Create a folder/directory in which UDOIT will reside (e.g `UDOIT`) and navigate to it.
26+
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.)
2627

2728
### Option 2: Zip File
28-
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.
29+
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.
2930

3031
## .ENV Setup
31-
UDOIT uses a `.env` file for storing configuration variables. To create it:
32+
UDOIT stores configuration variables in a `.env` file. To create it:
3233

33-
1. Copy the file `.env.example` to `.env` by running
34+
1. Inside the UDOIT directory, run the following command in shell:
3435
```
3536
cp .env.example .env
3637
```
37-
2. Leave `APP_ENV` set to `prod`
38-
> 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.
39-
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.)
40-
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.)
41-
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`.)
42-
6. Set `APP_LMS` to the name of your LMS.
43-
* `canvas` if you are using the Canvas LMS.
44-
* `d2l` if you are using the D2l Brightspace LMS.
45-
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"`)
46-
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`).
38+
This command copies the `.env.example` into `.env`, creating the `.env` file in the process if it does not exist.
4739

48-
## Docker
49-
We provide a fast and simple way of setting up a local UDOIT instance through the use of Docker containers.
40+
2. Open `.env` with a text editor (i.e. Notepad, VS Code, etc.) and make the necessary changes to the following variables:
41+
- `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`.
42+
- `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.
43+
- `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.
44+
- `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`).
45+
- `APP_LMS`: `canvas` for Canvas LMS. `d2l` for D2l Brightspace LMS.
46+
- `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"`)
47+
- `DEFAULT_LANG`: (optional) `en` for English. `es` for Spanish. This is English by default.
5048

51-
### 1. Install Docker
52-
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/).
49+
## Installation
5350

54-
### 2. Build the Containers
55-
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:
51+
### Option 1: Docker
52+
We provide a fast and simple way of setting up a local UDOIT instance through Docker.
5653

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

59-
### 3. Wait
60-
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.
57+
2. Build the Containers
6158

62-
### 4. Set up the Database
63-
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:
59+
```
60+
make start
61+
```
6462

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

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

69-
### 5. Next steps
70-
Skip to [Testing your Setup](#testing-your-setup) to continue.
71+
> 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]:
7172
72-
### 6. Stopping the Containers
73-
If you ever want to stop the containers, you can do so with the following command:
73+
Type `yes` and proceed. The warning is expected and is a non issue.
7474

75-
docker compose -f docker-compose.nginx.yml down
75+
> Note: You will need to run this command whenever you update to a new version of UDOIT.
7676
77+
UDOIT should be installed and running as Docker containers.
7778

79+
4. To stop the UDOIT containers, run the following command:
80+
```
81+
make down
82+
```
83+
84+
> Please be sure to review the `makefile` for more information on what these commands do.
7885
79-
## Manual Installation
86+
### Option 2: Manual Installation
8087
If you prefer not to use Docker, the process is more complicated:
8188

82-
### Configuring your Web Server
83-
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.
89+
#### 1. Configuring your Web Server
90+
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.
8491

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

87-
### Installing Composer Dependencies
94+
#### 2. Installing Composer Dependencies
8895
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:
8996

9097
php composer.phar install --no-dev
9198

9299
> Remove the `--no-dev` flag if you set `APP_ENV=dev` in your `.env.local` file.
93100
94-
### Database Setup
101+
#### 3. Database Setup
95102
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.
96103

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

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

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

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

120127
yarn build
121128

122-
## Testing Your Setup
123-
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.
124-
125-
However, UDOIT does have one URL that is publicly available outside of the LMS. To test your server setup point your browser to:
129+
## Testing successful installation
130+
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:
126131

127132
<BASE_URL>/lti/config
128133

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

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

133-
## Configuring Your LMS
134-
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.
138+
139+
## Connecting UDOIT to an LMS
140+
To configure it fully within your LMS, follow the installation instructions below that apply to you.
141+
- To install it on Canvas, follow [INSTALL_CANVAS.md](INSTALL_CANVAS.md)
142+
- or for D2l Brightspace, follow [INSTALL_D2L.md](INSTALL_D2L.md)

0 commit comments

Comments
 (0)