Commit Graph

460 Commits

Author SHA1 Message Date
Erin Hallmark a0559a10ea Update API change log 2019-04-20
CLOSES: DOC-1038

Test plan:
- Jenkins passes
- Links work correctly for changelog 2019-04-20 entry

Change-Id: Ia3a211c53270efa961cce034f665c21c10ce14c3
Reviewed-on: https://gerrit.instructure.com/188279
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
2019-04-04 18:43:14 +00:00
Stefan Wrobel 12250dfcb4 Update xAPI links
Closes: #1425
Closes: GRADE-2108

Test plan
- updated links point to live pages

Change-Id: I45bef9bbb62214c6469e77033bb3c169dccc8584
Reviewed-on: https://gerrit.instructure.com/187060
Tested-by: Jenkins
QA-Review: Derek Bender <djbender@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
2019-03-27 15:15:57 +00:00
Erin Hallmark 0400dad5ce Update API Change log for 2019-03-30
Closes: CORE-2568

Test plan:
- changelog.md shows entries for 2019-03-30
- links work
- jenkins is happy

Change-Id: Id4c21804f24db74827301029a60664c1a1539f11
Reviewed-on: https://gerrit.instructure.com/185180
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Erin Hallmark <erin@instructure.com>
Product-Review: Erin Hallmark <erin@instructure.com>
2019-03-13 21:56:57 +00:00
James Williams 62dd89c517 fix lti variable substitution doc generation
doc/api/tools_variable_substitutions.head.md
was getting generated to tools_variable_substitutions.html
and then possibly overwritten depending on the order of
the files from Dir.glob

closes #CORE-2499

Change-Id: I885ead2530a73a54ec55f4b2a7be607cf03a122a
Reviewed-on: https://gerrit.instructure.com/182626
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
2019-02-25 16:30:51 +00:00
wdransfield 39a16ad889 Add workflow state to assignment_group events
Closes PLAT-3916

Test Plan:
- Create an assignment group
- Verify the workflow state is sent in the assignmnet
  group created event
- Modify the assignment group
- Verify the workflow state is sent in the assignment
  group updated event

Change-Id: Iefcf885bfd6b7ce20895fd855fee2cf934e667d6
Reviewed-on: https://gerrit.instructure.com/182463
Tested-by: Jenkins
Reviewed-by: Marc Phillips <mphillips@instructure.com>
QA-Review: Marc Phillips <mphillips@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2019-02-22 17:47:32 +00:00
Erin Hallmark 4a9ccd9e47 update api change log 2019-03-09
Closes: DOC-1014

Test plan:
- check change log for new release entry
- verify API links work correctly

Change-Id: I6c02ed0c42027fda47fc86222a409a329b1580c1
Reviewed-on: https://gerrit.instructure.com/182321
Tested-by: Jenkins
QA-Review: Erin Hallmark <erin@instructure.com>
Product-Review: Erin Hallmark <erin@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
2019-02-21 18:59:19 +00:00
Keith T. Garner c632b294c2 add documentation on how to run jest tests
Change-Id: I83ca17db99a365aca90b24a31c411e0f3fe35858
Reviewed-on: https://gerrit.instructure.com/181816
Tested-by: Jenkins
Reviewed-by: Adrian Packel <apackel@instructure.com>
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: Keith Garner <kgarner@instructure.com>
Product-Review: Keith Garner <kgarner@instructure.com>
2019-02-20 19:43:07 +00:00
Erin Hallmark 445fecdda0 update link for API terms of service
Closes: DOC-1008

test plan:
- make sure API terms of service link works

Change-Id: I29a946a6e5dabe2ea886e99a1db69b88fd55cfca
Reviewed-on: https://gerrit.instructure.com/181826
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Erin Hallmark <erin@instructure.com>
Product-Review: Erin Hallmark <erin@instructure.com>
2019-02-15 18:15:58 +00:00
wdransfield f2830ddb13 Add sis_source_id to live events context
Closes: PLAT-4078

Test Plan:
- Verify live events Canvas writes to kinesis now contain the
  "context_sis_source_id" value in the metadata section.
- Verify this value is not added if the context does not
  have an sis_source_id column

Change-Id: I045d6295d0d5ea468fb657a3378a3613508d6a63
Reviewed-on: https://gerrit.instructure.com/180236
Tested-by: Jenkins
Reviewed-by: Nathan Mills <nathanm@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
QA-Review: Nathan Mills <nathanm@instructure.com>
2019-02-05 18:37:30 +00:00
Erin Hallmark d390c09d32 update api change log for 2019-02-16
closes: CORE-2428

