It’s a good idea to familiarize yourself with the default configuration settings in this file, so you can learn where settings are specified, which may affect how you modify them in your custom task configuration file. Keep in mind that the tags and attributes used in the this file are a subset of those available to you. You can find taskConfiguration.xml in the <Atg2007.3dir>/DCS-UI2007.3/DCS-UI/
management/config/config.jar/atg/commerce/web/assetmanager
directory.

Open the file so you see it in its entirety. The file is enclosed in a <task-configuration> tag. Inside it, the file is divided roughly into two sections: one enclosed in a <default-activity> tag and the other enclosed in a <default-task> tag.

The <default-activity> tag encloses settings that apply by default to all activities. An activity can involve an ATG Merchandising operation, such as browsing or searching for assets, that doesn’t produce or affect versioned assets. When you click the Browse activity link from the ATG Business Control Center Operations list, you see a version of the ATG Merchandising UI that is determined by the code enclosed in the <default-activity> tag.

In addition to specifying the settings for the default activity, the <default-activity> tag encloses settings that apply to all ATG Merchandising workflows and tasks, unless they are explicitly overridden elsewhere in the file. You can think about these tags as setting the foundation for all displays in ATG Merchandising. Before you customize the ATG Merchandising UI, check the default settings provided here.

The <default-task> tag defines the appearance of ATG Merchandising accessed through a task as it differs from the appearance of ATG Merchandising accessed through an activity. The <default-task> settings take effect when a user enters ATG Merchandising using a task for a project based on a workflow, such as the Author task of the Manage Commerce Assets workflow.

Enclosed in the <default-task> tag, there are other tags that add buttons, add a tab and view, remove buttons, and change the view mapping settings. The structure of the task configuration file is derived from the DTD that specifies the tags each tag can contain. Within that structure, a grouping of tags can exist anywhere in its parent tag the DTD permits. For example, the <operations> tag grouping is currently the first grouping beneath the <default-task> tag, but moving it to another place in the <default-task> tag would have no bearing on tag inheritance.

Some of the many configuration values specified in the default task configuration file are JSPs used by various parts of the UI. All JSPs are located in the DCS-UI-Management.war file that you find in <Atg2007.3dir>/DCS-UI2007.3/DCS-UI/management/j2ee-apps/DCS-UI-Management.ear. All other file locations are specified below.

Default Activity Settings

As mentioned earlier, the default activity tag defines the appearance of ATG Merchandising for the out-of-the-box activity and specifies general settings that serve as defaults to all tasks and workflows. When settings are inappropriate for a given workflow, for example, they should be disallowed in the task configuration defined for that workflow.

As you scan through the default activity settings, you may notice that there are no buttons defined here. Since activities are for browsing assets and not editing them, buttons are not added here. You can see buttons represented in the default task section.

Defining General Activity Settings

The default activity section of the file begins as follows:

<default-activity>
 <resource-bundle>
 atg.web.assetmanager.WebAppResources
 </resource-bundle>
 <page>
 /assetManager.jsp
 </page>
 <asset-editor>
 <page>
 /assetEditor/editAsset.jsp
 </page>
 </asset-editor>

The main resource bundle for ATG Merchandising is called atg.web.assetmanager.WebAppResources, and you can find the properties file for it in <Atg2007.3dir>/AssetUI/lib/classes.jar. The next tags specify the page that provides the structure to the ATG Merchandising UI called assetManager.jsp. Among other specifications, assetManager.jsp shapes the UI into a two-paned structure. The structure for the Details pane is provided in editAsset.jsp.

Defining General Tab Settings

This section describes the general tab settings provided by the following tags:

<tabs>
 <tab-order>
 <tab-id>browse</tab-id>
 <tab-id>search</tab-id>
 </tab-order>
 <initial-tab>
 browse
 </initial-tab>

The <tabs> tags correspond to the first organizational screen elements in the Navigation pane which are defined in assetManager.jsp. The first such element is defined as a tab. The second is a dropdown list defined by view tags.

This code specifies two standard tabs, Browse and Search, which will display in this order. When you enter ATG Merchandising, the Browse tab always displays open because it is specified as the initial tab.

Defining the Browse Tab and its Views

This section describes the Browse tab:

 <tab id="browse">
 <display-name-resource>
 assetManager.tab.browse
 </display-name-resource>
 <page>
 /browse/browseTab.jsp
 </page>

The Browse tab name is specified to the assetManager.tab.browse key in the global resource bundle named in the <resource bundle> tag described above. The browseTab.jsp file provides the tab content.

