Technology Information for Developers
We specialize in delivering the tools Developers need!

Since 1995, We offer what developers want and need
Flexibility for customization - beyond the basics
Extending the on-page functionality
Making AspDotNetStorefront work for you
Developer Toolkit

SINCE 1995, We offer what developers want and need:

  • Source code optionally available for all versions in C# or VB.NET
  • Asp.net 3.5
  • MS SQL 2005/2008 supported (free Express version is fine, or use any of the paid versions for larger sites!)
  • Visual Studio.net 2008 and 2010 supported
  • Excel or Xml product import
  • Support for the most popular gateways: Authorize.net, Cybersource, PayPal, PayPal Express, PayPal Website Payments PRO, Google Checkout, and dozens more
  • COMPLETE - and we mean complete - support for robust Search Engine indexing, with full control over static page links, and complete control over all meta tags, titles, keywords, descriptions, and alt-text on EACH and EVERY product and category in the storefront! Some larger sites we know have over 350,000 pages fully indexed in Google!
  • RealTime FedEx, UPS, USPS, Australia Post, and Canada Post Shipping Rates already integrated
  • Minimum quantities, restricted products, password protected topics, affiliate tracking through to customer and order records, recurring items, digital products, subscription items, custom address book, easy one button re-order, auto image watermarking, and more
  • Highly optimized entity and object XmlHierarchy objects supporting nested table structures
  • XmlPackages allowing total data-drive Xml/Xslt control over page rendering
  • Ability to support user controls
  • Ability for you to add new pages to our solutions
  • Classes broken up into projects in an easy-to-understand organization: One for core logic, one for controls, one for gateways, etc
  • Powerful Skinning Engine
  • Robust feature set for truly minimal cost, to jump start your projects for your clients: wish lists, Google site maps, Yahoo! site maps, Google Product Search support, Skinning Engine, Xml/Xslt rendering engine, gift registry, customer levels, quantity discounts, highly configurable promotions, multi-lingual support, and HUNDREDS of other features.
  • Integrated .NET Forms Authentication
  • Host on your own server, or with just about any Windows hosting provider
  • No tricks or gimmicks. Just a solid platform to develop with
  • Multiple license discounts available to authorized DevNet partners
Source Code

We realize that every online business has their own unique business rules, which you have to accommodate. Stop settling for cookie cutter storefront solutions which offer no ability for customization or flexibility! Full source code for AspDotNetStorefront is optionally available for all versions. This allows you to fully customize your storefront features to fit your needs exactly.

When optionally purchased, source code is provided in either C# or VB.NET, with full SQL database schema. Visual Studio.net 2008 and 2010 are supported and full project and solution files are provided.

Purchasing the source gets you access to everything except:

  • The licensing logic
  • Our encryption logic
  • Source for a few 3rd party components that we aren't allowed to redistribute
Aside from that, you get it all! We even provide a Security.cs (Security.vb) class wrapper for our encryption logic, in case you do have to provide/utilize your own encryption routines.

We treat developers like developers...no tricks or gimmicks. Just a solid platform to develop on.

Multiple license discounts available to approved Dev Net partners.

XML Packages

XML Package Overview & Operation

XML packages let developers extend the functionality of AspDotNetStorefront without necessarily having to know ASP.NET and/or recompile the storefront.

One example would be the XML packages we use for our shopping site feeds, like Google Product Search, TheFind, Shopzilla, etc. If a developer wanted to add support for a new feed to the application, he would not have to recompile the storefront. He would simply write a new XML package that generates the shopping comparison site feed data and add this XML package to the admin console. This allows developers to add features easily without rebuilding the core source or waiting for the feature to be added to the core application.

XML packages also provide a 'middle tier', separating business logic (code) from presentation layer (html), and allowing the XML package to bring those two areas together without mixing HTML into your code objects.

AspDotNetStorefront uses XML packages to render most category, manufacturer, department, and product pages. This allows you to change page layouts in the storefront just by writing a new XML package, or modifying an existing one.

AspDotNetStorefront also uses XML packages for all customer notifications, including receipts, order shipping notifications, distributor drop ship notifications, etc making it easy to completely customize these messages.

A knowledge of XML, XSL, XSLT, and SQL is required to fully utilize XML packages.

XML packages have two purposes:

  • Internal Packages: Used internally by AspDotNetStorefront to provide access to nested entities like categories, sections, libraries and object structures in the database. The storefront will NOT function if these XML packages are removed.
  • Display Rendering Packages: These XML packages are created by third party developers to generate custom page HTML outputs for entity and/or object pages. An example is to create a custom category page display format for the storefront.

What is an XML Package?

An XML package is pretty simple. It takes an input data set, SQL statement, or Web service call and combines the data with automatically generated system and customer run-time environmental data (e.g. query string params, form params, cookies, etc), to produce an output document. The output document can be almost any format, but the most common are: XML for structured data or HTML for web page display content.

XML packages are named with the .web.config extension (e.g. MyXmlPackage1.web.config).

The steps an XML package works is as follows:

  • Package is instantiated by Name (the filename, e.g. MyXmlPackage1.web.config)
  • Package reads .xml.config file
  • Code adds additional run-time parameters to the XML package
  • Code adds additional system defined parameters to the XML package
  • Datasets are built from the SQL statements
  • Datasets are converted into XmlDocument
  • XmlDocument is XslTransformed into final XML or HTML. You can even have multiple transforms in one XML package
  • Caller of package will typically then process any AspDotNetStorefront specific tokens in the output (if HTML) and render it on the page

XML packages are defined by the XSLT language. The technologies of: XML, XSL, SQL, HTML, XHTML, etc are all leveraged to write effective XML packages. There are many tutorials and good books on those technologies, so they are not discussed here, except where any unusual exceptions or requirements are imposed by the storefront.

Please remember that XML packages are XHTML compliant.

Internal XML Packages

When used internally as a helper object, the XML package typically produces an in-memory XmlDocument object, as a result of input SQL statements, and various customer, system, and user defined parameters. Examples of these internal packages can be found by looking at files such as:

  • /XmlPackages/CategoryMgr.xml.config
  • /XmlPackages/ManufacturerMgr.xml.config
  • etc...

Display Rendering XML Packages

When used by developers or customers, this type of XML package outputs HTML to be rendered within a store page, typically rendering within the skin in the contents area. This is important to allow developers to add custom page formats for their clients. For example, a particular client may want a custom category page. Adding one is as simple as creating a new XML package (or just modifying an existing one), uploading it to the site, and then setting the category to use that package through the admin console.

Installing XML Packages

XML packages are installed by placing them in XML packages folder in the web site or in /admin/XmlPackages. XML package requirements may differ if they are used on the store site vs. the admin site. XML packages can also be stored by skin in skins/skin_1/XmlPackages, because different skin layouts may require different manifestations of the package. When your XML package is ready for use, just FTP the file into that directory. Then you can assign that XML package to any entity or product in the storefront using the Admin site.

Invoking XML Packages By Themselves

XML packages can also be executed on demand, using the engine.aspx page on your site. This page can be invoked at site.com/engine.aspx?xmlpackage=xmlpackagename or with the shortcut site.com/e-xmlpackagename.aspx.

This new engine page now allows you to do things using dynamic data to add totally new pages in your store. For example, suppose you want to have a page which lists the top 5 most heavily discounted products in your db, or a page which lists the most 25 recently added products in the store. You can easily write an XML package to do either, and with both packages you have full control over the data that is being used to generate the page and the display format used to render the page results. All this is possible by writing .xslt files with the necessary XML package instructions. No change to the asp.net storefront code is required. To deploy a new XML package page to your site, all you have to do is FTP the XML package file to the /XmlPackages directory of your web server and invoke it.

Full real-time Debugging & Breakpoints in XML Packages

You can set the Xml.DumpTransform AppConfig to true, and the XML package engine will write intermediate .xml files into the /images directory. The xml files will be appropriately named based on the name of the XML package, and also intermediate stage files will be written out.

To debug your xsl transforms, you can use your favorite Xsl debugger tool or Visual Studio.net directly.

Example XML Package

The following XML package shows an example of how to display a category (entity) page in grid icon layout, and shows how easy it would be to alter this layout, as the XML package separates structure (html) from content (database information).

For more information, see our XML Package Specification document in the manual

Custom Development
If you need special customizations or designs of AspDotNetStorefront to meet your own business requirements, our Development Partners are here for you.
If you are interested in listing with us as a Development Partner, please send your details to the email below.

Your inquiry will be reviewed and responded to shortly.

INQUIRIES:     Partners@aspdotnetstorefront.com