↓ Skip to main content

ECommerce

Reference Architecture as a Code

Many shapes of Architecture # According to the wise people, an architecture is the shared understanding that the expert developers/system builders/maintainers have of the system design. It’s purpose is to maximize the probability that the decisions you have to make early in a project are the right ones. It is sort of a blueprint for the future system and captures parts, relations, boundaries, constraints.

ATG Module Diagram Generator

·302 words·2 mins
I have found local clone of this repo while cleaning up the disk. The source was originally residing in private repo on Bitbucket which I moved to GitHub: https://github.com/miroadamy/atgdiagram What it does # Groovy scripts: https://github.com/miroadamy/atgdiagram/blob/master/src/listATGModules.groovy https://github.com/miroadamy/atgdiagram/blob/master/src/ATGModule.groovy that scan local ATG installation, discover modules and generate the PlantUML file representing it, for example - https://github.com/miroadamy/atgdiagram/blob/master/uml/test2.uml 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 This UML file is the processed by PlantUML

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

Installing and running 'naked' hybris platform

·783 words·4 mins
Installing and running “naked” hybris platform # Log of an exercise to install and start the Hybris without all those fancy modules Starting point: hybris-platform-4.7.1.zip Install point: /opt/hybris-platform/hybris-platform-4.7.1 Start (with HSQLdb) # ~ $ cd /opt/hybris-platform/hybris-platform-4.7.1 hybris-platform-4.7.1 $ cd bin/platform/ platform $ pwd /opt/hybris-platform/hybris-platform-4.7.1/bin/platform platform $ . ./setantenv.sh Setting ant home to: /opt/hybris-platform/hybris-platform-4.7.1/bin/platform/apache-ant-1.8.2 Apache Ant(TM) version 1.8.2 compiled on April 21 2011 platform $ ant clean all | tee ant-clean-all.log => Select develop

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.