1. 01 Feb, 2017 3 commits
  2. 31 Jan, 2017 2 commits
  3. 28 Jan, 2017 2 commits
  4. 27 Jan, 2017 1 commit
  5. 26 Jan, 2017 1 commit
    • Disable student state writes for crawlers. · 5ef1e080
      When crawlers like edX-downloader make requests on courseware, they are
      often concurrently loading many units in the same sequence. This causes
      contention for the rows in courseware_studentmodule that store the
      student's state for various XBlocks/XModules, most notably for the
      sequence, chapter, and course -- all of which record and update user
      position information when loaded.
      
      It would be nice if we could actually remove these writes altogether
      and come up with a cleaner way of keeping track of the user's position.
      In general, GETs should be side-effect free. However, any such change
      would break backwards compatibility, and would require close
      coordination with research teams to make sure they weren't negatively
      affected.
      
      This commit identifies crawlers by user agent (CrawlersConfig model),
      and blocks student state writes if a crawler is detected. FieldDataCache
      writes simply become no-ops. It doesn't actually alter the rendering
      of the courseware in any way -- the main impact is that the blocks
      won't record your most recent position, which is meaningless for
      crawlers anyway.
      
      This can also be used as a building block for other policy we want to
      define around crawlers. We just have to be mindful that this only works
      with "nice" crawlers who are honest in their user agents, and that
      significantly more sophisticated (and costly) measures would be
      necessary to prevent crawlers that try to be even trivially sneaky.
      
      [PERF-403]
      David Ormsbee committed
  6. 25 Jan, 2017 3 commits
  7. 24 Jan, 2017 2 commits
  8. 23 Jan, 2017 3 commits
  9. 20 Jan, 2017 1 commit
  10. 19 Jan, 2017 1 commit
  11. 18 Jan, 2017 2 commits
  12. 17 Jan, 2017 1 commit
  13. 14 Jan, 2017 1 commit
    • [courseware] generate sequence-specific titles server-side (AC-695) · 54a48a32
      [courseware] generate sequence-specific titles server-side (AC-695)
      
      [courseware] generate sequence-specific titles server-side (AC-695)
      
      case for empty subsections [AC-695]
      
      move title logic into courseware context method [AC-695]
      
      pep8
      
      coffeescript -> js
      
      js mistake
      
      jslint
      
      refactor sequence title generation slightly
      
      missed a line
      
      line too long
      
      python is not javascript
      
      ugh js
      
      ugh js part 2
      Ari Rizzitano committed
  14. 12 Jan, 2017 2 commits
  15. 11 Jan, 2017 3 commits
  16. 05 Jan, 2017 2 commits
  17. 04 Jan, 2017 1 commit
    • Remove Datadog instrumentation around model saves · eaa2b9e7
      We added this a long time ago as part of the shift to opaque-keys, but
      left it on because it's occasionally useful for spotting unusual levels
      of activity for certain models. That being said, because we have so
      many models now, we're generating too many differently named metrics,
      which might get expensive.
      
      This is doing the simplest thing and just removing datadog reporting
      of model updates altogether.
      David Ormsbee committed
  18. 03 Jan, 2017 1 commit
  19. 29 Dec, 2016 1 commit
  20. 22 Dec, 2016 1 commit
  21. 21 Dec, 2016 2 commits
  22. 20 Dec, 2016 3 commits
  23. 15 Dec, 2016 1 commit