Online Training On SharePoint
                      

Friday, 30 September 2011

How to learn SharePoint 2010

Today SharePoint is one of the most sought skills in IT Industry and many people ask these questions to me:
1. What is the best way to learn SharePoint.
2. What skills we need to learn SharePoint.
3. Should we learn SharePoint Administration or SharePoint Development etc...

I will try to put my thoughts here which is ONE approach of learning SharePoint. Since SharePoint is a vast area there are various kind of roles involved in a SharePoint Farm and it needs to be decided which area is of your interest. So with this first I would like to explain some of the roles related to SharePoint and the expectations from them:

SharePoint End User Support: This role primarly help the end user in a typical SharePoint Implementation. The work involves (not limitied to) Creating new lists, Document libraries, prividing permissions, creating columns, Content Type, Site Columns, Creating Views and interacting with various Web Parts. So basically they are involved mostly in the tasks/activities which are done mostly from the settings in the Site Collection itself.


SharePoint Administrator:They are who manages the SharePoint Farm. They can be involved in managing the entire farm or some specific area such as few Service Applications or soemthing else. Again it really depends on how big is the implementation in terms of number of servers, services offered by the farm etc. Some of the activities which the SharePoint Administrators are involved are (again not limited to :)) creating Web Applications & Site Collections, monitoring the SharePoint Farm, Configuring Search, configuring various Service applications, taking the backups of Content DB's, deploying the patches and server maintenance if that comes under their perview.


SharePoint Developer: They are the people who do custom development on top of SharePoint. There are three kind of customization which we can do on top of SharePoint. Let me explain them in brief here:
  • Customization using Browser: These customization are done using the Internet Explorer. Mostly they are described as mentioned in the SharePoint User Support Role. These are called OOB (Out of Box) changes and they do not require any coding. Any body having good understanding on SharePoint concepts can use them to develop solutions on SharePoint.
  • Customization using SharePoint Designer: This is THE TOOL to develop very advanced solutions on SharePoint. With this developers connect to SharePoint site and create solutions. Using SharePoint Designer lot of customization can be done such as Workflows, Master Pages, Layout Pages, functionalities using Data View Web Parts, solutions with BCS and so on. Since this is a critical tool it is required that people interested in SharePoint development has a expertise in this tool. These kind of solutions are called No Code solutions and they do not need any kind of code deployment.
  • Customization using Visual Studio: With Visual Studio you can extend SharePoint capabilities as you want. SharePoint opens all it API's where developer can do their coding. These solution needs to be deployed in a SharePoint Farm. These kind of solution needs to be deployed in the SharePoint farm using Feature, Solutions as preferred way. To learn these skills exposure to .Net is required.
Though above mentioned roles are three different roles but it does not mean that they need to be performed by three different people. They can be done by a dedicated team against each role or by one individual person for all the three roles. It really depends on lot of parameters and some of them the size of SharePoint implementation, the number of users, the customization on site etc.

Now once a objective has been set that we want to learn SharePoint we need to decide in which area we need to really venture. Now I will put the initial skills required for for each of these role:
1. For learning the skills required for End User Support Role a person does need to have any specific skills. The skills can be achived with reading and practicing the SharePoint concepts. If somebody has intention to learn and a bit of hands on generally how the Microsoft Product works they can learn it pretty fast.
2. Again a person with no knowledge can learn basics of SharePoint administration and with continous practice and reading he can gather the skills on Advanced SharePoint Administration. To learn them a person needs to know the basics of Microsoft Techonologies that will help a lot.
3. For the person interested in SharePoint development some initial skills are required depending in what area they would be doign the development. Generally haing skills in Java Script, XSLT, JQuery and strong fundamentals in SharePoint concepts are requierd to do the develolpment using SharePoint designer. .Net is must for the solutions developed using Visual Studio. Further we can develop soultions using Silverlite etc so it is really a vast spectrum of techonolgies which can be used to develop solutions on SharePoint.

Now I will put what somebody should be learning in SharePoint in little bit detailed manner. These skills are required irrespecitve of any role:

1.  Understanding What is SharePoint and what SharePoint can be used for. Generally I have seen many people having very wrong idea about SharePoint. In their view it is only a document management solution!!!
2. Working with List and Document Libraries. Understanding the various OOB feature which can be used to develop feature rich solutions. How to work with Views, how to enter the data, how to export data, integration with other Office Products etc.
3. Different type of columns which SharePoint list supports and what is the use of each of them.
4. Working with the various WebParts and different options available with them.
5. Site Columns and what is the use of them.
6. Content Types and how to create and use them.
7. Creating List Templates and Site Templates.
8. What is Feature and Solutions in SharePoint and how to activate them.
9. SharePoint UI elements. How to change Master Page, Themes,
10. Creating Sub Sites, creating Web Part Pages, creating lists and document libraries and various list and site templatses which comes as part of OOB SharePoint. What is the use of each of these template and how they can be utilized to fullfill the requirments.
11. Understanding concepts of Security. Understanding permissions, Item level permissions and permission levels. Creating Groups and adding users and providing them correct permissions.
12. In general good understanding on the various tasks which can be done from SharePoint UI.

For Administrators following things are important to learn (Including the above mentioned):

1. Installation of SharePoint and various options and prerequisites required for the same.
2. Understanding the SharePoint Farms and various logical components associated with it like Web Applications, Site Collections, App pools, IIS settings ets.
3. Understanding the various Physical Topologies of SharePoint Farm. The various server roles which a SharePoint Farm has and what is the use of them.
4. Service Applications and managing them. How to create and use various Service applications and configurations associated with them.
5. Databases associated with SharePoint Farm. What are different DB's and what is the purpose of them. How we can do their backups and restoration.
6. Configuring Search and various terms and concepts involved there.
7. Good understanding of PowerShell and STSADM commands.
8. Expertise on various options we have on the Central Administration Site.
9. Installing Features, Solution as required.
10. Monitoring various apects of Farm including servers etc.
11. Installation of Patches etc.
12. Various Service and Timer Job associated to SharePoint.

For the role of developers in SharePoint following skills are required (Including the mentioned from the SharePoint End user administration):

1. Solid knowledge of what can be done using SharePoint designer.
2. Creating Workflows for SharePoint (Using SPD and Visual Studio)
3. Good understanding of creating Web Parts, Features, Solution etc.
4. Very good knowledge on SharePoint Object Model.
5. Expertise in JavaScript, CSS, JQuery which helps to develop the solutions using SharePoint Designer.
6. Deploying and movings solutions in various SharePoint environments.

Hope the above helps to few people and also the above mentioned is based on my experience. I would be happy if other people can put their comments and feedback which would be helpful for all the people who are aspiring to learn skills in SharePoint techonologies.
Post a Comment
Related Posts with Thumbnails