We've been working on our dotnetnuke site and are ready for deployment. Our plan up to this point was to get the pages, modules, etc. to look like we wanted on our prod server. When we are done we will make a copy of the site on a developement server where we can try new modules and perform tests on new versions before moving them to production.
We have blogs, announcements, text/html (and many other modules) on our site. Up until now we've just added new announcements, posted blob updates, added text to pages and have the pages get reviewed. This is all done with the page only visible to our reviewers. Once they give the thumbs up the page is made visible to the public.
My question is a best practice for moving forward. When our page is live and open to the public we need to be careful about making changes. New announcements, blog updates, need to be reviewed before they can go live. How are others dealing with this?
As an example. We want to add a new announcement to our homepage. A user could go in, click the "Add new announcement" button, enter their text, set the links, etc. etc. etc. The problem is when they click update the new announcement is out there and no one had a chance to review it first. The same goes for blog updates. I know there is a spot to enter a date when the announcement goes live, but a user will forget to set this at some point and the changes will go live without a review. Some modules have a Moderator option (repository, forums, etc.) but not all modules have this.
How do you all handle reviewing changes to site content before it is displayed to the world? Is there a module out there for this?