The WebStore used to be released with the official release of mojoPortal but with the release of mojoPortal 2.6, it was made available as a separate download. This was done because the feature is lacking a lot of features people now expect from an ecommerce system. We have plans to either rewrite the current WebStore or develop a new add-on.


The WebStore is available for download from GitHub.

Current Functionality

You can purchase add-on products for your mojoPortal site in our store, or try out the current functionality on our demo site using a fake credit card and processing through a test server.

  • Downloadable products
  • We do not yet have shipping cost calculation or fulfillment tracking for shipped products.
  • Only MS SQL and MySql are currently supported.
  • Currently, there is a simple Product List and an optional "Current Specials" list with links to add products to the cart. There is a product details page where more information about products can be shown.
  • Tax calculation
  • Several discount scenarios
  • It can process payments through the Authorize.NET, PlugNPay, PayPal, and WorldPay payment gateways and customers can download immediately after purchase according to configurable download terms, i.e. how many downloads allowed, date range, etc.
  • Multiple stores within a site are supported but the payment gateways settings are at the site level so all stores would use the same commerce credentials in a given site. 
  • Users can log in and see their purchase history and download products for which the download ticket has not expired or been invalidated.

To Do

  • Shipping calculations and support for shippable product fulfillment tracking.
  • Product Categories and browse by category feature
  • Product Search - completed version
  • Reports - initial sales report included as of version

How To Use WebStore

  1. Download the latest WebStore release from GitHub.
  2. Copy the contents of the release zip file to the root of your mojoPortal installation.
  3. Browse to www.yourwebsite.url/setup/default.aspx
  4. Add the WebStore feature to a page the same as any other feature. It then exposes its administration links according to edit roles of the page or feature instance.

You have to configure eCommerce settings before you can actually process orders.

Note that the store administration allows configuring of products and offers. Products are not sold directly but through offers. Offers can contain 1 or more products. This allows bundling of products but makes configuration a little cumbersome. Ultimately I'd like to make a wizard for creating new products that will make it easy to create the product and the offer in one go for the most common scenario which is one product in the offer. Currently, in order to sell a Product, you must first create the product and then create an Offer to sell it in.

Cart Link

If you want a cart link on your site so users can see how many items they have in their cart at any particular time, simply add the following to your site skin's layout.master.

Add to the top of the layout.master, under the <%@ Master line.

<%@ Register Namespace="WebStore.UI.Controls" Assembly="WebStore.UI" TagPrefix="webstore" %>

Then, add the following wherever you want the link to appear on your site.

<webstore:FlexCartLink id="cartlink1" runat="server" PageId="000" ModuleId="000" ModuleGuid="00000000-0000-0000-0000-000000000000" IncludeItemCount="true" IncludeCartTotal="true" LiteralTopMarkup="<li class='topnavitem cartnav'><span class='ui-icon ui-icon-cart'></span>" LiteralBottomMarkup="</li>" CssClass="sitelink" />

You must configure the pageid, moduleid, and ModuleGuid to match those values for your WebStore. The example extra markup uses the cart icon from jqueryui.