Commit Graph

7312 Commits

Author SHA1 Message Date
JT Olds 33854cbc4b renaming last_course to nonxlist_course and changing crosslisting semantics
Change-Id: I0b017d4506c54151f34c50c28754b6e1c1a46691
Reviewed-on: https://gerrit.instructure.com/3171
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-04-21 15:43:39 -06:00
JT Olds b8e7f55d2f things aren't working right immediately after a fresh db:migrate
fixing error: Problem creating administrative account, please try again:
unknown attribute: password_confirmation

Change-Id: I6f7bc81569337744243f4c35b6a338635a339f60
Reviewed-on: https://gerrit.instructure.com/3177
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-21 15:11:02 -06:00
JT Olds 6e8acdf576 when creating a new crosslist course, prepopulate course data with existing section's course
Change-Id: I647c9ede4826b7e85c7906d9b24b95e056a7efff
Reviewed-on: https://gerrit.instructure.com/3162
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-04-21 15:01:43 -06:00
JT Olds f5149ad4d7 sis import feedback fixes
Change-Id: I81c96b0ca050c0888b20fa886b735b93bf92d1c4
Reviewed-on: https://gerrit.instructure.com/3161
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-04-21 15:01:37 -06:00
Zach Wily 359613861d look up the entire filename when converting URLs on import
Before we were stopping at ['"], but that was unecessary (and wrong) because
what we have is the actual, parsed attribute value. This also means we didn't
get a full filename if it had a quote in it.

Change-Id: Ib4b44a2bdf3f7dc0d2f216415c1fcbfd9ac3e126
Reviewed-on: https://gerrit.instructure.com/3178
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-04-21 14:33:51 -06:00
Jon Jensen 8c2d97f436 allow html answers for multiple-choice/multiple-answers, closes #4206
Change-Id: I49626c4d2f24ac73336dba006f01fdc83792eda2
Reviewed-on: https://gerrit.instructure.com/3155
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-04-21 13:23:23 -06:00
Brian Palmer 95e75cd24a don't cache google docs tokens if they don't exist, fixes #4309
Change-Id: I8013760b88707d5c4fddec8563019d91a9360427
Reviewed-on: https://gerrit.instructure.com/3166
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-04-20 14:52:52 -06:00
Brian Palmer 68ec8d8c60 add file support to QTI imports, closes #3202
As a side-effect of this, quiz questions now get imported as HTML
instead of plain text.

Change-Id: I1f9ea57fbbaac7ca4905cff65bbe31bf11132ea3
Reviewed-on: https://gerrit.instructure.com/3147
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
2011-04-20 08:25:57 -06:00
Brian Palmer 88fe989c7a support quiz settings in respondus api, closes #4238
Change-Id: Ia02d00784ed222158f6426387204d47ccbe8da4e
Reviewed-on: https://gerrit.instructure.com/3136
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-04-20 08:21:11 -06:00
Ryan Shaw d898232659 add a rake canvas:check_syntax task to check for js errors
you can pass quick=true to to disable style guideline
checks and only check for syntax errors.

this will also spit out javascript style warnings using
jshint and gjslint.  I have not nailed down exactly
which things we want to warn about, we can talk about
it and come to a consensus on what we care about. 
I do not necessarily think that we should
use both jshint and gjslint, I just put them both
in to show what kind of things they can check for.
in order to use gjslint, you need to install
it from http://code.google.com/closure/utilities/

Make your .git/hooks/pre-commit look like:
rake canvas:check_syntax:changed quick=true
to not allow committing js with syntax errors

Change-Id: Icfc21c2d30f60dc2fafef80d5c93432b6309afdb
Reviewed-on: https://gerrit.instructure.com/2908
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-04-20 08:07:30 -06:00
Zach Wily 08108711ed Merge remote branch 'origin/ims_cc'
Change-Id: I7581cfa8cce0a49ab83fdd84c3e193996f44d7b6
2011-04-19 08:11:52 -06:00
Bracken Mosbacker 9a93fd4f21 try to find attachment id for relative urls on import
closes #4281

Change-Id: If0a6fb5dc2cd55e103e3b9897c82eb42ea01e43e
Reviewed-on: https://gerrit.instructure.com/3142
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-04-19 08:10:47 -06:00
Brian Palmer 27adf9b16a Merge branch 'ims_cc'
Change-Id: I7fc8590ab50d9ec062fd3cf609aa11f034ed582f
2011-04-18 10:20:36 -06:00
Brian Palmer 52b1c9dc3c fix some loading issues in dev mode with content import stuff
Change-Id: I4c675d90b443174eb0b550ad84d56c5960b096c2
Reviewed-on: https://gerrit.instructure.com/3131
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-04-18 10:17:41 -06:00
Bracken Mosbacker c9b8a23cb2 import files for canvas cartridges
refs #3396

Change-Id: I0d8bc800a9556705f30cf609084e3bbf9bbf7600
Reviewed-on: https://gerrit.instructure.com/3122
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-18 08:10:03 -06:00
Bracken Mosbacker 9c058e377d import canvas cartridge discussion topics
refs #3396

Change-Id: Ie50ab50575e386c523be2e374fd9ae4b088a1129
Reviewed-on: https://gerrit.instructure.com/3121
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-18 08:09:56 -06:00
Bracken Mosbacker 326bd14c28 added wikis and assignments importing for canvas cartridge
refs #3396

Change-Id: Ie3e62556fa6ad3b5f4b460040359fc3a6ac09db2
Reviewed-on: https://gerrit.instructure.com/3104
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-18 08:09:51 -06:00
Bracken Mosbacker cf6908801a fixes to make importing a canvas cartridge from ui work
this commit fixes a bunch of problems with importing
a whole export package and updates the UI

refs #3396

Change-Id: Ia344b385e06df2f08bb75878234a7712a036e4b3
Reviewed-on: https://gerrit.instructure.com/3085
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-18 08:09:34 -06:00
Bracken Mosbacker 61771933bb importing more canvas export objects
This imports the syllabus, rubrics, and modules

refs #3396

Change-Id: Ie7802aa5a064f8cee471af9bfe0a23bf224831a6
Reviewed-on: https://gerrit.instructure.com/3064
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-18 08:09:28 -06:00
Bracken Mosbacker 84c048e5e6 importing more canvas export types
Added external feeds, grading standards, and learning outcomes

refs #3396

Change-Id: I138f22a6d5793e21ba49388e16be75d5f80f0e12
Reviewed-on: https://gerrit.instructure.com/3043
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-18 08:09:23 -06:00
Bracken Mosbacker bb8bc24cd7 start canvas cartridge importing
started the framework for importing the canvas flavored
common cartridge packages. There is also some minor
refactoring of the export step to allow for easy testing
of both exporting and importing

course settings, assignment groups, and external tools
are imported and tested with this commit

refs #3396

Change-Id: I4e8a2ebfc9df7e31f8859b189fea23f9584d7ef4
Reviewed-on: https://gerrit.instructure.com/3042
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-18 08:09:16 -06:00
Bracken Mosbacker cfe4b5ffc8 moved common cartridge folder up a level
refs #3396

Change-Id: I34eca357286e50b0d3d82c15e27dfb4015da45a4
Reviewed-on: https://gerrit.instructure.com/3041
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-18 08:09:08 -06:00
Zach Wily 9823cbe480 make the sis verification step check for global section id uniqueness
Change-Id: Ic04b193bcc8835771fcac7ff8c052322b1a49863
Reviewed-on: https://gerrit.instructure.com/2906
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: JT Olds <jt@instructure.com>
2011-04-17 15:28:35 -06:00
JT Olds 6ec333f475 xlist sis importing tests with fixes
Change-Id: Ied4b5fe75984bd399f294041e80935bd86671e0e
Reviewed-on: https://gerrit.instructure.com/3112
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-04-15 15:36:18 -06:00
Zach Wily df3d4c6351 use something more secure than UUID for our unique tokens; fixes #4264
Change-Id: I407b50b98e44eab4e341b596ebefe9f35af3dc37
Reviewed-on: https://gerrit.instructure.com/3097
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: JT Olds <jt@instructure.com>
2011-04-15 10:54:47 -06:00
Bracken Mosbacker 76470f7592 a few changes for common cartridge validation
IMS fixed their validator to check for the correct
XSD documents. I made some minor changes so that
everything will validate

refs #3396

Change-Id: I8337c24e7aa979bdeaf4b533bd86667336d1c49f
Reviewed-on: https://gerrit.instructure.com/3040
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-15 10:27:20 -06:00
Bracken Mosbacker fc4cc9ff46 added ui for course exports
refs #3396

Change-Id: I07c30535e042dada7c7d4174a7bb8148b7f6b1fb
Reviewed-on: https://gerrit.instructure.com/3039
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-15 10:27:14 -06:00
Bracken Mosbacker 53fc924ced finished export qti
This adds calculated/numeric questions to the common cartridge export
The assignment for graded quizzes will also get exported now

refs #3396

Change-Id: Iac9d5c18f57f3cb89a56d20e9320403ac1495356
Reviewed-on: https://gerrit.instructure.com/3038
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-15 10:27:07 -06:00
Bracken Mosbacker 5b84177988 export more quiz question types to qti
This adds exporting for matching, multiple dropdowns,
missing word, and fill in multiple blanks

refs #3396

Change-Id: Ie7dc75533e35a74137ff9a514cc6ca8b211aa3d7
Reviewed-on: https://gerrit.instructure.com/2926
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-15 10:26:58 -06:00
Bracken Mosbacker 1b1eb9785b added basic lti links to common cartridge export
refs #3396

Change-Id: Ia56a2dad35ec79e3fbc21cad6a573b3fc249825f
Reviewed-on: https://gerrit.instructure.com/2925
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-15 10:26:26 -06:00
Bracken Mosbacker e0eed5ad75 finished common cartridge-specific qti exporting
All of the non-CC-supported quiz question types
still need to be exported

refs #3396

Change-Id: I0a8225a402577994006e424189515e2b432a0d9d
Reviewed-on: https://gerrit.instructure.com/2924
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-15 10:26:17 -06:00
Bracken Mosbacker 6eee4a6b6b started qti export for common cartridge
refs #3396

Change-Id: I011f9e881154fb267498ba6d6ce96281aa74b9b7
Reviewed-on: https://gerrit.instructure.com/2923
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-15 10:26:11 -06:00
bracken c26578b9d9 added rubrics to common cartridge export
refs #3396

Change-Id: I7e0cfc426e1094f2d5be4e3b7d8d077a4671d09a
Reviewed-on: https://gerrit.instructure.com/2922
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-15 10:26:07 -06:00
bracken f529ee2131 added learning outcomes to common cartridge export
refs #3396

Change-Id: I7fbe2b12c76c000f5571ed88f4779c395aee92c8
Reviewed-on: https://gerrit.instructure.com/2921
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-15 10:26:04 -06:00
Bracken Mosbacker e696df904b added grading standards and assignment groups to common cartridge
refs #3396

Change-Id: I5bbd61a6fe65033ded75861f8c0f9d6dc0aa391c
Reviewed-on: https://gerrit.instructure.com/2920
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-15 10:26:01 -06:00
Bracken Mosbacker a66b10384c added external feeds to common cartridge export
also did a little refacter of the course settings to
make a place to put all the canvas-specific data

refs #3396

Change-Id: Ibc12b2939439738ef6525f51b5e783e9e9bca68b
Reviewed-on: https://gerrit.instructure.com/2919
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-15 10:25:59 -06:00
Bracken Mosbacker 10e6bf69b5 added context modules to common cartridge export
refs #3396

Change-Id: I6083b338028022061b6fdbbeebc5efbeaeb9c556
Reviewed-on: https://gerrit.instructure.com/2918
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-15 10:25:56 -06:00
Bracken Mosbacker 0d53e88cf7 added web resources to common cartridge export
refs #3396

Change-Id: Ida0dcb6a5571c6e6a2ed3f1d32e64ee273082e6d
Reviewed-on: https://gerrit.instructure.com/2917
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-15 10:25:53 -06:00
Bracken Mosbacker 71d5f7b6f1 enhance content zipper to export sub-folder as well
This is needed for exporting full courses

refs #3396

Change-Id: Ie90714ca35c5f5733be2a2a132fe33f90cfed0d2
Reviewed-on: https://gerrit.instructure.com/2916
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-15 10:25:51 -06:00
Bracken Mosbacker 7af70f6c91 add discussion topics to common cartridge export
This uses the defined discussion topic format for
CC, but references an additional xml file with
canvas-specific properties. These can also have
an embedded assignment

refs: #3396

Change-Id: Ibf33a7509b529e2a53a3d1a511aa251b013c7639
Reviewed-on: https://gerrit.instructure.com/2915
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-15 10:25:48 -06:00
Bracken Mosbacker bc80f97c5d separate syllabus from course settings
This allows non-canvas systems to import the syllabus
html without touching the proprietary settings file

refs #3396

Change-Id: I12b49e2ad7e2f7014acab43795c084b674af8dac
Reviewed-on: https://gerrit.instructure.com/2914
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-15 10:25:44 -06:00
Bracken Mosbacker 89ca5889fa add common cartridge assignment exporting
refs #3396

Change-Id: I1e96a0f1504d80c264569bee168917b97f4730ec
Reviewed-on: https://gerrit.instructure.com/2913
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-15 10:25:41 -06:00
Bracken Mosbacker 8aebf51d18 export wikis in common cartridge
refs #3396

Change-Id: I9a49709cf55ec04f3d7f1292c8d2aa051019a33c
Reviewed-on: https://gerrit.instructure.com/2912
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-15 10:25:38 -06:00
Bracken Mosbacker 274aac4a79 starting common cartridge exporting
This creates a manifest file and course settings document
and also started an .xsd for canvas-specific features

refs #3396

Change-Id: If8d11ba7a613db20373ba4cfc9c765eb9ef10b25
Reviewed-on: https://gerrit.instructure.com/2911
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-15 10:25:32 -06:00
Zach Wily fe727ad29a don't respond to messages with an unrecognized To: address
Change-Id: I06b4d42aa79ffdbc4fd9430e6eaddff4e668fa0e
Reviewed-on: https://gerrit.instructure.com/3084
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
2011-04-14 13:07:36 -06:00
Zach Wily f34dbd9fe1 on email responses, just look up the user from the message being responded to
Change-Id: I43514e34e49cdebb1be69cfb29f683e4e86c859b
Reviewed-on: https://gerrit.instructure.com/3079
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-04-14 11:10:35 -06:00
Brian Whitmer 28dfe1d8cb migration process for moving to new kaltura instance
This commit makes it possible to migrate media collections
from one Kaltura instance to another.  It adds an
old_media_id column to media_objects that can be used
as a fallback.  It also adds a mechanism for creating bulk
upload csv's to migrate media objects from the old
system to the new, while catching and preserving the
old id so that any links inside of content will still work
even if they have the old id.

refs #4083

Change-Id: Ifa213fd348a50ebd7e7ac7068d8eff40b23747d1
Reviewed-on: https://gerrit.instructure.com/2902
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: JT Olds <jt@instructure.com>
2011-04-13 22:50:30 -06:00
Zach Wily a57614c543 be sure to skip submissions for skipped assignments; fixes #4163
Previously we were not skipping submissions for assignments that the user had
chosen to ignore. This change also makes sure that grade is set on the
submission as well as score. (Grade is usually set when score is, but not in
all cases.)

Also got rid of the "lookup assignment by name" fallback in the importer. This
could cause weirdness when a teacher had a deleted assignment in the
downloaded gradebook that they'd recreated with the same name. We are more
strict now about matching the assignments to what's in the course.

Change-Id: I980db994f5df77104a07e81c629a5800f3b40972
Reviewed-on: https://gerrit.instructure.com/2992
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-13 21:26:11 -06:00
JT Olds 3a171d27d2 renaming final_grade to final_score in relevant places. adding computed_final_grade
Change-Id: I09cfecc6ec075b1b45e872a6a1f2efa7e4bd63b9
Reviewed-on: https://gerrit.instructure.com/3034
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-04-12 12:58:28 -06:00
Brian Palmer 56cdc28afe fix grade calculations if an assignment group has 0 points possible
This was causing all students in the course to have final grades of null
(NaN).

Change-Id: I2bc268926579ce8c129a8c997f683a9e9097bffc
Reviewed-on: https://gerrit.instructure.com/3016
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Brian Palmer <brianp@instructure.com>
2011-04-11 12:43:52 -06:00
Zach Wily 6fdea80b52 gradebook importer: handle "Points Possible" row being anywhere; #fixed #4162
Also added an explicit parse! method and made the processing of the CSV single
pass.

Change-Id: I0fdfefa5bae1c864d35da1c7975aa7691770a3e2
Reviewed-on: https://gerrit.instructure.com/2991
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-09 09:41:29 -06:00
Brian Palmer b3e8d3b50a fix the mass assignment error raising option
Change-Id: Idc527a3d845f912fcbef56d336b5326e30c7964a
Reviewed-on: https://gerrit.instructure.com/2993
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-04-07 16:00:55 -06:00
Brian Whitmer 44403d1c7e send kaltura requests through canvas
This solves a few problems.

- will make it easier to support HTML5 video playback
  for systems that don't handle flash
- first step toward making it possible for canvas
  installs to migrate from one kaltura instance to
  another by making a place for us to put some
  additional logic if necessary
- third parties getting data from us are no longer
  forced to find and handle media comments in order
  for them to work, since this adds a fallback url

refs #4083

Change-Id: I729aaf88378a30bda2126bfca2b2a48ec14bb386
Reviewed-on: https://gerrit.instructure.com/2901
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-04-07 12:52:22 -06:00
Cody Cutrer 63bad32df0 Handle incoming mails. Closes #4016.
* Uses Mailman gem
 * Can be configured for POP3, Maildir, or stdin (push from mailserver)
 * Maildir can be chained with fetchmail or similar to support IMAP
 * Can be run as part of the job server, or as a separate process

Change-Id: I000000000000000000000000000001
Reviewed-on: https://gerrit.instructure.com/2971
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-04-07 10:46:11 -06:00
Jon Jensen ce0040958e BigBlueButton integration, refs #3319
Change-Id: Iaa38c753592f1b39d272487b3c0f231646168014
Reviewed-on: https://gerrit.instructure.com/2962
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-04-06 16:15:30 -06:00
Jon Jensen f3cee78b01 encryption_key validation, closes #4202
store a hash of the key in the database when it's first set up, and
check it every subsequent time we load the environment, aborting if it
doesn't match. also provide a way to overwrite the hash in the db (via
env var and/or rake task)

