When editing a formula for a property, what do the Auto Revert and Follow Part Number radio buttons do? Do they work?
I know what the others do. Are there any known bugs with Initialize Only?
Does Non-Cached work (doesn't seem to in 8.13)?
I'm not aware of any bugs with initialize only. Are you seeing something you don't expect?
Non-Cached is not implemented and will be going away in 9.0.
For others reading this thread, here are the definitions of all property behavior types from RS Essentials:
Standard — The formula is fired when its result is demanded. It is also
fired if its result becomes “dirty,” which means that it is invalidated or
de-cached. It becomes dirty because another rule that it depends on
becomes invalidated. For example, when the user manually overrides a
result at run-time, it will invalidate all results that depend on it. A
manual override of a standard result will stop the rule from firing until
the manual override value is explicitly thrown away and the result
reverted to the formula. If the result is not invalidated, it returns its
cached value when it is demanded.
Auto Revert — The formula is fired like a standard rule. However, if
the user manually overrides the calculated value, the manual value is
automatically thrown away if any of the other results (on which it
depends) are invalidated. In other words, the manual override does not
prevent the rule from firing (as it does for a Standard rule).
Follow Part Number — A follow part number rule is kept in sync for
all parts that have the same part number. Changes in the result of one
part will cause the result to change for all parts with the same part
Initialize Only — The formula is fired the first time it is demanded;
after that, the value is cached and never re-evaluated.
Why is non-cached going away? It is extremely useful in certain scenarios (such as writing data to external systems.) Is there an alternative method for accomplishing the same thing?
I have worked around not having it in the past by using the Property.ForeDecache API.
Regarding Initialize Only, we are experiencing problems with it for one of our customer solutions. We have been trying to reproduce it with no luck. In smaller test cases, it always works. But it doesn't in our big giant application. We are still trying to figure out why. We will bring SPLM support in as soon as we have some more focused way of showing the bug.
It's not really going away... it was never implemented.
We're temporarily removing the choice from the Architect UI to avoid confusion until such time that we can implement that behavior. While it seems doing so would be quite easy, upon examination our Development team found is is very involved due to the way we do forward decaching of changes for performance.
It will be put in when we do some kernel refactoring, which will be post 9.1.
I don't have any good alternative method. Closest I've come is to create a dependency on the process step in the value formula so it recalculates any time you change process steps.