Author Archives: Keyur Shah

Oracle Commerce Using ATG & Endeca – FREE iBook & PDF

After 2 years of marathon run I was able to complete the self-published book on Oracle Commerce (ATG & Endeca)  which covers both the commerce product installation, configuration, concepts, architecture, and some of the open source tools that you can use such as Vagrant, Elasticsearch, Kibana, Logstash, and Splunk.

This book is absolutely free as my contribution to the industry, colleagues, and the commerce community.

The motivation behind this book is “no books written on the subject” and “the goal to make the journey of beginners as painless as possible”.

Hope this will be useful to not just the beginners but also those who embrace open source tools and technologies along with branded products and services.

Download Link

Also, if you do not own an apple device you can download the PDF version of book from Slideshare using this link


Oracle Commerce – Needs DevOps Culture & Tools


Most of us working on Oracle Commerce (ATG/Endeca) have done the installation & configuration of the platform dozens of times already on our local machines & on server environments. And, I’m sure we hardly would have any exceptions who didn’t experience the steep learning curve. Such is the process with learning enterprise grade products that needs tons of customization before the product is ready to use.


What are the typical challenges we have faced with this mammoth platform and so is applicable to any such platform?

  1. Size of the downloads
  2. Install the operating system of choice (if not already wanting to use Windows)
  3. # of dependencies (Web server, Application server, JDK, IDE tools, plug-ins, source code management integration, database setup, database integration, etc…)
  4. Oracle’s own # of installers based on what you are trying to do with Commerce, Search and experience management
  5. 100s of steps involved in installation of all the products
  6. 100s of steps involved in configuration of the Oracle commerce software & application(s)

Lot of these steps are error-prone for new and experienced users, and could lead to re-installation or re-configuration of some or all parts based on how bad it becomes in the process.


Assuming you have floated new RFQ/RFP for an upcoming project & have picked the vendor to deliver the project OR you have 4-5 new team members joining the team from another project who just finished delivering another project (non-Oracle Commerce & have background of the Oracle Commerce platform).

You want these new members to start working on your project… Do you know how much is the lead time you need to bring these new resources on board and have the right kind of development environment setup?

Let us say it will take anywhere from 3-5 days (if you are lucky) to have all the access to the software, permissions, downloads, install, configure, and get going.

You really do not want these resources to be spending their 1st week on a mammoth of error-prone processes/methods of setting up the development machines.


What can you do about it? How can you cut down the time to start for these new members? How do you work with infrastructure team to make sure you can get these members up and running quickly on the new project? In the matter of minutes to a day – v/s 3-5 days or even more.


One solution to handle this situation is to create a Virtual Machine with all the software, tools, and configuration that you can think of that the developers would need. And, then copy the VM to developers machine and code against the Virtual Machine. Would cut down the get go time for the development team to a great extent. But, you are still looking forward to about a week of time to plan, setup & configure the virtual machine, and test it for stability & reliability.

But, this solution has a potential bottleneck. Once you have a new version out  or an upgrade… you are required to redo the whole exercise again and create a NEW Virtual Machine and make sure it will work for all developers. That’s the downside of this solution otherwise, it should help cut the chase.


Other potential solution is to automate the installation and configuration in such as way that you can repeat the process on numerous systems and overcome the challenge posed in Solution # 1.

This can be achieved using the DevOps software such as Vagrant in combination with VirtualBox and Shell/Puppet/Chef scripts & configuration.

You can find and clone a GitHub project that provides you a complete automated solution to setup a virtual environment with both Oracle Commerce products (ATG and Endeca) including the out-of-the-box CRS – Commerce Reference store.

I’ve set up the Vagrant box project on my Mac and it is painless. It works as expected. The only thing you might want to be careful is do not download the ZIP files on Windows and copy them to Linux or Mac… It was causing the scripts to fail during the installation of Oracle DB.






NOTE: I will create a Slideshare presentation that outlines the entire process (step-by-step) to be able to create an Vagrant Box for Oracle Commerce with CRS.


Oracle Commerce 11.1 – New Training Released

Oracle have recently released 50+ new online training titles. Also, they have released the new training package for Oracle Commerce 11.1.

Currently, the training is designed to cater 3 key areas:

  • Business Users
  • Developers
  • Administrators

I believe there is a strong community sentiment and requirement for having one more area to be added here and that is for Enterprise Architects.

Architecture plays a very important role in the overall design and implementation of out-of-the-box solutions that are made to fit the enterprise business needs.




Endeca Configuration – What can a SPACE do to your deployment?

Early this week we ran into issues where couple of our Endeca applications were giving PAGE not found… and upon looking @ the logs after a bit of struggle – we identified that when we copied and pasted the value for defaultSiteRootPath=/pages  – there was a TRAILING space after pages – which was the primary culprit for throwing the ERROR “NO NODE FOUND [/pages ]”

 If the logs didn’t have [/pages ] (with a trailing blank) – we would probably not have figured it out…

But, the point here is lesson learnt – whenever we copy paste values from PDF, CHAT application, etc… (external tools) into properties files or CODE – we need to be careful with what it can bring (extra line feed, carriage returns, invisible characters)…

