Hybris

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 6

BaseStore and BaseSite is many-to-many.

types of Pages in Hybris :-


============================
1) Content Page
2) Catalog Page
3) Product Page
4) Category Page

Types of Restrictions in Hybris :-


==================================

1) Campaign Restriction
2) CMSCatalog estriction
3) CMSProductRestriction
4) CMSTimeRestriction
5) CMSUserRestriction
6) CMSUserGroupRestriction
7) CMSCategoryRestriction

Types of Components in Hybris:


=============================
1) SimpleCMSComponent
-> CMSImageComponent
-> CMSParagraphComponent
-> CMSLinkComponent
CMSNagivationNode
CMSNavigationEntry

BaseStore :-
==============
1) list of Catalogs
2) List of Base Sites
3) default Currency and language
4) order - process code
5) Delivery Modes
6)

CMSSITE:-
==========
2) Many Base Stores (Must be assigned at least one store)
3) catalogs

A CMSSite must be assigned to at least one BaseStore, which defines the product and
classification catalogs for this store. The catalogs are also part of the CMSSite,
therefore only products and classification attributes of the assigned catalogs can
be accessed in this CMSSite instance.

2) List Of content Catalogs


3) Defaultcatalg(if site contains more than one product catalog then only its
mandatory
4) startpage( startpage of website(generally homepage is true)

ContentCatalog:-
==============
1) many CMSsites
2) sub nd super catalogs

ATP – Available to promise. - ATP formula

Essential Data :-
================
1) Basic Users like admin and access rights
2) Basic email temples
3) Currency && languages '
4) media formats

project data (Initial data)


=============================
Store and Site-Setup

Catalogs

Initial CMS-Content (mainly Pages and Stuff that the customer initially wanted to
be ImpExed)

Sample data :-
====================
Dummy producs stocks

Stock Vs warehouse :-

Warehouse to Stock - > one - many


warehouse -> bas

How to add Attribute to registration Page


===========================================
1) Write Attribute related form in Jsp(register.tag)

2) registerPage Controller

Add your addtribute to RegisterForm and as well to Registerdata

3) Populate Register form values to regiterdata

4) DefaultCustomerFacade setCommonPropertiesForRegister
5) In service class its already saved to customer object

Checkout Steps:-
================

Checkout step contains 4 main things


1) Checkout group
2) Checkoutsetp Validator
3) Transitions
3) ProgressBarId(unique id for each checkout step )''

<!-- checkout step definintion -->


<alias name="defaultResponsiveDeliveryAddressCheckoutStep"
alias="responsiveDeliveryAddressCheckoutStep" />
<bean id="defaultResponsiveDeliveryAddressCheckoutStep" parent="checkoutStep">
<property name="checkoutGroup" ref="responsiveCheckoutGroup"/>
<property name="checkoutStepValidator"
ref="defaultResponsiveDeliveryAddressCheckoutValidator"/>
<property name="transitions">
<map merge="true">
<entry key="previous" value-ref="REDIRECT_TO_CART"/>
<entry key="current" value-ref="REDIRECT_TO_DELIVERY_ADDRESS"/>
<entry key="next" value-ref="REDIRECT_TO_DELIVERY_METHOD"/>
</map>
</property>
<property name="progressBarId" value="deliveryAddress"/>
</bean>

Implement Checkoutstep Controller that should extends


AbstractcheckoutstepController and override enterstep,next,previous and
getCheckoutstep()

And we will all checkout steps to checkoutgrop and we will provide that
checkoutgroup id in basestore.

Checkout process:
1) First it will call checkoutcontroller and /checout method and iternally it
redirects /checkout/multi

2) Checkout Step object id : responsiveDeliveryAddressCheckoutStep


Checkout Step Controller : DeliveryAddressCheckoutStepController
URL Mapping : /checkout/multi/delivery-address
Checkout Step View : pages/checkout/multi/addEditDeliveryAddressPage.jsp

3) Checkout Step object id : responsiveDeliveryMethodCheckoutStep


Checkout Step Controller : DeliveryMethodCheckoutStepController
URL Mapping : /checkout/multi/delivery-method
Checkout Step View : pages/checkout/multi/chooseDeliveryMethodPage.jsp

4) Checkout Step object id : responsivePaymentMethodCheckoutStep


Checkout Step Controller : PaymentMethodCheckoutStepController
URL Mapping : /checkout/multi/payment-method
Checkout Step View : pages/checkout/multi/addPaymentMethodPage.jsp

5) Checkout Step object id : responsiveSummaryCheckoutStep


Checkout Step Controller : SummaryCheckoutStepController
URL Mapping : /checkout/multi/summary
Checkout Step View : pages/checkout/multi/checkoutSummaryPage.jsp

SolrFacetSearchConfigModel.languages
User Modelling:-
==================
Principal -> User Model -> Customer Model
Employe Model

Q) How to add another product option and configural Populator?

<enum class="de.hybris.platform.commercefacades.product.ProductOption">
<value>VIDEO</value>
</enum>

<alias name=”videoProductConfiguredPopulator” alias=”productConfiguredPopulator”/>


<bean id=”myProductConfiguredPopulator” parent=”defaultProductConfiguredPopulator”>
<property name=”populators”>
<map key-type=”com.myproject.facades.product.MyProductOption” merge=”true”>
<entry key=”Video” value-ref=”videoOptionPopulator”/>
</map>
</property>
</bean>

How to disable OOTB interceptors


=================================

final Map<String, Object> params =


ImmutableMap.of(InterceptorExecutionPolicy.DISABLED_INTERCEPTOR_TYPES,

ImmutableSet.of(InterceptorExecutionPolicy.InterceptorType.VALIDATE));
sessionService.executeInLocalViewWithParams(params, new SessionExecutionBody()
{
@Override
public void executeWithoutResult()
{
final CurrencyModel currency = modelService.create(CurrencyModel.class);
currency.setSymbol("$");
currency.setIsocode("Dollar");
currency.setDigits(-1);

modelService.save(currency); // save successful - all validate


interceptors are disabled
}
});

INSERT_UPDATE
Currency[disable.interceptor.beans='validateCurrencyDataInterceptor'];isocode[uniqu
e=true];symbol;digits;
;EUR_Test;$;-2;

Some of B2B users groups :


==========================
B2BCustomerGroup
B2BApproverGroup
B2BManagergroup
B2BAdmingroup
B2BPermissiongroup

Employee:=

B2BRegistrationApprover

B2BUnit :
=========

ParentB2BUnit ( root B2BUnit for all)

Approvers ( Approves Orders of their employees)

Many B2BuserGroups

B2BOrder :-
===========

B2BCustomer
OrderStatus(check B2B specific order status)
B2BComment

B2BCustomer:-
===========

B2B Customer should assiged to B2BUnit and B2BGroup

B2B Specific CronJobs:-


=======================

B2B Escalation Cronjob( Notify pending Order Approvals)

B2B Permission:-
==============
it will check order needs any approval or not

Ex : B2BApproveOrderPermission
B2BBudgetExceededPermission

Hirachichy of B2Bunit:-

PrincipalModel -> PricipalgroupModel -> UserGroupmodel ->


Companymodel -> OrgUnitModel -> B2BUnitModel

B2BCustomerGroup Specific parameters :-


======================================

B2BCustomerGroup is chaild of usergroup


Unit , Permissions

You might also like