Content approval by roles workflow So I am looking at creating a website in Drupal (In the past I have used PHP and in the past few years, Symfony), however, I can not work out the workflows when it comes to approval for content.

The way the organisation will work is there will be a large number of people that will need to be able to create and edit content pages, but should not be able to publish them. Then one of the admins will look at the page and fix up any code required and make the page a bit neater, and then publish.

The first thing is, I need to know how to make a role where the user can add (not sure if adding will be required yet) and edit a page, but not publish it.

The second thing is when a page is edited and the checkbox for publishing is not selected, it unpublishes the page! That really should not be the case, it should just stay at the current revision and the saved page should just be a newer revision awaiting publishing.

I am running tests on the opensourcecms servers at the moment (with their 24hr testing system), so can not upload my own modules to the server.
I think for your use can you should use workbench 
with workbench_moderation 


  Workbench Moderation adds arbitrary moderation states to Drupal core's "unpublished" and "published" node states, and affects the behavior of node revisions when nodes are published. Moderation states are tracked per-revision; rather than moderating nodes, Workbench Moderation moderates revisions.