Saturday, July 11, 2009

Sharepoint: Shared Environment Scenario (What Sharepoint Admins Want)

Appropriate use of built in functionality (80:20Rule)

To avoid redundant work and also to minimize issues occuring in your MOSS implementations, it is always desirable to use built in functionality wherever possible, instead of building replacement pieces from scratch. As a rule any application/portal developed must be in the boundaries of the 80:20 rule i.e. 80% native implementation and 20% custom (maximum limit).
Some examples of using built in functionality include:

Easy maintainability of customizations

All code and customizations should be documented, and built in a way so that any developer other than the original author will be able to maintain the code. Some examples of ways to improve the maintainability include:

  • Adding comments to the code that describe what the code does and why
  • Compiling all code from the source code in source control
  • Logging all error conditions and status changes to the event log

Flexibility for Code Reuse

To provide the best value to a shared environment/platform, an admin would always want to reduce duplicate efforts and reuse existing functionality wherever possible. To enable this, custom functionality must be flexible enough to work in environments other than the one originally designed for. Some examples of making code flexible include:

  • Setting Site URLs and List Names through properties instead of hard coding them
  • Using Sub Site relative URLs instead of absolute URLs, or Web Application relative URLs
  • Using resource files for strings so that code can be localized into different languages
  • Creating functionality as a SharePoint Feature so that it can be activated on any site
  • Creating reusable components such as web parts or web services
  • Use Universal Data Connections (UDCs) to connect to data sources in InfoPath Forms

Performance & Scale

To provide a good user experience and support a high number of sites, all customizations must have good performance and scale. There are two major parts of performance: how long the page takes to load (latency), and how many people can visit the page at the same time (throughput).
Some examples of ways to improve performance and scale include:

Usability

To provide the best user experience, all custom sites should have a high level of usability. This can be achieved by following standards and simplifying the options presented to the end user.
Some examples of improving usability include:

  • Providing descriptive text to guide users through steps
  • Using breadcrumbs to show users where they are in the site
  • Using standard SharePoint UI such as settings pages or the people picker

No comments:

Post a Comment