RSS

Blog posts of '2014' 'December'

Creating nopCommerce Database Backup Programmatically Using C#

Being a nopCommerce programmer, have you ever encountered a situation where you need to take over an existing nopCommerce projects from other developers but are not provided with enough information? I have!

Recently, I am working on a project on nopCommerce customization that put me in hot water. The client has only provided FTP access to compiled files - no source code, no database backups, no RDP access, no nothing!

Because the project is an already-customized version of nopCommerce 3.40, I am faced with the following issue:

  1. No source code means I can't check what has been customized
  2. No database backups means that I can't even infer the customization from database
  3. The database is fire-walled. That means even if I can get the Connection String from Settings.txt, I can't connect to it using Microsoft Sql Server Management Studio

Creating nopCommerce Database Backup Programmatically Using C#

Although the project was only involving theme development & theme customization, the challenge is big enough to have stopped my team from normal development for a few hours.

We needed a solution to solve [1], [2] and [3]. And the solution? Programmatic generation of nopCommerce SQL Server database backup using C#!

5 E-commerce Tips & Tricks To Improve Sales

Many e-commerce website owners work diligently on search engine optimization (SEO) to drive massive amounts of traffic to their site, only to discover that their sales aren't keeping pace with their web traffic. These business owners learn the hard way that selling online is not just a numbers game. Raw web traffic does not necessarily translate into e-commerce sales.

4 e-commerce conversion rate optimization tips

So what more can you do after your SEO effort is starting to pay off, and your website has a steady stream of visitors? Enter Conversion Rate Optimization (CRO)! CRO is those techniques that convert your visitors into paying customers.

Here are essential 5 e-commerce tips & tricks that can help you improve sales:

5 E-commerce Best Practices You Should Implement Right Away!

Let's admit it - running an online store is not easy! While there might be tons of article (like this one) telling you how easy it is to open an online store, running it can still be a chore if you want to be successful.

With so many factors out there that can affect how successful your online business is, it is hard to focus on all of them, especially for small business owners where resources are limited. Here's a list of 5 e-commerce best practices to keep in mind. Tackle these, and you will be on the right track!

5 E-commerce Best Practices

Why Today's E-commerce Stores Have To Be Mobile-friendly?

With technological advancements happening each and every day, it is no wonder the number of sales made from mobile phone users continues to rise each year. There is not much left in the world that we cannot do or see from the palm of our hands, and this includes online shopping.

In fact, Google has recently make it very clear that they are taking serious consideration of a website's mobile-friendliness. As part of the initiative, they've even launched a mobile-friendly test tool.

Mobile-friendly nopCommerce themes

nopCommerce REST Service API Implementation

nopCommerce REST Service Implementation

Being a popular e-commerce platform, nopCommerce is used in a variety of senarios. One popular nopCommerce use case is to integrate it with third-party ERP / CRM / POS solutions. For example, it is possible to develop an integration such that the POS system pulls product & customer information from nopCommerce, and places order to nopCommerce.

There are several method to implement the integration and nopCommerce already comes with a Web Service plugin (Nop.Plugin.Misc.WebServices). However, with the popularity of REST service, I feel a need to develop an nopCommerce REST API plugin to fill in the gap - and that's how NopRest - nopCommerce REST Service Plugin is born.

Using NopRest is easy as it follows a very intuitive, MVC-like architecture. In fact, it is implemented on top of MVC. For those who are familiar with ASP.Net Web API, you might be wondering why NopRest is not implemented on top of Web API. The reason is simple - I want to reuse as much code from nopCommerce as possible. A more detailed explanation is published here.

To provide a real world example of how NopRest can be used, I am sharing with you a use case whereby my client requires to clear nopCommerce cache from external WPF application.

NopLite nopCommerce Responsive Theme Updated to 3.50

With the announcement of nopCommerce 3.50, we are glad to announce the availability of our popular NopLite - Responsive nopCommerce Theme.

NopLite Responsive nopCommerce Theme available in version 3.50

And the good news is, we did not just upgrade it to 3.50, there is also a couple of features upgrades in the 3.50 version.

Check These 10 Points Before Launching Your nopCommerce Website

So you have completed your new nopCommerce website and can't wait to launch it. But you are holding off because you are worried you've missed important things.

Fret not, I've compiled a list of 10 most important points you need to take note of before launching. (Of course, none of these points are more important than having a workable website in the first place).

nopCommerce Store Launch Checklist

Rendering nopCommerce MessageTemplate Using Razor

When it comes to e-mails, nopCommerce has a very flexible Message Templates system to render e-mails by replacing what are called Tokens with actual values. For example, %Customer.FullName% will be replaced by a customer's full name.

While nopCommerce's Message Templates system is flexible enough to handle most scenarios (version 3.50 even supports attaching a static file), there are at least 2 deficiency with the implementation:

  1. Conditional rendering (if... then... else...) is not allowed
  2. Common layout has to be copied over to each and every Message Templates

To overcome these shortcomings, we can make use of Microsoft's powerful rendering engine - Razor. I believe most MVC developers are vary familiar with Razor syntax.

Below I'll show a proof-of-concept of using Razor engine to render Message Templates.

Choosing nopCommerce Themes

Having a great nopCommerce template can help attract more customers to your nopCommerce store. Pro nopCommerce provides high quality, hand-crafted nopCommerce themes for stores of various types. Here are a few things to consider when deciding on a template for your online business.

Choosing nopCommerce Themes | nopCommerce Templates

Products and target markets

A well-chosen theme can make your products resonate with your target audience, so it is important that you choose a theme suitable for your business. For example if you have a florist shop you might want to choose a brighter and more lively-looking theme than say a restaurant.

Integration with special features

Perhaps you want a video player on the home page of your store. Some themes will do a better job of highlighting key features than others. If you go to the trouble of creating video or having live sales representatives, you want to be sure that your theme works with those features.

Ease of use and user experience

A theme used for e-commerce should be as easy as possible for your customers to navigate and interact with. A frustrated customer or potential customer might turn to an easier-to-use online store thus hurting the bottom line of your company.

Mobile-friendliness

In today's busy world, many people shop online using a tablet or smartphone. Themes can appear differently on these devices so it is vital to check and make sure that your theme is equally optimized for mobile platforms as they are on desktop.

Second Opinion

With many different themes available, it can be wise to seek the opinion of a business associate or friend when deciding on a theme. And remember, basic theme customizations are always encouraged! You wouldn't want your online store to look exactly like other stores who has also purchased the same theme!

Improving nopCommerce UX (User Experience) - Credit Card Form

We at Pro nopCommerce are addicted at User Experience, i.e. UX. As good as we think nopCommerce already is, there are still many UX improvements that we thought can be done.

Credit card forms is one of the areas that allows a lot of room for UX enhancement. For those who are familiar with nopCommerce's typical credit card forms, you know it looks very 90-ish. Below is how a typical credit card form in nopCommerce looks like:

Typical nopCommerce Credit Card Forms

There are a few things we don't like about the original implementation:

  1. Credit card type should be inferred, instead of forcing users to choose
  2. Card number should be formatted. Basic verification should also be done on client side
  3. Expiry date should be implemented as input, drop-down list is too cumbersome
  4. Basic CVV / CVC format validationn should be done on client side

Luckily, there are quite a few useful jQuery libraries on client-side credit card validation, such as jQuery.payment.

Let's try to integrate jQuery.payment into the Payments.AuthorizeNet payment plugins that comes originally with nopCommerce.