Showing posts with label Non-versioned Repositories in BCC. Show all posts
Showing posts with label Non-versioned Repositories in BCC. Show all posts

Non-versioned Repositories in BCC

Non-versioned Repositories in BCC


This section explains about managing the non-versioned repositories (Orders, Inventory) in BCC. It includes series of steps, in which we will be updating the OOTB files as well as creating custom files too.
BCC HomePage

Inventory HomePage

Step 1: Create custom GenericActiviy in following path.
/config/my/activity/genericActivities.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE gsa-template
PUBLIC "-//Art Technology Group, Inc.//DTD General SQL Adapter//EN"
"http://www.atg.com/dtds/activitymanager/activitymanager_1.0.dtd">
<generic-activities>
<!-- Add a link named "Edit Inventory" -->
<activity>
<id>editInventory</id>
<resource-bundle>my.webui.WebAppResources</resource-bundle>
<display-name-resource>editInventory.displayName</display-name-resource>
<description-resource>editInventory.description</description-resource>
<destination-page>
<!-- This link takes the user to the AssetManager UI -->
<url>/AssetManager/assetManager.jsp</url>
<!-- The clear-context flag clears any active Content Administration project references out of the user's session. -->
<clear-context>true</clear-context>
<!-- The ACL is optional. This ACL limits the visibility of this link to people with any of the epub roles. -->
<acl>Profile$role$epubAdmin:read;Profile$role$epubSuperAdmin:read;Profile$role$epubManager:read;Profile$role$epubUser:read</acl>
</destination-page>
</activity>
<!-- Add a link named "Edit Order" -->
<activity>
<id>editOrder</id>
<resource-bundle>my.webui.WebAppResources</resource-bundle>
<display-name-resource>editOrder.displayName</display-name-resource>
<description-resource>editOrder.description</description-resource>
<destination-page>
<!-- This link takes the user to the AssetManager UI -->
<url>/AssetManager/assetManager.jsp</url>
<!-- The clear-context flag clears any active Content Administration project references out of the user's session. -->
<clear-context>true</clear-context>
<!-- The ACL is optional. This ACL limits the visibility of this link to people with any of the epub roles. -->
<acl>Profile$role$epubAdmin:read;Profile$role$epubSuperAdmin:read;Profile$role$epubManager:read;Profile$role$epubUser:read</acl>
</destination-page>
</activity>
</generic-activities>

Step 2: Define custom ActivitySource.
/config/my/activity/ActivitySource.properties

$class=atg.bizui.activity.PortalActivitySource

# The name and description for the entry that appears on the left side of the home page.
activitySourceResourceBundle=my.webui.WebAppResources
activitySourceNameResource=activitySourceName
activitySourceDescriptionResource=activitySourceDescription

# Generic activity definitions
genericActivityDefinitionFiles=/my/activity/genericActivities.xml
genericActivityFileModificationInterval=every 300 seconds

securityConfiguration=/atg/dynamo/security/SecurityConfiguration
XMLToolsFactory=/atg/dynamo/service/xml/XMLToolsFactory
scheduler=/atg/dynamo/service/Scheduler

#defaultCreateWorkflowURL=/atg/bcc/process
defaultCreateWorkflowURL=/atg/bcc/process?successURL=/AssetManager/assetManager.jsp

# Default URL for the main project page.
defaultProcessURL^=/atg/bizui/activity/PublishingActivitySource.defaultProcessURL

# Default URL for the workflow task page. All tasks use the AssetManager UI.
defaultTaskURL=/AssetManager/assetManager.jsp
fallbackPriority=2

Step 3: Register your ActivitySource to OOTB ActivityManager.
/config/atg/bizui/activity/ActivityManager.properties

activitySources+=/my/activity/ActivitySource


Step 4: Create ViewConfiguration for Inventory and Order.
/config/my/web/assetmanager/InventoryViewConfiguration.properties

$class=atg.web.assetmanager.configuration.FilterableBrowseListViewConfiguration

# The path to the repository from which to draw the items
repositoryPath=/atg/commerce/inventory/InventoryRepository

# The type of items to display
assetTypeName=inventory

# Types the user is allowed to create in this view
createableTypesList=inventory

# Number of items to show per page
itemsPerPage=50


/config/my/web/assetmanager/OrderViewConfiguration.properties

$class=atg.web.assetmanager.configuration.FilterableBrowseListViewConfiguration

# The path to the repository from which to draw the items
repositoryPath=/atg/commerce/order/OrderRepository

# The type of items to display
assetTypeName=order

# Types the user is allowed to create in this view
createableTypesList=order

# Number of items to show per page
itemsPerPage=50

Step 5: Configure the Tabs and Buttons to TaskConfiguration.
/config/atg/web/assetmanager/configuration/taskConfiguration.xml

<?xml version="1.0" encoding="ISO-8859-1" ?>

