Commit Graph

402 Commits

Author SHA1 Message Date
Jon Jensen f544db6bc1 translation checker/extractor for rb/erb files
Change-Id: I019f701758d35d630bf39141bb283911cc483aa5
Reviewed-on: https://gerrit.instructure.com/4237
Reviewed-by: Zach Wily <zach@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-06-17 10:30:02 -06:00
Zach Wily 790f951135 wiki pages i18n
Change-Id: I71474f36823d1a2e641ab9abea0e5973edae77dc
Reviewed-on: https://gerrit.instructure.com/4146
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
2011-06-17 09:32:36 -06:00
Brian Palmer a7f520ad87 treat html_safe as a "superset" of markdown_safe
You can't have a string that's both markdown_safe and html_safe, so
without this change you can't have a substitution with html in it.

Change-Id: I0f121c5dbfffd1035f937977d2bdb0851a66c320
Reviewed-on: https://gerrit.instructure.com/4251
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
2011-06-16 16:15:29 -06:00
Cody Cutrer 6d7a5abbcf i18n collaborations
Change-Id: Id300f665039f13f27f4300da7ba75753367fdbf6
Reviewed-on: https://gerrit.instructure.com/4243
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
2011-06-16 15:02:30 -06:00
Brian Palmer 46d5349155 fix send_to_inbox for submission comments, closes #4898
Change-Id: I46fa01a07074e2e1719b526c09a56a736404c565
Reviewed-on: https://gerrit.instructure.com/4248
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-06-16 13:20:30 -06:00
Brian Palmer 8a879e63e0 html escape the translated string in mt, rather than use RDiscount html stripping
this lets us use wrappers and stuff with markdown

Change-Id: Ia0f778df30ca17d3b734f0ec52b295d237e6517e
Reviewed-on: https://gerrit.instructure.com/4231
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-06-16 09:01:19 -06:00
JT Olds 5cd6d3b679 make non-sis crosslisting sticky
if a user crosslists via the ui, we don't want the SIS to blow away those
changes. fixes #4840, refs #4815

Change-Id: Ia3f844b3a33d9c9a6e9433dc79ce74e433f1f389
Reviewed-on: https://gerrit.instructure.com/4162
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-06-16 08:42:46 -06:00
JT Olds 4bbeacce99 set enrollment restriction to course/section dates when provided
closes #4832

Change-Id: I204a00863d7c85c1e4c8489d1dc367e99bcffde6
Reviewed-on: https://gerrit.instructure.com/4156
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-06-16 08:42:36 -06:00
JT Olds c567ff64fe support running specs in parallel
Change-Id: I521adc994f5f2bd58099a89315468111435dbbf8
Reviewed-on: https://gerrit.instructure.com/4218
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-06-15 15:18:42 -06:00
Brian Palmer 1e635d0133 fix syntax errors in twitter_user_poller
Change-Id: I5a71c81125eb51e9deb89e8f46e7f098b30f19f1
Reviewed-on: https://gerrit.instructure.com/4213
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
2011-06-15 10:43:57 -06:00
Brian Whitmer 2c5c268982 add twitter to notification preferences
Twitter recently stopped offering whitelist
exceptions for things like direct messaging.  We are
trying to work around the limitations by having
a user direct message themselves instead of having
some global account user that direct messages everyone.

Also added a "short_host" method for HostUrl that
in the future we can use to generate short-ish links
to include in tweets.  For now the links are somewhat
short, at least.

refs #4045

Change-Id: Iad59b979b166d572827a8ce16d3f9fcdd57d512d
Reviewed-on: https://gerrit.instructure.com/2938
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
2011-06-14 11:57:48 -06:00
JT Olds bc7a9050f1 make sure users and pseudonyms get added together
Change-Id: I912f39f09a6b59daea9ac04f158a0e94279159dc
Reviewed-on: https://gerrit.instructure.com/4183
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
2011-06-14 10:46:54 -06:00
Bracken Mosbacker 4765647d2a fix course exports that are using s3
Files aren't actually written to a zipfile until
it is closed, so the tempfiles used for s3 files
were already gone by the time the zipfile was
closed

closed #4825

Change-Id: Ic0e97def6e54b80036e7c056eff64479bbb1e8f6
Reviewed-on: https://gerrit.instructure.com/4179
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Bracken Mosbacker <bracken@instructure.com>
2011-06-13 16:19:04 -06:00
JT Olds 23d215c460 don't call TimeWithZone directly
rails docs discourage the use of ActiveSupport::TimeWithZone.new

