Commit Graph

15 Commits

Author SHA1 Message Date
Michael Brewer-Davis 8fa3360f89 do not include hidden results in rollups
closes OUT-1846

Test plan:
- create an outcome
- create two assignments with rubrics including
  the outcome
- set one of the rubrics to "Don't post results to LMGB"
- assess a student using both rubrics with different scores
- visit the LMGB
- verify that only the non-hidden score is reflected
  in the LMGB
- visit the student LMGB
- verify that only the non-hidden alignment is shown
  in the student lmgb
- visit
    http://canvas.docker/api/v1/courses/COURSE_ID/outcome_results?user_ids[]=USER_ID&outcome_ids[]=OUTCOME_ID
  (replacing COURSE_ID, USER_ID and OUTCOME_ID)
- verify that hidden alignment is not shown
- add
    &include_hidden=true
  to the above URL
- verify that hidden alignment is now shown

Change-Id: Ie08c63f32686ffc42394e926c22eac773799d616
Reviewed-on: https://gerrit.instructure.com/154464
Tested-by: Jenkins
Reviewed-by: Frank Murphy <fmurphy@instructure.com>
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
QA-Review: Augusto Callejas <acallejas@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
2018-06-21 16:39:27 +00:00
Matthew Berns e924133cb8 add hide_points to json response on lmgb
closes OUT-2300

test plan (dev-qa):
- create a new outcome
- create a new rubric and align the outcome
- align the rubric to a new assignment, ensure you
  choose the box to remove points from rubric
- assess a student
- go to the LMGB
- the outcome_rollups response should include a
  hide_points field in the json
- hide_points should be 'true' on the rollup for the new outcome
  with the newly created outcome
- attach the newly create outcome to a different assignment, one
  that doesn't have its points hidden on the rubric association
- assess the student
- return to lmgb
- hide_points should be 'false' for the rollup on the new outcome

Change-Id: I0f9accb4ff0cc76f40c08ce08e21091e35df6af8
Reviewed-on: https://gerrit.instructure.com/153547
Tested-by: Jenkins
Reviewed-by: Michael Brewer-Davis <mbd@instructure.com>
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
Product-Review: Michael Brewer-Davis <mbd@instructure.com>
QA-Review: Michael Brewer-Davis <mbd@instructure.com>
2018-06-13 21:58:49 +00:00
Landon Wilkins 5ba312a04d da licença part 32
add consistent license headers to all source files
(ruby, coffeescript, javascript)

except for vendor files

Change-Id: Ibb971e1256b9ebf4ed4b50efac991472abba82fc
Reviewed-on: https://gerrit.instructure.com/110058
Tested-by: Jenkins
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
2017-04-27 22:00:01 +00:00
Matthew Berns af6758bb94 fix outcome calcs for mix of assignments & quizzes
fixes OUT-460

test plan:
- create 2 outcomes, one with decaying average and one w/ n_mastery
- attach each outcome to an assignment and a quiz
- it's not reccomended to use exactly 5 questions for quiz testing
  since this has the potential to obfuscate possible calc errors
- log in as a student and submit to the assignment/take the quiz
- as the teacher/admin, asses the outcome on the assignment in
  speedgrader. It's reccomended to get a high score on at least
  one quiz that's being tested, in order to ensure the mastery
  score on the result does not exceed the max possible score
  for the outcome
- view the students outcome scores in the lmgb and student lmgb
  to confirm the score's accuracy

try various scores, but here's an initial example assuming
Outcome A is decaying avg, and Outcome B is n_mastery

Outcome A
- Attach Outcome A to two assignments and two quizzes
- Submit as the student, first to the two assignments,
  scoring a 3.0 and a 2.0, then on a quiz in which you
  get 90% on the aligned bank
- on the final/most recent bank, score a 40%
- the score for the Outcome should be 2.41

Outcome B
- Attach Outcome B to two assignments and three quizzes
- Submit as the student. Order does not matter, but ensure
  scores of 3.0 and 3.5 on the assignments, and 20%, 50%,
  and 80% on the quizzes.
- the score for the Outcome should be 3.5

Change-Id: If99d8ab6a3791137e407ab43fd8af2c0d69058d5
Reviewed-on: https://gerrit.instructure.com/93333
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
Reviewed-by: Michael Brewer-Davis <mbd@instructure.com>
Tested-by: Jenkins
QA-Review: Cemal Aktas <caktas@instructure.com>
Product-Review: McCall Smith <mcsmith@instructure.com>
2016-11-02 17:36:19 +00:00
James Williams c23210564c use rails 4.2 preloader format
closes #CNVS-26031

Change-Id: I2e0351fb62e5a06b47fe8c6c3dd503318d29a7ad
Reviewed-on: https://gerrit.instructure.com/69228
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2015-12-30 14:58:10 +00:00
Ryan Taylor e27c2d3f7b Don't show outcomes from deleted rubrics.
Closes CNVS-13587