The views on the Browse tab are configured as follows:

 <views>
 <view-order>
 <view-id>catalogTree</view-id>
 <view-id>catalogMedia</view-id>
 <view-id>catalogOrphans</view-id>
 <view-id>promotions</view-id>
 <view-id if="usingPricelists">priceLists</view-id>
 <view-id if="usingPricelists">pricelistFolders</view-id>
 <view-id>coupons</view-id>
 </view-order>
 <initial-view>
 catalogTree
 </initial-view>
 <view id="catalogTree">
 <resource-bundle>
 atg.commerce.web.WebAppResources
 <resource-bundle>
 <display-name-resource>
 browseTab.view.catalog
 </display-name-resource>
 <configuration>
 /atg/commerce/web/assetmanager/CatalogBrowseTabConfiguration
 </configuration>
 <page>
 /browse/tree.jsp
 </page>
 </view>

There are seven views defined for the Browse tab:

View Name

Default View Name in the UI

catalogTree

Catalog

catalogMedia

Media

catalogOrphans

Catalog Orphans

promotions

Promotions

priceLists

Price Lists

priceListFolders

Price Lists and Folders

coupons

Coupons

The views display in a dropdown list in the order specified here, and when you open ATG Merchandising, the catalogTree view displays in the Browse tab because it is specified as the initial view.

View labels are held in a resource bundle different from the default, so, in addition to providing the key that maps to the view name, the resource bundle name itself is specified for each view. The name provided to a view is visible in the dropdown list you use to access it. Each view also has a configuration component that defines settings that are common to all uses of that view. There are many configuration options for the Browse tab views so storing them in a Nucleus component simplifies and reduces clutter in taskConfiguration.xml. You can access the Nucleus component in the ACC using the path provided in the task configuration file. See the Creating Views section of the Configuring the Asset Manager chapter of the ATG Business Control Center Administration and Development Guide for more information about this component.

Note that, in the list of views, the price list views include an if attribute. This attribute specifies that the display of price list views is controlled by the value in the usingPricelists property of the atg/commerce/web/Configuration component specified at the start of the file. This convention is not supported in custom task configuration files.

Because the same kind of information is provided for all views, catalogTree is provided here as an example that represents the others.

Defining the Search Tab

The Search tab general settings are defined as follows:

<tab id="search">
 <display-name-resource>
 assetManager.tab.search
 </display-name-resource>
 <page>
 /search/searchTab.jsp
 </page>
 <views>
 <initial-view>
 form
 </initial-view>

The Search tab definition begins with the key mapped to the tab name identified in the resource bundle. Note that a resource bundle isn’t specified here because the default, defined earlier in the file, is used. The content displayed in the Search tab is contained in searchTab.jsp. Note that although the Search tab has views, they aren’t displayed in an ordered list because they aren’t available for user selection. The searchTab.jsp file is designed to display one view (form) for entering search criteria and another for search results (results – described below). The view that displays when the Search tab is first accessed is form.

<view id="form">
 <page>
 /search/searchForm.jsp
 </page>
 <item-types>
 <item-type>/atg/commerce/catalog/ProductCatalog:sku</item-type>
 <item-type>/atg/commerce/catalog/ProductCatalog:configurableSku</item-type>
 <item-type>/atg/commerce/catalog/ProductCatalog:product</item-type>
 <item-type>/atg/commerce/catalog/ProductCatalog:category</item-type>
 <item-type>/atg/commerce/catalog/ProductCatalog:catalog</item-type>
 <item-type>/atg/commerce/catalog/ProductCatalog:folder</item-type>
 <item-type>/atg/commerce/catalog/ProductCatalog:promotion</item-type>
 <item-type>/atg/commerce/catalog/ProductCatalog:Item Discount</item-type>
 <item-type>/atg/commerce/catalog/ProductCatalog:Shipping Discount</item-type>
 <item-type>/atg/commerce/catalog/ProductCatalog:Order Discount</item-type>
 <item-type>/atg/commerce/catalog/ProductCatalog:media</item-type>
 <item-type>/atg/commerce/catalog/ProductCatalog:media-external</item-type>
 <item-type>/atg/commerce/catalog/ProductCatalog:media-internal-binary
 </item-type>
 <item-type>/atg/commerce/catalog/ProductCatalog:media-internal-text
 </item-type>
 <item-type if="usingPriceLists">/atg/commerce/pricing/priceLists/
 SecurePriceLists:priceList</item-type>
 <item-type if="usingPriceLists">/atg/commerce/pricing/priceLists/
 SecurePriceLists:priceListFolder</item-type>
 /atg/commerce/claimable/ClaimableRepository:DeployablePromotionClaimable
 </item-type>
 </item-types>
</view>
<view id="results">
 <page>
 /search/searchResults.jsp
 </page>
</view>

