Click here to Skip to main content
15,797,606 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hello Guy's,
I am working on a system which now requires versions to be maintained.
Will explain you the project in brief.
We have a CMS in which there are three users 1. Super Admin, 2. Editor, 3. Approver.
Editor add's data from CMS and send it to approver if he approves the data only in that case it is visible on the front end. Now if the editor edits the same data then its disapproved and removed from the frontend and agian he will send it to the approver and the same process will follow. This is how its working now.

The client has now changed the requirement and now what he wants is that once the data is approved and visible in the site i.e frontend and the editor now edits the data it should not be removed from the frontend and new edited data should be send for approval and when the approver approves the data the old one should be replaced with new one in the front end.

The database design is real bad so it's going to be difficult to achieve this.

The solution that we have thought of is...
For example the Editor can add some kind of news in the front end. All the data w.r.t news is added in news table. Editor add's the news sends it for approval and then he approves. Till here there are no issues. Now suppose that for some reason he wants to edit the same news which is approved. The moment he clicks on edits button it is removed from front end so what we thought is like maintain another table something like temp_news with the same structure and the moment he clicks on edit news after its being approved a new record should be inserted in temp_news table with the values from news table added in this table. Till then in frontend we will display the news from news table. So now we have the same news data in two tables. Approver and editor can now do all the changes and we will update the temp_news table. The moment approver approves this changed data we will update the new's table with values from temp_news table. so now in front end we have the updated new's.
The problem with this solution is that once the changed is approved both tables news and temp_news have the latest data. This not versioning.
Need a solution for this.

I am just a beginner.

1 solution

I will recommend you to use Sharepoint. It is a massive engine for CMS, versioning, right etc.
If you do not want to use Sharepoint, use WWF (Window WorkFlow Foundation). WWF can hold state of transaction and take care of the approval process and all that. In that you can incorporate the versioning functionality.

Hope that helps :)
Share this answer
ubaidh sayed 26-Apr-11 5:36am    
Will do some RND and get back to you.
Thanks for the help.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900