Friday, January 27, 2017

Internet explorer + Developer tools + Sig web intergration.

We are trying to intergrate the New Topaz sig web with our ATG application running on Weblogic.

Issues : The UI SIGNATURE capture will works in IE only if Developer tools (  F12 ) is enabled. if not enabled it wont work, especially the below
JS, which has all the required method calls

http://www.sigplusweb.com/SigWebTablet.js

Reason : The above JS has AJAX js  GET request. and IE caches it and then the next request never reaches the
Sigweb engine.

Resolution:

1) Using a unique query string parameter (such as a unix timestamp) on each request,
so as to make each request URL unique, thereby preventing caching.



Why F12 works : Looks like I have  "always refresh from server" option enabled in F12.
Other browsers don't cache Ajax calls, but IE does

Wednesday, July 15, 2015

IVY and JRebel -

I am seeing two very useful tools which can ease your local development setup and build process in your ATG Project.

1. JRebel - automated build, similar to file-sync , plus it will sync up your .java file changes. No need to build your ear after every Java change.
    One build daily, and use JRebel, which will take care of your Java changes. (ie Reload Code Changes Instantly)
    Limitations : ATG properties files changes seems not picking up.

2. Ivy - Ivy is a tool for managing / resolving  project dependencies.(You dont need to worry about adding project to classpath/ creating  userdefined libraries and all ).

Ivy is open source and released under a very permissive Apache License.
JRebel is Licensed.

Friday, November 21, 2014

Setting up Performance Monitor And Testing with HTTPERF

Setting up Performance Monitor: ATG- Endeca Intergration Experience Manager Performance.

A quick write up.


Install Cygwin and install httperf.
https://code.google.com/p/httperf/  -- 

Configure HttPerf in Cygwin. How to ?? Refer below link
http://www.hpl.hp.com/hosted/linux/mail-archives/httperf/2006-August/000291.html  -- this might take some time. Better install all in one shot.[gcc, make …]

Note: If you need to test from your local windows ONLY. [Your can use any Linux/Mac envr if you have httperf installed ]

akg@akg-hp-envy-15-notebook-pc:~$ sudo apt-get install httperf -- from your Unix shell

Enabling Performance Monitoring in your ATG Components

Pre-Check
1. Navigate to /atg/dynamo/admin/en/performance-monitor-config.jhtml
   Make the button Enabled to TIME or MEMORY

2. Click [Reset Data]

3. Hit the URLs over the browser (use httperf for load testing)

   eg : http://myServer.vci.CustomCatriges.com:8710/mybusiness/b/search/?Ntt=iphone&format=json
        http://myServer.vci.CustomCatriges.com:8710/mybusiness/b/search/?Ntt=samsung


4. Navigate to http://<localhost:7001>/dyn/admin/atg/dynamo/admin/en/performance-monitor.jhtml



Enabling Performance Monitor: in your custom catridges, my example below

\CORE\src\com\endeca\infront\cartridge\CustomCatrigesRecordTypeResultsListHandler.java
\CORE\src\com\endeca\infront\cartridge\CustomCatrigesRecordTypeMenuHandler.java
\CORE\src\com\endeca\infront\cartridge\CustomCatrigesRecordTypeResultsListHandler.java

Refer the above classes and cross check those indicators in ATG url in #4.You should be able to see the time in msec.

PerformanceMonitor.startOperation("CustomCatrigesRecordTypeResultsListHandler [preprocess]", "preprocess"); ## Add these indicators - from my code snippet.

PerformanceMonitor.endOperation("CustomCatrigesRecordTypeResultsListHandler [preprocess]", "preprocess");

Also , the ootb components can be cleaned, and compare the Assembler Tools Average execution Time.

    Operation    Number of Executions    Average Execution Time (msec)    Minimum Execution Time (msec)    Maximum Execution Time (msec)    Total Execution Time (msec)
    AssemblerTools: invoke assembler     200                2262     121      7797    452472                /mybusiness/search?q=LG
    CustomCatrigesRecordTypeResultsListHandler [preprocess]     216    0    0    0    0                /mybusiness/search?q=Refurbished



RecordSpotlightConfig.properties
ResultsListConfig.properties"       

Wednesday, October 22, 2014

JSP content redering as it is - Weblogic + ATG 10.2

I have an issue with my ATG store application.
Content of the jsp is written to the browser instead of rendering it.

http://localhost:7001/ourbusiness/b?N=129&Ept=acc
<!-- Result in Browser  -->

<dsp:page>
    <dsp:include page="/global/endeca-helper-component.jsp" />
</dsp:page>

<!-- Result in Browser ENDS  -->


AdminServer.Log is below

odel.Record@7ad68151, com.endeca.infront.cartridge.model.Record@18c42bd8, com.endeca.infront.cartridge.model.Record@771a7e9b, com.endeca.infront.cartridge.model.Record@6c6e2f33, com.endeca.
tridge.model.Record@35dcf4e2, com.endeca.infront.cartridge.model.Record@3d513d0e], precomputedSorts=[]}]}]}]}
**** debug      Tue Oct 21 16:28:27 CDT 2014    1413926907491   /atg/endeca/assembler/AssemblerPipelineServlet  No site base URL found, initializing dispatcher with path: /cartridges/PageSl
.jsp
<Oct 21, 2014 4:28:43 PM CDT> <Info> <Health> <BEA-310002> <176176670f the total memory in the server is free>
Can you please throw some lights to this issue?



Solution :

The below block has been missing in eBiz-CE1‘s Config.xml -Weblogic server and highlighted is a key for an issue as missing . 
<web-app-container>
    <relogin-enabled>false</relogin-enabled>
    <allow-all-roles>false</allow-all-roles>
    <filter-dispatched-requests-enabled>false</filter-dispatched-requests-enabled>
    <overload-protection-enabled>false</overload-protection-enabled>
    <x-powered-by-header-level>SHORT</x-powered-by-header-level>
    <mime-mapping-file>./config/mimemappings.properties</mime-mapping-file>
    <optimistic-serialization>false</optimistic-serialization>
    <rtexprvalue-jsp-param-name>false</rtexprvalue-jsp-param-name>
    <client-cert-proxy-enabled>false</client-cert-proxy-enabled>
    <http-trace-support-enabled>false</http-trace-support-enabled>
    <weblogic-plugin-enabled>true</weblogic-plugin-enabled>
    <auth-cookie-enabled>true</auth-cookie-enabled>
    <wap-enabled>false</wap-enabled>
    <post-timeout-secs>30</post-timeout-secs>
    <max-post-time-secs>-1</max-post-time-secs>
    <max-post-size>-1</max-post-size>
    <work-context-propagation-enabled>true</work-context-propagation-enabled>
    <jsp-compiler-backwards-compatible>false</jsp-compiler-backwards-compatible>
    <show-archived-real-path-enabled>false</show-archived-real-path-enabled>
    <change-session-id-on-authentication>true</change-session-id-on-authentication>
  </web-app-container>



Thanks to Robert Sebastian for the fix:

Friday, August 15, 2014

10.2 BCC showing AmlvmCatFacet.display tab in category

10.2 BCC showing AmlvmCatFacet.display tab in category


Issue: When I am creating a new category  in bcc version atg10.2 , then New there is a tab AmlvmCatFacet.display

Fix : This seems to be an issue with ATG upgrade:

Steps:

Navigate to  :    
        http://<localhost:7001>/dyn/admin/nucleus//atg/web/viewmapping/ViewMappingRepository/
        <remove-item item-descriptor="itemViewMapping" id="AmIvmCatFacet"/>
              Invalidate ViewMappingRepository  Cache

Wednesday, August 13, 2014

ATG- Endeca, how to exclude Child-SKUs from Indexing

I found this solution working..
http://www.spltech.co.uk/blog/atg/excluding-unwanted-skus-from-endeca

Thursday, August 7, 2014

Endeca Manipulators

This feature of Endeca allows you to manipulate/alter/tweak the data which is indexed from
ATG.

Steps:
1. Create the Java manipulators
    -- http://docs.oracle.com/cd/E29587_01/PlatformServices.60x/ps_cadk  /src/rcdk_app_code_java_manip.html

2. Compile it and export to jar(can happen via build)

3.  Edit your exp manager developer studio,
4. Add this in the endeca pipeline process.
5. Trigger Base line indexing.
6. Watch for the "Forge" step, if error it will throw u the error.




########### Sample error Logs
Caused by com.endeca.soleng.eac.toolkit.exception.EacComponentControlException

com.endeca.soleng.eac.toolkit.component.BatchComponent run - Batch component  'Forge' failed. Refer to component
logs in /home/homeuser/ENDECA/endeca/apps/atgsid/./logs/forges/Forge on host ITLHost.



[08.07.14 11:53:55] INFO: Released lock 'update_lock'.

[homeuser@zltv5746 control]$ more /home/homeuser/ENDECA/endeca/apps/atgsid/./logs/forges/Forge/

Edf.Pipeline.RecordPipeline.JavaManipulator.R3_Price_Split_JavaManipulator.log  Forge.start.log

Forge.log

[homeuser@zltv5746 control]$ more /home/homeuser/ENDECA/endeca/apps/atgsid/./logs/forges/Forge/Edf.Pipeline.RecordPipeline.JavaManipulator.R3_Price_Split_JavaManipulator.log

RelativePathFileHandler did not find a system property named endeca.project.dir or an environment variable named ENDECA_PROJECT_DIR. Defaulting to current working directory.

[08.07.14 11:53:53] SEVERE: sku.promoPrice passthrough not specified; aborting



Caused by com.endeca.edf.adapter.AdapterException

com.atg.sid.endeca.pipeline.manipulators.ATGEndecaPriceManipulator execute - sku.promoPrice passthrough not specified; aborting


##########