An asset version conflict can result when the same asset is edited in more than one project.

When you add or change an asset, a new working version of the asset is created. When an asset is changed in two projects, the result is two working versions of the asset—one in each project. The version that is deployed and checked in first becomes the next head version. Differences between the new head version and the version in the undeployed project must be resolved before the second project can complete its current task.

Merchandising notifies you about an asset version conflict when you try to act on a project task. When the conflict occurs between assets that are collection properties (lists, maps, sets, or arrays), Merchandising suggests a resolution that combines the changes.

You can view the proposed resolution by double-clicking a flagged asset in the project’s changed asset list.

The areas of conflict are displayed.

Clicking the Review Changes button produces a table that shows the differences between the asset versions.

On a page that displays conflicts for a collection, Merchandising displays only the first 2300 items in a collection, by default. Therefore, if either version of the collection has more than 2300 items, Merchandising does not suggest a combined value because it cannot be fully displayed.

To accommodate large collections, some options of the suggested values feature are configurable. See:

An additional setting accommodates the handling of removed items in a suggested combination. See Setting the Precedence of Removed Items in Suggested Collection Values.

Setting the Maximum Number of Collection Items to Combine

You can override the 2300-item limit for which Merchandising will suggest a combination for resolving a collection properties version conflict. You can change the limit or completely remove the limit. In the latter case, the collection versions will be combined, regardless of the number of items in the collection. Note that for the combination limit change to be visible to the user, you must also extend the display limit past 2300 items. See Setting the Display Maximum for Collection Properties during Conflict Resolution.

To change or remove the item limit for combining collection items, you override the atg/diff/merge/MergeHandlerFactory component in your local configuration directory; for example, <ATG10dir>/home/localconfig.

Locate the maxSizeLimit property and set the value as follows:

  • To change the limit for which Merchandising will suggest a combination, set the value to the maximum number of items to allow. When either collection exceeds this number, the collection values are not combined and a suggestion is not displayed.

  • To remove the limit for which Merchandising will suggest a combination, set the value to -1. All items in the collection are combined to create a suggested value, regardless of whether the full collection is displayed.

For instructions to set component properties, see the section Managing Properties Files in the ATG Platform Programming Guide.

Setting the Display Maximum for Collection Properties during Conflict Resolution

When a collection properties version conflict exists, Merchandising can produce a table that includes a suggested merged version, as shown in Customizing Asset Version Conflict Resolution for Collection Properties. By default, Merchandising displays only the first 2300 items in a collection. You can set the display limit to another value by changing the maxNumDisplayedValues attribute on the propertyView for collections that have conflicts.

Note: In some browsers, increasing the limit above 2300 may cause issues with the collections display.

To set the maximum number of collection items that can be displayed during conflict resolution:

  1. Create a new propertyViewAttributeDefinition to hold the new value. The propertyView item descriptor is defined in ViewMapping.xml, as shown in this code excerpt :

        <!-- attributes property -->
        <table name="vmap_pv2pvad_rel" type="multi" id-column-name="view_id"
          multi-column-name="name">
          <property name="attributes"
            component-item-type="propertyViewAttributeDefinition"
            column-name="attr_id" data-type="map" cascade="update,delete"/>
        </table>
     </item-descriptor>

    You will need to provide a meaningful name that is easy to locate, a unique ID, and a description; then set the attribute value to the new display limit.

  2. Locate the following propertyView items and add the new propertyViewAttributeDefinition to their attributes. For each propertyView, add a new entry in the attributes list named maxNumDisplayedValues and map it to the ID of the propertyViewAttributeDefinition that you created in step 1.

    Collection type

    propertyView

    Arrays

    Name: AssetManager array conflict viewer
    ID: aMgrPvCArray

    Lists

    Name: AssetManager list conflict viewer
    ID: aMgrPvCList

    Sets

    Name: AssetManager set conflict viewer
    ID: aMgrPvCSet

  3. Log in to Merchandising and verify that the Review Changes page displays the expected number of items when you resolve conflicts between very large collections.

Tip: If you use the ACC to edit this attribute, you may have to restart the Merchandising server to cause the changes to take effect.

For more information about editing view mappings, see the Customizing Asset Display chapter of the ATG Content Administration Programming Guide.

Setting the Precedence of Removed Items in Suggested Collection Values

When one project edits an item and another project removes it, the default behavior is that Merchandising does not include the item in the suggested combination. You can change the default behavior so that the changed item is kept in the suggested combination. For example, if the value of a map item is changed in one project and the map item is deleted in another project, the changed map item is kept in the combined changes.

To change the precedence of removed items in suggested collection values:

For instructions to set component properties, see the section Managing Properties Files in the ATG Platform Programming Guide.