Mariusz, Gorzoch tech Blog

Becoming a sharepoint developer

leave a comment »

When I started my path of upgrading my skills to work with SharePoint I didn’t know what exacly this SharePoint is about. Now after a while I think I get some experiences and I think that I understand this better. Today I watch quite good panel session done on TechEd 2009 by SharePoint MVPs which summarizes my thought (if you have access to techEd online, you can find it hire). Bellow you can find few hints I would like to find when I was on the begginig of this path. Hope that they let you better understand what SharePoint is and how to handle it, when starting from asp.net developer position:
1. On the first place I decided to put : think forward. When you developing application for sharepoint you need to think about entire application lifecycle. Not only about development but also about deployment, upgrading and removing of your solution from the deployment enviroment. SharePoint is an platform and it can contain thousands solution like yours. You should play nicely as if you will not, then you find quickly that you need to rebuild your entire farm and start around from the beggining.
2. Knowledge comes with experience. Do not give up on the beggining. During becoming SharePoint developer you need to understand each pice of SP framework (like content types, lists, libraries, site colument, sites, ect) and deeply understand how to play with each of them (how to add them, upgrade and remove). In general it takes around 1 year for the asp.net developer to jump into SharePoint and start to look around. Keep this in mind, you can get experience but it requires some time, practices and mistakes
3. Pack everything you do inside WSP solution and treat this as the only way of deployment into staging/production enviroment. SP is an enviroment for hosting your applications, called feature/solutions. As this is so, it is crital that all your solution should be integrated by proper deployment process. Always pack your applications in wsp packages. Your apps should be delivered inside packages, which can be passed to admin who should install it on the prod server without contacting you how to do this.
4. Think not only about deployment, but also about retraction. When creating applications for SP you need to consider how the solution should bahave in case of remove. What should it clear and what she left behind (in case when some components of you solution are shared among other solutions).
5. The big difference betwean asp.net and sharepoint development is that in case of asp.net you start by creating framework to host your application. In case of SharePoint this is done for you, but insted of that you need to know how to play with the platform SharePoint is. Is it more difficult ? no, I would say it is diffrent and you just understand that not only application will fit SharePoint and if you tried to do it this whey then you can end-up with a lot of sleep-less nights.
6. You can use Visual Studio to do developemnt, but you need to know that visual studio can do stuff for SP, but it is not aware of it. This causes that deplyment can be a painfull if not planed properly.
7. Keep away from SharePoint database. It will not give you any lights how to play with SharePoint, but it can let you brake your entire farm :). When working with SharePoint you need to underastnad that the only way of working with it is thru API.
8. Be really carefull with SharePoint designer. It should be used for prototyping only. You can use it to bring wire picture of your application, but on the end you should go thru normal Visual Studio path and pack your entire solution into wsp package. In general SharePoint designer should be locked for production enviroment. Use SP designer on special sandboxes , where you are not scare of losing your data (any good tool can be used for bad things).
9. Everything about the SharePoint is hold in database. This database contain content and metadata. This bring huge implication where you need to understand that upgrading of this structute is quite complicated process (you can not update matedata without providing the way of updating content).
Those are the things I believe you need to consider and keep in mind during SharePoint development. You can also listen about them in mentioned panel discussion.

Written by Mariusz Gorzoch

15 June 2009 at 22:17

Posted in SharePoint

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: