Releases: Orckestra/C1-CMS-Foundation
Composite C1 5.0
Composite C1 5.0 (5.0.5827.21806)
What’s new?
Version 5 is our third major release since we open-sourced Composite C1 five years ago, and in terms of both visuals / UX and developer tooling, there is a lot of good new stuff in this one.
You can download the release here: https://github.com/Orckestra/C1-CMS/releases/download/v5.0/Composite.C1.5.0.zip
End users will appreciate that the C1 Console has a brand new look and feel, is even simpler to use and runs a lot faster. The editing experience is a lot more visual, most notably the media browsing experience.
Developers have much better MVC support when building applications, Razor developers can create data views a lot faster and new tooling in the C1 Console lets you test pages on different devices, analyze pages using services like Google PageSpeed and the W3C validator, quickly locate the C1 Functions running on a page.
We also added support for storing media on external locations, like a CDN, dependency injection support on C1 Functions and improvements around data and URL handling.
We completely redesigned the UI
The biggest change in v5 is the UI in the C1 Console – the classic Windows look and feel is gone and replaced with a modern and simplified user interface. It is also faster - while redesigning the console, we replaced the parts of the client framework that contained “legacy compromises” we initially had to support for older IE. With these elements gone, the new console is a lot faster to work with.
Locating content is a visual experience
The C1 Console is not re-skinned – we have also moved a few big elements around, which you will notice when you start to navigate content. We made content navigation a visual experience by introducing a browser view that matches (displays) the content node you have navigated to. This concept existed to some degree in previous versions, but now it is fully baked into the UI and spans things like data items, media, log views as well as pages.
Device previews and handy page analysis tools
The browser – when viewing HTML pages – now also offers you different view modes. You can choose to view pages as they will render within the browser, or you can select between different device sizes to see how your pages adapt on devices like phones and tablets. A view can also be a service like Google PageSpeed Insights and the W3C markup validator or the built-in C1 Page Speed report that will give you a performance report on a page, making it easy to identify which C1 Functions take the most time to render on any given page.
The UI adapts to fit your task
Once you start editing pages, you will notice another big change. The tree and related command buttons are no longer globally available when you focus on a concrete task. We have made the tree/commands/browser combo a tab element, and switching to a new tab removes all these elements from your immediate view. This eliminates a lot of visible complexity from the UI and opens up the available workspace, ultimately giving a better user experience.
Linking to data items
With v5 it is now possible to link to data items and tree elements that are associated with a URL provider. For developers who use the new RoutedData<T>
feature, this association happens automatically, and for more advanced scenarios, you can register your own provider.
Data item browser previews
Data items and tree elements that are associated with a URL provider will now render a preview in the C1 Console browser when selected, and the tree elements will be auto-selected when you browse to such elements. This makes the “browse to an item to edit” scenario work for both pages and data items in the console.
Excellent support for MVC
With v5 we also introduce MVC Functions, which enable you to embed MVC Controllers and Actions in C1 templates and content at a much deeper level than our MVC Player.
If you have an MVC application that you want to run on top of Composite C1 – or you simply prefer building and testing your app in a pure MVC scenario, without involving the CMS in this process – MVC Functions will enable you to do just that. We have created a development model where you do not have to put any CMS specific code into your controllers: no forced inheritance or attributes in your MVC project. Instead, you use startup code to register the controllers and/or methods that you want to turn into C1 Functions.
namespace Demo
{
[ApplicationStartup]
internal static class StartupHandler
{
public static void OnBeforeInitialize()
{
var functions = MvcFunctionRegistry.NewFunctionCollection();
RegisterMvcFunctions(functions);
RegisterFunctionRoutes(functions);
}
private static void RegisterMvcFunctions(FunctionCollection functionCollection)
{
functionCollection.AutoDiscoverFunctions(typeof(StartupHandler).Assembly);
functionCollection.RegisterController<CarController>("Demo.AnotherCarController").AddUrlMapping<ICar>(new Guid("92144635-9e4e-4000-a7df-6f3fb68be3b5"), "details");
}
private static void RegisterFunctionRoutes(FunctionCollection functionCollection)
{
functionCollection.RouteCollection.MapMvcAttributeRoutes();
functionCollection.RouteCollection.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
public static void OnInitialized()
{
}
}
}
Alternatively, you can do the registrations by decorating your MVC controllers and methods with C1 specific attributes. If you do not care about having your MVC code “pure”, this option may appeal to you.
Dynamic data types - control the ID field, define the default data URL pattern
In v5 you can rename the ID field for data types created via the UI, and you can also choose not to use a GUID for the ID value. For data types that you wish to expose via a URL this is a welcomed improvement. You can also select fields on the data type that should be part of a “data URL” to identify the data – this could be a title field and an ID, to ensure that URLs to the data type are more SEO-friendly.
Please see http://docs.composite.net/Random-Strings-as-IDs for the information about using random strings as key fields in data types.
Please also see http://docs.composite.net/Using-Fields-in-Data-URLs for a quick guide to selecting fields for data URLs.
RoutedData helper, making list/detail views in no time
C1 Function developers who use Razor or User Controls to create list views and detail views showing C1 data can dramatically simplify the development task by using the new RoutedData<T>
type. You use it to declare a parameter on your function, specifying the type of data you are exposing, like RoutedData<IProduct>
. The new Dependency Injection feature in v5 (see below) is used to auto instantiate a request-level object, and based on the URL and meta data for the data type, it will determine if a list view or detail view is being requested and will make data readily available to you.
When RoutedData<T>
is invoked on a C1 Function parameter, it will also register the page hosting it as capable of displaying the specified data type, enabling features like “Link to data item” dialogs and ensuring that the C1 Console tree and browser is in sync when navigating to detail views.
Please see http://docs.composite.net/Data-URL-Routing for an example of using RoutedData<T>
.
We can map between data items, URLs and tree elements
With v5 we are now able to map relations between URLs, data items and tree elements. Previously the C1 Core only had a first-class concept for mapping pages and media files to/from the URLs, but this area is now pluggable and the new knowledge we gain from this is driving a number of very useful new features, described below.
We approached this area by introducing some low-level registries and APIs that developers can use to handle even the most exotic scenarios. On top of that, we built the UI...
Composite C1 5.0 Beta 1
Please see http://community.composite.net/Blog/2015/10/23/Composite-C1-50-Beta-1
To run this,
- Download Composite.C1.5.0.Beta.1.zip
- Unzip it
- Either launch the VS solution file or use IIS / IIS Express / Web Matrix to run from the "Websites" folder
Composite C1 4.3
Composite C1 4.3 (4.3.5555.25838)
Getting started
If you are new to Composite C1 and want to install it: http://docs.composite.net/Getting-started
You can upgrade to version 4.3 from earlier Composite C1 releases - see guide lines below.
What's new in 4.3
Scheduled publishing for data items
Just as with C1 Pages you can now schedule publication (and unpublication) of data items. Thanks to @BurningIce for contributing the bulk of this feature!
Native content editing experience with Right-to-Left (RTL) languages like Arabic, Hebrew
Users that run the C1 Console with Arabic or another RTL UI language will get a complete native RTL UI experience, where the whole C1 Console is mirrored compared to LTR languages. Editing RTL content also reflect the expected native experience.
Advanced Password Policy options
Composite C1 now has native support for password expiration, complexity rules, auto lockout and history requirements (where a new password may not be identical to the last X passwords). Passwords are stored using a salted SHA 256 hash.
See http://docs.composite.net/Configuration/Password-Policy
C1 Console speed improvements
The “cold start”, setup and developer experience in the C1 Console has improved in terms of performance. Situations where you would wait a bit for pages and C1 Functions previews to be generated and render has been eliminated or dramatically improved.
Razor C1HtmlHelper for Media URLs support Resizing Options
<img src="@Html.C1().MediaUrl(ImageFile, new ResizingOptions {MaxHeight = 320})" />
<img src="@Html.C1().MediaUrl(ImageFile, new ResizingOptions {MaxWidth = 150, Quality = 80})"/>
<img src="@Html.C1().MediaUrl(ImageFile, new ResizingOptions {Width = 200, Height = 150, ResizingAction = ResizingAction.Crop })" />
Support for hooking into the ASP.NET Full Page Cache key generation
Pages that deliver differentiated content based on a user’s login, web client or similar which normally make ASP.NET Full Page Caching impossible to use, can now be safely cached, by hooking into the cache key generation.
ApplicationLevelEventHandlers.RegisterC1PageVaryByCustomStringProvider("isMobile", httpContext => httpContext.Request.Browser.IsMobileDevice ? "mobile" : "desktop");
Roslyn compiler in use
Under the hood we’ve started to use the Roslyn compiler to improve startup time/console warm-up time.
Compatibility with the new Azure ScaleOut package
See http://www.composite.net/Products/Add-ons/All/Composite.Azure.ScaleOut
This release also contains a great number of minor new features, performance/stability/ux improvements and fixes, please see change sets for more details.
What's new in 4.2 Update 1?
This update contain a number of fixes and is a recommended update to 4.2.
What's new in 4.2?
Most important of all the 4.2 release enable users to build much richer web experiences - this is possible thanks to a simplified interface for changing C1 Function settings and 'pixel perfect' previews of C1 Functions in the Visual Editor, making it very easy to locate elements you need to update.
The list of changes below is not exhaustive, but contains the highlights of this release.
C1 Functions embedded in the Visual Editor show a "perfect preview" of the function output.
Editing C1 Functions from the Visual Editor is a lot more user friendly
New responsive starter site "Venus" - see a preview on http://venus.c1.composite.net/
The Visual Editor canvas width is now set to match the width of the content placeholder in the actual rendered template. If you update the template or CSS the width will follow.
Content editing on iPad functional
Other noteworthy changes
- Server Log (moved to System perspective) contains login auditing, present stack traces much better and more. If verbose logging is enabled the log will also contain auditing info about major actions (like page edits) and user access changes.
- Google Chrome issues in the C1 Console fixed.
- ASP.NET Razor 3.1.1 now default
- New UI widget for selecting glyphicons and similar font based icons
- New security permission type 'Configure' added - actions like adding a new website and managing meta data / page folders now require this (or admin) permission.
This release also contains a great number of minor new features, performance/stability/ux improvements and fixes, please see change sets for more details.
Known Issues
You may not get the visual previews for C1 Functions if you run in certain hosting environments. In those cases you will get a generic representation of the C1 Function like previously.
This is the case on Windows Azure Web Sites (WAWS) - this is due to blocks in the IP stack on this platform.
Upgrade guidelines
You can upgrade manually (copy files, modify xml in config files etc.) or you can automate the procedure using an Upgrade Package.
Manual Upgrade
The manual upgrade guidelines are posted "gratis" on CodePlex when available. They are intended for the tech savvy DIY developers and organizations.
Easy Upgrade
The Upgrade Package is a paid service that provide you with upgrade support and a simple and painless upgrade path - you can upgrade directly from the web interface with a few clicks. Beside from making continuous upgrades easy you help fund the development of Composite C1, which is a super awesome thing to do.
See https://www.composite.net/Plans-and-Pricing for details.
Composite C1 4.2 Update 1
Composite C1 4.2 Update 1 (4.2.5287.17495)
Getting started
If you are new to Composite C1 and want to install it: http://docs.composite.net/Getting-started
You can upgrade to version 4.2 Update 1 from earlier Composite C1 releases - see guide lines below.
What's new in 4.2 Update 1?
This update contain a number of fixes and is a recommended update to 4.2.
What's new in 4.2?
Most important of all the 4.2 release enable users to build much richer web experiences - this is possible thanks to a simplified interface for changing C1 Function settings and 'pixel perfect' previews of C1 Functions in the Visual Editor, making it very easy to locate elements you need to update.
The list of changes below is not exhaustive, but contains the highlights of this release.
C1 Functions embedded in the Visual Editor show a "perfect preview" of the function output.
Editing C1 Functions from the Visual Editor is a lot more user friendly
New responsive starter site "Venus" - see a preview on http://venus.c1.composite.net/
The Visual Editor canvas width is now set to match the width of the content placeholder in the actual rendered template. If you update the template or CSS the width will follow.
Content editing on iPad functional
Other noteworthy changes
- Server Log (moved to System perspective) contains login auditing, present stack traces much better and more. If verbose logging is enabled the log will also contain auditing info about major actions (like page edits) and user access changes.
- Google Chrome issues in the C1 Console fixed.
- ASP.NET Razor 3.1.1 now default
- New UI widget for selecting glyphicons and similar font based icons
- New security permission type 'Configure' added - actions like adding a new website and managing meta data / page folders now require this (or admin) permission.
This release also contains a great number of minor new features, performance/stability/ux improvements and fixes, please see change sets for more details.
Known Issues
You may not get the visual previews for C1 Functions if you run in certain hosting environments. In those cases you will get a generic representation of the C1 Function like previously.
This is the case on Windows Azure Web Sites (WAWS) - this is due to blocks in the IP stack on this platform.
Upgrade guidelines
You can upgrade manually (copy files, modify xml in config files etc.) or you can automate the procedure using an Upgrade Package.
Manual Upgrade
The manual upgrade guidelines are posted "gratis" on CodePlex when available. They are intended for the tech savvy DIY developers and organizations.
Easy Upgrade
The Upgrade Package is a paid service that provide you with upgrade support and a simple and painless upgrade path - you can upgrade directly from the web interface with a few clicks. Beside from making continuous upgrades easy you help fund the development of Composite C1, which is a super awesome thing to do.
See https://www.composite.net/Plans-and-Pricing for details.
Upgrading from earlier Composite C1 4.2 releases
If you are among the awesome people who helped us test the beta releases of 4.2, you get the easy upgrade free of charge:
- Make a backup of your website.
- In the C1 Console, go to "Packages" on the System perspective
- Browse down "Composite.Updates" and click "Package Info" on the 4.2 upgrade
- In the Package Info view, click install
- Complete the wizard
- Enjoy
After upgrading you should immediately see the new features - no configuration needed.
Composite C1 4.2
Composite C1 4.2 (4.2.5249.32246)
Getting started
If you are new to Composite C1 and want to install it: http://docs.composite.net/Getting-started
You can upgrade to version 4.2 from earlier Composite C1 releases - see guide lines below.
What's new in 4.2?
Most important of all the 4.2 release enable users to build much richer web experiences - this is possible thanks to a simplified interface for changing C1 Function settings and 'pixel perfect' previews of C1 Functions in the Visual Editor, making it very easy to locate elements you need to update.
The list of changes below is not exhaustive, but contains the highlights of this release.
C1 Functions embedded in the Visual Editor show a "perfect preview" of the function output.
Editing C1 Functions from the Visual Editor is a lot more user friendly
New responsive starter site "Venus" - see a preview on http://venus.c1.composite.net/
The Visual Editor canvas width is now set to match the width of the content placeholder in the actual rendered template. If you update the template or CSS the width will follow.
Content editing on iPad functional
Other noteworthy changes
- Server Log (moved to System perspective) contains login auditing, present stack traces much better and more. If verbose logging is enabled the log will also contain auditing info about major actions (like page edits) and user access changes.
- Google Chrome issues in the C1 Console fixed.
- ASP.NET Razor 3.1.1 now default
- New UI widget for selecting glyphicons and similar font based icons
- New security permission type 'Configure' added - actions like adding a new website and managing meta data / page folders now require this (or admin) permission.
This release also contains a great number of minor new features, performance/stability/ux improvements and fixes, please see change sets for more details.
Known Issues
You may not get the visual previews for C1 Functions if you run in certain hosting environments. In those cases you will get a generic representation of the C1 Function like previously.
This is the case on Windows Azure Web Sites (WAWS) - this is due to blocks in the IP stack on this platform.
Upgrade guidelines
You can upgrade manually (copy files, modify xml in config files etc.) or you can automate the procedure using an Upgrade Package.
Manual Upgrade
The manual upgrade guidelines are posted "gratis" on CodePlex when available. They are intended for the tech savvy DIY developers and organizations.
Easy Upgrade
The Upgrade Package is a paid service that provide you with upgrade support and a simple and painless upgrade path - you can upgrade directly from the web interface with a few clicks. Beside from making continuous upgrades easy you help fund the development of Composite C1, which is a super awesome thing to do.
See https://www.composite.net/Plans-and-Pricing for details.
Upgrading from earlier Composite C1 4.2 releases
If you are among the awesome people who helped us test the beta releases of 4.2, you get the easy upgrade free of charge:
- Make a backup of your website.
- In the C1 Console, go to "Packages" on the System perspective
- Browse down "Composite.Updates" and click "Package Info" on the 4.2 upgrade
- In the Package Info view, click install
- Complete the wizard
- Enjoy
After upgrading you should immediately see the new features - no configuration needed.
Composite C1 4.1
Composite C1 4.1 (4.1.5058.34326)
Getting started
If you are new to Composite C1 and want to install it: http://docs.composite.net/Getting-started
What's new in Composite C1 4.1
The following are highlights of major changes since Composite C1 4.0:
General user features:
- Drag-and-drop images and files like PDF and Word documents directly from your own desktop and folders into page content
- Allow you to install Composite Form Builder - an effective, extensive and easy to use tool for building web forms
- "Open Cph" Starter Site upgraded to Bootstrap 3 - powerful mobile first front-end framework.
- Seamless switch between content languages for users working with content in more than one language
- Internet Explorer 11 support
- Microsoft .NET 4.5 required - yielding across-the-board performance improvements and new developer features
- Latest versions of TinyMCE (Visual Editor) and CodeMirror (Code Editor)
- Audit logging improved: IP logged for logins. User and group add/edit/delete events logged. Workflow activity logging includes user names. Security changes to elements logged
- Full support for multiple simultaneous media file providers
Developer features:
- When writing Razor Functions or User Control Functions you will now get nicely formatted compile error or runtime exception feedback with call stack, C1 Function name, line number and failing code lines preview.
- Your own static C1 Data Types (data types defined in pure code) which has the [RelevantToUserType("Developer")] attribute now show up on the Data Perspective in a new "Static Datatypes" folder. Below each data type you can browse data records and from there invoke an auto generated UI for CRUD.
- Create your own 100% customized UI for the "Function Call Editor" for your own C1 Functions.
- Use Razor to build custom C1 Console apps.
- You can now edit .sass files from the C1 Console
- You can now edit .asmx files from the C1 Console
- Control JPEG image compression (image quality) for resized images individually via ?q=... on media URLs or via the default value in Composite.config. You may also use ?q=... alone to control image quality of a full sized image fixing "user uploaded giant JPEGs" issues easily.
- C1 Function parameters generated from properties (Razor and User Control Functions) will now ignore properties where ‘set’ is private or the property has the attribute [FunctionParameterIgnore()].
- C1 Function parameters may now be of type Lazy - Composite C1 will allow those to be set by C1 Functions of type Lazy and T - and those nested function will not be executed unless you reference Lazy.Value. This let you get "lazy parameters" in C# Functions, Razor Functions and User Control Functions.
- Better developer feedback: C1 Function names embedded into CLR call stack when executing - making exceptions much more informative as to which (perhaps nested) C1 Function failed, if an exception is thrown.
- Better developer feedback: the Function tester now shows entire exception info (stack trace, inner exceptions) when exception is thrown on "Result" generation - before only showed the exception message
Stability and performance:
- This release fixes bugs uncovered in the 4.0 release and introduces performance improvements in the C1 Console in particular and in the system in general. The release also improves on the existing high quality of system and error logging. Performance, stability and the very kind developer feedback have been on our minds when building this release (as always).
Other:
- Numerous bug fixes and minor improvements - for a more comprehensive list see change sets.
What's new in Composite C1 4.0
The following are highlights of major changes since Composite C1 3.2:
General user features:
- Uploads up to 512MB accepted in the media archive
- New “Block Selector” in Visual Editor – enables users to create styled div, blockquote etc. elements (not yet available in IE)
- IE9 and IE10 run in standards mode and have very good performance
- Support for older IE7 and IE8 dropped
- IE10 has spell checking in all input fields (like Firefox)
- When media files are updated (like uploading a new image on top of an existing one) all client caches are automatically invalidated
- Drop down menus support searches
- Free hand image re-size in Visual Editor - images resized server side
- New URL combobox widget allows for both internal URLs and a typed URL
- The C1 Console tree showing website pages now use the 'Menu Title' for labels
- New starter site (bootstrap/less/razor)
Developer features:
- Support for .NET 4 and .NET 4.5
- ASP.NET Razor, Web Forms and Master pages are now 1st class citizens
- Support for inline SVG in page HTML, function output etc.
- Data Type Editor let you makes XHTML fields with one click.
- Data Type Editor now enables you to control sorting on tree elements
- Public API expanded - http://api.composite.net/
- VisualEditor; code view; setting attributes on now kept and lifted to a rendered page.
- Visual Editor picks up on CSS/LESS file changes and next load.
- Support for CDATA sections - enables unstructured markup to be placed in function output.
- New C1 Functions HtmlTitleValue and MetaDescriptionValue (namespace Composite.Web.Htm.Template) which will output the final title and description of a page.
- Adding head element filtering (filtering on duplicate meta tag definitions, duplicate script and css includes).
- Page Template supports Razor and Master pages with full C1 Console edit support in the Layout perspective
- Razor Functions and User Control Functions known from C1Contrib built in, added to the public API and manageable from within the C1 Console
- In the Layout perspective, new "Page Templates Features" allow you to maintain template elements (like footer texts, navigation and aside columns functions) in a code free environment.
- Code editor has Razor syntax highlighting
- ASP.NET Sitemap provider support
- Copy XSLT Functions
- OnStoreChange data event introduced for better scale out support
- IFormLoginProvider and related types now exposed in the public API
- RenderingResponseHandler and related types now exposed in the public API
- Error boxes shown when a C1 Function fails on a page look better than ever. Highlighting the offending line etc.
Management:
- New "HTTPS Enforcer" feature on the C1 Console (see change sets) - easy config to make the C1 Console either force HTTPS or be unavailable.
- Installing and performing well on Azure Websites.
- Now possible to delete (or not copy) the "/Composite" folder on a deployment.
- The C1 Console's "Tools | Server Log" now offers filtering of event types.
- XML data files serialize elements sorted by primary key. Makes use with code versioning systems easier.
- Changes to XML data files are picked up. Data is reloaded and OnStoreChange is fired, updating all relevant Composite C1 caches.
Other:
- Numerous bug fixes and minor improvements - for a more comprehensive list see change sets.
Upgrade guidelines
You can upgrade manually (copy files, modify xml in config files etc.) or you can automate the procedure using an Upgrade Package.
The manual upgrade guideline id posted below. It is intended for the tech savvy DIY developers and organizations.
The Upgrade Package is a paid service that provide you with upgrade support and a simple and painless upgrade path - you can upgrade directly from the web interface with a few clicks. Beside from making continuous upgrades easy you help fund the development of Composite C1. See https://www.composite.net/Plans-and-Pricing for details.
Manual upgrade 4.0 -> 4.1
Important: The guide below is for the technically well-informed “DIY” people out there. We suggest you consider one of two other options before you proceed with a manual upgrade.
If you need to upgrade a commercial website and want professional automatic tooling and support, go to http://www.composite.net/Plans-and-Pricing - the money your client pay here is used to fund further open source development, so that’s excellent!
If you are upgrading a private or community related website, send a mail to [email protected] with the Installation ID (C1 Console – Help | About Composite C1) and the URL of your site. And we’ll probably give you the automated stuff for free and all!
If you proceed with the guide below, please read it through first so you are familiar with the tools and steps needed to complete.
Requirements:
.NET 4.5 is required for running C1 4.1
1. Preparation
Download a clean 4.1 website (or 4.0) from GitHub.
https://github.com/Orckestra/C1-CMS/releases/tag/v4.1 or https://github.com/Orckestra/C1-CMS/releases/tag/v4.0
Stop the website on IIS.
2. Apply the file changes
Copy and replace the following files from the 4.1 instance to your website:
~\Bin*.* (!!!! Except Composite.Generated.dll !!!!)
~\Composite*.* (Just the files, not including the subfolders)
~\Renderers*.*
~\Frontend\Config\VisualEditor\Styles\core.css
Delete the following folders on your website, and copy them from the 4.1 instance:
~\Composite\content
~\Composite\controls
~\Composite\help
~\Composite\images
~\Composite\localization
~\Composite\scripts
~\Composite\services
~\Composite\styles
~\Composite\templates
~\Composite\transformations\
Copy ~\robots.txt if missing
3. Apply the config changes
- Edit ~/App_Data/Composite/Composite.config
Add a new attribute
imageQuality="80"
to
/configuration/Composite.Core.Configuration.Plugins.GlobalSettingsProviderConfiguration/GlobalSettingsProviderPlugins/add
- Edit ~/Web.config
Remove attribute
/configuration/system.web/compilation/@targetFramework
Remove attribute
/configuration/system.web/pages/@controlRenderingCompatibilityVersion
Add a new attribute targetFramework="4.5" to...
Composite C1 4.0
Composite C1 4.0 (4.0.4897.31550)
Getting started
If you are new to Composite C1 and want to install it: http://docs.composite.net/Getting-started
What's new in Composite C1 4.0
The following are highlights of major changes since Composite C1 3.2:
General user features:
- Uploads up to 512MB accepted in the media archive
- New “Block Selector” in Visual Editor – enable users to create styled div, blockquote etc. elements (not yet available in IE)
- IE9 and IE10 run in standards mode and have very good performance
- Support for older IE7 and IE8 dropped
- IE10 has spell checking in all input fields (like Firefox)
- When media files are updated (like uploading a new image on top of an existing one) all client caches are automatically invalidated
- Drop down menus support searches
- Free hand image re-size in visual editor - images resized server side
- New URL combobox widget allow for both internal URLs and a typed URL
- The C1 Console tree showing website pages now use the 'Menu Title' for labels
- New starter site (bootstrap/less/razor)
Developer features:
- Support for .NET 4 and .NET 4.5
- ASP.NET Razor, Web Forms and Master pages are now 1st class citizens
- Support for inline SVG in page html, function output etc.
- Data type editor let you make XHTML fields with one click.
- Data type Editor now enable you to control sorting on tree elements
- Public API expanded - http://api.composite.net/
- VisualEditor; code view; setting attributes on now kept and lifted to rendered page.
- Visual Editor pick up on CSS/LESS file changes and next load.
- Support CDATA sections - enable unstructured markup to be placed in function output.
- New C1 Functions HtmlTitleValue and MetaDescriptionValue (namespace Composite.Web.Htm.Template) which will output final title and description of a page.
- Adding head element filtering (filtering on duplicate meta tag definitions, duplicate script and css includes).
- Page Template supports Razor and Master pages with full C1 Console edit support in the Layout perspective
- Razor Functions and User Control Functions known from C1Contrib build in, added to public API and manageable from within the C1 Console
- In Layout perspective, New "Page Templates Features" allow you to maintain templates elements (like footer texts, navigation and aside columns functions) in a code free environment.
- Code editor has razor syntax highlighting
- ASP.NET Sitemap provider support
- Copy XSLT Functions
- OnStoreChange data event introduced for better scale out support
- IFormLoginProvider and related types now exposed in the public API
- RenderingResponseHandler and related types now exposed in the public API
- Error boxes shown when a C1 Function fail on a page look better than ever. Highlighting the offending line etc.
Management:
- New "HTTPS Enforcer" feature on the C1 Console (see change sets) - easy config to make the C1 Console either force HTTPS or be unavailable.
- Install and perform well on Azure Websites.
- Now possible to delete (or not copy) the "/Composite" folder on a deployment.
- The C1 Console "Tools | Server Log" now offer filtering of event types '
- XML data files serialize elements sorted by primary key. Makes use with code versioning systems easier.
- Changes to XML data files are picked up. Data is reloaded and OnStoreChange are fired, updating all relevant Composite C1 caches.
Other:
- Numerous bug fixes and minor improvements - for a more comprehensive list see change sets.
Upgrade guidelines
You can upgrade from 4.0 beta releases and earlier versions of Composite C1 - upgrading gives you access to all 4.0 features, fixes and packages.
Manual upgrade from 3.2 and earlier:
See below
Supported and automated upgrade
For automated and supported upgrade tool see https://www.composite.net/Plans-and-Pricing
Upgrading from 4.0 Beta:
- Take a backup of your website
- Launch the C1 Console
- Go to System | Packages | Available Packages | Composite.Updates
- Select "Package Info" on the update available and click "Install"
Manual Upgrade 3.2 -> 4.0
Important: The guide below is for the technically well-informed “DIY” people out there. We suggest you consider one of two other options before you proceed with a manual upgrade.
If you need to upgrade a commercial website and want professional automatic tooling and support, go to http://www.composite.net/Plans-and-Pricing - the money your client pay here is used to fund further open source development, so that’s excellent!
If you are upgrading a private, community related website, send a mail to [email protected] with the Installation ID (C1 Console – Help | About Composite C1) and the URL of your site. And we’ll probably give you the automated stuff for free and all!
If you proceed with the guide below, please read it through first so you are familiar with the tools and steps needed to complete.
Overview:
- Preparation
- Uninstalling packages
- Updating configuration files
- Updating C1 files
- Removing obsolete data types
- Updating CompositeC1Contrib's razor files (if needed)
- Updating CompositeC1Contrib's master page files (if needed)
1. Preparation
Remember to have a backup copy of your solution.
Download a clean 4.0 website from GitHub.
https://github.com/Orckestra/C1-CMS/releases/tag/v4.0
2. Uninstall the following packages if installed:
Composite.Tools.PackageCreator
After that, stop the website on IIS
3. Config changes
Apply the attached xsl transformation files to the following configuration files:
composite_config.xsl for ~/App_Data/Composite/Composite.config
web_config.xsl for ~/Web.config
Either open the xsl file in VisualStudio, and use XML -> "Run without debugging"
Or use online websites, f.e. http://www.xsltcake.com
a) In the top left, "Select XSLT processor" -> choose .NET 4
b) Copy your config file to the "XML" window
c) Copy the transformation to the "XSLT" windows
d) Press "Run" and copy the results to your configuration file.
If updating to 4.0 (not to 4.1), search for and remove
imageQuality="80"
from ~/App_Data/Composite/Composite.config
and search for and change
targetFramework="4.5"
to targetFramework="4.0"
in ~/Web.config
4. Apply file changes
Download sources of C1 4.0 from the CodePlex release page.
Copy and replace the following files from the 4.0 instance to your website:
~\Bin*. (!!!! Except Composite.Generated.dll !!!!)
~\Composite. (Just the files, not including the subfolders)
~\Renderers.*
~\App_Data\Composite\app_offline.htm
~\App_Data\Composite\TreeDefinitions\UrlConfiguration.xml
~\App_Data\Composite\Configuration\C1ConsoleAccess.xml
~\App_Data\PageTemplates\web.config
~\App_Data\Razor\web.config
~\App_Data\UserControls\web.config
~\Frontend\Config\VisualEditor\Styles\core.css
~\Frontend\Config\VisualEditor\Images\smalltext.png
~\default.aspx
~\Global.asax
Delete the following folders on your website, and copy them from the 4.0/4.1 instance:
~\Composite\content
~\Composite\controls
~\Composite\images
~\Composite\localization
~\Composite\schemas
~\Composite\scripts
~\Composite\services
~\Composite\skins
~\Composite\styles
~\Composite\templates
~\Composite\transformations\
Delete the following files and folders (if present):
~\App_Data\Composite\DataMetaData\IPageTemplate_7b54d7d2-6be6-48a6-9ae1-2e0373073d1d.xml
~\App_Data\Composite\DataMetaData\Composite.Data.Types.IPageTemplate_7b54d7d2-6be6-48a6-9ae1-2e0373073d1d.xml
~\bin\CompositeC1Contrib.RazorFunctions.dll
~\bin\CompositeC1Contrib.Rendering.MasterPage.dll
~\Composite\flash\
5. Remove obsolete data types
Composite.Data.Types.IWhiteListedLocale
Note: In v. 4.0 a lot of obsolete data types were removed. In case of compilation/log errors, the following data types should be removed from the configuration as well.
Composite.Data.Types.ILogEntry
Composite.Data.Types.IAggregationDescription
Composite.Data.Types.ICompositionDescription
Composite.Data.Types.IPageAssociationVisability
Composite.Data.Types.IXhtmlEditorElementClassConfiguration
Composite.Data.Types.IDataFieldDescriptor
Composite.Data.Types.IDataFieldDescriptor_FormRenderingProfile
Composite.Data.Types.IDataFieldDescriptor_ValidatorFunctionMarkup
Composite.Data.Types.IDataTypeAssociationDescriptor
Composite.Data.Types.IDataTypeDescriptor
Composite.Data.Types.IDataTypeDescriptor_DataScope
Composite.Data.Types.IDataTypeDescriptor_KeyFieldName
Composite.Data.Types.IDataTypeDescriptor_StoreSortOrderFieldName
Composite.Data.Types.IDataTypeDescriptor_SuperInterface
To remove a data type, do the following steps:
-
Delete the related xml file if exists: /App_Data/Composite/DataMetaData/*.xml
-
Delete the data store:
a) If running on XML
Delete it from ~/App_Data/Composite/Configuration/DynamicXmlDataProvider.config
and delete the related storage file ~/App_Data/Composite/DataStores/*.xml
b) If running on SQL
Delete it from ~/App_Data/Composite/Configuration/DynamicSqlDataProvider.config
and delete the related table(s) from the database
6. If the original website was using CompositeC1Conrib's Razor functions
Edit each Razor function and apply the following steps:
- Remove:
@using CompositeC1Contrib.RazorFunctions;
@using CompositeC1Contrib.RazorFunctions.FunctionProvider;
@using CompositeC1Contrib.RazorFunctions.Html;
- Use
@inherits RazorFunction
instead of:
@inherits [CompositeC1Contrib.RazorFunctions.]CompositeC1WebPage
- Use
@Html.C1().Markup()
instead of
@Html.C1().Body()
- Convert function parameters.
Old code:
[FunctionParameter("Include Parent Page", "Check the box if you want parent page to be displayed in navigation", false)]
New code:
[FunctionParameter(Label = "Include Parent Page", Help = "Check the box if you want parent page to be displayed in navigation", DefaultValue = false)]
7 . If the original website was ...
Composite C1 3.2
Composite C1 3.2 (3.2.4497.34793)
This is the major service release to 3.0, adding features like optional workflow ("Save and Publish"), an improved Page Browser, spell checking (when using Mozilla Firefox with dictionaries installed) and .less file editing with syntax highlighting. This release also fixes all issues reported on 3.0 and 3.1 and add a number of developer oriented features.
Getting started
If you are new to Composite C1 and want to install it: http://docs.composite.net/Getting-started
Upgrade guidelines
- Composite provide an upgrade service where you can upgrade using an automated tool - for details see http://www.composite.net/Products/Plans
- Upgrading from v. 2.1 manually: first upgrade to 3.0
- Upgrading from 3.0: see below
- People that need to upgrade from a 3.2 beta, preview or RC build can upgrade quickly like this: On the System perspective, open "Packages | Available Packages | Composite.Updates" and install the package "Composite C1 3.2".
What's new in Composite C1 3.2
(also see http://www.composite.net/3-2)
- Save and Publish - a new combo button when editing pages and publishable data - let you easily opt out of workflow, eliminating the need to publish content.
- Easier to set your desired language settings in the C1 Console
- Media Archive now support streaming video for html5
- Compatible with .NET 4.5 (currently in beta)
- The "Insert Front-end URL" selection dialog allow you to create folders, upload files
- Converting the website files into a Visual Studio Web Application project is now painless.
- Adding support for serving popular html5 file types (like .woff - web fonts) from the Media Archive.
- New feature on Tree Definitions: new attribute ShareRootElementById="true" enable Tree Definitions to share a common folder / perspective
- Media Archive: a provider model allow you to integrate media files and folders from external sources as first class C1 Media.
- LoginSessionStore provider model made pluggable, so you can replace the way uswers log into the C1 Console (like authenticating against an AD).
- New Package Fragment Installer; XmlFileMerge making it easy to merge a XML fragment in/out of an physical XML file.
- Fix: Firefox could feel laggy and 'eat' keyboard input.
- Fix: Turkish-i problem, now works on Windows servers configured with Turkish system locale.
- Fix: The C1 Package "Extranet" works (user editing fail when running on 3.1)
- Fix: optimizeCompilation="true" setting in web.config removed (it made asp.net compilation unpredictable)
- Fix: Image Resizing done dynamically (like appending &w=250 to the media url) result in better quality.
- Fix: Works with IE10 (currently in beta)
- Fix: Issue where <f:function ...> would break in the Visual Editor, if parameters existed.
What's new in Composite C1 3.1
- Mozilla Firefox users have spell check features in text boxes and visual editors
- Support for editing .less files via the C1 Console
- Fixing issues reported on 3.0
What's new in Composite C1 3.0
For an overview of top 3.0 features and screenshots, visit http://composite.net/3
For a detailed list of 3.0 features and fixes, visit: https://github.com/Orckestra/C1-CMS/releases/tag/v3.0
Manual upgrade from 3.0 or 3.1 to 3.2
-
Stop the related app pool on IIS
-
Download and unpack Composite C1 3.2 files
Copy the files listed below from this release to your website, without sub folders, overwrite all files that already exists:
\Bin*.*
(exception: do not copy Composite.Generated.dll)
\Composite*.*
\Composite\localization*.*
\Renderers*.*
Delete and copy completely folders:
\Composite\content
\Composite\controls
\Composite\images
\Composite\schemas
\Composite\scripts
\Composite\services
\Composite\styles
\Composite\templates
\Composite\transformations\
Delete:
\Composite\localization\Composite.Plugins.DeveloperApplicationProvider.*.xml
\App_Data\Composite\Cache\Resized images*.jpeg
- Edit web.config:
To configuration/system.web add
<globalization requestEncoding="utf-8" responseEncoding="utf-8" />
To configuration/system.web/httpRuntime add attribute relaxedUrlToFileSystemMapping="true"
Change value of attribute configuration/system.web/compilation/@optimizeCompilations to false
- Edit Composite.config
Find and remove:
<section name="Composite.Core.WebClient.Plugins.WebRequestConfiguration" type="Composite.Core.WebClient.Plugins.WebRequestHandler.Runtime.WebRequestHandlerSettings, Composite"/>
Find and remove:
<Composite.Core.WebClient.Plugins.WebRequestConfiguration>
<WebRequestHandlers>
<add templateControlFile="~/Composite/Composite.Management.Web.Files/PreLoginPageTemplate.ascx" templateControlPlaceholderId="PlaceHolder1" type="Composite.Plugins.WebClient.WebRequestHandlers.LoginWebRequestHandler.LoginWebRequestHandler, Composite" name="Login"/>
</WebRequestHandlers>
</Composite.Core.WebClient.Plugins.WebRequestConfiguration>
Find and remove:
<add name="Composite.Plugins.DeveloperApplicationProvider" defaultCultureName="en-US" type="Composite.Plugins.ResourceSystem.XmlStringResourceProvider.XmlStringResourceProvider, Composite">
<Cultures>
<add cultureName="en-US" xmlFile="~/Composite/localization/Composite.Plugins.DeveloperApplicationProvider.en-us.xml" monitorFileChanges="true"/>
</Cultures>
</add>
Find:
<add userControlVirtualPath="~/Composite/controls/FormsControls/FormUiControlTemplates/Buttons/SaveButton.ascx" cacheCompiledUserControlType="true" type="Composite.Plugins.Forms.WebChannel.UiControlFactories.TemplatedButtonUiControlFactory, Composite" name="SaveButton"/>
Replace it with:
<add userControlVirtualPath="~/Composite/controls/FormsControls/FormUiControlTemplates/Buttons/SaveButton.ascx" cacheCompiledUserControlType="true" type="Composite.Plugins.Forms.WebChannel.UiControlFactories.TemplatedSaveButtonUiControlFactory, Composite" name="SaveButton"/>
Find
<add userControlVirtualPath="~/Composite/controls/FormsControls/FormUiControlTemplates/DateTimeSelectors/DateSelector.ascx" cacheCompiledUserControlType="true" type="Composite.Plugins.Forms.WebChannel.UiControlFactories.TemplatedDateTimeSelectorUiControlFactory, Composite" name="DateSelector"/>
<add userControlVirtualPath="~/Composite/controls/FormsControls/FormUiControlTemplates/DateTimeSelectors/DateTimeSelector.ascx" cacheCompiledUserControlType="true" type="Composite.Plugins.Forms.WebChannel.UiControlFactories.TemplatedDateTimeSelectorUiControlFactory, Composite" name="DateTimeSelector"/>
Replace it with:
<add userControlVirtualPath="~/Composite/controls/FormsControls/FormUiControlTemplates/DateTimeSelectors/DateSelector.ascx" cacheCompiledUserControlType="true" type="Composite.Plugins.Forms.WebChannel.UiControlFactories.TemplatedDateTimeSelectorUiControlFactory, Composite" showHours="false" name="DateSelector" />
<add userControlVirtualPath="~/Composite/controls/FormsControls/FormUiControlTemplates/DateTimeSelectors/DateSelector.ascx" cacheCompiledUserControlType="true" type="Composite.Plugins.Forms.WebChannel.UiControlFactories.TemplatedDateTimeSelectorUiControlFactory, Composite" showHours="true" name="DateTimeSelector" />
- If you used to display some data types in "Website Items" section of the "Content" perspective. Go though necessary data types, and add them to "Website items" section again
(Just right clicking and choosing necessary context menu item)
-
If you're using ContentVersioning since before C1 3.0, contact us [email protected], and we will provide you with a script that will upgrade old versioning data to the new format
-
Start the related app pool on IIS
Composite.Hotfix.3-2-4497-34793-Patch-01.zip - fixing .net 4.5 issues with 'save'.
Composite C1 3.1
Composite C1 3.1 (3.1.4400.42718)
This is a service release to 3.0, adding support for spell checking (when using Mozilla Firefox with dictionaries installed) and .less file edit support. This release also fixes issues reported on 3.0.
Getting started
If you are new to Composite C1 and want to install it: http://docs.composite.net/Getting-started
Upgrade guidelines
- Composite provide an upgrade service where you can upgrade using an automated tool - for details see http://www.composite.net/Products/Plans
- Upgrading from v. 2.1 manually: first upgrade to 3.0
- Upgrading from 3.0: see below
What's new in Composite C1 3.1
- Mozilla Firefox users have spell check features in text boxes and visual editors
- Support for editing .less files via the C1 Console
- Fixing issues reported on 3.0
What's new in Composite C1 3.0
For an overview of top 3.0 features and screenshots, visit http://composite.net/3
- Paste from Word into Visual Editor content (without markup going bad)
- Page URL’s look perfect
- Instant image and document upload - File selectors, insert image/file link dialogs allow users to manage folders and upload new files immediately.
- Easy in-place image resizing
- HTML 5, script, iframe etc. support in the Visual Editor
- The calendar control is user friendly now
- A ton more user experience improvements
- ASP.NET Razor for templates and functionality
- Starter sites for HTML, Razor, ASP.NET Master pages and XSLT
- C1 Function test and documentation tool
- Building C1 Functions with parameters is easier
- Selection dialogs that order data in tree views will now re-open at last viewed position and trees will auto-expand when convenient.
- ASP.NET Controls registered as C1 Functions are now available for insert in the Visual Editor
- The source code editor now use TAB for indention. Developers using Firefox can control the tab width (default is 4) through CSS.
- Page meta data can now be shared across all languages.
- The internal build system in Composite C1 responsible for binding the dynamic data features to .NET and LINQ have been thoroughly refactored yielding better performance and doing away with issues with instability and slow system startup times.
- SQL Server Data provider is no longer dependant on MS SQL DMO
- SQL Azure fully supported
- Composite Start screen can now be invoked from Tools button.
- Media file links are now more human and SEO friendly. The media ID is toned down in URL’s and decorated with the file name making is easier to read for humans and search engines.
- Full support for running Composite C1 in a sub folder (IIS application)
- Build in page browser reflect host name changes for installations hosting multiple sites with unique host names.
- ASP.NET Routing used to handle requests.
- Page cache settings moved from Page.aspx to web.config
- Expanded public API.
- Log activity primarily of interest for core team reduced.
- Dynamic data type fields need no longer have a widget defined.
- The assemblies “Composite” and “Composite.Workflow” are no longer merged in the release binaries.
- IP address logged on failed login attempts
- All known stability and xml data corruption issues fixed
- An API for commercial packages* Lots of bugs fixes
Manual upgrade from 3.0 to 3.1
If you are running 2.1.1 or earlier you need to upgrade to 3.0 first.
Once you are running 3.0, here is how to upgrade to 3.1:
-
Edit ~/web.config locate the element "httpRuntime" and add a new attribute relaxedUrlToFileSystemMapping="true"
-
Edit ~/App_Data/Composite/Composite.config and delete the following elements:
<section name="Composite.Core.WebClient.Plugins.WebRequestConfiguration" type="Composite.Core.WebClient.Plugins.WebRequestHandler.Runtime.WebRequestHandlerSettings, Composite" />
and
<Composite.Core.WebClient.Plugins.WebRequestConfiguration>
<WebRequestHandlers>
<add templateControlFile="~/Composite/Composite.Management.Web.Files/PreLoginPageTemplate.ascx" templateControlPlaceholderId="PlaceHolder1" type="Composite.Plugins.WebClient.WebRequestHandlers.LoginWebRequestHandler.LoginWebRequestHandler, Composite" name="Login" />
</WebRequestHandlers>
</Composite.Core.WebClient.Plugins.WebRequestConfiguration>
- Download the Composite C1 3.1 release and copy the files listed below from this release to your website.
Overwrite all files that already exists.
~\Bin\Composite.dll
~\Bin\Composite.Workflows.dll
~\Bin\Composite.xml
~\Bin\ICSharpCode.SharpZipLib.dll
~\Bin\TidyNet.dll
~\Composite\default.aspx
~\Composite\develop.aspx
~\Composite\Login.aspx
~\Composite\Login.aspx.cs
~\Composite\Login.aspx.designer.cs
~\Composite\top.inc
~\Composite\web.config
~\Composite\content\dialogs\about\about.aspx
~\Composite\content\dialogs\about\about.css
~\Composite\content\dialogs\about\About.js
~\Composite\content\forms\Administrative\AddNewPageStep2.xml
~\Composite\content\forms\Administrative\AddNewSqlFunction.xml
~\Composite\content\forms\Administrative\AddNewSqlFunctionConnection.xml
~\Composite\content\forms\Administrative\AddNewUserStep1.xml
~\Composite\content\forms\Administrative\AddSystemLocaleStep1.xml
~\Composite\content\forms\Administrative\EditMediaFile.xml
~\Composite\content\forms\Administrative\EditMethodBasedFunction.xml
~\Composite\content\forms\Administrative\EditPage.xml
~\Composite\content\forms\Administrative\EditSqlFunctionConnection.xml
~\Composite\content\forms\Administrative\EditSystemLocaleEdit.xml
~\Composite\content\forms\Administrative\Hostnames.xml
~\Composite\content\forms\Administrative\InlineFunctionAddFunctionStep1.xml
~\Composite\content\forms\Administrative\InlineFunctionEditFunction.xml
~\Composite\content\forms\Administrative\PackageElementProviderAddPackageSourceStep1.xml
~\Composite\content\forms\Administrative\PackageElementProviderAddPackageSourceStep2.xml
~\Composite\content\forms\Administrative\PackageElementProviderDeletePackageSourceStep1.xml
~\Composite\content\forms\Administrative\PackageElementProviderInstallLocalPackageStep1.xml
~\Composite\content\forms\Administrative\PackageElementProviderInstallLocalPackageStep2.xml
~\Composite\content\forms\Administrative\PackageElementProviderInstallLocalPackageStep3.xml
~\Composite\content\forms\Administrative\PackageElementProviderInstallRemotePackageStep1.xml
~\Composite\content\forms\Administrative\PackageElementProviderInstallRemotePackageStep2.xml
~\Composite\content\forms\Administrative\PackageElementProviderInstallRemotePackageStep3.xml
~\Composite\content\forms\Administrative\PackageElementProviderInstallRemotePackageStep4.xml
~\Composite\content\forms\Administrative\PackageElementProviderInstallRemotePackageStep5.xml
~\Composite\content\forms\Administrative\PackageElementProviderUninstallLocalPackageShowError.xml
~\Composite\content\forms\Administrative\PackageElementProviderUninstallLocalPackageStep1.xml
~\Composite\content\forms\Administrative\PackageElementProviderUninstallLocalPackageStep2.xml
~\Composite\content\forms\Administrative\PackageElementProviderUninstallLocalPackageStep3.xml
~\Composite\content\forms\Administrative\PackageElementProviderUninstallRemotePackageShowError.xml
~\Composite\content\forms\Administrative\PackageElementProviderUninstallRemotePackageShowUnregistreError.xml
~\Composite\content\forms\Administrative\PackageElementProviderUninstallRemotePackageStep1.xml
~\Composite\content\forms\Administrative\PackageElementProviderUninstallRemotePackageStep2.xml
~\Composite\content\forms\Administrative\PackageElementProviderUninstallRemotePackageStep3.xml
~\Composite\content\forms\Administrative\PackageElementProviderViewAvailablePackageInformation.xml
~\Composite\content\forms\Administrative\UrlConfiguration.xml
~\Composite\content\misc\editors\functioncalleditor\functioncalleditor.aspx.cs
~\Composite\content\misc\editors\visualeditor\visualeditor.js
~\Composite\content\misc\editors\visualeditor\tiny_mce\plugins\compositelink\editor_plugin.js
~\Composite\content\views\log\log.aspx.cs
~\Composite\controls\FormsControls\FormUiControlTemplates\FileUploaders\FileUpload.ascx
~\Composite\controls\FormsControls\FormUiControlTemplates\TextInput\TextArea.ascx
~\Composite\controls\FormsControls\FormUiControlTemplates\TextInput\TextBox.ascx
~\Composite\localization\Composite.Management.en-us.xml
~\Composite\localization\Composite.PackageSystem.PackageFragmentInstallers.en-us.xml
~\Composite\localization\Composite.Plugins.PackageElementProvider.en-us.xml
~\Composite\localization\Composite.Web.SEOAssistant.en-us.xml
~\Composite\schemas\FormsControls\AspNetManagement__www_composite_net_ns_management_bindingforms_std_ui_controls_lib_1_0.xsd
~\Composite\schemas\Functions\Function.xsd
~\Composite\scripts\compressed\top.js
~\Composite\services\Setup\SetupService.asmx
~\Composite\services\WysiwygEditor\XhtmlTransformations.asmx
~\Composite\transformations\WysiwygEditor_TinyContentToStructuredContent.xsl
And you are upgraded ...
Composite C1 3.0
Composite C1 3.0 (3.0.4358.29126)
This is the first major release since the CMS became available as free open source. This release focus on user experience, stability, performance and better tooling for users and developers.
Getting started
If you are new to Composite C1 and want to install it: http://docs.composite.net/Getting-started
Upgrade guidelines
- Composite provide an upgrade service where you can upgrade using an automated tool - for details see http://www.composite.net/Products/Plans
- Upgrading from v. 2.1 manually: see below
- Upgrading from 3.0 RC2, RC3 and RC4: see below
What's new in Composite C1 3.0?*
For an overview of top features and screenshots, visit http://composite.net/3
- Paste from Word into Visual Editor content (without markup going bad)
- Page URL’s look perfect
- Instant image and document upload - File selectors, insert image/file link dialogs allow users to manage folders and upload new files immediately.
- Easy in-place image resizing
- HTML 5, script, iframe etc. support in the Visual Editor
- The calendar control is user friendly now
- A ton more user experience improvements
- ASP.NET Razor for templates and functionality
- Starter sites for HTML, Razor, ASP.NET Master pages and XSLT
- C1 Function test and documentation tool
- Building C1 Functions with parameters is easier
- Selection dialogs that order data in tree views will now re-open at last viewed position and trees will auto-expand when convenient.
- ASP.NET Controls registered as C1 Functions are now available for insert in the Visual Editor
- The source code editor now use TAB for indention. Developers using Firefox can control the tab width (default is 4) through CSS.
- Page meta data can now be shared across all languages.
- The internal build system in Composite C1 responsible for binding the dynamic data features to .NET and LINQ have been thoroughly refactored yielding better performance and doing away with issues with instability and slow system startup times.
- SQL Server Data provider is no longer dependant on MS SQL DMO
- SQL Azure fully supported
- Composite Start screen can now be invoked from Tools button.
- Media file links are now more human and SEO friendly. The media ID is toned down in URL’s and decorated with the file name making is easier to read for humans and search engines.
- Full support for running Composite C1 in a sub folder (IIS application)
- Build in page browser reflect host name changes for installations hosting multiple sites with unique host names.
- ASP.NET Routing used to handle requests.
- Page cache settings moved from Page.aspx to web.config
- Expanded public API.
- Log activity primarily of interest for core team reduced.
- Dynamic data type fields need no longer have a widget defined.
- The assemblies “Composite” and “Composite.Workflow” are no longer merged in the release binaries.
- IP address logged on failed login attempts
- All known stability and xml data corruption issues fixed
- An API for commercial packages* Lots of bugs fixes
Manual upgrade from 2.1 to 3.0
Requirements for upgrade
- Your site should already be running on C1 2.1.1 or newer version
- Visual Studio 2010
- 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:
-
Remember to create a backup copy of your site. Stop the related application pool on IIS/WebMatrix before upgrading.
-
If you don't have TortoiseMerge installed, download and install it as a part of TortoiseSVN (http://tortoisesvn.net/downloads.html)
-
Download & build C1 version you're going to upgrade to (C1 v3.0 RTM)
-
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
- 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
- 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\
- #888888">[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
- #888888">[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
Smooth upgrade from RC2, RC3 and RC4
We have added a package online which will upgrade you from RC2, RC3 and RC4 - here is how to install it:
- Log in to the C1 Console
- Go to the System perspective
- Open folders "Packages | Available Packages | Composite.Updates"
(if you don't have that folder you are likely on 3.0 RTM already or running an older version) - Execute 'Package Info' on the package named "Composite C1 3.0"
5.Package info document loads - click "Install" og follow the wizard