Skip to main content
Question

A question about Document Connection "Update Revision"

  • 26 July 2024
  • 1 reply
  • 25 views

Our users have recently had some issues with the “Update Revision” setting on doc object connections, and i wondered if any other IFS users have had similar issues...

 

On Doc basic (page) > Doc Default Values (tab) we set the “Keep_Last_Doc_Rev” setting to “R” (i.e. latest released revision). For the doc class in question, we also applied this same setting via the Doc Class management (page) > Doc Default Values (tab).

We expected these settings to ensure that all doc connections for this doc class would follow that setting (unless a user intentionally edits the “Update Revision” field).

 

Under normal circumstances, releasing a new Rev causes the old rev to become obsolete, and also causes the object connections to be moved to the Latest Released Revision (as expected)

However, after a few weeks of running our process we found that several doc connections were set to “Fixed” instead of “Latest Released Revision”, and didn't really understand how it had happened (our users did not manually edit the Update Revision setting)

 

After some investigation and experimentation, we found the root cause...

If we get into a situation where there is no released revision of a doc (e.g. all revs of the doc are obsolete) then IFS automatically changes the object connections to “Fixed”. This can occur if we find an error in a released doc and need to immediately set it to obsolete (even before we’ve created a new / corrected revision). IFS does not display a message to explain that the Update Revision setting has been changed, so it’s not obvious to the user).

This means that when we do eventually create a new revision of the doc, and then release that new rev, the doc connections are not moved forward to that newly released revision as would be expected. Instead they remain fixed to the old obsolete revision.

 

As a work around, we found that after obsoleting the released rev (and the connections automatically changing to fixed) we can manually edit the connections to change them back to “Latest Released Rev”. Doing so displayed an information message to explain that the latest revision is obsolete, but does still allow the change to be saved.

After doing that, we can create a new revision, and when we release it at a later date the connections are moved forward as expected.

 

My question: Why does IFS change the connections to “Fixed” when there are no released revisions? Wouldn’t it be better to leave them as “Latest Released Revision” (as is specified in the Doc Default Values) such that the connections are automatically moved forward if/when a new revision is eventually released?

 

  • Robin

1 reply

Userlevel 7
Badge +31

@RobinHunter 

Hi Robin,

Nice to see you here 🙂 

> We expected these settings to ensure that all doc connections for this doc class would follow that setting (unless a user intentionally edits the “Update Revision” field).

What you should expect is that all new connections between a document of that class, and any object, should get that value. That's it, a classic "default value".

> Under normal circumstances, releasing a new Rev causes the old rev to become obsolete, and also causes the object connections to be moved to the Latest Released Revision (as expected)

I would not say it's "normal" because it either becomes Obsolete if you have changed the system setting that makes it to be Obsolete (something you do on purpose) or if the user decides to obsolete old document revisions.

What happens "depends", is what I would say.

> This can occur if we find an error in a released doc and need to immediately set it to obsolete (even before we’ve created a new / corrected revision).

I haven't tried this recently so I don't know how it will behave, but would it be an option to make a new revision from one of the older, obsolete, revisions and after that making the revision obsolete? Just an idea to try. This only works, of course, if not all old revisions are truly obsolete and should not be used (then again, you keep them around for a reason, so how bad can they be, worse than the one you want to set to obsolete now? 🤔)

> This means that when we do eventually create a new revision of the doc, and then release that new rev, the doc connections are not moved forward to that newly released revision as would be expected. Instead they remain fixed to the old obsolete revision.

The user has the option to move them though, right? It takes manual work, of course.

> My question: Why does IFS change the connections to “Fixed” when there are no released revisions?

This has changed a number of times during the years. Firstly, Update Revision is treated much more strictly nowadays than in some of the older IFS Apps releases. So that's that.

Then I remember we had a long-running customer case where it was very important that old, now obsolete, document revisions, should not be "suggested" to be used in new object connections (or something like it). So, to not "risk" an obsolete document revision being used, we set the connection to Fixed. I hope I'm remembering that discussion correctly. At any rate, we did not add code "just for fun" 🙂 to make a change like that, so it's done very deliberately. That's another way to say it's not a bug. But it might not work in the most optimal way, at least not for you.

> Wouldn’t it be better to leave them as “Latest Released Revision” (as is specified in the Doc Default Values) such that the connections are automatically moved forward if/when a new revision is eventually released?

It would be better for you 🙂, but would it be better for the majority of customers (yes yes, we could add more settings...)? I don't know. And that setting, as I said above, is for when we create the connections. It's not used after that as I remember it.

Is this clearer? 🤔

Feel free to add an idea to the Ideas section here on IFS Community to get some setting to control this behavior. Or change or work processes 🙂 Or ask for a information message to appear when we change those connections to Fixed..., or... 

 

Reply