test plan:
- check api change log for 2019-02-16 entry
- check api change log archive for 2018-11-17 entry

Change-Id: I94768e77fa5a1a1ba7f8746ecd9e7b25d25c815f
Reviewed-on: https://gerrit.instructure.com/180097
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Erin Hallmark <erin@instructure.com>
Product-Review: Erin Hallmark <erin@instructure.com>
2019-02-01 16:06:59 +00:00
Xander Moffatt d22a9f00fd provide more fields in discussion_topic_created event
closes PLAT-3843

test plan:
* enable live events locally (see doc/live-events.md)
* tail the stream (see same doc)
* create a new discussion topic
* look at the stream and see if the new
fields have been added to the event

Change-Id: I0bc9aef8ae82faac37df7a6f1feffd38e4961664
Reviewed-on: https://gerrit.instructure.com/178920
Tested-by: Jenkins
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Xander Moffatt <xmoffatt@instructure.com>
2019-01-25 17:19:20 +00:00
wdransfield b4d0f22124 Add AssignmentGroup updated and created events
Closes PLAT-4070

Test Plan:
- Create an assignment group
- Verify an assignment_group_created event is triggered
- Edit the assignment group
- Verify an assignment_group_updated event is triggered

Change-Id: I68a90c7dc733394c9a4a8853d6803dec569c3834
Reviewed-on: https://gerrit.instructure.com/179194
Tested-by: Jenkins
Reviewed-by: Marc Phillips <mphillips@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2019-01-25 16:14:42 +00:00
wdransfield 3bb28421a8 Add discussion topic created event
Closes PLAT-3844

Test Plan:
- Create a discussion topic
- Verify a discussion_topic_created event is triggered
- Edit the discussion topic
- Verify a discussion_topic_updated event is triggered

Change-Id: Ie1e1105f3030750812866f5252c703fc6843a3e0
Reviewed-on: https://gerrit.instructure.com/179155
Tested-by: Jenkins
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Product-Review: Jesse Poulos <jpoulos@instructure.com>
2019-01-24 22:21:22 +00:00
Robert Lamb cde840ff54 simplify table css, fix page titles
Change CSS table entries to use '~' instead of '+' so we don't have
to repeat the empty 'div' before each table. We only need one.

Use alternate method of indicating Header1 style in markdown to fix
the title of the page.  Our post processor included the '#' from
the first line in the page title.

test plan: titles don't start with '#'
           tables look the same

Change-Id: Ie73b91e1628dc22112b46ed6442eea7860062aad
Reviewed-on: https://gerrit.instructure.com/178090
Tested-by: Jenkins
Reviewed-by: Tucker Mcknight <tmcknight@instructure.com>
QA-Review: Erin Hallmark <erin@instructure.com>
Product-Review: Erin Hallmark <erin@instructure.com>
2019-01-16 20:47:55 +00:00
wdransfield 61d200a3e7 Use ext_roles for roles claim in LTI 1.3 launches
Closes PlAT-4110

Test Plan:
- Do an LTI 1.3 launch
- Verify the roles claim contains the `ext_roles`
  from LTI 1 rather than the `roles`.

Change-Id: I9d20a33b6a2f8997353f4198de880a80df43ed8c
Reviewed-on: https://gerrit.instructure.com/177280
Tested-by: Jenkins
Reviewed-by: Marc Phillips <mphillips@instructure.com>
QA-Review: Marc Phillips <mphillips@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2019-01-10 22:23:43 +00:00
Robert Lamb f9065e3d21 Convert changelog html tables to markdown tables
closes CORE-2328

test plan: the changelogs still look the same

Change-Id: Id36bea05bf302c49522bc343334c5d42433c843d
Reviewed-on: https://gerrit.instructure.com/177107
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Product-Review: Erin Hallmark <erin@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
2019-01-09 17:38:00 +00:00
Erin Hallmark 948f6741c7 Update API Change Log for ADMIN ticket omissions
Closes: CORE-2262

Test plan:
- run bundle exec rake doc:api
- in 2019-01-05 log, view entry for users api
- in 2018-12-08 log, view entry for courses api

Change-Id: I223c47fa98f3e63466e596a3bfba8b6cb5990b82
Reviewed-on: https://gerrit.instructure.com/175524
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Erin Hallmark <erin@instructure.com>
Product-Review: Erin Hallmark <erin@instructure.com>
2018-12-14 16:51:56 +00:00
Erin Hallmark 0d9149bc0e Update API Change Log for 2019-01-05
Closes: CORE-2245

Test plan:
- run rake doc:api
- view API change log page and verify all links work
- view API change log archive page and view entry for
2018-10-27 at the top
- view Breaking Changes page and view new column for
deprecation removal date

