We can enable approval process on the documents stored in SharePoint document libraries. We require approval of the documents or of changes to the documents that are submitted to the document library. When this content approval setting is applied, a document that has been changed remains in a pending state until it is approved or rejected by someone who has permission to approve it. If the item or file is approved, it is assigned an ‘Approved’ status in the library, and the approved document can be viewed by anyone with permission to view the items in library. If the document is rejected, it remains in a pending state and is visible only to the people with permission to view drafts.
How to enable the document approval process?
When we create a new document library, the document approval is not enabled by default. To enable document approval, please follow the below steps;
| 1 | On the Settings menu , click Document Library Settings, or click the settings for the type of library that you are opening. |
![]() |
| 2 | Under General settings, click Versioning settings. | ![]() |
Note: When you click on the Yes, the content approval is turned on. SharePoint by default maintains only the latest version of the document. If you need multiple versions of the document stored in the document library, versioning has to be turned-on in Document Version History.
Document Versioning
Versioning in document libraries enables you to track and manage information as it evolves and to view and recover earlier versions if necessary. You can specify whether to track all versions in the same way or specify that some versions are major (major version: A numbered copy of a file that has changed significantly since the previous major version. Each major version is identified by a whole number 1, 2, 3 …), and some are minor (minor version: A decimal-numbered copy (0.1, 0.2, 1.1 …) of a file that is in a stage of revision or that has changed only slightly since the previous version. A minor version is not published for a wider group to view.), such as those in which a spelling error is corrected.
Other settings that affect versioning
You can configure other settings that affect versioning. You can require content to be approved — this setting is sometimes referred to as content moderation. You can also require files to be checked out, which help to avoid conflicts over changes and prompts people to enter comments about files when they check them in.
Content approval
When content approval is required, a document remains in a draft or pending state until it is approved or rejected by someone who has permission to approve it. If the document is approved, it is assigned an Approved status in the library, and it is displayed to anyone with permission to view the library. If the document is rejected, it remains in a pending state and is visible only to the people with permission to view drafts.
When you enable major and minor versioning in a library that requires Content Approval, you can also add a workflow to the document library. A workflow controls how your document move through business processes, such as review or approval. You can use a workflow to manage the approval process when major versions are checked in.
Requiring check-out
Requiring check-out can help you make the most of versioning, because people specifically designate when a version is to be created. A version is created only when someone checks out a file, changes it, and then checks it back in. When check-out is not required, a version is created when someone first saves a file and this version is updated when the person closes it. If that person or someone else then opens and saves the file again, another version is created. Depending on the situation, you might not intend for multiple versions to be created.
When check-out is required, people cannot add files, change files, or change the file properties without first checking out the file. When people check in files, they are prompted to provide comments about the changes that they made, which helps to create a more meaningful version history. This is the best practice to be followed while creating a document library no matter whether, you need content approval, versioning or not.
How to enable document versioning?
| 1 | On the Settings menu , click Document Library Settings, or click the settings for the type of library that you are opening. |
![]() |
| 2 | Under General Settings, click Versioning settings. | ![]() |
| 3 | Do one of the following:
|
![]() |
| 5 | Click OK |
Who can view the draft versions?
You can control which groups of people can read drafts of the documents. Drafts are either the minor versions of a document that is in a stage of revision or that has changed only slightly since the previous version. Typically, a minor version is not published for a wider group. A draft can be a new item or an item that has changed.
A draft is created in two situations:
- When a minor version of a file is created or updated in a library that tracks major and minor versions
- When a document is created or updated but not yet approved in a list or library in which content approval is required
To specify who can view the draft versions, you must have permission to design the particular library. To make changes, go to versioning settings pages (as specified above). In the Draft Item Security section, under Who should see draft items in this list or under Who should see draft items in this document library, click the group of users whom you want to enable to view drafts.

Note: The option for users who can approve items is available only if your library requires content approval.
To view the various versions of the documents
Now that we turned on the versioning in the document library, we can always view and retrieve the document from previous versions. Follow the steps below
- Click on the small downward facing arrow. A drop down appears as shown in the figure below. Select Version History from the options available.

- The following page with the version history of the document is displayed. Here you can either delete a particular version of the document or even delete all draft version.

- To restore a particular version, hover the mouse pointer on the modified date of the particular version. You will see the arrow
appear next to the document’s modified date. - When you click on the arrow, you will get dropdown as soon in the image below with options to restore, view, un publish (if publish version) or delete (if draft version)

