Commit Graph

273 Commits

Author SHA1 Message Date
Adam Palay
b0cbd2f612 update discussion blackout setting warning (TNL-442) 2014-09-29 13:59:18 -04:00
David Ormsbee
4f5d8b30de Basic Mobile API (v0.5) and Video Abstraction Layer integration.
Note that the features in this release are opt-in, and course and video
behavior will remain the same unless a course explicitly opts in.

Major pieces of functionality with this commit:

Allows the listing of a user's enrollments, course videos, and updates. In
order to make a course available for mobile use, course staff must explicitly
set the Course Advanced Setting "Mobile Course Available" to true. Course staff
will always see their own courses through the Mobile API regardless of this
setting, but students will only be allowed to see a course through the Mobile
API if this setting is set to "true". By default, a Course will *not* be
available for mobile use.

This is a Django app for video resource management. It is completely optional,
and is intended to allow video and operations teams to create new encodings of
videos (e.g. low res for mobile) and change CDNs without having to edit course
data directly. Course teams can now use a "EdX Video ID" setting for Videos,
which will leverage VAL. Video units that do not fill in an "EdX Video ID" will
behave exactly as they always have.

* The Mobile API is enabled with the ENABLE_MOBILE_REST_API feature flag.
* VAL is enabled with the ENABLE_VIDEO_ABSTRACTION_LAYER_API feature flag.
* VAL and the Mobile API both require ENABLE_OAUTH2_PROVIDER).
* The Mobile API is a read-only API, but VAL requires database migrations.
* Applications that make use of either the Mobile API or VAL must be registered
  with the OAuth2 provider app in Django Admin.
2014-09-23 12:31:46 -04:00
Alexander Kryklia
62afe9c3a5 Fix description for LTI passports field. 2014-09-04 16:17:27 +03:00
Diana Huang
0c3c7b5ab5 Merge pull request #4754 from edx/diana/show-cert-without-end-date
Show Certificates Before End
2014-08-08 14:58:02 -04:00
Diana Huang
7865e2fb3c Move certificates_show_before_end into a new variable
Mark it as deprecated, but maintain backwards compatibility.

ECOM-11
2014-08-08 14:29:57 -04:00
Ben McMorran
436d773987 Displays release date of unit in sidebar 2014-08-07 12:16:20 -04:00
Don Mitchell
d4776a151b Test both split and old mongo 2014-07-30 17:44:45 -04:00
Don Mitchell
6074e0b117 Split get_courses_for_wiki implementation [LMS-2914]
- Move Mongo tests to mixed ddt tests
- Check if `fields` is None before updating search targets
- Fix for double course version
2014-07-21 17:17:48 -04:00
David Adams
aa1b623904 Make text on register button on About page conditional.
Added a new advanced setting; invitation_only

 If invitation_only display "Enrollment in this course is by invitation only"
 Otherwise, if outside of enrollment period display "Enrollment is Closed"

 This issue is logged at LMS-2670

 Also fixed in this PR is issue LMS-2717; even though the Register button was greyed out,
 clicking it sent one to the registration page.
2014-07-15 12:51:12 -07:00
Mat Peterson
4f6088cbd1 Fixed some isinstance errors with opaque-keys 2014-07-11 15:40:08 -04:00
louyihua
ba30f0387e Missing "_()" in course_module.py 2014-07-03 10:55:00 +08:00
cahrens
a4b172d9d8 Display names, help text, and "deprecated" for Advanced Settings.
STUD-302, STUD-303
2014-06-26 16:54:22 -04:00
cahrens
5ab61fc4b2 Implement a custom editor for the split_module.
STUD-1529
2014-06-05 12:16:16 -04:00
Julia Hansbrough
6ccb11f03e Change Location, CourseLocator, etc to reference opaque-keys library 2014-05-30 20:32:38 +00:00
Calen Pennington
cfcbdc0145 Move to OpaqueKey implementations from the external library
[LMS-2757]
2014-05-29 17:03:35 -04:00
Calen Pennington
29f7fe14fb Merge remote-tracking branch 'edx/master' into ok-merge-from-master 2014-05-23 10:05:56 -04:00
louyihua
34d2f051a4 i18n: Make checklists translatable
Now the description & action_text strings in checklists can be extracted and translated.
2014-05-22 22:15:45 +08:00
Calen Pennington
155ffe37ca Merge remote-tracking branch 'edx/master' into opaque-keys-merge-master
Conflicts:
	cms/djangoapps/contentstore/views/item.py
	cms/djangoapps/contentstore/views/tests/test_container.py
	cms/djangoapps/contentstore/views/tests/test_tabs.py
	common/lib/xmodule/xmodule/modulestore/mongo/draft.py
	lms/djangoapps/certificates/management/commands/gen_cert_report.py
	lms/djangoapps/certificates/queue.py
	lms/djangoapps/certificates/views.py
	lms/djangoapps/courseware/module_render.py
	lms/djangoapps/courseware/tests/test_module_render.py
	lms/djangoapps/instructor/views/api.py
	lms/djangoapps/instructor/views/instructor_dashboard.py
	lms/djangoapps/instructor/views/legacy.py
	lms/djangoapps/shoppingcart/tests/test_models.py
	lms/djangoapps/verify_student/views.py
