segunda-feira, 13 de julho de 2015

Mapping types of ATG repository

The mapping a repository is very important in a database design, because if it is not done correctly, you may not be able to set-up your repository XML correctly, and if this is not done, you'll never be able to figure out what went wrong, or why your repository is functioning properly. Let us pick up various mapping topics and learn when to use them.

Another references about ATG

During my research to solve problems or get content for our blog ATG, some sites/blogs caught my attention and deserved to be saved for future reference.

Below are being sharing a list of links collected with good contents about ATG:

quarta-feira, 8 de julho de 2015

Basic concepts about ATG.

This post is for the ATG beginners to get some basic overview about ATG.

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.


sexta-feira, 3 de julho de 2015

RQL - Repository Query Language

Repository Query Language


DAF provides a generic language for formulating queries. Because these queries must map to any repository implementation, the queries cannot be expressed in terms of any one back-end implementation (such as SQL or LDAP query syntax). Instead, the queries must be expressed in Repository Query Language (RQL), and the individual repository connectors are responsible for translating those queries into the query syntax expected by the underlying data store.

quarta-feira, 1 de julho de 2015

FormHandlers ATG

What is Formhandler?


In many web applications users input are taken from the forms. A form may need to handle user input in a variety of formats, check input for validity, handle errors, and pass input to a servlet for processing or to a database for storage.  ATG java classes that process these forms are none other than Formhandlers.

A Formhandler is just like any other component. They can exist out-of-the box, and can be used as-is OR they can be extended like any other component OR they can be created right from scratch.

To start with, formhandlers mostly are of "request" scope as we dont want our form-data to be manipulated multiple times. If our formhandler's scope is session or global, our submitted form data can be modified within a session or globally by any user worldwide.

A form handler class must include one or more handler methods. A handler method is typically invoked when the user clicks the submit button, and handles the processing of the form. Depending on the purpose of the form handler, it can have several different handler methods that each perform a different operation.

segunda-feira, 29 de junho de 2015

XML Files 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.
    When two files are matched up, the way that they are combined is defined by an extra attribute that is specified in file 2 called xml-combine. This attribute is used only to specify how the files are combined, and is removed before the resulting file is generated. The xml-combine attribute can have the following values:

  • xml-combine="replace"
  • xml-combine="remove"
  • xml-combine="append"
  • xml-combine="append-without-matching"
  • xml-combine="prepend"
  • xml-combine="prepend-without-matching"

quinta-feira, 25 de junho de 2015

Product Catalog Database Diagram

    Devido a baixa cobertura da documentação Oracle ATG e a grande quantidades de tabelas no banco de dados, há uma certa dificuldade em visualizar graficamente as relações entre as entidades.
    Para melhor entendimento do relacionamento entre as tabelas, segue abaixo três imagens do diagrama de entidade relacional do Catalogo de Produtos.

English version:   
    Due to low coverage of Oracle ATG documentation and the large amounts of tables in database, there is some difficulty in graphically display the relationships between entities.
    For a better understanding of the relationship between the tables, see below three pictures of the Product Catalog entity relational diagram.

Order Database Diagram

    Devido a baixa cobertura da documentação Oracle ATG e a grande quantidades de tabelas no banco de dados, há uma certa dificuldade em visualizar graficamente as relações entre as entidades.
    Para melhor entendimento do relacionamento entre as tabelas, segue abaixo duas imagens do diagrama de entidade relacional da Ordem.

English version:  
    Due to low coverage of Oracle ATG documentation and the large amounts of tables in database, there is some difficulty in graphically display the relationships between entities.
    For a better understanding of the relationship between the tables, see below two pictures of the Order entity relational diagram.

User Profile Database Diagram

    Devido a baixa cobertura da documentação Oracle ATG e a grande quantidades de tabelas no banco de dados, há uma certa dificuldade em visualizar graficamente as relações entre as entidades.
    Para melhor entendimento do relacionamento entre as tabelas, segue abaixo uma imagem do diagrama de entidade relacional do Perfil do Usuário.

English version:    
    Due to low coverage of Oracle ATG documentation and the large amounts of tables in database, there is some difficulty in graphically display the relationships between entities.
    For a better understanding of the relationship between the tables, see below a picture of the User Profile entity relational diagram.

sexta-feira, 19 de junho de 2015

Oracle Commerce

History


We already have in our blog about Oracle Commerce history. You can check by accessing the post ATG Web Commerce History.

Overview


Deliver Personalized and Optimized Experiences.
Innovate as the market changes and expand quickly and easily to new touchpoints and geographies.
  • Provides a proven, scalable, modern platform, business-user control, and omnichannel support.
  • Empowers marketers and merchants to manage omnichannel experiences, personalization, search and navigation, promotions, content, and more.
  • Enables the rapid launch of sites for new brands, markets, and even single-purpose campaigns.
  • Easily expands internationally to target new geographies and segments more effectively.
  • Includes B2B and B2C modules to better support different business and selling models.

quinta-feira, 18 de junho de 2015

ATG Droplet List


Class Name

Component
Function
atg.droplet.BeanProperty

/atg/dynamo/droplet/BeanProperty
Sets any property value by dynamically specifying the property and value to update
atg.droplet.Cache

