Files
edx-platform/lms/djangoapps/certificates
Robert Raposa 29e50710dc feat: enhance cookie monitoring and logging
Contains a number of cookie monitoring changes.

Enhancements:
- Add sampling capability for cookie logging on headers
 smaller than the threshold. For details, see
 COOKIE_SAMPLING_REQUEST_COUNT.
- Add cookie header size to log message.
- Sort logged cookies starting with largest cookie.
- Move logging from Middleware request processing
 to response processing to ensure the user id is
 available for logging for authenticated calls.
- Added cookies.header.size.computed to check
 if there are any large hidden duplicate cookies.
 Can be compared against the cookies.header.size
 custom attribute.
- Add delimiters into logs to make it simpler to parse
 when the logging tools accidentally exports multiple
 log lines together.

Removed:
- Legacy cookie capture code. This code was dangerous to
  to enable and provided more limited insight than the
  newer logging, so this was removed to simplify the code.

Other refactors:
- Switched Middleware to use new Django format, rather
 than the Mixin.
- Moved tests to its own test class. Note: this
 middleware is likely to move to a separate
 library.

ARCHBOM-2055
2022-03-09 20:39:27 -05:00
..
2021-08-27 14:21:31 -06:00
2022-03-07 16:30:46 +05:00

Status: Maintenance

Responsibilities
================
The Certificates app is responsible for creating and managing course run certificates, including relevant data models for invalidating certificates and managing the allowlist.

Direction: Move and Extract
===========================
Certificates related functionality is scattered across a number of places and should be better consolidated. Today we have:

* ``lms/djangoapps/certificates``
* ``openedx/core/djangoapps/certificates``
* ``cms/djangoapps/contentstore/views/certificates.py``
* Various front-end static templates in multiple locations

Ideally, we want to extract these into the `credentials service`_, which would be ultimately responsible for Course-Run and Program certificates (and possibly other credentials). Right now, the `credentials service`_ only manages Program certificates.

.. _credentials service: https://github.com/edx/credentials

Glossary
========

More Documentation
==================