CHANGELOG.rst 13.2 KB
Newer Older
1 2 3 4 5 6 7
Change Log
----------

These are notable changes in edx-platform.  This is a rolling list of changes,
in roughly chronological order, most recent first.  Add your entries at or near
the top.  Include a label indicating the component affected.

Diana Huang committed
8

Diana Huang committed
9 10
LMS: Refactor and clean student dashboard templates.

Diana Huang committed
11 12
LMS: Fix issue with CourseMode expiration dates

13 14 15 16
CMS: Add text_customization Dict to advanced settings which can support
string customization at particular spots in the UI.  At first just customizing
the Check/Final Check buttons with keys: custom_check and custom_final_check

Ned Batchelder committed
17 18
LMS: Add PaidCourseRegistration mode, where payment is required before course
registration.
Jason Bau committed
19

20 21
Studio: Switched to loading Javascript using require.js

Renzo Lucioni committed
22 23
LMS: Add split testing functionality for internal use.

24 25 26
CMS: Add edit_course_tabs management command, providing a primitive
editing capability for a course's list of tabs.

Ned Batchelder committed
27 28
Studio and LMS: add ability to lock assets (cannot be viewed unless registered
for class).
cahrens committed
29

30 31 32
LMS: First round of improvements to New (beta) Instructor Dash:
improvements, fixes, and internationalization to the Student Info section.

33 34
LMS: Improved accessibility of parts of forum navigation sidebar.

Ned Batchelder committed
35 36
LMS: enhanced accessibility labeling and aria support for the discussion forum
new post dropdown as well as response and comment area labeling.
37

Jason Bau committed
38
LMS: enhanced shib support, including detection of linked shib account
Jason Bau committed
39 40
at login page and support for the ?next= GET parameter.

41
LMS: Experimental feature using the ICE change tracker JS pkg to allow peer
Jason Bau committed
42 43
assessors to edit the original submitter's work.

44 45 46
LMS: Fixed a bug that caused links from forum user profile pages to
threads to lead to 404s if the course id contained a '-' character.

Ned Batchelder committed
47 48 49
Studio/LMS: Added ability to set due date formatting through Studio's Advanced
Settings.  The key is due_date_display_format, and the value should be a format
supported by Python's strftime function.
50

51 52 53
Common: Added configurable backends for tracking events. Tracking events using
the python logging module is the default backend. Support for MongoDB and a
Django database is also available.
54

55
Blades: Added Learning Tools Interoperability (LTI) blade. Now LTI components
56 57
can be included to courses.

58 59 60
LMS: Added alphabetical sorting of forum categories and subcategories.
It is hidden behind a false defaulted course level flag.

Peter Fogg committed
61 62 63
Studio: Allow course authors to set their course image on the schedule
and details page, with support for JPEG and PNG images.

64 65 66
LMS, Studio: Centralized startup code to manage.py and wsgi.py files.
Made studio runnable using wsgi.

67 68
Blades: Took videoalpha out of alpha, replacing the old video player

69 70 71 72
Common: Allow instructors to input complicated expressions as answers to
`NumericalResponse`s. Prior to the change only numbers were allowed, now any
answer from '1/3' to 'sqrt(12)*(1-1/3^2+1/5/3^2)' are valid.

73 74 75 76
LMS: Enable beta instructor dashboard. The beta dashboard is a rearchitecture
of the existing instructor dashboard and is available by clicking a link at
the top right of the existing dashboard.

77 78 79 80 81 82 83 84 85
Common: CourseEnrollment has new fields `is_active` and `mode`. The mode will be
used to differentiate different kinds of enrollments (currently, all enrollments
are honor certificate enrollments). The `is_active` flag will be used to
deactivate enrollments without deleting them, so that we know what course you
*were* enrolled in. Because of the latter change, enrollment and unenrollment
logic has been consolidated into the model -- you should use new class methods
to `enroll()`, `unenroll()`, and to check `is_enrolled()`, instead of creating
CourseEnrollment objects or querying them directly.

86 87 88
LMS: Added bulk email for course feature, with option to optout of individual
course emails.

89 90 91
Studio: Email will be sent to admin address when a user requests course creator
privileges for Studio (edge only).

92 93 94
Studio: Studio course authors (both instructors and staff) will be auto-enrolled
for their courses so that "View Live" works.

95 96 97 98
Common: Add a new input type ``<formulaequationinput />`` for Formula/Numerical
Responses. It periodically makes AJAX calls to preview and validate the
student's input.

Diana Huang committed
99 100
Common: Added ratelimiting to our authentication backend.

101 102
Common: Add additional logging to cover login attempts and logouts.

cahrens committed
103 104 105 106
Studio: Send e-mails to new Studio users (on edge only) when their course creator
status has changed. This will not be in use until the course creator table
is enabled.

