15 September, 2013

Converting an ASP.NET site into a SharePoint site - Top 7 Issues faced and their solutions

SharePoint has become increasingly popular nowadays. A plethora of web projects are directly started in SharePoint. But still there are a lot many projects which remain out of the SharePoint scope and exist purely in the form of ASP.NET application.

SharePoint application developmentA common task that becomes applicable during migration of an existing ASP site to a SharePoint site is transforming the landing page of the site to SharePoint page. That is where the problem starts. So far as .NET applications are concerned, they incorporate diverse modern technologies and tools such as URL Rewriting, SilverLight, MVC and so on. These tools are extremely common when it comes to .NET development. However, they can pose potential problems in the world of SharePoint. Let us discuss some of the issues faced in conversion of a .NET site into a SharePoint site.

1. Master.page: SP does not support the AutoEventWireup=”true” attribute on every page. So it is good to remove the same. Moreover, there is no support for user controls on master.page, so they can be moved to CONTROLTEMPLATES folder and references need to be changed. All classes from where inheritance takes place should have namespaces.

2. CSS: SP does not render 100% CSS validation. In this case, it is good to go for CSS customization and debugging, wherein you would be getting a clean CSS file. In this all the customization would be reset. Resetting reduces browser inconsistencies especially with respect to margins, default line heights, font sizes of headings, and the like.

3. Web.config: It is to be ensured that the correct sitemap defaultProvider from the ASP.NET web.config is being used. If the same is not done, all the sitemap elements would be recognized as SharePoint Publishing class elements, which is considerably different from asp.net SiteMap classes.

4. URL Rewriting: In case URL rewriting or any other specific modules are required, the < system.webServer > section needs to be created in the SharePoint config file and added accordingly. Moreover, all the DLLS need to be added to the list of SafeControls.

5. Code: So far as the DLLs are concerned, [assembly: AllowPartiallyTrustedCallers()] is a must. Again it is advisable to ensure that all the DLLs are signed. Namespaces are a must for every class.

6. Autodiscover service: It is seen that once an ascx control is created for use in SP which has access to Exchange 2010 through its web services. Everything is okay when the same is executed in the .NET test site. However, whenever the control is utilized in SP an error occurs and the following message is shown: “The Autodiscover service couldn't be located”. This problem can be warded off by adding the domain root certificate utilized by the exchange server in the form of “Manage Trust”.

7. Deployment of ASP.Net web application: In case you have a SP Portal where deployment of .Net Web application is required, the main goal is the integration of all the asp.net application created so that every application has a single access point within SharePoint. For this, initially a SP site collection needs to be created in the web application following which sub site creation is required for each application. In this way, separation of each application can be achieved.

SharePoint application development is a popular choice when it comes to developing web based projects. However, the above mentioned issues are often faced during migration of an ASP.NET site into a SharePoint site. Following the requisite solutions can do away or mitigate these issues and help individuals or organizations to go for successful migration. So, plan accordingly, utilize the proper strategies and you will definitely achieve the right migration solution that will ensure that you have complete control over your data.

We provide ASP.NET SharePoint migration services. If you would like to know more about the expertise of our expert SharePoint programmers, please get in touch with us at Mindfire Solutions.

No comments: