Commit Graph

335 Commits

Author SHA1 Message Date
Waheed Ahmed
7646433995 Added course in exception message for InvalidTabsException. 2015-08-27 13:07:43 +05:00
zubair-arbi
ec28a75f14 In-course reverification access control
* Automatically create user partitions on course publish for each ICRV checkpoint.
* Disable partitions for ICRV checkpoints that have been deleted.
* Skip partitions that have been disabled when checking access.
* Add verification access control UI to visibility settings.
* Add verification access control UI to sequential and vertical settings.
* Add partition scheme for verification partition groups.
* Cache information used by verification partition scheme and invalidate the cache on update.
* Add location parameter to UserPartition so the partition scheme can find the associated checkpoint.
* Refactor GroupConfiguration to allow multiple user partitions.
* Add special messaging to ICRV for students in the honor track.

Authors: Zubair Arbi, Awais Qureshi, Aamir Khan, Will Daly
2015-08-20 08:43:55 -07:00
Andy Armstrong
01065b6ae5 Merge pull request #9217 from edx/andya/land-teams
Enable teams and deprecate the advanced setting
2015-08-13 17:47:15 -04:00
Waheed Ahmed
aff849281d Revert "Test library failed to export after import"
This reverts commit 4c1c4619f0.
2015-08-12 02:06:09 +05:00
Andy Armstrong
e845dda8b0 Enable teams and deprecate the advanced setting 2015-08-07 10:35:19 -04:00
Syed Hassan Raza
4c1c4619f0 Test library failed to export after import 2015-08-05 12:47:27 -07:00
Chris Dodge
3748119961 Integrate timed and proctored exam authoring into Studio 2015-07-23 14:43:17 -04:00
Sarina Canelake
49f78b4742 Remove logging-not-lazy Pylint violations 2015-07-13 17:34:54 -04:00
Sarina Canelake
8283c07e32 Remove superfluous-parens pylint violations
Skipped 'print' statement violations, as print() is Py3k syntax.
2015-07-13 17:33:28 -04:00
David Ormsbee
79de77cf95 Optimize grading/progress page to reduce database queries (cache max scores).
The progress page did a number of things that make performance terrible for
courses with large numbers of problems, particularly if those problems are
customresponse CapaModule problems that need to be executed via codejail.

The grading code takes pains to not instantiate student state and execute the
problem code. If a student has answered the question, the max score is stored
in StudentModule. However, if the student hasn't attempted the question yet, we
have to run the problem code just to call .max_score() on it. This is necessary
in grade() if the student has answered other problems in the assignment (so we
can know what to divide by). This is always necessary to know in
progress_summary() because we list out every problem there. Code execution can
be especially slow if the problems need to invoke codejail.

To address this, we create a MaxScoresCache that will cache the max raw score
possible for every problem. We select the cache keys so that it will
automatically become invalidated when a new version of the course is published.

The fundamental assumption here is that a problem cannot have two different
max score values for two unscored students. A problem *can* score two students
differently such that they have different max scores. So Carlos can have 2/3 on
a problem, while Lyla gets 3/4. But if neither Carlos nor Lyla has ever
interacted with the problem (i.e. they're just seeing it on their progress
page), they must both see 0/4 -- it cannot be the case that Carlos sees 0/3 and
Lyla sees 0/4.

We used to load all student state into two separate FieldDataCache instances,
after which we do a bunch of individual queries for scored items. Part of this
split-up was done because of locking problems, but I think we might have gotten
overzealous with our manual transaction hammer.

In this commit, we consolidate all state access in grade() and progress()
to use one shared FieldDataCache. We also use a filter so that we only pull
back StudentModule state for things that might possibly affect the grade --
items that either have scores or have children.

Because some older XModules do work in their __init__() methods (like Video),
instantiating them takes time, particularly on large courses. This commit also
changes the code that fetches the grading_context to filter out children that
can't possibly affect the grade.

Finally, we introduce a ScoresClient that also tries to fetch score
information all at once, instead of in separate queries. Technically, we are
fetching this information redundantly, but that's because the state and score
interfaces are being teased apart as we move forward. Still, this only
amounts to one extra SQL query, and has very little impact on performance
overall.

