Commit Graph

1823 Commits

Author SHA1 Message Date
Cody Cutrer 7f013973c3 reconnect redis on forking for switchman
fixes CNVS-15308

test plan:
 * have multiple shards
 * in console:
   Rails.cache.write('a', 'b')
   Shard.with_each_shard(parallel: 2) { Shard.default.activate { puts Rails.cache.fetch('a') } }
 * you should see a bunch of b's (one per shard), and no errors

Change-Id: I5ad7b3ae7d6c03005d229f04cf5bc2ee1e51b948
Reviewed-on: https://gerrit.instructure.com/40832
QA-Review: August Thornton <august@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2014-09-10 18:17:02 +00:00
Cody Cutrer c7de1b5d4e pass filename to eval
so stacktraces stay sane

Change-Id: I7735de50280d513d5c2e94a3b06788c9261a2960
Reviewed-on: https://gerrit.instructure.com/40785
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2014-09-10 15:40:12 +00:00
Transifreq 62ffcac4f9 Updated fa-IR translation
Change-Id: Ic5d1744bb91d180118c99cf3020a9c36d255db98
2014-09-09 06:04:54 -06:00
Transifreq 4a91f65d44 Updated tr translation
Change-Id: I0de7db5235cd932dfeece7af2ea78497e8bec00f
2014-09-09 06:01:12 -06:00
Transifreq d8885be104 Updated en-AU translation
Change-Id: Ie9630cb95d58739ae1a72345b068055351daebb3
2014-09-09 05:57:30 -06:00
Transifreq e505a73324 Updated en-GB translation
Change-Id: Ie6358112ff7fa53a16c30860f51c1d6981972b7b
2014-09-09 05:53:52 -06:00
Transifreq 324faa9ba0 Updated ko translation
Change-Id: I75a099422e67e626fe97d2980a7bca5ab8610eef
2014-09-09 05:50:14 -06:00
Transifreq b465434727 Updated nb translation
Change-Id: I0577c00ed76dfba005bddbf358be49d2c25ca3d3
2014-09-09 05:46:35 -06:00
Transifreq bbc3b71ded Updated nl translation
Change-Id: I09365acf46394fd42afcabe2b2a355c8f3f5d2af
2014-09-09 05:42:55 -06:00
Transifreq a0c5734efb Updated ja translation
Change-Id: I6e78ff0a93d8f718b532c4374eb7ac47fc558164
2014-09-09 05:39:17 -06:00
Transifreq 6ec4ee1015 Updated pt-BR translation
Change-Id: I339c59e01a30ceff42b982f384ba75a8720e28f5
2014-09-09 05:35:35 -06:00
Transifreq 99b08a95d5 Updated pt translation
Change-Id: I1bd70da97b6376b526719b500eb8021d145affb4
2014-09-09 05:31:53 -06:00
Transifreq 4b296ba8a8 Updated ar translation
Change-Id: Iae6b8ffb7d7238e84485c77b5afae0d5f6d9ef0a
2014-09-09 05:28:13 -06:00
Transifreq 4cd13c0190 Updated zh translation
Change-Id: Ifc0e4ba6a86edc1a293a506949c0eeb29ff900ff
2014-09-09 05:24:34 -06:00
Transifreq 7fab131936 Updated pl translation
Change-Id: I7c8aa3ba1aa8510493da1d84a3e75711ff6c3fb8
2014-09-09 05:20:52 -06:00
Transifreq 0bfcfc1635 Updated fr translation
Change-Id: I02c67a56dd50c880e4813f6df7ee31fea00845ae
2014-09-09 05:17:14 -06:00
Transifreq 611911cd01 Updated ru translation
Change-Id: I1fa3916dec52d8e2e95c0580638e5c3c7b9a1047
2014-09-09 05:13:37 -06:00
Transifreq 4bcf3160c6 Updated de translation
Change-Id: I22cbbf7c6fee0bca7dba3f6584da8149ec4a2e1c
2014-09-09 05:10:00 -06:00
Transifreq 51893be1c6 Updated es translation
Change-Id: Ic8301c484cb63827abd5e368766e4ad46f40621c
2014-09-09 05:06:19 -06:00
Brian Palmer 7b2523fca1 fix double requiring of application.rb
This happens when script/rails is executed via a symlinked canvas
directory