Test Plan:
  - Create an outcome.
  - Enable the Learning Mastery Gradebook (LMG)
  - Create an assignment
  - Add a rubric to that assignment
  - Add an outcome to that Rubric
  - Submit that assignment as a student
  - Give a student a point value on that outcome.
  - Verify their information now shows in LMG
  - Remove the Outcome from the Rubric
  - Check LMG, outcome info should be gone
  - Delete the rubric
  - Check LMG, outcome info should be gone
  - QA: be sure to check outcomes that use averaging as part of their mastery
  evaluation (n_mastery and decaying average), just to make sure the math
  still works as expected.
  - Confirm the same behaviors when attaching/removing an outcome from a
    quiz. (Bonus, unreported bug, I think).

Change-Id: Icdcf674a669165200150f84eb3d943863e09a49d
Reviewed-on: https://gerrit.instructure.com/62055
Reviewed-by: Brian Finney <bfinney@instructure.com>
Tested-by: Jenkins
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Product-Review: Allison Weiss <allison@instructure.com>
2015-10-12 21:00:43 +00:00
Michael Nomitch 66fa28fa47 outcomes speed improvements
refs CNVS-12716

test plan:
  - make course with many assessed outcomes
  - load the mastery gradebook
  - it should load relatively fast

Change-Id: I81a91d58d37e5ae3d5399d59f6e3626af53496ea
Reviewed-on: https://gerrit.instructure.com/53493
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Tested-by: Jenkins
Product-Review: Hilary Scharton <hilary@instructure.com>
2015-05-29 15:20:28 +00:00
Matthew Berns 0902330cd5 allow deletion of rubric scores in speedgrader
fixes CNVS-19658

test plan:
- go to a course with at least one student and assignment
- create a rubric with at least 2 criterion and attach it to the assignment
- pull up the assignment in speedgrader
- enter points for the first criteria and save
- reopen the rubric, points for the first criteria should persist, the second
  criteria score should still be empty(it should not show '0')
- refresh the page, the state of criteria scores should persist
- change the score of the first criteria to 0.
- repeat prior two steps, the score of 0 for the first criteria should persist
- remove score entirely for first criteria
- repeat the re-open rubric and refresh page steps, the field for the first
  criteria being empty should persist, it should not change to '0'
- change the score for a criteria to something with letters and save
- re-open the rubric, the score field should empty (repeat prior reopen and
  refresh steps)

Change-Id: I20fca1894598269b1f34c2090d36a6bb4ff586dd
Reviewed-on: https://gerrit.instructure.com/52948
Product-Review: Hilary Scharton <hilary@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Matt Berns <mberns@instructure.com>
Tested-by: Jenkins
2015-05-06 15:09:09 +00:00
Matthew Berns aa8b5f6dc8 Updates teacher learning mastery gradebook for fancy math
fixes CNVS-11656

test plan:
- enable the teacher and student learning mastery gradebook feature flags
- go to gradebook and select the Learning Mastery tab
- outcome scores per student and aggregate totals should appear the same as
  they do on master
- hover mouse over outcome title to trigger popover
- popover should include a path to the outcome, as well as a pie graph with a
  key to the right of it that shows colors for 'exceeds expectations',
  'meets expectation', and 'does not meet expectations'
- popver should then show mastery points needed, outcome description,
  then a content box that includes the calculation method, along with
  method description/example.
- click a student name to go to student learning mastery gradebook
- all things should appear the same was as they did on
  https://gerrit.instructure.com/#/c/45777/ excluding a minor change to
  the wording for most recent assessment
- masquerade as a student and go to /grades in a course
- all popover content should still be the same as when viewing this page as a
  teacher

Change-Id: Ibe4214a4217c4fb42824e66934b49dccff13fe17
Reviewed-on: https://gerrit.instructure.com/48004
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Adam Stone <astone@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
Tested-by: Jenkins
2015-02-28 00:56:25 +00:00
Matthew Berns 5373969293 adds ui hover to student learning mastery gradebook
fixes CNVS-12924

test plan:
- enable student learning mastery gradebook and go to its page
- the arrow on the left hand side of outcome groups should properly toggle when
  expanding and collapsing
- the pill on the right hand side should properly show the amount of outcomes
  attached to it(grey), and those that the student has mastered(green)
- expand a set of outcomes and hover over the icon on the right side
- a hover should appear showing specific details for the outcome including:
  - a check mark, yellow plus, or red x for mastery, near-mastery, and remedial
  - the last assignment and the date it was submitted (note: you will need to submit
    and grade a new assignment to see this info. Outcomes prior to this update will
    not have a submission time available and should display "N/A")
  - what the current mastery evaluation method is. Methods should show as:
    "Latest Score", "Highest Score", "Acheive Mastery (x) number of times", or
    "(split) Decaying Average".
    note: (x) should indicate number of times, (split) should indicate split
    (e.g. 75/25, 65/35)
  - Decaying Mastery and x number of times methods should also provide additional
    example text of how the evaluation method works
