A Practical Guide to SharePoint 2013

A Practical Guide to SharePoint 2013
A Practical Guide to SharePoint 2013 - Book by Saifullah Shafiq

Wednesday, November 23, 2011

The form tamplate cannot be activated because it is still being uploaded to the farm

As the error name suggests, it happens when the form is still being uploaded and you try to activate it. I know this is confusing. You would ask why the option to activate the form is available when the form is still being uploaded. I don’t have an answer to that.

The element comment is used but not declared in the DTD Schema

When you try to open the browser-enabled form from the library, instead of opening the form, it asks you to select the xml form from the storing location to connect to. You think selecting the form will work, so you go ahead and select the published form from your hard disk but then you see the following error:

InfoPath cannot open a new form.
The form contains schema validation errors.

The element ‘comment’ is used but not declared in the DTD/Schema.



The form should be published to the SharePoint library. After you have published the form, make sure you select the correct content type to load the form.



1. You have different options when publishing browser-enabled InfoPath form. Make sure you select “SharePoint Library” when publishing it.
2. By default when you click New button, the default content type is selected. To open your browser-enabled form, make sure you click the arrow with the new button and select the right content type.




3. You can change default content type and even remove it if you want. Go to library settings. Under “Library Tools” select “Library” tab and then select “Library Settings”.




4. Under “Content Types”, select “Change new button order and default content type” link. Here you can change the order and make your browser form default. To delete content type, click it and then delete it.



Tuesday, November 22, 2011

Value cannot be null. Parameter name formTemplate

While removing an InfoPath form template, you get following error:
Value cannot be null
Parameter name: formTemplate



It happens when you are removing the template using the Central Admin site. After you have started the removal process, the form does not disappear immediately from the listed forms and if you try to remove it again, you will get this error because the form had already been removed. Just go back using the browser’s back button and you won’t see the form listed there anymore.

HTTP Error 500.19 - Internal Server Error

Error:

HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid.





Solution:

Change the .NET framework in application pool to version 2.0 to resolve this problem. You get this error if you change framework version to 4.0.

I dont see Remove solution link

You don’t see “Remove solution” link in solution management.

This is because the solution is still deployed to one of the web applications in your farm. Retract it from all web applications and then you will see the Remove Solution link.

Site interface looks messed up after deploying SharePoint 2007 site definition in SharePoint 2010

When you deploy your 2007 site definition in SP 2010, the interface looks totally messed up. How do you fix it? You don’t want to use the new SP 2010 interface and want to stick with the old look and feel. Here is how you do it.

  1. Open the site in SharePoint Designer
  2. Go to Master Pages.
  3. You will see different master pages. Your custom master page is set to default automatically when you deploy the site definition. Right click default.master and select “Set as Default Master Page”.


Figure 1: Set as Default Master Page

4.      You will see the following message:




Message is:

The master page you have chosen is intended for sites with a  version 3 user interface. This site’s user interface is currently set to 4. Would you like to change it to version 3?

Click Yes. Now open your site again and it will show you the old MOSS 2007 interface. Of course, you can fix the custom master page by changing the problematic elements.

Note the following:

  1. If we install site definitions (created in SharePoint 2007) directly in SP 2010, the interface is totally messed up (because it uses new SharePoint interface) and we have to revert to the old v3 interface (using steps shown above).
  2. If we upgrade SharePoint 2007 sites to SP 2010 (using attach DB method), the sites use old v3 interface by default but if we visually upgrade them to use v4 interface, they seem to work fine. No issues!


the type or namespace name 'Administration' does not exist in the namespace 'Microsoft.SharePoint'

The type or namespace name 'Administration' does not exist in the namespace 'Microsoft.SharePoint'

This is one error. The other is as follows:

The type or namespace name 'SPFeatureReceiverProperties' does not exist in the namespace 'Microsoft.SharePoint'

You have started creating an application for SharePoint but you are wondering why these errors are occurring. Worry not! Change the target framework to 3.5 in your application and these errors will go away.

1.      Go to project properties. Select “Application” from the left side.
2.      Change target framework to “.NET Framework 3.5”.
3.      Visual Studio will prompt you to restart it. Click OK.

The error goes away after Visual Studio reopens.




SharePoint 2007 site definitions and site templates don't work in SharePoint 2010

If you were using Site definitions in SharePoint 2007 that might not work in SharePoint 2010. The reason being that you were using site templates (.STP files) in your code. STP templates are not supported in SharePoint 2010, therefore, your code will surely throw an error. First thing is to update your STP to WSP and then update your site definition code. Also if your site definition code points to 12 hive,  update the reference to 14 hive. To convert your STP files to WSP, read following excellent article:
After you have converted your STPs to WSPs, update your code.

Site templates in 2010

Site templates are deprecated. If you need to redeploy a site template to either SharePoint Foundation 2010 or SharePoint Server 2010, follow these steps:
1.       Create a site from the site template.
2.       Install SharePoint Foundation 2010 or SharePoint Server 2010 on your existing server farm or on a new server farm. If you install the upgrades on a new server farm, attach the content database that contains the site that you created to the new farm.
3.       On the new installation, on the Site Settings page, select Save Site as Template. This creates a solution package with a .wsp file name extension.

Access denied by business data connectivity

You get “Access denied by business data connectivity” error when working with BCS. Take following steps to resolve this issue.
1. Go to central admin site. Click “Application Management”.



Figure 1: Manage service applications
2. Click “Manage service applications” under “Service Applications”.
3. Locate “Business Data Connectivity Service”


Figure 2: BCS service

4. Select the application that has problem and then Click “Set Object Permission” button in the ribbon.




Figure 3: Set Object Permission

5. Assign permissions to the user.





Figure 4: Assign permissions

Add user first and then assign permissions to them. You can select edit, Execute, Selectable In Clients, Set Permissions from the list. Check “Propagate permissions to all methods of this external content type …”.

Can we create InfoPath form based on an external content type in InfoPath designer

The question is, can we create a form based on an external content type in InfoPath designer? The answer is NO. Although we can create InfoPath forms for external content types using SharePoint designer but we cannot create InfoPath forms based one external content types in InfoPath designer. If we cannot create form in InfoPath designer then that also limits the form editing in InfoPath designer. Now, pay attention! Interface customization, for example, field layouts etc is possible but other complex functionality like adding new data connections etc is not possible. In fact, adding data connection is possible but InfoPath allows only one data connection if the form is submitting to the external list. If you add new data connection, the form will not publish and will throw error. You can remove the new data connection but cannot remove the default main data connection which looks like a limitation to me. We have other ways of connecting InfoPath forms to the external database. We can use WCF services to connect with the external data source. We can also create a web service and use that in BCS to connect to the backend store. We can also create a custom connector just like default SQL connector and we can also create a .NET connector to connect to the backend store. Note that custom connector and .NET connector are two different things and both have pros and cons. Custom connector works with all system types whereas .NET works with a particular system type but it can be used for aggregating data from multiple sources into a single external content type. This cannot be accomplished using a custom connector.

SPD does not open sharepoint sites

You try to open a site in SharePoint designer but are not able to do so. Well, there can be two major reasons for this to happen. I blogged about the first one some time ago. If you have not created a site collection first and you try to open it in SharePoint designer, it will throw following error:

Server error: The URL “http://server/_vti_bin/_vti_aut/author.dll” is not contained within a Microsoft SharePoint Foundation Site.


Again, this error occurs if you have created a web application but have not created site collection yet and you try to open it in designer.





Figure 1: Server error

Second reason SharePoint designer fails to open a site is that there are two sites bound to the same port. Extend the application and create new IIS site and then open with SharePoint designer, it will now open. The problem is that if IIS has more than one binding then site will not open with SPD. Check IIS. If there are two sites bound to the same port the site will not open. Simply shutting down one site will NOT resolve the problem. You have to extend the application to the new IIS port.

