This is Brigham Young University-Idaho's custom CSS and JS for their Canvas instance. These files are used by students from BYU-Idaho, LDS Business College, and Pathway Worldwide and are distributed across the globe. For this reason it is imperative that these files remain as minimal as possible. See this Google Slides for more information.
You need to get the proper permissions to upload to Canvas. Contact Dane Bohman or Ben Wilson to get access to change the theme in the top level test instance of Canvas.
TODO: Figure out the way we will collect problems
Change Requests are submitted via Google Forms/Microsoft Forms/Team Dynamics? and can be found here. There are three categories of fixes, and each has a slightly different process. Please carefully follow the instructions below for each of the types of fixes:
- Simply email the requestor with an explanation
- If a local copy of this repo doeesn't exist on your computer, Install
- Create a new branch with the name of the bug fix (or name the branch 'dev')
- Solve the problem
- Build the code following this process
- Test the code in the test instance of Canvas using these step-by-step instructions
- Test the code in the prod instance of Canvas using these step-by-step instructions
- If you are working with mobile changes, see this file
- Once you are certain the bug is fixed, you need to up the version number and merge your branch with master using the command:
version patch
- Contact Dane Bohman and explain that you have a bug fix that is ready to be uploaded to the top level in Canvas
- If this fix has been requested by someone outside the office, send them an email to let them know that bug fix has been implemented
definition: adding features, making changes, breaking things, or major refactoring
- Research the problem, find examples
- Make a small presentation explaining the problem as well as potential fixes
- Meet with the LMS Look and Feel committee, get change either approved or denied
- Email the requestor to let them know if it's been approved or denied
- If denied, stop here. If approved, continue with the rest of the steps
- Meet with the iLearn governance council, get change either approved or denied
- Email the requestor to let them know if it's been approved or denied
- If denied, stop here. If approved, continue with the rest of the steps
- If a local copy of this repo doeesn't exist on your computer, Install
- Create a new branch with the name of the update (for example, if you are writing code to add a banner, name the branch 'banner')
- Solve the problem
- Build the code following this process
- Test the code in the test instance of Canvas using these step-by-step instructions
- Test the code in the prod instance of Canvas using these step-by-step instructions
- If you are working with mobile changes, see this file
- Once you are certain the code works and is production quality, you need to up the version number and merge your branch with master using the command:
version minor
or
bash version major
depending on the size of the change
- Submit a CAB request and wait for approval. Read more about the process here
- Contact Dane Bohman and have him upload the new files to the top level in Canvas with Josh there as well to make sure it happens correctly
- If this fix has been requested by someone outside the office, send them an email to let them know that the change has been implemented
- Clone this repository:
git clone https://github.com/byuitechops/byui-canvas-theme.git
- Step into the folder that was just created
cd ./byui-canvas-theme - To install dependancies, run:
npm i
Gulp is used to optimize both JS and CSS files. This optimization includes the following:
- Remove ES6 code from all JS files (using Babel)
- Uglify all JS & CSS code
- Replace CSS 3 custom properties with static CSS declarations for IE 11 support (using postcss)
Use the npm start command to open a live server of your JS and CSS files and start watching for changes in those files.
The src directory contains human-readable code while the prod directory contains the optimized code for Canvas.
You MUST thoroughly test these files before uploading them to Canvas. Changes will affect thousands of students globally.
- CSS & JS files for the Canvas mobile apps have their own upload location in Canvas. Many of these features will not work on the Mobile app.
- JS files cascade, so a JS file at the top of an account will also run in all sub-accounts. The Dev account is currently being used for testing.
- Please be aware that
byui.jslives at the very top level of our Canvas instance, and applies to many places that no other sub-account will (ex: the login page). Just know that this script is liable to create bugs that cannot be found in the Dev sub-account.
-
People that should be in the LMS Look and Feel Committee:
- Corey Moore
- Someone from Matt's group
- Online development
- Tim Tanner
- Shaun Short
- UX person
- QC person
-
To do:
- Mobile code
- Refactor code
- Simplify code
- Fail elegantly
-
other stuff to do
- go line-by-line in the CSS to make sure everything we are changing is documented in the PowerPoint
- improve the comments throughout the code, especially in the CSS
- document the branches and what each contains better (talk to Josh)