Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
THRUST SERVICES & TOOLS
CLOUD EDITIONS
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Web CMS (TeamSite)
Handiling failure in complex Approval process
adam1
I'm designing the work flows to manage our content change process. Its a relatively basic process. The author completes his assigned tasks and the files attached to the workflow are copied to the QA workarea where the QA team approves the process.
The problem I am having is handling the failure conditions. If the QA person fails the changes, and those changes could include a number of files, I need to revert the QA envrionment to the condition it was in before the failed files where copied in.
There are complications.
1) There are going to be multiple simultaneous jobs which will be submitting files to QA. As I update the files from those jobs, they are going to become merged with files already in QA. If QA fails a job that shares files with other jobs that are ready for QA, the merge has to be undone.
-- I can solve this by forcing (anyone know how?) my QA people to QA one job at a time. Except that I have more than one QA person, and giving each their own work area is a problem. If each approves a different job that affect the same file, when those changes get merged, there is a potential for conflicts to occur and that should never happne.
2) we have a two step QA process. One is internal and the second is external where our clients have to review our changes. The problem is there exists a very real chance that some jobs will get held up either becuase they have forgotten them OR they actually want those changes to go out at a later date. I can't hold up other jobs waiting for this one to pass.
I'm at a loss. I want to avoid putting anything into staging that hasn't passed through our QA processes.
Any thoughts?
Adam van den Hoven
Find more posts tagged with
Comments
13adam13
I am not really clear on why you need to copy the files out of the workarea that the files were modified in. In our QA process, we simply unlock, and relock, the files that are submitted. This prevents the authors from making further changes to those files until we have QAed them.
As far as the conflict situation, we depend on TeamSite to help us with that. Before anyone on my QA team submits a file to the STAGING area, we do a 'Compare to Staging' check to make sure that there are no conflicts.
Finally, we do not actually submit anything until it has gotten final approval from our business leaders. If we discover somethign is wrong with the pages, we will either reject the task back to the Author to make the required changes (at which time the locks are changed back to that individual), or we make the 'Quick Changes', and then get the additional approval before hitting the Submit button and moving it to staging.
That having been said, I have an idea for how you can get some of the functionality that you are looking for.
1) With multiple jobs, if you want to force TeamSite to only enable on workflow at a time, I would set a value (true/false) in a flat file on the TeamSite server. When ever someone tries to start a job, the first thing that it would do is check this file to see if another is already being done. You caould make it very friendly and include in that file all the pertinant information about the task currently being performed. This way, if there are schedluing conflicts, it is easier to resolve.
Migrateduser
There are potential holes in that solution. Setting a flag in a flat file when a job starts does not account for a stale value - pehaps for a long time, when someone deletes an active job. A better/safer approach would have a script that checks for all active jobs to see if the same files are currently in any active jobs, if you want to use an approach like that.
Dave Smith
Sr. Software Engineer
Nike, Inc.
(503) 671-4238
DavidH.Smith@nike.com
13adam13
Dave,
You are absolutely right. I like your solution much better, especially because you would then be able to run two jobs simultaniously if they don't have common files.
The functionality would be pretty simple, too. Just need to query active jobs, and then, for each, check the file list for matching values.
MoreTextVisualization55.ssd.zip
11416.pdf
adam1
We have a situation where we have to wait for approval from our clients before we can push a change into production. Right now, we are submitting files to staging and working from there. Perhaps its because we have been using bad workflows but we get it too often that a change which is not ready exists in stanging (because its going to our preview server, we don't have virtualization yet) and gets pushed to production. I want to get around this by not putting anything in staging that hasn't been approved by the powers that be. I need a way to handle the case where my external approver takes too long to do his thing and I have move those changes "out of circulation"
I've come up with an idea that includes creating a temporary workarea on a per job basis and using that at a staging area. I've attached a gif of the visio diagram of the idea. I'd appreciate some comments.
Adam
Adam Stoller
Without spending a lot of time digging into your design requirements and workflow diagram - let me toss out a potential design process that may help you figure out a means of implementing things within your existing environment with not too-much modification...
If you cannot get true workarea virtualization working easily, but have the procedures for doing staging area virtualization well in hand - consider using sub-branches for either development or QA work. Rather than just doing updatetasks from a developers' workarea to a QA workarea on the same branch, consider using an updatetask to transfer specific versions of assets from a workarea on one branch to a workarea on another branch.
One of the advantages of doing things this way is that you get an additional staging area to version assets within - which means that you can version work in one staging area as it is going through the review process, but have another staging area which is more directly associated with your actual production environment and thus does not contain files that aren't ready for publication.
Think about it a bit - it might lead you to all sorts of possibile ways to implement your process that you hadn't considered before...
--fish
(Interwoven Senior Technical Consultant)