Change-Id: I64fc408244ead13c3c78580c3b3e72102445df34
Reviewed-on: https://gerrit.instructure.com/40740
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2014-09-09 00:42:50 +00:00
Nick Cloward e143c2bc8f initialize rack-mini-profiler for rails3
fixes: CNVS-15198

Test Plan:

  - Make sure you have Application Profiling permission.
  - Add ?pp=enable to the end of the url.
  - A profiler output will apear in the top left corner of the screen
    showing that it ran for the request.
  - Add ?pp=disable to the end of the url.
  - The profiler output button should be gone.

Change-Id: I6fa2dee3affa388d07c6eccf05c26c0747ddcd79
Reviewed-on: https://gerrit.instructure.com/40312
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Nick Cloward <ncloward@instructure.com>
2014-09-08 21:27:46 +00:00
Nathan Mills 63945c4d35 add tool setting service
fixes PLAT-608 PLAT-613 PLAT-615 PLAT-616 PLAT-620

test-plan
*spec should pass

Change-Id: Idf2a7d89973231a070a8d368bd60554e3501cdf6
Reviewed-on: https://gerrit.instructure.com/40227
Reviewed-by: Brad Humphrey <brad@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
QA-Review: Nathan Mills <nathanm@instructure.com>
2014-09-08 16:58:00 +00:00
Ethan Vizitei 537d9ff033 Make substring searches for courses more performant
fixes #CNVS-12711

Using three seperate trigram searches
when looking for courses by a name match
is taking more time than we'd like.
This builds an index for all 3 relevant
columns together and reworks the scope
that references them to build a search
clause that takes advantage of that index.

TEST PLAN:
 - no behavior changes, just performance improvements
 - regression test /users/x/manageable_courses api
     endpoint with a name parameter as that's what
     makes the primary use of this query.

Change-Id: Ia645da66f0df1a4cec9298f7fa941fa51de815f4
Reviewed-on: https://gerrit.instructure.com/40507
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
2014-09-05 21:21:00 +00:00
Ryan Taylor 3b267b559b Course Quiz Extension: A course level quiz extension API
ProServe wants an API endpoint for their LTI which allows for editing of all quizzes
contained in a course similar to that provided by the Quiz Extensions
API endpoint.  This provides the ability to edit all quizzes at the
course level with the same type of parameters.

Closes: CNVS-14950

Test Plan:
  - Access /api/v1/courses/:course_id/quiz_extensions with POST
  - Pass quiz extensions parameters
  - Confirm that all quizzes are edited with the appropriate parameters

Change-Id: Ifca1a4937ab356665627ef3f0aa829aeeaddedc7
Reviewed-on: https://gerrit.instructure.com/40331
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Ryan Taylor <rtaylor@instructure.com>
2014-09-05 16:26:07 +00:00
Ahmad Amireh 1c03e40aae quiz index optimizations
Closes CNVS-15109, CNVS-15173

CHANGES
-------

  - "auto-grading" of due submissions that was previously done
    synchronously in the index action is now done in a DJ
  - when viewing the index page, you don't get to see due/available
    dates on load, instead the dates are fetched on the client-side and
    load progressively
  - new API endpoint for retrieving assignment overrides for a bunch of
    quizzes at [GET] /courses/:course_id/quizzes/assignment_overrides
  - we now cache the user's quiz permissions
  - Canvas AMS API serializer now accepts a new option, see docs
  - QuizSerializer behavior changed radically:
    - "takeable", "submitted_students", "unsubmitted_students"  disabled
    - all associations disabled including the submission, assignment
      group, and any student participants
    - it can now utilize preloaded permissions

Rationale behind disabling things in the serializer is that these were
exclusive for the "show" action, so the next step forwards is to
allow the serializer to recognize different "modes" for output (e.g, for
index and one for show) and tailor the associations/fields accordingly.
Using "#filter" right now isn't cutting it, because assocs get loaded
anyway.

