alterm4nn/ChronoZoom — pull request #1265 by NeilCresswell (2014-06-12 21:47:31+00:00)
Title: MultiUser Branch

##Summary of Main Changes

Introduces basic capabilities to permit others to edit your collection. The collection configuration pane lets you switch this feature on, and you can then pick a list of editors for a collection and, after sharing your URL, those on the list can edit your collection, including adding, editing and deleting exhibits and artifacts.

Also fixed Kiosk Mode checkbox (in the collection configuration pane) which was previously always checked.

Minor clean-up of Profile Pane, including layout, wording, spelling/punctuation/grammar, indicating required, and broken link.

Create icon (pencil) in header at top right no longer displays if you do not have edit rights. Edit rights logic overhauled.

Replaced Exceptional.IO error reporting with Airbrake.IO error reporting.

Replaced .NET in-built automatic schema migrations with programmatic solution, which resolves a number of db issues, including db sometimes not populating or fully populating for new installs. This new solution works both from scratch (will automatically create a schema if there is no pre-existing db schema) or with an existing db schema, which it can automatically upgrade. You do need to create the database first if it doesn't exist yet, but you do not need to manually create any schema or import any data.

Removed hard-coded OneDrive API key and redirect URL from settings.ts. Hard-coded value was redirecting to test.chronozoom.com, which was replaced with a dynamically generated value to redirect to the current domain. OneDrive API key (client id) moved to web.config.

##Known Issues

A new "circa" checkbox appears for dates, which can be used in future to indicate that a date is approximate. Currently this is not wired up so ticking/checking the checkbox doesn't do anything. This feature is being worked on and will hopefully be completed shortly.

##Deployment Notes

**Important:** Production installations, please make and retain a full db backup **before** deploying this version, since it includes db schema and data changes, and removes code-first automatic migrations. It is recommended to take a corresponding copy of the existing code too.

There are new web.config appKeys:
* OneDriveClientID should be set to the OneDrive client id for whatever domain you are using. (This can be set up and obtained from onedrive.live.com's Developer section.) The default key is a key for "chronozoom.localhost" domain.
* The default SignInURL keys are also for the "chronozoom.localhost" domain, and these are set up in an Azure Access Control System already, (a test one, not the same as the production one,) so if you're a developer, you can set up a local hosts entry for chronozoom.localhost and start using that domain.