Thursday, April 30, 2015

Re-index Orders and Profiles on CSC 10.1.2 (ATG Oracle commerce)

CSC 10.1.2 does use ATG search to do Profile Search and Order Search, this means that you need to run index to get new data into CSC when doing a search.

There are 2 components to achive this, one for order repository   and other of ProfileAdapterRepository.

Both components are located at:
/atg/commerce/search/OrderOutputConfig
and
 /atg/userprofiling/search/ProfileOutputConfig

As example of how these both work if you want to run an index for the items that were processed in the last 5 days and assuming the current day is April 30

you need to configure the start and end date for last modified date on ProfileOutputConfig  as follows:

Then click on submit and the Profiles that are modified withing that date range will be indexed.

If you go to OrderOutputConfig, you will notice that it have more options to do Re-index:
This is because OrderOutputConfig has more manualIndexRequests.

For more information of how do run re-index on CSC ATG documentation

This can be set to be scheduled instead of manual Process.




Thursday, April 9, 2015

How to change wysiwyg editor on BCC Merchandising (ATG Oracle Commerce)

ATG out of the box does have a wysiwyg editor for big String fields, such as product description, so you can instert html code to add rich content like images, or videos.
However is not very friendly and you can not change to source view.

This can be changed to use plain text, in ATG documentation explain how to do this at http://docs.oracle.com/cd/E24152_01/Platform.10-1/ATGMerchandisingAdminGuide/html/s0313changingtherichtexteditor01.html

Is not explained step by step, it assumes that you already know what they are talking about.

So we will do this step by step.

It says:

You can change the view mapping settings to globally replace instances of BigStringEditor with BigStringPlainTextEditor, which does accept code snippets. In the ACC:

We need to go to our BCC instance at the ViewMapping Repository compoentn whoich is located at:
http://[bccServer]:[bccPort]/dyn/admin/nucleus/atg/web/viewmapping/ViewMappingRepository/

Once this is done you can query for the following property views:



This will return you both property views that you need to change as the documentation says:
  • Locate the AssetManager big string propertyView and change its isDefault property to false.
  • Locate the AssetManager plain text big string propertyView and change its isDefault property to true.

as Follows:




Once you this is complete, just invalidate cache and you are done.

If everything is well configured you will see the bcc look from this:


to This: 



This is needed because most of the clients uses their own tools to edit html and BCC out of the box editor does not let you enter that kind of code.

Special Thanks Kike




Monday, April 6, 2015

How to extend an ATG version-ed repository (ATG Oracle Commerce)

As example of how to extend an ATG a version-ed repository we will use SiteRepository as example.

This example assume the reader does know the basics about ATG repository definition.

We will add all kind of type of properties (Simple data-types, component-data-types, List, and Maps).

First Thing to do is we need to create file called siteRepository.xml and this must be inside of config folder at /atg/multisite/ on a common module, since is the one we will use for Store Instances, BCC, and CSC.

We add the following content to siteRepository.xml :



Then we will start adding new item descriptors inside our

Before create the item descriptor we need to design our Site extension:

The extension will have 3 categories Presentation, Configuration, and Internationalization, with the below properties into each of them,

Notation:
[] = List Property
[k,v] = Map Property

Presentation
resourceBundle
[] .CSS files
[k,v]Images
large, small, favicon, medium


Config
[k,v]email addresses
[k,v]thirdPartyKeys
channel

I18n
defaultCountry
defaultLanguage
[]Languages
[]locale


First lets create a table to hold all the simple data type properties:

resourceBundle
defaultCountry
defaultLanguage
channel

We need to create 2 tables 1 of them will be on PUB schema, and the other will be on both CatalogA and B schema

On PUB we will create as follows:

When this is done, then we proceed to define the item-descriptor, since we are going to extend an existing one we will do append on xml-combine attribute
then we will add our table, which will be auxiliary since we are adding new properties to our existing siteConfiguration item-descriptor

Inside our table we will add our proprieties, based on the Database Table created with the above script


Please note we are using display-name-resource and  category-resource attribute of the properties, this is because we are adding the display name for those into a resourceBundle file that is already defined by the site repository atg.multisite.SiteRepositoryTemplateResources, we just need to extend this on our common module.

All the properties below are String, but one of them is coming from an enumerated



Then lets continue with the List type properties


[] .CSS files
[]Languages
[]locale


Again, we need to create tables on PUB schema, and both Catalogs schemas

On PUB we will create as follows:
On the catalogs

We will add new properties to our exiting item-descriptor xml definition:



Let's continue with the Map Properties:


[k,v]Images
  large, small, favicon, medium

[k,v]email addresses
[k,v]thirdPartyKeys


And Again, we need to create tables on PUB schema, and both Catalogs schemas

On PUB we will create as follows:
On Catalogs

We will add new properties to our exiting item-descriptor xml definition:


The definition above is not adding propertySortPriority attribue, that is up to the desired orderdering on the application.


If everything is correct the BCC will looks similar to this:


In order to display the properties on a separate Tab as in the image above, ViewMappingRepository is the place where you define that, on a future post this will be explained.