Commit Graph

173 Commits

Author SHA1 Message Date
Alex Shafer f6ce587231 Correct minor typo in docker development documentation 2015-09-13 11:14:16 -04:00
Zach Wily 75b9a4db24 switch guard from polling
Change-Id: I294165c7e62c088973f883612d40998b8a8ca523
Reviewed-on: https://gerrit.instructure.com/59978
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins
Product-Review: Zach Wily <zach@instructure.com>
QA-Review: Zach Wily <zach@instructure.com>
2015-08-17 22:36:23 +00:00
Jeremy Stanley ac7e8d3c52 add data-api-endpoint for module links in user content
test plan:
 - in a wiki page, use the wiki sidebar to create links to the
   Modules List and to a specific module
 - save the page
 - inspect the page source and you should find data-api-endpoint
   and data-api-returntype attributes on these links
   as documented at /doc/api/file.endpoint_attributes.html

fixes CNVS-22381

Change-Id: If805689a3974f6e101d5c640521da53b19db585d
Reviewed-on: https://gerrit.instructure.com/60235
Tested-by: Jenkins
Reviewed-by: James Williams  <jamesw@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2015-08-07 20:46:09 +00:00
Cody Cutrer d32e72c569 allow setting auth providers on sis import
test plan:
 * create an auth provider
 * do an sis import without auth provider; it should still work
 * specify the auth provider by name in the import; it should work
 * specify the auth provider by id in the import; it should work

Change-Id: I71f381a1bc140c3992cac6eb45bb077e5bd26baa
Reviewed-on: https://gerrit.instructure.com/59558
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2015-08-07 20:23:45 +00:00
Cody Cutrer 6215c30ec2 fix typo
Change-Id: I1d7d727afbfda7d570422acbdff60aa52bc70008
2015-07-15 10:03:01 -06:00
Erik Ordway 0ca4060b43 typos 2015-07-15 10:02:14 -06:00
Erik Ordway 58eb745f1b add clarifications
Around when the effects of changing the password in users.csv of a SIS import happen.
2015-07-15 10:02:08 -06:00
Erik Ordway 66b54bdf6d Warn about the combination of SIS, passwords, and LDAP or an SSO protocol 2015-07-15 10:02:02 -06:00
Ryan Shaw f6edb77702 s/jammit_css/css_bundle
with the new css stuff, we don't actually use
jammit so jammit_css has been renamed to css_bundle.

we left an aliased jammit_css and marked it deprecated
so these all still worked but spit out a deprecation warning.

Change-Id: Ib74037711f559f64851d9379644479587c1f83f2
Reviewed-on: https://gerrit.instructure.com/55888
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2015-07-07 21:26:35 +00:00
Ryan Shaw ae7a7b6826 cleanup some sass files
this does the following:

* renames some sass files to put a "_"
at the beginning of their filenames so they are
used as a sass partial.

* fixes some bad css syntax

* doesn't include all of "common" in the "styleguide"
  bundle, and instead loads "common" seperately
  on the styleguide page

* removes "canvas_icons" from conversations bundle
  since it is already included in "common"

this is all to get ready for the new sass system

test plan:
nothing actually changes.
load /styleguide, make sure it looks right
load conversations, make sure it looks right

Change-Id: Ief7613b0b2edbb0ba63d961c20e250aafe695cdd
Reviewed-on: https://gerrit.instructure.com/54804
Tested-by: Jenkins
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
2015-06-05 21:18:21 +00:00
James Williams 1242eff9b0 endpoint for identifying assignments for bulk grade export
also adds a feature flag for bulk sis grade export

test plan:
* enable the bulk sis grade export flag
* teachers should be able to mark assignments
 as postable to SIS (same as if the
 "Post Grades to SIS" flag is enabled)

* should be able to reach the API GET endpoint
(should be documented under the SIS Integration category)

 /api/sis/grade_export/accounts/:account_id/assignments