<!DOCTYPE task-configuration
PUBLIC "-//Art Technology Group, Inc.//DTD Asset Manager Task Configuration//EN"
'http://www.atg.com/dtds/web/assetmanager/taskConfiguration_1.0.dtd'>
<task-configuration>
<!-- Define an activity for editing the inventory repository -->
<activity id="editInventory" inherit-from="assetManager.defaultEdit">
<activity-name>editInventory</activity-name>
<!-- Configure the buttons on the toolbar -->
<operations>
<operation>create</operation>
<operation>delete</operation>
</operations>
<!-- Define tabs for the left pane -->
<tabs>
<tab-order>
<tab-id>browse</tab-id>
<tab-id>search</tab-id>
</tab-order>
<initial-tab>browse</initial-tab>
<!-- Configure the Browse tab with a list view of inventory items -->
<tab id="browse">
<display-name-resource>assetManager.tab.browse</display-name-resource>
<page>/browse/browseTab.jsp</page>
<views>
<view-order>
<view-id>editInventory.inventory</view-id>
</view-order>
<initial-view>editInventory.inventory</initial-view>
<view id="editInventory.inventory">
<resource-bundle>my.webui.WebAppResources</resource-bundle>
<display-name-resource>editInventory.browseTab.view.inventory</display-name-resource>
<configuration>/my/web/assetmanager/InventoryViewConfiguration</configuration>
<page>/browse/list.jsp</page>
</view>
</views>
</tab>
<!-- Configure the Search tab to allow searching for inventory items -->
<tab id="search">
<display-name-resource>assetManager.tab.search</display-name-resource>
<page>/search/searchTab.jsp</page>
<views>
<initial-view>form</initial-view>
<view id="form">
<page>/search/searchForm.jsp</page>
<item-types>
<item-type>/atg/commerce/inventory/InventoryRepository:inventory</item-type>
</item-types>
</view>
<view id="results">
<page>/search/searchResults.jsp</page>
</view>
</views>
</tab>
</tabs>
</activity>

<!-- Define an activity for editing the order repository -->
<activity id="editOrder" inherit-from="assetManager.defaultEdit">
<activity-name>editOrder</activity-name>
<!-- Configure the buttons on the toolbar -->
<operations>
<operation>create</operation>
<operation>delete</operation>
</operations>
<!-- Define tabs for the left pane -->
<tabs>
<tab-order>
<tab-id>browse</tab-id>
<tab-id>search</tab-id>
</tab-order>
<initial-tab>browse</initial-tab>
<!-- Configure the Browse tab with a list view of inventory items -->
<tab id="browse">
<display-name-resource>assetManager.tab.browse</display-name-resource>
<page>/browse/browseTab.jsp</page>
<views>
<view-order>
<view-id>editOrder.order</view-id>
</view-order>
<initial-view>editOrder.order</initial-view>
<view id="editOrder.order">
<resource-bundle>my.webui.WebAppResources</resource-bundle>
<display-name-resource>editOrder.browseTab.view.order</display-name-resource>
<configuration>/my/web/assetmanager/OrderViewConfiguration</configuration>
<page>/browse/list.jsp</page>
</view>
</views>
</tab>
<!-- Configure the Search tab to allow searching for inventory items -->
<tab id="search">
<display-name-resource>assetManager.tab.search</display-name-resource>
<page>/search/searchTab.jsp</page>
<views>
<initial-view>form</initial-view>
<view id="form">
<page>/search/searchForm.jsp</page>
<item-types>
<item-type>/atg/commerce/order/OrderRepository:order</item-type>
</item-types>
</view>
<view id="results">
<page>/search/searchResults.jsp</page>
</view>
</views>
</tab>
</tabs>
</activity>
</task-configuration>

Step 6: Create services for Inventory and Order.
/config/my/remote/controlcenter/service/inventory.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE application-configuration
PUBLIC "-//Art Technology Group, Inc.//DTD BCC Application Configuration //EN"
"http://www.atg.com/dtds/application-configuration/application-configuration_1.0.dtd">
<applications>
<application id="editInventory">
<resource-bundle>my.webui.WebAppResources</resource-bundle>
<display-name-resource>editInventory.displayName</display-name-resource>
<destination-page>
<url>/AssetManager/assetManager.jsp</url>
<query-parameter key="project" value="-1" />
<query-parameter key="activity" value="editInventory" />
</destination-page>
<acl>Profile$role$epubAdmin:read;Profile$role$epubSuperAdmin:read;Profile$role$epubManager:read;Profile$role$epubUser:read</acl>
<initializer>
</initializer>
<sort-priority>30</sort-priority>
<category>yourProjectExtras</category>
</application>
</applications>

config/my/remote/controlcenter/service/order.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE application-configuration
PUBLIC "-//Art Technology Group, Inc.//DTD BCC Application Configuration //EN"
"http://www.atg.com/dtds/application-configuration/application-configuration_1.0.dtd">
<applications>
<application id="editOrder">
<resource-bundle>my.webui.WebAppResources</resource-bundle>
<display-name-resource>editOrder.displayName</display-name-resource>
<destination-page>
<url>/AssetManager/assetManager.jsp</url>
<query-parameter key="project" value="-1" />
<query-parameter key="activity" value="editOrder" />
</destination-page>
<acl>Profile$role$epubAdmin:read;Profile$role$epubSuperAdmin:read;Profile$role$epubManager:read;Profile$role$epubUser:read</acl>
<initializer>
</initializer>
<sort-priority>30</sort-priority>
<category>yourProjectExtras</category>
</application>
</applications>

Step 7: Register your custom services to ApplicationConfigurationManager.
/config/atg/remote/controlcenter/service/ApplicationConfigurationManager.properties

applicationFiles+=/my/remote/controlcenter/service/inventory.xml,\
                /my/remote/controlcenter/service/order.xml

Step 8: Add resource bundle.
/src/my/webui/WebAppResources.properties 

editInventory.displayName=Manage Inventory
editInventory.description=Manage Inventory
editInventory.browseTab.view.inventory=inventory
assetManager.tab.browse=Browse
assetManager.tab.search=Search
activitySourceName=Non-Versioned
activitySourceDescription=Non-Versioned
editOrder.browseTab.view.order=Order
editOrder.displayName=Manage Order
editOrder.description=Manage Order


Step 9: Override the componets of Order and Inventory and point datasource to Non_versioned DB (Production Core)

dataSource=/atg/dynamo/service/jdbc/JTDataSource_production