There is a possibility that you will see sites and folders in designer now but clicking them will not open them. Again, the solution is to extend your site to a port other than port 80. Port 80 is the default port and have binding to default site. If you can somehow remove existing bindings, you may use port 80 as well but I haven’t tried it.

Starting user profile service

To use user profiles in SharePoint, you have to first start user profile service in central admin site.
1. Go to central admin site, click “System Settings” and then select “Manage services on server”.

Figure 1: Manage services on server
2. Locate “User Profile Service” and start it.
3. After starting user profile service, you will also want to start “User Profile Synchronization Service”.

Figure 2: Start user profile service
When you try to start the sync service, you get following error:
Note: If SharePoint Central Administration is deployed on this machine, you must recycle Internet Information Services after provisioning the User Profile Synchronization Service.

Figure 3: Provide credentials
Enter your credentials and click OK. Restart IIS. You may first have to create service application if you have not already done so.

Starting Business Connectivity "Services"

Before using Business Connectivity Services (BCS), this service must be started in central admin site. To start this service, do the following.
1.       Go to central admin site. Click “System Settings” under “Central Administration”.
2.       Click “Manage services on server” under “Servers”.

Figure 1: Manage services
3.       Locate “Business Data Connectivity Service” and start it.


Figure 2: Start BCS


Start Stopped Services

When you create a new application in SharePoint 2010, there are several services that may not start automatically. You have to start them otherwise you get errors in the sites. For example, if “State Service” is not started and you try to access an InfoPath form, you get following error:
The form cannot be rendered. This may be due to a misconfiguration of the Microsoft SharePoint Server State Service. For more information, contact your server administrator.
To start the stopped services, follow these steps:
1.       Run Central Administration
2.       Click on Configuration Wizard right hand side navigation links and then Launch the Farm Configuration Wizard.
3.       Start the Wizard
4.       Make sure checkbox along with State Service is checked.
5.       Click Next.

Also, some sites may complain about missing features. This is because you have to enable enterprise features in all sites. You can do this by going to central admin site.
1.       Go to central admin site and click “Upgrade and Migration” link.

Figure 1: Upgrade and Migration
2.       Click “Enable Features on Existing Sites” (see figure above)
3.       Now check “Enable all sites in this installation to use the following set of features:”. Enterprise features option will be listed there. Click OK.

Figure 2: Enable features on existing site
To start services individually, do the following:
1.       Go to central admin site and select “System Settings”.
2.       Select “Manage services on server” under “Servers”. You will see services that are stopped. There will be a “Start” link against each of them. Start the services that you want to start here.


Figure 3: Manage services on server

The form cannot be rendered. This may be due to a misconfiguration of the Microsoft SharePoint Server State Service

Error: The form cannot be rendered. This may be due to a misconfiguration of the Microsoft SharePoint Server State Service.

You get this error when you try to access an InfoPath form in 2010.
State Service Error
Figure 1: Form error
Usually this happens after you have migrated an existing application from SharePoint 2007 to SharePoint 2010. If you have used “Attach Database” approach to migrate your application, then you would have created a new application in 2010 corresponding to the original application in 2007. Follow steps below to resolve this error.
1.       Run Central Administration
2.       Click on Configuration Wizard in right hand side navigation links and then Launch the Farm Configuration Wizard.
3.       Start the Wizard
4.       Make sure checkbox along with State Service is checked.
5.       Click Next.

This will resolve the issue and the form will start opening. Also note that the service account you provide should be different from the farm service account. The process will take a few minutes to complete. It will ask you to create a new site. Create a new site and click ok. It will show you following screen:
Farm Configuration
Figure 2: Farm Configuration
Now try to open the form again, it should open fine.

Migrating SharePoint 2007 to SharePoint 2010 - Some tips

There are tons of resources on the Internet today that tell you how to migrate your SharePoint 2007 environment to SharePoint 2010.  Sometimes, achieving something becomes difficult because of lack of information and sometimes it becomes difficult because of abundance of information. The best resources that will help you in achieving your migration goal are Microsoft articles. Here are the links:
You may probably have seen these links before. If you are migrating for the first time, do you know where to start? Which article to read first? Which tips to follow? I am sure you don’t have a clue. Well, I have done in-depth study of these articles and I have migrated applications from 2007 to 2010 several times. Below you will find steps given in a very simplistic way that you can use to migrate your environment to 2010. I am not saying that this is the only method. If you go through the above documents you will see that there are different approaches that you can take. This is just one of them but I have tested it several times and I have successfully migrated the 2007 applications to 2010.
Please note again that this is same content that you will find in the above links but I have just re-ordered it and put it in one place for your convenience.
So, the approach that I am going to use is “Attach database” approach.
1.       Back up SharePoint database in SQL Server 2005. Repeat this step to back up all the content and shared services databases that are used by Office SharePoint Server 2007 in your environment.
For complete steps, see following article:
2.       Restore the databases you backed up in the previous step in SQL Server 2008 Enterprise
3.       Now that you have restored the SharePoint 2007 database in SQL Server 2008. Next step is to create a web application. Remember, for each web application that existed in the original 2007 environment, you have to create a corresponding web application in 2010.

a.       Go to Central Admin site. Make sure “Application Management” is selected under “Central Administration” and then click “New” button.

Create New Web Application
Figure 1: Create new web application
Use the same URL and configure any alternate-access mapping settings. Remember, you cannot use same URL twice, that is, in two different locations. So, for now you will have to use a new URL but after you have migrated everything, make sure the old URL points to the new application. For example, if your current application uses a URL “http://myapp.mysharepoint.com”, you cannot use this URL again while creating a new web application. Use a new name and after migration, point the old URL to the new application. This is very important because many links in the upgraded site will not work if you forgot to change the URL. Content database has old URLs and those are not updated during the upgrade. To reuse old URL, disassociate it with the application. Also, to use a descriptive host header you need to make a DNS entry. If you don’t know how to do it, ask your network administrator to help you out.
b.      Use same authentication method as before
c.       Re-create included paths (such as /Sites)
d.      Enable self-service site creation for any web application that used it in the previous environment.

4.       Re-apply customizations. One frequent cause of failures during upgrade is that the environment is missing customized features, solutions, or other elements. Make sure that any custom elements you have to have are installed on your front-end web servers before you begin the upgrade process. Use pre-upgrade checker tool to compile a list of server-side customizations in your environment. For more information, see section “Identify and install customizations “ in the article “Use a trial upgrade to find potential issues”.
In this step, you  manually transfer all customization into your new farm. Make sure to install any components that your sites depend on to work correctly, including the following:
  • Custom site definitions
  • Custom style sheets, including cascading style sheets, and images
  • Custom Web Parts
  • Custom Web services
  • Custom features and solutions
  • Custom assemblies
  • Web.config changes (such as security)
 Ensure that you transfer any unique settings from the Web.config files for each Web application to the new servers.

5.     Verify custom components. Before you attach the content databases to the Web applications, use the Test-SPContentDatabase Windows PowerShell cmdlet to verify that you have all the custom components that you need for that database. For detailed steps, see this article.

6.     Attach a content database to a web application. Now this is an important step. When you attach a content database, make sure that the root site for the Web application is included in the first content database that you attach. In other words, before you continue, examine the root of the Web application in the original server farm to determine the first site collection. After you attach the database that contains the root site, you can attach the other content databases for the Web application in any order. You do not have to create any site collections to store the content before you attach the database; this process creates the site collections for you. Make sure that you do not add any new site collections until you have restored all the content databases.

