1.
What are the areas you have worked on in
ATG BCC?
2.
What
is difference between Content Repositories and Version Repositories?
Unversioned
- a) Resides in CA Environment.
- b) Instance of GSA Repository.
- c) No modifications are required in Unversioned Repository Definitions.
- d) No Extra properties are required.
- e) 'this' attribute is not applicable here
Versioned
- a) Resides in Production Environment.
- b) Instance of Version Repository
- c) Needs modifications in Versioned Repository Definition, e.g.: Remove Foreign key relationships, Remove unique attribute if used.
- d) Other versioning properties, such as asset_version, is_head etc. are automatically added to Item definition by CA server.
- e) Set versionable attribute to specify which assets needs Versioning. By default all asset are versionable.
SQL Content Repositories
A content repository is a collection of
repository items that correspond to documents maintained in a hierarchical name
space. A content repository typically serves as a source of content items to be
displayed to a user, directly or as an element in a page. An SQL repository
implemented through the Generic SQL Adapter connector can act as a content
repository, storing content items that are displayed in pages. Because the
GSARepository
class implements
both the atg.repository.Repository
interface and theatg.repository.content.ContentRepository
interface, and a
repository can contain multiple repository item types, a single repository can
contain both content repository items (arranged in a hierarchical structure
with folders that can contain repository items and other folders) and
non-content repository items (arranged in a flat structure). You can use a
content repository to serve targeted content, as described in the Creating
Rules for Targeting Content and Setting
Up Targeting Services chapters of the ATG Personalization
Programming Guide.
A product catalog in a commerce application is also typically a content
repository, as described in the Using
and Extending the Default Catalog chapter of the ATG Commerce
Programming Guide.
Note that the essential feature of a
content repository is that it represents a hierarchical structure of folders
and repository items, like a directory structure. The repository items
themselves do not necessarily represent content that is displayed in a Web
application, although in most cases they do. What is significant is whether the
repository items are maintained in a hierarchical structure.
You can define one or more item descriptors
in an SQL repository to be a content item descriptor that defines a type of
ContentRepositoryItem
. When you retrieve
one of these items by calling any Repository methods, the repository item
implements the atg.repository.content.ContentRepositoryItem
interface. You can
have other item descriptors in the same repository that do not implement this
interface and do not define content items.
The Repository Loader is a utility that
handles the work of creating and updating content repository items from
documents on your file system. The repository template can be configured so the
loader assigns the values of your content repository item’s properties from
selected portions of these documents while still allowing access to the entire
document. These properties include metadata about the document file such as its
length and the time it was last modified. The Repository Loader can be
configured to periodically scan the file system and synchronize it with the
repository representation, adding, updating and deleting content repository
items as necessary. See the Repository Loader chapter for more
information.
Content Repository Example
This section demonstrates the design and
configuration of a simple repository. For another example, see the Repository Loader
Example in the Repository
Loader chapter. In this
example, the repository supports a Web site that talks about books. Each book
has an author, a title, a cover illustration, and a descriptive text.
The book as a business entity has a
corresponding repository item type in this example. Its attributes are
maintained as properties of the
book
item type. The book
item type is
defined in the example repository definition file with this item descriptor
element:<item-descriptor name="book"
display-property="title"
content="true"
content-property="bookcover_image"
content-path-property="filePath"
folder-id-property="parentFolder">
<table name="book_info" id-column-name="id" type="primary">
<property name="filePath" data-type="big string"/>
<property name="parentFolder" item-type="book_folder"/>
<property name="title" data-type="big string"/>
<property name="author" data-type="big string"/>
</table>
<property name="bookcover_image"
property-type="atg.repository.FilePropertyDescriptor"/>
</item-descriptor>
Book Item
Type Properties
The
book
item descriptor
contains the following properties:
·
author
and title
are strings, with
one-to-one relationships between books and authors and books and titles. More
complex relationships are possible, of course.
·
bookcover_image
is defined outside
the <table>
tag, which
indicates that the property is transient and maintained outside the database.
The property is defined as a file type, maintained on the file system, as
follows:property-type="atg.repository.FilePropertyDescriptor"
As described in the Storing Content on
a File System section, this
property type indicates that the repository should use the property’s path name
and convert it to a
java.io.File
object.
See:
Book Example Repository Definition File
Accessing
Items in the Content Repository
After you have set up a content repository,
you can use it to serve targeted content, as described in the Creating
Rules for Targeting Content and Setting
Up Targeting Serviceschapters of the ATG Personalization
Programming Guide.
You can also search for text in content items as described in the Text Search Queries section of the SQL Repository
Querieschapter.
You can also get repository items programmatically,
given a repository ID:
// repository id of the item we want to get
String id = "1001";
// name of item descriptor describing the type of item we want
String descriptorName = "book";
// get the item from the repository
RepositoryItem item = pRepository.getItem(id, descriptorName);
// make sure we have an item
if (item == null)
{
pln("Item not found, descriptor=" + descriptorName +
", id=" + id);
return;
}
// get the author property of the item
String author = (String)item.getPropertyValue("author");
Versioning
a repository in ATG CA
Hope you have already
created the Versioned module with specifying the appropriate ATG Content
Administration modules (Publishing.base) in the ATG-Required property of the
versioned module’s manifest file.
When creating the versioned module’s manifest, list ATG
Content Administration modules before the source module:
ATG-Required: Publishing.base source-module-name
Versioning a repository is
needed when you want to manage your custom repository data through BCC
(Merchandising). Versioned repositories
keep track of the asset versions and the history, as they have additional columns
used to manage versioning. The VersionManagerService component manages the
versioning of assets (repository assets and file-based assets).
Here I am listing the
various steps to be performed in order to version a repository. Follow
the series of steps to register your repository in BCC.
a)
Place
the RDF (Repository Definition File) in BCC Module.
b)
Modify
the Repository Configuration
This is done in order
to configure a VersionRepository instance. Place the Component file in BCC Module with
following Contents in it.
Path: /my/Library.properties
$class=atg.adapter.gsa.GSARepositoryatg.adapter.version.VersionRepository
$scope=global
repositoryName=Library
# database access- for Publishing
Schema, use JTDataSource
dataSource=/atg/dynamo/service/jdbc/SwitchingDataSourceJTDataSource
transactionManager=/atg/dynamo/transaction/TransactionManager
# our XML definitionFile
definitionFiles=/my/library.xml
# XML parsing
XMLToolsFactory=/atg/dynamo/service/xml/XMLToolsFactory
# id generation
idGenerator=/atg/dynamo/service/IdGenerator
#Add Following two.
versionManager=/atg/epub/version/VersionManagerService
versionItemsByDefault=true
Note that the class
is changed from GSARepository to VersionRepository to support versioning. The
dataSource should be pointing to JTDataSource (so as to connect to publishing
schema), instead of SwitchingDataSource or JTDataSource_production.
c)
Create
the Production and Staging Components (Staging not needed, if you have only
Production Workflow)
Path: /my/Library_production.properties
$class=atg.adapter.gsa.GSARepository
$scope=global
repositoryName=Library_production
# database access- use SwitchingDataSource
dataSource=/atg/dynamo/service/jdbc/SwitchingDataSource
transactionManager=/atg/dynamo/transaction/TransactionManager
# our XML definitionFile
definitionFiles=/my/library.xml
# XML parsing
XMLToolsFactory=/atg/dynamo/service/xml/XMLToolsFactory
# id generation
idGenerator=/atg/dynamo/service/IdGenerator
lockManager=/atg/dynamo/service/ClientLockManager_production
foreignRepositoryMapper=/atg/repository/ProductionRepositoryMapper
Path: /my/Library_staging.properties
$class=atg.adapter.gsa.GSARepository
$scope=global
repositoryName=Library_staging
# database access- use JTDataSource_staging
dataSource=/atg/dynamo/service/jdbc/JTDataSource_staging
transactionManager=/atg/dynamo/transaction/TransactionManager
# our XML definitionFile
definitionFiles=/my/library.xml
# XML parsing
XMLToolsFactory=/atg/dynamo/service/xml/XMLToolsFactory
# id generation
idGenerator=/atg/dynamo/service/IdGenerator
lockManager=/atg/dynamo/service/ClientLockManager_staging
$class=atg.adapter.gsa.GSARepository
$scope=global
repositoryName=Library_production
# database access- use SwitchingDataSource
dataSource=/atg/dynamo/service/jdbc/SwitchingDataSource
transactionManager=/atg/dynamo/transaction/TransactionManager
# our XML definitionFile
definitionFiles=/my/library.xml
# XML parsing
XMLToolsFactory=/atg/dynamo/service/xml/XMLToolsFactory
# id generation
idGenerator=/atg/dynamo/service/IdGenerator
lockManager=/atg/dynamo/service/ClientLockManager_production
foreignRepositoryMapper=/atg/repository/ProductionRepositoryMapper
Path: /my/Library_staging.properties
$class=atg.adapter.gsa.GSARepository
$scope=global
repositoryName=Library_staging
# database access- use JTDataSource_staging
dataSource=/atg/dynamo/service/jdbc/JTDataSource_staging
transactionManager=/atg/dynamo/transaction/TransactionManager
# our XML definitionFile
definitionFiles=/my/library.xml
# XML parsing
XMLToolsFactory=/atg/dynamo/service/xml/XMLToolsFactory
# id generation
idGenerator=/atg/dynamo/service/IdGenerator
lockManager=/atg/dynamo/service/ClientLockManager_staging
d)
Register
the Versioned Repositories with ATG Content Administration
Add
the versioned repositories to the list property initialRepositories of the
component /atg/registry/ContentRepositories, as shown below:
# /atg/registry/ContentRepositories
initialRepositories+=\
/my/Library
e)
Create
Versioned tables in CA (Publishing) schema.
Modify
the DDLs to support Versioning, based on the following rules.
·
For
all type of tables (primary, auxiliary and multi) remove unique indexes from
all columns, remove unique constraints from all columns, remove foreign key
references.
·
For
each primary table add 8 new columns including ‘asset_version’. For more
details on the additional columns please see Appendix A below.
·
For
each auxilary or multi tables, add 1 new column ‘asset_version’.
·
Change
all primary keys to composite primary keys composed of the original primary key
column(s) and the asset_version column.
·
Create
indexes for the ‘workspace_id’ and ‘checkin_date’ columns.
For sample DDL, please see Appendix B below.
For sample DDL, please see Appendix B below.
Now your repository
is versioned. Start deploying the data from BCC. Hey wait, Did I tell you to
update the deployment topology in BCC to add the new repository mapping? :)
Appendix A: Additional columns
that are required for all primary tables
asset_version
INT NOT
NULL – a
counter that specifies the version number of the asset.
workspace_id VARCHAR(40) NOT NULL – ID of the workspace in which the asset version was initially created.
branch_id VARCHAR(40) NOT NULL –
is_head NUMERIC(1) NOT NULL – a flag that determines if a version is the head branch
version_deleted NUMERIC(1) NOT NULL –
version_editable NUMERIC(1) NOT NULL
pred_version INT NULL
checkin_date TIMESTAMP NULL – the date the checked in version of an asset was created.
workspace_id VARCHAR(40) NOT NULL – ID of the workspace in which the asset version was initially created.
branch_id VARCHAR(40) NOT NULL –
is_head NUMERIC(1) NOT NULL – a flag that determines if a version is the head branch
version_deleted NUMERIC(1) NOT NULL –
version_editable NUMERIC(1) NOT NULL
pred_version INT NULL
checkin_date TIMESTAMP NULL – the date the checked in version of an asset was created.
Appendix B: Sample DDL
For example, if the
original DDL for table ‘store_sample’ is as follows:
create table store_sample (
sample_id VARCHAR(16) NOT NULL,
name
VARCHAR(128) NULL,
sample_ref_id VARCHAR(16) NULL,
FOREIGN KEY (type_y_ref_id) REFERENCES dcs_sku (sku_id),
PRIMARY KEY (sample_id)
);
Then the modified DDL
for table store_sample, to be run on the CA schema, shall be like this:
create table store_sample (
sample_id VARCHAR(16) NOT NULL,
name
VARCHAR(128) NULL,
type_y_ref_id VARCHAR(16) NULL,
asset_version INT NOT NULL,
branch_id VARCHAR(40) NOT NULL,
is_head NUMERIC(1) NOT NULL,
version_deleted NUMERIC(1) NOT NULL,
version_editable NUMERIC(1) NOT NULL,
workspace_id VARCHAR(40) NOT NULL,
pred_version INT NULL,
checkin_date TIMESTAMP NULL,
PRIMARY KEY (sample_id, asset_version)
);
create index store_sample_workspace_id on
store_sample (workspace_id);
create index store_sample_workspace_id on
store_sample (checkin_date);
Note: Assets in
a Non-Versioned repository can also be managed using BCC. Updating the
User (External & Internal Profile) information is an example. in this
case there is no deployment happening and the changes made in BCC are directly
saved on the Production schema.
3. Define topology and process of
creating topology?
The
DeploymentServer
requires
information about the production and staging targets where assets are to be
deployed. In order to provide this information you Define the
Deployment Topology—that
is, deployment targets and their individual servers where agents are installed.
Before you do so, however, knowledge of the topology is required for several
earlier steps in the deployment configuration process. For this reason, you
should plan the deployment topology as the first step towards deployment setup.
You define a
deployment topology in these steps:
c) Plan Deployment
Agent Responsibilities—for example, determine whether a given agent deploys
repository or file assets.
4.
What is project?
Many of
the items you create within the Business Control Center, such as segments,
targeters, and content groups, as well as assets such as product images, price
lists, and SKUs from applications such as Oracle ATG Web Commerce
Merchandising, must be published to your live sites along with any other items
necessary for running the sites. These necessary items include individual
pieces of content, images, style sheets, and the Web pages themselves. The
process of publishing assets from a development environment to a live site is
managed by ATG Content Administration. The following are some key ATG Content
Administration terms that you need to be familiar with when you create and edit
items in the Business Control Center:
·
Project: ATG Content Administration controls the
lifecycle of items that are published to your Web sites through an entity
called a project. A project contains a set oftasks that define the stages of the creation and
publishing lifecycle. Typically, tasks include authoring, approval, and
deployment. Tasks can be completed by different users. For example, the approval
task could be completed by a supervisor, and the deployment task could be
performed by a Web site administrator.
Often, a project represents a logical grouping of items related to
a particular business goal. For example, you could have a project called “New
home page” that contains all the items you need to create a home page on a
site. Another example might be a project called “Executive bios” that you use
to deploy updated versions of executive biographies to your corporate
information pages. Any number of items can be managed and deployed by a single
project.
·
Asset: In ATG Content Administration, any item
that you create, edit, and deploy is referred to as an asset. Different ATG
applications have their own types of assets. For example, Merchandising assets
include products, SKUs, and price lists. ATG Personalization assets include
user segments, targeters, and content groups. In several places in the Business
Control Center interface, “asset” is used as a generic term for these items.
·
Versioning: As well as managing the creation and
deployment of assets, ATG Content Administration performs a type of source
control, called versioning, on each asset. When you create an asset, the system
gives it the number 1. When you or another user edits the asset, a second
version is created, and versions 1 and 2 are both stored in the system. This
behavior has two purposes: it prevents conflicts when two or more people edit
the same asset, and it allows you to recover from errors by reverting to a
previous version of an asset at any time.
For
detailed information on any of these terms, or for more information about
versioning and deployment, refer to the ATG
Content Administration Guide for Business Usersand the ATG
Content Administration Programming Guide.
Creating a Project
As
described for targeting assets in later chapters of this guide, the first step
when you create an asset is to specify the project that will manage the
creation, versioning, and deployment of the item. The following image shows the
fields you use to create a project. This dialog box appears after you select
the Targeting and Segmentation option on the Home page.
To
complete this screen, follow the steps below:
a) Enter a
name and description for the project. The name is used to identify the project
in various places in the UI, for example in the To Do list on the Home page.
Making this name distinctive is recommended so that you and other users can
distinguish it from other projects in your system. Project names do not have to
be unique, however. The description is optional but can be helpful where many
projects have similar names.
b) Click
Continue when you have finished.
At this
point, the project’s Author task becomes active, and you can start creating
assets. For targeting items, the creation process is described in detail in later
chapters of this guide:
For
other types of assets, refer to the documentation for the ATG application that
manages them. For more detail on projects, refer to the ATG
Content Administration Guide for Business Users.
Adding Assets to a Project
Most
assets that you create or edit in the Business Control Center must be added to
a project so that they can be versioned and deployed. To see the assets that
have been added to the current project, display the Project tab, as shown
below:
When
you create an asset, for example a user segment, the asset is automatically
added to the current project, and the label “NEW!” appears next to the asset in
the Project tab. The new asset also appears in the Browse tab for this project.
The asset will be published to the live Web site when the project is deployed.
The asset is also added to the versioning system.
Adding or Changing Existing Assets
You can
also add an existing asset to a project. To do so, locate the asset in the
Browse tab, check the box to select it, and then click the Add to Project icon.
The asset appears in the Project tab and will be published to the live site
when the project is deployed.
You can
make changes to an existing asset if necessary. To do so, highlight the asset
in the Browse tab so that its details appear in the General and Rules tabs on
the right. Make any changes you need, and click Save. The asset is
automatically added to the project, and a new version of the asset will be
added to the versioning system when the project is deployed.
Note: When you create an asset as part of a
project, the asset will not appear in the Browse tab for other projects until
the asset is checked in to the versioning system. Check-in typically occurs
when the project is deployed (the Deploy task is completed). For more
information, see the ATG
Content Administration Guide for Business Users.
5.
What is Asset?
An
asset is an object that forms part of an ATG application. An asset often
represents a piece of content that you need to create or edit for display on a
Web site—for example, a JPEG image, or a file containing press release text. A
project can include personalization assets, such as scenarios and slots.
Always
use Site Administration to edit site configurations. For more information, see
the Multisite Administration and Configuration Guide.
Use ATG
Content Administration to edit the content of file assets, slots, and
scenarios. Always use the Merchandising user interface to edit the following
assets:
·
All other personalization assets such as targeters and content
groups
·
All commerce assets such as price lists, product catalogs, and
promotions
·
ATG Search Merchandising assets such as facets
The following default asset types are created
directly in the Business Control Center:
·
Simple text files
·
Segments (profile groups) for use in ATG Adaptive Customer
Outreach campaigns
·
Commerce assets (via Merchandising)
·
Content groups and content targeters
Other asset types are created elsewhere (in the
ACC or in a third-party application such as a graphics editor). They can then
be added to ATG Content Administration through the Asset tab interface in the
Business Control Center.
The following table shows where you create,
edit, and add different types of ATG Content Administration assets.
Note: Your
system might include custom asset types not shown here.
Kind
of Asset
|
Example
|
Create
and Edit
|
Add
to Projects
|
Simple
text files
|
.txt files, HTML
files
|
Business
Control Center
|
Business
Control Center
|
Personalization
assets
|
Profile
groups (user segments), content groups, content targeters
|
Business
Control Center
|
Business
Control Center
|
Scenario
assets
|
Scenarios,
slots
|
ACC
|
Business
Control Center
|
Image
files
|
JPEGs
|
Third-party
application
|
Business
Control Center
|
Commerce
assets
|
Catalogs,
price lists, promotions
|
Merchandising
|
Merchandising
|
Note: Nested
content groups and profile groups are not supported by ATG Content
Administration, as the deployment system cannot detect that the “containing”
group depends on the “contained” group and so deploys them together.
Asset Types
The
following table lists the asset types that appear by default for ATG Content
Administration. Additional asset types customized for your environment might also
appear in the Business Control Center.
Asset
types
|
Use
for
|
WWW
Binary File Asset
|
Any
file except a text file. Examples: Image files,
.zip files, video
files. See Binary
File Assets. |
WWW
Text File Asset
|
Any
file that contains simple text. Examples: Plain text files, HTML files, JSPs.
See Text
File Assets.
|
Folder
|
Lets
you add a folder to the asset hierarchy.
|
Targeter
Content group Profile group Segment Slot Scenario |
Items
corresponding to each asset type shown; for example, Targeter is an ATG
Personalization content targeter. Most are not commonly added to projects by
business users.
For
more information on targeters and content groups, see the Business Control
Center User’s Guide.
For
more information on user segments, slots, and scenarios, see User
Segment Assets andScenario
and Slot Assets.
|
ATG
Commerce asset types. For example:
Product
SKU Price |
Items
corresponding to each asset type shown; for example SKU is an ATG Commerce
SKU stored in the product catalog versioned repository. See the ATG
Merchandising Guide for Business Users for more information.
|
The
following sections provide details about adding and editing assets of each type
shown above.
Project Asset Lifecycle
The
following diagram shows how a project uses an asset. In this example, the base
versions of assets A and B are revised in a project and deployed to a site. The
deployed version of each asset becomes version 2 of the asset in the
repository.
The
following list describes the stages in the lifecycle of an asset.
a) Add assets to a project
When you add an asset to a project, a working version of the asset is automatically created. If the asset is new, it exists only as a working asset; no checked-in version exists, and it is visible only within the project.
When you add an asset to a project, a working version of the asset is automatically created. If the asset is new, it exists only as a working asset; no checked-in version exists, and it is visible only within the project.
b) Edit the project asset
An asset is accessible only from a project, where it can be viewed, edited and saved. Changes that you save to a working version are visible only within the project, and are not accessible to other projects.
An asset is accessible only from a project, where it can be viewed, edited and saved. Changes that you save to a working version are visible only within the project, and are not accessible to other projects.
c) Deploy and check in project assets
Project assets are checked in to the versioned repository after deployment to the target site is complete and verified. The checked-in asset becomes the latest version that is available to projects and users. For more information, see Versioning Assets.
Project assets are checked in to the versioned repository after deployment to the target site is complete and verified. The checked-in asset becomes the latest version that is available to projects and users. For more information, see Versioning Assets.
View Project Assets
The
Assets tab lists all project assets and provides summary information about each
one. It also lets you access the pages where you create and edit assets.
To
display the Assets tab for a specific project:
a) Select
the project from the Home page or the Available Projects page.
b) Click
the Assets tab.
The
Assets tab contains the following information about project assets:
·
Asset Name: The
name of the asset that was specified when it was added to the project. The name
is also a link; clicking it displays the asset details page.
·
Base Version: The
version number of the asset that was used to create the working version in the
project. The base version is the latest checked-in version. If there is no
number in this column, the asset is new (in other words, it was created as part
of this project), and only a working version exists.
·
Current
Version: The number of the working version of this asset.
·
Status: Shows
the status of the asset within the project:
o Created: The asset is new. A
working version exists, but there is no checked-in version.
o Modified: At least one
checked-in version of this asset already exists (in other words, the asset has
been used in another project).
o Deleted: The asset is in the
process of being deleted, either through the ATG Control Center or through the
Browse tab in the Business Control Center. (Note that no changes, including
deletion, can be made to an asset unless the asset is in a project.) Assets do
not appear as Deleted if you simply remove them from a project. For more
information, see Deleting
Assets from the System.
Asset
display in the Business Control Center is configured through the View Mapping
system. For more information, see Customizing Asset Display in the ATG
Content Administration Programming Guide.
Asset Version Numbering
The
versioning system maintains two types of version numbers:
·
Base version
number: The latest checked-in version of the asset. When an asset is
created, its initial base version number is 1.
·
Potential
version number: The version number that is conditionally assigned to each
checked-out version of an asset.
When
you add an asset to a project, the system assigns it a potential version
number. When the project checks in its asset, the system converts the potential
version number to the new base version. If another project checked in the same
asset earlier, the system assigns the next available number to the new base
version.
For
example:
a) John
adds the asset ExecProfiles to his project. ExecProfiles is new to the
versioned repository, so it has base version number 1. When John adds
ExecProfiles to his project, the system assigns his working version potential
version number 2.
b) While
John is editing ExecProfiles, Susan also adds this asset to her own project,
which gets potential version number 3.
c) Susan
deploys her project and its assets are checked in, including ExecProfiles. The
system uses its potential version number and renumbers the base version number
as 3.
d) John
gets an alert that tells him a conflict exists between his version of
ExecProfiles and the new base version that Susan checked in. John can resolve
this conflict either by overriding the base version, or by merging the two
conflicting versions (see Resolving
Asset Conflicts).
e) John
deploys his project and its assets are checked in. The system increments the
base version number of ExecProfiles to 4.
To view
an asset’s version number, display the Assets tab and examine the Base Version
and Current Version columns. For more information, see View
Project Assets.
More
detailed information about an asset’s version history is available in the
Assets > History tab. For more information, refer to Viewing
an Asset’s History.
6.
How do we create an asset inside content
Administration?
When you use ATG Merchandising,
you build a catalog by creating assets that display in it, such as products and
categories, or support the assets that display in it, such as media assets and
promotions. This section describes how to create individual assets. Note that
catalog and catalog folder assets are available only when you are using custom
catalogs.
You can create assets from all
tabs, although you should be aware of a few restrictions. The Browse tab
contains views, each of which lets you create assets from a subset of types.
The procedures below inform you of the appropriate Browse tab view for the type
of assets you are creating. When using the Search tab, you can create assets
only of the type you’ve recently searched for. The Project tab permits you to
create all assets. Note that your administrator can specify additional
limitations.
Refer to the following sections
for instructions:
Commerce Asset
|
A commerce asset is any versioned item that you use to build a
commerce Web site. Commerce assets include:
— catalogs
— catalog folders — categories — products — SKUs — promotions — price lists — media assets — media folders
Some commerce assets, such as products, SKUs, and promotions,
display on your live Web site, while others, such as catalog folders and
media folders, are used to organize assets in your development environment.
In technical terms, commerce assets are repository items
provided by ATG Commerce and managed in the versioning environment provided
by ATG Content Administration. Unlike assets in ATG Content Administration,
all commerce assets are repository assets, meaning they reside in a versioned
database, even though some assets, such as categories, products, and SKUs,
live in a SQL repository while other assets, such as media assets, live in a
content repository.
|
Creating New Assets
This
section provides an overview for creating commerce assets. The chapters that
follow this one describe how to create and manage each type of asset
Merchandising supports, including catalog folders, catalogs, categories,
products, SKUs, search facets, promotions, pricing, coupons, media folders, and
media items.
To
create a new asset:
a) In a
Manage Commerce Assets project, use the Browse panel to navigate to the catalog
asset that will be the new asset’s parent. For example, to create a new
product, navigate to the category where you want to create the product.
b) Click
the Create button in the toolbar and select the type of asset you want to
create.
The
list of asset types of you see depends on the following:
·
The permissions associated with your user profile. Talk to your
administrator if you have questions about your permissions.
·
Where you are in the catalog hierarchy in the left-hand Navigation
pane.
For example, in the Browse panel, at the top level of a catalog,
you can create a catalog or a category. If you drill down one more level, into
a category, you can create a catalog, category, or product. See Browse
Panel for
more information.
c) Fill in
the property fields in the Details pane. Required fields are marked with a star
icon. See Working
with Asset Properties to
learn how to use the different types of Merchandising property editors.
d) Click
Create.
Creating Assets from the Find Panel
In
addition to creating assets within a hierarchy on the Browse panel, you can
also create assets from the Find panel. In the Find panel, you can create
whatever type of asset is currently selected in the For dropdown menu.
Unlike
assets you create by selecting a parent in the Browse panel, most assets you
create from the Find panel do not automatically have a parent asset specified
in the Details pane. Unless you specify a parent, Merchandising creates the
asset in a default location that may not be where you expect. See the chapters
that follow this one for information about the default location for each type
of newly created asset.
7.
How do we create tabs in BCC?
Add
new link to the left navigation bar in BCC home page:
The ActivityManager
(/atg/bizui/activity/ActivityManager) component configures the left-side
navigation panel on the BCC home page. Each section of the panel is defined by
an element of the ActivityManager’s activitySources array. New sections can be
added to the panel by appending ActivitySource to this array.
An activity source
controls the links on the left nav on the BCC home screen. All activity sources
are registered with the ActivityManager component
(/atg/bizui/activity/ActivityManager). When rendering the home page, the
ActivityManager cycles through all the registered ActivitySource components and
displays left navigation links for each of them on the BCC home page.
OOTB
ActivitySource components used in BCC:
a) Content
Administration – /atg/bizui/activity/PublishingActivitySource
b) Search
Administration – /atg/bizui/activity/SearchingActivitySource
c) Personalization
– /atg/web/personalization/activity/PersonalizationActivitySource
d) Merchanding
– /atg/commerce/web/CommerceActivitySource
Each ActivitySource is
associated with a sub-panel containing links to “generic activities”, which use
specific URLs, and “workflow activity” links, which always present a page that
allows the user to create a CA project that uses a workflow of a specific type.
Each link is subject to access control, which is determined using activity
configuration settings or workflow ACL settings.
To add a new link to the
left navigation bar in BCC home page, follow the three steps, which are
explained below:-
a)
Define A Custom Activity Source component
b)
Define the Generic Activity Definition File
c)
Register this new custom Activity Source
with ActivityManager component
Step–1: Define custom ActivitySource
Create a component that
implement the atg.bizui.activity.ActivitySource interface. Here we use the OOTB
atg.bizui.activity.PortalActivitySource class.
# /com/activity/SampleActivitySource
$class=atg.bizui.activity.PortalActivitySource
# The name and description for the
entry that appears on the left side of the home page
activitySourceResourceBundle=org.com.webui.WebAppResources
activitySourceNameResource=activitySourceName
activitySourceDescriptionResource=activitySourceDescription
# Generic activity definitions
genericActivityDefinitionFiles=/com/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?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
– 2: Define the Generic Activity Definition File
Now we need to create the
genericActivities.xml file which is specified in the
genericActivityDefinitionFiles property of the new ActivitySource component.
The genericActivities.xml
file specifies the links on the left nav used for browsing repositories.
#/com/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">
<!-- This adds activity links
to the "Non Versioned" section of the BCC home page -->
<generic-activities>
<!-- Add a link named "Edit My Sample
Repository Items" -->
<activity>
<id>editSampleItems</id>
<resource-bundle>org.com.webui.WebAppResources</resource-bundle<display-name-resource>editSampleItems.displayName</display-name-resource>
<description-resource>editSampleItems.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
– 3: Register this new Activity Source with ActivityManager
The path of the OOTB
component is /atg/bizui/activity/ActivityManager
#/atg/bizui/activity/ActivityManager
activitySources+=/com/activity/SampleActivitySource
8. Define
work flow?
Merchandising uses
ATG Content Administration to manage and deploy versioned commerce assets. In
order to use the ATG Content Administration mechanisms, Merchandising requires
users to create and manage assets within a project.
The project enables
a merchandiser to control the following aspects of asset management:
·
Creating,
editing, and maintaining versioned commerce assets
·
Tracking
the project’s assets through the review and approval processes
·
Deploying
the project’s assets to a live web site
Merchandising
includes the following project type selections on the Business Control Center
Operations list:
·
Manage
Commerce Assets
A
merchandiser uses this project type to create, add, modify, organize, and
delete commerce assets.
·
Administer
Commerce Search (ATG Search is required)
An
administrator uses this project type to configure Search Merchandising,
including creating the search configuration tree and adding properties for
property prioritization.
When you are logged
in to the Business Control Center as a merchandiser, your Merchandising project
can include and manage assets in the following categories. These appear as
selections in the drop-down menu above the Browse pane:
·
Merchandising
·
Search
Merchandising
·
SEO
Tags
·
Price
Lists
·
Site
Administration (if your site is configured for the Site Administration utility)
·
Targeting
and Segmentation
See the chapter Creating and Managing Projects in the ATG Content Administration
Guide for Business Users, for basic information about projects, workflows, and
versioned assets in ATG Content Administration. See Creating and Organizing Assets in the ATG Merchandising
Guide for Business Users for information
about creating merchandising assets.
Creating and Managing
Projects
All business user
activities for ATG Content Administration are conducted as part of a project. A
project serves two complementary purposes:
·
Acts
as a container of related assets
·
Controls
the flow and assignment of asset management tasks. Project tasks typically
include content creation, editing, review, approval, and deployment.
When you create a
project, you specify the project type to use. Each project type has a workflow
that determines the project tasks and their order of execution. For more
technical information on workflows, see the ATG Content
Administration Programming Guide.
When a project is
complete, its assets are checked in to the ATG Content Administration versioned
repository. The checked-in assets become the latest versions. Project assets
are checked in only after project deployment to the production site is complete
and the project is marked as complete.
This chapter
describes how to use ATG Content Administration to manage and configure your
projects. It includes the following sections:
Project Type and Workflow
Each project is
driven by a workflow that acts as a template for the project, specifying
various stages in its lifecycle. These stages include the tasks that Business
Control Center displays for each project.
By default, ATG
Content Administration provides one workflow that you can associate with
project types. Depending on how ATG Content Administration is configured on
your site, this workflow conforms to one of the following models:
·
Staging/Production supports deployment
to two targets: first a staging target, then a production target.
Production-Only
The production-only
workflow contains these tasks:
Task
|
Required
action
|
Author
|
Add
or edit project assets.
|
Content
review
|
Sign
off on asset changes.
|
Approve
for production deployment
|
Approve
deployment of project assets. You can specify immediate deployment, or defer
until later. If deferred, actual deployment is started by the
RecurringDeploymentService or an administrator.
|
Wait
for production deployment completion
|
No
action required.
|
Verify
production deployment
|
Accept
the deployment of assets to production. All assets are checked in and the
project is marked as complete.
|
Staging/Production
The
staging/production workflow contains these tasks:
Task
|
Required
action
|
Author
|
Add
or edit project assets.
|
Content
review
|
Sign
off on asset changes.
|
Approve
for staging deployment
|
Approve
deployment of project assets to the staging site. You can specify immediate
deployment of assets, or defer deployment to action by the RecurringDeploymentService
or an administrator.
|
Wait
for staging deployment completion
|
No
action required.
|
Verify
staging deployment
|
Accept
the deployment of assets to the staging site.
|
Approve
for production deployment
|
Approve
deployment of project assets to the production site. You can specify
immediate deployment of assets, or defer deployment to action by the
RecurringDeploymentService or an administrator.
|
Wait
for production deployment completion
|
No
action required.
|
Verify
production deployment
|
Accept
the deployment of assets to production. All assets are checked in and the
project is marked as complete.
|
By default, the
Home page only displays one project type, ATG Content Administration Project.
If your product suite includes other ATG applications, for example
Merchandising, additional project types appear.
There is usually is
no relationship between a project’s workflow and project assets. Any type and
number of assets can be added to any type of project workflow.
You can ascertain a
project’s type on its Project page, at the top of any tab:
For detailed
information about the workflows used in ATG Content Administration, see the ATG Content
Administration Programming Guide.
Displaying Projects
The Home page
displays a To Do list that lets you view and access active projects. Alternatively,
the Available Projects page provides a comprehensive list of projects, and lets
you search for and display projects that meet specific criteria.
Managing Tasks
Tasks represent the
steps that users perform during a project’s lifecycle: for example, authoring,
approving content, and deploying to a production site. A project’s workflow
determines its tasks and their sequence.
Viewing Tasks
You can view tasks
in two ways:
·
View
all active tasks, either assigned to you or to all users, from the To Do list
on the Home page.
·
View
all tasks—complete, active, and pending—for a given project via its Tasks tab.
The Tasks tab for a
project displays all project tasks and their status:
From this tab, you
can:
·
Assign
tasks to yourself or to other users.
·
Change
the status of tasks assigned to you, and of unassigned tasks.
Project Workflow And Tasks
The set of project
tasks and their sequence is determined by the project’s underlying workflow,
which is associated with the project type. In order to modify this task list,
you must edit the workflow in the ACC, or create a project type that uses a
different workflow. However, you must not change the workflow of any active
projects; doing so disassociates the workflow from the project and makes the
project inaccessible. For information on editing workflows, see the ATG Personalization
Guide for Business Users.
Task Assignment
The Owner column
shows who is assigned to the current task. Some tasks represent steps in the
workflow that are executed by the system and do not require an owner. In these
cases, no dropdown list appears in the Owner column. See Assigning Tasks for information on
how to change the owner of a task.
Task Actions
The current task
contains a dropdown list in the Actions column, with several task-specific
options for completing this task. For more information, see Completing Tasks.
View
Project Assets
The Assets tab
lists all project assets and provides summary information about each one. It
also lets you access the pages where you create and edit assets.
To display the
Assets tab for a specific project:
a) Select the project
from the Home page or the Available Projects page.
b) Click the Assets
tab.
The Assets tab
contains the following information about project assets:
·
Asset Name: The name of the
asset that was specified when it was added to the project. The name is also a
link; clicking it displays the asset details page.
·
Base Version: The version
number of the asset that was used to create the working version in the project.
The base version is the latest checked-in version. If there is no number in
this column, the asset is new (in other words, it was created as part of this
project), and only a working version exists.
·
Current
Version:
The number of the working version of this asset.
·
Status: Shows the status
of the asset within the project:
o Created: The asset
is new. A working version exists, but there is no checked-in version.
o Modified: At least
one checked-in version of this asset already exists (in other words, the asset
has been used in another project).
o Deleted: The asset
is in the process of being deleted, either through the ATG Control Center or
through the Browse tab in the Business Control Center. (Note that no changes,
including deletion, can be made to an asset unless the asset is in a project.)
Assets do not appear as Deleted if you simply remove them from a project. For
more information, see Deleting Assets
from the System.
Asset display in
the Business Control Center is configured through the View Mapping system. For
more information, see Customizing Asset Display in the ATG Content
Administration Programming Guide.
Workflows
A Merchandising
project associates a workflow with a set of assets. The workflow specifies the
number and sequence of tasks that determine the project’s life cycle.
Tasks such as the
following are part of a typical workflow:
·
Create
an asset, revise asset content, or delete an asset
·
Review
new or changed content
·
Approve
the project for deployment
·
Accept
the deployment
The workflow also
specifies whether to deploy only to a production target, or to a staging target
as well. See Processes and
Projects in the ATG Content
Administration Programming Guide. The chapter Setting Up Deployment in the same manual
contains instructions to define the deployment topology.
Workflow Security
The administrator
can set access rights on a workflow and on its individual task elements. For
information about this configuration, see the Managing User Access and Securityand Project Workflows chapters in the ATG Content
Administration Programming Guide.
Customizing Workflows
By default,
Merchandising projects use the common workflow that is found in:
<ATG10dir>/Publishing/base/config/atg/registry/data/epubworkflows/Common/commonWorkflow.wdl
The business
requirements at your site may require a custom workflow, with additional steps
such as an email notification or an extra authorization step.
If you need to
create a custom workflow, consider these cautions:
·
It
is preferable to copy an existing workflow and modify the copy than to create a
completely new workflow.
·
Adhere
as closely as possible to the original workflow, especially with respect to the
elements that handle deployment and check-in.
·
Do
not change the check-in model on a workflow. Asset check-in prior to project
deployment (“early check-in”) is no longer supported. Assets are checked in
immediately after a project is
deployed and the deployment is verified/accepted (“late check-in”).
Important: All the workflows in use must use the same deployment
model:
·
Production-only
·
Staging
and production
For information
about the workflows that are included with ATG Content Administration, see the Project Workflows chapter of the ATG Content
Administration Programming Guide. In the same manual, the section Workflow Action Elements contains a list of
workflow action elements.
The ACC provides
the user interface for viewing, editing, and creating workflows. The application
developer must create the custom workflow elements for your organization. For
more information, see the following:
For information
about modifying the user interface to accommodate workflow display, see Customizing the UI for Specific Tasks and Activities in the ATG Business
Control Center Administration and Development Guide.
See: Creating Project
Workflows
9.
Define snapshot? How to resolve snapshot
mismatch error in BCC?
SnapShot are maintained
against the each deployment server. A Successful deployment is treated as
Snapshot.
Few Basics - Before Explaining the Root Cause :
·
For
each successful deployment BCC creates snapshot ID & update it against each
agent.
·
Snapshot
ID should be same for all agents in a particular target - Production or
Staging.
·
In
BCC, for maintaining deployment status - each deployment agent (a server
instance) maintains a dep-stat* file at"dataDirectory".
·
dataDirectory
is configured in "DeploymentAgent" component.
·
ATG
creates a dataDirectory if you explicitly don't define any path.
·
dept-stat
file keep various information including the latest snapshot ID.
·
Whenever
deployment agent(server instance) re-starts it takes the latest dep-stat file
& update the snapshot ID from it.
Snapshot mismatch Error:
A
snapshot mismatch is easy to see – the deployment will be halted and the
following error message will be displayed below:
“Cannot perform a incremental
deployment on target, Check for
snapshots mismatched on agents.”
This
occurs when something has interrupted the publishing process and the
DeploymentTarget (on the target we’re trying to publish to) has failed to
update its latest snapshot id. The
snapshot id allows the DeploymentTarget to know what version of content it has
received which in turns means the publishing process can verify if a project
has already been published. Each snapshot id is mapped to a target and a project
in the BCC server’s database schema.
BCC
Snapshot ID is not valid:
Snapshot issue occurs
during following scenarios.
a) Previous
deployment wasn't successful
b) No
installed snapshots found against server (DB Change).
c) This
issue will arise when you try to force the invalid snapshot id, or deleted
snapshot id.
Steps for Solution:
a)
Open <BCC Domain>/dyn/admin (i.e.
<host>/dyn/admin). Enter credential required and click on “JDBC Browser” link.
b) Click on Execute query link.
c) In query box write this below query and then execute:
Select * from EPUB_PRJ_TG_SNSHT ORDER BY to_number(SNAPSHOT_ID) DESC
You will see this below page which shows two targets (i.e. tar64 and tar66) repeatedly one target_id will be for Staging and second will be for Production, in just few next sections you will get to know how you can identify the environment’s target id.
d) Fetch the recent snapshot for the corresponding server (Staging or Production) & copy the snapshot ID against it.
e) Click on admin link then Click on “Component Browser” link and search the DeploymentServer component of atg.
http://<your_host>:<bcc_port>/dyn/admin/nucleus/atg/epub/DeploymentServer
http://<publishing server IP address>:<Pub-port>/dyn/admin/nucleus/atg/epub/DeploymentServer/
f) You will see your targets & a text box "Force snapshot ID".
Upon clicking the above component link you will get this below page which is showing snapshot id for both environment (i.e. Staging and Production). according to the environment where you are getting snapshot mismatch issue please copy SNAPSHOT_ID from ResultSet screen and paste it into the corresponding Force snapshot id entry box and click on Init button next the box, i e.g. tar64 for production and tar66 for staging.
g) Check BCC, if snapshot is updated or not.
h) Resume your deployment. Again start the deployment you will be able to solve the snapshot mismatch general error.
Note: Similar steps, if the snapshot issue occurs for Production server.
b) Click on Execute query link.
c) In query box write this below query and then execute:
Select * from EPUB_PRJ_TG_SNSHT ORDER BY to_number(SNAPSHOT_ID) DESC
You will see this below page which shows two targets (i.e. tar64 and tar66) repeatedly one target_id will be for Staging and second will be for Production, in just few next sections you will get to know how you can identify the environment’s target id.
d) Fetch the recent snapshot for the corresponding server (Staging or Production) & copy the snapshot ID against it.
e) Click on admin link then Click on “Component Browser” link and search the DeploymentServer component of atg.
http://<your_host>:<bcc_port>/dyn/admin/nucleus/atg/epub/DeploymentServer
http://<publishing server IP address>:<Pub-port>/dyn/admin/nucleus/atg/epub/DeploymentServer/
f) You will see your targets & a text box "Force snapshot ID".
Upon clicking the above component link you will get this below page which is showing snapshot id for both environment (i.e. Staging and Production). according to the environment where you are getting snapshot mismatch issue please copy SNAPSHOT_ID from ResultSet screen and paste it into the corresponding Force snapshot id entry box and click on Init button next the box, i e.g. tar64 for production and tar66 for staging.
g) Check BCC, if snapshot is updated or not.
h) Resume your deployment. Again start the deployment you will be able to solve the snapshot mismatch general error.
Note: Similar steps, if the snapshot issue occurs for Production server.
10. What is difference between
TODO and plan?
11. Define
targeter, scenario and slot?
Any ATG application uses a
common approach to personalizing its content.
It uses a combination of targeters, slots, and scenarios.
·
Targeters determine what type of content to
show to individual customers.
·
Slots are the placeholders in web pages to
store the customized content.
·
Scenarios are used to create the link
between slots and targeters.
Scenarios
create the link between slots and targeters in the following way:
·
When
a customer accesses a JSP page that has a slot, the slot requests content.
·
The
slot’s content request initiates a scenario.
·
The
scenario contains rules that tell it which targeter to run.
·
The
targeter determines the appropriate content for the customer.
·
The
scenario returns the content to the JSP page and the slot is populated. Note
that slots only store content. Other logic must exist on the JSP page to
present the content:
12. When
to use scenarios and when to use targeters?
·
Scenarios are triggered by events. If you want
to personalize content as a result of a site visitor’s doing something specific
(for example, logging in), use a scenario. Targeters are not event based.
·
The business rules you can set up through
targeters are more flexible in some cases than scenarios. For this reason, if
you need to set up highly complex rules to match content to visitors, use
targeters.
·
Scenarios use a feature called slots to display
dynamic content. Slots provide some powerful advantages over targeters (for
example, you can set up empty slots that generate their own requests for
content).
·
The reporting features of the Scenarios module
rely on scenarios to supply data. If you want to use reports to track and
analyze business information, you must set up appropriate scenarios.
·
As described above, scenarios are time aware. If
you want to set up a long-term approach to content and visitor management, use
scenarios.
Scenarios and targeters are, however,
complementary features. You can use a combination of targeters and scenarios to
achieve the results you want.