Sitefinity 4.1 Released!

Posted by Community Admin on 03-Aug-2018 15:56

Sitefinity 4.1 Released!

All Replies

Posted by Community Admin on 18-Apr-2011 00:00

Hello all,
Sitefinity team is proud to announce that version 4.1 is now released. This is a big milestone for us - a lot of bug fixes, improvements and new features made it to the release! We would like to thank to all Sitefinity supporters.

Here is the change log:

New Features

Lists Module

  • Option to create Lists and specify custom fields
  • Added List items widget with visualization modes: Simple, Expanded, Expandable, Anchor, Page link.

Sharing Content

  • In Content Block Widget added option to share content across pages
  • Added Content Blocks section for managing shared content blocks in Backend> Content

Pages & Content

  • Added option to create page redirects
  • Enabled support for additional page URLs
  • Multiple URLs for content items are possible

 Newsletter Module (Beta)

  • Added ability to import subscribers from TSV (tab separated list) file
  • Integrated with Google Analytics 
  • Option to create dynamic mailing lists bound in real time to another data source
    • From a membership provider
    • From a web form
  • A/B campaigns
  • Campaign Scheduling, Preview, and Statistics

Note: Newsletters module is still in Beta and its use on production sites is not recommended.

Users

  • Added option to create custom fields in profiles
  • Added ability to create custom profile types
  • Users widget: Profile, Users list, Registration (Beta), Account activation (Beta)
  • Wrappers for standard ASP.NET membership and role providers
  • Windows Authentication support
  • Added option for users to switch their backend language in section Profile

Backend Language Packs

Data base support for:

  • SQL Azure
  • Oracle (Beta)

Other

  • Analytics module: Added SSL support
  • Analytics module: Added Google Analytics tracking code snippet to the first-time setup process as well as the Settings page

Caching

  • Enabled output and client caching for Images, Videos, Documents and Files
  • Support for cache dependencies
  • Activated OpenAccess ORM second level caching

Upgraded Telerik productivity tools

ORM

  • Updated ORM Mapping to use OpenAccess Fluent API (Blog post)
  • Enabled LINQ support offered by OpenAccess


Fixes and Improvements

! Important Fixes (Upgrade is recommended)

  • Fixed problems with ViewState, PostBack and Lifecycle support
  • Implemented the standard ASP.NET Virtual Path Provider, transferred all templates to it (Blog Post)
  • Performance improvements in Pages and Content Administration

Pages

  • Improved: ASP.NET engine was implemented for page rendering on the place of control builders. This affects all public and backend pages except Page Edit and Forms Edit.
  • Improved: When empty, Page Title is filled automatically with Page Name
  • Improved: Added a warning message upon deletion of the home page
  • Fixed: Pages not showed in navigation show "HTTP Error 403.0 - Forbidden" when requested directly
  • Fixed: CSS files are not loaded when Pages are previewed
  • Fixed: Incorrect check for Create permissions in Pages
  • Fixed: Collapsing the Widget toolbar in IE shows "Are you sure you want to navigate away from this page?"
  • Fixed: RadAjaxManager problems on custom master pages
  • Fixed: Layout Editor> News, Events, Blog posts controls -  List settings “Sorting  by Newest first” shows the same result as sorting by “New modified first”
  • Fixed: Page Templates - The first item in "Set theme" dropdown shows an error "'undefined' is null or not an object"
  • Fixed: Pages templates - Clicking on Back to Templates link results in error

Images, Videos, Documents and Files

  • Improved: Performance improvements in uploading files
  • Improved: Images, Document, Videos description is not limited to 255 characters anymore
  • Improved: Specifying mime type for Documents & Files is enabled
  • Fixed: Image Widget selector - the images reorder randomly and the user selection is lost
  • Fixed: Video Widget uploading dialogue -  "workflow violation" error when trying to delete a video
  • Fixed: Uploading images through the Image widget causes an error
  • Fixed: "Other Details" field is not saved correctly
  • Fixed: When images dialog is opened it displays wrong image until refresh takes effect
  • Fixed: Video - On public site video cannot be maximized
  • Fixed: Permissions for viewing a single library are not applied correctly

Content & Classifications

  • Improved: Added Events Date Picker for showing news with custom date
  • Fixed: Blogs> Sorting - SortExpression field value is hard coded
  • Fixed: Events - End date cannot be empty
  • Improved: Added an option for sorting by "Events Start" date in the Sort dropdown
  • Fixed: TaxonField does not persist and display tags when multiple selection is disabled
  • Fixed: Deleting category with associated images results in error in Image Administration