Change-Id: Ia58e3bbb7f4387f0d899b3856989dc4c429b4053
Reviewed-on: https://gerrit.instructure.com/175140
Reviewed-by: James Williams <jamesw@instructure.com>
Tested-by: Jenkins
QA-Review: Erin Hallmark <erin@instructure.com>
Product-Review: Erin Hallmark <erin@instructure.com>
2018-12-13 18:25:04 +00:00
Erin Hallmark 278851cb23 update links in developer keys documentation
also updated linked content to not be written
as 'here' and instead have a name that resembles
what users will view when the link is clicked

Closes: PLAT-4033

Test plan:
- run bundle exec rake doc:api
- view developer keys api page
- verify that all links open to the correct api pages

Change-Id: I5ee9045159871833e3d152a85c3acc45081acb88
Reviewed-on: https://gerrit.instructure.com/173768
Tested-by: Jenkins
Reviewed-by: Marc Phillips <mphillips@instructure.com>
QA-Review: Erin Hallmark <erin@instructure.com>
Product-Review: Erin Hallmark <erin@instructure.com>
2018-12-03 19:01:07 +00:00
Erin Hallmark 6fd5aed3ed update api change log for 2018-12-08
closes: CORE-2191

test plan:

- view api change log and verify updates
for 2018-12-08 heading and table
- verify included links work correctly

Change-Id: I2984727048ff3d741de7764e3898f6d6bbb1a957
Reviewed-on: https://gerrit.instructure.com/173168
Reviewed-by: Mysti Sadler <mysti@instructure.com>
Tested-by: Jenkins
QA-Review: Pedro Fajardo <pfajardo@instructure.com>
Product-Review: Erin Hallmark <erin@instructure.com>
2018-11-26 22:25:29 +00:00
Erin Hallmark c22289bf0b update navigation_tools.md to remove links
CLOSES: PLAT-3996

Test plan:
- run bundle exec rake doc:api
- open navigation tools page (under external tools)
- verify the page contains no links

Change-Id: Icfed5e239037783e25b8acb192e9a7d5b4909f55
Reviewed-on: https://gerrit.instructure.com/171855
Tested-by: Jenkins
QA-Review: Erin Hallmark <erin@instructure.com>
Product-Review: Erin Hallmark <erin@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
2018-11-20 22:04:15 +00:00
Jennifer Stern 4c0638b4da Add deprecation warning to style guide header
closes UIDEV-231

Test plan:
- start up Canvas and navigate to /styleguide
- you should see the deprecation notice as a warning style alert
- the link should open a new tab and go to the blog post about the
  deprecation

Change-Id: Ic287939123b38178e3c49b699730e65ccf574b02
Reviewed-on: https://gerrit.instructure.com/172808
Product-Review: Arlo Guthrie <aguthrie@instructure.com>
Tested-by: Jenkins
Reviewed-by: Steve Jensen <sejensen@instructure.com>
QA-Review: Daniel Sasaki <dsasaki@instructure.com>
2018-11-19 18:13:40 +00:00
Cameron Matheson 51e624a1ff graphql: add CreateGroupInSet mutation
refs GQL-3

test plan:
  * create a group in a group set using graphql

Change-Id: I81f3e3c02b19961a31cdd9695adf7a4c11c90693
Reviewed-on: https://gerrit.instructure.com/166125
Tested-by: Jenkins
Reviewed-by: Adrian Packel <apackel@instructure.com>
Reviewed-by: Carl Kibler <ckibler@instructure.com>
QA-Review: Cameron Matheson <cameron@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
2018-11-14 00:49:29 +00:00
Erin Hallmark e2ce15febd Update change log for 2018-11-17 release
Closes: DOC-975

Test plan:
- Confirm table UI displays correctly
- Confirm API links direct to the correct page

