Posts Tagged ‘dependencies in fatwire’


We have two types of dependencies in Fatwire / Oracle WebCenter Sites:

1.Approval Dependency :  This is the dependency that is logged when an asset is approved for publish. When you approve your asset for publishing, the Approval dependency is logged. This dependency is between the asset that is being approved and its dependent (child) assets. This dependency will verify whether the asset that is being approved can be published to the target machine or not. If there are dependent assets, that need to be approved, then this asset cannot be published.

The Approval dependency is logged when the asset is approved for publish.

2. Compositional Dependency : This can be called as Page Composition Dependencies. As the name itself specifies, it is the dependency between the asset and the  pages / pagelets that are rendering this asset. This dependency determines whether the page needs to be regenerated, in case when assets are modified.

The CS logs compositional dependencies when it renders the pages.  On the other hand, the CacheManager checks the dependency log, whether to regenerate any pages, whose content has been outdated.

How Approval dependencies are logged?

The dependencies are logged based on the type of publishing methodology.

Export To Disk :  If the publishing methodology is Export to Disk, the dependencies are calculated basing on the tags that are present in the code of the template that renders the asset.

Mirror To Server : If the publishing methodology is Mirror to Server, the dependencies are calculate basing on the Family Relationships (for Flex Assets )  / Associations (for Basic Assets) between the assets. Both these type of relationships create approval dependencies.

Types of Approval Dependencies:

The Approval dependency type for CSElements and SiteEntry assets, embedded links and pagelets cant be changed. The approval dependency type for the flex family asset types also can’t be changed. The approval dependency of basic asset types can be modified. We set the type of approval dependency for their associated assets when you configure the associations.

Approval dependency can be of three types:

  1. Exists: If this dependency is selected, then the dependent assets (child asset) must just exist on the target machine, and the version number of the child asset doesn’t matter, as long as the child asset is approved and published to the same machine. This means that the asset that is approved (parent asset) can be published even if the child assets changes (in version, content, etc) between source and target machines.
  2. Exact: If this dependency is selected, then the dependent asset must be of the same and exact version on the target machine. The parent asset can’t be published, if the versions of parent and child assets on the source machine do not match the versions of parent and child assets on the target machine.
  3. None: If this dependency is selected, then the approved asset can be published to the target machine, without bothering about the version / state of the dependent assets.
How Compositional Dependencies are logged?

Compositional dependencies are recorded in different ways. There are several tags that log compositional dependencies.

When Content Server executes an asset:load tag, it automatically logs a compositional dependency for the asset that is loaded, and the page that is going to be rendered

Similarly, assetset:setasset, assetset:setsearchedassets, assetset:setlistedassets tags render compositional dependency. When an asset from the assetset is rendered, the compositional dependency is logged.

When these tags are executed, Content Server logs a dependency between the rendered page and the asset by writing this information in the SystemItemCache table.