with the new css stuff, we don't actually use
jammit so jammit_css has been renamed to css_bundle.
we left an aliased jammit_css and marked it deprecated
so these all still worked but spit out a deprecation warning.
Change-Id: Ib74037711f559f64851d9379644479587c1f83f2
Reviewed-on: https://gerrit.instructure.com/55888
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
this change does a few things:
* removes 'smartbanner' from the 'common' css and
js bundles into it's own that is only loaded on
android devices. (this is a win since we only
use it for android anyway so we won't be sending
that needless css/js on every page load now)
* uses bower to load 'smartbanner'. this is good
since it makes upgrading easier and makes it clear
where the separation of our code and vendor code is.
* now, there are no files in our repo that are just
copy-pasted from 'smartbanner'
test plan:
* load canvas on a web browser on an android device,
it should show the "install the canvas native app"
just like it used to.
* load canvas on a normal browser, the banner should
not appear.
* aka, there is no observable change to users.
Change-Id: Ifed35a255d774a9148a90b1daf7b4c8e09af91ce
Reviewed-on: https://gerrit.instructure.com/54806
Tested-by: Jenkins
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
we no longer use `npm run compile-sass` to do css.
also, css must happen before handlebars.
besides, all the js, css, styleguide and docs stuff
is handled by rake canvas:compile_assets already.
and in a way that whatever can run concurrently,
will.
(although, admittedly, the syntax to pass arguments
to a rake task, e.g.: [0,0,1,0] is pretty lame)
Change-Id: I83c8ceb21b476456f47f3ec37d4ba6088ca68088
Reviewed-on: https://gerrit.instructure.com/57768
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Tested-by: Jenkins
should improve performance for all pages
test plan:
* regression test dashboard cards
refs #CNVS-21317
Change-Id: Id6506c2f31ecb45b9d32a01c8e0a3534be76851e
Reviewed-on: https://gerrit.instructure.com/57642
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
refs #CNVS-21596
Change-Id: Ie6cdbd1c6d8ee8625f63fae60e141570c6ea0307
Reviewed-on: https://gerrit.instructure.com/57815
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
refs #CNVS-21596
Change-Id: Ie7c46ac6d5f7bac068eeeb6ca7ec971b414ed8e2
Reviewed-on: https://gerrit.instructure.com/57856
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
the new version of node-sass that we are using
understands how to @impor files that have .css
extensions directly. we used to have to do a hack
where we create a symlink to the .css file from
a file with a .scss file extension. but we
don't have to do that now
Change-Id: I81f2e57a33aaa1e19e03f2d6c6d9cc0679d4bce1
Reviewed-on: https://gerrit.instructure.com/54807
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Tested-by: Jenkins
Reviewed-by: Colleen Palmer <colleen@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
fixes CNVS-20972
test plan
- go to /api/v1/search/all_courses
- it should not 404
Change-Id: Iaafb4ba8f2cecbd558be089e79291f08c80da6aa
Reviewed-on: https://gerrit.instructure.com/57553
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Braden Anderson <braden@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
fixes: CNVS-21435
test plan
go to theme editor,
make a change and hit preview
make sure the banner looks like http://cl.ly/image/2c3G0Z1R2k1J
and not: http://cl.ly/image/3w360M1g1P3l
Change-Id: I519ba1709320b959460cd28df99857771f74e98b
Reviewed-on: https://gerrit.instructure.com/57558
Tested-by: Jenkins
Reviewed-by: Colleen Palmer <colleen@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Change-Id: Ib3afb3958e8304962f01fa26fce1960779c47070
Reviewed-on: https://gerrit.instructure.com/57821
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
test plan:
* create courses with assignments retrievable through the endpoint
created in g/54418
* should be able to use the start_at and end_at arguments
(should be in the API documentation)
to restrict the list of course_ids to courses that lie
within those dates
refs #SIS-1124
Change-Id: I8cce47beb062d52ce29e6728cc3e6170ad1e411a
Reviewed-on: https://gerrit.instructure.com/56370
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
I was running rake canvas:compile_assets
and dress_code was failing but it just continued on as if it was successful
Change-Id: I20e56e5228421b1d01a92ffefd0c56146fb18b35
Reviewed-on: https://gerrit.instructure.com/57556
Tested-by: Jenkins
Reviewed-by: Colleen Palmer <colleen@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
I think the problem that we were getting was because
we added guard-gulp to our development gemfile
and it maybe require's mkmf, which adds the
.with_config scope.
test plan:
* go to conversations in dev mode, it should work
* run `bundle exec guard`, it should work
* with guard running, change a coffee/js file
* guard should see the change and regenerate the appropriate file
and you should see gulp 'rev' run.
Change-Id: Ia43e9436e19b32eb3959f6f2d9c2d8d7674aa109
Reviewed-on: https://gerrit.instructure.com/57777
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Change-Id: Ib4094d41d6fe30b9cf4393145496c81971f6e96f
Reviewed-on: https://gerrit.instructure.com/57774
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
adds question point conversion for moodle 2
test plan:
* import the package referenced in the ticket
* not all quiz questions should be imported as 1 point
closes #CNVS-20904
Change-Id: I40c29fb229617d57d5012bc662e6803c2cd3bef7
Reviewed-on: https://gerrit.instructure.com/56112
Reviewed-by: Nathan Mills <nathanm@instructure.com>
Tested-by: Jenkins
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
fixes a circular dependency error trying to load
AccountAuthorizationConfig::CAS
refs #CNVS-21596
Change-Id: I65f92e2cc09228f19363b1964e063a2a5fcde037
Reviewed-on: https://gerrit.instructure.com/57645
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
refs #CNVS-21596
Change-Id: Ie41a4ab4c621adac0b69940fdb213f29fa321464
Reviewed-on: https://gerrit.instructure.com/57646
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
refs #CNVS-21596
Change-Id: I12191f7b335ca7672618cebe362d66a8eff60c7a
Reviewed-on: https://gerrit.instructure.com/57637
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
test plan:
* create a module with assignment items
* excusing the assignment for a student should fulfill any
module requirement for the student
closes #CNVS-21590
Change-Id: I07bb8cfd3e9a1b5cb73ab5a17686a30010f04852
Reviewed-on: https://gerrit.instructure.com/57544
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
when I ran through the loop against canvas production data, I ran into
a couple additional errors.
fixes CNVS-21542
test plan:
- try adding an external feed to a port that doesn't exist, like
localhost:9999
- add valid external feeds before and after that invalid one
- the valid feeds should still import, even though the invalid one will
fail
Change-Id: I4d0ef178ce18b9675d5138f3800dc9109fc97499
Reviewed-on: https://gerrit.instructure.com/57310
Tested-by: Jenkins
Reviewed-by: Benjamin Porter <bporter@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
refs CNVS-21700
test plan
- specs should pass
Change-Id: I89570dbfe5162c83c9b9cfcdc2d73ee1e881dffa
Reviewed-on: https://gerrit.instructure.com/57709
Tested-by: Jenkins
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
closes CNVS-21446
test plan:
1. In Gradebook, excuse a submission (It doesn't matter how it's done)
2. Click on the top right corner of the excused cell.
3. Observe that the modal shows 'Grade: EX'.
4. Verify that the modal shows the actual grade
for non-excused submissions.
Change-Id: I44ff8f6a4ced65e93ebc9131d7e1f989743dd96b
Reviewed-on: https://gerrit.instructure.com/57204
Product-Review: Spencer Olson <solson@instructure.com>
Tested-by: Jenkins
Reviewed-by: Strand McCutchen <smccutchen@instructure.com>
QA-Review: Adrian Foong <afoong@instructure.com>
users should only be on root_accounts
refs CNVS-21700
Change-Id: I0e54a0dd6faedfa5fdfadb728637ffb0a2413b53
Reviewed-on: https://gerrit.instructure.com/57695
Reviewed-by: James Williams <jamesw@instructure.com>
Tested-by: Jenkins
Product-Review: Jacob Fugal <jacob@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
what this does:
* Changes the way we generate css so we are able to generate custom
css for people that use the theme editor.
* Sets everything up so we can push all of our static assets
(js, fonts, css, images, etc) to s3 pre-deploy and serve them
from cloudfront. Yay! faster canvas for everyone!
* as part of that, this enables the rails asset pipeline just so we
can use it to put md5s in our urls. we don't use it for any of the
coffeescript/sass/sprockets transformer stuff.
* adds a new "Theme editor" functionality (only for people that have
have the use-new-styles feature flag turned on) where an admin for
an account can pick their own colors/images for all the users
at their account/school.
* when the user is done saving things in theme editor, it will,
in a delayed job, generate all the css with against the variables
that user specified and push it to s3 so it will be available to
anyone else that requests it. (the delayed job will shell
out to a node.js executable called `brandable_css`).
* ability to pick an existing shared theme and to reset to
blank theme. closes: CNVS-19685
* gets rid of jammit.
test plan:
(this is exaustive, so not every person has to do every step
but we should make sure at least someone does each of these things.
maybe as part of the review add a comment if you have done one of these
bulletpoints)
* before you check this out, compile all css and copy the
public/stylsheets_compiled directory somewhere. after you check out
this code and regenerate all the css. make sure there are no
significant changes to the css output. (we updated the versions of
node-sass and autoprefixer that we use so we want to make sure they
don't change things in a way we weren't expecting)
* make sure the way we load css for handlebars templates still works.
eg: if there is a handlebars template at
app/views/jst/some/template.handlebars
if there is also a scss file at
app/stylesheets/jst/some/template.scss
then that stylesheet should get loaded when that template is rendered
* check out the code and run migrations. browse around canvas,
make sure css and js files load correctly as before.
* cody, jacob, or someone on queso: look at the db migrations and
make sure everything looks good and that I am handling sharding
correctly.
* verify that both rake canvas:compile_assets and guard, works as well
as `node_modules/.bin/brandable_css` (note: if you have
"node_modules/.bin" in your PATH (which you should), it will also
work with just `brandable_css`)
* verify that passing the --watch option to
`.bin/node_modules/brandable_css` works and picks up changes to
sass files, images, fonts, or any other resource that goes into
a css file. and that it only recompiles the css files that actually
depend on that file.
* go to https://github.com/ryankshaw/brandable_css and check out the
code there. that is what is actually doing the sass compiling
* create a config/canvas_cdn.yml file and add aws access creds and
an s3 bucket and cdn hostname (for testing, you can use the credentials
for instructure_uploads_engineering from
https://gollum.instructure.com/OtherServiceTestAccounts ). for a test
cdn hostname you can use https://diu0rq5m1weh1.cloudfront.net. that
is a cloudfront bucket I set up on my personal account that points to
instructure_uploads_engineering
* run rake canvas:compile_assets again, this time, at the end, you
should see it run the assets:precompile task that puts md5s in filenames
and, gzipps them, and copys them to public/assets.
then you should see it run canvas:cdn:upload_to_s3
(look at log/development.log for progress),
which pushes everything to s3.
closes: CNVS-17333 CNVS-17430 CNVS-17337
* try out the theme editor: turn on new styles, go to accounts/x
(where x is the @domain root acount you are testing from) and click
the "theme editor" button on the right side of the page.
that should take you to a page that has the ability to pick colors/images
on the left side and preview your changes in an iframe on the right
closes: CNVS-19360 CNVS-20551
* test the "preview", "save", "reset", and "choose existing" functionality
closes: CNVS-17339 CNVS-17338 CNVS-19685
* make sure that the themeeditor works both if you have
config/canvas_cdn.yml set up and enabled as well as if you don't.
if it is enabled, you should see it push the css for just that new
brand config to s3 when you hit preview, and the css
should be accessible from the cdn you configured.
Change-Id: Ie0a812d04f5eeb40e7df7e71941ff63ea51a4d22
Reviewed-on: https://gerrit.instructure.com/53873
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>