The first view, form, uses searchForm.jsp as the page in which you build a search query. In the Search tab, there’s a dropdown list that contains asset types, one of which you are required to select when you want to perform a search. You make asset types available to the list by including them in between <item-type> tags. The actual name that appears in the list is the display name defined for the asset type in the asset’s repository item descriptor. The asset types in the list include a subset of the asset types defined for ATG Merchandising. For a complete view of available asset types, see the item descriptors used by your product catalog. For example, you can find the Business Commerce item descriptors in <Atg2007.3dir>\B2Bcommerce\config\atg\commerce\catalog\productcatalog.xml.

The second view uses searchResults.jsp to display the assets that result from the query.

You may notice the Find, Add Criteria, and New Search buttons aren’t defined in the task configuration file. Because it seems unlikely that you’d want to remove or replace these buttons, they are hard-coded into the search JSPs.

Defining View Mappings

The view mapping settings define the asset properties that are visible and editable in the Details pane for a given context. The following configurations are specified for the default activity:

 <view-mappings>
 <view-mapping mode="AssetManager.edit">
 <item-mapping>
 <item-type>*</item-type>
 <item-mapping-name>AssetManager</item-mapping-name>
 <view-mapping-mode-override>AssetManager.view</view-mapping-mode-override>
 </item-mapping>
 </view-mapping>
 <view-mapping mode="AssetManager.multiEdit">
 <item-mapping>
 <item-type>*</item-type>
 <item-mapping-name>AssetManager</item-mapping-name>
 </item-mapping>
 </view-mapping>
 <view-mapping mode="AssetManager.view">
 <item-mapping>
 <item-type>*</item-type>
 <item-mapping-name>AssetManager</item-mapping-name>
 </item-mapping>
 </view-mapping>
 <view-mapping mode="AssetManager.create">
 <item-mapping>
 <item-type>*</item-type>
 <item-mapping-name>AssetManager</item-mapping-name>
 </item-mapping>
 </view-mapping>
 <view-mapping mode="AssetManager.diff">
 <item-mapping>
 <item-type>*</item-type>
 <item-mapping-name>AssetManager</item-mapping-name>
 </item-mapping>
 </view-mapping>
 <view-mapping mode="AssetManager.conflict">
 <item-mapping>
 <item-type>*</item-type>
 <item-mapping-name>AssetManager</item-mapping-name>
 </item-mapping>
 </view-mapping>
 </view-mappings>

</default-activity>

A JSP passes a map mode to the task configuration file: this code determines whether the same mode passed in is returned to the JSP. Because this resource is an activity and no assets should be editable, an input of AssetManager.edit map mode has an output mode of AssetManager.view. The AssetManager.conflict, AssetManager.create and AssetManager.diff map modes are passed only when asset editing complications occur, so they don’t apply for activities. Because these activity settings are inherited by other resources, the AssetManager.conflict and AssetManager.diff map modes are specified here and are to remain unchanged when returned to a JSP.

Note the use of * as a value indicates the inclusion of all items, such as all asset types, as is the case here. Using an * in the context of the view mapping name in the view mapping repository has a different meaning than it does in the task configuration file.

Default Task Settings

The default task tags define UI settings that are applied, in combination with those defined for the default activity, to all tasks in all workflows unless they are overridden by other explicit configurations. Notice that the buttons added here apply to all tabs and views, including those defined in the <default-activity> tags. If a button isn’t necessary for a tab or view, the button is removed in the section for the tab or view.

If there were conflicting values among settings defined in the default task and the default activity (there are none in this file), the default task settings would be used for tasks. These settings are specified for the tasks in the default workflow but are inherited by all tasks and workflows.

Defining Common Buttons and General Tab Settings

The buttons that are common for all tabs are implemented here:

<default-task>
 <operations>
 <operation>create</operation>
 <operation>duplicate</operation>
 <operation>delete</operation>
 <operation>move</operation>
 <operation>link</operation>
 <operation>unlink</operation>
 <operation>addToProject</operation>
 <operation>addToMultiEdit</operation>
 </operations>

The operation tags define the buttons available to projects. Unlike other screen elements, the placement and ordering of the <operations> tag is defined in the JSP. The buttons named here are subset of the list of buttons available in ATG Merchandising, which are described in the Types of Assets and Buttons section.

Two additional tabs are visible for the default task:

<tabs>
 <tab-order>
 <tab-id>project</tab-id>
 <tab-id>multiEdit</tab-id>
 </tab-order>

Because the Project tab displays assets used in the current project, it is useful for users who are performing tasks in projects, not those who access ATG Merchandising through activities. So, the Project tab is defined as part of the default task. Similarly, the Multi Edit tab is inapplicable unless you are editing assets, so it’s excluded from the default activity, by being specified in the default task.

According to this setting, the Project tab displays third and Multi Edit displays fourth because this list is added to the end of the list of tabs defined in the default activity. To specify a different tab order, all tabs would have needed to be listed in that order here.

Modifying the Browse Tab Settings

The settings for the Browse tab are modified as follows:

