What is the difference in Extension & Add Ons in Hybris

raj picture raj · Oct 24, 2015 · Viewed 11.5k times · Source

I suppose Default Extension can Encapsulate Business Logic, Type Definitions, Configurations & Add Ons.

I Know that Add On is Also a Type Of Extensions that Extend Normal Extensions.

I further know that Add Ons Extend Functionality without Touching CODE Base.

Any Inputs from Hybris Experts Highly Appreciated.

Answer

Free-Minded picture Free-Minded · Oct 25, 2015

An extension is an encapsulated piece of the Hybris Commerce Suite that can contain business logic, type definitions, a web application, or Hybris Management Console(hMC) configuration.

Hybris shipped with number of extension templates eg yempty, yaddon, ycockpit, ybackoffice and ycommercewebservices.

Addon is also a kind of extension which is generally used to extend Accelerator StoreFront functionality. For example, suppose you want to create a new CMS component and want to use it in your storefront but you don't want to touch the code base then the best way is to create an addon.

A normal extension doesn't need to install but addon needs to. It means if you are creating an addon, you need to install it in your existing storefront template.

ant addoninstall -Daddonnames="customaddon"  -DaddonStorefront.yacceleratorstorefront="customstorefront"

This will insert the dependency between customstorefront and customaddon in the storefront extensioninfo.xml file as well as provide the additional web-spring.xml configs defined in the customaddon's project.properties. A build callback will now copy the web application content to the storefront.

After ant all, you should find the view JSP duplicated to customstorefront /web/webroot/WEB-INF/views/addons/customaddon/desktop/cms.

This way you can customize accelerator storefront without touching the actual one.