Commit Graph

7312 Commits

Author SHA1 Message Date
Jon Jensen 1478ac4795 mathml for screen readers, refs #4362
Change-Id: I833656291e55eab7c29dea46331cf096d47808d1
Reviewed-on: https://gerrit.instructure.com/3837
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-05-26 09:57:12 -06:00
Brian Palmer 8a796ed6e9 optionally export a different kaltura asset flavor
Change-Id: I26640ef677ad6fbc3a40b68518c03b49d5be7ab0
Reviewed-on: https://gerrit.instructure.com/3848
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-05-25 22:31:00 -06:00
Cody Cutrer bdbebfaec8 check all models for protecting attributes refs #3847
Change-Id: I7cba6e26ad98e91723e2ccf0a28b8db79bb37b5c
Reviewed-on: https://gerrit.instructure.com/3631
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-05-25 17:38:50 -06:00
Bracken Mosbacker c825cc9fc3 create error reports for migration exceptions
closes #4546

Change-Id: Ie39c96e9a9617206379e008e2e779d823ca557bc
Reviewed-on: https://gerrit.instructure.com/3871
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-05-25 16:53:01 -06:00
Brian Palmer d9fdcc1f28 only include user sis id in api responses for site admins
closes #4644

This information is protected according to FERPA rules.

Change-Id: Ib9fc87a6050dfc40d3e21373120150b9500b8343
Reviewed-on: https://gerrit.instructure.com/3836
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-05-24 17:06:26 -06:00
Brian Palmer 8add06407e don't error on incomplete calc quiz question export, fixes #4643
Change-Id: Ic96d29d5f1cf7b38f7dad3f6ca4c758dc1cc4773
Reviewed-on: https://gerrit.instructure.com/3834
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-05-24 11:52:45 -06:00
Brian Palmer 96627d44d8 call to_s on syslog logger messages
This matches the behavior of the other logging classes.

Change-Id: Ia33e5ed74e1bec8643a00caae56293bd60a706e4
Reviewed-on: https://gerrit.instructure.com/3833
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-05-24 11:52:29 -06:00
Cody Cutrer b60e645b0d import and support ssha passwords from sis. fixes #4573
Change-Id: I703730644f0094d7cb85d8def322969267de3ce5
Reviewed-on: https://gerrit.instructure.com/3755
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-05-23 08:40:35 -06:00
Cody Cutrer 4299d867ae fixups for distributed sis imports
In particular, @batch.finish is necessary for the "blocked" job to finish.
Also, don't use send_later_if_production, just do it everywhere. By default
it won't get here anyway, so it's okay for tests.

Change-Id: I53bb4276769af481e3787073ddebb7ea5e5a5ed1
Reviewed-on: https://gerrit.instructure.com/3769
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-05-23 08:37:29 -06:00
Zach Wily dc76ed6d9f add the session id to syslog lines
Change-Id: I1068e4cdfc16ea5754c46c2f658f40359611a11e
Reviewed-on: https://gerrit.instructure.com/3745
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-05-23 08:19:24 -06:00
Brian Whitmer 70e984bff6 grading standards improvements
- can attach a grading standard to a course
- interface for managing standards at the course
  and account level
- added final grade to gradebook page
- added final grade to student grades page
- added final grade to gradebook csv export

fixes #3868

Change-Id: I555b9f66b621d8967e893e50a671748267da9373
Reviewed-on: https://gerrit.instructure.com/3025
Tested-by: Hudson <hudson@instructure.com>
Tested-by: Selenium <selenium@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-05-21 19:20:34 -06:00
Zach Wily 91507fd052 add sample_cpu_time
Change-Id: I90bd0b66e893cb0cd2fdf20d8c584f720071b497
Reviewed-on: https://gerrit.instructure.com/3738
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-05-20 22:03:48 -06:00
Cody Cutrer 21f636cb0f use transactions for user and enrollment imports
For "small" imports (<5000 users), this improves wall-clock time
only a bit, but is much much nicer to the db.  The larger the
import, though, the more the improvement here.

Be careful that we only use transactions on things that wouldn't
block other imports running in parallel, or even progress updates
running on the same thread.

Also be smarter about how often we update progress, since that
transaction can have a considerable impact on wall clock time.

