Sitefinity 7.0 Upgrade information - Feature Previews & Betas - Feature Previews & Betas - Progress Community
 Feature Previews & Betas

Sitefinity 7.0 Upgrade information

  • Sitefinity 7.0 Upgrade information
  • Hi everyone, this post includes some preliminary information about what is changing in Sitefinity 7.0 - so customers willing to upgrade - can plan accordingly. We are going to release a beta build this week - which can be used to test upgrades on your projects and eventually report any issues or difficulties we can address for the final release.

    To summarize 7.0 will have some breaking API changes ,long running database upgrade scripts , configuration changes and major third party libraries upgrades - so careful planning and testing of your project after upgrade is highly advisable. The most serious breaking change is happening in the Pages API and can affect projects which use the Pages API in custom code to dynamically create or query Sitefinity pages. There are also some user experience changes and implementation changes that are mentioned in this post - that you might find useful before upgrading.

    1. Breaking API changes

    a) Pages API - includes changes that can cause compilation errors and unexpected behavior. The changes were justified because of architectural problems in the API causing some bugs and limitations explained in the reference document. Samples are provided for what alternative code to use in place of the removed and obsolete methods and properties. The most affected scenario is  multi-lingual split pages. For reference: split pages are pages which have different layout and widgets depending on the culture - e.g. for example the English version of one page has different widgets or layout compared to the French or Chinese.
    An upgrade script will be running upon first start of Sitefinty which will copy and delete some data to comply with the API change.

    b) Workflow API

    Content workflow API implied using a property ApprovalTrackingRecordMap on all workflow enabled items- which gave access to the workflow publishing history. This property is made obsolete in 7.0 , because of creating serious performance and orphaned data issues. It is replaced with an extension method. Some upgrade script will be running on first start of Sitefinity which will drop several tables that will be no longer needed - because of removing this property.
    The projects that will be most affected as a breaking change are any Custom modules with Open Access data persistence with enabled approval workflow - we are providing instructions how to upgrade those in the document referred above. For the stock Sitefinity modules and the modules implemented with the Module builder we are performing automatic upgrade.


    We have also introduced 1 new workflow activity in PagesApprovalWorkflow.xamlx - DeletePageActivity - which replaces the code activity for deleting a page. Customers with custom page workflows might want to use the same activity for deleting a page - since this activity now check for content relating to a page before deleting it

    c) Events API
     The event items now introduce a new property called TimeZoneId - which helps calculate correctly recurring events. Upon upgrading to 7.0 all events will have their TimeZoneId set to the default timezone from Sitefinity configuration. Recurrent events that were previously created are wrongly saved in the database. Our upgrade script will try to correct these events by assuming that the time zone in which each event was previously created is the time zone currently set in your Sitefinity web site (you can find your time zone in the backend -> Administration -> Setting -> Basic Settings -> Time zone settings). If there are previously created recurrent events from users which computers are using different time zone, from the one set in your Sitefinity backend, you will need to run additional script (that we will provide later) to fix these events. If your events are all created in the time zone of your Sitefinity web site you have nothing to worry about, our upgrade script will correct all the events data and no additional steps will be required. If you have any concerns about the upgrade or your previously created events don’t hesitate to contact us through support
    2. External libraries upgrades

    - RadControls 2014  Q1 SP1 (to be released)
    - Data Access 2014 Q1 SP1 (to be released). Data Access is the re-branded Open Access product. It doesn't have breaking API or name-space changes. Just assembly name changes.
    -   Kendo UI 2014 Q1 (comming up)
    - Service stack 4.x (most probably 4.0.14)  (warning: this version of service stack contains lots of breaking changes v/s 3.x, see the list: ). This is will be the signed commercial version of service stack and we will include a telerik license key in the web config.

    3. Sitefinity assembly changes
    Telerik.Sitefinity.Analytics.Server.Core, Telerik.Sitefinity.Analytics.Server.DependencyResolution and Telerik.Sitefinity.Analytics.Server.GoogleAnalyticsPlugin are merged into single assembly Telerik.Sitefinity.Analytics.Server.Infrastructure

    4.Sitefinity web.config changes
    The web config changes will be handled automatically if the project is upgraded with the Project manager app. For manual upgrades the following changes will be needed:

    Service stack:

    <appSettings><add key="servicestack:license" value=" be provided..." />

    <location path="RestApi"> / <system.web> / <httpHandlers> the 'type' attribute "ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" should be changed to "ServiceStack.HttpHandlerFactory, ServiceStack"
    <location path="RestApi"> / <system.webServer> / <handlers> the 'type' attribute "ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" should be changed to "ServiceStack.HttpHandlerFactory, ServiceStack"

    Analytics module:

    1.  Due to the removed assemblies from the analytics module the web.config should be changed:
    a.     In <system.web>/<httpModules> the “SitefinityAnalyticsModule” type should be changed to “Telerik.Sitefinity.Analytics.Server.DependencyResolution.Module.DependencyRegistrarHttpModule, Telerik.Sitefinity.Analytics.Server.Infrastructure”
    b.     In <system.webServer>/<modules> the “SitefinityAnalyticsModule” type should be changed to “Telerik.Sitefinity.Analytics.Server.DependencyResolution.Module.DependencyRegistrarHttpModule, Telerik.Sitefinity.Analytics.Server.Infrastructure”
    2.     Removing Telerik.Sitefinity.Analytics.Server.Core, Telerik.Sitefinity.Analytics.Server.DependencyResolution and Telerik.Sitefinity.Analytics.Server.GoogleAnalyticsPlugin are merged into single assembly Telerik.Sitefinity.Analytics.Server.Infrastructure from the bin folder (as per Ivan Dimitrov’s email).

    5. Configuration changes

    - At libraries configuration on upgrade to Sitefinity 7.0 the default upload mode is changed to Html5
    - In order to switch mode between Html5 and Silverlight media player a new configuration option is being introduced MediaPlayerMode at Libraries configuration. Its default value for new projects is Html5. For upgraded projects default value is Silverlight.

    At the case when MediaPlayerMode is being switched to Silverlight, then default configuration value for

    AllowedExensionsSettings for videos is .wmv.

    At the case when MediaPlayerMode is being switched to Html5 default configuration value for

    AllowedExensionsSettings for videos is .MP4, .OGG, .WebM.

    6. User experience changes

    a) Media Selector dialog for selecting and uploading media items(image,video,doc) has been changed on front-end and back-end at Sitefinity – static content, dynamic content, ecommerce, forms, forums, etc. The new media selector allows for specifying additional meta data (like tags, custom fields etc.) upon uploading media files.
    b) Sitefinity 7.0  introduces Html5 video player for the video widgets. It is using the Telerik RadMediaPlayer. Now Telerik Sitefinity supports HTML5 media formats MP4, WebM, Ogg.

    7. Implementation changes
    Media content

    On the backend - media fields like ImageField, AssetsField , MultiImageField, ProductDocumentsAndFilesField, etc. now work with SingleItemMediaDialog selector dialog instead of EditorContentManagerDialog. The old dialog EditorContentManagerDialog is left unchanged for backward compatibility.

    On the frontend – Image, Video, Document widgets have new designers and designer views, that also use SingleItemMediaDialog selector dialog. Old designers and designer views are left unchanged for backward compatibility.

    Content block now works with SingleItemMediaDialog selector dialog instead of EditorContentManagerDialog.

  • This is all good news...I mean the cleanup scares me a lot :)  Last cleanup from I think 6.2 took 30 minutes to finish and killed a ton of layout widgets in the process.  I'm gonna defiantly try and upgrade or 2 with this.

    I'm especially happy we're not a version behind on kendo!  I really need the sortable functionality.

    Do you think you could possibly include kendomobile (script and css) in the resources.dll?  They've abstracted the mobile widgets out so we can use them on web now, and the switch is just so much cooler than a checkbox :)

     ...sitefinity only includes kendo.web and kendo.all.  So if I choose "all" I then get dataviz sent down and really have no use for it....and its way bigger in Q1 2014.

     No problem to just include that mobile script separate, right?