Change-Id: Ice7a5e53b1cec8bb48aaf1464aa94becc0aeabeb
Reviewed-on: https://gerrit.instructure.com/170835
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Steven Burnett <sburnett@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
2018-11-02 20:51:47 +00:00
Dan McCallum f89d9ee839 Share LTI 1.3 role map between NRPS and launch
- For the `$Membership.role` and `$com.Instructure.membership.roles`
  custom params, calculate role URNs using
  `LIS_V2_LTI_ADVANTAGE_ROLE_MAP` for 1.3 tools, else
  `LIS_V2_ROLE_MAP`.
  - This way the `https://purl.imsglobal.org/spec/lti/claim/roles`
  launch claim matches up with the NRPS `roles` field _except_ that
  NRPS `roles` doesn't include system nor institution roles
  (N+1 issues).
  - Really the only meaningful difference is the TA role URN, where
  `LIS_V2_LTI_ADVANTAGE_ROLE_MAP` corrects a typo in the
  `LIS_V2_ROLE_MAP`. See `SubstitutionsHelper` line ~61 for all the
  differences.
  - Since the contents of `LIS_V2_LTI_ADVANTAGE_ROLE_MAP` changed
  to include additional roles to support launches but which should not
  be used as NRPS role filters, `MembershipsProvider.lis_roles` also
  needed to change to filter those roles out. So took the opportunity
  to rename that method to `queryable_roles` to avoid confusion with
  `GroupMembershipDecorator.lti_roles` and
  `CourseEnrollmentsDecorator.lti_roles` methods that perform the
  mapping in the _opposite_ direction.

Closes LTIA-42

Test Plan

  - Place a 1.3 tool in a `Course` with several active members, at
  least one of which is in a TA role.
  - Ensure the tool's configuration includes mappings for the
  `$Membership.role` and `$com.Instructure.membership.roles` custom
  params.
  - Launch the tool for several members and verify correct contents
  of:
    - `https://purl.imsglobal.org/spec/lti/claim/roles`
    - `https://purl.imsglobal.org/spec/lti/claim/custom['com_instructure_membership_roles']`
    - `https://purl.imsglobal.org/spec/lti/claim/custom['membership_role']`
  In particular, the first two should match and for a TA all three
  should include
  `http://purl.imsglobal.org/vocab/lis/v2/membership/Instructor#TeachingAssistant`
  (capital 'I').
  - Invoke NRPS for this tool and `Course`. For each `member`, the
  `roles` field should match the first two launch fields listed
  above _except_ that system and institution roles are _not_ listed.
  The `com_instructure_membership_roles` and `membership_role` custom
  params should render unexpanded, i.e. literally as
  `$com.Instructure.membership.roles` and `$Membership.role`.

Change-Id: I315220edd0b5500934ede9a82047cc0206fbd8f5
Reviewed-on: https://gerrit.instructure.com/169626
Tested-by: Jenkins
Reviewed-by: Marc Phillips <mphillips@instructure.com>
QA-Review: Bill Smith <bsmith@instructure.com>
Product-Review: Karl Lloyd <karl@instructure.com>
2018-10-26 21:44:19 +00:00
Marc Phillips 4fa41f7b5f Remove Beta flag from DevKeys Docs
refs PLAT-3752

Test Plan:
n/a

Change-Id: I11caa879c08c82d2f9a09c3ad46ce52d75ba84ca
Reviewed-on: https://gerrit.instructure.com/169914
Tested-by: Jenkins
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Jesse Poulos <jpoulos@instructure.com>
2018-10-26 17:53:12 +00:00
Jared Crystal 8528c3bb00 add sortable_name as variable expansion
refs AMS-1444

test plan:
 - sortable name is available to LTI tools as a
   variable expansion

Change-Id: I21b94845a34ff668caa37619de2d5eede4fd0099
Reviewed-on: https://gerrit.instructure.com/167591
Tested-by: Jenkins
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Jared Crystal <jcrystal@instructure.com>
Product-Review: Jesse Poulos <jpoulos@instructure.com>
2018-10-19 16:52:33 +00:00
Marc Phillips 91fe52ff86 Fix AppFilters spec on master build
Test Plan:
 n/a

Change-Id: I210c97d4e24ccbf5e7827103a3ca211b9ca27bee
Reviewed-on: https://gerrit.instructure.com/167771
Tested-by: Jenkins
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Marc Phillips <mphillips@instructure.com>
2018-10-16 16:09:40 +00:00
Erin Hallmark ee314284d7 update change log for 2018-10-27
REFS: DOC-961

Test plan:
- View change log entries for 2018-10-27
- Ensure links work
- Ensure new addition entry for 2018-10-06
assignment External Tools link works
- View change log archive page and view
entry for 2018-08-04

Change-Id: Iab13f8edd31a1065f53c1dcd758d38f78eae1962
Reviewed-on: https://gerrit.instructure.com/167693
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: KC Naegle <knaegle@instructure.com>
Product-Review: KC Naegle <knaegle@instructure.com>
2018-10-10 20:32:54 +00:00
Michael Hargiss 3cfbdf31ac add selenium doc and prepare script
We have no documentation in Confluence or this repo for running
Selenium tests natively. This commit adds a doc for that.

We're also migrating the "prepare" script from the qa_tools repo
to this one.