Change-Id: I6310ea3a5d29fd1dabd9f0be7a3385564cf011d3
Reviewed-on: https://gerrit.instructure.com/4126
Reviewed-by: JT Olds <jt@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-06-09 10:46:12 -06:00
Brian Palmer d2dedbeb9a extract strings for ContextController
Change-Id: I1f9fff665c8d3a8a653dc3b602f40f292795f3f1
Reviewed-on: https://gerrit.instructure.com/4122
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-06-09 09:35:57 -06:00
Brian Palmer 08a497a3d1 extract strings for ContentMigration
Change-Id: I9a97bf1ed43b2b1660ef31b11ee5e4ba13411bee
Reviewed-on: https://gerrit.instructure.com/4119
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
2011-06-09 09:34:50 -06:00
Brian Palmer 2425788f9e support local storage in turnitin api, fixes #4796
Change-Id: Iff69e6c703a5bec41bb13d479fc91bf37df96fcf
Reviewed-on: https://gerrit.instructure.com/4109
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-06-09 09:19:44 -06:00
Cody Cutrer 144e78c98b make sure delegated auth gets a stab at first-login. fixes #4773
URLs that might not require a user were using
render_unauthorized_action, which just rendered the login partial,
rather than redirecting to login_url.  This meant that delegated auth
logic in PseudoSessionsController#new was getting skipped.  So for
render_unauthorized_action in the specific case that there is no user,
call a method to kick of delegated auth, if necessary.

Also fix a problem that session[:return_to] was getting wiped for
delegated auth, so you'd end up at the dashboard, rather than where
you wanted to go.

Change-Id: I42c24e31ca58cccc33d349bcb451defd3aaa5c9c
Reviewed-on: https://gerrit.instructure.com/3993
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-06-08 14:13:39 -06:00
Jon Jensen 58a25bd462 preliminary i18n setup, closes #4124
* i18n key scoping for controller/model/js/etc.
 * inline English translation support
 * rdiscount gem for markdown'ed translations
 * html_safe interpolation tweaks
 * label helpers
 * crummy tweak to translate symbol keys
 * internationalized most of lib, and some plugins/messages
 * conference i18n (view/model/controller/js)

Change-Id: I42772b9e19a110efbe855dc83a681be49ec98df2
Reviewed-on: https://gerrit.instructure.com/4080
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-06-06 14:19:03 -06:00
Brian Palmer 1be74ff4c6 return user sis ids for account admins as well as site admins, refs #4644
Change-Id: Ic0ee329e3d3b280ce3f61fe3bca9eb3ec7e308a8
Reviewed-on: https://gerrit.instructure.com/4082
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-06-06 09:37:48 -06:00
Zach Wily f448077b8e fix syslog initializer
Change-Id: I20f15d683b4ee3bc01929ac525e9559b473fedc4
Reviewed-on: https://gerrit.instructure.com/4079
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-06-04 15:23:50 -06:00
JT Olds bbc9d1f25a don't use cattr_accessor in syslog_wrapper
Change-Id: Ia89c331bba335c293bd3387e1c8a35ebf81f7be8
Reviewed-on: https://gerrit.instructure.com/4076
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-06-03 17:26:22 -06:00
JT Olds e2b3268839 adding silencer to syslog_wrapper
Change-Id: I7ae00d0159e415f3a7cb463c3058119e5b10d1ff
Reviewed-on: https://gerrit.instructure.com/4071
Reviewed-by: Brian Palmer <brianp@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-06-03 16:18:12 -06:00
Brian Palmer d17dfcd883 add groups/group_memberships to sis csv import, closes #4247
Change-Id: I49fd646c8f4ce9c5d3fa8f9b1a7ba2e0a6d84e9d
Reviewed-on: https://gerrit.instructure.com/4034
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: JT Olds <jt@instructure.com>
2011-06-03 15:17:08 -06:00
JT Olds d0e697429e optionally log to syslog
Change-Id: I12e9be279026d58b80c241dcf9d4f598e917c63c
Reviewed-on: https://gerrit.instructure.com/3992
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-06-02 16:35:47 -06:00
Brian Palmer 0fbc37226c counts report error when new external status is added, fixes #4730
also limit the job to one attempt

Change-Id: I65bad8ae6e7aa79e4916d4f5f03ef67d2dc683de
Reviewed-on: https://gerrit.instructure.com/3980
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
2011-06-02 09:29:01 -06:00
Brian Palmer 50c4687c84 oauth 2 requests via access tokens
Added support for oauth 2 API requests.  HTTP Basic
only works for Canvas-auth and LDAP accounts, but
oauth 2 will also work with SSO accounts.  Also added
ability for users to create access tokens from the
profile page.

