Search
C1 3.0 Upgrade procedure Wiki Link: [discussion:280389]
Topics: Release notes
Coordinator
Nov 22 2011 at 1:10 PM
Edited Dec 20 2011 at 1:17 PM

NOTE: If you're running on C1 3.0 RC2 or RC3, there's a free upgrade package available, see details here

 

Requirements for upgrade


1. Your site should already be running on C1 2.1.1 or newer version

2. Visual Studio 2010

3. A tool for mergin code files. Recommended software is TortoiseMerge, it's free and can be download as a part of TortoiseSVN (http://tortoisesvn.net/downloads.html




Upgrade steps:


0. Remember to create a backup copy of your site. Stop the related application pool on IIS/WebMatrix before upgrading.


1. If you don't have TortoiseMerge installed, download and install it as a part of TortoiseSVN (http://tortoisesvn.net/downloads.html


2. Download & build C1 version you're going to upgrade to


C1 v3.0 RTM

http://compositec1.codeplex.com/SourceControl/changeset/changes/10372

 

3. Merge changes to web.config.


Use Visual Studio (or another text editor) to format your site's web.config. In VS the hotkeys are Ctrl+A, Ctrl+K-F

Download web.config versions for C1 2.1.1 and C1 3.0 RTM

http://docs.composite.net/Downloads/UpgradeFiles/3.0/web6706.xml

http://docs.composite.net/Downloads/UpgradeFiles/3.0/web9387.xml


Run TortoiseMerge to merge the changes. The setup is: 

"Base file" = web6706.xml (web.config from 2.1.1)

"Their file" = web9387.xml (web.config from 3.0 RTM)

"My file" = web.config from your site

 


Most of the changes likely will be merged automatically, resolve the conflicts and save the merged file


4. Perform the same steps to merge changes to file /App_Data/Composite/composite.config
Format xml in Visaul Studio Download composite.config versions for C1 2.1.1 and C1 3.0 RTM

http://docs.composite.net/Downloads/UpgradeFiles/3.0/composite6706.xml

http://docs.composite.net/Downloads/UpgradeFiles/3.0/composite9387.xml


Before running mergin tool edit the config file and move section "loggingConfiguration" to the bottom of the file

 

    ...
 <loggingConfiguration name="Logging Application Block" tracingEnabled="true" defaultCategory="General" logWarningsWhenNoCategoriesMatch="true"> 
   ....
 </loggingConfiguration>
</configuration>

 

Run TortoiseMerge to merge the changes. The setup is: 

"Base file" = composite6706.xml (composite.config from 2.1.1)

"Their file" = composite9387.xml (composite.config from 3.0 RTM)

"My file" = /App_Data/Composite/composite.config from your site


5. Updating files & folders.

 

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


\default.aspx

\App_Data\Composite\Configuration\UrlFormatting.xml

\App_Data\Composite\TreeDefinitions\UrlConfiguration.xml

\Bin\Composite.dll

\Bin\Composite.Workflows.dll

\Frontend\Config\VisualEditor\common.xml (merge custom changes if needed)

\Frontend\Config\VisualEditor\Styles\core.css


Delete the following file:


\App_Data\Composite\Configuration\XmlDataProvider.config


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


\Composite\*.*

\Composite\localization\*.*

\Renderers\*.*


Delete and copy the following folders


\Composite\content\

\Composite\controls\

\Composite\flash\

\Composite\images\

\Composite\services\

\Composite\scripts\

\Composite\schemas\

\Composite\skins\

\Composite\styles\

\Composite\transformations\

\Composite\templates\


5. [Not needed while upgrading from C1 2.1.3 or newer version]. If “Composite.Community.Blog” or “Composite.News” are installed, download and replace related dlls:


 http://docs.composite.net/Downloads/Temp/2.1.3Beta2/Composite.Community.Blog.dll 

 http://docs.composite.net/Downloads/Temp/2.1.3Beta2/Composite.News.dll


6. [Not needed while upgrading from C1 2.1.3 or newer version]. Upgrade steps for Composite.Contrib project: 


a) Uninstall Contrib package. 

