A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/devbridge/BetterCMS/wiki/Setup-ASP.NET-MVC-4-project below:

Setup ASP.NET MVC 4 project · devbridge/BetterCMS Wiki · GitHub

Prerequisites:

Note: this tutorial is available in video format: http://www.youtube.com/watch?v=mHJzmsFPrM4

In NuGet console, paste the line below:

Install-Package BetterCMS

This will install the Better CMS NuGet package and all the dependent packages.

After a successful Better CMS package installation, update your Global.asax.cs file with the following usings:

using System.Security.Principal;
using BetterCms.Core;
using BetterCms.Core.Environment.Host;

and code:

private static ICmsHost cmsHost;

protected void Application_Start()
{
    cmsHost = CmsContext.RegisterHost();

    /* DO NOT FORGET TO REMOVE DEFAULT ROUTE REGISTRATION! 
       FOLLOWING SOURCE CODE SHOULD BE REMOVED: 

       routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
    */

    // [YOUR CODE]	
		
    cmsHost.OnApplicationStart(this);
}

protected void Application_BeginRequest()
{
    // [YOUR CODE]
	
    cmsHost.OnBeginRequest(this);
}

protected void Application_EndRequest()
{
    // [YOUR CODE]
	
    cmsHost.OnEndRequest(this);
}

protected void Application_Error()
{
    // [YOUR CODE]
	
    cmsHost.OnApplicationError(this);
}

protected void Application_End()
{
    // [YOUR CODE]
	
    cmsHost.OnApplicationEnd(this);
}

protected void Application_AuthenticateRequest(object sender, EventArgs e)
{
    // [YOUR CODE]

    // Uncomment following source code for a quick Better CMS test if you don't have implemented users authentication. 
    // Do not use this code for production!
    /*
    var roles = new[] { "BcmsEditContent", "BcmsPublishContent", "BcmsDeleteContent", "BcmsAdministration" };
    var principal = new GenericPrincipal(new GenericIdentity("TestUser"), roles);
    HttpContext.Current.User = principal;
    */

    cmsHost.OnAuthenticateRequest(this);
}

Better CMS adds default pages with / path - be sure to update your site routes configuration to not takeover the site root path. Do not forget to remove the default route registration, too.

You only need to create a database instance and update the connection string in Web.config to point to it (use named instance called BetterCms). Update Config/cms.config tag <database [...]/> with the correct information. All the necessary database structure (tables and etc.) will be created when the application starts. The default (if not set) database type is MsSql2008.

  <database
     schemaName="dbo"
     connectionStringName="DefaultConnection"
     databaseType="MsSql2008" >
  </database>

Other available DB types: MsSql2000, MsSql2005, Oracle10, Oracle9, PostgreSQL82. Currently only MS Sql Server and Azure is supported.

Note: If you have changed the database and would like for Better CMS to create all the structures in the new one, please delete the App_Data/BetterCMS/versions.info.cache file (this will force CMS to check the versions information in the database).

Update Web.config file:

<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
      </dependentAssembly>
    [...]
  </assemblyBinding>
</runtime>

Check webpages version (webpages:Version) and disable simple membership provider (enableSimpleMembership) if you're not going to use it.

<appSettings>
  <add key="webpages:Version" value="2.0.0.0" />
  <add key="enableSimpleMembership" value="false" />
  [...]
<appSettings>

Add a current line to web.config's system.webServer section (Note: this is a temporary solution). This is required for such files as main.js to be loaded correctly:

<system.webServer>
  <modules runAllManagedModulesForAllRequests="true" />
</system.webServer>

After these steps, Better CMS is ready to use.

Note: Do not forget about cache.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4