What is an item fork in a graph?

What is an item fork in a graph?


Yoann Maingon
Yoann Maingon
@yoannmaingon
What is an item fork in a graph?

I’m resuming our series of blog post about configuration management concepts. The last one was about non-interchangeable revision. This week we cover the fork concept.

Fork vs Branch

First let’s make sure we don’t confuse Fork and Branch.

A branch is typically copying data to work on an alternative in order to ultimately merge the benefits of this alternative, back in the initial version. It allows to work on multiple alternatives at the same time.

Fork, is closer to basic configuration management practices. You have a product, and you decide to create a new version. But this version is different enough to not keep the same product number and start a new product reference, not just a revision.

Fork on PLM data

Historically in PLM, Fork, is copying a folder. Whatever the PLM data you are working on (mechanical, electronic design, or service definition). You create an alternative by copying and renaming a folder.

PLM is a graph, and in a graph, the limits of your folder don’t exist. Therefore we need to understand what is the impact of a fork on a few nodes of the PLM graph.

Here is a simple example with PRTC being forked.

T0
T1

The consequence of such operation is:

  • Incoming links are not copied, similar to a non-interchangeable revision
  • Outcoming links are copied to keep the same content once you fork.

The difference with a non-interchangeable revision is that you don’t supersede the initial part (or any type of node). In our case PRTF starts from the latest state of PRTC but from now on it will live its own life.

The following example is an actual automated test script from Ganister PLM. It show that part C1.0 is forked and in the same Engineering Change Order (ECO) D and F are revised (from 1.0 to 1.1) in order to consume the result of the fork. Part C1.0 doesn’t change its state. It is still a released Part. Thanks to the graph we easily add a “fork” link to keep the traceability of the fork.

The next step will be to cover the case of a superseding fork. Pretty similar to this fork but changing the state of the former object.

As usual feel free to comment your objections !

Related Articles

Front-end frameworks
Software solutions

Front-end frameworks

PLM solutions are mostly web-based nowadays. To access the main User Interface of these PLM solutions you need a web-browser. Web browers are eating 3 languages: HTML CSS...

Posted on by Yoann Maingon
Should you care about the programing language used in your PLM stack?
Software solutions

Should you care about the programing language used in your PLM stack?

What is the language your PLM solution has been built with? It is something that barely comes up in PLM evaluation. Does it matter? I think so, but in order to know why it matters...

Posted on by Yoann Maingon