January 20, 2011

What's Not Complete In Sitefinity 4.0

I had an ulterior motive for participating in this past weekend's GiveCamp. We use Sitefinity 3.7 SP4 as our primary CMS at work, and we've been planning on moving to Sitefinity 4.0 in March even after the licensing brouhaha. Participating would not only allow me to give something back to the community, but also use the new version in a production environment and get some initial learnings.

What we found was an alpha product with a 4.0 version number. Advertised features like localization and custom fields weren't working. Multiple teams got bit by template issues that caused their entire sites to vanish. Performance was abysmal.

We also found many features "in process of implementation," i.e. not done. Here's a short incomplete list.

Definitions on Blogs, Events, Generic Content, Documents, Images, Videos and News.
Paging on Generic Content.
Updating your profile through the backend.
Advanced filters on Blogs, Generic Content.
Image gallery: Thumbnail sizes, large image sizes.
Image library, video library: Thumbnail sizes and resizing.
Libraries: Caching.
Parts of the Download List Selector Designer.
The "Create New Library" portion of the Media Content Uploader view.
Batch editing in the Upload dialog.
Navigating to the parent, owner, page properties, reordering pages or publishing pages from certain toolbars.
In the page view, showing scheduled pages, pages pending approval, custom fields.
In some areas, creating child pages or sibling pages isn't implemented, even though it's set up right in other areas.
Comments: Blocking IP addresses, e-mail addresses, or marking comments as favorites.
Tags and category filters.
Resolving resource URL's against libraries.
Searching through users.
Advanced filtering of Events.
Replacing images in the Image library.

I really hope that we get SP1 by the end of February.

January 15, 2011

Re-add Redirects to Sitefinity 4.0

If you are trying to use Sitefinity 4.0 and are missing the ability to add external URL's like you could in Sitefinity 3.7, here is a partial solution.

RedirectToUrl.ascx:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="RedirectToUrl.ascx.cs" Inherits="SitefinityWebApp.UserControls.RedirectToUrl" EnableViewState="false" %>


RedirectToUrl.ascx.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Sitefinity.Web.UI;

namespace SitefinityWebApp.UserControls
{
public partial class RedirectToUrl : System.Web.UI.UserControl
{
public string DestinationUrl { get; set; }

public bool PermanentRedirect { get; set; }

protected void Page_Load(object sender, EventArgs e)
{
bool inDesignMode = this.IsDesignMode();
if (!String.IsNullOrWhiteSpace(DestinationUrl))
{
if (inDesignMode)
{
Output.Text = Server.HtmlEncode("Redirect to " + DestinationUrl);
}
else
{
if (PermanentRedirect)
{
Response.RedirectPermanent(DestinationUrl, false);
}
else
{
Response.Redirect(DestinationUrl, false);
}
}
}
else
{
if (inDesignMode)
{
Output.Text = "Warning: No redirect URL found";
}
else
{
Output.Text = "";
}
}
}
}
}