Skip to main content

Posts

Showing posts from 2015

IBM Websphere Commerce V8.0

IBM Websphere Commerce V8.0 is Announced and its Here: Just in case if you have missed the announcement on Oct 1st, 2015 of IBM Websphere Commerce Version 8.0. Here is the  Link . IBM WebSphere Commerce-powered stores are going to get a lot of up-gradation. As IBM releases its  WebSphere Commerce V8.0 enhancements, Merchandisers can expect a richer, easier experience for users and marketers deepen customer engagement, drive customer loyalty, increase revenues, and improve profitability with an improved business user environment. Help deliver a better customer service and support experience. Provide a software platform upgrade to the latest web application server, database, and integrated developer environment, and incorporate earlier WebSphere Commerce V7.0 feature pack capabilities. Key things to know about IBM WebSphere Commerce V8.0: DHTML (Dynamic HTML) :   In Version 8.0, the Management Center is updated to use  Dynamic HTML (DHTML) . With  DHTML , Management Cent

Dataload Utility

Data can be loaded into WCS tables using data load utility. WCS Data Load utility performs the following functions in a single operation: 1.                Reads the data from the input source file. 2.                Transforms the source data to Web Sphere Commerce business objects. 3.                Allocates and resolves Web Sphere Commerce business objects to physical data. 4.                Loads the physical data into the database. There are three configurations files and a input source file required to complete the data loader setup. WCS supports only CSV File Reader for other input source you have to write your own Reader Class. This means that if you are using OOB CSV Reader then your input file must be a CSV file. The three configuration files are listed below. 1.                wc-dataload-env.xml 2.                wc-dataload-loader.xml 3.                wc-dataload.xml wc-dataload-env.xml holds the environment settings such as database name,

Issues While Starting WAS Server

This happens when there is other application which is also using the same port 8880. To resolve the issue, we need to find which application is using the port 8880 through 'netstat' command in command prompt or update our WAS server to not use 8880. We can update the WAS server through these steps: 1) Stop  WAS. 2) Browse to or search for the serverIndex.xml, for example, at "C:\WAS\AppServer\config\yourNode\nodes\yourNode\serverindex.xml" 3) Open the file and locate the following lines:               endPointName="SOAP_CONNECTOR_ADDRESS"> 4) Change "port 8880" to an available port 5) Save the serverindex.xml and restart WAS

Webpshere Commerce Registry

Registry is an another solution for those which can’t be cached using Dyna cache. Another use would be to store configuration data for a store. By using registry, you don't need a server   restart   every time as organization admin console provides an   interface   to refresh registry. The new custom registries will be appearing in the admin console under the   registry section. Steps to create a new custom registry in WCS Step 1. Register the registry in wc-server.xml. <Registries> ...... ..... <registry name="TestRegistry" regClassName="com.wcs.registry.TestRegistry "/>   </Registries> Step 2.Create  a class that implements   interface   com.ibm.commerce.registry.Registry package com.wcs.registry; import java.util.HashMap; import com.ibm.commerce. exception .ECException; import com.ibm.commerce.registry.Registry; import com.ibm.commerce.registry.RegistryManager;     public  class TestRegistry  implements Registry { private Has

How to do Email Configurations in Web sphere Commerce

Web sphere commerce allows to send email messages to customers by making use of the below mentioned steps. Create the JSP which will be used for generating contents of the email  For e.g.: SendEmail.jsp Create View for the JSP in Struts-Config-Ext.xml Make an Entry in Struts-Config-Ext.xml file for .jsp as below < action path='/SendEmailView' type='com.ibm.commerce.struts.BaseAction'>     < set-property property ='authenticate' value ='10001:1'/>      < set-property property ='https' value ='10001:1'/> < /action> < forward name="SendEmailView /10001/-3" path="/< location of JSP file >/ TestEmail.jsp" className="com.ibm.commerce.struts.ECActionForward">     < set-property property="implClassName"     value="com.ibm.commerce.messaging.viewcommands.MessagingViewCommandImpl"/>     < set-property property="int

Read the Session Data in Web sphere Commerce

By using the below code snippet we can get the session data in Web sphere Commerce. HttpSession httpSession = null; ViewCommandContext viewCmdCtx = (ViewCommandContext) getCommandContext(); Object reqObject = viewCmdCtx.getRequest(); HttpControllerRequestObject httpControllerRequestObject = (HttpControllerRequestObject) reqObject; HttpServletRequest httpRequest = httpControllerRequestObject.getHttpRequest(); httpSession = httpRequest.getSession();

