Over the last few months, I have been doing some initial architectural research regarding the integration of DotNetNuke with arbitrary external e-commerce systems. Note that this research is highly embryonic, largely experimental, and highly likely to not reach any sort of production-ready fruition. Its purpose is to inspire discussion, not demonstrate code. Caveat lector!
As one of my goals is reasonable provider-independence (via adaptation), this is not about realizing any particular vendor (despite the fact that I address one specific such vendor herein). That said, I have been asked by several parties to share a bit more about where this stands; it is with this in mind that I present an initial update.
In selecting a set of third-party providers, it was of some importance to deal with an e-commerce system that was reasonably foreign to the .NET universe (within which DotNetNuke lives). With this in mind, I selected the Magento framework as an initial target for review. In addition to being PHP-based, it boasts a reasonably sophisticated API, a beautiful interface, and solid overall architecture.
Integration in conformance with my internal architectural specifications was largely straightforward. However, Magento currently lacks any meaningful cart-API. This means that, inter alia, there is no API method by which an external consumer may retrieve a customer’s current basket (without resorting to screen-scrapes and other such horrors). As such, it remains incomplete as an option for fully satisfactory externalization — though it is tantalizingly close. It is my hope that this omission might be corrected in some subsequent Magento release, though I have no inside information about plans for future API development.
I present the screenshots below — designed to closely emulate the Magento model store — as a point of discussion about the potential future of DotNetNuke and e-commerce. All components displayed therein are actual, working modules. In my opinion, this is what e-commerce on the DotNetNuke framework should look like.
Note that, in the area of e-commerce, I am largely constrained by contractual IPR constraints, and this significantly affects my ability to release the constituent modules. However, as my architectural research continues, it is my hope that these data might be partitioned and released in an open-source manner (as is all of my other DotNetNuke-related work).
As always, comments are appreciated.
DotNetNuke and Magento Integration Screenshots
Attribution Notice: These screenshots above are derived from Magento IP released under an Open Source License (“OSL”) version 3.0. As such, I am required per §1.C to license these images under the same; all other rights (including rights over the accompanying text) are reserved per the notification below.