Much thanks to @adampalay -- his hackathon work in #7168 formed the basis of
this.

https://openedx.atlassian.net/browse/CSM-17
2015-07-09 10:03:58 -04:00
Zia Fazal
bcbd1464d4 New course cannot be started till web certificate is active
fixed broken test

changes based on feedback on 6/24

fixed broken unit test after feedback changes

added more checks and updated tests

fixed broken bok choy test

Fixed pylint quality error

trying to fix pylint quality error
2015-06-29 12:53:21 +05:00
Calen Pennington
a25f91da69 Fix XBlock inheritance ordering. XBlockMixin and derivatives should always come after XBlock and derivatives 2015-06-26 11:05:38 -04:00
Kyle McCormick
1726c136fa MA-772 create app course_overviews for caching course metadata 2015-06-22 18:33:12 -04:00
Greg Price
d18b24b051 Add discussion API course endpoint
This endpoint returns course metadata relating to discussions as a
starting point for clients.
2015-06-16 11:27:54 -04:00
Kelketek
cda26bb94d Merge pull request #8173 from edx/badges
OpenBadges MVP (SOL-768)
2015-06-02 14:30:59 -05:00
Jonathan Piacenti
81877300cd Implement OpenBadge Generation upon Certificate generation through Badgr API 2015-06-02 18:32:50 +00:00
amir-qayyum-arbisoft
6a41cd7bfa Added ccx enable/disable flag to advance settings and show hide ccx coach option on lms 2015-06-02 19:43:42 +05:00
Matt Drayer
af7277cdd9 New Feature: Certificates Web View
- SOL-465: Initial implementation of certificates web view and signatories (names/titles)

- SOL-718 Close button is working properly

- SOL-801 Backbone Signatories Modeling

- SOL-803 Underscore template: Editor (Add)

- SOL-802 Signatories: Underscore template - Details

- SOL-804 Signatories: Underscore template: Editor (Edit)

- Add signatory delete Django view

- SOL-805 Signatory editor (Delete)

- Add Coffeescript router

- SOL-716 Jasmine Tests

- Added missing minified JS library

- client side validation of signatory fields

- SOL-390 signatories names

- Remove obsolete extends Sass files

- input maxlength limiting for signatory information

- SOL-389: Course title override

- SOL-466: Add capability to upload digitized signatures in Studio

- ziafazal: fixed css for upload signature image

- ziafazal: completed deletion of signature images

- UX-1741: Add initial static rendering/styling for Open edX web certs
  * creating new global static dir
  * adding static version of edX UX pattern library assets
  * adding web certificates static assets
  * adding static (+abstracted) web certificates rendering
  * creating two tiers of rendering (base + distinguished)
  * providing sample assets for certificate rendering
  * supporting RTL layouts
  * adding certifcates assests to edX static asset pipeline
  * temporarily hiding the mozilla open badges share action
  * wiring print button to print view/page
  * fixup! addressing conflict artifact in valid cert template
  * fixup! adding missing %hd-subsection sass extend + components comment clean up
  * fixup! correcting pattern library .hd-4 font-weight value

- SOL-468 Linked Student View for Web View Credential

- SOL-467: Add capability to upload organization logos for certificates

- SOL-391 / SOL-387: Signatory related info (assets) in certificates web view

- kelketek: Fixes for static asset collection in certificate HTML view.

- SOL-398 Web View: Public Access

- mattdrayer: Post-merge branch stabilization

- catong: Initial changes to Studio template and Help config file

- ziafazal: Branch stabilizations

- SOL-387: Display organization logo on LMS web view

- talbs/mattdrayer: Branch Stabilizations

- talbs: converting backpack action to use a button HTML element

- talbs: revising placeholder assets + their rendering in cert view

- mattdrayer: Username web view wireup

- SOL-386 Certificate Mode Previews

- SOL-905: Make organization logo and signatory signature uneditable

- SOL-922: Improve test coverage

- SOL-765: Add LinkedIn sharing

- [marco] temporary styling adjustment to account for smaller linkedin share image / fake button

- SOL-921: Address hardcoded template items

- SOL-927: Deleting certificate should delete org logo image also
  * updated invalid template
  * removed hr
  * fix invalid certificate error

- clrux: Add i18n to certificate templates and partials

- mattdrayer: Pylint violations

- SOL-920 Certificate Activation/Deactivation

- mattdrayer: Added LMS support

- SOL-932: Fix preview mode support in certificate view

- SOL-934: Fixed bug reported and broken tests

- SOL-935 removed the 'valid' word from web view title

- talbs: RTL support updates/fixes
  * revising certificate type icon/name vertical alignment
  * removing unused older certificate template
  * revising styling for message/banner actions
  * abstracting accomplishment type to use course mode + adding in honor/verified-specific placeholders

- mattdrayer: JSHint violations
2015-06-01 19:48:04 -04:00
Davorin Sego
176b1c8962 Course Discovery - Language Filtering
Filter by Language:
Designation for course language(s) in Studio
allows for filtering of courses based on their language in the sidebar
Reuses active filter view UI/IA from find courses page on edx.org
view for clearing individual or all filters, as with edx.org filtering
2015-06-01 10:45:51 +02:00
Sarina Canelake
be8eed65c8 Internationalize help text 2015-05-31 17:22:52 -04:00
Awais
3da312b224 ECOM-1590 adding new field in advance_settings. 2015-05-21 00:29:00 +05:00
Sarina Canelake
ca64c665cc Default course license to All Rights Reserved
Clicking on conflicting option box unchecks all conflicts
LMS: Clicking license text should bring to new window
updated styles to reflect html reuse inside of xblock edit modal area.

Add ARIA attributes to license for a11y

Gracefully handle re-selecting of selected license
2015-05-18 14:37:32 -04:00
David Baumgold
2159d34128 Added a simple XBlockMixin for courseware licenses
This allows course authors to choose between two difference licenses for their
course content: All Rights Reserved, or Creative Commons. In the backend, XBlocks
that wish to allow custom licenses need only inherit from LicenseMixin, which
adds a `license` field as a string.

License information is displayed in the Studio editor view, and just below the
rendered XBlock in the LMS. In addition, if the course block itself has a custom
license set, this license will display just below the main body of the page
on courseware pages.

This entire feature is gated behind the LICENSING feature flag.
2015-05-18 14:34:28 -04:00
Andy Armstrong
358aa7754b Add "Teams Configuration" advanced setting 2015-05-15 14:13:41 -04:00
Nimisha Asthagiri
c2a1870fb5 Clean ID of course_module for push notification channel name.
Update Mobile API to include channel_id for course.
2015-04-18 15:30:19 -04:00
Matt Drayer
ffe30da7a5 Add course-specific URL overrides for social sharing icons on student dashboard
- sharing enabled for custom URLs only if URL actually specified
2015-04-13 13:14:43 -04:00
Carlos de la Guardia
f9351ef830 MIT: CCX. Code Quality Fixes
Remove duplicated course listings template code on the student dashboard.
2015-04-10 23:30:27 -04:00
cewing
8ba74429b1 MIT: CCX. Fixes for API changes that affect the binding of descriptors to student context.
fix for making sure all descriptor fields are always available for course descriptors despite module_class tricks

add required fields to cache data for tests

use a different strategy to mock up the get_children method
2015-04-10 23:30:27 -04:00
Carlos de la Guardia
9ddee93401 MIT: CCX. Code Quality fixes
add doc strings; fix pep8 warning
address some minor issues brought up by the code review process
2015-04-10 23:30:26 -04:00
Carlos de la Guardia
b3da2a54bb MIT: CCX. Fix issues identified in code review
Original Commit Messages:

use edx's own get_parent method, rather than our own.

add field to unique constraint to avoid MultipleObjectsReturned in case of multiple browser clicks on submit

fix 0011 migration, inherit from TimeStampedField and add composite index (migration only)

fix bug where adding an already registered user to a ccx would cause a crash due to an undefined variable

add assertNumQueries tests to test modules where override field providers are used