See this link for detailed steps. This link contains all the remaining steps that you need to take to complete the upgrade process. I know what you are thinking that why instead of giving you the direct link I gave you this post. Well, as I said, beginners usually get distracted by seeing so much information. They get confused and struggle to find a starting point. Now you have one place to start your upgrade process. I have added my comments where necessary and with each step given above, I have given you the original link so that you can refer to it and complete your step.

Please feel free to contact me If you think I have missed something and you would like it to be added.





CorasWorks Solves Mixed Content Problems for SharePoint (Via Stephen E. Arnold)

Extracted from the original post

CorasWorks is a company that creates third party SharePoint solutions that specialize in business collaboration and project management. They combined their headlining products CorasWorks Cim for Social Business Collaboration and CorasWorks PPM for Project Portfolio Management and demonstrated how the two applications can work together to formulate robust business solutions. The features of this effort are summarized in “Drive Exceptional Results By Combining Social Business Collaboration and Project Management” from William’s Blog/CorasWorks.

CorasWorks has discovered three business scenarios in which their products are used the most: project collaboration, project initiation/approval/management, and innovation management. For a project collaboration solution, CorasWorks acts like SharePoint by providing a meeting point for users to contribute and share their projects. Project Initiation, Approval and Management Work stream is the workhorse solution for CorasWorks it combines the most prominent features of their applications.

“Our full demonstration shows an integrated work stream where you start with people entering their ideas for projects. This gives them visibility and allows for robust collaboration. Then, the projects are evaluated via the Cim Process Management site that enables management and subject matter expert collaboration. Once approved, you are ready to go into the project execution phase. The approved projects may be pushed into the PPM Program Management Office. Or, they can be pushed into a PPM Project Portfolio to kick off the project.”

For complete post click here

SharePoint 2010 and AD FS–Part 2

Extracted from the original article

In the first part of this series we looked at the problem we were trying to solve by using these products together. In this part we are going to look at the setup and configuration of the AD FS server.

AD FS Service Account

When you install AD FS 2.0 you have the possibility to choose between a single server AD FS or a AD FS farm (which you can add servers to). It’s a good idea to configure a farm (even if you’re going to use a single server scenario, because it provides flexibility for the future should you need it). The only difference with configuring it as a farm is that for the farm you’ll need an AD service account that has an SPN configured on it, that’s all!

So in this step we’ll create the service account and register the SPN.

· Open AD user and computers and create a user (in this example AdfsSvc)

There a two possible ways to add the SPN to the user

· command line : setspn -a host/logon.example.com AdfsSvc

· GUI: Enable Advanced Features view on AD users and computers. Right-click the Service account. Select the Attribute Editor tab and scroll to servicePrincipalName and select edit. Add the SPNhost/logon.example.com

· ADFS 2.0 installation

· Logon to the server which will function as Federation Server. Download ADFS 2.0 RTW and start the installation by running AdfsSetup.exe. Choose Federation Server.

· The installation wizard will also install some additional features (.net Framework, IIS). Once installation is complete the ADFS 2.0 console will open. Do not run the configuration wizard yet.

· For complete article click here

Making sense of SharePoint 2010 (Via Tim)

Extracted from the original post

Customizing, extending and sharing

Adoption of Microsoft SharePoint is growing rapidly, with Microsoft reporting “double-digit growth” in its latest financials, yet it remains widely misunderstood. What can you do with SharePoint, what is the difference between the free SharePoint Foundation and the full product, and what are the pros and cons?

Microsoft calls SharePoint a “business collaboration platform”, a suitably vague description for a multi-faceted product. SharePoint can be a content management system for an internal or external website, a document management system, a business search portal, and more.

So what is SharePoint really? Technically, it is an ASP.NET application which runs on Internet Information Services (IIS), Microsoft’s web server, and which stores most of its data in a SQL Server database. Conceptually, it is the outcome of Microsoft’s efforts over many years to create a web storage system, a document repository accessible via a web browser. One reason for SharePoint’s growth is that it answers the question: how can we give employees remote access to internal documents? If you are using a traditional file server, this normally requires a VPN (virtual private network), a viable option but one which can compromise security as well as making heavy demands on bandwidth. SharePoint enables remote document access without a VPN.