Widgets

  • Fixed: Web Editor - In HTML mode incorrect <a> tag is inserted when a link is added
  • Fixed: Editing Blogs/Events/News widget designer placed twice in a row produces error
  • Fixed: Archive widget returns wrong count value
  • Fixed: Content Block - Editing hyperlinks on images doesn't work correctly
  • Fixed: Content Bock - Inserting hyperlinks to Pages on images doesn't work correctly
  • Fixed: "More than one item in the sequence." exception when two controls are registered with the same template name

Other

  • Improved: All templates and pages are using Virtual Path Provider
  • Improved: Localized labels in login screen
  • Improved: Exposed Client side API for custom form validation
  • Fixed: Parts of Administration interface are not localizable
  • Fixed: Blog posts appear in RSS feed after being deleted
  • Fixed: Image URLs in RSS feeds are evaluated as relative links
  • Fixed: OutputCache Object does not match target type
  • Fixed: Project Manager - project file for SitefinityWebApp is replaced on upgrade
  • Fixed: Cannot save pre-defined values to existing custom fields
  • Fixed: Creating a custom provider for Secured Objects throws an error
  • Fixed: Administration>Setting>Password Recovery email body is not updated after edit
  • Fixed: The culture of the thread is not updated properly, when the website is set to run with one culture different than the default one
  • Fixed: Setting SSL for a site displays the login page in http and the user cannot continue
  • Fixed: Adding AdministrativeRoles in the SecurityConfig causes error
  • Fixed: Custom fields do not work properly for multiple providers
  • Fixed: Feeds & Notifications - add remove mapping settings results in message "Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)."
  • Fixed: Body theme CSS effects Backend in Multilingual mode
  • Fixed: RadControls show trial messages in external aspx pages
  • Fixed: URLs are not properly evaluated when using NAT or some sort of address or port translations and proxies

Breaking Changes

Templates
LayoutTemplatePath should be used on the place of LayoutTemplateName in custom controls templates. (Blog Post)

ORM Mapping

The change in ORM mapping affects all custom modules using OpenAccess for data access. For instructions on upgrade, refer to this blog post:

Additional information on OA Fluent Mapping API:

Users

  • Basic profile type is built-in. Profiles for this type are created for all Sitefinity users from the default membership provider
  • API: FirstName and LastName moved from User to SitefinityProfile
  • API: Centralized method for getting display name and avatar for users (IUserDisplayNameBuilder)

Generic Content

This module is obsolete and will no longer be supported.

  • Generic content in Administration> Content was hidden
    •  All items previously under Generic content can be found under Content Blocks

(We recommend transferring them to the Lists Module)

  • Generic content list widget is removed from the toolbox

Generic Content Items which before the upgrade were not in published status (i.e. draft, scheduled, unpublished, or draft newer than published) need to be resaved in order to become visible in Content Blocks Widget. For a list of all items, see a log file: "~\App_Data\Sitefinity\Logs\ Generic Content items that should be saved manually.log"

Upgrade Instructions
As usual, the team will be working hard to support you and help you with anything you might need. Your feedback is welcome!

Sitefinity Team.

Posted by Community Admin on 18-Apr-2011 00:00

how do i upgrade from 4.0 to 4.1?

Posted by Community Admin on 18-Apr-2011 00:00
Posted by Community Admin on 18-Apr-2011 00:00

Something changed to break a LINQ query I had...

var notices = App.WorkWith().ContentItems().Publihed().Where(ci => ((IList<Guid>)ci.GetValue("Tags")).Contains(taxId)).Get();

I'm now seeing the error:

NonGeneric method 'object GetValue(string fieldName)' is not supported in LINQ queries. Use generic 'TValue GetValue<TValue>(string fieldName)' instead.


How should I change my LINQ query? I'm not all that good at them.

Posted by Community Admin on 18-Apr-2011 00:00

Hi ZK,

Can you try the query as bellow:

var notices = App.WorkWith().ContentItems().Publihed().Where(ci => ci.GetValue<IList>("Tags").Contains(.Contains(taxId))).Get();

Greetings,
Radoslav Georgiev
the Telerik team

Posted by Community Admin on 18-Apr-2011 00:00

Hello,
Great news on the release. I was wondering if you could provide any more news on the newsletter module. The release notes say that the module is currently in beta and should not be used in production. Will there be any further development on it in the coming quarter? I did not see any mention of it in the roadmap. Thanks!

Posted by Community Admin on 18-Apr-2011 00:00