refs #3752

Change-Id: I8a79bc530f5433858ccf7d62d33b98ba25e98ffa
Reviewed-on: https://gerrit.instructure.com/3613
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
Reviewed-by: JT Olds <jt@instructure.com>
2011-05-20 10:39:11 -06:00
Cody Cutrer cfedec15da parallelize sis imports
* Controlled by plugin settings; default 1
 * Will re-balance incoming CSVs into at least <parallelism> new CSVs
   (per import type)
   * If there is a single CSV, it will be split optimally
   * If there are multiple CSVs, no such guarantees are made
 * Each CSV will be processed as a separate DelayedJob
 * Accounts are not parallelized
 * All other import types are parallelized within their own type. I.e.
   all courses will be imported before any sections are started

Change-Id: Ifa6fe4e63812be95db999bdf963ab7cc1b15b75d
Reviewed-on: https://gerrit.instructure.com/3582
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: JT Olds <jt@instructure.com>
2011-05-20 10:39:02 -06:00
Brian Palmer d87c33d91d modify user_content strategy, fixes #3676
user_content will now work for any arbitrary RTE field, no matter if it
came from a column, a string nested three levels deep in a serialized
column, whatever.

let's call this technique "controlled XSS injection"

Change-Id: I56eed1f9b546ac7849dc60faa0f2b3801231131e
Reviewed-on: https://gerrit.instructure.com/3704
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-05-19 15:46:56 -06:00
Brian Palmer 68a1e6d29f Merge branch 'delayed_jobs'
Change-Id: I7a9f1eae3d6177e61e53a48ea5818203f82067bf
2011-05-19 13:02:58 -06:00
Brian Palmer 304be4091b sample_memory method
refs #4226

Change-Id: Ia218096e4b2400edc60d0c2528544b11dd50625d
Reviewed-on: https://gerrit.instructure.com/3643
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-05-19 10:49:58 -06:00
Bracken Mosbacker 02be112119 don't use 'not graded' assignments when calculating grades
closes #4594

Change-Id: I80ff152810c9318f7e44858dc7f680aea25a1850
Reviewed-on: https://gerrit.instructure.com/3712
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-05-19 08:56:24 -06:00
Cody Cutrer 12329cc621 avoid several sub-jobs during sis import refs #3752
* Account#update_account_associations during account import
 * Course#update_account_assocations during xlist and section import
 * Course#update_enrolled_users during xlist import
 * Enrollment#recompute_final_score during xlist and section import

Change-Id: Ic97fe0e7ceeb50dcf89e4569d2571a0626f2114d
Reviewed-on: https://gerrit.instructure.com/3609
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
2011-05-16 15:38:07 -06:00
JT Olds 0af7ccee09 don't reset the account id if the course already has one and one wasn't provided
Change-Id: Ib0c33bd880b597968fd0eda31d29ae64939e299b
Reviewed-on: https://gerrit.instructure.com/3628
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-05-16 14:16:13 -06:00
JT Olds cfae736f5c don't increment successful user counts on failures
Change-Id: I90ea084deeaacb954ebad94e1803460534df92b9
Reviewed-on: https://gerrit.instructure.com/3626
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-05-16 14:15:47 -06:00
Brian Palmer ace397540a support sis ids in the canvas apis, closes #4386
Change-Id: I2ae2a447f3950d09257b9ff6498326ec89c8bed8
Reviewed-on: https://gerrit.instructure.com/3621
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
2011-05-16 13:25:07 -06:00
Bracken Mosbacker 0978ed453f handle extra image html in qti data
refs #4514

Change-Id: I14e64000648557ff199f7ca16c7172a6d95e35b7
Reviewed-on: https://gerrit.instructure.com/3649
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
2011-05-16 10:24:00 -06:00
JT Olds 08ab2a604c always reset section account on sis import
Change-Id: I91c50b23f8349b878ec3ef6714ee04d399e5c0a5
Reviewed-on: https://gerrit.instructure.com/3671
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-05-16 08:23:32 -06:00
Zach Wily cc7910d03e purge remaining traces of Facebooker
Change-Id: Id629e221007ae0a7ec9ae6bebd68a83ed3f9379f
Reviewed-on: https://gerrit.instructure.com/3662
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-05-14 23:10:04 -06:00
Bracken Mosbacker 5985d12401 allow negative timestamps on content import
closes #4551