Change-Id: I2a9f75cc850698ca247f39702a703c486fb7413d
Reviewed-on: https://gerrit.instructure.com/2972
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-04-06 14:54:48 -06:00
Zach Wily dc0d205b89 make sure to get the right section on sis import
Change-Id: Ie08fbaea4babc960bdb3a859b14282eaaf4b27b9
Reviewed-on: https://gerrit.instructure.com/2887
Reviewed-by: Brian Whitmer <brian@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-03-30 14:20:44 -06:00
Brian Palmer ea66fb1881 include needs_grading_count in assignments api json, if authorized
refs #3958

Change-Id: Ia42b08303f62912e6aceb2f07529c561a1bc3686
Reviewed-on: https://gerrit.instructure.com/2862
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-03-29 15:09:38 -06:00
Brian Whitmer ae720184c0 syntax warnings found in development mode
Change-Id: I95ad530f8a1d30834d25d4df7898e813f231ddcb
Reviewed-on: https://gerrit.instructure.com/2839
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
2011-03-29 14:56:47 -06:00
Brian Palmer c14f66f81a correctly truncate text that contains MB chars, fixes #4135
TextHelper#truncate_html doesn't appear to have this issue, because it
always splits and truncates on word boundaries (using String#split()).

Change-Id: I8bf301055818d7080d8e12859707458ba41e89f4
Reviewed-on: https://gerrit.instructure.com/2851
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-03-29 10:07:59 -06:00
Jon Jensen 471267deb9 rework some mysql-specific stuff, closes #4090
Change-Id: I6791f124aae5caf2c5a3d5cd2b36dce60657d7ca
Reviewed-on: https://gerrit.instructure.com/2843
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-03-28 12:44:08 -06:00
Brian Whitmer 3f7057e251 randomize multipart boundary
Change-Id: Icb7c4a78dae931e1a5c00bff8540171557f45821
Reviewed-on: https://gerrit.instructure.com/2832
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
2011-03-28 10:51:34 -06:00
JT Olds 9935c42b9c allow initial data load to be configurable from the environment
based off https://gerrit.instructure.com/2664

Change-Id: I82c9caede6c45940afbbcea06b0583f0657d9f30
Reviewed-on: https://gerrit.instructure.com/2833
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
2011-03-25 18:02:11 -06:00
Brian Palmer dbfdd06e34 remove the hidden course_role divs and db lookup
These are no longer used and can have a significant db cost.

Change-Id: I8fcf7cfe3a20e056310d760d97ca3a04ca387bb7
Reviewed-on: https://gerrit.instructure.com/2825
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-03-25 13:46:08 -06:00
Brian Palmer 78eeabeb21 support writing page views to a redis queue, closes #4052
A background periodic process pulls them off the queue, consolidates
updates, and writes them to the database.

Change-Id: I854b57932e3f6e311ce8c67971ed5208034ca6a5
Reviewed-on: https://gerrit.instructure.com/2803
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-03-25 10:03:57 -06:00
Brian Whitmer d20eede2df move default error reporting to a plugin
Accounts can specify a destination email address or URL
endpoint that will receive messages as error reports are
created if the feedback button is enabled.  This could
be configured before, but it wasn't straightforward
how to go about doing it.

fixes #3410

Change-Id: Ibd28ebf14c876fb216b14d3d56e622fc009aa2ba
Reviewed-on: https://gerrit.instructure.com/2739
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-03-24 13:21:31 -06:00
Brian Palmer 2998f1d874 remove the layout when taking a locked-down quiz, closes #3129
Change-Id: I907a4d88450836b068e01ececcbe2994583c06d1
Reviewed-on: https://gerrit.instructure.com/2771
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-03-24 12:46:27 -06:00
Brian Whitmer 9d131ea836 basic lti support
- external tools can be added on the course/account
  settings page
- external tools can be linked to from within modules
- clicking a tool in a module will load a new page
  with the tool embedded in an iframe
- see context_external_tools for standard procedures
  on retrieving settings for a specific link

fixes #4013

Change-Id: I8aa1934f8deac9af26d74036162b34fd1c4242e1
Reviewed-on: https://gerrit.instructure.com/2601
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
2011-03-23 16:58:11 -06:00
Jon Jensen ef72d6fde4 Merge branch 'dev/postgres' into master
Conflicts:
	config/initializers/active_record.rb

Change-Id: I625080d12e07122351e22d15b0864572c2ea09c5
2011-03-23 10:56:46 -06:00
Jon Jensen 63d09992d4 assignments.needs_grading_count counter to speed things up, closes #3945
Change-Id: I3748a7e0551e49720d06be302df29a8e33528007
Reviewed-on: https://gerrit.instructure.com/2573
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
2011-03-23 10:36:15 -06:00
Jon Jensen f745f40073 Merge branch 'master' into dev/postgres
Conflicts:
	app/models/user.rb
	config/initializers/active_record.rb

Change-Id: Idc3b52dad873146efbb9268ecac28cac840f115e
2011-03-22 16:23:04 -06:00
Brian Palmer 4e90835c78 support running spec_canvas specs from bundler-required gemfiles too
Change-Id: I4810c11692ff4d2a0cf33694e029b7e119bb0de6
Reviewed-on: https://gerrit.instructure.com/2744
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-03-22 14:48:51 -06:00
Brian Whitmer a368abde94 turnitin comments for next revision
Change-Id: I2dc59b3475aef35423fc341bfc50cdd42d112206
Reviewed-on: https://gerrit.instructure.com/2660
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: JT Olds <jt@instructure.com>
2011-03-18 14:43:57 -06:00
Brian Palmer 6dc173330d don't show 'you must be logged in' for root path login redirect
Change-Id: Iabbfd782ec8d4850fe7c9c2eaf1ce02179a110a9
Reviewed-on: https://gerrit.instructure.com/2687
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-03-17 16:04:23 -06:00
Jon Jensen 4ea607cea4 postgres support and misc bugfixes, fixes #3574, #3943
Change-Id: I16aa188175a588b02dd6460baa83daae805aec9f
Reviewed-on: https://gerrit.instructure.com/2474
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-03-11 18:01:02 -07:00
Jon Jensen 757bcb2c60 fix a couple file upload problems
Change-Id: I6c8bfb22709655a8bd2cff2375ab0e4be9dcc5ec
Reviewed-on: https://gerrit.instructure.com/2604
Reviewed-by: JT Olds <jt@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-03-10 17:12:42 -07:00
Brian Palmer c863ea32a2 fix integration specs in plugin spec_canvas dirs
Something about the way we were loading them before caused them to
not have the integration methods like get() and post() available. By
loading the base dirs and letting rspec auto-discover the files under
each base dir, we get better behavior.

Change-Id: Ice3a163ddb2311a02f3c125773b6ab05a0895814
Reviewed-on: https://gerrit.instructure.com/2592
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-03-10 09:44:05 -07:00
Zach Wily 0c50014ffe capitalize the plugin author names
Change-Id: I77bbbbbf68b7e5bc30b9e50d36a5b1937a966a5d
Reviewed-on: https://gerrit.instructure.com/2561
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-03-09 13:51:19 -07:00
Jon Jensen ec51f1dfe2 policy/signature auth for local uploads instead of session cookie fu, refs #3762
Change-Id: I64c6446c36c253235b86ba9edfc411a20c2812fc
Reviewed-on: https://gerrit.instructure.com/2546
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
Reviewed-by: JT Olds <jt@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-03-09 12:11:34 -07:00
Brian Palmer 8327ebac27 refactor the rest api docs, refs #3956
I removed the api_routes plugin, since the code is currently too tied to
canvas to be pulled out into a generic plugin anyway. The yardoc
templates now live in doc/templates, and I've done some major cleanup
and refactoring -- they don't have much in common with the default YARD
templates anymore, and they work much better as API documentation.

The styling is now a little bit more "canvas-like" now, too.

Change-Id: I80edd02e63d7815a292306741f2e8ea52872aae2
Reviewed-on: https://gerrit.instructure.com/2535
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: JT Olds <jt@instructure.com>
2011-03-09 10:12:32 -07:00
Zach Wily 9077560f50 make urls protocol-relative for ssl; refs #3761
Change-Id: I54ddf3a00a0e88caab3cfd5e1cae632b8942ee55
2011-03-08 15:17:35 -07:00
JT Olds d46a843458 cross-list importing logic
Change-Id: I4aebf7a05a2231f039c6b197f43f1e5344621230
Reviewed-on: https://gerrit.instructure.com/2516
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-03-08 15:15:03 -07:00
JT Olds 04165d74c1 cross list importing stub
Change-Id: Ifc755f3dacf23e6b0a8a3159b0c16bde1c4523ce
Reviewed-on: https://gerrit.instructure.com/2512
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-03-08 15:14:35 -07:00
Zach Wily ce0e068190 use resource_domain for kaltura thumbnails; refs #3761
Change-Id: I7bf236a0dccf1c8446708d9a0b5a9885d08d394e
Reviewed-on: https://gerrit.instructure.com/2550
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-03-08 15:14:32 -07:00
Zach Wily c4d2ea53a2 remove ssl_requirement; refs #3761
Change-Id: If8b11df39ea3b72f743d67a373473c63dc4b9d21
Reviewed-on: https://gerrit.instructure.com/2538
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-03-08 15:14:15 -07:00
Brian Whitmer 41c9f12988 enforce term/course/section start and end dates
before we were recording these values but not doing
anything about it.  This commit starts scheduling
delayed_jobs to activate/conclude enrollments
in the background when dates pass.

it does not conclude/publish courses/sections
automatically, though.  if we want that to be
automated based on dates then I think we should
do that in a separate commit.

fixes #3356

Change-Id: Id94356fbc5b82196dd041fdb250607a7633cee9f
Reviewed-on: https://gerrit.instructure.com/2431
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
2011-03-01 13:47:12 -07:00
Jon Jensen da5921a8da include original filenames in submission zip archives, closes #3866
Change-Id: I1bc840d73abf973c3f4c784f28a6f6c304ce4ac8
Reviewed-on: https://gerrit.instructure.com/2404
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-02-28 09:31:47 -07:00
JT Olds 3d229d9ea4 optionally scale siscsv progress to some subsection of total work
Change-Id: I99cb59667c2fb57aac194b6c06777f8c6c4ffb2e
Reviewed-on: https://gerrit.instructure.com/2448
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
2011-02-25 16:14:09 -07:00
Bracken Mosbacker ebdd5cbcf0 made account reports support default reports
refs #3903

Change-Id: Ie0e9778ebd4a29fe63d798c9ca20784703076410
Reviewed-on: https://gerrit.instructure.com/2442
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
2011-02-25 15:00:58 -07:00
Jon Jensen 86b062bf61 wimba integration, fixes #2989
added wimba web conferencing support, moved dimdim config into plugin
settings, fixed a few web conferencing ui issues

Change-Id: I6b36b0e594a9f296d14cd35bec02186478bcbd13
Reviewed-on: https://gerrit.instructure.com/2343
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
2011-02-25 14:35:14 -07:00
JT Olds bedb1d878e fix default host for tests
Change-Id: I88b59c05a39803c95e3d306b9f47b7ef0450d4c8
Reviewed-on: https://gerrit.instructure.com/2429
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-02-24 17:11:18 -07:00
Brian Palmer 17b89a1751 add support for using sendmail for outgoing mail, closes #3880
This involved some refactoring, since we were using
ActionMailer::Base.smtp_settings[:domain] for generating "From"
addresses.

Change-Id: I6cac6d48971d396a56e07314e042b63a0081a4b6
Reviewed-on: https://gerrit.instructure.com/2398
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-02-23 08:41:50 -07:00
Brian Palmer 4115014102 deliver messages to all recipients in one job, closes #1
If any individual message delivery fails, we'll reschedule it as its own
individual job.

Change-Id: I51ae5941fd001c61e6c6b708185ff12585d0a49f
Reviewed-on: https://gerrit.instructure.com/2390
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
2011-02-22 16:23:58 -07:00
Bracken Mosbacker 2f9e0088fc don't create stream items for deleted objects
There was a race condition where the delayed job
for creating stream items hadn't run yet and an
object (like an announcement) was deleted, this
would create a stream item pointing to a deleted
object

closes #3699

Change-Id: I59cd5ac80b752e689098bbecb74243b6913de1a4
Reviewed-on: https://gerrit.instructure.com/2379
Reviewed-by: Brian Whitmer <brian@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-02-22 13:06:12 -07:00
Brian Whitmer 0b6e4da151 kaltura pluginified
round one in moving all the yml files to the plugins system instead

Change-Id: Id255c15d14d27bce232606ece6bd00eb7e094749
Reviewed-on: https://gerrit.instructure.com/2339
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
2011-02-21 12:32:43 -07:00
JT Olds 148e66ac68 supporting designer/observer imports and make course_id optional
now one of course_id/section_id is required for enrollments, but not both

Change-Id: I4ebd19ac05988bf3eeffcb846d8bc1fafce73b40
Reviewed-on: https://gerrit.instructure.com/2316
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-02-18 13:25:29 -07:00
Brian Whitmer 8035e390f4 add observer role to csv import
and add a new column for linking it to a user

refs #3315

Change-Id: I8333a0530bb2da5557385bf30f45cdd56b5eb261
Reviewed-on: https://gerrit.instructure.com/2266
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
2011-02-16 13:49:18 -07:00
Brian Palmer 5b4abbe76c spec fixes -- db:test:reset could fail depending on load order
Change-Id: I8b9622f5106a7834fd2925f8893d9be1207bda74
Reviewed-on: https://gerrit.instructure.com/2309
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: JT Olds <jt@instructure.com>
2011-02-16 12:47:51 -07:00
Brian Whitmer 2f3f70b339 better flow for updating plugin settings
also added option for plugins to provide validation on
their settings page.  I need this for some of the
more complex settings we'll have to put together
as we move stuff from yml files to settings.

Change-Id: I78e6e3cd423e7ef7e15eafae86db8337f605be3a
Reviewed-on: https://gerrit.instructure.com/2247
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
2011-02-16 12:30:18 -07:00
Bracken Mosbacker 9168dfbdec urls from external migrations are already escaped
The text helper was double escaping urls from external migrations

refs #3667

Change-Id: Ica89af6fffab47ec1fee82167acc1d34551e63e4
Reviewed-on: https://gerrit.instructure.com/2232
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-02-11 10:28:51 -07:00
Bracken Mosbacker 2a38ddd91d fix qti plugin reload errors in development mode
Change-Id: Ia76b870d84e766dfa79992cfb854dc6383115abb
Reviewed-on: https://gerrit.instructure.com/2234
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: JT Olds <jt@instructure.com>
2011-02-09 18:43:03 -07:00
Bracken Mosbacker e832bb9af2 set the correct workflow state on sis import
users need to be 'registered' not 'active'

closes #3744

Change-Id: Ia32aa3a32689c98fd17ea19594e3d314f9e3918f
Reviewed-on: https://gerrit.instructure.com/2205
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-02-08 14:31:36 -07:00
Bracken Mosbacker 11f5e44e49 allow migrations to work across job servers
migrations were previously limited to being on the same
job server, now the exported data is uploaded back to
canvas and downloaded again for the importing step

closes #3519

Change-Id: I24deaf4bc1811c4b66b1a2cf79f311ffc1fa9906
Reviewed-on: https://gerrit.instructure.com/2178
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
2011-02-07 15:07:49 -07:00
Bracken Mosbacker a44c9acb27 external migration data will be deleted once imported
refs #3519

Change-Id: I2ecd672365f696f3467414d429a15151b181fc50
Reviewed-on: https://gerrit.instructure.com/2177
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-02-07 14:42:50 -07:00
JT Olds 80079ebbcc remove immediate dependence of email template generation on domain.yml
not sure why i didn't do it this way before. i'm dumb. closes #3710

Change-Id: I93d5d5e600baae247a149b4a87dbfbcc0395b44c
Reviewed-on: https://gerrit.instructure.com/2165
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-02-04 17:34:41 -07:00
Brian Palmer e1b6f066b4 improved auto-linkification of text fields, refs #3706
Change-Id: I6ffe2f4f946b551c527eeb4249dfff959f77a22e
Reviewed-on: https://gerrit.instructure.com/2154
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-02-04 12:10:27 -07:00
Brian Whitmer d3092fd878 turnitin fixes
- javascript syntax error
- fix turnitin link on grade_summary page
- added url for student turnitin report view
- ruby syntax error in submission partial

Change-Id: I9d47159bbe68b003b546040c686f02c56e0dafd2
Reviewed-on: https://gerrit.instructure.com/2156
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-02-04 09:45:58 -07:00
Brian Whitmer 50975465af turnitin tweaks
- use real emails for students in turnitin when available
  (requested by iParadigms)
- add note to assignment details page to say it's a
  turnitin assignment
- add turnitin score icons to student grades page
- better logging if any errors happen during API calls

Change-Id: I0e1096583f600439245d975a178c7638d6c40fa3
Reviewed-on: https://gerrit.instructure.com/2137
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-02-03 15:42:39 -07:00
Zach Wily 03c4e204f2 make sure that the truncated html strings are not escaped
fixes #3677

Change-Id: Id758d0c21fd6dabf078e5f5a7a0ba7547f496013
Reviewed-on: https://gerrit.instructure.com/2089
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-02-02 11:03:58 -07:00
JT Olds e04faaf1c9 get phone home call info for quick starts
Change-Id: I4aff73355b6ef35ee7be15930b04bd85805987b0
Reviewed-on: https://gerrit.instructure.com/2110
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Reviewed-by: JT Olds <jt@instructure.com>
Tested-by: JT Olds <jt@instructure.com>
2011-02-01 14:44:27 -07:00
JT Olds c1f180bf7e Bug fix for last minute features.
Change-Id: Ie04d4756d41b37902ef30d161f1f0ac9436ac2b3
Reviewed-on: https://gerrit.instructure.com/2094
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Zach Wily <zach@instructure.com>
2011-02-01 10:16:42 -07:00
Brian Whitmer 8b8173dcc9 Initial commit.
closes #6988138
2011-01-31 18:57:29 -07:00