b) download a newer package file Contribution.CompositeC1Contrib.Core/Release/Contribution.CompositeC1Contrib.Core.zip from http://c1packages.codeplex.com/SourceControl/changeset/changes/8618

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



We hope you'll like the changes and we're looking forward to hearing your feedback

Dec 13 2011 at 9:14 PM

Trying to upgradem a 2.1 site. Now I have error on the site: 

Could not load configuration section Composite.Core.IO.Plugins.IOProviderConfiguration
Could it be something with /App_Data/Composite/composite.config? or where should I look
In my opinion Tortoisemerge is not an easy tool allthough I have used it before. Ever considered a video demo ;-)

Coordinator
Dec 13 2011 at 11:16 PM

Yes, it should be something wrong with Composite.config's section named 

Composite.Core.IO.Plugins.IOProviderConfiguration

in the case you won't find what's wrong there, post it here.

Coordinator
Dec 14 2011 at 9:36 AM

@jna instead of 3 way merge, you can just use Tourtoise SVN to compare versions before ( composite6706.xml ), and after ( composite9387.xml ). The tool will show the differences, and you can  manually add those changes to your configuration file, that would be the easiest way to do it.

Dec 15 2011 at 9:05 AM

hi @napernik,

 

is there any way to upgrade from C1 3.0 RC1 (Build no. 3.0.4328.30474) to C1 3.0 RC2 ?

 

-Ruslan 

Dec 15 2011 at 7:54 PM
Edited Dec 16 2011 at 7:18 AM

I don't really get it. If I check my existing  /App_Data/Composite/composite.config it is very different from composite6706.xml.

Web.config and Composite.config should not be alike??

You say that we should use the same two xml-files for web.config merge and composite.config merge. Is that really true?

The reason why I get a Could not load configuration section Composite.Core.IO.Plugins.IOProviderConfiguration is because it doesn't exixsts in web6706.xml or web9387.xml which probably isn't the files we should use then.

I'm stock..

Coordinator
Dec 16 2011 at 8:43 AM
Edited Dec 16 2011 at 8:43 AM

Hi @jna

>> You say that we should use the same two xml-files for web.config merge and composite.config merge. Is that really true?

No, you got me wrong there, I provided different links for different config files, I quote the steps 3) and 4):

......

http://docs.composite.net/Downloads/UpgradeFiles/3.0/web6706.xml

http://docs.composite.net/Downloads/UpgradeFiles/3.0/web9387.xml

Run TortoiseMerge to merge the changes. The setup is: 

"Base file" = web6706.xml (web.config from 2.1.1)

"Their file" = web9387.xml (web.config from 3.0 RC4)

"My file" = web.config from your site

........

http://docs.composite.net/Downloads/UpgradeFiles/3.0/composite6706.xml

http://docs.composite.net/Downloads/UpgradeFiles/3.0/composite9387.xml

Run TortoiseMerge to merge the changes. The setup is: 

"Base file" = composite6706.xml (composite.config from 2.1.1)

"Their file" = composite9387.xml (composite.config from 3.0 RC4)

"My file" = /App_Data/Composite/composite.config from your site

.......

Coordinator
Dec 16 2011 at 8:59 AM

Hi @rvesyliv

If you check changesets http://compositec1.codeplex.com/SourceControl/list/changesets, you'll see that RC3 is change set 9864,

RC1 is 9777, that means that changesets in between (98019817 and 9823) are the changes you have to apply.

I'm copy pasting the changes from those templates which aren't related to Composite.dll & Composite.Website.dll:

9801:

edit CompositeC1/Website/Composite/content/misc/editors/codemirroreditor/codemirror.aspx (view diff)
edit CompositeC1/Website/Composite/content/misc/editors/codemirroreditor/codemirror.js (view diff)
delete CompositeC1/Website/Composite/content/misc/editors/codemirroreditor/CodeMirror/compress.html
delete CompositeC1/Website/Composite/content/misc/editors/codemirroreditor/CodeMirror/css/baboon.png
delete CompositeC1/Website/Composite/content/misc/editors/codemirroreditor/CodeMirror/css/baboon_vector.svg
delete CompositeC1/Website/Composite/content/misc/editors/codemirroreditor/CodeMirror/css/docs.css
delete CompositeC1/Website/Composite/content/misc/editors/codemirroreditor/CodeMirror/css/font.js
delete CompositeC1/Website/Composite/content/misc/editors/codemirroreditor/CodeMirror/index.html
delete CompositeC1/Website/Composite/content/misc/editors/codemirroreditor/CodeMirror/internals.html
delete CompositeC1/Website/Composite/content/misc/editors/codemirroreditor/CodeMirror/LICENSE
delete CompositeC1/Website/Composite/content/misc/editors/codemirroreditor/CodeMirror/manual.html
delete CompositeC1/Website/Composite/content/misc/editors/codemirroreditor/CodeMirror/oldrelease.html
delete CompositeC1/Website/Composite/content/misc/editors/codemirroreditor/CodeMirror/README.md
delete CompositeC1/Website/Composite/content/misc/editors/codemirroreditor/CodeMirror/theme/cobalt.css
delete CompositeC1/Website/Composite/content/misc/editors/codemirroreditor/CodeMirror/theme/default.css
delete CompositeC1/Website/Composite/content/misc/editors/codemirroreditor/CodeMirror/theme/eclipse.css
delete CompositeC1/Website/Composite/content/misc/editors/codemirroreditor/CodeMirror/theme/elegant.css
delete CompositeC1/Website/Composite/content/misc/editors/codemirroreditor/CodeMirror/theme/neat.css
delete CompositeC1/Website/Composite/content/misc/editors/codemirroreditor/CodeMirror/theme/night.css
add CompositeC1/Website/Composite/content/misc/editors/codemirroreditor/theme/composite.css (view diff)
edit CompositeC1/Website/Composite/controls/FormsControls/FormUiControlTemplates/DeveloperTools/TextEditor.ascx (view diff)
edit CompositeC1/Website/Composite/scripts/compressed/top.js (view diff)
edit CompositeC1/Website/Composite/scripts/source/top/ui/bindings/editors/codemirroreditor/CodeMirrorEditorBinding.js (view diff)
edit CompositeC1/Website/Composite/welcome.inc (view diff)
edit CompositeC1/Website/Renderers/Page.aspx.cs (view diff)

9817

edit CompositeC1/Website/Composite/localization/Composite.Cultures.en-us.xml (view diff)

 9823

edit CompositeC1/Website/Composite/content/forms/Administrative/FunctionTesterEditFunction.xml (view diff)
edit CompositeC1/Website/Composite/content/misc/editors/codemirroreditor/codemirror.js (view diff)
edit CompositeC1/Website/Composite/localization/Composite.Plugins.AllFunctionsElementProvider.en-us.xml (view diff)

 

Based on those changes, here're the upgrade steps:

1) Replace  Composite.dll & Composite.Workflows.dll with versions from RC2

2) Delete the files that are marked as "delete" in changesets

2) Replace the files that are marked as "edit" in changesets

Coordinator
Dec 20 2011 at 1:18 PM
Edited Dec 20 2011 at 1:19 PM

updated

Jan 9 at 3:00 PM

Hi @napernik,

I have just attempted to perform the upgrade from C1 v2.1.1 to v3 according to your steps posted above.  We have a very basic installation of C1 at the moment.  I have followed your steps above, but am getting a problem after completion.

I get the following error when I start the Application Pool up again and attempt to access Composite C1:

Server Error in '/' Application.

Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.


Stack Trace:

[ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.]
   System.Reflection.RuntimeModule.GetTypes(RuntimeModule module) +0
   System.Reflection.Assembly.GetTypes() +159
   Composite.Data.DataMetaDataFacade.GetDataTypeDescriptor(Guid dataTypeId, Boolean allowDataTypeCreation) +314
   Composite.Data.Foundation.EmptyDataClassTypeManager.GetEmptyDataClassType(Type interfaceType, Boolean forceReCompilation) +74
   Composite.Data.DataFacade.BuildNew(Boolean suppressEventing) +50
   Composite.Core.Routing.HostnameBindingsFacade.ConvertLegasyBindings() +629
   Composite.Core.Routing.HostnameBindingsFacade.Initialize() +191
   Composite.Core.WebClient.ApplicationLevelEventHandlers.ApplicationStartInitialize(Boolean displayDebugInfo) +328
   Composite.Core.WebClient.ApplicationLevelEventHandlers.Application_Start(Object sender, EventArgs e) +288

