Commit Graph

114 Commits

Author SHA1 Message Date
Omar Al-Ithawi
4e733c6e1f Unicode fixes for log messages and other things 2015-02-04 09:55:44 +02:00
Matt Drayer
8b03ad3906 Decoupled entrance exam scoring from milestone fulfillment 2015-01-28 22:00:25 -05:00
Matt Drayer
3c669e3838 New feature contribution: Entrance Exams 2015-01-15 20:35:24 -05:00
David Baumgold
36e77c7463 Fixing pep8 issues 2014-12-11 13:04:49 -05:00
stv
4d30aedf4e Fix PEP8: E127 continuation line over-indented
for visual indent
2014-11-24 20:46:50 -05:00
stv
cf9308144d Fix PEP8: E302 expected 2 blank lines, found 1 2014-11-10 11:00:11 -08:00
Braden MacDonald
a8f622af7f Consistently ensure dog_stats_api tags are formatted correctly 2014-10-09 12:35:26 -07:00
Adam Palay
d9f0a6ba68 Lower logging level in grading condition from exception to info
addresses part of LMS-2907
2014-06-23 16:50:28 -04:00
Will Daly
b00398f5ee ORA2 release-2014-06-11T10.43
Install edx-submissions from PyPi instead of from edx-ora2
2014-06-11 08:15:10 -04:00
Don Mitchell
7be81341d7 Revert StudentModule.module_state_key to field rather than computed property 2014-05-09 10:41:12 -04:00
Calen Pennington
9811926d97 Make course ids and usage ids opaque to LMS and Studio [partial commit]
This commit updates lms/djangoapps/courseware.

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-06 10:08:32 -04:00
Will Daly
440d9ddb89 Install edx-ora2
Support for displaying submissions API scores in Progress page.
2014-03-25 09:42:55 -04:00
Giulio Gratta
0429ba7da3 Fixed all instances of "occured" typo 2014-01-24 16:13:26 -08:00
Chris Rossi
831f907c79 Add individual due dates feature.
Adds a feature to the edX platform which allows instructors to set
individual due dates for students on particular coursework. This code is
meant primarily for on-campus use--it is not intended that this feature
would be used for MOOCs. It adds a new tab, "Extensions", to the beta
instructor dashboard which allows changing due dates per student. This
feature is enabled by setting FEATURES['INDIVIDUAL_DUE_DATES'] = True.
2014-01-14 10:19:02 -05:00
David Ormsbee
0565fbbfab Fix (re-implement) answer distribution report generation.
This restores functionality that has been broken since the introduction of
XModuleDescriptor/XModule proxying (part of the XBlock transition). It generates
a CSV of all answers for all content of type "problem" in a given course, with a
row per (problem part, answer). The format is:

url_name, display name, answer id, answer, count

Example values:
  url_name = "7f1b1523a55848cd9f5c93eb8cbabcf7"
  display name = "Problem 1: Something Hard"
  answer id = i4x-JediAcdmy-LTSB304-problem-7f1b1523a55848cd9f5c93eb8cbabcf7_2_1
  answer = "Use the Force"
  count = 1138

Since it only grabs things of type "problem", it will not return results for
things like self/peer-assessments. Any Loncapa problem types will show up (so
multiple choice, text input, numeric, etc.)

Instead of crawling the course tree and instantiating the appropriate CapaModule
objects to grab state, this version draws directly from StudentModule. This lets
us skip a lot of processing and most importantly lets us generate the answer
distribution without causing side-effects (since XBlocks auto-save state). It
also lets us take advantage of a read-replica database if one is available, to
minimize locking concerns.

There are minor changes to the legacy dashboard around CSV charset encoding and
a change to OptionResponseXMLFactory to make it more unicode friendly. Answer
distribution output is now also sorted, to group together answers for the same
content piece.

Note that this does not introduce celery into the process. Answer distributions
are still only available for small courses.

This was originally created to fix [LMS-922], but it also addresses [LMS-811] and
possibly other areas in the legacy dashboard where CSV downloads break due to
character encoding issues.
2013-12-20 15:05:50 -05:00
David Baumgold
e26fc08d2b Update logging.getLogger() calls to use edx instead of mitx 2013-12-04 15:18:15 -05:00
Ned Batchelder
9a106a32d5 Merged master to rc/2013-11-21 2013-11-25 14:56:09 -05:00
Adam Palay
cf524906e0 more granular transactions in grading [LMS-1480]
remove field_data_cache from grades.grade and grades.progress_summary

cleans grading code by adding wrappers
2013-11-22 12:02:35 -05:00
David Ormsbee
a99fd08004 Fix error case where we have items in our grading csv output
that are not present in a given student's gradeset.

General code cleanup and addition of comments.