- hover should disappear and reappear appropriate on mouse enter and leave
- check other locations where pills appear to ensure no unexpected
  formatting changes

accessibility test plan:
- use keyboard navigation to get to the icon that creates the hover
- icon should prompt user to press space for more info
- the hover should expand and automatically set the focus to the content on the
  top portion of the hover
- all fields should properly read out their information
- pressing escape should collapse the hover and return focus to the icon

Change-Id: Iaedc67794d2aceb681f5c2895684797f45be8c62
Reviewed-on: https://gerrit.instructure.com/45777
Tested-by: Jenkins
Reviewed-by: John Corrigan <jcorrigan@instructure.com>
QA-Review: Adam Stone <astone@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
2015-02-18 20:07:21 +00:00
Matthew Berns d5ad3f6e5b updated learning outcome to retain eval method and info for weighted methods
fixes CNVS-16915

(all mentions of 'gradebook' refer to learning mastery gradebook)
test plan:
- go to gradebook
- all existing mastery scores should still default to highest score to retain
  accuracy of existing calculations
- in rails console, set 'calculation_method' to 'latest' for an outcome
- all results for that outcome should now show student's latest score on gradebook
- in rails console, set method to 'highest'
- all results for that outcome should now show student's highest score on gradebook
- in rails console, set method to 'n_mastery' and set 'calculation_int' to a number
  between two and 5
- all results for that outcome should now show avg of student's higest n# of scores
  (#n being the number set for the outcome's 'calculation_int')
- in rails console, set method to 'decaying_average' and set 'calculation_int' to 75
- scores should now appear as they did first time gradebook was viewed on step #2
- in rails console, set 'calculation_int' to 65
- scores for that outcome should now reflect decaying average with 65% weight given to
  most recent score, and 35% weight for avg of all prior scores
- have a student make a new submission to an old assignment and give it a score
- the re-submission should now be most recent score for 'latest' and
  'decaying_average' methods
- amend a score for an old submission without a new submission from the student
- the amended score should not become the most recent, but still be accurately
  reflected in the 25%/35% part of the 'decaying_average' method

Change-Id: I330c47cb2288d99e589deca00ddb5a8ee8103a91
Reviewed-on: https://gerrit.instructure.com/44935
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Sean Lewis <slewis@instructure.com>
Product-Review: Benjamin Porter <bporter@instructure.com>
2014-12-16 01:04:28 +00:00
Braden Anderson d84c628ca8 outcome results API: include result count on rollups
fixes CNVS-13365

test plan:
  * open /api/v1/courses/1/outcome_rollups
  * verify that each score includes a count
  * verify that counts match the number of results for that
      combination of outcome and student

Change-Id: I0cbbab7d2c1ebb6574e090046c52b7a4159bb9b9
Reviewed-on: https://gerrit.instructure.com/35708
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Reviewed-by: Drew Bowman <dbowman@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>
2014-06-04 16:59:06 +00:00
Jon Willesen f9e3d2ae98 add aggregate parameter to outcome results rollup api
also replaces raw hashes in outcome result analytics with
structs to improve error detection and possibly support active
model serialization in the future.

fixes CNVS-10037

test plan:
 - check the outcome results api documentation for the new
   aggregate parameter.
 - call the outcome rollup api with the aggregate=course
   parameter.
 - verify the result in this case is one rollup that contains
   an accurate average of the user rollups for each outcome.

Change-Id: I635cf5e28f5de73e44b63ac6234971657728d035
Reviewed-on: https://gerrit.instructure.com/28103
Reviewed-by: Joel Hough <joel@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
QA-Review: Joel Hough <joel@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2014-01-07 22:09:45 +00:00
Joel Hough 0d1c04cbf1 jsonapi-ify outcome results api
fixes CNVS-10198, CNVS-10201

test plan
- test outcome result api as in c/27631
- ensure that jsonapi paging metadata is returned

- fetch outcome results for a course that includes students
 without outcome results (i.e. haven't submitted anything)
- ensure that the student is listed in the returned results
 with an empty scores array

Change-Id: I00d8e9de241a243fb6ac1aa9f55150b8955a2452
Reviewed-on: https://gerrit.instructure.com/28015
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joel Hough <joel@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
2014-01-06 20:08:01 +00:00
Jon Willesen f8042f63cc start of new outcome results api
fixes CNVS-10034

test plan:
 - check the new outcome results api documentation.
 - generate some outcome results:
   - create assignments with rubrics that have linked outcomes.
   - grade those assignments with the rubric.
 - call the /api/v1/outcome_results api endpoint.
 - make sure the returned student scores contain the maxiumum
   score achieved for each outcome.
 - students should not be able to access the api.

Change-Id: Icddec2aa9000c01f3b05c1c3c21260f7c15f7f7e
Reviewed-on: https://gerrit.instructure.com/27631
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
QA-Review: Zach Pendleton <zachp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2014-01-02 22:35:02 +00:00