Archive for April, 2009

SharePoint SP2 is RTW

Posted on 28. Apr, 2009 by .

0

SharePoint SP2 is Release to World (RTW) as of today.  Some of the highlights from the SharePoint team blog:

Benefits

Customers can be benefited from the following enhancements with Service Pack 2.

  • Performance and Availability Improvements

Service Pack 2 includes many fixes and enhancements designed to improve performance, availability, and stability in your server farms, including:

    • New Timer job automatically rebuilds content database index to improve database performance.
    • When a content database is marked as read-only, the user interface will be modified so users cannot perform tasks that require writing to the database.
    • Performance enhancement across nearly all the components.
  • Improved Interoperability

Service Pack 2 continues to improve SharePoint interoperability with other products and platforms.

    • Broader support of browsers
      Internet Explorer 8 is added into Level 1 browser support.
      FireFox 2.0/3.0 is added into Level 2 browser support.
    • Provide improved client integration user experience with Form Based Authentication. Now the client application can store user credentials instead of asking for them every time. For more technical details please refer to the updated articles on TechNet.
      Configure forms-based authentication (Office SharePoint Server
      http://technet.microsoft.com/en-us/library/cc262201.aspx
      Configure forms-based authentication (Windows SharePoint Services)
      http://technet.microsoft.com/en-us/library/cc288043.aspx
  • Getting Ready for SharePoint Server 2010

A new preupgradecheck operation is added to stsadm tool. It can be used to scan your server farm to establish whether it is ready for upgrade to SharePoint Products and Technologies "14". It identifies issues that could present obstacles to the upgrade process. It checks for several SharePoint Products and Technologies "14" system requirements, including the presence of Microsoft® Windows Server® 2008 and a 64-bit hardware, and provides feedback and best practice recommendations for your current environment, together with information on how to resolve any issues that the tool discovers. 

I am particularly excited about the early release of the preupgradecheck tool.  This will allow IT departments to begin planning 2010 deployment rollout well in advance, and identify any significant hurdles.  Of course, “performance enhancement across nearly all the components” is also a welcomed improvement!

Bookmark and Share

Continue Reading

Error when deleting list columns in SharePoint

Posted on 28. Apr, 2009 by .

0

Received the following error when trying to delete a list column: 

“Unable to validate data.”

CropperCapture[1]

Thanks to Angela Chng for the solution:

Did you customize your application master pages and get this error while trying to delete list columns?

Unable to validate data. at System.Web.Configuration.MachineKeySection.GetDecodedData(Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Int32& dataLength)  
at System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) 

Ok that probably means you have a search box in the template which is messing things up, just remove it or hide it, and that will do the trick!

Removed the search box from the application.master and the issue was resolved!

Bookmark and Share

Continue Reading

Setting up Sitefinity to forward old Urls to new Urls

Posted on 27. Apr, 2009 by .

1

My colleague Adam Duggan pointed me to an incredible useful post on the Sitefinity support forums: http://www.sitefinity.com/support/forums/support-forum-thread/b1043S-bhamhe.aspx.  I mistakenly believed that Sitefinity would support redirecting .ASP files to the new .ASPX counterparts as long as IIS had the .ASP extension associated with the aspnet_isapi.dll runtime.  WRONG!  As indicated in the forum posting by Randy, the following steps are required:

Step 1: Configure IIS
What happens if you request a non-existent HTM,ASP page?
By default you will get a canned “white page”. When you install the .NET Framework is maps certain file extensions to the ASP.NET ISAPI, aspnet_isapi.dll. Neither HTML nor HTM files are mapped to it (because they are not ASP.NET pages). However, you can configure IIS to treat them as ASP.NET pages and serve our custom error pages.
Run the IIS Manager
Select a web application
Right click and go to Properties
On the Virtual Directory tab click Configuration
In the Extension column find .aspx, double click and copy the full path to aspnet_isapi.dll. It should be something like C:WINDOWSMicrosoft.NETFrameworkv2.0.50727aspnet_isapi.dll
Click Add and paste the path in the Executable box
In the Extension box type .html
Make sure Check that file exists is NOT checked
Dismiss all dialogs
Step 2: Modify Web.Config

Add as many types as you want into the httphnadler section of your web.config.

<httpHandlers>
<add path="*.htm" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
<add path="*.html" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
<add path="*.asp" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
</httpHandlers>

Step 3:  Set Default Page Properties

  • Open Sitefinity Admin
  • Open the Contact.aspx file.
  • Click Properties
  • Expand More Options
  • Add another URL (~/Contact.htm)
  • Check the “Redriect to Default URL” box
  • Save Changes.

Step 4: Write code using Telerik API

Add this bit of code to your global.asax


void Application_Error(object sender, EventArgs e)
{
Exception lastException = this.Server.GetLastError();
if (lastException is HttpException)
{
HttpException httpException = (HttpException)lastException;
if (httpException.GetHttpCode() == 404)
{
// get the name of the requested page - just the /thisPage.htm or /DIR/thisPage.asp etc
string pageName = string.Concat("~", Request.Url.AbsolutePath.ToString());
// create a new instance of CmsManager
Telerik.Cms.CmsManager cmsManager = new Telerik.Cms.CmsManager();
// let’s get the page by passing one of it’s additional url’s
Telerik.Cms.IPage myPage = cmsManager.GetPageByAdditionalUrl(pageName);
// we can cast myPage as ICmsPage and redirect to the Default URL
if (myPage != null)
{
Response.Redirect(((Telerik.Cms.ICmsPage)myPage).DefaultUrl.Url);
this.Server.ClearError();
}
}
}
}

Now if you come to the site with contact.htm and it doesn’t exist, you will be redirected to contact.aspx.

I hope this helps

A huge thank-you to Randy for not only figuring this out, but posting the results!

Bookmark and Share

Continue Reading

SharePoint Designer available as a free download

Posted on 03. Apr, 2009 by .

1

Microsoft has released SharePoint Designer as a free download (http://blogs.msdn.com/sharepoint/archive/2009/04/02/sharepoint-designer-available-as-a-free-download.aspx)!  My friend and colleague Jeff Becraft discusses this news, and provides sage advice to proceed with caution (Becraft’s Blog: The rumors are true! SharePoint Designer is now a FREE DOWNLOAD!). 

From my vantage point as an architect and developer of SharePoint solutions, it is important to note where it is appropriate to use SharePoint Designer (SPD) and where it is more appropriate to develop SharePoint solution packages (WSP) using Visual Studio.  I frequently use SPD for what I would consider “power user” tasks, such as creating one-off workflows.  I also use SPD to create Data View Web Parts, although I will typically export the web part from WPD and move it into a Visual Studio project for deployment and version control.

In short, this is a great win for SharePoint users, be mindful as an organization and/or development team around some of the following:  how will I version the work I’m doing in SPD?  how will I perform code promotion (development, integration, staging, production)?  is this solution generic and can I deploy it to other sites or site collections?

Happy customizing!

Bookmark and Share

Continue Reading