Contact
Blog provide core concept of Java , J2ee , Struts Framework, Spring, Hibernate, apache ofbiz,Hybris e-commerce suit.Net4.0 framework,Websphere Application Server (WAS), DB2, WSAD and JavaScript. Also covers Tips and Tricks , Codes , Tutorials , Solutions for Developers , latest Interview Questions & Answers
Explain Model in Hybris multi-channel suite ? Define Model in Hybris ?
Model are the way to represents item in Hybris ie. each of item is represented by in Model Class. So Model class is just like POJO class
which contain all item attributes
For every item type after build Hybris framework that create class with suffix Model and configuration file i.e. for product type item model class
will create with name ProductModel
Suppose you have define below item type in items.xml
<itemtype
generate="true"
code="ContactRequest"
jaloclass="de.hybris.springmvcdemo.jalo.ContactRequest"
extends="GenericItem"
autocreate="true"
>
<attributes>
<attribute qualifier="message" type="java.lang.String">
<persistence type="property"/>
</attribute>
</attributes>
</itemtype>
Then generated model class will be
package de.hybris.springmvcdemo.model;
import de.hybris.platform.core.model.ItemModel;
/**
* Generated Model class for type ContactRequest first defined at extension {literal}springmvcdemo{literal}
*/
@SuppressWarnings("all")
public class ContactRequestModel extends ItemModel
{
/** <i>Generated type code constant.</i>*/
public final static String _TYPECODE = "ContactRequest";
/**
* <i>Generated constant</i> - Attribute key of <code>ContactRequest.message</code> attribute defined
* at extension <code>springmvcdemo</code>.
*/
public static final String MESSAGE = "message";
/** <i>Generated variable</i> - Variable of <code>ContactRequest.message</code> attribute defined
* at extension <code>springmvcdemo</code>.
*/
private String _message;
/**
* <i>Generated constructor</i> - for all mandatory attributes.
* @deprecated Since 4.1.1 Please use the default constructor without parameters
*/
@Deprecated
public ContactRequestModel()
{
super();
}
/**
* <i>Generated constructor</i> - for all mandatory and initial attributes.
* @deprecated Since 4.1.1 Please use the default constructor without parameters
* @param _owner initial attribute declared by type <code>Item</code> at extension <code>core</code>
*/
@Deprecated
public ContactRequestModel(final ItemModel _owner)
{
super(
_owner
);
}
/**
* <i>Generated method</i> - Getter of the <code>ContactRequest.message</code> attribute defined
* at extension <code>springmvcdemo</core>.
* @return the message
*/
public String getMessage()
{
if( !isAttributeLoaded(MESSAGE))
{
this._message = getAttributeProvider() == null ? null : (String) getAttributeProvider().getAttribute(MESSAGE);
getValueHistory().loadOriginalValue(MESSAGE, this._message);
}
throwLoadingError(MESSAGE);
return this._message;
}
/**
* <i>Generated method</i> - Setter of <code>ContactRequest.message</code> attribute defined
* at extension <code>springmvcdemo</code>.
*
* @param value the message
*/
public void setMessage(final String value)
{
this._message = value;
markDirty(MESSAGE);
}
}
which contain all item attributes
For every item type after build Hybris framework that create class with suffix Model and configuration file i.e. for product type item model class
will create with name ProductModel
Suppose you have define below item type in items.xml
<itemtype
generate="true"
code="ContactRequest"
jaloclass="de.hybris.springmvcdemo.jalo.ContactRequest"
extends="GenericItem"
autocreate="true"
>
<attributes>
<attribute qualifier="message" type="java.lang.String">
<persistence type="property"/>
</attribute>
</attributes>
</itemtype>
Then generated model class will be
package de.hybris.springmvcdemo.model;
import de.hybris.platform.core.model.ItemModel;
/**
* Generated Model class for type ContactRequest first defined at extension {literal}springmvcdemo{literal}
*/
@SuppressWarnings("all")
public class ContactRequestModel extends ItemModel
{
/** <i>Generated type code constant.</i>*/
public final static String _TYPECODE = "ContactRequest";
/**
* <i>Generated constant</i> - Attribute key of <code>ContactRequest.message</code> attribute defined
* at extension <code>springmvcdemo</code>.
*/
public static final String MESSAGE = "message";
/** <i>Generated variable</i> - Variable of <code>ContactRequest.message</code> attribute defined
* at extension <code>springmvcdemo</code>.
*/
private String _message;
/**
* <i>Generated constructor</i> - for all mandatory attributes.
* @deprecated Since 4.1.1 Please use the default constructor without parameters
*/
@Deprecated
public ContactRequestModel()
{
super();
}
/**
* <i>Generated constructor</i> - for all mandatory and initial attributes.
* @deprecated Since 4.1.1 Please use the default constructor without parameters
* @param _owner initial attribute declared by type <code>Item</code> at extension <code>core</code>
*/
@Deprecated
public ContactRequestModel(final ItemModel _owner)
{
super(
_owner
);
}
/**
* <i>Generated method</i> - Getter of the <code>ContactRequest.message</code> attribute defined
* at extension <code>springmvcdemo</core>.
* @return the message
*/
public String getMessage()
{
if( !isAttributeLoaded(MESSAGE))
{
this._message = getAttributeProvider() == null ? null : (String) getAttributeProvider().getAttribute(MESSAGE);
getValueHistory().loadOriginalValue(MESSAGE, this._message);
}
throwLoadingError(MESSAGE);
return this._message;
}
/**
* <i>Generated method</i> - Setter of <code>ContactRequest.message</code> attribute defined
* at extension <code>springmvcdemo</code>.
*
* @param value the message
*/
public void setMessage(final String value)
{
this._message = value;
markDirty(MESSAGE);
}
}
Explain Service layer in Hybris multi-channel Suite? what is service layer ?
Service layer is interface implemented class which is abstract from persistence layer which contain function logic and no-persistence related code
So when you writing any service layer make sure that it should loosely coupled with persistence layer as possible .
Hybris multichannel suite expose all functionality in ther form of service
1. Bussiness Service- service such as cart handling , Back order etc
2. Infrastructure service - service such as internationalization, export service, import service
3. System service - such as model handling , session handling.
Service layer has interacted with persistence layer via DAO layer and the through using Model it has interacted with service layer and DAO has interacted with
persistence layer through Flexible search and SQL statement.
Freelancer developer : Apache ofbiz, Hybris multichannel suite , Java , J2ee
We have strong frelancers developers who are available to work on any kind of e-commerce project.
We provides solution for any problem in below technology as well as in integration
1. Apache Ofbiz
2. Hybris Multi-channel Suites
3. Magento
4. Alfresco
5. J2ee
6. Spring
7 Hibernate
8 Stuts
Apart from above
We have started to provide e-commerce solution on pricipal "Customer First"
can develop and deploy custom multi-store, multi-lingual, open source e-commerce websites that also possess the ability to handle multiple currencies. Our e-commerce solutions experts can also design and develop e-commerce solutions that can be integrated with your current website. An Appnovation built e-commerce solution provides following capabilities to your website:
Skype Id: bipins25
Email : erkumod@gmail.com
We provides solution for any problem in below technology as well as in integration
1. Apache Ofbiz
2. Hybris Multi-channel Suites
3. Magento
4. Alfresco
5. J2ee
6. Spring
7 Hibernate
8 Stuts
Apart from above
We have started to provide e-commerce solution on pricipal "Customer First"
can develop and deploy custom multi-store, multi-lingual, open source e-commerce websites that also possess the ability to handle multiple currencies. Our e-commerce solutions experts can also design and develop e-commerce solutions that can be integrated with your current website. An Appnovation built e-commerce solution provides following capabilities to your website:
- Unlimited Custom Functionality
- Professional Custom Design
- Unlimited Products & Categories
- Product Browsing & Catalog Management
- Accept Credit Cards, Paypal, Google Checkout
- Enhanced SEO & Marketing
- Customized Search Options
- Customer Accounts & Service Options
- Interactive Checkout & Custom Shopping Carts
- UPS, USPS, FedEx & DHL Shipping
- Newsletter Sign Up
- Site Management
- Integration with eBay
- Promotional Tools & Discount Codes
- Detailed Reporting of Sales & Traffic Statistics
- Integration of business apps & other 3rd party e-commerce apps
Skype Id: bipins25
Email : erkumod@gmail.com
Step to create PageTemplate and Page in Hybris 4.8 e-commerce suite | Hybris 4.8 Tutorial
Steps to create a PageTemplate and page [All below examples are
related to Home Page].
(1)
Create PageTemplate which will have uid , restrictedPageTypes
defines for which type of pages the template can be used.[ For ex:
LandingPage2Template]
(2)
Create ContentSlotName
associated to the pre-defined templates and declare validComponentTypes (what
type of components can be associated to this section.).
[For ex: SiteLogo, HeaderLinks,
MiniCart, NavigationBar, Section1, Section2A, Section2B, Section2C, Section3,
Section4, Section5, Footer].
(3)
Create ContentSlotForTemplate.
Basically this is used for common area in all pages for ex: header ,footer [For
ex: SiteLogo-LandingPage2, HomepageLink-LandingPage2, NavigationBar-LandingPage2,
MiniCart-LandingPage2, Footer-LandingPage2, HeaderLinks-LandingPage2]
(4)
Create Page which will have
association to the PageTemplate. [Ex:homepage]
(5)
Create ContentSlot. Depedending
on the requirement these ContentSlots can be associated to the
ContentSlotForTemplate or contentSlotForPage. Associate the required components
to these contentslots.
(6)
[For ex: Content Slot
NavigationBarSlot is associated to ContentSlotForTemplate NavigationBar-LandingPage2
and ContentSlot Section4Slot-KmCAHomepage is associated to ContentSlotForpage
Section4-KmCAHomepage ].
ContentSlotName
PageTemplate à ContentSlotForTemplateà ContentSlot
à CMSComponent
Content/Category Page à ContentSlotForPage à ContentSlot à CMSComponent
(7)
Create ContentSlotForPage and
associate it to contentSlot [for ex: Section4Slot-kmCAHomepage].
Integration of CyberSource with Hybris Multi-channel suite 4.8 for Payment Gateway | Hybris 4.8 payment gateway integration
Cybersource is a leading provider of Credit Card Processing for Business. We have to use this for the credit card processing. Hybris provides this OOB itself. This document explains the steps to integrate with Cybersource using the API provided by Hybris.
Steps to integrate with Cybersource using Hybris API
1 Sign up for a test business login with Cybersource
Sign up for the test account with cybersource by going to Sign-up for a test account today
2 Preparing the cybersource extension
• Credentials Username: kmteststore and Password: test@123
• Generate the security key by logging into the test account. There will be two options while selecting the security key. One is for SOAP Order API and the other for Simple Order API, Select Simple Order API to generate the key, because, hybris uses Simple Order API to interact with Cybersource.
• Activate Hosted order page and Recurring Billing (by ticket in test merchant account)
• While Creating the test account you will give the merchant ID. Now, name the generated security key as <merchantID>.p12
• For sample of security key of merchantID KMteststore attached below
• Rename the file /resources/cybs.properties.template to /resources/cybs.properties. Edit the file providing at least the value for "merchantID" property.
• Copy this security file to the /config/security folder of Hybris server.
Dowload HOP.jsp page from Hosted Order page of cybersource site. Sample file attached below(Note this file is merchant dependent)
Enter new properties in config/local.properties. ############# Hosted Order Page settings #######################################################################
hop.post.url=https://orderpagetest.ic3.com/hop/orderform.jsp
# cybersource connectivity values
hop.cybersource.testCurrency=EUR
hop.cybersource.merchantID=KMteststore
##Below hop.cybersource.sharedSecret and hop.cybersource.serialNumber value should copy from HOP.jsp (Note -below value is for KMteststore merchantID)
hop.cybersource.sharedSecret=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDL+8vfGDuJCFCaXTmxXKNizMAiHW90WK2XIwZOlURJoD4yCPzBjDbuD3CYdNz5l9iGnpPvm3Ad3jzTPKNC9s/C/yFP7cmrqNhOv3lnRvTTDIZtCJIBRvABlS4lXHR6In7dhnNSCaQmDbeRFk5P39dvAOncjIir8CBfDqKJPc0KNwIDAQAB
hop.cybersource.serialNumber=3431909238000176056165
hop.cybersource.testCurrency.KMStore=USD
######## CyberSource Hosted Order Page Properties
##### Appearance Configuration
### URL for an image to display in the background of the order page,
## such as https://www.example.com/images/background.gif.
## Note: Make sure to use a secure (HTTPS) URL so that your customers'
## web browser does not display a security warning.
#hop.cybersource.appearance.backgroundImageURL.apparel-uk=
## Use one of these values:
## - blue, standard (Gray), gray, green, orange, red, custom
## If you choose custom, the following four fields become required.
hop.cybersource.appearance.colorScheme=blue
hop.cybersource.appearance.colorScheme.KMStore=orange
## Enable these properties if you choose "custom" for [hop.cybersource.appearance.colorScheme].
hop.cybersource.appearance.barColor.KMStore=#37B837
hop.cybersource.appearance.barTextColor.KMStore=#FFFFFF
hop.cybersource.appearance.messageBoxBackgroundColor.KMStore=#BBF1BB
hop.cybersource.appearance.requiredFieldColor.KMStore=#000000
# PaymentInfo validates that the card number is plausible.
# Setting paymentinfo.creditcard.checknumber=false will prevent PaymentInfo.createItem()
# from throwing an exception if the card number is invalid.
paymentinfo.creditcard.checknumber=false
# Payment Service provider. "Cybersource" or "Mockup"
payment.service-provider.name=Cybersource
• Now build the platform.
4. Cybersource Reason code and Reason text
Below Decision, reason code and text send in response of cybersource
Decision Reason Code Reason Text
ACCEPT 100, 110 Success
REVIEW 200, 201, 230, 520 Success
REJECT 102, 200, 202, 203, 204, 205,
207, 208, 210, 211, 221, 222, 230,
231, 232, 233, 234, 236, 240, 476 Failure
REJECT 475 Payer Authentication
ERROR 150, 151, 152, 250 System error
5.Configuring the Hosted Order Page(Cybersource)
This section provides configure the default settings for the Hosted Order Page and downloading the security script.
Choosing Your Default Settings for the Hosted Order Page
This section is required for all users because the Hosted Order Page does not work unless you have chosen and saved your default settings once. Afterward, you can return to the settings page at any time to make changes if you wish.
(Note-To choose or modify the default settings, you must be an administrator user.)
• In this section, you choose the colors and background image for the page, the fields to display to customers, and you add text to include on the order and receipt pages. Later, if you choose to do so, you can customize each section of the Hosted Order Page by adding to and modifying the HTML content of the page.
• Log into the Business Center with your merchant user name and password.
• Browse to Settings > HOP Settings.
• Configure your default settings as needed. The settings page is divided into separate sections, which are detailed below:
i. Data Entry Fields
ii. Reply Management Fileds
iii. Appearance Fields
iv. Notification Fields
• If you plan to use CyberSource’s hosted form, click View to preview the form and make changes to your settings if necessary.
• When done, click Update. The Business Center saves your changes.
Steps to integrate with Cybersource using Hybris API
1 Sign up for a test business login with Cybersource
Sign up for the test account with cybersource by going to Sign-up for a test account today
2 Preparing the cybersource extension
• Credentials Username: kmteststore and Password: test@123
• Generate the security key by logging into the test account. There will be two options while selecting the security key. One is for SOAP Order API and the other for Simple Order API, Select Simple Order API to generate the key, because, hybris uses Simple Order API to interact with Cybersource.
• Activate Hosted order page and Recurring Billing (by ticket in test merchant account)
• While Creating the test account you will give the merchant ID. Now, name the generated security key as <merchantID>.p12
• For sample of security key of merchantID KMteststore attached below
• Rename the file /resources/cybs.properties.template to /resources/cybs.properties. Edit the file providing at least the value for "merchantID" property.
• Copy this security file to the /config/security folder of Hybris server.
Dowload HOP.jsp page from Hosted Order page of cybersource site. Sample file attached below(Note this file is merchant dependent)
Enter new properties in config/local.properties. ############# Hosted Order Page settings #######################################################################
hop.post.url=https://orderpagetest.ic3.com/hop/orderform.jsp
# cybersource connectivity values
hop.cybersource.testCurrency=EUR
hop.cybersource.merchantID=KMteststore
##Below hop.cybersource.sharedSecret and hop.cybersource.serialNumber value should copy from HOP.jsp (Note -below value is for KMteststore merchantID)
hop.cybersource.sharedSecret=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDL+8vfGDuJCFCaXTmxXKNizMAiHW90WK2XIwZOlURJoD4yCPzBjDbuD3CYdNz5l9iGnpPvm3Ad3jzTPKNC9s/C/yFP7cmrqNhOv3lnRvTTDIZtCJIBRvABlS4lXHR6In7dhnNSCaQmDbeRFk5P39dvAOncjIir8CBfDqKJPc0KNwIDAQAB
hop.cybersource.serialNumber=3431909238000176056165
hop.cybersource.testCurrency.KMStore=USD
######## CyberSource Hosted Order Page Properties
##### Appearance Configuration
### URL for an image to display in the background of the order page,
## such as https://www.example.com/images/background.gif.
## Note: Make sure to use a secure (HTTPS) URL so that your customers'
## web browser does not display a security warning.
#hop.cybersource.appearance.backgroundImageURL.apparel-uk=
## Use one of these values:
## - blue, standard (Gray), gray, green, orange, red, custom
## If you choose custom, the following four fields become required.
hop.cybersource.appearance.colorScheme=blue
hop.cybersource.appearance.colorScheme.KMStore=orange
## Enable these properties if you choose "custom" for [hop.cybersource.appearance.colorScheme].
hop.cybersource.appearance.barColor.KMStore=#37B837
hop.cybersource.appearance.barTextColor.KMStore=#FFFFFF
hop.cybersource.appearance.messageBoxBackgroundColor.KMStore=#BBF1BB
hop.cybersource.appearance.requiredFieldColor.KMStore=#000000
# PaymentInfo validates that the card number is plausible.
# Setting paymentinfo.creditcard.checknumber=false will prevent PaymentInfo.createItem()
# from throwing an exception if the card number is invalid.
paymentinfo.creditcard.checknumber=false
# Payment Service provider. "Cybersource" or "Mockup"
payment.service-provider.name=Cybersource
• Now build the platform.
4. Cybersource Reason code and Reason text
Below Decision, reason code and text send in response of cybersource
Decision Reason Code Reason Text
ACCEPT 100, 110 Success
REVIEW 200, 201, 230, 520 Success
REJECT 102, 200, 202, 203, 204, 205,
207, 208, 210, 211, 221, 222, 230,
231, 232, 233, 234, 236, 240, 476 Failure
REJECT 475 Payer Authentication
ERROR 150, 151, 152, 250 System error
5.Configuring the Hosted Order Page(Cybersource)
This section provides configure the default settings for the Hosted Order Page and downloading the security script.
Choosing Your Default Settings for the Hosted Order Page
This section is required for all users because the Hosted Order Page does not work unless you have chosen and saved your default settings once. Afterward, you can return to the settings page at any time to make changes if you wish.
(Note-To choose or modify the default settings, you must be an administrator user.)
• In this section, you choose the colors and background image for the page, the fields to display to customers, and you add text to include on the order and receipt pages. Later, if you choose to do so, you can customize each section of the Hosted Order Page by adding to and modifying the HTML content of the page.
• Log into the Business Center with your merchant user name and password.
• Browse to Settings > HOP Settings.
• Configure your default settings as needed. The settings page is divided into separate sections, which are detailed below:
i. Data Entry Fields
ii. Reply Management Fileds
iii. Appearance Fields
iv. Notification Fields
• If you plan to use CyberSource’s hosted form, click View to preview the form and make changes to your settings if necessary.
• When done, click Update. The Business Center saves your changes.
Subscribe to:
Posts (Atom)