↓ Skip to main content

Atg

ATG Development using 'hidden' VM

·699 words·4 mins
Brief description of my latest setup I use for CPL and LCH - in case I forget it or somebody wants to replicate it. Inspiration for the setup came from https://www.youtube.com/watch?feature=player_embedded&v=cPt_1Vga-Nk Motivation - issues with VMs # VMs are great - they allow “packaged” dev environment and quick start for the new member of the team. Start a VM on local or remote host, connect with VNC or Remote Desktop and you are in business.

ATG Repository item linking and versioned repos

·632 words·3 mins
We have versioned repository ClientProvinceRepository that defines discount types based on account category pricelist and accounts - discountTypePriceList => (let’s not start discussion why this is not part of the pricelists). The item definition: <item-descriptor name="discountTypePriceList" display-name="Discount Type Price List" item-cache-size="1000" query-cache-size="1000" display-property="discountType"> <table name="CPLXB2B_DISCOUNT_PRICE_LIST" type="primary" id-column-name="DISCOUNT_PRICELIST_ID" > <property name="discountType" data-type="enumerated" column-name="DISCOUNT_TYPE" default="Base" queryable="true" category="Discount Price List" display-name="Discount Type" > <attribute name="useCodeForValue" value="false"/> <option value="Base" code="0"/> <option value="Silver" code="1"/> <option value="Gold" code="2"/> <option value="Platinum" code="3"/> </property> <property name="priceListId" column-name="PRICE_LIST_ID" repository="/atg/commerce/pricing/priceLists/PriceLists" item-type="priceList" display-name="List Price List" required="true" category="Discount Price List"/> <property name="salePriceListId" column-name="SALE_PRICE_LIST_ID" repository="/atg/commerce/pricing/priceLists/PriceLists" item-type="priceList" display-name="Sale Price List" category="Discount Price List"/> <property name="startDate" column-name="START_DATE" data-type="timestamp" display-name="Start Date" category="Discount Price List"/> <property name="endDate" column-name="END_DATE" data-type="timestamp" display-name="End Date" category="Discount Price List"/> </table> </item-descriptor> When I tried deployment with this, I got error

ATG module graph

