Friday, March 11, 2011

IE 9 will be released on March 14th

The long awaited release of IE 9 will be finally released on March 14th, 2011.  However, given the compatibility problems associated with a brand new release of Internet Explorer, it may be quite some time before most websites can support this latest version of the browser in its native form.  So, unless you are feeling quite adventurous, it might be best to wait until all of the kinks are worked out.  

http://mcpmag.com/articles/2011/03/10/ie-9-hits-release-on-march-14.aspx

Visual Studio 2010 SP1 released

Visual Studio 2010 SP1 was recently released.

To read more about the release, you can view this article:

http://visualstudiomagazine.com/articles/2011/03/08/vs2010-sp1.aspx

To download the installer for Visual Studio 2010 SP1, you can go here:

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=75568aa6-8107-475d-948a-ef22627e57a5&displaylang=en

Microsoft pushing users to drop IE 6

For any web developers who have had to support multiple browsers and especially multiple versions of Internet Explorer, you will be glad to hear that Microsoft is pushing for users around the globe to upgrade to later releases of the Internet Explorer browser.  With the pending release of Internet Explorer 9, supporting multiple versions of Internet Explorer becomes all the more difficult.  Given the unusual quirks with supporting IE 6 vs. supporting IE 7 and IE 8, it would be a welcome change to be able to completely drop support for IE 6 and begin only supporting later versions of the browser.  Given the greater standards compliance of IE 8 and soon to be released IE 9, maybe Microsoft can start an IE 7 countdown as well???

Read more about the IE 6 countdown here:
http://adtmag.com/articles/2011/03/07/microsoft-site-ie-6.aspx

To view the details of the IE 6 countdown, check it out here:
http://ie6countdown.com/



Thursday, March 3, 2011

Registering Custom Controls and User Controls in Web.config

Here is a really good article on how to register custom controls and user controls in web.config so that you can avoid creating Register directives in each and every .aspx file.

This is especially useful if you are using a control in more than one or two pages in your ASP.Net Web Site:

http://weblogs.asp.net/scottgu/archive/2006/11/26/tip-trick-how-to-register-user-controls-and-custom-controls-in-web-config.aspx

Updates for SharePoint 2010

You can download the latest SharePoint 2010 Updates from here:

http://technet.microsoft.com/en-us/sharepoint/ff800847

Tuesday, March 1, 2011

Dissecting a Custom Claims Provider

If you want a concise version of which properties and methods are required for the parts of functionality in a Claims Provider, here it is:

To augment claims:
SupportsEntityInformation
FillClaimsForEntity
FillClaimTypes
FillClaimValueTypes

To show a hierarchy of names in the left pane of people picker:
SupportsHierarchy
FillHierarchy


To search for claims:
SupportsSearch
SupportsResolve
FillSearch
FillSchema
FillEntityTypes
FillResolve (the overload with SPClaim as an input parameter)

To resolve names in type-in control:
SupportsResolve
FillResolve (both overloads)

This content was taken directly from the SQLClaimProvider code sample downloaded from MSDN Code Gallery.  The name of the file in the source code is WhatWasImplementedForWhatFunctionality.txt

Writing a Custom Claims Provider

Below are the links to a 4-part series which demonstrates how to create a Custom Claims Provider by implementing the necessary properties and methods to support various Claims-based scenarios:

http://blogs.technet.com/b/speschka/archive/2010/03/13/writing-a-custom-claims-provider-for-sharepoint-2010-part-1.aspx

http://blogs.technet.com/b/speschka/archive/2010/03/13/writing-a-custom-claims-provider-for-sharepoint-2010-part-2.aspx

http://blogs.technet.com/b/speschka/archive/2010/03/13/writing-a-custom-claims-provider-for-sharepoint-2010-part-3-searching-claims.aspx

http://blogs.technet.com/b/speschka/archive/2010/03/13/writing-a-custom-claims-provider-for-sharepoint-2010-part-4-supporting-resolve-name.aspx

The 4-part series has also been published as an MSDN Article here:

http://msdn.microsoft.com/en-us/library/ff699494.aspx

Caution when designing custom claims providers

Here is an article which describes one of the problems that can occur when utilizing custom claims providers:

http://blogs.technet.com/b/speschka/archive/2010/11/15/problems-resolving-claims-names-in-sharepoint-2010.aspx

Since custom claims providers are registered as a farm level feature, an exception in a single custom claim provider can cause the remainder of the claims providers to also break!

So what is the moral of this story?  Thoroughly test your custom claims providers before deploying them into production!  Make sure that all of the properties that are supposed to be true, are true.  If you have not implemented a corresponding method for a property, make sure that property has been set to false.

Alternate access mappings

I was recently reviewing my Windows event logs for error messages and I found this SharePoint error message in my event log:

Alternate access mappings have not been configured.  Users or services are accessing the site http://myusername:4699 with the URL http://localhost:4699.  This may cause incorrect links to be stored or returned to users.  If this is expected, add the URL http://localhost:4699 as an AAM response URL.  For more information, see: http://go.microsoft.com/fwlink/?LinkId=114854"/>

Since my computer was a member of the domain, my computer name was not always able to resolve correctly in the browser.  Therefore, I discovered that accessing my SharePoint installation via localhost not only resolved quicker but loaded faster as well.

However, I still wanted to get rid of this error message.

Therefore, I logged into Central Administration and did the following:


  1. Clicked on Application Management in the left hand navigation pane
  2. Beneath the Web Applications heading, clicked on Configure alternate access mappings
  3. Clicked on the menu item, Add Internal URLs
  4. From the Alternate Access Mapping Collection dropdown list, I selected the appropriate collection
  5. In the textbox, I entered http://localhost:4699 (for Central Administration)
  6. Clicked on the Save button to save the Alternate Access Mapping Internal URL
  7. I was now able to view my list of Alternate Access Mapping URLs

Mcafee VirusScan can block sending of e-mail messages

I was recently attempting to send out e-mail messages using an ASP.Net Web Form on my Windows 7 machine which had Mcafee VirusScan Enterprise v. 8.7i installed.  Each time I attempted to send an e-mail message, I always received an error message stating that the e-mail message could not be sent.  Sometimes I would get the cryptic error message "An attempt was made to access a socket in a way forbidden by its access permissions."

After doing some further research and digging, I determined that Mcafee VirusScan Enterprise was the root culprit of the problem.

There is a setting in Access Protection beneath Anti-virus Standard Protection that states "Prevent mass mailing worms from sending mail."

As it turns out, if this setting is checked, you will not be able to send out e-mail messages from your web application.  Once this setting is unchecked, you should be able to send out e-mail messages once again from your ASP.Net Web Form!