One of the design decisions we had to make quite early was whether to develop our own blog, forum and similar packages, or to use the existing software from third-party vendors. Integrating the old ASP.NET forums (now Community Server) with the first version of MonoX was quite a challenge, as we had to rewrite the portions of the original code, change SQL stored procedures, introduce triggers to keep portal and forum users in sync, etc. At the end, so much effort was invested during the integration process that writing a new package from scratch seemed much more attractive.
This time we again made a quick overview of the existing third-party packages and soon realized that we will have a much easier job this time. There are a few excellent open source systems - it wouldn't make too much sense to reinvent a wheel with yet another blog or forum or whatever. The key to success in this story is ASP.NET 2.0 provider model
. As you probably know, a provider is a software module that provides a uniform interface between a service and a data source. Providers abstract physical storage media, in much the same way that device drivers abstract physical hardware devices. In our case, integrating MonoX with the leading blog, e-commerce and forum engines requires just a few changes in their configuration files. The benefits are huge: you can enable single sign-on feature and have all the user and role information stored in the main portal database. All authorization and authentication tasks will be performed by the main portal, so there will be no multiple login pages that confuse users; moreover, user maintenance tasks will become much easier, as all relevant data are kept in the single location.
Information regarding the integration with BlogEngine.Net
can be found in our MonoX support forum.