For complete post click here

Monday, November 21, 2011

Connecting SharePoint to SQL Server the right way (Via THOMAS VOCHTEN)

Extracted from the original post

When configuring or setting up SharePoint, there are some practices that I take for granted. One of those things is to always refer to SQL server with the hostname only. You might think that using a fully qualified domain name (FQDN) is always a good practice, but in this case it isn’t. Just to be sure what I’m talking about:

Wrong:

New-SPConfigurationDatabase –DatabaseServer host.domain.tld …


Right:

New-SPConfigurationDatabase –DatabaseServer hostname …

Of course, the same is true when connecting or creating a farm in the SharePoint Configuration Wizard – but real admins use the command line, right?

Information about this topic is not only difficult to find, but also ambivalent – even on TechNet. The last time I was faced with this problem was when setting up the user profile service in SharePoint 2010. Spencer Harbar has documented this issue on his blog. However, for some applications (like Data Protection Manager) it seems to be a problem when you don’t use a fully qualified domain name for SharePoint.

A good practice to connect SharePoint to SQL Server is to use a SQL Alias, I’ve already written about this in earlier blog posts.

For complete post click here

How to Control the OpenDocument Behavior in Office 365 SharePoint Online (Via Jesper Osgaard1)

Extracted from the original post

As described in an earlier blog post SharePoint Online comes with a very useful template "Express Team Site", from which you can easily fire up Office documents by clicking the built in icons (see below). Default behavior is that the document opens in the Office rich client if such is installed on the PC. If no Office is installed on the PC, the document will open up in Office Web Apps.

Some of you are perhaps wondering if you can in fact force the latter - make the documents open up in Office Web Apps no matter what. It can be done by disabling an add-on in IE (see how to further down in this blog post).

If you disable this add-on the behavior will change as follows:

For complete post click here

How to Work with Managed Metadata Columns by Using the SharePoint Client Object Model (Mia Kaushalendra Kumar)

Extracted from the original post

Managed metadata is a hierarchical collection of centrally managed terms that you can define and then use as attributes for items in Microsoft SharePoint Server 2010. Managed terms can act as sources of data for columns in libraries or lists. To manage the taxonomy column by using the server object model, there are APIs available under the Microsoft.SharePoint.Taxonomy namespace. However, handling managed metadata columns by using the client object model requires a different strategy.

Managed Metadata Columns

To work with managed metadata columns by using the SharePoint client object model, it helps to have an understanding of how managed metadata columns store values in lists. Consider the following details:

Managed Metadata Columns are derived from SPFieldLookup

TaxonomyFieldValue has a WSS identifier that is the Lookup ID property of the term in the TaxonomyHiddenList list. TheTaxonomyHiddenList list can be viewed by navigating to /Lists/TaxonomyHiddenList/AllItems.aspx. This list contains the details of all of the terms that are used in any managed metadata column.

For Each Managed Metadata Column, the List has Two Columns

For every metadata column, there are two columns in the list. One column is created with a field name of type Taxonomy Field and other column is created with the name in format fieldnameTaxHTField0 of type Note. Details of the taxonomy hidden column (fieldnameTaxHTField0) can be found in the XML of the taxonomy field. The XML of a taxonomy field is similar to the following. The Text Field highlighted in yellow contains the GUID of the hidden column.

For complete post click here

Sunday, November 20, 2011

Migrating from SharePoint 2007 to SharePoint 2010