REFACTORING
-----------

  - broke down index into three actions for visibility:
    1. default, Draft-State version
    2. legacy non-DS version that's not reachable in the UI, kept around
       until we upgrade the tests
    3. ember version
  - legacy non-DS ERB code goes into its own file
  - moved code that used to grade due submissions inside index to
    SubmissionGrader in preparation to remove it from there entirely
  - cleaned up internal docs for the Canvas AMS api serializer

TEST PLAN
---- ----

  - create ~30 quizzes
    + make one of them have many questions
    + make a good number of submissions (i tested with 420 and 20
students)
  - create multiple sections
    + specify date overrides for certain sections, and have at least one
      student enrolled in that section
  - as a teacher and/or an observer, go to quizzes index
    + verify the page renders fine
    + verify that you see "loading indicators" in the due/available
      field which get replaced with actual dates when they're loaded
    + verify it's faster than the version in master (should be at least
      60% faster)
  - as a student in the general section, go to quizzes index
    + verify the page renders
    + verify you see the same loading behavior for dates as in teacher
      view
  - as a student in one of the section with overrides, go to index:
    + verify you see the overridden date

Change-Id: I741d89625da1b858148baa95e881fcc75c1802e5
Reviewed-on: https://gerrit.instructure.com/40350
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2014-09-05 14:20:38 +00:00
Joel Hough d5dba5ffee bounced email handling
fixes CNVS-15150

test plan
1. setup outgoing email through amazon ses test account
2. setup bounce_notifications.yml with sqs test creds
3. set a user's email address to 'bounce@simulator.amazonses.com'
4. cause three messages to be sent to that user
5. ensure that they are sent
6. wait for the bounce notification processor to run (~5 min)
7. casue another message to be sent to that user
8. ensure that message is not sent
9. repeat steps 3-8 using a different user and the address
 'suppressionlist@simulator.amazonses.com'
10. repeat steps 3-7 using a different user and the address
 'success@simulator.amazonses.com'
11. ensure that the fourth message is sent successfully
12. make sure no error reports or job failures are reported
 for the bounce notification processor

Change-Id: I060659c73a8b750c16f287e94f4198d8cb8633e5
Reviewed-on: https://gerrit.instructure.com/40254
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
2014-09-04 16:48:13 +00:00
Transifreq f0bb1bab49 Updated fa-IR translation
Change-Id: Ib768c7dd545ecb7ab3ae2d0c2976c96d86602fea
2014-09-04 06:04:40 -06:00
Transifreq ba746db962 Updated tr translation
Change-Id: I1f8266b9bf6aaa41fa016766b4d3c44af51565b1
2014-09-04 06:01:00 -06:00
Transifreq ccced07117 Updated en-AU translation
Change-Id: I3b998ac8e782799cadd33fe077390b7d41f6fce8
2014-09-04 05:57:22 -06:00
Transifreq 998bee0a96 Updated en-GB translation
Change-Id: I7838de34f0fba5e7f2e5da1acdf53ef71d6647b0
2014-09-04 05:53:42 -06:00
Transifreq e0e72eefca Updated ko translation
Change-Id: I1827ea44b5554edd5c0d1f77ac090c3a0260b34a
2014-09-04 05:50:02 -06:00
Transifreq 8da63b88ea Updated nb translation
Change-Id: I5ead9a90df7a59c1948779e796921e9b1404103b
2014-09-04 05:46:25 -06:00
Transifreq 7b1cf283ae Updated nl translation
Change-Id: I49f478fc69bdef40d51431848c7a34da4047f7cc
2014-09-04 05:42:47 -06:00
Transifreq b42381d28a Updated ja translation
Change-Id: I42cf80ad878125173e88b681aae0b9dc2baba3b3
2014-09-04 05:39:09 -06:00
Transifreq 227d923bf9 Updated pt-BR translation
Change-Id: I7ebb16aad10fadc874063abd09bc8c5b5d27e6e2
2014-09-04 05:35:29 -06:00
Transifreq ead68ed339 Updated pt translation
Change-Id: Ia1949e8538d28763f7c25f711d8f66d90aafad5e
2014-09-04 05:31:51 -06:00
Transifreq 0d9cd2ae44 Updated ar translation
Change-Id: I16f9e643abcf69d11e8893b338d94f5726680819
2014-09-04 05:28:12 -06:00
Transifreq 33d20bc32e Updated zh translation
Change-Id: I53823053b0e10a78ca0e3c85ad7c265880865d13
2014-09-04 05:24:35 -06:00
Transifreq 806c492164 Updated pl translation
Change-Id: Iacd15109162aa832b8e569221bc4b41032bcc968
2014-09-04 05:20:53 -06:00
Transifreq f120611e42 Updated fr translation
Change-Id: Id5215b2069c19f86f9c5911316e5e720d967e1fd
2014-09-04 05:17:11 -06:00
Transifreq dd8c554383 Updated ru translation
Change-Id: If91de2e07fa5552df67495ca1eb9e0314d4333de
2014-09-04 05:13:33 -06:00
Transifreq f85134a776 Updated de translation
Change-Id: I0bc9512f7b37d5f6b820a8322fab0483cfc0d58a
2014-09-04 05:09:51 -06:00
Transifreq 4290acd760 Updated es translation
Change-Id: I30489ef7dffc5d4dd5692cc31b37fa9c00b8909e
2014-09-04 05:06:12 -06:00
Brian Palmer d8d747f187 don't enable x-sendfile by default for local file store
This prevents open source installs from seeing file downloads break in
rails3. They can still set up sendfile explicitly by configuring their
web server and uncommenting the appropriate line, I've added
documentation to the production start wiki page:

https://github.com/instructure/canvas-lms/wiki/Production-Start#optimizing-file-downloads

relatedly, remove the unused send_file_or_data method.

Change-Id: I5e856b2ba50b0606330f86360d175c439ee1da50
Reviewed-on: https://gerrit.instructure.com/40357
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
QA-Review: Brian Palmer <brianp@instructure.com>
2014-09-03 21:26:07 +00:00
Brian Palmer 217d75a206 remove ActionDispatch::RequestId middleware
Our custom RequestContextGenerator middleware also sets a request id
header, which is heavily used throughout our infrastructure, so there's
no point in setting a second, unused request id header.

test plan: inspect response headers, there should be an
X-Request-Context-Id header but no X-Request-Id header.

Change-Id: If6964a6aaf20968299cb9e3762343be92822efa2
Reviewed-on: https://gerrit.instructure.com/40355
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Nick Cloward <ncloward@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
2014-09-02 18:47:40 +00:00
Transifreq 9ac8bc6434 Updated fa-IR translation
Change-Id: Ie05337c4530703b32eb34ec1790780068b7d91b5
2014-09-02 05:42:54 -06:00
Transifreq 5ee25b00cf Updated tr translation
Change-Id: I83b93ef3c75fe70af526a022922931766891296c
2014-09-01 05:41:59 -06:00
Cody Cutrer 48864de3f6 begin rails 4
enough for bundle install to work with 4.1.5

Change-Id: I277df9e4315fa250b6028139113c74721148e2f0
Reviewed-on: https://gerrit.instructure.com/39656
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2014-08-27 23:09:17 +00:00
Jeff Belser 6377e9b9bf fix i18n for time zone dropdowns and profiles
fixes CAT-465

Test Plan
  1. Start canvas with full localization support enabled
     (ie $ LOLCALIZE=true rails server)
  2. Ensure the time zone select inputs on the course settings,
     account settings, user profile settings and new user confirmation
     pages are localized appropriately
  3. Ensure the course and user profile time zone is localized
     when not editing the settings

Change-Id: Ic9cb64986451a9a10925b716b727eae45b3b1806
Reviewed-on: https://gerrit.instructure.com/39435
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Nick Houle <nhoule@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
Product-Review: Adam Phillipps <adam@instructure.com>
2014-08-27 21:36:47 +00:00
Cameron Matheson 4812cf935a include document preview urls in submissions api
closes CNVS-13322

Test plan:
  * consume endpoints on the submissions api
  * attachments should now include a "preview_url" (it will display the
    document)

  * document previews should still work everywhere in canvas
    (speedgrader, files, tinymce)

Change-Id: Ic11725832fa55e0deedf3bbce4a8b6a84f4ea29a
Reviewed-on: https://gerrit.instructure.com/36423
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
2014-08-27 19:47:00 +00:00