About Me

My photo
ATG Developer. Experienced in: ATG Commerce, ATG Search, BCC, CA, ATG Commerce Service Center

Thursday, May 22, 2014

How to setup Oracle ATG Plugin (ATG Wizards) for Eclipse.

1=> Open eclipse












2=> Click on Install New Software under Help tab












3=> Click on Add button












4=> Click on Archive button












5=> Browse path till \Eclipse\ATGUpdateSite.jar 
(i.e. D:\ATG\ATG10.2\Eclipse\ATGUpdateSite.jar)












6=> Click Ok button












7=> Select ATG development tool and click on Next button.












8=> Click  on Next












9=> Accept License and click Finish.












10=> Ignore security warning and click OK.












11=> Click Yes to restart Eclipse












12=> Now click on New Project=>Java=>ATG Wizards=>New ATG Module












Tuesday, July 28, 2009

ATG(2007.1) SEARCH INDEXING BEST PRACTICES

To make data in a repository available for searching, the ATG platform creates XHTML representations of the repository items; these XHTML documents are then indexed by ATG Search. To create the XHTML documents, you specify the properties to include in them through the IndexingOutputConfig component’s XML definition file. It’s important to create this definition file carefully. If you include a lot of superfluous properties, your index will be unnecessarily large, which means it will require more memory than it should and take longer to search. In general, the larger the XHTML documents are, the larger the index will be. On the other hand, if you omit important properties, your index might not return the desired results.

Determining Which Properties to Include:

To include properties in the index, you list them in the definition file as property elements within text-properties or meta-properties elements. The values of properties included in text-properties elements are searchable text, while the values of properties included in meta-properties elements are metadata that can be used in constraints.

For example, in a Commerce product catalog, you’d typically want a property containing a product description to be searchable, but you’d typically want a price property to be usable as a constraint (e.g., to constrain the results to include only those products whose price is less than $100).

If you want a property to be both searchable and usable as a constraint, it must appear within both the text-properties and metaproperties elements. For example, you might use a manufacturer property this way, enabling searching for a specific manufacturer, or constraining the results to exclude items from a certain manufacturer.

The key to producing optimal XHTML documents is including the right set of properties – ensuring that you don’t include properties that you don’t need, and don’t omit ones that you do.

Guidelines for Text Properties:

Some guidelines for determining which properties to include as text properties, and which ones to omit:

  • Include properties whose values contain text that users are likely to search for. For product catalogs, typical properties might be description, longDescription, color, and brand.
  • Don’t include multiple properties that contain the same data. For example, if a product’s description and longDescription properties always contain the same text, include only one of these properties in the index. (Similarly, if the description property always contains a subset of the text in the longDescription property – such as the first sentence – then include longDescription and omit description.)
  • Don’t include properties that have values that users are unlikely to search for. These include date and Boolean values, and some types of numeric values. (Note, however, that these properties are often appropriate for metadata.)
  • Don’t include properties that may lead to irrelevant or undesired results. For example, suppose you have a Shoes category with two subcategories, Men’s Shoes and Women’s Shoes. If the description property of the Shoes category is “Men’s and women’s shoes,” and you include ancestorCategories.description in the index, searches for “men’s shoes” will return women’s shoes as well as men’s, because the ancestorCategories.description property for each item in Men’s Shoes will contain the phrase “women’s shoes.”
  • Be careful not to confuse the name of a property with its values. For example, you might be inclined to include a Boolean property named onSale, on the assumption that users may include “on sale” in search queries. But the resulting index will not include onSale (the name of the property), it will include true and false (the values of the property), so searching for “on sale” will not have the desired effect. Keep in mind that these are just guidelines, and you may need to deviate from them depending on the needs of your site. For example, you may want to include a Boolean property as a text property if you use a custom property accessor to translate true and false into searchable strings. Or there may be certain numeric properties (e.g., product codes) that you may want to make available for searching.

Guidelines for Metadata Properties:

Some guidelines for determining which properties to include as metadata properties, and which ones to omit:

  • Include any properties that you want to use for creating facets (e.g., faceting by size).
  • Include any properties that you want to use in search configuration rankings and rules (e.g., rank by brand).
  • Include any properties that you want to use as sort criteria (e.g., sort by salePrice).
  • Include any properties that you want to use in global constraints (e.g., using catalogId to restrict results to items in the custom catalog assigned to the user).
  • Don’t include properties that do not match any of these criteria. In particular, you should not include long text fields (such as longDescription) as metadata properties. Although it is possible to include these properties in constraints (e.g., “do not return results whose longDescription contains Acme”), such constraints are very inefficient, and these properties can increase the index size significantly.


Using Filters to Reduce the Size of the Index:

You may be able to reduce the size of your XHTML documents by filtering the property values to remove redundant entries. For example, suppose each XHTML document represents a product with several child SKUs. You might include the SKUs’ salePrice property in the index as a metadata property, so it can be used for faceting. Depending on the product, many of the SKUs may have the same value for salePrice.

So the resulting entries in an XHTML document might look something like this:

By filtering out redundant entries, you can reduce this to:

To automatically perform this filtering, specify the unique filter in the XML definition file, using the filter attribute of the property element:

This setting invokes an instance of the atg.repository.search.indexing.filter.UniqueFilter class.

Note that you do not need to create a Nucleus component to use this filter. As a general rule, it is a good idea to specify the unique filter for a property if multiple items in an XHTML document may have identical values for that property.

If you specify this filter for a property and every value of that property in an XHTML document is unique (or if only one item with that property appears in the document), the unique filter will have no effect on the resulting XHTML (either negative or positive). However, executing this filter increases processing time to create the document, so it is a good idea to specify it only for properties that will benefit from it.

Tuesday, June 23, 2009

How to create ATG project in Eclipse

Creating New Project using Eclipse

1. File =>New=>Project...



2. Click on Project...



3. Select a wizard:
Java=>ATG Wizards=>New ATG Module



4. Click on Next button.



5. Enter project name i.e ‘myShoppingSite’ and ATG root directory i.e. ‘C:\ATG\ATG9.0’ (As per your ATG installation directory).




6. Click Next Button.


7. Click on Next button


8. Click on Next button.




9. Click on Next button.


10. Enter J2EE application name: j2ee-apps
Enter Web application name: web-app
Enter Context-root: shopping


11. Click on Add button to add Target Application Servers.



12. Select application server i.e. ‘Jboss’ and click on OK button.


13. Click Finish button.


14. Congratulations!!!!!!!!!!!!!!!!!!! Project has been created.





Sunday, June 14, 2009

(ATG9 + jboss-eap-4.2) Make JBoss to work more efficiently..........

1. While installing JBoss, do not use the installer download; using that version results in errors.

2. Use the .zip file download.

3. After installing JBoss edit /bin/run.conf and run.bat with following settings:

JAVA_OPTS="-server -Xms2048m -Xmx3072m -XX:MaxPermSize=768m
-XX:MaxNewSize=768m -Dsun.rmi.dgc.server.gcInterval=3600000
–Dsun.rmi.client.gcInterval=3600000"

4. If you are setting up a JBoss instance that will be dedicated to lock management, you can run that instance with a smaller heap size, since the lock manager does not serve pages. To do this, ATG recommends creating a new run.bat|sh file referring to a new run.conf file.

5. Duplicate the run.bat|sh and run.conf files and rename the duplicates (for example, runLockMan.sh and runLockMan.conf). In the runLockMan.bat|shfile, change the following section to point to the new configuration file:

# Read an optional running configuration file

if [ "x$RUN_CONF" = "x" ]; then
RUN_CONF="$DIRNAME/LMrun.conf"
fi
if [ -r "$RUN_CONF" ]; then
. "$RUN_CONF"
fi

6. The runLockMan.conf file should include the following settings:

JAVA_OPTS="-server –Xms512m –Xmx512m -XX:MaxPermSize=128m -XX:MaxNewSize=128m -Dsun.rmi.dgc.server.gcInterval=3600000"

7. In order to create scenarios in the ATG Control Center (ACC), you must add the /client/jbossall-client.jar file to your class path. To do this, you can copy jbossall-client.jar into the /lib directory of an ATG module, then edit the MANIFEST.MF file of that module to indicate that jbossall-client.jar should be downloaded to the ACC.

Note that in order to protect your changes in case of future upgrades, you should not make this change in any of the provided ATG modules, but should create a module for this purpose.

8.For example, add the following lines to /MyModule/lib/MANIFEST.MF:
Name: lib/jbossall-client.jar
ATG-Client-Update-File: true OR

Another option is to copy jbossall-client.jar into the /lib directory of your standalone ACC installation, then modify the bin/startClient.bat file to include jbossall-client.jar in the class path.

Tuesday, June 9, 2009

JBPAPP-366 hotfix to your JBoss EAP 4.2.0

Problem Statement:

AJP connector leak is the problem with this distribution.
AJP connector leak that leaves threads in CLOSE_WAIT status. It may lead to deadlock condition.

ATG and JBoss EAP 4.2.0:
ATG9 supports JBoss EAP 4.2.0 distribution.

How to Fix:

The hotfix consists of a replacement for the jbossweb.jar file.

1. Download the replacement file(jbossweb.jar). download now
2. Copy the file into this directory:

"JBOSS_HOME/server/servername/deploy/jboss-web.deployer/"