There are tons of resources on the Internet today that tell you how to migrate your SharePoint 2007 environment to SharePoint 2010.  Sometimes, achieving something becomes difficult because of lack of information and sometimes it becomes difficult because of abundance of information. The best resources that will help you in achieving your migration goal are Microsoft articles. Here are the links:
You may probably have seen these links before. If you are migrating for the first time, do you know where to start? Which article to read first? Which tips to follow? I am sure you don’t have a clue. Well, I have done in-depth study of these articles and I have migrated applications from 2007 to 2010 several times. Below you will find steps given in a very simplistic way that you can use to migrate your environment to 2010. I am not saying that this is the only method. If you go through the above documents you will see that there are different approaches that you can take. This is just one of them but I have tested it several times and I have successfully migrated the 2007 applications to 2010.
Please note again that this is same content that you will find in the above links but I have just re-ordered it and put it in one place for your convenience.
So, the approach that I am going to use is “Attach database” approach.
1.       Back up SharePoint database in SQL Server 2005. Repeat this step to back up all the content and shared services databases that are used by Office SharePoint Server 2007 in your environment.
For complete steps, see following article:
2.       Restore the databases you backed up in the previous step in SQL Server 2008 Enterprise
3.       Now that you have restored the SharePoint 2007 database in SQL Server 2008. Next step is to create a web application. Remember, for each web application that existed in the original 2007 environment, you have to create a corresponding web application in 2010.

a.       Go to Central Admin site. Make sure “Application Management” is selected under “Central Administration” and then click “New” button.

Figure 1: Create new web application
Use the same URL and configure any alternate-access mapping settings. Remember, you cannot use same URL twice, that is, in two different locations. So, for now you will have to use a new URL but after you have migrated everything, make sure the old URL points to the new application. For example, if your current application uses a URL “http://myapp.mysharepoint.com”, you cannot use this URL again while creating a new web application. Use a new name and after migration, point the old URL to the new application. This is very important because many links in the upgraded site will not work if you forgot to change the URL. Content database has old URLs and those are not updated during the upgrade. To reuse old URL, disassociate it with the application. Also, to use a descriptive host header you need to make a DNS entry. If you don’t know how to do it, ask your network administrator to help you out.
b.      Use same authentication method as before
c.       Re-create included paths (such as /Sites)
d.      Enable self-service site creation for any web application that used it in the previous environment.

4.       Re-apply customizations. One frequent cause of failures during upgrade is that the environment is missing customized features, solutions, or other elements. Make sure that any custom elements you have to have are installed on your front-end web servers before you begin the upgrade process. Use pre-upgrade checker tool to compile a list of server-side customizations in your environment. For more information, see section “Identify and install customizations “ in the article “Use a trial upgrade to find potential issues”.
In this step, you  manually transfer all customization into your new farm. Make sure to install any components that your sites depend on to work correctly, including the following:
  • Custom site definitions
  • Custom style sheets, including cascading style sheets, and images
  • Custom Web Parts
  • Custom Web services
  • Custom features and solutions
  • Custom assemblies
  • Web.config changes (such as security)
 Ensure that you transfer any unique settings from the Web.config files for each Web application to the new servers.

5.     Verify custom components. Before you attach the content databases to the Web applications, use the Test-SPContentDatabase Windows PowerShell cmdlet to verify that you have all the custom components that you need for that database. For detailed steps, see this article.

6.     Attach a content database to a web application. Now this is an important step. When you attach a content database, make sure that the root site for the Web application is included in the first content database that you attach. In other words, before you continue, examine the root of the Web application in the original server farm to determine the first site collection. After you attach the database that contains the root site, you can attach the other content databases for the Web application in any order. You do not have to create any site collections to store the content before you attach the database; this process creates the site collections for you. Make sure that you do not add any new site collections until you have restored all the content databases.

See this link for detailed steps. This link contains all the remaining steps that you need to take to complete the upgrade process. I know what you are thinking that why instead of giving you the direct link I gave you this post. Well, as I said, beginners usually get distracted by seeing so much information. They get confused and struggle to find a starting point. Now you have one place to start your upgrade process. I have added my comments where necessary and with each step given above, I have given you the original link so that you can refer to it and complete your step.

Please feel free If you think I have missed something and would like it to be added.