[HttpException (0x80004005): Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.]
   System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +4052053
   System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +191
   System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +352
   System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +407
   System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +375

[HttpException (0x80004005): Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +11686928
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +141
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +4863749



Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.237              

Can you please advise what I can do.

Coordinator
Jan 9 at 4:07 PM

@ozzyknox one of the dll's in the /Bin folder failed to be loaded. Try to find which of the dlls in the /Bin folder causes the problem (either by replacing Composite.dll with a debug version and attaching Visual Studio 2010, or buy trying to removing dlls from bin folder one by one to see what happens :) ).

Once you find which one it is - either get a newer version of that dll (if it's a package), or make the adjustments if you have it's source code.

Jan 16 at 10:45 PM

Hi,

I've followed the guide, and now i get this error:

 



Server Error in '/' Application.
--------------------------------------------------------------------------------


 Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:





Line 8:          ApplicationLevelEventHandlers.LogApplicationLevelErrors = false;
Line 9:         
Line 10:         ApplicationLevelEventHandlers.Application_Start(sender, e);
Line 11:     }
Line 12: 

Source File: d:\Development\Composite\HerningVolleyV3\Global.asax    Line: 10

Stack Trace:





[NullReferenceException: Object reference not set to an instance of an object.]
   Composite.Core.Routing.HostnameBindingsFacade.OnBeforeUpdatingHostnameBinding(Object sender, DataEventArgs dataeventargs) +76
   Composite.Data.<>c__DisplayClass4.<FireDataBeforeAddEvent>b__3(DataEventHandler callback) +16
   Composite.Data.DataEventSystemFacade.Fire(Hashtable`2 collection, Type dataType, ExecuteCallback`1 runner) +588
   Composite.Data.DataEventSystemFacade.FireDataBeforeAddEvent(Type dataType, IData data) +105
   Composite.Data.DataEventSystemFacade.FireDataBeforeAddEvent(IData data) +42
   Composite.Data.DataFacadeImpl.AddNew_AddingMethod(String providerName, IEnumerable`1 datas, Boolean suppressEventing, Boolean performForeignKeyIntegrityCheck, Boolean performeValidation) +735
   Composite.Data.DataFacadeImpl.AddNew(IEnumerable`1 datas, Boolean allowStoreCreation, Boolean suppressEventing, Boolean performForeignKeyIntegrityCheck, Boolean performeValidation, List`1 writeableProviders) +473
   Composite.Data.DataFacade.AddNew(IEnumerable`1 collection, Boolean allowStoreCreation, Boolean suppressEventing, Boolean performForeignKeyIntegrityCheck, Boolean performeValidation, List`1 writeableProviders) +92
   Composite.Data.DataFacade.AddNew(T data) +107
   Composite.Core.Routing.HostnameBindingsFacade.ConvertLegasyBindings() +612
   Composite.Core.Routing.HostnameBindingsFacade.Initialize() +119
   Composite.Core.WebClient.ApplicationLevelEventHandlers.ApplicationStartInitialize(Boolean displayDebugInfo) +180
   Composite.Core.WebClient.ApplicationLevelEventHandlers.Application_Start(Object sender, EventArgs e) +302
   ASP.global_asax.Application_Start(Object sender, EventArgs e) in d:\Development\Composite\HerningVolleyV3\Global.asax:10

[HttpException (0x80004005): Object reference not set to an instance of an object.]
   System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +9173085
   System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +131
   System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +194
   System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +339
   System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +253

[HttpException (0x80004005): Object reference not set to an instance of an object.]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9092188
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +97
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +256
 


--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.547


 

Any idea what i could have done wrong?

Jan 16 at 10:52 PM

check and double-check that you don't have any instances of the IPageHostname datatype. If you have, delete them and create your hostnames under the new "Url Configuration" in the System perspective.

I had problems with this also that the Hostnamebindings update routines just fails :(

Jan 18 at 4:47 PM

How do i know if i have any IPageHostname datatypes?

Jan 18 at 5:04 PM

either look in your database for the table IPageHostname or in the folder ~/App_Data/Composite/DataStores after a .xml file named IPageHostname 

Jan 19 at 5:53 PM

I only have a Composite.Data.Types.IPageHostNameBindings_public.xml in that folder. And if I remove this file, i get an error.

Is the problem in me config files some where?

Can someone post a complete Web.config anf Composite.config for 3.0?

Coordinator
Jan 20 at 10:22 AM

You can find the complete configs by downloading the 3.0 release http://compositec1.codeplex.com/releases/view/78299

Jan 20 at 10:30 AM

:) you shouldn't delete the file, but open it in notepad and make sure it doesn't contain any nodes like this

<HostnameBindings />

Jan 21 at 2:36 PM

I still can't get this to work, i still get an error in Global.asax.

I've tried to tried completing the whole process again. And i get the same result.
I even tried copying the 2 config files from a 3.0 solution. but that didn't change a thing.

I don't have a file named IPageHostname.xml in my DataStores folder. I have a IPageHostNameBindings.xml, changing this file to only contain the root node didn't fix it.

Got any other ideas?

Developer
Jan 24 at 9:43 AM
boedlen wrote:

I still can't get this to work, i still get an error in Global.asax.

I've tried to tried completing the whole process again. And i get the same result.
I even tried copying the 2 config files from a 3.0 solution. but that didn't change a thing.

I don't have a file named IPageHostname.xml in my DataStores folder. I have a IPageHostNameBindings.xml, changing this file to only contain the root node didn't fix it.

Got any other ideas?

Hi boedlen

Could you please provide more detailed info?

1. What version / build number have you upgraded to version 3.0 from?
2. Was the website SQL- or XML-based?
3. Was it based (originally) on some specific Starter Site (for example, Master Pages based)?
4. What is your environment like? The OS's version, the web server's version, the SQL server's version (if used)?
5. Anything specific about the website that might make difference (for example,  custom integration with some product, etc)?
6. Any specific hostname settings?

Thank you

/Vitaly

Developer
Jan 24 at 11:15 AM
Edited Jan 24 at 11:18 AM
boedlen wrote:

I don't have a file named IPageHostname.xml in my DataStores folder. I have a IPageHostNameBindings.xml, changing this file to only contain the root node didn't fix it.

I have just tried to upgrade v 2.1.1 (XML-based) to v 3.0 following the above steps (Env: Win7, IIS 7.5).

I had two hostnames (en.a.local and en.b.local) bound to two subsites in my Composite C1. These hostname bindings are registered in Composite.Data.Types.IPageHostNameBinding_Published.xml.

After I have started the site (after the upgrade), I got the same error: "......[NullReferenceException: Object reference not set to an instance of an object.]   Composite.Core.Routing.HostnameBindingsFacade.OnBeforeUpdatingHostnameBinding(Object sender, DataEventArgs dataeventargs) +140........"

I have commented out the entries on those bindings in Composite.Data.Types.IPageHostNameBinding_Published.xml:

<?xml version="1.0" encoding="utf-8"?>
<PageHostNameBindings>
  <!--
  <PageHostNameBinding PageId="4ebf9259-9828-419c-820e-8e99ccc50c2f" HostName="en.b.local" />
  <PageHostNameBinding PageId="a3055286-0e90-4b04-99dd-fb1a61dde0bf" HostName="en.a.local" />
  -->
</PageHostNameBindings>

...  and restarted the website in the browser. Now it have worked OK.

Hope this would help.

If not, please point me out the essential differences on your website from my steps above. Thank you

/Vitaly

Updating...
© 2006-2012 Microsoft | Get Help | Privacy Statement | Terms of Use | Code of Conduct | Advertise With Us | Version 2012.2.15.18416