Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This is essentially a big brain dump for those who will be continuing to work on the forums code since I will be moving to a new product area soon.

LMS Python code

Permissions

The django_comment_common app contains a framework for establishing roles with orthogonal sets of permissions. However, our current roles do not take advantage of this fact, and I am unaware of any feature request or other plan that would change that. The Permission model should be eliminated, and we should check whether a user has at least a particular privilege level instead of checking that the user has a role that has a specific named permission. Additionally, the permissions for all views are declared in a single dictionary in django_comment_client/permissions.py; it would be much better to declare the permissions for each view in a decorator on the view function.

...

It would be nice to make conform more to the pattern of our other REST APIs and be more resource oriented than action oriented.

Templates

Everything should be pure Underscore except for the main template for the discussion tab and module and (for now) the user profile, which exists as a completely separate page. The main templates should basically just contain an element into which the Backbone app can insert itself. We currently have some Mustache templates that should be straightforward to convert, and the _underscore_templates.html file contains many templates that should have all of the server-side (Mako) logic converted to front-end logic and be factored out into separate template files.  The latter process has already begun.

On a more minor note, the "home panel" (which appears when the discussion tab is first loaded and contains help and the control for subscribing to notifications) is currently feature flagged. That feature flag should be removed, and a separate one should be added to control only whether the notification subscription control appears.