fle-internal/ka-lite-central — pull request #141 by bcipolli (2014-04-23 22:43:18+00:00)
Title: Clean use of video_id and youtube_id

Depends on #118 and #140.

**Background:**

`video_id` is an abstract ID that corresponds to a video lesson; `youtube_id` is an actual video. Usually `video_id` corresponds to many `youtube_ids` (one per language), and a `youtube_id` corresponds to a single `video_id`. However, this is not strictly so--one `youtube_id` can be used for multiple `video_ids` (if a single video encapsulates multiple video lessons), and a `video_id` could have multiple `youtube_ids` for a single language (if the first was not very good, and was re-recorded)

In our code, `video_id` should be used for all reporting and for completion. `youtube_id` is used for metadata (exactly which video was watched that led to this `video_id` being completed?), for streaming videos (including showing subtitles), downloading, and deleting videos. Therefore `youtube_id` is used mainly in the `i18n` and `updates` apps, while `video_id` is used largely in the `coachreports` and caching code, while both are used in `main`, `khanload`, and elsewhere.

**Changes:**

Walked through the code to make sure the above schema was obeyed. Once this is in, I plan to add the `background` above to the KALite documentation.

**Testing:**

None. Automated tests are enough.