107 108 109
Studio: Added improvements to Course Creation: richer error messaging, tip
text, and fourth field for course run.

110 111 112 113 114 115 116 117 118 119
Blades: New features for VideoAlpha player:
1.) Controls are auto hidden after a delay of mouse inactivity - the full video
becomes visible.
2.) When captions (CC) button is pressed, captions stick (not auto hidden after
a delay of mouse inactivity). The video player size does not change - the video
is down-sized and placed in the middle of the black area.
3.) All source code of Video Alpha 2 is written in JavaScript. It is not a basic
conversion from CoffeeScript. The structure of the player has been changed.
4.) A lot of additional unit tests.

120 121 122 123 124
LMS: Added user preferences (arbitrary user/key/value tuples, for which
which user/key is unique) and a REST API for reading users and
preferences. Access to the REST API is restricted by use of the
X-Edx-Api-Key HTTP header (which must match settings.EDX_API_KEY; if
the setting is not present, the API is disabled).
125

126 127 128
LMS: Added endpoints for AJAX requests to enable/disable notifications
(which are not yet implemented) and a one-click unsubscribe page.

129 130 131
Studio: Allow instructors of a course to designate other staff as instructors;
this allows instructors to hand off management of a course to someone else.

Ned Batchelder committed
132 133
Common: Add a manage.py that knows about edx-platform specific settings and
projects
134

jkarni committed
135 136
Common: Added *experimental* support for jsinput type.

137 138 139
Studio: Remove XML from HTML5 video component editor. All settings are
moved to be edited as metadata.

140 141
Common: Added setting to specify Celery Broker vhost

142 143
Common: Utilize new XBlock bulk save API in LMS and CMS.

144 145 146 147
Studio: Add table for tracking course creator permissions (not yet used).
Update rake django-admin[syncdb] and rake django-admin[migrate] so they
run for both LMS and CMS.

148 149 150 151
LMS: Added *experimental* crowdsource hinting manager page.

XModule: Added *experimental* crowdsource hinting module.

David Baumgold committed
152 153
Studio: Added support for uploading and managing PDF textbooks

Ned Batchelder committed
154 155
Common: Student information is now passed to the tracking log via POST instead
of GET.
156

Ned Batchelder committed
157 158
Blades: Added functionality and tests for new capa input type:
choicetextresponse.
159

160 161
Common: Add tests for documentation generation to test suite

Ned Batchelder committed
162 163
Blades: User answer now preserved (and changeable) after clicking "show answer"
in choice problems
164

165 166
LMS: Removed press releases

167 168
Common: Updated Sass and Bourbon libraries, added Neat library

Ned Batchelder committed
169 170
LMS: Add a MixedModuleStore to aggregate the XMLModuleStore and
MongoMonduleStore
Chris Dodge committed
171

Jason Bau committed
172 173 174 175
LMS: Users are no longer auto-activated if they click "reset password"
This is now done when they click on the link in the reset password
email they receive (along with usual path through activation email).

176 177
LMS: Fixed a reflected XSS problem in the static textbook views.

178 179 180 181 182
LMS: Problem rescoring.  Added options on the Grades tab of the
Instructor Dashboard to allow a particular student's submission for a
particular problem to be rescored.  Provides an option to see a
history of background tasks for a given problem and student.

Jason Bau committed
183
Blades: Small UX fix on capa multiple-choice problems.  Make labels only
Jason Bau committed
184 185
as wide as the text to reduce accidental choice selections.

186
Studio:
187
- use xblock field defaults to initialize all new instances' fields and
Ned Batchelder committed
188
  only use templates as override samples.
189
- create new instances via in memory create_xmodule and related methods rather
Ned Batchelder committed
190 191 192
  than cloning a db record.
- have an explicit method for making a draft copy as distinct from making a
  new module.
193

194 195 196
Studio: Remove XML from the video component editor. All settings are
moved to be edited as metadata.

197 198
XModule: Only write out assets files if the contents have changed.

199 200
Studio: Course settings are now saved explicitly.

201 202 203 204
XModule: Don't delete generated xmodule asset files when compiling (for
instance, when XModule provides a coffeescript file, don't delete
the associated javascript)

205 206 207
Studio: For courses running on edx.org (marketing site), disable fields in
Course Settings that do not apply.

208 209 210
Common: Make asset watchers run as singletons (so they won't start if the
watcher is already running in another shell).

211 212
Common: Use coffee directly when watching for coffeescript file changes.

213 214
Common: Make rake provide better error messages if packages are missing.

215 216
Common: Repairs development documentation generation by sphinx.

Brian Wilson committed
217 218 219 220 221 222 223
LMS: Problem rescoring.  Added options on the Grades tab of the
Instructor Dashboard to allow all students' submissions for a
particular problem to be rescored.  Also supports resetting all
students' number of attempts to zero.  Provides a list of background
tasks that are currently running for the course, and an option to
see a history of background tasks for a given problem.

