Skip to main content

ATG - how to create and deploy a new atg module

ATG products are packaged as a number of separate application modules. Application modules exist in the ATG installation as a set of directories defined by a manifest file.

To create a new module, follow the below steps :
  1. Create a module directory within your ATG installation. 
  2. Create a META-INF directory within the module directory. Note that this directory must be named META-INF. 
  3. Create a manifest file named MANIFEST.MF and include it in the META-INF directory for the module. The manifest contains the meta-data describing the module.
  4. A module located at <ATG2007.1dir>/MyModule is named MyModule and a module located at <ATG2007.1dir>/CustomModules/MyModule is named CustomModules.MyModule.
  5. Within the subdirectory that holds the module, any number of files may reside in any desired order. These files are the module resources (EAR files for J2EE applications, WAR files for web applications, EJB-JAR files for Enterprise JavaBeans, JAR files of Java classes, platform-dependent libraries, HTML documentation, configuration files,...)
Sample MANIFEST.MF content :

Manifest-Version:  1.0
ATG-Config-Path:  config/
ATG-Required:  mycomp.my-commerce   mycomp.my-search-query
ATG-J2EE:  j2ee-apps/my-estore
ATG-EAR-Module:  j2ee-apps/my-estore
ATG-Class-Path:  lib

  • ATG-Required --> A space-delimited set of module names. Here we will define the other modules that need to be included in this module. When the application is started up, the module’s manifest is processed after the manifests of the modules that the module depends on. Note that in most cases, you should set this attribute to include the out of the box module DSS. DSS has ATG required DPS and DPS module has DAS.
  • ATG-Config-Path --> Check the ATG-Config-Path for the property files for this module.
  • ATG-Class-Path --> The ATG platform adds the ATG-Class-Path value to the beginning of the EAR file’s classpath as each module is processed. Paths are relative to the module’s root directory.
Read  more about different manifest.mf attributes @ http://docs.oracle.com/cd/E26180_01/Platform.94/ATGProgGuide/html/s0403applicationmodulemanifestfile01.html


How to create an ATG ear ?


           To create an ATG ear module, your web.xml should contain some basic elements. To use ATG platform functionality, a web application needs to start Nucleus by invoking NucleusServlet. So it should be included in the web.xml to load on start up.

<servlet>
 <servlet-name>NucleusServlet</servlet-name>
 <servlet-class>atg.nucleus.servlet.NucleusServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>

Also the following tag lib alias name should be given to call the dsp tags.

<taglib>
<taglib-uri>/dspTaglib</taglib-uri>
 <taglib-location>/WEB-INF/tld/dspjspTaglib1_0.tld</taglib-location>
</taglib>

             To assemble the ATG application, we can use the "runAssembler.bat" available @ ATG\ATG2007.1\home\bin\runAssembler.bat location. The basic syntax of the command follows this format : runAssembler  earfilename  –m  module-list  .  Each EAR file built by runAssembler includes the following J2EE modules:
  • atg_bootstrap_ejb.jar: This module contains a single session EJB. The EJB’s class loader is used to load the ATG classes needed by the application.
  • atg_bootstrap.war: This module starts up Nucleus and runs the DAF servlet pipeline and the DAS servlet pipeline (for JHTML).
  • The EAR file can optionally include Dynamo Administration, which is packaged as a web application named atg_admin.war and you must specify the DafEar.Admin module when you run the application assembler to include Dynamo Administration.

             You can create two types of EAR files with the ATG application assembler, development and standalone. Both types contain all ATG classes needed for the application. The primary difference is in where the configuration files for Nucleus components are stored. In development mode, the application draws its Nucleus configuration information from the ATG installation folders. In standalone mode, the application stores its configuration in the EAR file itself.

             The main differences between development-mode and standalone-mode EAR files are found in the WEB-INF/ATG-INF directory of the atg_bootstrap.war J2EE module. In this directory, both types of EAR files have a file called dynamo.env, which defines Dynamo environment properties. In a development-mode EAR, the dynamo.env file contains the following entry, which tells the application to get its configuration from the .properties and XML files in the ATG installation :  atg.dynamo.use-install=true. So in development-mode you can make configuration changes without having to rebuild the EAR file.