* this should return a list of course and assignment ids
 corresponding to the assignments with this checkbox marked

closes #SIS-1058

Change-Id: Ic1017d494ead63f1c9433f1cda93bc3c6ca4580c
Reviewed-on: https://gerrit.instructure.com/54418
QA-Review: Clare Strong <clare@instructure.com>
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
2015-05-27 15:33:37 +00:00
Zach Wily 51c8eefb2b send asset accesses as live events
We already have several asset accesses instrumented via
log_asset_access, so this captures those and sends them to the live
events as well. In order to better categorize the data, the synthetic
keys generated like "syllabus:course_1234" have been changed to arrays,
so that we can break that data apart in the live events without parsing
the string.

test plan:
 * Ensure that asset accesses are still being logged normally
 * Ensure that asset accesses also get sent as live events. (See
   change Id799688c972205a1eee84a673912f84b0c7abb57 for more information
   about that.)

Change-Id: I947a7f8b1d104bfafba96c30b81d0cb9bae81b9d
Reviewed-on: https://gerrit.instructure.com/50521
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Product-Review: Zach Wily <zach@instructure.com>
2015-05-05 12:52:50 +00:00
Zach Wily 1bb6e4509a spec: ensure we wait for a new page load when doing a get
This is another attempt to fix selenium spec reliability. Without this
change, when doing a `get` on a URL, we weren't waiting for the new page
to actually load before doing our checks. This leads to stale element
errors, etc.

We do have to be sure to *not* wait for a new page load if the target
URL is the same as the current URL, but with a different hash.

Running the following command:

```
for i in $(seq 10); do
  echo "**** $i"
  bundle exec rspec -e "moving outcomes tree should move a learning outcome group via tree modal" spec/selenium/
done
```

would fail at least half the time without this patchset, and never fails
with it (in my testing).

Change-Id: I2d707f96d7713f69be865355d8a78bad1261d446
Reviewed-on: https://gerrit.instructure.com/53211
Tested-by: Jenkins
Reviewed-by: Zach Wily <zach@instructure.com>
Product-Review: Zach Wily <zach@instructure.com>
QA-Review: Zach Wily <zach@instructure.com>
2015-05-02 13:21:05 +00:00
Strand McCutchen d6597c107c fix Style/EmptyLineBetweenDefs issue
Change-Id: Ib7b824043a7ac9196f06020e2ca42fe983565f0d
fixes: CNVS-20009
Reviewed-on: https://gerrit.instructure.com/52919
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: Strand McCutchen <smccutchen@instructure.com>
QA-Review: Strand McCutchen <smccutchen@instructure.com>
2015-04-29 16:28:39 +00:00
Rob Orton e177a05d72 udpate csv diffing documentation
Change-Id: Iaad654b3c468cc76e7d670044ceffa524140f04e
Reviewed-on: https://gerrit.instructure.com/52564
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
2015-04-22 20:02:45 +00:00
Ethan Vizitei 54ba883c44 don't forget initial setup for your database when using docker-compose
DOCS CHANGE ONLY, NO TEST PLAN

Change-Id: Iac0b289b4e7b7a553d959bd72f5e0e313a00c657
Reviewed-on: https://gerrit.instructure.com/51443
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
2015-04-11 14:10:36 +00:00
Cody Cutrer 47cced0c4d add headers to inform the client where they stand for throttling
test plan:
 * enable redis
 * watch your resposne headers - they should include
   X-Request-Cost and X-Rate-Limit-Remaining, and make
   sense (per-request cost, and remaining goes down
   after each request, but goes back up the longer
   you wait)