Change-Id: I13581b4e77bfa77bf11dbb732900012dd1e50ede
Reviewed-on: https://gerrit.instructure.com/3775
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-06-02 09:15:11 -06:00
Brian Whitmer 053481b560 moving tinychat config to /plugins; refs #4194
Change-Id: I24d6cb95ccfedc38dcfb7e9ce75c4fc65787ac5b
Reviewed-on: https://gerrit.instructure.com/3818
Tested-by: Hudson <hudson@instructure.com>
Tested-by: Selenium <selenium@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-06-01 22:04:26 -06:00
Brian Whitmer 923690f741 moving scribd config to /plugins; refs #4194
Change-Id: I6e6aa1db00e5b6af66663203745cd2feba5e33c2
Reviewed-on: https://gerrit.instructure.com/3817
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Selenium <selenium@instructure.com>
2011-06-01 22:04:14 -06:00
Brian Whitmer 01eb970407 moving linked in config to /plugins; refs #4194
Change-Id: I258d88512567cbb539bf936f795caabcc6cb5097
Reviewed-on: https://gerrit.instructure.com/3816
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
Tested-by: Selenium <selenium@instructure.com>
2011-06-01 22:04:06 -06:00
Brian Whitmer 3623ead12c moving etherpad config to /plugins; refs #4194
Change-Id: Ib4e1dfc9fc7673e68a3b729c082862040a2515c5
Reviewed-on: https://gerrit.instructure.com/3814
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-06-01 22:03:52 -06:00
Brian Whitmer cc3bd9ac28 moving google docs config to /plugins; refs #4194
Change-Id: I474cef680f93f9802856fbce21a3b2974d424a16
Reviewed-on: https://gerrit.instructure.com/3815
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-06-01 21:54:02 -06:00
Brian Whitmer 329dae5b39 moving twitter config to /plugins; refs #4194
Change-Id: Ia1ecf4209f03abd389a4abbf1258cfae76e6e033
Reviewed-on: https://gerrit.instructure.com/3813
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-06-01 11:00:31 -06:00
Brian Palmer 8564b1db63 optionally track completed job stats in redis
Right now this is just a data dump, pretty much.

Change-Id: I401cef17e2129556d99ca0a6547ae52712915650
Reviewed-on: https://gerrit.instructure.com/3970
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-06-01 10:58:37 -06:00
Bracken Mosbacker e7ed1c366b replace relative paths in qti from other systems
This fixes another relative url format for another system
where the migration_id of the file is referenced instead
of a relative path to the file

closes #4605

Change-Id: I08852c2bb207a7065c854e1a120fb9ba52c7c7c8
Reviewed-on: https://gerrit.instructure.com/3867
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
2011-06-01 09:24:03 -06:00
JT Olds c63bd9c558 keep crosslisted course data up-to-date via sis imports for original course
Change-Id: Ibfbc5a22c8778bd5188505812f3f5abbdd807578
Reviewed-on: https://gerrit.instructure.com/3652
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Whitmer <brian@instructure.com>
2011-05-31 13:03:05 -06:00
JT Olds 654bf600cf update course account associations on section save
Change-Id: I97f88e43c489691ab5f63a28e4d0695f6c8096b6
Reviewed-on: https://gerrit.instructure.com/3673
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
2011-05-31 13:02:54 -06:00
Zach Wily 23360636f5 add confirmation to become_user_id operations; fixes #4689
Now when adding ?become_user_id=XXXX to a URL, the admin will be redirected to
a page where they confirm that they want to masquerade as that user. This is
to prevent people from being able to change who an admin is logged in as with
simple img links.

It also adds a "Stop Masquerading" link to the identity bar.

Thanks to Patrick Michaud for pointing this out. Fixed gh issue 22.

Change-Id: I196f9f1412022de371da7a8f4670bcd4a1c35653
Reviewed-on: https://gerrit.instructure.com/3904
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
2011-05-27 14:31:46 -06:00
JT Olds 38f221a2d4 enrollment importer fix
Change-Id: I044c8c659f6bf546c9834bb939a79c58b81ae6e8
Reviewed-on: https://gerrit.instructure.com/3896
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
2011-05-26 16:48:25 -06:00
Bracken Mosbacker 5f5539caf6 update content zipper to use attachment#open
closes #4355

Change-Id: I8fe18d52c91c33f96c9e55d34a02b5461263f1ac
Reviewed-on: https://gerrit.instructure.com/3877
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
2011-05-26 10:03:57 -06:00
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