Comments

  1. very good explanation...Thanks ..Thomas

    ReplyDelete
  2. Great information for starters. I appreciate you work for us. Thanks a lot!

    ReplyDelete
  3. Really Good explanation Mr.Thomas. Thanks

    ReplyDelete

Post a Comment

Popular posts from this blog

ATG - basic concepts of ATG

This blog is for the ATG beginners to get some basic overview about ATG. I just given the ATG concepts as a list of numbered points for the ease of understanding. 1. At the framework level, ATG is a               java based application platform for hosting web-based applications, as well as RMI accessible business components,               with an ORM layer,               a component container,               an MVC framework,               and a set of tag libraries for JSP. 2. Art Technology Group(ATG)'s Dynamo Application Server (DAS) is a Java EE compliant application server. DAS is no longer actively developed as ATG recommends using other Java EE applications servers for its products such as BEA WebLogic, JBoss or IBM WebSphere. 3. Prior to ATG 2007, JHTML was used instead of JSP for view purpose. J...

Search Facets - how to create a new search facets in ATG Search

A Facet is a search refinement element that corresponds to a property of a commerce item type. ATG supports the search result refinement using the Faceted Search concept. Read more about facted search @  http://en.wikipedia.org/wiki/Faceted_search . Facet can either be ranges or specific values. Each facet is stored in the RefinementRepository as a separate refineElement repository item. Facets are divided into Global and Local facets. Global facets apply to all the categories and local facets only to the category in which they are created. For example Price/Brand can be considered as the facets that are common for all skus and New Release/Coming Soon can be considered as the facets that are specific to Physical Media products like Vidoe/DVD/Blue-ray/Books. We can use the ATG BCC - Merchandising UI to create facets. The Faceting Property depends on the meta-properties defined in the \atg\commerce\search\product-catalog-output-config.xml ( the def...

How to convert your Blogger Blog to PDF ?

You can use a website called "blogbooker" @  http://www.blogbooker.com/blogger.php   to convert your Blogger Blog to a PDF . Please find the steps below : 1. Save your blog as an xml using Blogger Settings - Other - Export Blog option 2. Go to the website " http://www.blogbooker.com/blogger.php " and select this XML , give your blog address and select the options like date range, page size, font, ... 3. Click the  "Create Your BlogBook" button to view and save your blog as PDF

Good features of Eclipse3.5 (Eclipse Galileo) JDT

This blog will list down the new features of Eclipse Galileo JDT. I will write another blog regarding the features of Eclipse Helios and Eclipse Indigo. Read about Eclipse Helios features @  http://tips4ufromsony.blogspot.com/2011/11/good-features-of-eclipse-36-eclipse.html ========================================================== 1. Toggle Breadcrumb —> Will list the name of the file and the method name with respect to your cursor position , on the top of the Eclipse IDE. From here you can go to other methods, other classes in same package , …. Screen shot of Toggle Breadcrumb: ========================================================== 2. From the method call , you can either go to declaration or to implementation Screen shot of implementation call: ========================================================== 3. Advanced Open Type –> You can restrict the open type to a selected Working set only. Screen shot of Advanced Open Type: ==========...

ATG and XML File Combination

              An XML file might appear at several points in the CONFIGPATH. The ATG platform, at runtime,   automatically combines all the XML files in the CONFIGPATH with the same name into a single composite file, which is then used by the appropriate component.               XML files are combined one tag at a time: in other words, tags are matched up, and the combination rules are applied to each pair of matched tags. XML file combination is controlled with an XML attribute named xml-combine. This attribute is used only in the preprocessing stage of XML file combination. The xml-combine attribute can have the following values: xml-combine = "replace" xml-combine = "remove" xml-combine = "append" xml-combine = "append-without-matching" -->  This is the same as  xml-combine="append" , except that embedded tags are not matched and combined recursively. The content is simply appended. ...