Instructor dashboard API unit tests.

LMS-58
2013-11-22 10:06:28 -05:00
David Ormsbee
e0aa8cf78a Grade report celery task and direct file push to S3 from the new instructor dashboard.
Hook up display of grade files ready for download to new instructor dashboard.

LMS-58
2013-11-22 10:06:10 -05:00
Adam Palay
7b72a18551 more granular transactions in grading [LMS-1480]
remove field_data_cache from grades.grade and grades.progress_summary

cleans grading code by adding wrappers
2013-11-20 14:40:32 -05:00
Chris Dodge
a93a848e03 we are already being passed in the module descriptor so we don't need to re-fetch it (and children) 2013-11-07 17:56:13 -05:00
Calen Pennington
6b474724ac Make XModuleDescriptor and XModule act as a single class
By transparently proxying between the XModuleDescriptor and the XModule,
and between their runtimes, we can make them act as a single class, so
that we can swap in an actual XBlock instead.
2013-10-08 15:29:17 -04:00
Adam Palay
ee62719025 check if module created from description is None before looking for its child descriptors 2013-09-11 18:33:51 -04:00
Calen Pennington
8201b1412e Use XBlock 0.3 2013-09-06 09:45:59 -04:00
Adam Palay
8aee225136 in grading, if problem cannot be created, return score as none 2013-08-16 10:25:38 -04:00
Calen Pennington
e791e84ea7 Remove the stores_state field from XModule
stores_state is now only used in a single test, in conjunction with
has_score. In practice, it's never the case that stores_state is false
when has_score is true, so we can delete stores_state entirely, and just
use has_score for the grading test.
2013-06-13 14:38:59 -04:00
Calen Pennington
039ccb83cc Migrate to the open source XBlock repo 2013-04-04 10:55:31 -04:00
Brian Wilson
1abfff220e when grading, check for always-regrade at the section level too 2013-04-01 14:14:12 -04:00
Chris Dodge
fd973442b1 if we have to reload a module and already have the descriptor, we don't need to refect the descriptor (which results in another DB round-trip. We just need the student state. 2013-03-22 13:57:53 -04:00
Calen Pennington
0209c883bb Remove trailing whitespace 2013-03-19 10:41:38 -04:00
Calen Pennington
6b64b4214f Make relative imports explicitly relative 2013-03-15 11:23:22 -04:00
Calen Pennington
2a96c45677 Make default value for format setting None, and force lms and cms to be explicit about a string default 2013-03-12 10:16:14 -04:00
Calen Pennington
035829289e Parse weight as a float when reading from a string 2013-03-08 16:01:27 -05:00
Calen Pennington
93db5acc15 Make display_name defaulting explicit 2013-03-08 14:58:09 -05:00
Calen Pennington
1bfb933518 Merge remote-tracking branch 'origin/master' into feature/alex/poll-merged
Conflicts:
	cms/djangoapps/contentstore/tests/test_contentstore.py
	cms/djangoapps/contentstore/views.py
	cms/templates/edit_subsection.html
	cms/templates/overview.html
	cms/templates/unit.html
	cms/templates/widgets/header.html
	common/djangoapps/course_groups/tests/tests.py
	common/lib/xmodule/setup.py
	common/lib/xmodule/xmodule/capa_module.py
	common/lib/xmodule/xmodule/combined_open_ended_module.py
	common/lib/xmodule/xmodule/course_module.py
	common/lib/xmodule/xmodule/js/src/.gitignore
	common/lib/xmodule/xmodule/mako_module.py
	common/lib/xmodule/xmodule/modulestore/mongo.py
	common/lib/xmodule/xmodule/modulestore/store_utilities.py
	common/lib/xmodule/xmodule/modulestore/xml_exporter.py
	common/lib/xmodule/xmodule/open_ended_grading_classes/combined_open_ended_modulev1.py
	common/lib/xmodule/xmodule/open_ended_grading_classes/controller_query_service.py
	common/lib/xmodule/xmodule/open_ended_grading_classes/open_ended_module.py
	common/lib/xmodule/xmodule/open_ended_grading_classes/openendedchild.py
	common/lib/xmodule/xmodule/open_ended_grading_classes/self_assessment_module.py
	common/lib/xmodule/xmodule/peer_grading_module.py
	common/lib/xmodule/xmodule/tests/__init__.py
	common/lib/xmodule/xmodule/tests/test_capa_module.py
	common/lib/xmodule/xmodule/tests/test_self_assessment.py
	common/lib/xmodule/xmodule/x_module.py
	lms/djangoapps/courseware/grades.py
	lms/djangoapps/courseware/models.py
	lms/djangoapps/courseware/views.py
	lms/djangoapps/open_ended_grading/tests.py
