6 Replies Latest reply on Mar 23, 2010 7:35 AM by Jim Sculley

    Understanding Revision Counters

    Jim Sculley

      Can someone explain the interaction between the 'Increment Revision Command' feature of the State properties and the 'Change Revision Counters' feature of the Transition properties? My interpretation is as follows:

       

      1.  The 'Increment Revision Command' feature controls the revision that will be applied to a file entering the state via a transition with an 'Increment Revision' action.  If no transitions entering this state have an 'Increment Revision' action, then there is no reason to choose anything other than '<None>' in the 'Revision Number to Use' drop-down list.

       

      2.  The 'Change Revision Counters' feature controls the way the 'Increment Revision' action of a transition will occur.  If the transition doesn't have an 'Increment Revision' action, there is no reason to touch these settings.  If the transition has an 'Increment Revision' action, but the increment isn't special in some way (i.e. resets one component of a multi-component rev number) there is no reason to touch these settings.

       

      3.  If a transition uses the 'Change Revision Counters' feature, it supersedes the settings in the  destination state properties.

       

      I will assume my interpretation is incorrect, because I'm seeing some behavior that doesn't make sense.

       

      I have two revision numbers:

       

      Pre-release with a single letter

      Standard - a number and a letter (the letter is typically absent but sometimes required at certain points in the workflow)

       

       

      I have a workflow that looks like this (states denoted with S, transitions denoted with T):

       

      ==========================

      S: Work In Progress (Rev Number to Use: <None>)

       

      T: Submit for Release

       

      S: Release Pending (Rev Number to Use: <None>)

       

      T: Release (Automatic)

       

      S: Approval Pending (Rev Number to Use: <None>)

       

      T: No Approval Required (Automatic with Increment Revision Action)

       

      S: Approved (Rev Number to Use: Standard, Letters: Reset to 0, Numbers: Increment by 1)

       

      T: Change Requested

       

      S: Changes Pending (Rev Number to Use: <None>)

       

      T: Submit Changes

       

      Goes back to

       

      S: Approval Pending

      =======================

       

      If I create a new drawing, check it in and perform the Submit for Release transition, the files moves to the Approved state, as expected, but the revision number is 0A, which is not expected,  Why did it ignore my settings (Reset Letter component of rev number to 0) in the destination state (Approved)?

       

      If I perform a Change Requested transition, followed by Submit Changes, the file returns to the Approved state and the revision is now 1, as expected.  All subsequent change requests bump the rev appropriately as well.  Only on the first time through the workflow does the letter component appear.

       

      Also, if I send the file from Work In Progress through our review workflow (which uses the Pre-Release rev number) and then do a Submit for Release, the file goes to Approved with the correct revision number 0.

       

      If I set the state properties on Approval Pending to use the Standard revision number, with the number component incrementing by 1, then it all works as expected, but this violates item #1 of my interpretation since there are no transitions into Approval Pending that include an Increment Revision action.

       

      The admin guide and training guide do not describe the interaction between these two features, so if someone has a clear understanding of this, I would appreciate some enlightenment.

       

      Jim S.

        • Re: Understanding Revision Counters
          Joy Garon

          Hi Jim -

           

          Inc. Revision in the transition increments the revision based on the revision scheme set on the target state.

          Increment Revision (from RMB command) – Increments the revision based on the revision scheme set on the current state. If you look at a state that has a revision scheme, you will notice that you can control how the revision component counters increment.

          Sometimes you do not want to increment or set a revision component counter at the state because it does not function in the manner you desire.

          So, in these cases it may be desirable to set a revision component counter at the transition via Change Revision Counters…

           

          I'm not sure I completely understand your workflow. Look at the attached images - is this essentially what you are trying to do?

          I think the problem you are running into is that you cannot have the state flip between two different revision schemes.

           

          Regards,

          Joy

            • Re: Understanding Revision Counters
              Jim Sculley

              Inc. Revision in the transition increments the revision based on the revision scheme set on the target state

               

              This is how I understood it to be.  What I don't understand is how a document passes through a transition with an 'Inc Revision' action (but no changes to the revision counters) into a state where the letter component is reset to 0, results in a revision number of 0A.  The 'A' just should not be there.  I can force it away by tweaking the transition to reset the counter to zero, but this seems like a workaround.

              I'm not sure I completely understand your workflow. Look at the attached images - is this essentially what you are trying to do?

              I think the problem you are running into is that you cannot have the state flip between two different revision schemes.

              Understood, but I am definitely not trying to do that.  Your interpretation of my workflow description isn't quite right.  The 'Pre-Release' phase is a separate loop hanging from the Work In Progress state.  That part of the workflow looks like this:

               

              S: Work In Progress

              T: Informal Review

              S: Under Inform Review

              T: Review Complete

              S: Work In Progress

               

              It is simply a way to perform an informal review by a group of users specified by the submitter.  We use letter revisions here to keep track.  A document may have several informal reviews before entering the formal release  part of the workflow outlined in my previous post.  As I stated in my last post, as long as I send the document through this informal review loop one or more times, the first time through the formal release results in the proper revision of 0.  Also, the revisions in the informal loop work perfectly.

               

              I suspect this is some sort of bug, but I want to be sure I'm not just confused about how the whole thing works.

               

               

              Jim S.

                • Re: Understanding Revision Counters
                  Joy Garon

                  Jim -

                   

                  I must apologize, but, I'm still not quite getting what you have setup

                  Could you export you workflow and attach it to your reply? (just zip the cex file)

                  If you use a two component revision scheme, you will always get both components.

                  The values of each component are determined by the current counter value.

                   

                  Let's take a simple example.

                  I have a revision scheme that has one revision component - alpha.

                   

                  I have a simple workflow:

                   

                  S: Work In Process (revision scheme: none)

                  T: Approved (Transistion action Inc. Revision - no change to counters)

                  S: Released (revision scheme alpha, increments by 1)

                  T: Change required (no transition actions, no modification of the revision counter - return to Work in Process state)

                   

                  When I transistion a document to the Released state, the Inc. Revision command on the transition looks  to the destination state (Released) to see what revision scheme to use. The current value of the revision component is used (in this case A). As you cycle through again the revision increments.

                   

                  Now, let's revise the scenario:

                   

                  S: Work In Process (revision scheme: none)

                  T: Approved (Transistion action Inc. Revision - no change to counters)

                  S: Released (revision scheme alpha, clear Increment by and  Reset to )

                  T: Change required (no transition actions, no modification of the revision counter - return to Work in Process state)

                   

                  When I transistion a document to the Released state, the Inc. Revision command on the transition looks  to the destination state (Released) to see what revision scheme to use. The current value of the revision component is used (in this case A). However when I cycle through the same counter value will be used because it is not being incremented of reset anywhere.

                   

                  Now, let's revise the scenario once again:

                   

                  S: Work In Process (revision scheme alpha, clear Increment by and  Reset to )

                  T: Approved (Transistion action Inc. Revision - no change to counters)

                  S: Released (revision scheme alpha, clear Increment by and  Reset to )

                  T: Change required (no transition actions, modify the revision counter, set Increment by to 1  - return to Work in Process state)

                   

                  When I transistion a document to the Released state, the Inc. Revision command on the transition looks  to the destination state (Released) to see what revision scheme to use. The current value of the revision component is used (in this case A). As you cycle through again the revision increments this time based on the counter incrementing at the transition.

                   

                  Now, let's revise the scenario once last time:

                  This time we will add a new state and transition...

                   

                  S: Work In Process (revision scheme: none )

                  T: Submit for approval (no transition actions, modify the revision counter, set Reset to to 0)

                  S: Pending Approval: (revision scheme alpha, clear Increment by and  Reset to )

                  T: Approved (Transistion action Inc. Revision - no change to counters)

                  S: Released (revision scheme alpha, increments by 1)

                  T: Change required (no transition actions, no modification of the revision counter - return to Pending Approval state)

                   

                  When I transistion a document to the Released state, the Inc. Revision command on the transition looks  to the destination state (Released) to see what revision scheme to use. The current value of the revision component is used (in this case nothing - it was set to 0 at the submit for approval transition). As you cycle through again the revision increments this time based on the counter incrementing at the Released state.

                   

                  Joy

                    • Re: Understanding Revision Counters
                      Jim Sculley

                      I must apologize, but, I'm still not quite getting what you have setup

                      Could you export you workflow and attach it to your reply? (just zip the cex file)

                      If you use a two component revision scheme, you will always get both components

                      The values of each component are determined by the current counter value.


                      The workflow I have includes another branch that is quite complicated and will only cloud the issue.  I've attached an image of a newly created, simple workflow that demonstrates the problem.  The transitions that increment the revision are labeled.  The two expanded states are the only ones that have a revision scheme.  Send a file in Work in Progress through Submit for Release and it will show up in Approved with a revision of 0A instead of the expected value of 0.  Next, send it through Change Requested and Submit Change and it will show up in Approved with revision 1, which is the expected value.

                       

                      Now, send a file from Work in Progress through Submit for Review.  The revision is the expected value of A.  Send it back to Work in Progress via Review Complete and then send it through Submit for Release.  It shows up in Approved with a revision of 0, which is the correct value.

                       

                      I spent some additional time with this today and found that the behavior was consistent regardless of the letter scheme used.  I tried the default A...Z format string.  I tried a custom list starting at 1 = A.  I tried another custom list with 1 = blank and 2 = A.

                       

                      I can force the correct behavior if I change the 'Update Revision Counters' in the No Approval Required transition to set the letter component to 0.  But again, this seems like a workaround, since the Approved state properties are supposed to do this, and they will do it every time except the first time.

                        • Re: Understanding Revision Counters
                          Joy Garon

                          Hi Jim -

                           

                          I have created the exact scenario you show in your image.

                          In my case it works exactly as designed. (Are you sure you get 0A the first time going straight to Approved? It should be 1A (mine works correctly)).

                           

                          So let's take your case:

                          When you first add a file to the vault and check it in, the Letters counter is A and the Numbers counter is 1 (the first values in each counter).

                          When you select  Submit for Release the counter values are unchanged. When you select No Approval Required the revision is set using the current revision counters (in this case 1A). The counter is then reset to 0 for Letters (resulting in no value) and the Numbers is incremented by one (resulting in the counter value of 2). If you now select Submit Change, the counter values will be none for Letters and 2 for numbers.

                           

                          Starting with your other scenario, if you take a new file and select Submit for Review, the current value of the Letters is A. After it reaches Under Informal Review, it will be incremented by one so the value will be B.

                           

                          If, when you select Submit for Review and No Approval Required the first time, you want the value of the revision to be 0 upon it's first arrival, you must set(reset) the counter value prior to arriving at Approved.

                           

                          Regards,

                          Joy

                            • Re: Understanding Revision Counters
                              Jim Sculley
                              In my case it works exactly as designed. (Are you sure you get 0A the first time going straight to Approved? It should be 1A (mine works correctly)).

                               

                              My 'Numbers' revision component is set up to start at zero.

                               

                              When you select No Approval Required the revision is set using the current revision counters (in this case 1A). The counter is then reset to 0 for Letters (resulting in no value) and the Numbers is incremented by one (resulting in the counter value of 2)

                               

                              OK.  So if I understand things correctly, the 'as designed behavior' is that state properties 'Components to Update' is applied post-increment and the transition properties 'Change Revision Counters' is applied pre-increment.  Is this documented anywhere?  If not, it should be.

                               

                              The solution for me is to use the 'Change Revision Counters' feature on transitions entering the Approved state, to reset the Letter component counter to 0 which is 'blank'.