What's wrong with SharePoint

26 Nov 2010

Whats wrong with SharePoint from a developer point of view?

  1. Packages
    • It’s somewhat unreliable in it’s deployment of files.
    • Takes a lot of time to install/uninstall a package.
    • Not a modern approach to package management. Its basically a cab file with files and xml describing it.
  2. Configuration
    • How do you test the deployment of configuration?
    • How does it work exactly? You have to observe the result … It only works when you use it the right way and you don’t get much in error messages.
    • Deploying the right way is frikkin hard. But, if you expect the tools for sp to work without crashing your site, you better do it the right way.
  3. From line of code to result. Could this be described as lead time of changing a line of code to viewing the results of it in the interface?

Compare this to a regular web app/ site.

How do you improve the experience?

Conventional wisdom apply:

  1. Testing your logic using automatic tests is valuable. Even more so since any changes take a lot of time to enter into SharePoint.
  2. If you can simplify by faking SharePoint functionality
    • Writing web in regular web and move it using merge or generation
    • Write simpler versions of SharePoint classes.

Some other helpful tips may be:

  1. Wspbuilder can be a good starting point. It can help you by automatically registering safe controls. Ms commerce extendability project can show you how to do it without the tool. Some of the uses for this tool might become obsolete with the introduction of Visual Studio 2010 and SharePoint 2010 (might not save your bacon though). I’ve not tried this, only read it on blogs. It might help you to understand what the tools generate.
  2. Be pragmatic when it comes to configuration. Don’t hesitate to use a merge program when your configuration feature fails. Unless of course your client will use the wsp on a SharePoint farm.
  3. Put your code behind wcf services so that the configuration and context is outside of SharePoint. Less configuration helps. Also the separation of your code and the executing context in SharePoint help you configure security easier.
  4. Don’t be stressed if it takes time. Read up on the things your working with (try to ignore the rest).



Do you want to send a comment or give me a hint about any issues with a blog post: Open up an issue on GitHub.

Do you want to fix an error or add a comment published on the blog? You can do a fork of this post and do a pull request on github.