Please note that with MySQL 5.7 and later, the default sql_mode has been changed. Please make sure the following modes are disabled: ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, and NO_ZERO_DATE.
Note: if you are planning to develop iPeer and did not run docker pull with above commands, you will need to run composer install to install the dependencies and generate database configuration file.
Running unit tests within docker containers with phing requires additional libraries to be installed. This can be done by building the ipeer-app image with Dockerfile-app-unittest which is specific for running test cases:
If the containers are up, stop them by running docker-compose down
Rebuild the ipeer-app image with the command docker-compose build --no-cache app-unittest
Start the containers by running docker-compose up -d
To run the unit tests on containers:
On host, run an interactive shell in the unit test app container: docker exec -it ipeer_app_unittest bash
In the interactive shell, while at /var/www/html, run the command vendor/bin/phing test
Setup ubc/docker-canvas container (https://github.com/ubc/docker-canvas). Also create a network bridge to connect the Canvas app and iPeer app containers together
To start the integration test, run an interactive shell in the test app container and run the commands in container, e.g.:
docker exec -it ipeer_app_unittest bash # start an interactive shell to run the following commands
vendor/bin/phing init-test-db # preload iPeer db with sample data
cake/console/cake -app app testsuite app group system # run all system test cases
cake/console/cake -app app testsuite app case system/studentSimple # run a specific test case
In order to enable Caliper, both CALIPER_HOST and CALIPER_API_KEY must be set.
CALIPER_HOST: Set the Caliper LRS url.
CALIPER_API_KEY: API key for sending Caliper events to the LRS.
CALIPER_BASE_URL: Optionally set a base url to use for all events. This is useful to help keep statement urls consistent if the url of your instance changes over time or is accessible though different routes (ex http+https or multiple sub-domains). (Uses base url of request by default).
You may optionally override the user default IRI (from $base_url/users/view/$user_id) to something more identifiable when setting both CALIPER_ACTOR_BASE_URL and CALIPER_ACTOR_UNIQUE_IDENTIFIER_PARAM.
CALIPER_ACTOR_BASE_URL: Optionally set the actor's homepage to something else. This will be string formated to allow CALIPER_ACTOR_UNIQUE_IDENTIFIER_PARAM to be inserted into it (use %s where you want the unique identifier to appear). ex: http://www.ubc.ca/%s
CALIPER_ACTOR_UNIQUE_IDENTIFIER_PARAM: Optionally set the actor's unique identifier using any column from the user table (ex: username, id, email). Will be inserted into the CALIPER_ACTOR_BASE_URL string.
Fixed #527 wrong grades calculated during the grade through API
Updated guard template file to guard_default.php
Fixed #530 CI tests
Fixed System Parameter unit test
Fixed #526 Sections will be submitted automatically before the evaluation is submitted
Added travis CI support
Added course creation instructions system parameter
Merge pull request #519 from ubc/andrew-3.1.x
Merge pull request #521 from ubc/448-3.1.x
Merge pull request #520 from ubc/491-3.1.x
Fixed #448 - Rubric evaluation form has accordion closed by default
Added permissions for event/export and event/import in delta 11
Event CSV import date format restriction loosened (will use any date string with compatible with strtotime function) - Fixed testCsvExport unit test data
Fixed a range calculation issue with the getPenaltyByPenaltiesAndDaysLate function (added case to unit tests)
Fixed #517 - Simple Eval and Mixed Eval now take into account penalties for students who do not submit their evaluations
Improved Performance on PDF export although it still takes a long time
Improved performance to export CSV
Improved performance for simpleEvalScore and mixedEvalScore by removing the unneeded associated results from the query (no longer requires paging) - Further improved performance for rubricEvalScore by only fetching the EvaluationRubricDetail association (event is not needed) - Added some documentation to rubricEvalScore for why it is fetching in chunks
Improved performance for simpleEvalScore, mixedEvalScore, and rubricEvalScore functions to handle larger class sizes
Improved general performance for Grades API
Added new function getPenaltyByPenaltiesAndDaysLate to Penalty model with unit tests
Fixed issues with installation steps for Vagrant and Puppet
Fix #492, incorrect warning on editing event when there is no group changes
Fix #498, v1_controller accounts for different role permissions in Connect and iPeer during add/update of user in iPeer
Fix #499, if a FacultyAdmin teaches courses outside of their faculty (rare case), both sets of courses now appear in user's Home page and Courses page.
Removed ‘Submission Confirmation’ email template
Fixed sending email notification to that user that have their password reset
Modified the wording to describe the penalty settings
Students are now able to view released evaluation results (grades and comments)
These results are anonymous, and randomly ordered.
Fixed for Rubrics and Mixed Evaluations.
Import from CSV changes for Students/Groups:
Email and password are optional. Password will be randomly generated if it is omitted from the import file.
Column orders are changed. Please see the sample file on import page.
Mac/Windows Excel CSV format is supported.
Default course is set to blank when importing student.
Export Changes
Corrected Export Evaluation result calculations.
Evaluation result export with details.
Copy mixed evaluation function is now working.
Small GUI Changes:
Changed phrasing and language to make things more clear.
More clear notice if student did not finish all questions on student portal.
General bug fixes, including some code clean-up.
New Listing component
Replaces most lists in iPeer with a unified component
(with notable exception of Advanced Search).
Easy to use for end-users, and to implement and augment by developers.
Changelog from 2.0
Over 180 bugs are fixed
Major browsers are supported
PHP 5.3 is supported
Improved security and permission checking
Improved installation script and new upgrade script
Now exports comments in the CSV file
Import Students/Groups from CSV file now functional
Instructors can only add students to the courses the instructor teaches
Instructors can no longer remove students from courses the instructor does not teach
Instructors can no longer remove students from the database
An instructor can no longer remove himself/herself from the course
Group email links are removed temporarily
Changelog from 2.0.8
Bug fix: #1725231 , #1725229 (see bugs list in SF for details)
Modify default login page to remove unnecessary JavaScript codes
upgrade from 1.6:
copy the ipeer_export folder OUTSIDE of your iPeer 2 folder
follow the instructions for the install
2a. if you are upgrading, select UPGRADE and load the xml file there.
-- in install4, make sure you set the absolute path to your path!
once the install is complete, delete controllers/install_controller.php and /ipeer_export directory.
please note:
The database config file /app/config/database.php must be writable during installation.
After installation, please make database.php read only. It is VERY important.
To change file permission, you may either use a FTP client or do it directly through command line (if you have
shell access to your server. In unix, you may use chmod command to do it)