Monday, 29 July 2013 11 comments

What is ATG Component? What is ATG Nucleus?



ATG component:

In ATG any Public Class/JavaBean Associated with a properties file is called as an ATG component. Ideally speaking the properties file of a component stores the configuration values like, class name it is associated with, Scope, Dependency injections, some other Default values that are used in the java classes.  It must be under the ATG configPath.

Properties File Format:


The properties files read by Nucleus must follow a format that is recognized by the class java.util.Properties. The rules for the format are as follows:

  • 1.        Entries are generally expected to be a single line of the form:

propertyName=propertyValue
propertyName:propertyValue

  • 2.      White space that appears between the property name and property value is ignored.

  • 3.      Lines that start with the comment characters !or# are ignored. Blank lines are also ignored.

  • 4.      The property value is generally terminated by the end of the line. White space following the property value is not ignored, and is treated as part of the property value

  • 5.       A property value can span several lines if each line is terminated by a backslash (‘\’) character.

Example:
targetCities=\
        Detroit,\
        Chicago,\
        Los Angeles

  • 6.       The characters newline, carriage return, and tab can be inserted with characters \n, \r, and \t, respectively

  • 7.       The backslash character must be escaped as a double backslash.

  • 8.       UNICODE characters can be entered as they are in a Java program, using the \u prefix






ATG Nucleus: 

A container that holds all these ATG components is nothing but ATG Nucleus. It is the core of the entire ATG system. By reading the .properties files associated with each component, Nucleus figures out which components are to be used in an application,initializes them to their default values,and decides how they connect to each other. This model makes it easier for the developers to build ATG applications by configuring and using the in-built components instead of writing Java code from scratch.
Basic ATG Nucleus Operations (In Detail) / How ATG Nucleus Works :
Nucleus performs one basic operation: resolving component names. Given the name of a component, Nucleus does its best to find or create that component and return it.
·         Within Nucleus, certain components can contain other components, forming a component hierarchy. For example, given the name /services/logs/FileLogger, Nucleus resolves it by looking for components in the following locations:
1.      Looks in the root container for the services component.
2.      Looks in the services container for the logs component.
3.      Looks in the logs container for the FileLogger component.

·         Name resolution is not a difficult task. Nucleus shows its real power by creating components and hooking them up to other components automatically. This function is invoked when Nucleus is asked to resolve a name of a component that does not yet exist.

For example:

On startup, Nucleus is given a configuration path—a list of configuration directories that contain the configuration files of various components. Within the configuration directories, Nucleus expects to find a configuration file that uses the component name.
For example, to create the component /services/custom/CustomFile, which does not exist in the nucleus components, and say, the configuration root directory is <ATG10.1dir>/DAS/config, Nucleus looks for CustomFile’sconfiguration in:
<ATG10.1dir>/DAS/config/services/custom/CustomFile.properties


In Simple words: It creates and configures Nucleus components and organizes them into a hierarchical namespace, essentially giving them a place to live so they can be referenced by other components.
0 comments

Difference between ACC and BCC in ATG/ ATG BCC Vs. ACC



Most of the tasks which BCC is able to do can be Done By ACC as well. Major difference in using ACC and BCC is:
 ACC has no track of who modified the project, variables and who reviewed the changes. No Tracking can be done using ACC, whereas in BCC there will be a track of every change we do and the change will go through different phases and the reviewer can approve or disapprove the changes.
The table below shows the recommended interface for working with each of the items listed if your ATG environment uses ATG Content Administration.
Item
Manage in ATG Control Center (ACC)?
Manage in Business Control Center (BCC)?
User profiles, roles, and organizations
Possible
Recommended
Profile groups
Possible
Recommended (in the BCC, user segments have superseded profile groups)
Content items
Possible
Possible using the ATG Content Administration interface. Refer to the ATG Content Administration Guide for Business Users for information.
Content targeters
Possible
Recommended
Content groups
Possible
Recommended
Scenarios and slots
Required – scenarios exist only in the ACC
Not possible
Workflows
Required – workflows exist only in the ACC
Not possible


