Revisions available from initial draft?

From this thread…

Is there a way to set the revision lock to on without having to jump through a publish state? I have it working in my workflow now, but since the aging manager only runs every 10 minutes, there is a chance that a publish run could happen before the content has an opportunity to age back to unpublish.

For those who don’t want to read the other thread, I am hoping to be able to have revisions available from the initial draft, not after the first publish. I will have some back and forth between author and editor, and I want each to be able to compare what the other has done since the last time they saw it.

Sure. You can modify the system def (which is available via the Workbench in the Content View as “Content Types Global Configuration”).

Under the PSXFieldSet, add the following PSXField


     <PSXField name="sys_revisionlock" showInSummary="yes" showInPreview="yes" forceBinary="no">
          <DataLocator>
             <PSXBackEndColumn id="1002">
                <tableAlias>CONTENTSTATUS</tableAlias>
                <column>REVISIONLOCK</column>
                <columnAlias>REVISIONLOCK</columnAlias>
             </PSXBackEndColumn>               
          </DataLocator>
          <DefaultValue>
             <DataLocator>
                <PSXTextLiteral id="0">
                   <text>Y</text>
                </PSXTextLiteral>
             </DataLocator>
          </DefaultValue>          
          <OccurrenceSettings dimension="optional" multiValuedType="delimited" delimiter=";"/>
          <FieldRules>
             <PSXVisibilityRules dataHiding="xsl">
                <PSXRule boolean="and">
                   <PSXConditional id="0">
                      <variable>
                         <PSXTextLiteral id="0">
                            <text>1</text>
                         </PSXTextLiteral>
                      </variable>
                      <operator>=</operator>
                      <value>
                         <PSXTextLiteral id="0">
                            <text>2</text>
                         </PSXTextLiteral>
                      </value>
                      <boolean>AND</boolean>
                   </PSXConditional>
                </PSXRule>
             </PSXVisibilityRules>
          </FieldRules>       
       </PSXField>

Under the add the following tag:


        <PSXDisplayMapping>
             <FieldRef>sys_revisionlock</FieldRef>
             <PSXUISet name="" defaultSet="">
                <Label>
                   <PSXDisplayText/>
                </Label>
                <PSXControlRef name="sys_HiddenInput"/>
             </PSXUISet>
         </PSXDisplayMapping>

Of course, it’s possible that you will not want to have this turned on for all content types. In this case, remove the <DefaultValue> from the <PSXField> in the System Def, and add the default value in each Content Type (using the Workbench).

That hit the spot. Thanks!

How does revisioning work then for items that have been public OOB, since revisionlock is not defined in the sys def to begin with?

And, can you clarify this sentence “In this case, remove the from the in the System Def”? Removing what?

THANKS