2014-05-09 15:29:32 -04:00
Calen Pennington
d654798856 Make course ids and usage ids opaque to LMS and Studio [partial commit]
This commit updates common/lib/xmodule.

These keys are now objects with a limited interface, and the particular
internal representation is managed by the data storage layer (the
modulestore).

For the LMS, there should be no outward-facing changes to the system.
The keys are, for now, a change to internal representation only. For
Studio, the new serialized form of the keys is used in urls, to allow
for further migration in the future.

Co-Author: Andy Armstrong <andya@edx.org>
Co-Author: Christina Roberts <christina@edx.org>
Co-Author: David Baumgold <db@edx.org>
Co-Author: Diana Huang <dkh@edx.org>
Co-Author: Don Mitchell <dmitchell@edx.org>
Co-Author: Julia Hansbrough <julia@edx.org>
Co-Author: Nimisha Asthagiri <nasthagiri@edx.org>
Co-Author: Sarina Canelake <sarina@edx.org>

[LMS-2370]
2014-05-08 20:28:53 -04:00
Joe Blaylock
ae8847cd6e Certificates: URL endpoint for cert gen
* API endpoint for certificate generation, an authenticated  post with course
  id requests that grading be carried out and a cert generated for
  request.user in that course, using the usual grading and certificate
  machinery (ie, it does not imply whitelisting, though whitelists and
  blacklists will be respected)
  - Logs each request as it comes in
  - Calls xq.add_cert() and consequently, does grading synchronously on
    this app host and then queues request for certificate agent.
  - example usage:
    ```
    curl --data "student_id=9999&course_id=Stanford/2013/Some_Class" http://127.0.0.1:8000/request_certificate
    ```

* Studio advanced setting added, "certificates_show_before_end", which
  determines whether a course should permit certificates to be downloadable
  by students before the coures's end date has passed.
  - Modifications to dashboard view and templates to allow display of
    certificate download links before course has ended.
    (XXX: may declare failing students as failing before the course has ended.)
  - To test, turn the setting on in a course which hasn't ended yet, and
    force certificate generation for a student, then check their
    dashboard.
2014-05-02 14:34:21 -07:00
Giulio Gratta
3456c1173b Added "Edit in CMS" links throughout courseware 2014-04-04 10:23:51 -07:00
Nimisha Asthagiri
e86b4a12dc Changes for viewing built-in tabs in studio
Changed "Status Page" -> "Page".

UX:
    support for displaying built-in tabs
    restored drag and drop on Studio Pages
    additional styling for fixed state on Studio Pages
    add a new page action added to bottom of Studio Pages

Dev
    changes for viewing tabs in studio,
    refactored the tab code,
    decoupled the code from django layer.
    is_hideable flag on tabs
    get_discussion method is needed to continue to support
external_discussion links for now since used by 6.00x course.
    override the __eq__ operator to support comparing with
dict-type tabs.

Test
    moved test code to common,
    added acceptance test for built-in pages
    added additional unit tests for tabs.
    changed test_split_modulestore test to support serializing objects
that are fields in a Course.

Env:
    updated environment configuration settings so they are
    consistent for both cms and lms.
2014-03-21 13:58:01 -04:00
Diana Huang
6f7c73cd4f Fix split_test import and export.
LMS-2405
2014-03-18 14:15:13 -04:00
Usman Khalid
d335713da5 Export CourseDescriptor wiki_slug field to xml.
LMS-2136
2014-03-10 16:13:18 +05:00
Diana Huang
bce7d9e43d Add tests and clean up A/B testing
Also fixes STUD-1351
2014-03-05 13:46:03 -05:00
Victor Shnayder
281ad63d2b split testing support in the LMS.
Adds a split_test_module XModule, that can choose one of its children
to display, based on a get_condition_for_user API added to the runtime.

To test, add something like this to an xml course, or make equivalent
 tweaks in mongo.

 <vertical url_name="split_test_vert">
    <split_test url_name="split1" experiment_id="0" condition_id_to_child='{"0": "i4x://MITx/6.00x/html/split_test_cond0", "1": "i4x://MITx/6.00x/html/split_test_cond1"}'>
       <html url_name="split_test_cond0">condition 0</html>
       <html url_name="split_test_cond1">condition 1</html>
    </split_test>
  </vertical>

