Click here to Skip to main content
15,886,199 members
Articles / Web Development / CSS

15 Steps to Develop a Product Management System in Only a Day

Rate me:
Please Sign up or sign in to vote.
4.83/5 (51 votes)
23 Mar 2010GPL34 min read 247.9K   4.8K   163  
The article introduces how to easily develop business solutions in RapidWebDev through developing a product management system with the special requirement step by step.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
	<configSections>
		<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
			<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
				<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
				<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
					<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere" />
					<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
					<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
					<section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
				</sectionGroup>
			</sectionGroup>
		</sectionGroup>
		<sectionGroup name="spring">
			<section name="context" type="Spring.Context.Support.WebContextHandler, Spring.Web" />
			<section name="typeAliases" type="Spring.Context.Support.TypeAliasesSectionHandler, Spring.Core" />
		</sectionGroup>
		<sectionGroup name="common">
			<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
		</sectionGroup>
		<section name="dataContext" type="RapidWebDev.Common.Data.DataContextConfiguration, RapidWebDev.Common" />
		<section name="framePage" type="RapidWebDev.UI.DynamicPages.Configurations.FramePageConfigurationSection, RapidWebDev.UI" />
	</configSections>

	<appSettings />

	<dataContext enabledMSDTC="false" commandTimeout="30">
		<settings>
			<setting name="MembershipDataContext" connectionType="System.Data.SqlClient.SqlConnection" connectionStringName="Global" />
			<setting name="ExtensionModelDataContext" connectionType="System.Data.SqlClient.SqlConnection" connectionStringName="Global" />
			<setting name="ProductManagementDataContext" connectionType="System.Data.SqlClient.SqlConnection" connectionStringName="Global" />
		</settings>
	</dataContext>

	<connectionStrings>
		<add name="Global" providerName="System.Data.SqlClient" connectionString="Data Source=.\sqlexpress;Initial Catalog=ProductManagement;Integrated Security=True; Max Pool Size=4096; Min Pool Size=10" />
	</connectionStrings>

	<system.web>
		<compilation debug="true">
			<assemblies>
				<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
				<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
				<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
				<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
				<add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
			</assemblies>
		</compilation>

		<authentication mode="Forms">
			<forms name=".Global" defaultUrl="FramePage.svc" loginUrl="LogOn.aspx" slidingExpiration="true" timeout="60" />
		</authentication>

		<httpRuntime maxRequestLength="4096" />
		<pages configSource="Config\pages.config" />
		<globalization culture="auto" uiCulture="auto" />

		<httpHandlers>
			<remove verb="*" path="*.asmx" />
			<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
			<add path="*.aspx" verb="*" type="Spring.Web.Support.PageHandlerFactory, Spring.Web" />
			<add path="DynamicPage.svc" verb="*" type="RapidWebDev.UI.Services.DynamicPageHandler, RapidWebDev.UI" />
			<add path="DynamicPageDataService.svc" verb="GET, POST" type="RapidWebDev.UI.Services.DynamicPageDataServiceHandler, RapidWebDev.UI" />
			<add path="DynamicPageDownloadExcel.svc" verb="*" type="RapidWebDev.UI.Services.DynamicPageDataToExcelHandler, RapidWebDev.UI" />
			<add path="DynamicPageHtmlPrinter.svc" verb="*" type="RapidWebDev.UI.Services.DynamicPageDataToHtmlHandler, RapidWebDev.UI" />
			<add path="DetailPanel.svc" verb="*" type="RapidWebDev.UI.Services.DetailPanelPageHandler, RapidWebDev.UI" />
			<add path="AggregatePanel.svc" verb="*" type="RapidWebDev.UI.Services.AggregatePanelPageHandler, RapidWebDev.UI" />
			<add path="FramePage.svc" verb="*" type="RapidWebDev.UI.Services.FramePageHandler, RapidWebDev.UI" />
			<add path="ContextMonitor.ashx" verb="*" type="Spring.Web.Support.ContextMonitor, Spring.Web" />
			<add path="*_AppService.axd" verb="*" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
			<add path="ScriptResource.axd" verb="GET,HEAD" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false" />
		</httpHandlers>

		<httpModules>
			<add name="Spring" type="Spring.Context.Support.WebSupportModule, Spring.Web" />
			<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
			<add name="PlatformModule" type="RapidWebDev.Platform.PlatformModule, RapidWebDev.Platform" />
		</httpModules>

		<machineKey configSource="Config\machineKey.config" />
		<membership configSource="Config\membership.config" />
		<roleManager configSource="Config\roleManager.config" />
		<sessionState mode="InProc" stateNetworkTimeout="30" timeout="14400" />
		<customErrors configSource="Config\customErrors.config" />
	</system.web>

	<system.codedom>
		<compilers>
			<compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
				<providerOption name="CompilerVersion" value="v3.5" />
				<providerOption name="WarnAsError" value="false" />
			</compiler>

			<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
				<providerOption name="CompilerVersion" value="v3.5" />
				<providerOption name="OptionInfer" value="true" />
				<providerOption name="WarnAsError" value="false" />
			</compiler>
		</compilers>
	</system.codedom>


	<system.webServer>
		<validation validateIntegratedModeConfiguration="false" />

		<modules>
			<remove name="ScriptModule" />
			<add name="Spring" type="Spring.Context.Support.WebSupportModule, Spring.Web" />
			<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
			<add name="PlatformModule" type="RapidWebDev.Platform.PlatformModule, RapidWebDev.Platform" />
		</modules>

		<handlers>
			<remove name="WebServiceHandlerFactory-Integrated" />
			<remove name="ScriptHandlerFactory" />
			<remove name="ScriptHandlerFactoryAppServices" />
			<remove name="ScriptResource" />
			<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
			<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
			<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
			<add name="UrlRoutingHandler" preCondition="integratedMode" verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
			<add name="DynamicPage" path="DynamicPage.svc" preCondition="managedHandler" verb="*" type="RapidWebDev.UI.Services.DynamicPageHandler, RapidWebDev.UI" />
			<add name="DynamicPageDataService" path="DynamicPageDataService.svc" preCondition="managedHandler" verb="GET, POST" type="RapidWebDev.UI.Services.DynamicPageDataServiceHandler, RapidWebDev.UI" />
			<add name="DynamicPageDownloadExcel" path="DynamicPageDownloadExcel.svc" preCondition="managedHandler" verb="GET, POST" type="RapidWebDev.UI.Services.DynamicPageDataToExcelHandler, RapidWebDev.UI" />
			<add name="DynamicPageHtmlPrinter" path="DynamicPageHtmlPrinter.svc" preCondition="managedHandler" verb="*" type="RapidWebDev.UI.Services.DynamicPageDataToHtmlHandler, RapidWebDev.UI" />
			<add name="DetailPanel" path="DetailPanel.svc" preCondition="managedHandler" verb="*" type="RapidWebDev.UI.Services.DetailPanelPageHandler, RapidWebDev.UI" />
			<add name="AggregatePanel" path="AggregatePanel.svc" preCondition="managedHandler" verb="*" type="RapidWebDev.UI.Services.AggregatePanelPageHandler, RapidWebDev.UI" />
			<add name="FramePage" path="FramePage.svc" preCondition="managedHandler" verb="*" type="RapidWebDev.UI.Services.FramePageHandler, RapidWebDev.UI" />
		</handlers>
		<defaultDocument>
			<files>
				<clear />
                <add value="LogOn.aspx" />
			</files>
		</defaultDocument>
	</system.webServer>

	<system.serviceModel>
		<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
		<behaviors>
			<serviceBehaviors>
				<behavior name="AuthenticationBehavior">
					<serviceMetadata httpGetEnabled="true" httpsGetEnabled="false" />
					<serviceDebug includeExceptionDetailInFaults="true" />
				</behavior>
			</serviceBehaviors>
			<endpointBehaviors>
				<behavior name="RestfulEndpointBehavior">
					<dataContractSerializer maxItemsInObjectGraph="2147483646" />
					<webHttp />
				</behavior>
			</endpointBehaviors>
		</behaviors>
		<bindings>
			<webHttpBinding>
				<binding name="HttpStreaming">
					<security mode="None">
						<transport clientCredentialType="None" />
					</security>
				</binding>
			</webHttpBinding>
			<mexHttpBinding>
				<binding name="HttpStreaming" closeTimeout="00:05:00" openTimeout="00:05:00" receiveTimeout="01:00:00" sendTimeout="01:00:00" />
			</mexHttpBinding>
		</bindings>
		<services>
			<service name="RapidWebDev.Platform.Services.OrganizationService" behaviorConfiguration="AuthenticationBehavior">
				<clear />
				<endpoint address="http://localhost:51702/Services/OrganizationService.svc" behaviorConfiguration="RestfulEndpointBehavior" binding="webHttpBinding" bindingConfiguration="HttpStreaming" contract="RapidWebDev.Platform.Services.IOrganizationService" listenUriMode="Explicit" />
				<endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="HttpStreaming" contract="IMetadataExchange" />
			</service>
			<service name="RapidWebDev.Platform.Services.RoleService" behaviorConfiguration="AuthenticationBehavior">
				<clear />
				<endpoint address="http://localhost:51702/Services/RoleService.svc" behaviorConfiguration="RestfulEndpointBehavior" binding="webHttpBinding" bindingConfiguration="HttpStreaming" contract="RapidWebDev.Platform.Services.IRoleService" listenUriMode="Explicit" />
				<endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="HttpStreaming" contract="IMetadataExchange" />
			</service>
			<service name="RapidWebDev.Platform.Services.HierarchyService" behaviorConfiguration="AuthenticationBehavior">
				<clear />
				<endpoint address="http://localhost:51702/Services/HierarchyService.svc" behaviorConfiguration="RestfulEndpointBehavior" binding="webHttpBinding" bindingConfiguration="HttpStreaming" contract="RapidWebDev.Platform.Services.IHierarchyService" listenUriMode="Explicit" />
				<endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="HttpStreaming" contract="IMetadataExchange" />
			</service>
			<service name="RapidWebDev.Platform.Services.ConcreteDataService" behaviorConfiguration="AuthenticationBehavior">
				<clear />
				<endpoint address="http://localhost:51702/Services/ConcreteDataService.svc" behaviorConfiguration="RestfulEndpointBehavior" binding="webHttpBinding" bindingConfiguration="HttpStreaming" contract="RapidWebDev.Platform.Services.IConcreteDataService" listenUriMode="Explicit" />
				<endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="HttpStreaming" contract="IMetadataExchange" />
			</service>
		</services>
	</system.serviceModel>

	<spring>
		<typeAliases>
			<alias name="WebResource" type="RapidWebDev.UI.WebResources.WebResource, RapidWebDev.UI"/>
			<alias name="WebResourceGroup" type="RapidWebDev.UI.WebResources.WebResourceGroup, RapidWebDev.UI"/>
		</typeAliases>
		<context>
			<resource uri="~/Spring/all.config" />
		</context>
	</spring>

	<common>
		<logging>
			<factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4Net">
				<!-- Possible values are ALL, DEBUG, INFO, WARN, ERROR, FATAL, OFF -->
				<arg key="Level" value="ERROR" />
				<arg key="configType" value="FILE" />
				<arg key="configFile" value="~/Config/log4net.config" />
			</factoryAdapter>
		</logging>
	</common>
	
	<framePage NavigationBarTitle="$Resources.Common.NavigationBarTitle, RapidWebDev.Web$"
		FramePageTitle="$Resources.Common.FramePageTitle, RapidWebDev.Web$"
		HeaderTemplate="~/Templates/Header.ascx"
		DefaultPageUrl="Default.aspx"
		DefaultTabTitle="$Resources.Common.DefaultTabTitle, RapidWebDev.Web$"
		EnableMultipleTabs="true"
		MaximumTabs="5" />
</configuration>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The GNU General Public License (GPLv3)


Written By
President TCWH
China China
I've worked as a software architect and developer based on Microsoft .NET framework and web technology since 2002, having rich experience on SaaS, multiple-tier web system and website development. I've devoted into open source project development since 2003, and have created 3 main projects including DataQuicker (ORM), ExcelQuicker (Excel Report Generator), and RapidWebDev (Enterprise-level CMS)

I worked in BenQ (8 mo), Bleum (4 mo), Newegg (1 mo), Microsoft (3 yr) and Autodesk (5 yr) before 2012. Now I own a startup company in Shanghai China to deliver the exceptional results to global internet users by leveraging the power of Internet and the local excellence.

Comments and Discussions