Change-Id: I39772343d2a33cd6a0c6e08457d32ce871c9932c
Reviewed-on: https://gerrit.instructure.com/3598
Reviewed-by: Brian Palmer <brianp@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-05-11 12:35:35 -06:00
Brian Palmer b657f4e959 generate an error report for all errors, not just some of them
refs #4487

This consolidates our ErrorReport class with our ErrorLogging mechanism,
it's all in ErrorReport now and you call ErrorReport.log_error or
ErrorReport.log_exception to both create an ErrorReport object, and call
the hooks similar to what ErrorLogging did so that plugins for other
error handling mechanisms can be injected.

ErrorReport has a category field now, similar to how ErrorLogging used
to take a type. the /error_reports UI can filter by category.

The plugin interface was designed with Hoptoad integration in mind, but
it should be pretty general.

Change-Id: I59f7a0d44cf4b6215ad13ff92d30e1d1af607b74
Reviewed-on: https://gerrit.instructure.com/3577
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-05-11 10:36:56 -06:00
JT Olds 1b900f660e update existing sis communication channel instead of creating new ones. fixes #4538
Change-Id: Idf6e03ee14b2f93e4393a36229305dcdb3da14e8
Reviewed-on: https://gerrit.instructure.com/3585
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-05-11 10:34:08 -06:00
Brian Palmer 4465b1fc7b create error report locally on javascript errors, refs #4487
Change-Id: I2cb09c7f7d9a5ffe9d5286da36da9ddbc999ed86
Reviewed-on: https://gerrit.instructure.com/3575
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-05-11 08:47:49 -06:00
Brian Whitmer 28f3b65c8b get rid of hard-coded app secret
Change-Id: Iaf0b0099f4511c8c14a1ccdbc28c0f0559feb3a6
Reviewed-on: https://gerrit.instructure.com/3590
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-05-10 22:51:20 -06:00
Brian Whitmer fb5fc93f9b more configuration for facebook apps
If you want to specify a domain other than the default
(say, to test on a staging server), there was no good
way to do that.  This also meant that the domain that
Facebook used for embedding iframes was non-configurable.
It's now a config setting in the plugins.

Change-Id: Ic558819087a85f1becd02ea770f16b67e7e661a5
Reviewed-on: https://gerrit.instructure.com/3583
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-05-10 20:43:07 -06:00
Brian Whitmer 8dca8a0d19 update facebook integration to oauth 2
This should allow open source installs to now set up
their own Facebook apps if desired.  The facebooker
gem is no longer required and configuration now
happens in a plugin instead of a yml file.

fixes #4509

Change-Id: Iec76dc8c31f0ad0276e992319f368826baa4ccc5
Reviewed-on: https://gerrit.instructure.com/3545
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-05-10 16:18:23 -06:00
Cody Cutrer 3b206bdeef refactor csv importer for less copy/paste
Change-Id: I7b35914c32629d503354ad6cddfaecd9bdf954fe
Reviewed-on: https://gerrit.instructure.com/3569
Reviewed-by: JT Olds <jt@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-05-10 11:19:58 -06:00
JT Olds 837b99828d enable account hierarchy modifications via the sis interface. refs #4521
Change-Id: Iea6e2abd6f2222e22ba67f2f0bfd91446d118e92
Reviewed-on: https://gerrit.instructure.com/3528
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
2011-05-10 11:00:56 -06:00
JT Olds f027bd7bc1 undelete courses that are crosslisted to. fixes #4519
Change-Id: I620b30d4af5280b735f26f61c8a39a92e34957d2
Reviewed-on: https://gerrit.instructure.com/3519
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
2011-05-10 11:00:48 -06:00
Cody Cutrer 60ae77b062 avoid saving unchanged courses, and batch updating sis_source_id
refs #3752

Change-Id: Ic65f555ad7ca501f6f7ecab4957ec7df40dfd876
Reviewed-on: https://gerrit.instructure.com/3563
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: JT Olds <jt@instructure.com>
2011-05-10 10:22:11 -06:00
Cody Cutrer 8ac765f6ff avoid saving unchanged enrollments, and batch updating sis_source_id
refs #3752