Notes from weekend hack: # Project is in Bitbucket - https://bitbucket.org/miroadamy/atgdiagram/overview Run # in Diagrams/ATGDiagram Radegast:ATGDiagram miro$ groovy -cp src src/listATGModules.groovy -e -m TWeStore.eStore >uml/test2.uml Radegast:ATGDiagram miro$ ./processUml.sh uml/test2.uml Radegast:ATGDiagram miro$ open uml/test2.png Radegast:ATGDiagram miro$ => Output test2.uml the ‘.’ in names is converted to ‘_’ - GraphViz does not like it the ‘-’ in names detto Using ATG_ROOT from environment variable $ATG_ROOT: /opt/ATG/ATG10.0.2 Using /opt/ATG/ATG10.0.2 installation Dependants of module TWeStore.eStore => [DCS.Search.Query, B2CCommerce, DAF.Search.Query, DAF.Search.Base, DCS.Search.common, DPS.Search.Index, DAF.Search.common, DAS-UI, DCS.Search.Index, DPS, DCS, DCS.Search.CustomCatalogs, DCS.Search.CustomCatalogs.Query, DCS.Search.CustomCatalogs.Index, DAF.Search.Routing, DCS.Search.CustomCatalogs.common, DAF.Search.Index, DSS, DCS.CustomCatalogs, DAS] @startuml Object TWeStore_eStore Object DCS Object B2CCommerce Object DCS_Search_CustomCatalogs Object DAF_Search_Routing Object DCS_CustomCatalogs Object DPS Object DCS_Search_CustomCatalogs_Query Object DAF_Search_Base Object DCS_Search_CustomCatalogs_Index Object DSS Object DAS_UI Object DCS_Search_Query Object DCS_Search_CustomCatalogs_common Object DAS Object DCS_Search_Index Object DAF_Search_Query Object DCS_Search_common Object DPS_Search_Index Object DAF_Search_Index Object DAF_Search_common TWeStore_eStore <|-- DCS TWeStore_eStore <|-- DCS_CustomCatalogs TWeStore_eStore <|-- B2CCommerce TWeStore_eStore <|-- DCS_Search_CustomCatalogs TWeStore_eStore <|-- DAF_Search_Routing DCS <|-- DPS DCS <|-- DSS B2CCommerce <|-- DCS DCS_Search_CustomCatalogs <|-- DCS_Search_CustomCatalogs_Index DCS_Search_CustomCatalogs <|-- DCS_Search_CustomCatalogs_Query DAF_Search_Routing <|-- DAS_UI DAF_Search_Routing <|-- DAF_Search_Base DCS_CustomCatalogs <|-- DCS DPS <|-- DAS DCS_Search_CustomCatalogs_Query <|-- DCS_Search_Query DCS_Search_CustomCatalogs_Query <|-- DCS_Search_CustomCatalogs_common DAF_Search_Base <|-- DAS_UI DCS_Search_CustomCatalogs_Index <|-- DCS_Search_Index DCS_Search_CustomCatalogs_Index <|-- DCS_Search_CustomCatalogs_common DSS <|-- DPS DAS_UI <|-- DAS DCS_Search_Query <|-- DAF_Search_Query DCS_Search_Query <|-- DCS_Search_common DCS_Search_Query <|-- DCS DCS_Search_CustomCatalogs_common <|-- DCS_Search_common DCS_Search_CustomCatalogs_common <|-- DCS_CustomCatalogs DCS_Search_Index <|-- DPS_Search_Index DCS_Search_Index <|-- DCS_Search_common DCS_Search_Index <|-- DCS DAF_Search_Query <|-- DAF_Search_common DCS_Search_common <|-- DAF_Search_common DCS_Search_common <|-- DCS DPS_Search_Index <|-- DPS DPS_Search_Index <|-- DAF_Search_Index DAF_Search_Index <|-- DAS_UI DAF_Search_Index <|-- DAF_Search_Base DAF_Search_common <|-- DAS_UI DAF_Search_common <|-- DAF_Search_Base DAF_Search_common <|-- DAF_Search_Routing @enduml Visualization (uml/test2.png) #

It's alive !

·549 words·3 mins
I was aching to blog about this since December 18th, when our system quietly and gently slipped into public visibility. Marked as Beta (thanks, Google for making this a legitimate way how to go live) it comfortably made it through Christmas shopping season into 2009. Now when the site has been announced and mentioned few times in the media, I guess it's OK to mention it here too. What is "it" ? A new, fresh eCommerce site selling music. A lots of really good music. Without any DRM or any other nonsense, as plain good high quality (mostly 320 kps) MP3's. The selection is actually very good - starting from several hundred thousands in December to several few million songs when full catalog is loaded. More great music being added every week.

Installing ATG on Fedora Core

·219 words·2 mins
Trying to install ATG on the Linux platform turned out to be not completely hickup-free. The default installer died with the following message: $ ./ATG2007.1.bin> Preparing to install...> Extracting the installation resources from the installer archive...> Configuring the installer for this system's environment...> awk: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory> dirname: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory> /bin/ls: error while loading shared libraries: librt.so.1: cannot open shared object file: No such file or directory> basename: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory> dirname: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory> basename: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory[/sourcecode]> Fortunately, the fix was easy after I found out what went wrong: incorrect assumption about kernel version. To make it work, this "hack" helped:> [sourcecode language='css']> $ mv ATG2007.1.bin ATG2007.1.bin.orig> $ cat ATG2007.1.bin.orig | sed "s/export LD_ASSUME_KERNEL/#xport LD_ASSUME_KERNEL/" &gt;ATG2007-1.bin None of this of course happens on Windows - oh, yes - the joys of not swimming with the crowd :-). You will encounter issues otherwise unknown - but also learn something in the process.