My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
ArchitectureDocumentation  
Architecture developer's documentation
Featured
Updated Feb 4, 2010 by moudr...@gmail.com

Introduction

RainbowPortal Architecture main elements are:

  • Provider
  • Module

Providers

You can consider providers as both a point of customization and Data Mapper design pattern applicaiton all-in-one.

You can override existing providers as a wrapper, or even develop a fully custom implementation.

Most providers implemented as Singletones, so they contain static ExactProvider Instanse { get; } member.

The exact implementation to use in this member is set in the web.config.standard specific sections - http://rainbow.googlecode.com/svn/NET_2_0/devint/trunk/WebSites/Rainbow/web.config.standard.

Rainbow 1.6 already has a pair of providers (Rainbow.Web.SqlUrlBuilderProvider, Rainbow.Configuration.Log4NetLogProvider in Web.config specific sections - http://rainbow.googlecode.com/svn/NET_1_1/trunk/Rainbow/Web.config)

More providers were extracted in NET_2_0/devint/trunk code (PortalProvider, PortalPageProvider, MonitoringProvider, ModuleProvider), and their standard default implementation for MsSql database (Rainbow.Framework.Providers.MsSql namespace/project). Some Module manipulation sql-dependent code (using System.Data.SqlClient) is still not isolated to provider implementation, it is to be done soon.

Geographic provider

Geographic provider is used for getting Countries List and some other Geographic lists (see interface and usages)

It is used in Register pages (common base is class RegisterFull in RegisterFull.ascx.cs file). Also, it is well tested in Unit Tests (class GeographicProviderTests, see GeographicProviderTests.cs). Or rather its default implementation class SqlGeographicProvider in SqlGeographicProvider.cs is tested there.

Modules


Sign in to add a comment
Powered by Google Project Hosting