<tab id="browse">
 <views>
 <view id="catalogTree">
 <operations>
 <operation combine="remove">delete</operation>
 </operations>
 </view>
 <view id="promotions">
 <operations>
 <operation combine="remove">delete</operation>
 </operations>
 </view>
 <view id="priceLists" if="usingPriceLists">
 <operations>
 <operation combine="remove">link</operation>
 </operations>
 </view>
 <view id="coupon">
 <operations>
 <operation combine="remove">duplicate</operation>
 </operations>
 </view>
 <view id="catalogMedia">
 <operations>
 <operation combine="remove">link</operation>
 </operations>
 </view>
 </views>
</tab>

The default activity tag specifies a resource bundle key and JSP for the Browse tab as well as three views that each have a position in the dropdown list, resource bundle key, and configuration component. The default task tag adds buttons to all tabs, but tags included here remove one of those buttons – Delete – from the Catalog and Promotions views. Because deleting assets involved in orders may cause unexpected results, the Delete button is made less available to users. Likewise, the Link button is removed from Media and Price Lists view because price lists and media items are always unique items, so there’s no purpose in creating links of them. Note the syntax used for removing a button.

The Duplicate button is removed from Coupons view because coupons require few pieces of identifying information, most of which is unique to a given coupon. It is more sensible to create coupons from scratch rather than duplicate them.

Defining the Project Tab

The Project tab is defined as follows:

<tab id="project">
 <display-name-resource>
 assetManager.tab.project
 </display-name-resource>
 <page>
 /project/projectTab.jsp
 </page>
 <operations>
 <operation combine="remove">addToProject</operation>
 <operation>removeFromProject</operation>
 </operations>
</tab>

The name for the Project tab is mapped, in the resource bundle named earlier, to the key assetManager.tab.project. The content for the Project tab is provided by projectTab.jsp, and there are two changes to the list of buttons made available to it. The Add To Project button that was added as one of the eight provided to all tabs and views is removed here because it is inapplicable: you wouldn’t add assets already on the Project tab to it. The Remove From Project button is added instead. In order for buttons to be visible in ATG Merchandising, they must be permitted by the task configuration file and implemented in a given JSP. Some buttons – Move, Link, Unlink, Create, Duplicate, Delete – are permitted in the Project tab by the task configuration file, but are not visible there because projectTab.jsp does not support them. A configuration component holds additional settings: see Creating Views section of the Configuring the Asset Manager chapter of the ATG Business Control Center Administration and Development Guidefor more information about this component.

Defining the Multi Edit Tab

The Multi Edit tab is defined as follows:

 <tab id="multiEdit">
 <display-name-resource>
 assetManager.tab.multiEdit
 </display-name-resource>
 <page>
 /multiEdit/multiEditTab.jsp
 </page>
 <operations>
 <operation combine="remove">addToMultiEdit</operation>
 <operation>removeFromMultiEdit</operation>
 <operation>stepEdit</operation>
 <operation>applyToAll</operation>
 <operation>listEdit</operation>
 </operations>
 <configuration>
 /atg/commerce/web/assetmanager/configuration/MultiEditTabConfiguration
 </configuration>
 </tab>
</tabs>

Similar to the Project tab definition, the Multi Edit tab stores its tab name in a resource file, mapping the string provided here to the tab name. The tab structure is defined in multiEditTab.jsp. The Multi Edit button is extraneous in the Multi Edit tab so it is removed. Multi Edit-specific buttons are added to the tab: Remove from Multi Edit, Step Edit, List Edit, Apply to All. A configuration component holds additional settings that you shouldn’t need to modify under any circumstances: see the Creating Views section of the Configuring the Asset Manager chapter of the ATG Business Control Center Administration and Development Guide for more information about this component.

Modifying the View Mapping Settings

In order to determine the asset properties to display, the JSP specifies a view mapping mode based on the whether a project (AssetManager.edit) or an activity (AssetManager.view) is present. The view mapping settings are modified as follows:

 <view-mappings>
 <view-mapping mode="AssetManager.edit" combine="replace">
 <item-mapping>
 <item-type>*</item-type>
 <item-mapping-name>AssetManager</item-mapping-name>
 </item-mapping>
 </view-mapping>
 <view-mapping mode="AssetManager.multiEdit" combine="replace">
 <item-mapping>
 <item-type>*</item-type>
 <item-mapping-name>AssetManager</item-mapping-name>
 </item-mapping>
 </view-mapping>
 </view-mappings>
</default-task>

The view mapping settings provided for the default activity are used except when the JSP recommends AssetManage.edit mode or AssetManager.multiEdit, in which case the input mode is also the output mode. Replacing these tags with editable map modes permits users to who access ATG Merchandising through a project to edit assets one at a time or in bulk.

 
loading table of contents...