Websphere Commerce Struts-Config.xml Properties

  authenticate :  specifies whether the view requires that the user is authenticated, i.e. that the user has to be a registered user (not guest or generic user). <action path="/RequisitionListDisplayView" type="com.ibm.commerce.struts.BaseAction"> <set-property property=" authenticate " value="10001:1"/> </action> credentialsAccepted:   is used when you have partially authenticed users, i.e. users that have been remembered via the Remember Me function. If a user has not specifically authenticated (i.e. logged on via the Logon command), but has been remembered via the Remember Me persistent cookie, that user is considered partially authenticated my Commerce. <action path="/LogonCmd" parameter="com.ibm.commerce.catalog.commands.LogonCmd" type="com.ibm.commerce.struts.BaseAction"> set-property property="credentialsAccepted" value="0:P" /> </action&

Krypto Parameter in WCS

When we define a view or command as secured page using https in struts-config file then that will add a krypto parameter as shown in the below URL while redirecting. Krypto will have all  the parameters encrypted  as shown below. https://localhost/webapp/wcs/stores/servlet/OrderItemDisplayView?catalogId=10051&langId=-1&storeId=10151&krypto=aLt1shhBswovwONoDZJPI8liwcvzrdPaOx1EbnlkrQ3VPLOhpVtYeHFelH5HQ42q9hFv9GQY%2BQPV614V9IOvBtPrRYsDxyPw5BXJXgRz%2F2DsikPE0TLzXyYIzhkv6MTvGcLs8k1B0eNeiwUNT%2BbkNKyiNIs%3D If we want to prevent certain parameters to be exempted from being encrypted and added in the Krypto then we need to make an entry for those parameters in    the wc-server.xml in the NonEncryptedParameters  section.     <NonEncryptedParameters display="false"> <Parameter name="storeId"/> <Parameter name="langId"/> <Parameter name="catalogId"/> <Parameter name="categoryId"/> <

How to Enable cross-site request forgery protection in WCS

Cross-site request forgery (CSRF) is a type of malicious attack that tricks a user into sending unintended requests. For example, an attacker can trick an authenticated user into clicking a link to update their personal information. Web Sphere Commerce accepts this request as valid, as proper session cookies exist as part of the request. When cross-site request forgery protection is enabled, a designated URL parameter that is called authToken is required to be included as part of the request. The parameter value is generated by WebSphere Commerce and passed to the page in a request attribute with the same name. The authToken parameter is available only on SSL protected pages because this token must not be apparent. Only sensitive URLs that use SSL should require this protection. Identify the action to protect. For example, UserRegistrationAdd. Open the Struts configuration file where the action is defined. Add a property to the action. Name the property, csrfProtect

ERROR HANDLING IN WCS

ECApplicationException : This exception is thrown if the error is related to user input and will always fail. For example, when a user enters an invalid parameter, an ECApplicationException is thrown. When this exception is thrown, the solution controller does not retry the command, even if it is specified as a retriable command. ECSystemException: This exception is thrown if a runtime exception or a Websphere Commerce configuration error is detected. Examples of this type of exception include create exceptions, remote exceptions, and other EJB exceptions. When this type of exception is thrown, the solution controller retries the command if the command is retriable and the exception was caused by either a database deadlock or database rollback. Both of the exception types are classes that extend from the ECException class, which is found in the com.ibm.commerce.exception package. In order to throw one of these exceptions, the following information must be specified

Difference between Accelerator and Management Centre

Management Centre vs Commerce Accelerator 1.For promotions and espot configurations, which is a better approach - management center or accelerator? Considering the management center's design, its complex structure takes more time in implementing new modifications as compared to accelerator modifications. 2.We can view the status what change's we did in Management Center, If we did any wrong it shows an error, but in Accelerator the error is not shown. 3.Management center provides a rich UI with features like drag and drop. There is a possibility that in some future releases Commerce Accelerator may be removed. With current release it is not possible as it is tightly coupled with the framework. 4.For an end user perspective Management Center will be the preferred tool. Being a flash based tool it is slow but very user friendly. 5.Management Center, It's sometimes slow but it provides more usability such as drag and drop,etc which makes it a favorite tool for the

Controller Command Life Cycle

Description about Controller Command. The abstract class and interface are both found in the com.ibm.commerce.command package. A new controller command should extend the abstract controller command class ( com.ibm.commerce.command.ControllerCommandImpl). When writing a new controller command, you should override the following methods from the abstract class: isGeneric(): In the standard WebSphere Commerce implementation there are multiple types of users. These include generic, guest, and registered users. Within the grouping of registered users there are customers and administrators. The generic user has a common user ID that is used across the entire system. This common user ID supports general browsing on the site in a manner that minimizes system resource usage. It is more efficient to use this common user ID for general browsing, since the Web controller does not need to retrieve a user object for commands that can be invoked by the generic user. The isGeneric