TIP :The menu items that appear when you start the ATG Control Center depend on the parts of the product suite that you have installed. However, the options that appear depend also on your security access role, which is set by your ATG Control Center administrator.
Friday, 19 July 2013 0 comments

Frequent errors During ATG installation


1. Cim tool throwing error 255 saying start sqlrepository unexpected/ java unexpected (or) Error While importing Data using CIM tool.


If You see
"\Java\jdk1.6.0_27\bin\java was unexpected at this time" in CIM log then go to ATG_HOME\bin\dasEnv.bat and change java home path.

and if you see "& was unexpected at this time" make sure that ojdbc is set in the class path before executing CIM.bat

2. ATG CRS giving javax.servlet.ServletException: Can't find component named: /atg/registry/Slots/HomeTheme

If you are facing this error there might be two possibilities to rectify it.

2.1 Go with Full Deployment of CRS it will solve this problem

2.2 Even after Full Deployment If you are getting the same exception, Data imports are not Proper. Drop the Schemas and reImport Data.


3. ATG Publishing/Production Server throwing  Authentication for user weblogic denied Saying:

 <Critical> <WebLogicServer> <BEA-000386> <Server subsystem failed. Reason: weblogic.security.SecurityInitializationException: Authentication for user weblogic denied
weblogic.security.SecurityInitializationException: Authentication for user weblogic denied

Follow the following steps:

1. Just edit boot.properties file, use plain text username and password instead of encrypted like
Username: weblogic
password: Weblogic1
2: remove the ManagedServerDir/data/ldap directory completely.
3: Always keep backup of files before removing it.
4: Now try to start the server from the command prompt and provide the username/password used to login to the Admin Console.


4. Error While Configuring Data Source in WebLogic

ORA-28009: connection as SYS should be as SYSDBA or SYSOPER <br/>oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:440)<br/>oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:389) - Google Search

Make Sure You Gave the Username and Password of the Schemas for Configuring the DataSources Instead of dataBase Password.

if you want to bypass  SYSDBA

1. Log in to sqlplus as sys

 command: conn / as sysdba

2. Check for parameter named O7_DICTIONARY_ACCESSIBILITY

Command: show parameter O7_DICTIONARY_ACCESSIBILITY

3. Change this parameter using

Command: alter system set O7_dictionary_accessibility=TRUE scope=spfile;
 

4. Restart Server.
 

Kindly post a comment if you are facing any problems other than this. It will be Addressed Soon.


0 comments

Creating New ATG Module Without eclipse Plugin



Step 1: Create a new Folder with your Project name. Say  “Test”
Step 2: In that folder Create 5 more folders. Folder names are given bellow. Use names without Quotes.
                2.1 “config” folder
                2.2 “src” folder
                2.3 “bin” folder
                2.4 “META-INF” folder
                2.5 “j2ee-apps” folder
Step 3: Create folder structure in “ j2ee-apps” as shown bellow
                j2ee-apps
                                |_______ test
                                                     |______ test.war------------ WEB-INF
                                                     |______ META-INF
                               
Step 4: Create index.jsp  in  Test\j2ee-apps\test\test.war  path
               
Step 5: Create a “MANIFEST.MF” file in “Test\META-INF”
               
Step 6: Create web.xml in “Test\j2ee-apps\test\test.war\WEB-INF”      
         
Step 7: Now we need to add taglibs for the JSP tags
                Better copy them from some other source into “Test\j2ee-apps\test\test.war\WEB-INF”
Step 8: Create “application.xml” in \Test\j2ee-apps\test\META-INF
               
Step 9: In “\Test\config\atg\dynamo\service\jdbc” Create “DirectJTDataSource.properties” file and point this file to new dataSource.
Step 10:  Run the Assembler for this Module, use:
runAssembler -m Test
Step 11: deploy the ear created into the weblogic Server you have already Configured.
Step 12: Configure Your DataSource in Weblogic.
Step 13: Access Your application
In my case it is:
http://localhost:7123/test
 
;