I develop a Jooma based custom web application. I work on the "dev" subdomain (adding new modules and also content), test the app on the dev subdomain then clone the whole site to the live domain. The dev site is only accessible from my IP. This means that so far basically all new information has been created and added by me and then simply copied one way from the dev to the live domain.
However I work on a custom user registration feature currently that would enable invited users to create accounts and also content (special articles). Users has access to the live site only, so they will create their content there. The new content will need to be reviewed before it is visible to all. So this means that I`d need to find a way to copy content (articles and custom database content) from the live site back to the dev site, review and publish it on the the dev site, test it with any additional changes (new content, modules, ...) I made myself, and then clone again the whole thing to live site. During this process the live site should be down (to avoid further changes from users).
Somehow this does not sound like to most elegant solution. I believe all other web-applications have similar problems. Can you give me some recommendations, guidelines, best practices, links on how to do this properly?