edx/edx-platform — pull request #3536 by cpennington (2014-04-30 14:32:32+00:00)
Title: Make course ids and usage ids opaque to LMS and Studio [partial commit]

This commit adds base classes for CourseKeys and UsageKeys, and Location and
SlashSeparatedCourseKey implementations of both.

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 Co-Author: Christina Roberts
Co-Author: David Baumgold Co-Author: Diana
Huang Co-Author: Don Mitchell Co-Author:
Julia Hansbrough Co-Author: Nimisha Asthagiri
Co-Author: Sarina Canelake

[LMS-2370]