Automating Setup of ATG Content Admin

When setting up ATG Content Admin for the first time one of the first steps to follow is to import a deployment topology and initialize with a first deployment. This is so that you are able to initialize deployments.

Both steps can be automated.

To import a deployment topology automatically we can set importAndInitializeTopologyOnStartup on the /atg/epub/DeploymentServer component to true and then specify deployment topology file on the topologyDefinitionFile property in the same component.

#/atg/epub/DeploymentServer
importAndInitializeTopologyOnStartup=true
topologyDefinitionFile=/atg/epub/deploymentTopology.xml

To automate the initial deployment some custom java code is required using the public methods in the DeploymentServer component.

Excluding unwanted SKUs from Endeca

When using the ATG-Endeca Integration it is simple and clear how to filter out products from Endeca but not so obvious how to filter out SKUs from the index.

Suppose that your data model has more than one sub-type of SKU and that each product’s childSKU property contains more than one sub-type of SKU. Here are the steps required to only index the SKU types that you want:

  1. Create a separate indexed items group for the childSKUs property. You can then reference the indexed items group in the product-sku-output-config.xml
    <item property-name="childSKUs" repository-item-group="/component/path/SpecificSkusIndexedItemGroups">
        ...
    </item>
  2.  

  3. Create the SpecificSkusIndexedItemsGroup component
    SpecificSkusIndexedItemsGroup<
    $basedOn=/atg/commerce/search/IndexedItemsGroup 
    # The name of the RepositoryItemGroup 
    groupName=Specific Skus Indexed Items Group 
    # The product item-descriptor name 
    repositoryViewName=sku 
    # The RuleSet that defines the set of items to be indexed. 
    rules= <ruleset> <accepts> <rule op=eq> <valueof target="type"> <valueof constant="someSkuType"> </rule> </accepts> </ruleset>
  4. Restart and do a baseline using the ProductCatalogSimpleIndexingAdmin component

 
You should now have only the SKUs that you want in the index. Enjoy.