224 225
LMS: Fixed the preferences scope for storing data in xmodules.

Valera Rozuvan committed
226
LMS: Forums.  Added handling for case where discussion module can get `None` as
Jason Bau committed
227
value of lms.start in `lms/djangoapps/django_comment_client/utils.py`
228

229 230
Studio, LMS: Make ModelTypes more strict about their expected content (for
instance, Boolean, Integer, String), but also allow them to hold either the
Ned Batchelder committed
231 232 233
typed value, or a String that can be converted to their typed value. For
example, an Integer can contain 3 or '3'. This changed an update to the xblock
library.
234

235 236 237
LMS: Courses whose id matches a regex in the COURSES_WITH_UNSAFE_CODE Django
setting now run entirely outside the Python sandbox.

Valera Rozuvan committed
238
Blades: Added tests for Video Alpha player.
239

240 241
Common: Have the capa module handle unicode better (especially errors)

242 243
Blades: Video Alpha bug fix for speed changing to 1.0 in Firefox.

Ned Batchelder committed
244 245
Blades: Additional event tracking added to Video Alpha: fullscreen switch,
show/hide captions.
246

247 248
CMS: Allow editors to delete uploaded files/assets

249
XModules: `XModuleDescriptor.__init__` and `XModule.__init__` dropped the
Ned Batchelder committed
250 251
`location` parameter (and added it as a field), and renamed `system` to
`runtime`, to accord more closely to `XBlock.__init__`
252

253 254 255 256 257
LMS: Some errors handling Non-ASCII data in XML courses have been fixed.

LMS: Add page-load tracking using segment-io (if SEGMENT_IO_LMS_KEY and
SEGMENT_IO_LMS feature flag is on)

Ned Batchelder committed
258 259
Blades: Simplify calc.py (which is used for the Numerical/Formula responses);
add trig/other functions.
Peter Baratta committed
260

261 262 263 264 265 266 267 268 269 270 271 272 273 274 275
LMS: Background colors on login, register, and courseware have been corrected
back to white.

LMS: Accessibility improvements have been made to several courseware and
navigation elements.

LMS: Small design/presentation changes to login and register views.

LMS: Functionality added to instructor enrollment tab in LMS such that invited
student can be auto-enrolled in course or when activating if not current
student.

Blades: Staff debug info is now accessible for Graphical Slider Tool problems.

Blades: For Video Alpha the events ready, play, pause, seek, and speed change
276
are logged on the server (in the logs).
277

Ned Batchelder committed
278 279
Common: all dates and times are not time zone aware datetimes. No code should
create or use struct_times nor naive datetimes.
280

281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299
Common: Developers can now have private Django settings files.

Common: Safety code added to prevent anything above the vertical level in the
course tree from being marked as version='draft'. It will raise an exception if
the code tries to so mark a node. We need the backtraces to figure out where
this very infrequent intermittent marking was occurring. It was making courses
look different in Studio than in LMS.

Deploy: MKTG_URLS is now read from env.json.

Common: Theming makes it possible to change the look of the site, from
Stanford.

Common: Accessibility UI fixes.

Common: The "duplicate email" error message is more informative.

Studio: Component metadata settings editor.

300
Studio: Autoplay for Video Alpha is disabled (only in Studio).
301 302 303 304 305 306 307 308 309 310 311

Studio: Single-click creation for video and discussion components.

Studio: fixed a bad link in the activation page.

LMS: Changed the help button text.

LMS: Fixed failing numeric response (decimal but no trailing digits).

LMS: XML Error module no longer shows students a stack trace.

Chris Dodge committed
312 313 314 315
Studio: Add feedback to end user if there is a problem exporting a course

Studio: Improve link re-writing on imports into a different course-id

Chris Dodge committed
316 317
Studio: Allow for intracourse linking in Capa Problems

318 319 320 321 322 323 324 325
Blades: Videoalpha.

XModules: Added partial credit for foldit module.

XModules: Added "randomize" XModule to list of XModule types.

XModules: Show errors with full descriptors.

326 327 328 329
Studio: Add feedback to end user if there is a problem exporting a course

Studio: Improve link re-writing on imports into a different course-id

330 331 332 333 334 335 336 337 338 339 340 341 342
XQueue: Fixed (hopefully) worker crash when the connection to RabbitMQ is
dropped suddenly.

XQueue: Upload file submissions to a specially named bucket in S3.

Common: Removed request debugger.

Common: Updated Django to version 1.4.5.

Common: Updated CodeJail.

Common: Allow setting of authentication session cookie name.

343
LMS: Option to email students when enroll/un-enroll them.
jmclaus committed
344 345

Blades: Added WAI-ARIA markup to the video player controls. These are now fully
346
accessible by screen readers.