Fix sentence by adding full stop.

Change-Id: I3aefe55e96896ea2651af53bd544d72a7eb6806d
More information about what we do with the blog feed.

This helps give users an idea of what happens on the teams' pages.

Change-Id: Idd09b9e2f32a20270df710a03b14bd22221381c9
Focus on the edit area after a save.

This avoids the user having to put the focus back there manually,
which interrupts their flow.

Change-Id: Iddc013ebff0ed622599a61d8e3cd4465576ab1ac
Avoid updating the ace session content if possible.

When we set the content, ace moves the caret back to the start of
the document, which moves the user out of their context & interrupts
their flow. Both of these are bad and can be avoided in the majority
case where the content that was saved is the same as the current
content.

Change-Id: I6b6613364d6c3c4452116d1825403e7aabccdaf5
Tweak variable name for clarity.

Change-Id: I069b23b537acf10730e4e042e8f95609dfc6d8f5
Remove comment that's not been valid for a long while.

Change-Id: I5466ea12ef9d51cdb2881874cd9953b5ed86e5fd
Also lazy init modules when accepting uploads.

Change-Id: If9feeab1d06e27dc1e29d746e5450146a1a28c24
Move common dispatch code to a more suitable place.

This reduces the duplication of this logic between the two top-level
entry files. Intentionally leave the module import separate as this
might need to be done differently based on situation.

Change-Id: I97a954beb080f1e244aeab4ba4053c4e2d74de88
Add a helper for getting exception parts for output.

This is useful to have as a helper to ensure that the error object
format is consistent across varous endpoints.

Change-Id: Ib3fd78e5ceb0f473a6867f94d7d1729b4bd0a207
Fix exception handling variable name.

Change-Id: I050e93395e99ec66990da116b471e867116420f3
Replace assumption of lowercase uids with actual normalisation.

This allows uppercase names to be added in the future without
requiring further IDE changes, and simultaneously ensures that the
IDE can be successfully used by a user that doesn't know the casing
of their username. We now have a normalisation step performed after
a successful login which ensures that the IDE uses the version of
the username that is cannonical, rather than what the user entered.
This ensures that their groups are correctly found, while still
allowing them to login using the wrong case.

Change-Id: I1274cf0d8e5a0958f6f6cff8f86c008374f909fd
Update pyenv to sr2014.4

Changes since sr2014.3:
 - Option of splitting up Robot construction
 - Support for custom Ruggeduino firmware
 - Removal of JointIO API

2013-11-29 Patch set 2: Include matching updates in pyenv-dummy.

Change-Id: Iaf50525aa889d6dda62044d077ae69ebde111b43
Tidy the behaviour of GitRepository->putFile.

Previously, it would return FALSE when 0 bytes were written to the
file, despite this being a perfectly valid thing to do. Instead,
it now passes the same return values as file_put_contents would.
Also update the method comment with this information.

Change-Id: I4babbd7090526bec8686512166038a070f33af60
Merge "Update pyenv to sr2014.4"
Present the user with a nice message if export fails.

This replaces the previous alert() box that was being emitted.

Change-Id: If3482152ef55ee88337e29bdc1494ff4b899f25c
Fix #2177: Detect and error about zip creation failures.

In the case that the archive building script (currently pyenv's
make-zip) fails with a non-zero exit code, we should emit an error
at the user so that it's clear what's going on. Previously, the
backend creation appeared successful, but nothing actually happened.

Change-Id: Icdd367a196a2d2766761a6f49d89f12754f132a6