Hi Radoslav,

Your code throws lots of red up (perhaps the "(.Contains"?

Changing to:

var notices = App.WorkWith().ContentItems().Publihed().Where(ci => ci.GetValue<IList>("Tags").Contains(taxId)).Get();

Fixes the compiler error but throws an error on the next line when I try to check notices.Count()

Error:

An exception occured during the execution of '
Extent<Telerik.Sitefinity.GenericContent.Model.ContentItem>.Where(item => (item.ApplicationName == value(Telerik.Sitefinity.Modules.GenericContent.Data.OpenAccessContentProvider+<>c__DisplayClass0).appName)).Where(item => ((((item.Visible == True) AndAlso (Convert(Convert(Convert(Convert(Convert(Convert(Convert(item.Status))))))) == 2)) AndAlso (item.PublicationDate <= DateTime.UtcNow)) AndAlso ((item.ExpirationDate == Convert(null)) OrElse (item.ExpirationDate > Convert(DateTime.UtcNow))))).Where(ci => ci.FieldValue("Tags").Contains(Convert(value(SitefinityWebApp.UserControls.NoticeBox+<>c__DisplayClass0).taxId))).Count()'. See InnerException for more details.

Inner Exception is:

"Execution of 'System.Collections.IList:Contains(Object)' on the database server side currently not implemented."

Posted by Community Admin on 18-Apr-2011 00:00

Roberto, 

My 4.0 project wasn't listed in the manager, so I followed the blog post's suggestion of moving my projects.xml file over to the new project manager's install folder, and the upgrade worked great.

Posted by Community Admin on 18-Apr-2011 00:00

The upgrade completed but now my licence key is corrupted??? and it will not let me in, i just get the license registration page :(????

Posted by Community Admin on 18-Apr-2011 00:00

Hello,

@Roberto you have to update your license for the new version. Sitefinity licenses are per version and with each upgrade you have to update it. Go to your Client.NET account of Sitefinity.com and download the new license key.

@ZK, please try the bellow code, works fine on my end:

var notices = App.WorkWith()
    .ContentItems()
    .Publihed()
    .Where(ci => ci.GetValue<TrackedList<Guid>>("Tags").Contains(taxId)).Get();


Best wishes,
Radoslav Georgiev
the Telerik team

Posted by Community Admin on 18-Apr-2011 00:00

That got it. Thanks Radoslav, and good job to the Telerik team.

Posted by Community Admin on 18-Apr-2011 00:00

Roberto, 

You should download a new 4.1 key from the Your Account area. I had to deal with this as well.

Posted by Community Admin on 18-Apr-2011 00:00

Hi,

Did anyone try Google Analytics ? I can't log in?

Attaching pictures

Posted by Community Admin on 18-Apr-2011 00:00

Hi,
1- I had a problem when updating the DB so I had to delete my newsletter from the DB (5 or 6 tables) to fix that.

After updating all the references to Telerik.Sitefinity and telerik.OpenAccess I did Build the solution then tried to go to administration. It asked me to specify the new License and then for the login.
It crashed right after with the following message :

Could not find the specified key "ModuleName" or class id "ListsResources".

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.ArgumentException: Could not find the specified key "ModuleName" or class id "ListsResources".

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:

[ArgumentException: Could not find the specified key "ModuleName" or class id "ListsResources".]
   Telerik.Sitefinity.Localization.Resource.GetString(ResourceDataProvider provider, String classId, String key, CultureInfo culture, Boolean falback, Boolean throws) +626
   Telerik.Sitefinity.Localization.Res.Get(String classId, String key, CultureInfo culture, Boolean fallback, Boolean throws) +265
   Telerik.Sitefinity.Localization.Res.Get(String classId, String key, CultureInfo culture) +58
   Telerik.Sitefinity.Descriptors.LstringPropertyDescriptor.TryGetResourceValue(Object component, String& value, CultureInfo culture) +380
   Telerik.Sitefinity.Descriptors.LstringPropertyDescriptor.GetValue(Object component, CultureInfo culture, Boolean throwException, CultureInfo[] defaultCultures) +72
   Telerik.Sitefinity.Descriptors.LstringPropertyDescriptor.GetValue(Object component, CultureInfo culture, Boolean throwException) +163
   Telerik.Sitefinity.Descriptors.LstringPropertyDescriptor.GetAvailableLanguages(Object component, Boolean alwaysReturnDefault, CultureInfo defaultLanguage) +375
   Telerik.Sitefinity.Model.Localization.LocalizationHelper.GetAvailableLanguagesForObject(ILocalizable obj) +247
   Telerik.Sitefinity.Web.PageSiteNode..ctor(SiteMapBase provider, PageNode pageNode) +1094
   Telerik.Sitefinity.Web.SiteMapBase.GetChildNodes(SiteMapNode node, Boolean ifAccessible) +625
   Telerik.Sitefinity.Web.PageSiteNode..ctor(SiteMapBase provider, PageNode pageNode) +3131
   Telerik.Sitefinity.Web.SiteMapBase.GetChildNodes(SiteMapNode node, Boolean ifAccessible) +625
   Telerik.Sitefinity.Web.PageSiteNode..ctor(SiteMapBase provider, PageNode pageNode) +3131
   Telerik.Sitefinity.Web.SiteMapBase.GetChildNodes(SiteMapNode node, Boolean ifAccessible) +625
   Telerik.Sitefinity.Web.SiteMapBase.FindSegment(SiteMapNode parent, Int32 segmentIndex, IList`1 segments, String segment, PageManager pageManager, SiteMapNode& node, Boolean& exactLanguageVersionFound, Boolean checkAllLanguages) +144
   Telerik.Sitefinity.Web.SiteMapBase.FindSiteMapNode(String rawUrl, Boolean ifAccessible, Boolean fallbackToOtherLanguageVersion, Boolean& isExactMatch) +1714
   Telerik.Sitefinity.Web.SiteMapBase.FindSiteMapNode(String rawUrl, Boolean ifAccessible) +33
   System.Web.SiteMapProvider.FindSiteMapNode(HttpContext context) +64
   System.Web.SiteMapProvider.get_CurrentNode() +69
   Telerik.Sitefinity.Web.UI.Backend.MainMenu.OnLoad(EventArgs e) +296
   System.Web.UI.Control.LoadRecursive() +95
   System.Web.UI.Control.LoadRecursive() +190
   System.Web.UI.Control.LoadRecursive() +190
   System.Web.UI.Control.LoadRecursive() +190
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2760


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


I guess it is something with the new feature (List).
 I went to ToolboxesConfig.config and commented the line below :

<add enabled="True" type="Telerik.Sitefinity.Modules.Lists.Web.UI.ListView, Telerik.Sitefinity, Version=4.1.1339.0, Culture=neutral, PublicKeyToken=b28c218413bdf563" title="ListItemsViewTitle" description="ListItemsViewDescription" resourceClassId="ListsResources" cssClass="sfListitemsIcn" layoutTemplate="" moduleName="Lists" visibilityMode="None" name="ListItemsView" />

                   
but I always get the same error.
Any idea how to fix  this.
I have read again the How to upgrade. And I didn't merged the web.config and its backup.
How this could be done? by just copy paste all the content from the bckp to the new web.config?
Thanks

Posted by Community Admin on 18-Apr-2011 00:00

Is there not a release of the SDK for 4.1?

Posted by Community Admin on 18-Apr-2011 00:00

I don't think so... The developer documentation is outdated....

Posted by Community Admin on 18-Apr-2011 00:00

Major changes to the whole system and no updated developer documentation???? 

Posted by Community Admin on 18-Apr-2011 00:00

I believe the 4.1 SDK is planned for next week.

Regarding upgrade issues, be sure to check out the Important considerations before upgrading to 4.1 blog post.

Regarding documentation, be specific about issues you find.  We've done a ton of work related to documentation with this release, but there is always more to be done.  In order to improve, it's important for us to tie these reactions to specifics.  What is it in documentation that is proving unhelpful?  URLs and examples are treasured.

Thanks everyone,

Gabe Sumner
Telerik | Sitefinity CMS

Posted by Community Admin on 18-Apr-2011 00:00

@JP it seems that the Lists module did not get properly installed because your upgrade crashed the first time. Can you go to ~/App_Data/Sitefinity/Configuration/SystemConfig.config and on the entry for the lists module delete the version attribute and restart your website. This will make Sitefinity re-install the lists module.

@Preetham & @John you can find a list of some of the new topics in the Sitefinity documentation here: What's new in Sitefinity documentation. All new functionality is covered in the users, administration and designers guides.

Posted by Community Admin on 18-Apr-2011 00:00

Gabe/Radoslav,

Did you guys checkout Analytics Module... I think it's broken... I've attached images in my previous posts as well as my twitter stream with the tag #Sitefinity....

Can you tell me if it's just my computer or the bug in the Analytics Module was introduced with this version...

I have been playing with Sitefinity since this morning and I am really impressed with the functionality... except with Analytics Module

Posted by Community Admin on 18-Apr-2011 00:00

Did you try the suggestion from the GA1.JPG file? Try discarding the configuration files and setting the module again.

Posted by Community Admin on 18-Apr-2011 00:00

Yes, I tried everything... Tried different browser... Un-Installed and Re-Installed and Nothing works...

Can you confirm that it's working well on your computer... It was working fine in the previous release but not in the latest release...

Posted by Community Admin on 18-Apr-2011 00:00

@ Radoslav

I did as you advised me
now I get this error :

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.]
   DynamicModule.ns.Wrapped_OpenAccessMetaDataProvider_6bc5b10b4e024b76bf2f02e18cd79b4f.Initialize(String providerName, NameValueCollection config, Type managerType) +405
   Telerik.Sitefinity.Data.ManagerBase`1.InstantiateProvider(IDataProviderSettings providerSettings, Type providerType, ExceptionPolicyName policy, ManagerBase`1 manager) +2211
   Telerik.Sitefinity.Data.ManagerBase`1.InstantiateProvider(IDataProviderSettings providerSettings, ExceptionPolicyName policy, ManagerBase`1 manager) +74
   Telerik.Sitefinity.Data.ManagerBase`1.SetProvider(String providerName, String transactionName) +214

[TargetInvocationException: Exception has been thrown by the target of an invocation.]
   System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) +0
   System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache) +117
   System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean fillCache) +247
   System.Activator.CreateInstance() +88
   Telerik.Sitefinity.Data.ManagerBase`1.GetManager(String providerName, String transactionName) +115
   Telerik.Sitefinity.Services.SystemManager.Initialize() +142
   Telerik.Sitefinity.Abstractions.Bootstrapper.RegisterRoutes(RouteCollection routes) +243
   Telerik.Sitefinity.Abstractions.Bootstrapper.Bootstrap() +338
   Telerik.Sitefinity.Web.SitefinityHttpModule.Init(HttpApplication context) +30
   System.Web.HttpApplication.InitModulesCommon() +192
   System.Web.HttpApplication.InitInternal(HttpContext context, HttpApplicationState state, MethodInfo[] handlers) +1504
   System.Web.HttpApplicationFactory.GetNormalApplicationInstance(HttpContext context) +348
   System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext context) +200
   System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +286

Posted by Community Admin on 19-Apr-2011 00:00

Congratulations Team,

It was a hard slog but you got there in the end, I haven't delved too much into the release yet but so far so good, first upgrade no issues to report.

Well not rest for the wicked on you get with Sitefinity Q2/4.2 (crack)... :) 

Posted by Community Admin on 19-Apr-2011 00:00

@Gabe, you have got to be kidding me? We have developed several modules and now we can't upgrade to 4.1 to solve our issues becuase the SDK is not available yet and no documentation! Will the joke that is Sitefinity 4 never end?

Posted by Community Admin on 19-Apr-2011 00:00

@Jean Completely agree, I think a change of cms's will be on the cards

Posted by Community Admin on 19-Apr-2011 00:00

Hi,

I have a little question on installation package, It is normal that it contains only the Project Manager and documentation ?

Regards,
Nicolas VIGNE

Posted by Community Admin on 19-Apr-2011 00:00

@JP Did you manually upgrade the site? If yes, did you merge all new files or the bin folder only? This post proposes a solution on your issue.

 
@ Jean, please take a look at this post. The post has been release 11 days before launching Sitefinity 4.1. This would normally give people enough time to prepare for the upgrade. We have also posted links on all social networks we have presence on. Also, please note that we were contacted by customers about this before the release and we helped them with the code they needed to change. As I have mentioned previously in this thread all new functionality is covered by documentation and this documentation can be found both on-line and in the installer package. Releasing the SDK one week after Sitefinity should not really slow you down in converting your modules.

Greetings,
Radoslav Georgiev
the Telerik team

Posted by Community Admin on 19-Apr-2011 00:00

So you can follow the 4.0 documentation to create new modules, using the 4.0 SDK

Posted by Community Admin on 19-Apr-2011 00:00

Hi Shannon,

Yes, the whole approach is the same, except for the mapping of persistent classes which is covered in the blog post I have linked in the previous response.

@All, I am locking this thread as we are getting off topic and it is hard to address all of your issues here. Please use the ticketing system or forum threads if you have problems/questions regarding the release.

Kind regards,
Radoslav Georgiev
the Telerik team


This thread is closed