/atg/dynamo/droplet/Cache
Caches content that changes infrequently
atg.droplet.Compare

/atg/dynamo/droplet/Compare
Displays one of a set of possible outputs, depending on the relative value of its two input parameters
atg.droplet.CurrencyConversionFormatter

/atg/dynamo/droplet/CurrencyConversionFormatter
Displays a numeric value as a currency amount, and converts a value from one currency to another, formatting it based on the locale
atg.droplet.CurrencyFormatter

/atg/dynamo/droplet/CurrencyFormatter
Displays a numeric value as a currency amount, formatting it based on the locale
atg.droplet.ErrorMessageForEach

/atg/dynamo/droplet/ErrorMessageForEach /atg/userprofiling/ProfileErrorMessageForEach /atg/demo/QuincyFunds/FormHandlers/RepositoryErrorMessageForEach
Displays error messages that occur during a form submission
atg.droplet.For

/atg/dynamo/droplet/For
Displays a single output the number of times specified
atg.droplet.ForEach

/atg/dynamo/droplet/ForEach
Displays each element of an array
atg.droplet.Format

/atg/dynamo/droplet/Format
Displays one or more text values, formatting them based on locale
atg.droplet.IsEmpty

/atg/dynamo/droplet/IsEmpty
Displays one of two possible outputs, depending on whether its input parameter is empty
atg.droplet.IsNull

/atg/dynamo/droplet/IsNull
Displays one of two possible outputs, depending on whether its input parameter is null
atg.droplet.ProtocolChange

/atg/dynamo/droplet/ProtocolChange
Enables switching between http and https protocols
atg.droplet.Range

/atg/dynamo/droplet/Range
Displays a subset of the elements of an array
atg.droplet.Redirect

/atg/dynamo/droplet/Redirect
Redirects the user to the specified page
atg.droplet.Switch

/atg/dynamo/droplet/Switch
Displays one of a set of possible outputs, depending on the value of its input parameter
atg.droplet.TableForEach

/atg/dynamo/droplet/TableForEach
Displays each element of an array, arranging the output in a two-dimensional format
atg.droplet.TableRange

/atg/dynamo/droplet/TableRange
Displays a subset of the elements of an array, arranging the output in a two-dimensional format

quarta-feira, 17 de junho de 2015

DSP Tag Libraries

       The DSP tag library lets you work with Nucleus components and other dynamic elements in your JSPs. DSP library tags support both runtime expressions, such as references to scripting variables, and the JSTL Expression Language (EL) elements, which also evaluated at runtime.
       DSP tag names and attributes that have equivalent names in HTML, JSP, or WML typically replicate the functionality of the corresponding tag while providing extra functionality. One exception applies: the  iclass  attribute is used in place of the class attribute to avoid using a standard method name in Java code.

See tags table below...


Quick Tutorial to How to Create a Custom Droplet


In this quick tutorial we'll learn how to create a custom droplet and invoke it in jsp


1- First create a new class that extends atg.servlet.DynamoServlet. You may place it inside a specific package for droplets, like: com.atgendecabr.droplet, so you keep things more organized.

quarta-feira, 4 de março de 2015

ATG Web Commerce History

O ATG, or Art Technology Group, began as a independent enterprise specialized in e-commerce applications. It was founded  by Jeet Singh and Joseph Chung in 1991.


Nucleus: Conhecendo a ferramenta. / Nucleus: Inside the tool.

Nucleus: Conhecendo a ferramenta.


Neste breve artigo será apresentada uma explicação sobre o funcionamento e o ciclo de vida do nucleus, outros artigos mais específicos serão criados de modo a abordar determinadas funcionalidades do modelo.

A ferramenta nucleus é uma parte muito importante do sistema ATG (Art technology Group ou Oracle commerce), com ela é possível criar componentes, inicializa-los e também passar parâmetros. O nucleus controla o ciclo de vida de todos os componentes da aplicação por meio de um arquivo de configuração que vamos entender como funciona abaixo.

terça-feira, 3 de março de 2015

Nosso Objetivo

Já notou como é difícil encontrar artigos e tutoriais sobre nossos amados ATG e Endeca?
Pois foi pensando exatamente nisso que decidimos criar este blog, através do qual transmitiremos todo o conhecimento adquirido, além de vários tutoriais e boas práticas.

Contamos com a ajuda e sugestões de vocês nos nossos comentários. :)

segunda-feira, 2 de março de 2015

Endeca 11.1.0 Installation and Configuration

Before starting, it is a good practice to set a hostname to the machine and configuring it in the /etc/hosts machine. In this example the hostname is defined as ‘endeca’.

You need to download the installers at http://edelivery.oracle.com. In the box ‘Select a Product Pack’ chose Oracle Endeca and in platform choose Linux x86 , to systems of 32 bits or Linux x86-64 to systems of 64 bits. Click in ‘Go’. Select ‘Oracle Commerce (11.1.0), Linux’ and make the download of the following installers:

Oracle Commerce MDEX Engine 6.5.1 for Linux
Oracle Commerce Content Acquisition System 11.1 for Linux
Oracle Commerce Experience Manager Tools and Frameworks 11.1 for Linux
Oracle Commerce Guided Search Platform Services 11.1 for Linux