Everyone is doing lists these days so I thought I’d share my list of favorite SharePoint developer features.
8. SharePoint Features
I love SharePoint features, as in the technical term feature, not the general term. Call me crazy, but SharePoint features make my life a whole lot easier. I can get most of what I need to do done with writing some relatively simple CAML, putting it together with other features and suddenly have a solution. It is also a great intructional tool for SharePoint. Learn features and learn SharePoint.
Collaborative Application Markup Language may have some bad issues, complexity being one of them, but once you get the hang of things, you will really see how powerfull it can be. CAML should be taught early in any developer’s SharePoint training, and any good job candidate should be able to write or explain a modest amount of CAML code in a job interview.
EventReceivers in SharePoint is a great tool to catch and modify behavior at run time. If I am unable to get SharePoint out-of-the-box to do exactly what I want I can write an event receiver to accomplish more or less anything. The only reason this is not further up is that it is too easy to implement so it does not force me to be creative and learn exactly how SharePoint wants me to work.
What I can not handle with event receivers I can surely handle with workflow. I actually like state machine workflows better than I like sequential workflows, especially in SharePoint where human interaction is more the norm than the exception. Again it takes some getting used to, but once you get the basics down you will be a lot more productive and accomplish great works of SharePoint magic.
4. Custom listforms
Creating a SharePoint custom listform will be one of my next technical articles. In short, you can get the edit page, new page and display page of any list or content type to look and behave exactly how you like. That enables you to make the user experience a treat rather than a nightmare.
3. ASP.net compatibility
I could have written webparts as a favorite feature. I could have written custom component development. I could have written application pages and extensibility. But the true beauty of all of these things is that they are just ASP.net. You can write up just about any page or application and integrate SharePoint into that application. With a few simple pointers, some very nice web casts, and perhaps a bit of an adventurous spirit you can create some truly amazing stuff, even if all you know is ASP.net.
2. The SharePoint Object Model
If you’ve started down the road of SharePoint development you will get to know and love the object model. True, it can be troublesome to get all the parameters right, the flow of things, how to actually get those SPFieldTypeDefinitions to work, and the documentation, as you will see, can be quite sketchy at times, but you can do everything in SharePoint with the object model. Actually, most things are done with the object model. If you look at truly wonderful products, such as SharePoint Manager 2007, they use the object model. Nothing else, no cheating. No direct database action. Just the object model.
And finally…. *drum roll*
…my favorite feature of SharePoint development is…
1. The Documentation
Whoa! What? Who, in their right mind, can rank the documentation of SharePoint as their favorite feature? Well, I think there are two sides to this story. First I do like what Microsoft has done with the SharePoint documentation when they have actually done something, but what is lacking or plainly wrong is even better. Why? Well, I like a bit of a challenge and some adventure. If everything was written down I could just look it up. Now where’s the fun in that? True development joy comes from discovering things, not reading and writing what someone else has already done. You can discover small quirks, find a bug here and there, or even discover undocumented features and explore them all by yourself. It may not be 100% productive but it is more fun.
The lack of documentation is actually my favorite feature of the SharePoint development experience.
Or I might be out of my mind. What do you think?
Found this article valuable? Want to show your appreciation? Here are some options:
a) Click on the banners anywhere on the site to visit my blog's sponsors. They are all hand-picked and are selected based on providing great products and services to the SharePoint community.
b) Donate Bitcoins! I love Bitcoins, and you can donate if you'd like by clicking the button below.
c) Spread the word! Below, you should find links to sharing this article on your favorite social media sites. I'm an attention junkie, so sharing is caring in my book!