Test Plan:
  - follow the instructions in doc/testing_with_selenium.md to
  verify it's accurate
  - run script/canvas_update to verify it still works
  - follow the setup instructions in script/prepare/README.md and
  verify it works

Change-Id: I11d63e60dc1faa8be1dfacfc9bebfcbea55c31f1
Reviewed-on: https://gerrit.instructure.com/167300
Tested-by: Jenkins
Reviewed-by: David Tan <dtan@instructure.com>
QA-Review: David Tan <dtan@instructure.com>
Product-Review: Michael Hargiss <mhargiss@instructure.com>
2018-10-10 18:22:06 +00:00
Nate Collings 88b63f48ae add a full_width_in_context external tool layout
This layout will give you access to the full screen
width, while still including the regular Canvas
navigation and breadcrumbs. This differs from
the full_width layout, which gives you the full
width of the screen, but removes the breadcrumbs
and Canvas sidebar.

Test Plan:

- Create an external tool through the API and
  set the display_type to "full_width_in_context"
- Launch the tool and validate that the iframe has
  access to the full screen width (minus the Canvas
  navigation on the left)

refs SKUNK-76

Change-Id: Ie019ccc111d5688e5b7eaa4528386f350e7ab669
Reviewed-on: https://gerrit.instructure.com/166671
Tested-by: Jenkins
Reviewed-by: Mark Valentine <mvalentine@instructure.com>
Reviewed-by: Nathan Mills <nathanm@instructure.com>
Product-Review: Karl Lloyd <karl@instructure.com>
QA-Review: Marisa Jense <mjense@instructure.com>
2018-10-03 16:45:40 +00:00
Erin Hallmark 6c8d83af6f update api change log 2018-10-06 release
REFS: DOC-953

Test plan:
- Check links in change log link to
correct pages
- check breaking changes page links
- check previous entries for 2018-06-23 and
2018-07-14 show up

Change-Id: I78ed714229c89092f3b4838257cfcf80d2d74a60
Reviewed-on: https://gerrit.instructure.com/165209
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
QA-Review: Steven Burnett <sburnett@instructure.com>
2018-09-20 19:28:33 +00:00
Jacob Fugal 88da49ce0e allow POST as alias for GET to /api/v1/files/:id
fixes RECNVS-600

existing API clients may POST to the Location header after a file
upload, because we told them to. with inst-fs on, that Location header
points at /api/v1/files/:id which didn't support POST. update docs and
deprecate POST support to wean them off it, but allow the POSTs for now.

test-plan:
- can POST /api/v1/files/:id
- should get the same response as GET /api/v1/files/:id
- api documentation reflects reality

Change-Id: Ib5a925cfa6cfd825355ef023ec9dcaad65fa0bd8
Reviewed-on: https://gerrit.instructure.com/164520
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Tested-by: Jenkins
Product-Review: Jacob Fugal <jacob@instructure.com>
2018-09-14 20:31:38 +00:00
Mark Valentine 05fc182a76 add assignment_view lti launch placement
Fixes PFS-10993

Test Plan:
Documentation on how launchpoint works is in JIRA:

1.  Configure a new LTI at the account / course level.  See
    documentation above for how to create assignment_view
    launch.
2.  Verify that the launch happens in three different contexts:
    a) Assignment view (not in external tool assignments,
       explicitly - not in quizzes.next)
    b) Discussion topic view (course context only)
    c) Quiz view (not quizzes.next)
3.  For each context above (#2) verify that launch_height is honored
    when it is specified in the LTI install.
4.  For each context (#2) verify that launch sends custom_assignment_id
    and custom_lti_placement to the LTI, if it was set in the launch
    install.
5.  For each context (#2) verify that when no relevant LTIs are installed
    no discernible change is caused by this patchset.
6.  For each context (#2) verify that when multiple apps are installed
    they all show in an arbitrary order.
7.  A11y:  Verify that when you enter or leave the LTI content an
    appropriate message is sent to the screenreader.
    a) enter message = "The following content is partner provided"
    b) leave message = "The preceding content was partner provided"
8.  Review api docs at:
    doc/api/file.assignment_external_tools.html
    experiment with options and verify apps work as expected.
9.  Additionally, we may have impacted the following launch locations,
    that hit the launch_definitions endpoint.  It would be worthwhile
    to run a smoke test to verify these are still working:
    a) course_assignment_menu placements
       - add an LTI (just use the dummy xml for minimal
         LTI course_navigation and replace "course_navigation" with
         "course_assignment_menu").  These LTIs appear in a menu
         available only to teachers on the assignments menu page.
         Click the "..." menu and they will be listed under
         "Assignment Groups Weights".  Verify teachers still see
         these LTI options.  Verify that students don't even hit the
         "launch_definitions" endpoint on this page.
    b) module_item link_selection.
       - On "Modules" page, create a module.  Then add a module item.
         Type is "External Tool".  Verify that the same list of LTIs
         is returned whether using this patchset or not.

Change-Id: I52c0cb7ed871683ba821b1b242b27f8a31a28820
Reviewed-on: https://gerrit.instructure.com/162426
Tested-by: Jenkins
Reviewed-by: Marc Alan Phillips <mphillips@instructure.com>
QA-Review: Marisa Jense <mjense@instructure.com>
Product-Review: Christi Wruck
2018-09-13 14:33:58 +00:00
Marc Phillips b4e19f0de9 Add info on scopes for oauth2 endpoint
closes PLAT-3682

Test Plan:
n/a

Change-Id: Ibbfea4549614f95a2ad211294ed2768c3018aa5e
Reviewed-on: https://gerrit.instructure.com/163791
Tested-by: Jenkins
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Marc Alan Phillips <mphillips@instructure.com>
QA-Review: Marc Alan Phillips <mphillips@instructure.com>
2018-09-10 19:02:45 +00:00
Marc Phillips efdba8d77c Add client_credentials grant_type
Oauth2.0 client_credentials grant_type is added as a means
to support LTI Advantage services. Will accept only the
client_assertion_type of jwt-bearer and returns a JWS as
the access token. LTI services using the jws will be able to
authenticate, but other api endpoints will fail when using
this jwt.

closes PLAT-3659

Test Plan:
 - Create an oauth 2.0 request using a jwt signed by a
   developer key
 - Request should be validated and returns a jwt with
   the correct scopes

Change-Id: I786b71e39f8d3c2c9c71aa3eff4ea490f6d56285
Reviewed-on: https://gerrit.instructure.com/161245
Tested-by: Jenkins
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Marc Alan Phillips <mphillips@instructure.com>
2018-09-10 17:07:05 +00:00
Mark Valentine 5980258ac6 Add assignment_edit lti launch placement
Fixes:  PFS-10922

Test Plan:
Documentation on how launchpoint works is in JIRA:

1.  Configure a new LTI at the account / course level.  See
    documentation above for how to create assignment_edit
    launch.
2.  Verify that the launch happens in three different contexts:
    a) Assignment create and edit.
    b) Discussion topic create and edit.
    c) Quiz create and edit.
3.  For each context above (#2) verify that launch_height is honored
    when it is specified in the LTI install.
4.  For each context (#2) verify that launch sends custom_assignment_id
    and custom_lti_placement to the LTI.
5.  For each context (#2) verify that when no relevant LTIs are installed
    no discernible change is caused by this patchset.
6.  For each context (#2) verify that when multiple apps are installed
    they all show in an arbitrary order.
7.  A11y:  Verify that when you enter or leave the LTI content an
    appropriate message is sent to the screenreader.
    a) enter message = "The following content is partner provided"
    b) leave message = "The preceding content was partner provided"
8.  Review api docs at:
    doc/api/file.assignment_external_tools.html
    experiment with options and verify apps work as expected.

Change-Id: I29c7fe43c9b08daa9ff9e53f86dd2a5f762beb37
Reviewed-on: https://gerrit.instructure.com/161571
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Marisa Jense <mjense@instructure.com>
Product-Review: Christi Wruck
Tested-by: Jenkins
2018-09-10 15:33:28 +00:00
Erin Hallmark 812f4f335c update api change log 2018-09-15
refs: DOC-816

Test plan:
- see additions for 2018-09-15
- make sure links work
- make sure page still looks pretty

Change-Id: I4359989d4ce7760c0dab43914ad3fa11f12b8c7d
Reviewed-on: https://gerrit.instructure.com/162772
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
QA-Review: Steven Burnett <sburnett@instructure.com>
2018-08-31 03:29:15 +00:00
Jacob Fugal 14f6d4e4a3 update upload-via-url api documentation
fixes RECNVS-554

this reflects a breaking API change, but it's already been deployed as
such for months

Change-Id: I371a8f6cc04f87975c02a46ea30e2d3316e1c085
test-plan: N/A
Reviewed-on: https://gerrit.instructure.com/160827
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
Tested-by: Jenkins
Product-Review: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
2018-08-30 15:50:22 +00:00
Nick Pitrak 8817e8ad94 add course completion live event
closes CAT-2293

test plan:
- add `:docker-compose/kinesis.override.yml` to your .env file
- do docker-compose up
- in another terminal window, type `AWS_ACCESS_KEY_ID=key
		AWS_SECRET_ACCESS_KEY=secret aws --endpoint-url
		http://kinesis.canvaslms.docker/ kinesis create-stream
		--stream-name=live-events --shard-count=1 --region=us-east-1`
- go to canvas.docker/plugins
- find the Live Events plugin
- select All Accounts and click Create Config
- deselect the Disable this Plugin checkbox
- enter the following information and save:
		Kinesis Stream Name	live-events
		AWS Region	us-east-1
		AWS Endpoint	http://kinesis:4567
		AWS Access Key ID	key
		AWS Secret Access Key	secret
- close and reopen docker-compose up
- create a course with a single student enrolled
- create an assignment with web text entry worth 10 points in a module
- create a requirement for the module to earn 10/10 on the assignment
- masquerade as the student
- submit the assignment
- stop masquerading
- type `docker-compose run --rm web script/tail_kinesis
		http://kinesis:4567 live-events` in another terminal window
- grade the assignment as a 10/10 for the student
- ensure an event appears with its event_name as "course_completed"

Change-Id: Iffd5d6148fadcb66da3f8eca3a4caa9355485a90
Reviewed-on: https://gerrit.instructure.com/161106
Tested-by: Jenkins
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Dariusz Dzien <ddzien@instructure.com>
Product-Review: Neil Gupta <ngupta@instructure.com>
2018-08-28 22:09:46 +00:00
Spencer Olson 3792afc12e api docs: add deprecation functionality + documentation
Adds the @deprecated_method, @deprecated_argument, and
@deprecated_response_field tags for API documentation. Also adds the
'deprecated', 'deprecation_notice', 'deprecation_effective', and
'deprecation_description' attributes for the API models and their
properties.

closes GRADE-1450

Test Plan:
1. Read the deprecation_README provided in this commit and verify you
   can deprecate methods, arguments, response fields, models, and
   model attributes. This verificiation process should include:
   - Verifying the `rake doc:api` command throws an error when invalid
     and/or missing parameters are used for the deprecation tags
   - Verifying the deprecations show up in the generated documentation
     (located at public/doc/api/index.html) after running
     `rake doc:api`.
2. Verify the @argument, @response_field, and @model tags still work
   and generate appropriate documentation when running `rake doc:api`

Change-Id: If6c2b0ee9fccbbd202990d8835c6266017e2dfa5
Reviewed-on: https://gerrit.instructure.com/138581
Reviewed-by: Gary Mei <gmei@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: Gary Mei <gmei@instructure.com>
Tested-by: Jenkins
Product-Review: Simon Williams <simon@instructure.com>
2018-08-16 18:27:55 +00:00
wdransfield d99d409780 Add anonymous grading substitution
Closes PLAT-2222

Test Plan:
- Create an assignment with anonymous_grading set to
  true.
- Launch a tool that uses the new
  'com.instructure.Assignment.anonymous_grading'
  substitution in a context of the assignment.
- Verify the parameter value is 'true'
- Set the anonymous_grading attribute of the
  assignment to false.
- Launch the tool again and verify the parameter
  value is 'false'

Change-Id: I8de86dd166a4bbae68b63aef08b0e4dc6dc9fbbf
Reviewed-on: https://gerrit.instructure.com/160935
Reviewed-by: Han Ngo <hngo@instructure.com>
Tested-by: Jenkins
Reviewed-by: Nathan Mills <nathanm@instructure.com>
QA-Review: Nathan Mills <nathanm@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
2018-08-16 15:40:27 +00:00
Frank Murphy 4159e09bc0 Match services docker workflow.
Fixes OUT-2367

There are now two scripts:
- docker_dev_setup.sh: will create / recreate the service
  and all databases locally
- docker_dev_update.sh: can be used to migrate the local
  master branch. Will also pull plugin changes and run the
  relevant migrations.

Both scripts now directly use parts of canvas_update under the hood,
which will hopefully make future workflow changes less painful.

Test Plan:
- With docker:
  - optional: create a new canvas checkout
    (you can use a different directory name to avoid destroying your
     current database)
  - git fetch
  - check out this gerrit, and use `git checkout -b 2367` to
    create a branch for it
  - git checkout origin/master~200
  - git checkout 2367 -- script
  - ./script/docker_dev_setup.sh (follow all prompts)
  - docker-compose up -d
  - login, accept the terms of use
  - docker-compose down
  - git checkout master
  - ./script/docker_dev_update.sh -n code
  - docker-compose up -d
  - login, verify you are not asked for terms of use and the school name
    is the same as before.
  - docker-compose down
  - ./script/docker_dev_setup.sh again (nuke the old database,
    change the root account name)
  - docker-compose up -d
  - login, accept the terms of use, verify the new account name

Change-Id: Ie40600d7ea1e90633d9139b4cc1cf853695ac8f8
Reviewed-on: https://gerrit.instructure.com/151547
Tested-by: Jenkins
Reviewed-by: Michael Brewer-Davis <mbd@instructure.com>
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
QA-Review: Dariusz Dzien <ddzien@instructure.com>
Product-Review: Neil Gupta <ngupta@instructure.com>
2018-08-14 17:08:58 +00:00
Brian Park 3afdafe5ae live events to caliper documentation
Closes PLAT-3625

Test Plan:
Verify documentation is visible and accurate.

Change-Id: Id4eacfc95620699be52561d34382d7b918282b42
Reviewed-on: https://gerrit.instructure.com/155649
Tested-by: Jenkins
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Jesse Poulos <jpoulos@instructure.com>
2018-08-14 16:29:54 +00:00
Keith T. Garner 0ec9969892 fix minor documentation errors found during docker setup
Change-Id: I1d9459e0a36e8ac49b75ac16da50b32e638cae60
Reviewed-on: https://gerrit.instructure.com/160379
Reviewed-by: Derek Bender <djbender@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
QA-Review: Keith T. Garner <kgarner@instructure.com>
Tested-by: Jenkins
2018-08-10 13:48:36 +00:00
Nathan Mills 28f2135f8c get the controller class name for scope gen
fixes PLAT-3608

test-plan:

-Add a scope to a dev key
-The quizzes scopes should be there

Change-Id: I4174109f50c9233c5ea717a9638c45cf48ba9a5f
Reviewed-on: https://gerrit.instructure.com/158068
Product-Review: Karl Lloyd <karl@instructure.com>
Tested-by: Jenkins
Reviewed-by: Marc Alan Phillips <mphillips@instructure.com>
QA-Review: Marc Alan Phillips <mphillips@instructure.com>
2018-07-19 20:53:45 +00:00
Nathan Mills 6079689a45 handle multiple controller resources for scope gen
fixes PLAT-3605

test plan:

-run the rake doc:api taks
-check that all the assignment scopes are present

Change-Id: I5197ab1db41f9bd0a4dba48c571873eb75fac999
Reviewed-on: https://gerrit.instructure.com/158026
Tested-by: Jenkins
Reviewed-by: August Thornton <august@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
2018-07-19 19:02:19 +00:00
Erin Hallmark 715081cb42 Update API Change Log for 2018-08-04 release
closes DOC-808

Test plan:
- View API change log and look at new
words for 2018-08-04 release
- View API change log archive link and
make sure new addition looks good
- Ensure both pages look pretty

Change-Id: I9676099a12a1587174d1c55966c91e063cddde5f
Reviewed-on: https://gerrit.instructure.com/157800
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
QA-Review: Steven Burnett <sburnett@instructure.com>
2018-07-18 16:00:23 +00:00
Clay Diffrient 2dc1d7fa86 Add a way to generate better js coverage
This should pick up coverage from both karma and jest
in Canvas proper.  It should also pick up coverage from anything under
packages/*

closes CORE-1265

Test Plan:
  - Run `COVERAGE=true yarn test`
     - Coverage reports (coverage-final.json) should generate in all
       packages such as (canvas-planner) as well as in coverage-karma
       and coverage-jest
  - Run `yarn run test:coverage`
     - coverage-js folder should be generated.  Opening index.html
       should show the full coverage report
  - Remove coverage-{js, karma, jest} and
    packages/canvas-planner/coverage as well as .nyc_output to get back
    to a clean state
  - Run `RUN_TESTS_FIRST=true yarn run test:coverage`
     - All tests should run and generate the appropriate report just
       like the last time in coverage-js

Change-Id: I50744b8977e0683e079af5bdd2865dbcd6ad9066
Reviewed-on: https://gerrit.instructure.com/146098
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
2018-07-17 14:19:03 +00:00
Jeremy Stanley 0d460cbb90 fix array form parameters in live api docs
test plan:
 - go to /doc/api/live
 - enter an API token and click "Save token"
 - expand "Courses" and "Update courses"
 - enter an account_id and one or more course_ids
   separated by commas
 - click "Try it out"
 - the request should succeed

fixes ADMIN-1124

Change-Id: I6d796fd33d0d6da88a3975617b7e0956de56cd29
Reviewed-on: https://gerrit.instructure.com/156289
Reviewed-by: Mysti Sadler <mysti@instructure.com>
Reviewed-by: Carl Kibler <ckibler@instructure.com>
Tested-by: Jenkins
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2018-07-16 16:53:06 +00:00