Another input for probably the product development team @ Oracle is – why doesn’t the application eliminate all trailing spaces from the properties file automatically – that could have definitely saved us from running into this issue.

After removing the SPACE and bouncing WLS managed servers – the app started working.

MORE LATER… Enjoy reading.


Endeca MDEX Plugin – for New Relic by Spark::red

It has been few weeks since the launch of new plugin released by Spark::red for the Oracle Endeca MDEX engine on New Relic platform.

Here comes the excitement – I’ve already tried and used Splunk APP “Oracle Endeca Guided Search”, hence was wondering what would it be like to see MDEX performance/numbers on New Relic platform.

In order to install the Endeca MDEX Plugin for New Relic – I had to do some reading and research, create an account on New Relic site, Install the plugin on one of my CENTOS boxes (local) and start the journey of trial & error.

Luckily, it was a painless process – since the guide / instructions released by Spark::red are easy to follow (though I made some mistakes initially, but figured it out later).

Here is the link to Spark::red installation instructions

For this test drive, I’ve plugged in the out-of-the-box DISCOVER application running on my CENTOS platform.

Once the plugin was installed and configured – below is what it looked like in New Relic portal.

Click here for HQ Image # 1

Click here for HQ Image # 2


Multi-Channel/Omni Personalization Questionnaire

In this article we are going to look @ series of questions broadly categorized into strategy, implementation, and operations – that can help you understand your organization’s position with respect to personalized customer experience.


  • Is personalization something that is considered important within your organization?
  • Does it have Organizational Leadership commitment?
  • Within your organization, how does personalization affect the ‘customer experience’? Are they related or exclusive of one another?
  • Is personalization viewed as a ‘feature to be implemented in phase X of a given project/program’ or is it considered to be ‘a core philosophy that should be engrained deep within many aspects of customer engagement’?
  • Does your organization have a personalization strategy?
  • Does your organization have a personalization roadmap?
  • Who or which group/dept in the organization is responsible for the personalization strategy?
  • Does the personalization strategy only consider the web or is it equally important across channels (e.g. call center, voice portal, self-service – web/mobile/tablets/kiosks/gaming consoles)?
  • If so, what other channels are involved and in what capacity? For example, is the call center involved? Is there a bi-directional contribution of data or is it one-way?
  • Is the data being captured in centralized sources e.g. data warehouses and fed back into the decision making systems
  • What personalization initiatives have been or are currently implemented?
  • Do you have personalization efforts in play within some of the teams/groups (silo)?
  • If yes, how are these silo’s sharing the data?
  • Do you have real-time touchpoint communication across channels?
  • Personalization initiatives can be defined as well-defined personalization functionality that has been implemented on the site or email campaigns or mailers or call center (i.e. a personalized email campaign or a personalized web campaign).
  • What types of personalization initiatives are you considering for future implementations and how have you determined that they are relevant and will have an impact?
  • What kind of presence does your organization have in social media?
  • Is Social Media a part of your personalization strategy?
  • Have you seen success with any of your initiatives? You might want to outline the type of success – how to you measure it
  • Please describe your best customer (the customer that you aspire to attract, the customer that you aspire to retain).
  • Do you have a loyalty or rewards program? If so, how does this affect your personalization strategy?
  • Do you have gamification playing role in your loyalty program?
  • What tools have you evaluated or considered for modeling and gamification?
  • Do you have programs with the objective of “Mobile First” and/or “Cloud First”?
  • Are those programs tied to personalization programs?


  • Have you engaged any outside agency for your personalization initiatives?
  • Are you focusing on B2C or B2B or both (based on applicability)
  • Is the personalization initiative completely controlled @ home?
  • Are you using any Commerce personalization functionality?
  • What segments (if any) are defined and how did you determine that they are relevant to your site / business?
  • What data within your organization is not currently integrated with your Commerce solution but may prove useful with respect to personalization? Examples could include service history, offline channel purchase history, mobile engagement etc.
  • Do you believe geographic data about visitors to be important? How have you utilized geographic data to personalize the user experience across all touch points with the brand?
  • Do you track user behavior while on the site? Please describe.
  • Do you identify from where the user originated and does it matter? For example, we track that the user came from Google and they searched for the term “XYZ” to get to our site – and then navigated nn pages before actually completing the order.
  • Do you have strategy to contact customers who don’t complete orders on your site?
  • Please describe how content is managed on your site. Do you plan to use any off-the-shelf commerce solutions?
  • Please describe how the content is structured (intended to be open-ended). Hint: is there anything interesting or unique about your content / catalog? Is it volume based? or is it low volume but complex in nature?
  • Are you using any modeling features/tools to further enhance the personalized behavior and experience for your customers?


  • Who in the organization is responsible for the operational aspects of personalization? 
  • What tools are used to manage personalization on the site? 
  • Do you have tools that can help you monitor customer touchpoints and interactions?
  • Do you currently use AB Testing to test the effectiveness of content, initiatives, etc? If so, what AB Testing tools are you using for this?
  • What tools / solutions do you use to measure the effectiveness of personalization initiatives?
  • What are the KPIs that you track?