- When you click on the restore for the previous published version, you get a prompt saying, the existing version will be replaced with this version.

- Click on OK to replace the current version with the selected version. Note that, before you restore a document, the document has to be checked out by you.
, click Document Library Settings, or click the settings for the type of library that you are opening.

, click Document Library Settings, or click the settings for the type of library that you are opening.




[...] 1st, 2007 by Jag In my previous post Document Approval Process in WSS3.0/MOSS 2007, we analysed various features of document versioning and content approval process. Now we can go [...]
Pingback by Using the WSS document library with versioning and Content Approval – A ScreenCast « Footprint of IT — August 2, 2007 @ 2:20 am
Hi Jag
Ref MOSS 2007 SharePoint
How do you unpublish a page such that it no longer becomes visible on the production site?
The previous versions just keep on popping up. Driving me nuts. The user interface doesnt appear to offer an easy solution to this. The only thing left to me is to actually delete the page.
Surely there must be a better way. Our site has has been online for 4 months now and we now need to take items off the site. Something so simple has become such a headache
cheers
Tony
Comment by Tony Petrucci — August 30, 2007 @ 2:29 am
Hey Tony,
Unfortunately, there isn’t a way to unpublish a page. But that does not mean you have to stay with it.
using a SPFile.Unpublish method, you can create a server side app and unpublish the pages you need. Give it a try, it should work.
Time to write some code!
Jag
Comment by Jag — August 30, 2007 @ 9:03 am
I have some images in the “SiteCollectionDocuments” folder that refuse to change from Pending to Approved.
I have full permissions, and have tried checking-out, publishing in SharePoint designer, chooing “Approve” multiple times, but the document remains Pending (or draft when checked-out).
I even ran Andrew Connell’s “PublishAllItems” STSADM extension on the list but no dice.
I’ve seen a mention of a bug that causes an endless approval/pending loop (http://www.eggheadcafe.com/software/aspnet/30350730/do-you-people-realize-how.aspx) but I’m not sure if that’s the issue.
Any ideas?
Comment by PeterB — September 18, 2007 @ 12:10 am
It seems “Content Approval” (Versioning) and “Parallel Approval” (Workflow) are mutally exclusive: if I disable “Content Approval” on the list and then publish the images, they appear to “Restricted Readers” group.
Looking at the workflow history list, it seems the Parallel Approval never fired when I hit “Publish” anyway – perhaps because I’m an administrator?
Comment by PeterB — September 18, 2007 @ 12:30 am
Hallo,
Jag can u tell me how can i use SQL queries on lists in WSS3.0 to retrieve data from a list
Thanks in Advance
Comment by Mubaraka — September 20, 2007 @ 7:49 am
Hey Mubaraka,
I recommend to use CAML queries for retireiving the content from SharePoint lists. There is a nice CAML Query builder by U2U.
Ciao
Jag
Comment by Jag — September 20, 2007 @ 11:52 pm
Hi Jag
I need hide the dropdown which shows options to restore, and unpublish the version, in order thar user can’t see it. There are any way to resolve this requirement
Thanks
Comment by karla — October 24, 2007 @ 4:53 pm
Hi Karla,
If you want to hide restore and unpublish options to a particular user or a set of users, just give them read permmision. If you want something more than just read, you can create a new custom permission. Check out the Site Permissions in People and Groups section under Site settings.
Ciao
Jag
Comment by Jag — October 24, 2007 @ 11:45 pm
Is there a way to require approval on a delete? We have users required to go through the approval process and would like them to be able to request that a file be deleted.
Comment by Jon — October 31, 2007 @ 12:54 am
Hey Jon,
you can use disposition-approval in your case. if that does suit to exact needs, you can always create a simple ‘Document Delete’ approval using SharePoint Designer. Have a shot at it.
Jag
Comment by Jag — October 31, 2007 @ 1:02 am
Is there a way to see who has a document checked out?
Comment by Ryan — November 30, 2007 @ 4:03 pm
Jag
I am using disposition workflow for a solution I am building in my organisation. Is there a way to make the OOB workflow set expired items to pending instead of deleting? if not can this be a done in SharePoint designer with the workflow starting automatically?
Comment by Sam — March 13, 2008 @ 9:46 pm
Sam,
Disposition Approval workflow supports records management processes, manages document expiration and retention by allowing participants to decide whether to retain or delete expired documents. The Disposition Approval workflow is intended for use primarily within a Records Center site.
To your question, using dispostion approval workflow we cannot flag items as pending. I have no idea if you can do this using SharePoint Designer. I have to fire-up my virtual machine to check this. Anyway, you can create custom timer job and trigger an event to flag the item as pending after a span of time. If writing code is something that amuses you!!
Jag
Comment by Jag — March 14, 2008 @ 3:37 am
Regarding Content Approval; why is it that when the site administrator (System Account) is uploading a document into a Doc Library (Having Content Approval Setting is turned on) is set to status “Pending”, I think it should automatically have status “Approved” as the user is a Administrator and has full rights on the site.
I don’t know whether i am missing out some settings, but can any body help me out how to achive this. i.e. User who have permission level rigts will not need to have their uploaded documents approved by others.
Thanks in Advance
Comment by TB — April 4, 2008 @ 1:05 pm
I am having the same issue. I found some documentation online that says content uploaded by an admin is automatically approved — but it’s not working that way for me. Someone else told me this was disabled in WSS 3, but is there a way to turn it back on?
Comment by Shawn — April 19, 2008 @ 3:17 am
[...] http://itfootprint.wordpress.com/2007/08/01/140/ [...]
Pingback by Document approval process, versioning « Rock MOSS 2007 — May 2, 2008 @ 10:05 am
Hi!
I need to create a view with a filter that only displays the Major versions in a documnet library – any idea how to do that..?
Any tips you may offer will be greatky appreciated! Thanks for a great resource!
Comment by Torill — June 6, 2008 @ 9:45 pm
Hi Jags
plz Can u Help Me for “How to search the uploaded documents in search button” in Search button all contents of the site are displayed but Document Library And its documents are not displayed plz help me………..
Comment by Janardhan — June 25, 2008 @ 7:17 pm
Hi Janardhan,
Thanks for reading my blog.
Your requirement is bit vague!
If you looking for setting up a Search Scope with the document libraries, it is possible only in MOSS 2007 and not it WSS 3.0.
What version of the SharePoint are you using? And please explain you requirements bit more.
Jag
Comment by Jag — June 26, 2008 @ 10:50 am
Hi JAG! Thanks for early Reply!
i will explain in Details of my Requirements
1)I created a three Document Libraries which have some Documents.we have some users they only access thier belonging library not all the libraries for this purpose i create a work flow its working fine.
But the Problem is
when we enter the documents name in search button on Home Page of the site nothing is displayed……its my problem……..
My Requirement is when we enter a Document Library Name or Document name in it on Search button on Main Page of the site how it displays those documents……
iam using MOSS 2007……plz help me Iam new to this share point technology………
Comment by Janardhan — June 26, 2008 @ 10:24 pm
Hi Jag,
I was going thru the blog,I do have a requirement similar to document versioning.
We have a workflow which takes care of document versioning.
I will explain the secnario and the issue that we are facing.
When the user is checking out the document to modify anything the version is changed form 1.0 to 1.1 and
Situation 1:
1.if the approval of the document is done the version is changed from 1.1 to major Version 2.0 in the document library and it is showing as 2.0.Works fine.
Situation 2:
2.Else if the Document is Rejected for the Checked Out file version 1.1 still
in the Document library the Version is shown as 1.1 instead of 1.0,which
actually should be the behaviour. Please help me out in getting this
particular issue to get it solved.
Thanks in Advance
Nikhil
Comment by Nikhil — July 25, 2008 @ 6:17 pm
I need to automatically delete sharepoint documents after x number of days. Anyone out there have a solution
Comment by rob — January 31, 2009 @ 2:57 am
I have created a workflow in WSS. It has options Approve,Reject. I have created three user groups and users to each group.When i approve or reject the documents with system account its working fine but when i do the approve operation with users its not working, reject opeartion is working. i have given full control to all the user groups. Please help me out in resolving this issue.
Thanks,
Dinesh
Comment by Dinesh — February 9, 2009 @ 9:38 pm
Hi Jag,
thnx for the information u have provided
Comment by Aruni — March 2, 2009 @ 3:20 am
Hi,
I need to find out if it is possible to notify someone when a document is placed is a state where it needs to be approved. Can this be done or how do you go about alerting people that they need to approve a document.
Secondly, Can you have multiple approvals for one document or can only one person approve it.
Thanks
Elmo
Comment by Elmo — September 16, 2009 @ 11:45 pm
Yes it is possible to notify the approver. Use a tasks list and assign the a task for the approver.
You can have multiple approvals (parallel) on single documents. You can also specify on many of them needs to approve it so that you can publish.
Comment by Jag — September 17, 2009 @ 10:51 am