
Welcome to part 1 in my 2 part series on file associations. This
post will focus only on the associations seen in the base version of
Vault. The next post will go over Vault Workgroup concepts like
revisions and lifecycle states.
Introduction:
For base vault we have 2 concepts that are simple on their own, but
start to get complex when you mix them together.
The first concept is File Versions. Every time you edit a
file, you get a new version. Simple.
The second concept is File Associations. Files can be
linked to each other in a parent/child relationship. This allows
you to create dependency trees. Again, simple.
Now let’s mix the concepts together. A file association is
between one version of a file and another. This means
that the
dependency tree might change for each version of a file.

Here is where the confusion starts. You have a big chunk of data
and multiple ways of traversing the data. The good news is that
the API has some built in tools to help you.
Example:
Let’s go through a simple example. First we upload 2 new files, A
and B. A is the parent of B. This is what things look like
in Vault:

Next we will check out B and check it back in with a new file, C.
B is the parent of C. Our view now looks like this:

If we start at A and want to get the entire dependency tree, base Vault
gives you 2 two types of traversals:
- Snapshot in time: You want to view the tree exactly
as it looked when it was uploaded. GetFileAssociationsByIds
in the Document Service is the function that will give you this
view. If you started with file A and wanted all children, you
would get this result:
- Get latest: You want to get the most recent version
of all the files involved. GetLatestFileAssociationsByMasterIds
in the Document Service is the function that will give you this
view. If you started with file A and wanted all children, you
would get this result:
That’s all you need to know for base Vault. My next post will go
over the Revision and Lifecycle concepts and how they relate to file
associations.

Leave a Reply