2013-03-04 16:33:40 -05:00
David Ormsbee
e4f1dab409 Merge pull request #1590 from MITx/fix/cdodge/optimize-progress-summary-page
add depth parameters when loading course and student-state caches. This ...
2013-03-04 09:54:49 -08:00
Chris Dodge
4892897c0d add depth parameters when loading course and student-state caches. This will make fewer (but fatter) queries to the database 2013-03-04 12:03:25 -05:00
Ned Batchelder
7c8a90229e Use 'is None' and 'is not None' 2013-03-04 10:57:25 -05:00
Victor Shnayder
4f8757600a merge 2013-02-14 12:49:14 -05:00
Victor Shnayder
5e44846596 Foldit integration.
- ops view for the desktop app to talk to
  - xmodule that talks to the foldit model and displays the student's state
  - grading tweak to make grade updates from an external service work:
    - Add an always_recalculate_grades property to XModuleDescriptor.
2013-02-14 12:45:06 -05:00
Calen Pennington
4f555f6480 Merge remote-tracking branch 'origin/master' into feature/cale/xmodule-storage-model
Conflicts:
	cms/djangoapps/contentstore/course_info_model.py
	cms/djangoapps/contentstore/module_info_model.py
	cms/djangoapps/contentstore/tests/factories.py
	cms/djangoapps/contentstore/tests/test_course_settings.py
	cms/djangoapps/contentstore/views.py
	cms/djangoapps/models/settings/course_details.py
	cms/djangoapps/models/settings/course_grading.py
	cms/templates/edit_subsection.html
	common/djangoapps/mitxmako/shortcuts.py
	common/djangoapps/static_replace.py
	common/djangoapps/util/converters.py
	common/djangoapps/xmodule_modifiers.py
	common/lib/xmodule/setup.py
	common/lib/xmodule/xmodule/abtest_module.py
	common/lib/xmodule/xmodule/capa_module.py
	common/lib/xmodule/xmodule/course_module.py
	common/lib/xmodule/xmodule/discussion_module.py
	common/lib/xmodule/xmodule/error_module.py
	common/lib/xmodule/xmodule/html_module.py
	common/lib/xmodule/xmodule/js/src/video/display.coffee
	common/lib/xmodule/xmodule/mako_module.py
	common/lib/xmodule/xmodule/modulestore/mongo.py
	common/lib/xmodule/xmodule/modulestore/store_utilities.py
	common/lib/xmodule/xmodule/modulestore/xml.py
	common/lib/xmodule/xmodule/modulestore/xml_importer.py
	common/lib/xmodule/xmodule/raw_module.py
	common/lib/xmodule/xmodule/self_assessment_module.py
	common/lib/xmodule/xmodule/seq_module.py
	common/lib/xmodule/xmodule/template_module.py
	common/lib/xmodule/xmodule/tests/__init__.py
	common/lib/xmodule/xmodule/tests/test_export.py
	common/lib/xmodule/xmodule/tests/test_import.py
	common/lib/xmodule/xmodule/video_module.py
	common/lib/xmodule/xmodule/x_module.py
	common/lib/xmodule/xmodule/xml_module.py
	lms/djangoapps/courseware/access.py
	lms/djangoapps/courseware/courses.py
	lms/djangoapps/courseware/grades.py
	lms/djangoapps/courseware/models.py
	lms/djangoapps/courseware/module_render.py
	lms/djangoapps/courseware/tests/tests.py
	lms/djangoapps/courseware/views.py
	lms/djangoapps/django_comment_client/utils.py
	lms/templates/staff_problem_info.html
	lms/templates/video.html
	rakefile
2013-02-07 15:12:30 -05:00
Calen Pennington
cfae1cdf62 Pep8 autofixes 2013-02-06 11:13:50 -05:00
Calen Pennington
993c24b72b WIP: Model data caching work 2013-01-23 14:51:07 -05:00
Calen Pennington
0726294c35 Use get_child_descriptors for grades.py 2013-01-10 13:55:46 -05:00
Calen Pennington
89a0b82e5c Decrease the number of queries needed for LMS courseware
This cuts the number of queries in 6.002 courseware loads from ~650 to
~5-40. Still to do: cache CustomTag templates so that we only load them
once per request.
2013-01-10 13:55:46 -05:00
Calen Pennington
7f8b79694c Grade problems that have ungraded student modules 2012-12-28 14:55:32 -05:00
Calen Pennington
7679fda172 Remove debugging print statements 2012-12-28 14:54:13 -05:00
Calen Pennington
8693d288c8 Fix errors from running unit tests (some tests still fail) 2012-12-28 14:51:50 -05:00
Calen Pennington
3adb1e7109 Make grading not require get_instance_module 2012-12-28 14:51:50 -05:00