Also needs an experiment configured in the course policy json: e.g.

        "user_partitions": [{"id": 0,
                                      "name": "Experiment 0",
                                      "description": "Unicorns?",
                                      "version": 1,
                                      "groups": [{"id": 0,
                                                        "name": "group 0",
                                                        "version": 1},
                                                        {"id": 1,
                                                        "name": "group 1",
                                                        "version": 1}]}]

(This particular snippet will work inside a course with org MITx
 and course name 6.00x)

Co-Author: Sarina Canelake <sarina@edx.org>
Co-Author: Julia Hansbrough <julia@edx.org>
Co-Author: Diana Huang <diana@edx.org>
Co-Author: Calen Pennington <cale@edx.org>

[LMS-2095]
2014-03-05 13:45:08 -05:00
Chris Dodge
10465e3eb0 add some authorization checks to the Wiki 2014-02-28 13:36:18 -05:00
Giulio Gratta
35112e9e78 Variable-ize "Certificate of Achievement" text 2014-02-25 10:19:03 -08:00
Don Mitchell
0b262e7cea Merge pull request #2660 from edx/dbarch/parse_course_id
Dbarch/parse course
2014-02-24 13:24:00 -05:00
Don Mitchell
81a92e4bfc Consolidate course_id triple parsing 2014-02-24 11:45:59 -05:00
Ned Batchelder
6bb0eee3c6 Make the i18n service available everywhere.
To get all dates localized, we need all runtimes to have the i18n
service, and since runtimes are made by the modulestores, we need to
pass it to them.

Soon (fingers crossed), modulestores won't be involved in making
runtimes, and many of these changes will go away.
2014-02-24 10:06:13 -05:00
Ned Batchelder
3aff96c2e4 Add strftime to the i18n runtime service. 2014-02-18 17:35:56 -05:00
Dave St.Germain
ea594a2980 Merge pull request #2464 from edx/dcs/default-css-class
The default course CSS class should be empty string rather than None.
2014-02-05 09:34:05 -05:00
Jason Bau
70762d1ab7 Merge pull request #2307 from edx/jbau/allow-unset-course-startdate
Handle taking registrations on a course with TBD start date
2014-02-04 16:07:23 -08:00
Chris Dodge
ad7348ec11 Allow author to cap enrollments in course
add a test case for enrollment caps

pep8 fix
2014-02-04 15:32:36 -05:00
Dave St.Germain
0e5f3e4f08 The default course CSS class should be empty string rather than None. 2014-02-04 14:37:38 -05:00
Jason Bau
7ac13bf81e Don't show course start date if it hasn't been set.
If neither start nor advertised_start has been changed from default
don't show the course start date.

This allows us to accept course registrations for courses whose start
date is yet TBD.
2014-02-03 16:20:39 -08:00
Sarina Canelake
f88c108527 i18n xmodule/course_module.py
LMS-1747
2014-01-23 15:05:05 -05:00
Calen Pennington
46109bb3e8 Use XBlock xml serialization and deserialization
XModules continue to use their own interface for xml, but provide an
adaptor that makes the the XBlock interface available.

[LMS-179]
2014-01-14 13:28:47 -05:00
David Baumgold
ce4b130113 Set default section start date to Jan 1, 2030
STUD-1072
2014-01-07 15:46:15 -05:00
Don Mitchell
b7368ef69a Change course_id to package_id
on new Locators to make it clear that they have a different syntax
than Location.course_id altho they represent the same info.
2013-12-20 16:16:50 -05:00
Jay Zoldak
341875bb18 Remove code related to Pearson Testing Centers 2013-11-26 17:04:19 -05:00
Don Mitchell
17864353a5 Restful course settings
STUD-946
STUD-947
2013-11-22 10:55:35 -05:00
Calen Pennington
ad2da44cb1 Make Textbooks properly lazy 2013-09-23 13:44:34 -04:00
cahrens
95ad1826d4 Hide show_timezone from Advanced Settings and migrate courses with show_timezone=False to using due_date_display_format. 2013-09-12 14:30:00 -04:00
cahrens
08d9942993 Allow custom formatting of due date strings.
STUD-724

Test course for allowing custom formatting of due date strings.

STUD-724

Try making the name of the course match the folder name.

More cleanup.

More cleanup.

updates.
2013-09-12 14:30:00 -04:00
Valera Rozuvan
d02ef8bc12 Add Learning Tools Interoperability (LTI) blade.
LTI blade allows to include LTI components to courses.
Python integration, Jasmine and acceptance tests are included.
2013-09-09 23:54:49 +03:00
Alexander Kryklia
719ec8f9d8 Revert "Merge pull request #804 from edx/valera/lti_module"
This reverts commit 2894b21c32, reversing
changes made to 34d0fe1554.
2013-09-09 22:51:57 +03:00
Alexander Kryklia
787545c83e Renames LTIs to lti_passports. 2013-09-09 19:16:15 +03:00
Alexander Kryklia
f1dc6ecf67 Add course setings for client key, secret 2013-09-09 19:13:22 +03:00