Change-Id: If282d829a0714e98c31cfccdb94ec0639c063f9b
Reviewed-on: https://gerrit.instructure.com/3566
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: JT Olds <jt@instructure.com>
2011-05-10 10:19:53 -06:00
Cody Cutrer 50173ca63f don't lookup sections by name
it is not a suitable unique identifier, as evidenced by actual data

Change-Id: Ib2b2f6d523b2ad052b4eff9a35c10a6e62d394c5
Reviewed-on: https://gerrit.instructure.com/3565
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-05-10 09:43:06 -06:00
Cody Cutrer 52fd347a6c avoid saving unchanged sections, and batch updating sis_source_id
refs #3752

also avoid an account lookup if possible

Change-Id: I8ea6b276cfdcfa86c5c70bd0051bca62737d7d77
Reviewed-on: https://gerrit.instructure.com/3564
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-05-10 09:42:59 -06:00
Cody Cutrer 768e217967 user import optimizations refs #3752
* Only save the pseudonym once
 * Avoid saving the user and pseudonym if nothing actually changed
 * Related to that, since we skipped updating sis_batch_id
   individually, we still need to do that, so do it en-masse instead.
   updated_at will *not* get updated now.

These changes make re-importing the same data 3x faster than the
original import (it used to be less then 2x as fast as the original
import).

Change-Id: Ia6ea32cdeb2f4aebe041d8a51b9efe6c89bc819c
Reviewed-on: https://gerrit.instructure.com/3558
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-05-09 15:58:43 -06:00
Cody Cutrer a7e646f79c set account object not just id to avoid later lookup in Pseudonym#validate_unique_id
refs #3752

Change-Id: Ice950e03c1b6f226bb24d7b9f23ffb0042dba3eb
Reviewed-on: https://gerrit.instructure.com/3555
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-05-09 15:54:27 -06:00
Bracken Mosbacker af08b162c3 handle submissions with no score correctly in grade calc
An assignment can have a submission but no score, if that
happened the calculator dropped those submissions for
the final_grade instead of using a score of 0

closes #4491

Change-Id: Ic49816c887aec001ecdd9d99412dc588e2c891e6
Reviewed-on: https://gerrit.instructure.com/3552
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-05-09 15:34:53 -06:00
Cody Cutrer a349d49000 update_all needs an array, not a set
Change-Id: I16c0cd8c44e21af574b8bb5b9c137e791b334688
Reviewed-on: https://gerrit.instructure.com/3551
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
2011-05-09 10:41:28 -06:00
Cody Cutrer c4ade8327d touch courses en-masse
And avoid broadcast_policy callbacks for them
(save_without_broadcasting only affects the object you call it on,
and not everything that gets automatically saved along with it).

