I'm curious to know how other developers deal with versioning of web-apps and deploying different versions. The fundamental problem is that someone might be using your web-app when you deploy a new version, at which point the Javascript etc they have not he client-side is out of date.
Versioning the media on the client-side is easy enough, but if you version that you also need to version your business logic and the database, which is where things could get messy...
So I see a couple of ways of dealing with this:
Display a "Upgrading" notice on the site when deploying a new version.
Version tag client-side and reject any submissions to the new version from old client-side sources. Fair enough, but it doesn't really go hand in hand with continuous deployment.
Continuous DB migration - running multiple version of the app at the same time (migrating users to the new version when possible). This would need any updates on the old DB schema to be "forward ported" to the new schema. Seems the most attractive for deployment, but also could be horribly complex.
Somewhere in the middle of all three.
I should note that I know worrying about this kind of thing is beyond the needs of most apps, but I was thinking about it and I'm curious to know how others deal with it.