remove unnecessary teardown

implement recommended style for checking empty list

import utility methods rather than use duplicate code

added comment explaining date conversion to string for json

add logging for invalid users or emails when enrolling students

add comment about xmodule user state

avoid using get_or_create, which seems to be causing a race condition on schedule change save

relocate badly placed edvent handlers to fix multiple submit problem
2015-04-10 23:30:26 -04:00
Chris Rossi
aa1333c363 MIT: CCX. Hide course blocks not in the CCX from view for coaches and students 2015-04-10 23:13:11 -04:00
Carol Tong
4ebefce767 Fix line length 2015-04-02 16:04:32 -04:00
Carol Tong
f318f1b355 Edits to UI text for Discussion Blackout Dates, Discussion Topic Mapping
to address DOC-1434, DOC-1828
2015-04-02 14:32:25 -04:00
Usman Khalid
d59be9949e Use cohort settings from CourseCohortSettings.
TNL-1258
2015-03-23 09:43:00 +05:00
Calen Pennington
8fbb64322b Clarify grading variables in the CourseModule 2015-03-17 10:55:06 -04:00
Nimisha Asthagiri
28ad138829 Merge pull request #7311 from edx/mobile/MA-345-FB-URL
MA-345 Mobile Enrollment API: add course' Facebook URL.
2015-03-13 13:56:42 -04:00
Matt Drayer
16e63c9e1e Added Certficates Web/HTML View 2015-03-13 12:16:13 -04:00
Nimisha Asthagiri
e77bcab571 MA-345 Mobile Enrollment API: add course' Facebook URL 2015-03-13 11:13:33 -04:00
Alison Hodges
4666caa63d Fixes DOC-1472, DOC-1713, DOC-1613, DOC-1714, DOC-1715 2015-02-27 16:22:01 -05:00
Ned Batchelder
dd436ed8f9 Fix sentences jammed together. 2015-02-25 12:22:32 -05:00
Waqas Khalid
a730f81132 Missing discussion blackout throwing exception
When the list is empty in discussion blackout
on studio side it causes the exception on lms
side when we try to access the discussion. We
were expecting the values and try to parse it
in two values start and end date whereas parsing
empty values to two values causing the exception.
Now values will be parse when value exists. Empty
value will be ignored.

TNL-1390
2015-02-16 19:43:03 +05:00
Giulio Gratta
560ce55896 Add cosmetic price field to studio & logic
- Price field added to Advanced Settings
- Function that decides which price to display
- Test added to check that the function outputs correct price
- Added feature flag and conditional to decide whether to display course price or not
- Feature Flag to show or hide course price on Course About page sidebar when not using shopping cart
2015-02-03 09:40:00 -08:00
Ben Patterson
b71c20c031 Revert "Add Cosmetic Display Price field to studio & logic to show it" 2015-02-03 09:41:54 -05:00
Giulio Gratta
c18ee8cc09 Add cosmetic price field to studio & logic
- Price field added to Advanced Settings
- Function that decides which price to display
- Test added to check that the function outputs correct price
- Added feature flag and conditional to decide whether to display course price or not
- Feature Flag to show or hide course price on Course About page sidebar when not using shopping cart
2015-01-27 15:15:43 -08:00
Giulio Gratta
47a0e3441e Shortened line length of studio help strings 2015-01-22 09:48:41 -08:00
Matt Drayer
3c669e3838 New feature contribution: Entrance Exams 2015-01-15 20:35:24 -05:00
Zia Fazal
ca3d84a5d4 New pre-requisite course feature via milestones app 2015-01-15 15:17:38 -05:00
Jim Abramson
2eab51ab26 Merge pull request #4786 from aboudreault/inline-discusssion-cohorting
Add always_cohort_inline_discussions in course settings
2014-12-30 13:11:37 -05:00
Alan Boudreault
68fcdcc030 Add always_cohort_inline_discussions in course settings 2014-12-26 18:03:50 +00:00
Fred Smith
251407d7d2 Merge pull request #6314 from edx/release
Release
2014-12-19 13:23:22 -05:00