Version 2.2
1/21/2008 This release updates the Web Store with a handful of new features. The big change however, is the switch to Visual Studio Web Application Projects from the stock Web project model which should simplify deployment and general configuration of the store. Note however that this means that the store will no longer be usable with Visual Web Developer and requires Visual Studio SP1 or later.
- Integration for MerchantPlus NaviGate Gateway service
There's now direct support for the Merchantplus Navigate Gateway service. This service is Authorize.NET compatible and is provided for free exclusively by MerchantPlus.
- Switched to Web Application Projects for simpler Deployment Scenarios
This version has moved the store's Web project to use a Web Application Project which requires Visual Studio SP1. This has been done to simplify deployment of a Web store to a live site without requiring complex pre-compilation or selective file copying. With a WAP project all code behind code compiles into a single assembly in the BIN directory and only the ASPX/ASCX/MASTER/ASHX etc. pages need to be deployed.
- Configuration Settings moved to <Westwind.WebStore>
To make the configuration settings a little clearer all configuration settings now live in Westwind.WebStore rather than in appSettings in web.config. This avoid interference with other potential applications with the same configuration keys.
- Many updates in the Business Object Framework
There have been many small enhancements in the base Business Object library code to improve performance and handle various data persistance scenarios more cleanly. The Business Entity Generator has also been updated to generate nullable types for nullable values now for better data->entity mapping. ConnectionStrings can now also be specified as entries from a .config file ConnectionStrings section. This applies to wwData, wwBusiness and wwSqlDataAccess classes. The latter class is also a new small self contained SQL data access object in the Westwind.Tools assembly.
- Many updates in Westwind.Web.Controls
There are number of enhancements in the AJAX related controls used for Callbacks and also the hover panel operation. The client library has been extensively updated with new simplified client AJAX routines to pull data from any server application and utilize content effectively. Added new wwCaptcha and wwWebImageLink controls.
Version 2.0
3/21/2007 This release is a major overhaul of the Web Store application and there are many subtle changes and enhancements both at the high level store application itself as well as the underlying business and data framework. The core push of this release is full ASP.NET 2.0 support. The following is a list of some of the major new features, but there are many more, more subtle enhancements.
- ASP.NET 2.0 Support
This release provides full support for ASP.NET 2.0. Unlike the intermediary 1.75 release this version is a full conversion to ASP.NET 2.0 and uses many of ASP.NET 2.0's native features like MasterPages, Themes and lower level features like generics, anonymous methods etc.
- HTML Redesign
The store has been redesigned with to use XHTML and updated CSS styling significantly reducing the design complexity. There's been significant re-arranging of design elements into styles and themes to allow making changes to the overall look and feel global to the theme style sheets.
- Site Templates
The store now uses Master Pages for its main layout and the master pages can be templated in line with themes. By changing the theme you now also change the master pages used which allows easily switching display themes. Themes and Master Page themes can be switched at runtime.
- Related Items Support
You can now easily add 'Related Items' to an existing item. Related items are picked up in the item display page and display as a customizable sidebar.
- Customer Order History
The customer can now review his order history. The admin form allows updating order status in addition to auto-confirm operation which auto update order status on electronic orders.
- Request for Quote/Purchase Order Support
Customers can now optoinally request a printable quote for products for issueing Purchase Orders.
- Modest AJAX Enhancements
There are a handful of modest AJAX enhancements in the application that provide useful in page data. Many look up lists support hover popups for quick viewing of data. A number of data entry forms do pop up/tooltip style validation against the server in real time. Several pages update inline data from the server without submitting to the Web server. The changes are minor and there will be more to come. Currently a custom AJAX implementation is used. In the near future code will switch to the ATLAS framework as it nears the 1.0 release. This includes the powerful wwHoverPanel and wwMethodCallback controls.
- Internal Enhancements
There have been many enhancements in the internal framework that reduces the amount of code in this version. There's new built-in entity support for the Web Store business objects for easier access to the data retrieved from tables. All DataBinding now uses a new DataBinder() control that can bind anything to anything.
- Support for Medium Trust Operation
The Web Store can now run in Medium trust although depending on which credit card processing scheme is used, a few tweaks to the medium trust profile are required. Two aspects, Http connectivity (for Authorize.NET authorization) and Socket connectivity (for Email support) should be tweaked.
Version 1.75
12/21/2005
- Improved support for ASP.NET 2.0 release
This release provides a full update to the release version of ASP.NET 2.0 for the Web project. There have been a number of 2.0 specific enhancements. However, the core functionality is still using core 1.x controls and practices for the most part while being 100% compatible with 2.0. We're still evaluating exactly which 2.0 ASP.NET features are a good match for this application, rather than blindly moving everything to newer and not necessarily better 2.0 controls and class interfaces.
- Improved Business Object Entity support
One key improvement of the .NET 2.0 functionality improved and easier to use Entity functionality for business objects. Using Generics there's a much cleaner Entity member on business objects that represent business object properties transparently without explicitly loading up properties.
- Enhanced Databinding Error Display Management
We've enhanced the error management for binding errors and business object validation rule errors to display clearer error messages and provide direct access to fields that are in error. This feature does not use stock ASP.NET controls, but rather control driven functionality that is automatically supported on every control. The enhancements deal with better default error delegation and providing cleaner error messages, clearer marking of fields and the ability to jump to affected field for editing.
- Easier Credit Card Configuration
Credit card configurations are now more easily configurable and you can turn on and off PayPal and Credit Card Processing directly from the Administration Configuration page. If you have one of the supported types of processors (Authorize.NET, Verisign PayFlow, LinkPoint, AccessPoint and/or PayPal) you can be up and processing cards in minutes.
- New Specials Manager
We've added a new form that allows managing the Specials displayed on the store's home page. This page allows easy viewing, sorting, adding, editing and deleting of Specials in a single form.
Version 1.50
07/15/2005
- Added support for ASP.NET 2.0
The application has been ported to run on ASP.NET 2.0. This is a base port only in that the application was migrated and a handful of issues in the project have been updated for operation under ASP.NET 2.0.
- wwAppConfiguration updated for ASP.NET 2.0
The wwAppConfiguration now works under ASP.NET's new configuration file format. Although ASP.NET 2.0 improves configuration file management this class continues to provide features above and beyond what the base interface provides. The class now works properly for both 1.x and 2.x applications.
- Promo Code Support
We've improved Promo code support, so Promo codes can now be applied while the order is in process. Orders are displayed with discounts applied.
- Configuration Editor for various Lists
There are now proper editors for configuration lists including Promo Codes, States, Countries, Referers and Tools lookups.
- A few AJAX style lookups in various lists
Various lists in the system now provide quick preview hover windows. Item displays let you see item detail and the invoice list form lets you preview invoice detail without clicking into invoices or items. These operations are handled by a new wwHoverPanel control that makes short work of creating these popups.
- Product Filtering for Inventory List screen
The Inventory list screen now allows you to set a search filter to view items in large lists more easily.
- Many User Interface Enhancements
We've made a number of small enhancements to the administration user interface to provide more flexibility. Credit Card options can now be turned on and off dynamically without changing page code. The admin interface has been overhauled for better browser compatibility - many small issues with various browsers have been fixed.
Version 1.30
05/05/2005
- Added support for LinkPoint and PayPal for payment processing
The LinkPoint Gateway API is now supported for direct plug-in support in the Web Store in addition to Authorize.NET, Verisign PayFlowPro and AccessPoint. You can now also use PayPal to process payments, so you can get up and running quickly without a merchant account.
- SubItem Support Improved
We've improved SubItem support in the store. You can now specify items as subitems of another which hides them from item display lists. SubItems can also be easily displayed in parent items either with manual HTML markup or a special insertion tag that embeds all child items automatically.
- Style sheet improvements
We've made a number of adjustments in the default layout of the store which results in a cleaner looks for the store. We've also improved cross browser support so the store should now render nearly identically with both Internet Explorer and Mozilla style browsers.
- New BindingSourceObject on databinding controls
A number of people are databinding at runtime and a number are finding that the BindingSource property does not work with local variables. The new BindingSourceObject property allows passing a reference rather than the string property passed to the BindingSource property, and this reference does not have to be defined on the form level. Note there's no UI support for this feature as the databinding works against ANY .NET object.
- wwSMTP.MailServer now supports port in Address string
You can now specify both MailServer address and Port via the MailServer string in the format: smtp.server.com:2525. This allows client applications more easy configuration options for mail server that now more commonly are using non-standard SMTP ports for sending email to avoid spam attacks.
- Fixed bug in wwBusiness.SetTransaction
There was a bug in the SetTransaction code that handles passing forward of transactions. It would cause a new connection to get opened even if no transaction was passed in resulting in an unclosed and unreferenced connection object. This could cause application lockups if the application's pool of SQL connections runs out.
- Offline Manager Enhancements
The offline manager user interface has been updated considerably and there's much improved support on the item manager and the ability to upload items to the Web Server. A new customer selection tool makes it easier to manage customers. Automatic discounting option added. New lineitem display format using a standard listview. Updated multi-column list support for all drop downs. Sortable customer list.
- Many usability enhancements
It's been a while since the last update and so there has been slew of minor usability enhancements in all aspects of the store. Most of the changes are in the Admin interface and specifically in item management both in the admin interface and in the Offline Manger application. It's quite possible to manage your inventory via remote interface of the Offline Manager.
Version 1.20
- wwAppConfiguration Enhancements
We've added significant enhancements to the wwAppConfiguration class that provides the ability to easily store config settings in other sections of the config file, in external config files, to string, to plain XML file and to SQL Server in a single field. The class has also been updated to store all config values culture neutrally. NOTE: This may affect existing configuration with decimal, double, float and DateTime values if you are upgrading. Be sure to check your configuration settings after an update!
- Vista DB Support
We've added support for the small and lightweight VistaDb database engine to our business object layer. A new external class/assembly wwDataVistaDb subclassed from wwData provides a data interface for the business object to the VistaDb engine.
- Many minor tweaks and adjustments
There have been a ton of adjustments and optimizations to the Web Store interface and UI. A number of classes have been simplified, a number of business object methods have been optimized and the UI itself has been streamlined for more consistent operation.
- Web Store Client Updates
The Web Store Client application also has seen a number of major improvements. Some of the dependencies on third party tools (ActiveReports specifically) have been moved into separate code bases so the app can run if you don't need the reporting support. The UI has been updated as well and there are many functional enhancements.
Version 1.1
- Offline Manager Updates
The offline Order Manager application has been updated considerably and is now fully functional. The order manager allows downloading of orders into a WinForms application to manage orders and inventory locally. The manager interacts with the Web site via Web Services. This is not a 'disconnected' application in the usual sense but rather a completely separate application that simply pulls data from the Web site as needed for local storage.
- Addition of secondary open access Web Service
The Web Store already includes an Adminstration Web Service. Now we've added an open access service that doesn't sit in the secure admin area to allow querying inventory information and uploading of invoices. This allows the ability for partners to interact with the application remotely without requiring special permissions.
- New wwAppConfiguration options
The wwAppConfiguration class can now store Configuration settings in separate .config sections or completely store config settings externally. Syntax for using any overloads to the default behavior of reading from the standard AppSettings has been greatly simplified.
- wwBusiness::OnStatusMessage event
Added a new StatusMessage event that allows posting messages back to calling code from within business object logic.
- Updated Documentation
The documentation has been updated considerably with more examples and cross links. We've also added a number of additions to existing topics in the configuration section based on questions and feedback from our customers and folks trying the product out. Also all code is now syntax color highlighted for your viewing pleasure <g>.
There's now an included logging framework which allows logging each request to disk. Logging can be performed in a variety of ways. The log file can also be used to log application events (startup/stop for example) and logging of errors via the WebErrorHandler class. Log data can also be graphed using a table based graphing class.
- Form adjustments to utilize ASP.Net features more completely
Most of the forms in the Web Store have been reworked to take additional advantage of the ASP.Net object model especially in list display and list item handling. This has simplified the code in several places in addition to providing the proper ASP.Net way to do things.
- WebStoreFactory Class for all object instantiation
All business object instantiations now occur through the WebStoreFactory class to allow easy subclassing of the business objects.
- Specials Listings
You can now manage a 'specials' list directly through your inventory items by simply setting the various Specials fields of the Inventory item. Each item that has the specials flag set will display in the Specials list.
- Improved Item display options
The Item List displays now make smarter use of images and provide alternating image locations. The Item Lists now use pure ASP.Net DataGrid code to handle clicks and submissions unlike the raw code used previously. This has greatly simplified the code though.
- Image Mangement Improvements
We've simplified image management by providing a standard image naming convention through a single image name. There are now two images per Sku - standard size and abstract/small size. You can now upload a single image and automatically have it resized on the server for both the standard and small sizes. Images are named with your choice, with the abstract image size (used for specials/itemlists etc.) created with an sm_ prefix. This makes image management much easier.
- Support for abstract text
You can now specify abstract text for an item. You can also create this text automatically by trimming the full item content for one or all topics (if they don't yet have an abstract).
- Statistics
The admin page now also includes a statistics page which can be used to monitor the application. It shows the number of open connections.
- Many improvements in the business objects and data
The underlying business objects and data tables have undergone some tuning and cleanup which result in a cleaner BO interface and also provide better performance overall.
- wwAppConfiguration enhancements
The Configuration class now supports Enum types (represented as strings in the front end) so you can now persist them in addition to all simple value types. One or more configuration keys can now be encrypted before being written out to the .Config file so you can hide passwords and connection strings on disk.
- Addition of a simple two-way encryption class
The wwEncrypt class provides easy symetrical encryption via DES to encrypt and decrypt strings and bytes.
- Credit Card Processing Updates
Credit Card Processing has now been hooked up to support online transactions as well as post transaction (Admin) processing of transactions. The Inventory database has been changed to allow items to be configurable as 'Auto-Confirmable' which allows determining whether and entire order can processed and confirmed immediately. If it does and clears credit Confirmations can be automatically be sent out for each item (if electronic confirmation information is provided).
- PayFlowPro support hooked up
PayFlowPro support is now provided in the credit card processing modules. The interface is hooked through the COM interface but requires no extra files beyond the PayFlowPro SDK installation.