C1 2.1.3 Beta 2 available

Topics: Release notes
Jul 6, 2011 at 3:32 PM
Edited Aug 13, 2011 at 3:55 PM

For those who are running on one of the intermediate builds (2.1.1+) and want to upgrade to a more stable build, or those who want to try a new beta, here's a short description how to do it.


Changes from 2.1.1


- Url configuration / extensionless urls ( http://docs.composite.net/UrlConfiguration ).

- Ability to replace non-ASCII characthers in page urls ( http://docs.composite.net/UrlFormatting )

- Visual editor image upload.

- Visual editor preserves script/iframe/video tags.

- SqlServerDataProvider does not require MsSql SMO any more, enables SqlAzure support.

- tree views are now auto expanding - less mouse clicking 

- SEO/human friendly media urls f.e. /media/18e54aa7-948e-43dd-90b0-ce44b08661cb/Partners/CompositeC1.png

- Bug fixes & performance improvements


Upgrade procedure


We haven't made any data structure changes, so what’s needed is to merge configuration files and update some of the files

Upgrade steps:


0)      Create a backup copy of the site


1)      Download and extract an empty website based on changeset 8173, in description I will be referring to those files/folders as “the new site”



2)      Edit /App_Data/Composite/Composite.config

Add highlighted tags, if they aren't present:





                                                          <section name="Composite.Core.Urls" type="Composite.Core.Routing.Plugins.Runtime.UrlsConfiguration, Composite"/>






                                                                                       <Channel debugControlNamespace="http://www.composite.net/ns/management/bindingforms/internal.ui.controls.lib/1.0" debugControlName="Debug" name="AspNet.Management">


                                                                                                                                                 <Namespace name="http://www.composite.net/ns/management/bindingforms/internal.ui.controls.lib/1.0">



                                                                                                                                                 <Namespace name="http://www.composite.net/ns/management/bindingforms/std.ui.controls.lib/1.0">



                                                                                                                    <add userControlVirtualPath="~/Composite/controls/FormsControls/FormUiControlTemplates/Selectors/DoubleKeySelector.ascx" cacheCompiledUserControlType="false" type="Composite.Plugins.Forms.WebChannel.UiControlFactories.TemplatedDoubleKeySelectorUiControlFactory, Composite" name="DoubleKeySelector" />












                                                                                                                    <add name="Composite.Web.UrlConfiguration" defaultCultureName="en-US" type="Composite.Plugins.ResourceSystem.XmlStringResourceProvider.XmlStringResourceProvider, Composite">


                                                                                                                                                                              <add cultureName="en-US" xmlFile="~/Composite/localization/Composite.Web.UrlConfiguration.en-us.xml" monitorFileChanges="true" />






                              <Composite.Core.Urls defaultPageUrlProviderName="Default" >


                                                                                                                    <!-- Do not replace default page url provider, this functionality is to be changed -->

                                                                                                                    <add name="Default" type="Composite.Plugins.Routing.Pages.DefaultPageUrlProvider, Composite" />



                                                                                                                    <add name="Special characters" type="Composite.Plugins.Routing.UrlFormatters.StringReplaceUrlFormatter" mandatory="true">


                                                                                                                                                                              <add oldValue=" " newValue="-" />

                                                                                                                                                                              <add oldValue="?" newValue="" />

                                                                                                                                                                              <add oldValue="#" newValue="" />



                                                                                                                    <!--add name="LowerCase" type="Composite.Plugins.Routing.UrlFormatters.ToLowerCaseUrlFormatter" mandatory="false" /-->

                                                                                                                    <add name="Alphabets" type="Composite.Plugins.Routing.UrlFormatters.StringReplaceUrlFormatter" mandatory="true" rulesFile="~/App_Data/Composite/Configuration/UrlFormatting.xml" />







3)      Edit /Web.config

Remove the following tags, if they are present





Add the highlighted attributes and tags (merge changes with custom ones if they were made)






                                                          <validation validateIntegratedModeConfiguration="false" />

                                                          <modules runAllManagedModulesForAllRequests="true">

                                                                                       <remove name="UrlRoutingModule" />

                                                                                       <add name="LoggerHostnameHandler" type="Composite.Core.WebClient.Logging.WCF.LoggerHostnameHandler, Composite" />

                                                                                       <add name="ApplicationOfflineCheck" type="Composite.Core.Application.ApplicationOfflineCheckHttpModule, Composite" />

                                                                                       <add name="AjaxResponseHandler" type="Composite.Core.WebClient.Ajax.AjaxResponseHttpModule, Composite" />

                                                                                       <add name="CompositeAdministrativeResponseFilter" type="Composite.Core.WebClient.HttpModules.AdministrativeResponseFilterHttpModule, Composite" />

                                                                                       <add name="CompositeAdministrativeAuthorization" type="Composite.Core.WebClient.HttpModules.AdministrativeAuthorizationHttpModule, Composite" />

                                                                                       <add name="CompositeRequestInterceptor" type="Composite.Core.WebClient.Renderings.RequestInterceptorHttpModule, Composite" />

                                                                                       <add name="CompositeAdministrativeDataScopeSetter" type="Composite.Core.WebClient.HttpModules.AdministrativeDataScopeSetterHttpModule, Composite" />

                                                                                       <add name="CompositeAdministrativeCultureSetter" type="Composite.Core.WebClient.HttpModules.AdministrativeCultureSetterHttpModule, Composite" />

                                                                                       <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />



                                                                                       <add name="Wildcard ASP.NET mapping" preCondition="classicMode,runtimeVersionv4.0,bitness32" path="*" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" />

                                                                                       <add name="Wildcard ASP.NET mapping (x64)" preCondition="classicMode,runtimeVersionv4.0,bitness64" path="*" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" />

                                                                                       <add name="UrlRoutingHandler" preCondition="integratedMode" verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />






4)      Copy from the new site (and override if necessary) the following files:









Copy and override all the files from the following folders (note: not including subfolders)




Delete and copy the following folders









5)      If “Composite.Community.Blog” or “Composite.News” are installed, download and replace related dlls:



6)      Upgrade steps for Composite.Contrib project: 

a) Uninstall Contrib package. 

b) download a newer package file




c) In C1 Console find System -> Packages -> Installed packages -> Local packages, right click choose "Install local package" and choose the package you downloaded in the previous step

Jul 7, 2011 at 9:09 PM
Edited Jul 11, 2011 at 7:35 PM

I've always loved that Step "0" - Backup your site...

It should be :

Step 0 : Backup your site

Step 1 : Make sure you backed up your site

Step 2 : Proceed to step 3 after ensuring you have backed up your site.


(And this applies to any software on any platform... call me paranoid)

Jul 11, 2011 at 11:50 PM

After following these instructions on my test site, I have one error:


Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: Type 'Composite.Plugins.ResourceSystem.XmlStringResourceProvider.XmlStrComposite.Core.ResourceSystem.Plugins.ResourceProviderConfigurationingResourceProvider, Composite' could not be created

Source Error:

<add defaultCultureName="en-US" type="Composite.Plugins.ResourceSystem.XmlStringResourceProvider.XmlStrComposite.Core.ResourceSystem.Plugins.ResourceProviderConfigurationingResourceProvider, Composite" name="Composite.Plugins.StandardFunctions">

Source File: C:\inetpub\wwwroot\webbernaturals\Website\App_Data\Composite\Composite.config Line: 255

Any ideas where this issue is happening?

Jul 12, 2011 at 8:39 AM

>> After following these instructions on my test site, I have one error:

Looks like while applying changes to Composite.config, you likely misclicked somewhere - if you check that "type" attribute - it's not a correct type name.

I suggest reapplying changes to old Composite.config file

Jul 12, 2011 at 6:00 PM

Argh... why didn't I see the [somewhat] obvious. Turns out that while I was searching for Composite.Core.ResourceSystem.Plugins.ResourceProviderConfiguration I pasted it into the config file.

<add defaultCultureName="en-US" type="Composite.Plugins.ResourceSystem.XmlStringResourceProvider.XmlStrComposite.Core.ResourceSystem.Plugins.ResourceProviderConfigurationingResourceProvider, Composite" name="Composite.Plugins.StandardFunctions">

Thanks for the second set of eyes.
Jul 12, 2011 at 11:57 PM

For the record... these changes are simply great. They're just small things, but they REALLY REALLY help Composite C1 become a more flexible and usable CMS. Bravo!!!! I am loving C1 more and more...

Jul 23, 2011 at 12:51 AM

Is there any documentation out yet on upgrading from 2.1.1 with Contrib to 2.1.3 beta 2?

Our 2.1.1 build is from source with contrib (not your pre packaged stuff), and using SVN to merge the latest changes is not producing happy results.

Jul 29, 2011 at 11:59 AM

Hi guys

When is 2.1.3 approx expected?





Jul 29, 2011 at 12:08 PM

We ship when we have no blocking issues and that rule can pretty much mess up any schedule, but I'm realistically hoping that we can ship late August.

Aug 1, 2011 at 12:50 PM
Edited Aug 2, 2011 at 1:50 PM

>> Is there any documentation out yet on upgrading from 2.1.1 with Contrib to 2.1.3 beta 2?

Before C1 upgrade

Uninstall Contrib package. (If you have an already upgraded site and can access C1 Console, you can do it after upgrade)

After C1 Upgrade

1) download a newer package file




2) In C1 Console find System -> Packages -> Installed packages -> Local packages, right click choose "Install local package" and choose the package you downloaded in the previous step


EDIT: updated required changeset number in packages project ( 8618 )

Aug 5, 2011 at 8:33 PM

Is Beta3 (just released Wednesday) considered more Stable than this release, or does it just add a few features and fix a few bugs?

Aug 8, 2011 at 9:43 AM

>> Is Beta3 (just released Wednesday) considered more Stable than this release, or does it just add a few features and fix a few bugs?

Just a few features and bug fixes

Aug 13, 2011 at 1:56 PM

After upgrading to v2.1.3 as above, is it still possible to use Master Pages? I noticed once upgrading as above, my master pages are not picked up


Aug 13, 2011 at 3:51 PM
Edited Aug 13, 2011 at 3:55 PM

To @absmcv:  you have to upgrade Contrib project.

I updated step 6) in the first posts