Change-Id: I15dd73d3e024a956fd908dad4f41c498fdad0514
Reviewed-on: https://gerrit.instructure.com/51529
Tested-by: Jenkins
Reviewed-by: Ethan Vizitei <evizitei@instructure.com>
QA-Review: Ethan Vizitei <evizitei@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
2015-04-09 15:52:22 +00:00
Zach Wily 5d232f03af initial live events implementation
This commit adds a new module called LiveEvents that knows how to send a
certain set of events to Kinesis. The module is configured via
normal plugin settings per account. Once the plugin is configured with
a Kinesis stream, events will start getting sent to that stream.

Events are sent asynchronously, in a background thread.

test plan:
 * See `doc/live_events.md` for instructions on how to setup a local
   kinesis stream and configure the LiveEvents plugin.
 * Start tailing the stream with the command specified in
   `doc/live_events.md` in a terminal.
 * Perform the actions described in `doc/api/live_events.md` and verify
   that events show up in your Kinesis terminal with the correct data.

Change-Id: Id799688c972205a1eee84a673912f84b0c7abb57
Reviewed-on: https://gerrit.instructure.com/50324
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
Product-Review: Zach Wily <zach@instructure.com>
2015-04-03 15:22:33 +00:00
Zach Wily 2335fbf70e documentation updates for docker-compose usage
Change-Id: I261a5865a1e8a9a834d9261acd513b85a6836605
Reviewed-on: https://gerrit.instructure.com/51245
Reviewed-by: Brian Palmer <brianp@instructure.com>
Product-Review: Zach Wily <zach@instructure.com>
QA-Review: Zach Wily <zach@instructure.com>
Tested-by: Zach Wily <zach@instructure.com>
2015-03-30 21:42:59 +00:00
Brian Palmer 4b42a9f66d docker-compose based dev environment
Adds a docker-compose.yml file, some containers for dependencies, and
some docker-compose-friendly config files. See
doc/development_with_docker.md for instructions on how to use.

Change-Id: I5eaee8a3e3c84bb608282bfd44ec7d49a123ef5f
Reviewed-on: https://gerrit.instructure.com/45508
Reviewed-by: Zach Wily <zach@instructure.com>
Reviewed-by: Addison Higham <ahigham@instructure.com>
Reviewed-by: Brian Palmer <brianp@instructure.com>
Tested-by: Jenkins
Product-Review: Zach Wily <zach@instructure.com>
QA-Review: Zach Wily <zach@instructure.com>
2015-03-30 20:59:48 +00:00
Colleen Palmer 4061b2e562 Styleguide Updates
fixes: CNVS-19415

This makes it so our styleguide nav doesn't have smooth scrolling
and the Tour link is no longer available in the sub-menu.

Test Plan:
- Go to /styleguide and click on something, you should be brought
directly to the section
- Go to Patterns. "Tour Popups" should no longer be in the sub-menu

Change-Id: Ie9396130655b5d6fab19c1a64f9a5625e6c19f22
Reviewed-on: https://gerrit.instructure.com/50660
Reviewed-by: Chris Hart <chart@instructure.com>
Product-Review: Chris Hart <chart@instructure.com>
Tested-by: Jenkins
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
2015-03-23 21:17:03 +00:00
Brian Palmer c212a473fd SIS CSV diffing
This opt-in preprocessing pass does a diff on the current SIS Import against
the last successful import tagged with the same "data set identifier",
and generates a new zip of CSVs containing only the diff between the
two. It then continues with the import as normal, applying that diff'd
zip, greatly speeding up large imports where most data doesn't change.

closes CNVS-18432

test plan:

Exercise the new diffing options using the diffing_data_set_identifier
and diffing_remaster_data_set api options. See the new API
documentation for details and expected limitations. Edge cases include:
- zips that contain multiple CSVs for the same data type (won't diff)
- failed SIS imports (shouldn't diff against these)
- remasters should skip doing the diff, but should be diffed against on
  the next import

We don't expose any functionality for downloading SIS data that has been
uploaded, but you can grab it from the rails console:

> SisBatch.find(<batch id>).attachment.authenticated_s3_url
and
> SisBatch.find(<batch id>).generated_diff.authenticated_s3_url

Change-Id: I40d5e5ca8c376cecd685f4d06012f11bac021599
Reviewed-on: https://gerrit.instructure.com/48428
Tested-by: Jenkins
Reviewed-by: Jacob Fugal <jacob@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Tyler Pickett <tpickett+gerrit@instructure.com>
Product-Review: Linda Feng <lfeng@instructure.com>
2015-02-26 15:53:01 +00:00
Colleen Palmer 59f987164a New Styleguides page does not scroll properly when you click
on "Cogs"

fixes: CNVS-18169

Test Plan:
- Go to /styleguide
- Click on "Cogs" under Components; it should now scroll to the
correct place

Change-Id: If1f104fb84934a489a6df6783ccda85eeb1715e7
Reviewed-on: https://gerrit.instructure.com/48675
Tested-by: Jenkins
Reviewed-by: Chris Hart <chart@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
2015-02-19 21:24:55 +00:00
James Williams 691ff1578b export and import role_id column on sis csv's
test plan:
* run an sis export (account report)
* note the presence of role_ids on enrollment.csv's
* should be able to specify a role_id in the column
 and import for a specific custom role

refs #CNVS-18343

Change-Id: I4f6232b872ba5aa9fc311d5506f80e47af01a504
Reviewed-on: https://gerrit.instructure.com/48568
Tested-by: Jenkins
QA-Review: Clare Strong <clare@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
2015-02-12 19:53:13 +00:00
Chris Hart 8a1f723162 New Forms CSS for Canvas
Fixes: CNVS-15541

New forms CSS, built from scratch to make it easier
for Canvas developers to build responsive, accessible,
and beautifully laid-out form UIs.
The new forms CSS is:

- Responsive. Everything should scale down nicely for
  smaller screen sizes.
- Accessibile out of the box. Revamped :focus styles
  for the high-contrast UI.
- Browser tested on IE10/11, Firefox, Webkit and iOS
- Interoperable. All forms components should work
  together in almost any configuration. Plenty of examples
  are included for building all types of form UI.
- Backwards-compatible. The existing Bootstrap 2.x
  forms are not affected by this commit. Everything is
  scoped under new .ic- classes.
- Easy on the eye: new custom checkboxes and radio
  buttons, as well as updated form message boxes for
  warning, error, and success states.

QA Test Plan:

- Go to /styleguide and click on Forms CSS on the left
  menu.
- Test each example.
- Please note that this work should not affect any current
  forms in Canvas. Unless a form element has one of the new
  .ic- classes, it won't inherit any of the new styles.

Change-Id: I9d9c2c13b6c8ce714433f47efe86343528738fbc
Reviewed-on: https://gerrit.instructure.com/46841
Tested-by: Jenkins
Reviewed-by: Colleen Palmer <colleen@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
2015-02-02 20:49:47 +00:00
Bracken Mosbacker 3e5bcd4acc add resultTotalScore for LTI 1 outcome service
fixes CNVS-17784

Change-Id: Ie61a0f76220a38ed40465b07c22530b644933167
Reviewed-on: https://gerrit.instructure.com/46566
Tested-by: Jenkins
Reviewed-by: Alex Boyd <aboyd@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
Reviewed-by: Eric Berry <ericb@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
2015-01-27 17:59:08 +00:00
Colleen Palmer bee628cf22 Big Styleguide UX Upgrade
ref CNVS-16922

This adds a whole new look and feel to our Styleguide!

QA Test Plan:
- Go to /styleguide
- See all the new look and feel!
- I should look similar to this: http://invis.io/CT1QH2OHX
(small changes have been made from static to digital guide, ux
is aware of those changes)
- Make sure all navigation items in subnav go their proper places
- See notes

Notes:
- This only affects /styleguide and does not touch any canvas
styles.
- This is purely aesthetic - no functionality had changed
- Right now all the sections are being loaded onto one page; we
know this and plan on making improvements to hide/show per top nav
item in future iterations
- There is a 1px border when you shift between sections on Firefox,
ux is ok with this.
- We are aware that sometimes the automatic scrolling seems "fast"
but will change that in a future iteration

Change-Id: I0ef10c78d3fccc83bb1923970d6fc884298b6775
Reviewed-on: https://gerrit.instructure.com/47716
Reviewed-by: Chris Hart <chart@instructure.com>
Product-Review: Chris Hart <chart@instructure.com>
Tested-by: Jenkins
QA-Review: Derek Hansen <dhansen@instructure.com>
2015-01-23 21:52:36 +00:00
Spencer Miller 5e35b69e45 Fix broken link to IMS LTI spec in Grade Passback documentation
fixes CNVS-17926

Change-Id: Ib74b5552a1c622520546a60aadf4812a28514f58
Reviewed-on: https://gerrit.instructure.com/46990
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2015-01-19 20:37:57 +00:00
Duane Johnson 67038cf144 add array support to Live API doc page
Array type arguments were not being sent as Rails-style arrays in
the request params.

See https://github.com/instructure/canvas-lms/issues/564

Test Plan:
- in the /doc/api/live page
- send a request that includes an array-type param
  (e.g. Submissions -> List submissions for multiple assignments)
- comma-separated values should be interpreted as multiple items
- items should be passed back to Canvas as Rails-style query params

Fixes SIS-752
Fixes GH-564

Change-Id: I310755f2d4cb648a6f4dd33a531d975205a86613
Reviewed-on: https://gerrit.instructure.com/46745
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Tyler Pickett <tpickett+gerrit@instructure.com>
QA-Review: Kausty Saxena <ksaxena@instructure.com>
Product-Review: Nick Houle <nhoule@instructure.com>
2015-01-15 18:01:34 +00:00
Colleen Palmer ae6cdd069c Take off new style flags on styleguide
fixes CNVS-17517

This takes off the flag we had on the styleguide.

Test plan:

- with the flag off look at the styleguide, now turn the flag on and
you should see exactly the same thing :)

- note: a big indicator is the background color on the side nav, it
should consistently stay the light gray color from the original one

Change-Id: I95b1f0e8d86f53043fb64e8b62cd9fc76cc63fc5
Reviewed-on: https://gerrit.instructure.com/45825
Reviewed-by: Chris Hart <chart@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
2015-01-02 18:50:49 +00:00
James Williams 2c69f3966b remove non-draft-state everything
test plan:
* basic regression test on assignments, discussion topics
 gradebook, and modules (mostly make sure the basic
 index/show/edit views aren't broken)

closes #CNVS-15563

Change-Id: I3411bfb7645b3c4bf8a4663e3e052b4402f899ba
Reviewed-on: https://gerrit.instructure.com/43609
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
2014-12-10 17:57:18 +00:00
Ben Young 3f0ad479b0 Remove account-specific information from term sis csv section
Change-Id: Ib6b8e4845f8bcac337f7418f99c618a4ae3264c5
Reviewed-on: https://gerrit.instructure.com/39830
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Duane Johnson <duane@instructure.com>
Reviewed-by: Duane Johnson <duane@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
2014-12-03 17:40:03 +00:00
Duane Johnson 447e51feb5 api docs: use array type instead of 'tags'
We had incorrectly implemented the swagger 1.2 spec with regard to
arguments that accept arrays. Rather than using a "tags" key, we
should have been using an "items" key. Change the canvas swagger
json generator to use "items": { type: "<type>" }

Test Plan:
- JSON output from `rake doc:api` should not have any "tags" keys
- JSON output should have, e.g. "items": { "type": "string" } in
  APIs whose arguments are array types and previously were
  described as "tags"

Fixes SIS-647

Change-Id: I262b1ced1d659332b430890fb5a2cf6e5c8909ee
Reviewed-on: https://gerrit.instructure.com/44246
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ken Romney <kromney@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Tyler Pickett <tpickett+gerrit@instructure.com>
2014-11-12 18:27:39 +00:00
Karl Lloyd 51ceed0f40 update link in api doc to request a Developer key
Change-Id: I1f3e47d253eea6a16b9fecaf8fe3e5eb5c5381a4
Reviewed-on: https://gerrit.instructure.com/43516
Product-Review: Brad Humphrey <brad@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: Brad Humphrey <brad@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2014-11-12 16:07:26 +00:00
Bracken Mosbacker 9c9d01dc95 add documentation for xapi service
So that people know how to use it.

Test Plan:
 * It shows up in the api docs

Change-Id: I3f1c1d8418a9d722d2f43011c5839140922c0950
Reviewed-on: https://gerrit.instructure.com/43628
Reviewed-by: Braden Anderson <braden@instructure.com>
QA-Review: Braden Anderson <braden@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2014-10-31 02:38:32 +00:00
Duane Johnson ede8bff78a log errors to console instead of failing page
Previously, if there were any errors in the API docs (such as a
missing nickname) then the whole 'live' API docs page would fail
to load. This corrects the problem by making the errors into
console warnings.

Test Plan:
- load /doc/api/live
- there should be no message "SwaggerOperations must have a
  nickname" at top center
- API calls should work (with an API key set)

Fixes SIS-557

Change-Id: Iecd545564a5f7e1277b56e0a261a718c23856174
Reviewed-on: https://gerrit.instructure.com/41749
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Reviewed-by: Ken Romney <kromney@instructure.com>
Product-Review: Duane Johnson <duane@instructure.com>
2014-09-25 17:09:48 +00:00
Chris Hart e23217324a Add Flexbox Grid to Canvas Styleguide
Towards: CNVS-15062

Test plan:
Code test -
- Review implementation of Flexbox Grid in Canvas
- Is the grid stylesheet ok in the /vendor directory, even
  though it is slightly modified by us?
- Should we consider converting the grid classes to silent
  classes that we extend with something more BEM-y? My
  inclination is no, because I like how clear and universally
  known the Bootstrp classes have become; but it is worth
  a debate!

QA test -
- Go to /styleguide on supported browsers and make
  sure there is a new Grid section
- Make sure each example works properly

Change-Id: Ia164297a88d3e2a22ae69422232c2e93889aab7d
Reviewed-on: https://gerrit.instructure.com/40069
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Colleen Palmer <colleen@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Product-Review: Chris Hart <chart@instructure.com>
2014-09-03 19:39:48 +00:00
Colleen Palmer 837e130778 Initial new_styles styleguide
fixes CNVS-14529

What it does:

- Adds feature flags for new styleguide styles
- Strips out un-needed variable highcontrast (these will need to
be set per element, not on the main color variables)
- Changes gemfile to point to temporary dress_code repo: we need this
so the dress_code generator strips out the parent tag

Test plan:

- get new gem: bundle install
- get new styles: npm run compile-sass
- regenerate styleguide: rake css:styleguide
- Make sure new_styles is disabled. You can do this in rails console:
Account.find(1).disable_feature!(:new_styles)
- Go to /styleguide and it should look the same as it does now
- Now turn on the feature flag. In rails console:
Account.find(1).enable_feature!(:new_styles)
- Refresh /styleguide and you should see are base starter styles for
the new look and feel!

Note: The new styleguide components are a wip and this request just
adds in the layout and styles specifically for the /styleguide page
to use while we work through all the components. You will notice
some funky looking ui - that's normal. We will be attacking these
components piece by piece.

Change-Id: I952b36346df77f98ddb7bbc5e27ab9b45ab4d8ca
Reviewed-on: https://gerrit.instructure.com/39600
Reviewed-by: Chris Hart <chart@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
2014-08-27 17:43:50 +00:00
Duane Johnson 51c3a893e7 fix optional/required API doc args
Logic was incorrect in the last update (SIS-399).

Test Plan:
- args marked as "optional" should be "required:false" in the
  API json
- args marked as "required" should be "required:true" in the
  API json

Fixes SIS-474

Change-Id: I5bb73c5a67fd820f1a73014437308825a3f1e2e3
Reviewed-on: https://gerrit.instructure.com/39735
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ken Romney <kromney@instructure.com>
Product-Review: Duane Johnson <duane@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
2014-08-27 14:51:09 +00:00
Duane Johnson d7b0fc4a3d allow API Doc args to use "Required"
This is a step toward making auto-generated code from docs not
trip up over every new argument that has been added (developers
often forget to mark new arguments as "Optional" which makes them
default to required. We want new arguments to default to
optional.)

Fixes SIS-399

Change-Id: I8cfa5516a6fdb1b0461bca3fa34fd80a763686ba
Reviewed-on: https://gerrit.instructure.com/38574
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ben Young <byoung@instructure.com>
Reviewed-by: Tyler Pickett <tpickett+gerrit@instructure.com>
Product-Review: Tyler Pickett <tpickett+gerrit@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
2014-08-07 01:06:04 +00:00
James Williams 81558f728c remove rails 2 support
closes #CNVS-14261

Change-Id: I1b0e8a4438ab659ecd1ac8462bc3559d810989b3
Reviewed-on: https://gerrit.instructure.com/38744
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
2014-08-06 18:16:19 +00:00
Duane Johnson 3655a63696 handle swagger exception for array objects
When docs have an 'array' type that has no 'items', it is causing
an exception that prevents the Swagger UI from loading. This patch
will fix it and help diagnose future issues.

Fixes SIS-351

Change-Id: Ia41299cbcfb0e6e1efe77b21ea7427ab65e51999
Reviewed-on: https://gerrit.instructure.com/37529
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Reviewed-by: Tyler Pickett <tpickett+gerrit@instructure.com>
Product-Review: Eric Adams <eadams@instructure.com>
2014-07-17 14:45:51 +00:00
Rob Orton 66aab69cce fixes broken links in api documentation to LTI
fixes CNVS-13740

test plan
 - run rake doc:api
 - /doc/api/file.tools_intro.html should render
 - links to LTI resources should work

Change-Id: Ifb90b0f23ef84d3376fea445057ded2a256d820b
Reviewed-on: https://gerrit.instructure.com/36816
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
2014-06-26 15:27:13 +00:00
Duane Johnson b1135574fb swagger UI: handle arrays in Rails format
Arrays in Swagger UI are not being sent in Rails format, i.e. they are not given "[]" suffix. Comma-separated values in Swagger UI should work as arrays.

Test Plan:
- create 2 new courses (let's say with IDs 12 and 13)
- go to Courses / Update Courses in Canvas Live API (swagger UI)
- publish 2 or more courses, e.g.
    account_id: 1
    course_ids: 12, 13
    event: offer
- both courses should now be "published"
- (any other array-type things in the API should also work too)

Fixes SIS-330

Change-Id: I867feaa93a98546426b6a6ff40c11ce56dc43b7a
Reviewed-on: https://gerrit.instructure.com/36575
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Tyler Pickett <tpickett+gerrit@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Eric Adams <eadams@instructure.com>
2014-06-19 16:56:55 +00:00
Brian Palmer 697f2d337c fix oauth doc typo
Change-Id: Ic4ff44f2e62ee34e49c0f5e90e3eff83cc629703
Reviewed-on: https://gerrit.instructure.com/36475
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
2014-06-17 17:26:56 +00:00
Brian Palmer 60f153ee18 update oauth docs for state param
refs CNVS-13008

test plan: n/a

Change-Id: Ia37c9500a47bde2ee758da331e03d3a8bdbaf7d7
Reviewed-on: https://gerrit.instructure.com/36413
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Nick Cloward <ncloward@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
2014-06-16 19:09:06 +00:00
Brian Palmer 105a873917 updates to oauth docs
for token sending and manual generation

refs CNVS-13008

test plan: n/a

Change-Id: I74ad75f6fad0033b7407bcc9555ffe71451470ef
Reviewed-on: https://gerrit.instructure.com/36412
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Nick Cloward <ncloward@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brian Palmer <brianp@instructure.com>
2014-06-16 19:08:57 +00:00
Duane Johnson 21de3036c0 remove 'the' from API doc generated nicknames
Auto-generated method names sometimes have 'the' in them. Remove 'the' to be consistent with the removal of articles 'a' and 'an'.

Test Plan:
- The following APIs should no longer have "the" in their
  nicknames (autogenerated JSON files):

  Accounts API:
    get_the_sub_accounts_of_account
    change_the_domains_for_account

  Assignments API:
    redirect_to_the_assignment_override_for_group
    redirect_to_the_assignment_override_for_section

  Discussion Topics API:
    get_the_full_topic_courses
    get_the_full_topic_groups
    get_the_full_topic_collection_items

  Groups API:
    list_the_groups_available_in_context_accounts
    list_the_groups_available_in_context_courses

  Quiz Statistics API:
    fetching_the_latest_quiz_statistics
    create_the_quiz_submission_start_quiz_taking_session
    complete_the_quiz_submission_turn_it_in

  Users API:
    list_the_activity_stream_self
    list_the_activity_stream_activity_stream
    list_the_todo_items

Fixes SIS-312

Change-Id: I6de521305605fe75b399889563f6d0b290cdf468
Reviewed-on: https://gerrit.instructure.com/35917
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Ken Romney <kromney@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Eric Adams <eadams@instructure.com>
2014-06-06 21:34:48 +00:00
Ahmad Amireh cc1f4688fc Quiz Stats - Multiple Answers
Ports the generation of stats for that question type to the CQS gem.

Changes:

  - no longer exposing "user_ids"
  - can now identify students who skipped the question

Closes CNVS-13089

TEST PLAN
---- ----

  - create a quiz with multiple-answer question(s)
  - take it by a number of students and cover the following cases:
    - answer correctly by picking only the right choices
    - answer almost correctly by:
      1. picking only 1 right choice
      2. picking 1 right and 1 wrong choices
      3. picking everything
    - answer incorrectly by picking only the incorrect choice(s)
    - don't answer at all
  - get the stats from the API:
    - for "responses", "correct", and "partially_correct", verify they
      meet the specification in the docs
      - also for the "responses" field in each document in "answers"
    - verify that there is an answer document with "none" for an id with
      "responses" that reflect the number of students that skipped the
      question
  - visit ember quiz stats:
    - verify the "Attempts: X out of Y" should read the "responses"
      field out of the total quiz participant count
    - verify the donut chart reads the correct "correct" response ratio
    - verify there is a "No-Answer" bar
    - expand the question details:
      - verify that all the choices are displayed, and the correct
        choices are highlighted in GREEEN

Change-Id: Ibc08b6f521f9cae35dd16950c68c164d7e27d95d
Reviewed-on: https://gerrit.instructure.com/35736
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2014-06-05 09:12:19 +00:00
Ahmad Amireh 625f60ce97 Quiz Stats - Short Answer
Closes CNVS-13386

TEST PLAN
---- ----

  - similar to multiple-choice in https://gerrit.instructure.com/35734
    but with this question type with a few minor differences:
    - "correct" metric, see docs
    - "other"/"unknown" answer should be generated only if any student
      writes an answer that is not correct

Change-Id: I2d56afc0d9c1a3620d4de96059ebdadc56baecf9
Reviewed-on: https://gerrit.instructure.com/35735
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2014-06-05 09:12:07 +00:00