Change-Id: Iaeff7c038bfb2516449eaa12c8b87a1256374ca5
Reviewed-on: https://gerrit.instructure.com/3533
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-05-09 10:20:50 -06:00
Cody Cutrer 7af4dfd742 strategic cache use refs #3752
* Pre-set objects we already have that get used later
 * Compare ids instead of objects to avoid loading stuff we don't
   have (and don't need)

Change-Id: Idf7b701a5ae294c973b3c058dfa4d4f4d0b752bc
Reviewed-on: https://gerrit.instructure.com/3527
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-05-09 10:20:44 -06:00
Cody Cutrer 799c7f0164 update course account associations synchronously during import
Change-Id: I6c27bf7964987a27e7e019556e35b683987d90ed
Reviewed-on: https://gerrit.instructure.com/3521
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
2011-05-09 10:20:38 -06:00
Zach Wily 8722989dfd specify the protocol for a media object redirect
It looks like, at least in this case, redirect doesn't work with a
protocol-relative URL. (The current site's domain was getting prepended.)

Change-Id: If49f93fa3a80456387380e11583a25a0d695ef94
Reviewed-on: https://gerrit.instructure.com/3548
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-05-08 21:21:24 -06:00
Zach Wily 76357e1659 use protocol-relative link when redirecting to kaltura media file
Change-Id: Iab0f8766925515f3e74ab641c83966dbc92462bc
Reviewed-on: https://gerrit.instructure.com/3547
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-05-08 14:50:39 -06:00
Zach Wily 5a895d66c6 Merge branch 'dev/ssl'
Conflicts:
	app/controllers/files_controller.rb
	app/controllers/users_controller.rb
	app/views/files/show.html.erb
	config/environments/development.rb
	lib/kaltura/kaltura_client_v3.rb
	public/javascripts/full_files.js
	public/javascripts/instructure.js
	public/javascripts/media_comments.js
	public/javascripts/speed_grader.js
	public/javascripts/tool_inline.js
	vendor/plugins/ssl_requirement/lib/ssl_requirement.rb

Change-Id: I987cc015d43cffd4b6738030d893a27de7c434ba
2011-05-07 08:03:22 -06:00
Cody Cutrer 7505e1d303 avoid force-reloading data from the database if possible
refs #3752

Change-Id: I7eb25aafd59ff1c785de2f318117336827e776cc
Reviewed-on: https://gerrit.instructure.com/3516
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-05-06 14:01:56 -06:00
JT Olds 128fc92e32 give plugins a way to inject alternate grade export formats
Change-Id: Icd4ddc52cc3190ba28fb1d93821642ef2b119a3c
Reviewed-on: https://gerrit.instructure.com/3323
Reviewed-by: JT Olds <jt@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-05-06 09:44:51 -06:00
JT Olds 9ab40ec477 course start and end dates. refs #4398
Change-Id: I1fe062fe1b54a8e387822e636e3c7ed3ece49c9c
Reviewed-on: https://gerrit.instructure.com/3494
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-05-06 09:37:33 -06:00
Brian Palmer b53c8cae29 Attachment#open method
Refactor to use it in places where it makes sense. This eliminates all
the places where were were calling File.read or otherwise reading into
memory potentially large files just to write them back out.

Change-Id: I679ce9979933140340b30cc043540ca3f834097e
Reviewed-on: https://gerrit.instructure.com/3324
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
2011-05-05 08:09:25 -06:00
Cody Cutrer 8f4e0687cf use named scope to avoid postgres warning
Change-Id: I9ef84d815ddf059ae0244977af250eb39d1b6c85
Reviewed-on: https://gerrit.instructure.com/3486
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
2011-05-04 16:59:24 -06:00
Brian Palmer 1131f32899 provide anonymous_submissions flag in assignments api, closes #4392
Change-Id: I2ca239fc7bea827141270c2ced4f48bc888638ae
Reviewed-on: https://gerrit.instructure.com/3480
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-05-04 13:25:22 -06:00
Brian Palmer 6260f57d61 set kaltura default max file size to 500mb
Change-Id: I15e632b386db3354a09f41480f8f196d81fd9d2f
Reviewed-on: https://gerrit.instructure.com/3466
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-05-03 16:25:34 -06:00
Zach Wily 7beaf4d764 fix update_account_associations job getting created for every imported user
Change-Id: Ia7dc8ca3912510114d88035e264e59ebb54fe086
Reviewed-on: https://gerrit.instructure.com/3446
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-05-03 14:26:18 -06:00
Zach Wily 5cf114b51e make plugins version display consistent
Change-Id: I5baf09e61d8b8f3a9ffb5cf1f7ceda741928491b
Reviewed-on: https://gerrit.instructure.com/3443
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-05-03 14:16:50 -06:00
JT Olds ceb3fa0c49 fix licensing on workflow library
Change-Id: I4c02f0a323a005947eb8bb046e171af8855937c4
Reviewed-on: https://gerrit.instructure.com/3436
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-05-03 12:25:21 -06:00
Jon Jensen 6d226272df cast columns in dynamic finders, warn on all-nil argument lists
in production mode we now cast to the appropriate type and issue a warning
if it can't be cleanly cast (e.g. '' -> 0). if all arguments are nil (or
empty arrays, e.g. find_by_id([])) and we aren't in a scope, issue a
warning (sometimes we really do want nil when we're in a scope, e.g. line
216 of app/models/folder/rb).

in development/test mode, we now raise errors in the two warning scenarios
above (though that is configurable).

fixed several places in the code where specs failed due to the change, or
where inputs to dynamic finders looked problematic

Change-Id: Ifea851cb14d3e89b6df08ade8e83934579678f8b
Reviewed-on: https://gerrit.instructure.com/3434
Reviewed-by: Zach Wily <zach@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-05-03 11:06:04 -06:00
JT Olds 03fae4c7dd banner does *not* have email addresses we can deterministically figure out for every user
Change-Id: If114f99f577affcc8f33ab743be45479f537cc52
Reviewed-on: https://gerrit.instructure.com/3376
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-04-29 14:39:24 -06:00
Brian Palmer dac5bdf0ce handle repeated qti imports of the same filename better, closes #4411
Change-Id: I61d67d5005b9073e5c937611014f0929e45562d1
Reviewed-on: https://gerrit.instructure.com/3367
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-04-29 12:33:31 -06:00
JT Olds 4c6c9056d1 be more paranoid when looking up users for sis
Change-Id: I4129ba2d687ba8d9cb6cdb363711635a6e443955
Reviewed-on: https://gerrit.instructure.com/3353
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-04-29 09:49:01 -06:00
Brian Palmer 276a906ee2 handle bulk media upload failures on import more gracefully, refs #4395
Change-Id: I0e5723879bcda114f6ad7cc34ee4ca1104136b97
Reviewed-on: https://gerrit.instructure.com/3333
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-04-29 09:31:36 -06:00
Bracken Mosbacker aae2b5f5f8 don't try to parse non-existent files
closes #4404

Change-Id: I53c4a64573499a723a3d149211f49728c1c75a00
Reviewed-on: https://gerrit.instructure.com/3355
Reviewed-by: Zach Wily <zach@instructure.com>
Reviewed-by: JT Olds <jt@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-04-29 08:53:23 -06:00
Brian Whitmer 43dcad71e0 send canvas ids with basic lti for "public" integrations
fixes #4369

Change-Id: I859a852ed0b585c90cffce3c9a30e39ece2b89e2
Reviewed-on: https://gerrit.instructure.com/3256
Reviewed-by: Brian Palmer <brianp@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Selenium <selenium@instructure.com>
Tested-by: Brian Whitmer <brian@instructure.com>
2011-04-28 19:52:31 -06:00
Brian Palmer 186fd8486b only export media objects that are used in RTE fields by the export
closes #4388

Change-Id: I24ae7f6dc0fef5c552c7eab43c76533a164b57f9
Reviewed-on: https://gerrit.instructure.com/3312
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-04-28 07:52:20 -06:00
Brian Palmer b710eefa4b don't load the import zip into memory during import initialization
Change-Id: I5995115045f325e3185a2d9fcdd37043f032636d
Reviewed-on: https://gerrit.instructure.com/3325
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-04-27 19:36:20 -06:00
Cody Cutrer d5c439b0c2 grade publishing results importer
Change-Id: I5279b8dadc9084858099b4b55aaf2dc8ef632a9a
Reviewed-on: https://gerrit.instructure.com/3134
Reviewed-by: JT Olds <jt@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-04-27 16:45:49 -06:00
JT Olds 4457002281 sis grade publishing backend
Change-Id: I7338cae9275320aa6900758df22a3a8ac6a3718d
Reviewed-on: https://gerrit.instructure.com/3108
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
2011-04-27 16:23:00 -06:00
Zach Wily 20092fb2c9 fix more find_by_id cases where we could pass in an empty string
Change-Id: I6bd72dd78f739edac6377f863f298fa14283be38
Reviewed-on: https://gerrit.instructure.com/3299
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-04-27 10:45:09 -06:00
Brian Palmer 23e71e669a remove attachments created on import soley for media object import
closes #4382

Change-Id: I1b79ac0ad1043450b7c5ade09f8509b76c9bdc85
Reviewed-on: https://gerrit.instructure.com/3298
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
Tested-by: Brian Palmer <brianp@instructure.com>
2011-04-27 10:33:35 -06:00
Bracken Mosbacker 0944035cd7 use the unencoded filename for content zipper and exporting
closes #4381

Change-Id: I6165e3758fae7b26221a1123f39be551743de797
Reviewed-on: https://gerrit.instructure.com/3295
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-27 07:36:22 -06:00
Bracken Mosbacker 33a59edcf9 updated the xsd for calendar events and files/folders
refs #4373 #4378

Change-Id: I389a1c0e86be90d0409e00a7be3f304cb95a547a
Reviewed-on: https://gerrit.instructure.com/3283
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Bracken Mosbacker <bracken@instructure.com>
2011-04-26 14:55:20 -06:00
Bracken Mosbacker 961657a763 add calendar events to export/import
closes #4373

Change-Id: Ia7a771321da0542e393df64578d568d0111a08a3
Reviewed-on: https://gerrit.instructure.com/3282
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-04-26 12:28:31 -06:00
Brian Palmer 4a869c60d9 set max_attempts to 1 for import/export jobs, closes #4311
Change-Id: Ia671ac818bc2d2b0f2d14ea0ab934bbc3e9024c8
Reviewed-on: https://gerrit.instructure.com/3275
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-04-26 12:11:02 -06:00
Brian Palmer 63bd7380e6 fix time settings imported from respondus client
Change-Id: Iee6d44ae7bfad2b638735e6d232f0fa56f8f57ea
Reviewed-on: https://gerrit.instructure.com/3269
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-04-26 09:35:10 -06:00
Zach Wily 520de78d75 handle migrating file display names if they are different; fixes #4378
This refactors the file metadata a little bit to be more extensible.

Change-Id: Ia686ea0f5bdf552742d5b250a5d0baa9f9ebe5ec
Reviewed-on: https://gerrit.instructure.com/3268
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
2011-04-26 09:04:28 -06:00
Bracken Mosbacker d8a300ebeb make sure quizzes with multiple <p> get imported correctly
closes #4376

Change-Id: If1670c4373e2f03439232dbc55d56ce8a1efe732
Reviewed-on: https://gerrit.instructure.com/3267
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-04-26 08:15:34 -06:00
Brian Palmer 9de2e9b9f1 export quiz question names, closes #4374
Change-Id: I8b019dd2a92b9c270be6ca820d79cb81fa8fdef8
Reviewed-on: https://gerrit.instructure.com/3263
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-04-25 23:25:12 -06:00
Brian Palmer 0ce2a5cc0a read cc syllabus on import as html, not xml, fixes #4371
Change-Id: Ic01c11018cc919d0e814347e99284c3cca02b040
Reviewed-on: https://gerrit.instructure.com/3262
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-04-25 22:54:15 -06:00
Bracken Mosbacker 40eba041a9 export all files with filename instead of display name
module content tags will rename a file if there is a
title set

closes #4343

Change-Id: I4e90921b8dab62b452f599135d683515bd342ba1
Reviewed-on: https://gerrit.instructure.com/3260
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-04-25 21:02:03 -06:00
Bracken Mosbacker 894f6c4aa5 copy file/folder lock status on export/import
closes #4345

Change-Id: I564d7b3be40789a9178a0ac0f192d528c2655f3e
Reviewed-on: https://gerrit.instructure.com/3259
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-04-25 21:00:13 -06:00
Cody Cutrer 98e68f9e4b export/import modules links. closes #4313
Change-Id: Ib4d789cf69a8492de958e2e2b68a3c85bf2fe8b5
Reviewed-on: https://gerrit.instructure.com/3254
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-04-25 16:21:47 -06:00
Brian Palmer d104ac86fa fix import filenames that have been escaped going through nokogiri, refs #4321
Change-Id: I9468482db75d628e9b3e75cbd307d83f990adcfb
Reviewed-on: https://gerrit.instructure.com/3250
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-04-25 15:50:31 -06:00
Brian Palmer f5c9ce98eb preserve extra file url params across import/export, closes #4321
Change-Id: Iab044664bc62a60dea26f7e65328e744e63e57a8
Reviewed-on: https://gerrit.instructure.com/3247
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
2011-04-25 12:50:21 -06:00
Bracken Mosbacker 206aed825e allow import/export without kaltura configured
closes #4357

Change-Id: If1f7df936fbd012fcd26c0509b3b3f37188ca6f6
Reviewed-on: https://gerrit.instructure.com/3242
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-04-25 08:37:36 -06:00
Bracken Mosbacker 4e47be2c15 allow old quizzes to import unpublished
old quizzes will have an assignment even if they're
not published, this caused them to be published when
imported. This adds the available flag to know whether
the quiz is supposed to be published.

Also added another respondus column to the quiz export

closes #4351
closes #4347

Change-Id: Ic1f42f91dbee422a71e18fd9e627e303eb6ee27c
Reviewed-on: https://gerrit.instructure.com/3238
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-04-25 08:37:32 -06:00
Bracken Mosbacker 31374465fe export/import question banks
refs #3396

Change-Id: I4199264bf07e145be2b3949bc4a56a37cda715b7
Reviewed-on: https://gerrit.instructure.com/3223
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-04-25 07:29:12 -06:00
Zach Wily 8b6b9123a0 fix importing external url module items; fixes #4330
Module items that were tied to tableless class were getting the same
identifier, causing them to stomp on each other.

Change-Id: I577c7d3dbb86af7fb853b9548286841b7f001d03
Reviewed-on: https://gerrit.instructure.com/3236
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
2011-04-25 07:27:20 -06:00
Brian Palmer 516d3a4495 export/import kaltura media content with cc exports/imports, closes #4256
Change-Id: I4d92cdedd2e304709886713977d91e33b162d232
Reviewed-on: https://gerrit.instructure.com/3232
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-04-23 23:51:01 -06:00
Zach Wily 6ae6488301 fix downloading S3 files in content zipper
Change-Id: Ia5b2eb5c5f645e5b527022631fbb2b1e7010b149
Reviewed-on: https://gerrit.instructure.com/3231
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Zach Wily <zach@instructure.com>
2011-04-23 17:20:02 -06:00
Jon Jensen 48346a56cc basic wimba archiving support, closes #4263
added generic user_setting fu to conference classes so we can expose
conference-type-specific settings in the canvas ui

Change-Id: I37a30ad3643d358be1458f59da488f34f680bb8b
Reviewed-on: https://gerrit.instructure.com/3140
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-04-23 10:56:35 -06:00
Bracken Mosbacker 6b46bf6c6d import canvas cartridge qti
refs #3396

Change-Id: If9d1732f01c9243dda25741cbed20a919631f19e
Reviewed-on: https://gerrit.instructure.com/3218
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-04-23 10:49:06 -06:00
Zach Wily cfc40c4aa2 don't use URI.parse for S3 file downloading; fixes #4336
We have some underlying escaping issues that need fixing - this works around
the problem until we can fix them.

Change-Id: I867da68440a1625fb85174739e254b4a47771bde
Reviewed-on: https://gerrit.instructure.com/3226
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-04-22 23:51:18 -06:00
Zach Wily 7a482e0244 anchor link searches on exports so we link correctly; fixes #4337
Change-Id: Ibe28dbee1ab4cd21adc3d5bbf046ee31cd7517ea
Reviewed-on: https://gerrit.instructure.com/3215
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
2011-04-22 23:34:11 -06:00
Zach Wily 6eec8d43d3 correctly handle /file_contents/ urls when exporting; fixed #4335
Change-Id: I6ce3f0f2c67ea29b33a7371b30087cc98a3ea2c2
Reviewed-on: https://gerrit.instructure.com/3214
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
2011-04-22 23:34:03 -06:00
Zach Wily 2f3756fc37 optimize account association setup when saving enrollments
First of all, be smarter about when we do it - it's only necessary on new
records or when something in the enrollment changes that could affect account
associations.

Second, during SIS import, gather up each user that will actually need their
associations updated and do it at the end. Normally a user will get several
enrollments during a SIS update and this can reduce the amount of work we do
by a lot.

Change-Id: I2f095dd9e7e148229e52e6b5e8b6624dfe389c31
Reviewed-on: https://gerrit.instructure.com/3200
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-04-22 08:40:57 -06:00
Zach Wily 06e89cdb6e do default notification policy setup synchronously during SIS import
Change-Id: Ic619952b079d0774bb78fdd8cbb3b930b83bce28
Reviewed-on: https://gerrit.instructure.com/3199
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-22 08:23:51 -06:00
Zach Wily 3911ab3cd3 update account associations while creating users
Change-Id: Ie7eda5d1f27da0ee9da8b723ac151a63e97288c9
Reviewed-on: https://gerrit.instructure.com/3198
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-04-22 08:23:37 -06:00
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