Friday, May 28, 2010

Suggested SharePoint Development Standards

Assembly Development:

 
File Headers:
  • In the top section of each file (code, xml, aspx, etc) supply the following information:
    • Company name and copy rights
    • Author name
    • File
    • Purpose
    • Create Date
Custom Configuration:
Config File:
  • When possible try to not store custom settings in the web.config file. Use a separate file on CONFIG folder.
  • File name should follow this format:
    • [Customer]_[Supplier Name]_[Solution name]_Configuration.config example:Adventureworks_JSolutions_Branding_Configuration.config
  • Entries to web.config keys must be communicated beforehand to the customer.
  • Entries to web.config (user names or passwords) must be encrypted.
  • Entries to the web.config should be inside a block of comment which contains the solution name and description.
Property Bag:
  • Should be used for storing only primitive types.
  • If the values are user-defined, provide a web interface to edit those properties from custom actions on central administration on each property scope.
Features:
  • Ensure that each feature GUID is unique in the farm.
  • Ensure that each feature folder name and title should follow this format:
    • [Customer].[Supplier Name].[Solution name].[Feature Name]
    • example: Adventureworks.JSolutions.Branding.HideLinks
  • Ensure that all the features has a appropriate name, description, updated version number and icon.
  • Features with event receivers should clean up all changes created in activation as part of the deactivation routines. If the feature creates a list that contains user data, the feature should not delete this list.
  • Farm and Web Application features should never be hidden.
  • Site Collection and Site features should be hidden.
Solution (WSP):
  • Ensure that new solutions have a unique GUID in the Farm
  • Ensure that the new solution version number is incremented (format V#.#.#)
  • Solution naming convention must be descriptive: 
    • [Client Name].[Supplier Name].[Solution or module name]_[Version number].wsp                                       
    • example: Adventureworks.JSolutions.Branding_v1.0.0.wsp
  • In case of an update solution action is required for installation,solution name must not be  changed. 
  • The solution package should not include any of SharePoint installed files.
  • Referenced assemblies should not be set to copy local = 'true'.
  • All prerequisites must be communicated to the customer and pre-installed as stand-alone components for easier administration.

 Tools for Building the Solution:
Tools for Quality Assurance:
  • Use FXCop for identifying and fixing performance and security issues in source code.
  • Use the CAT.NET to help identify security issues in the solution source code.
  • Use StyleCop to identify code style and naming conventions issues. 
  • Use the SPDisposeCheck tool
Source Control:
  • All source code must be under a proper source control (like TFS or SVN).
  • All internal builds must have proper labels on source control.
  • All releases have proper labels on source control.
Quality Assurance:
Release to Customer:
  • Provide an Installation Guide which contains the following items:
    • Solution name and version number.
    • Targeted environments for installation.
    • Software and hardware Prerequisites: explicitly describes what is all needed updates, activities, configurations, packages, etc. that should be installed or performed before the package installation.
    • Deployment steps: Detailed steps to deploy or retract the package.
    • Deployment validation: How to validate that the package is deployed successfully.
    • Describe all impacted scopes in the deployment environment and the type of impact.
Enjoy !!!

19 comments:

Seth said...

hey, good stuff man! Thanks for the post.

sukumar said...

Thanks for sharing information about SharePoint keep it up more post.
Sharepoint Development

stena said...

Resourceful information for SharePoint.
SharePoint is a Microsoft Product, which is used to develop information portals in the organization. These information portals enable the people to connect and collaborate with the information available in the organization.
Thanks.
SharePoint Consulting

Unknown said...

Hi,

I just wanted to say that I really enjoyed your blog and this post. You make some very informative points. Keep up the great work!

-
SharePoint Development

Unknown said...

It's awesome and thanks for sharing this posting, Keep updating. Thanks



SharePoint Development

BuckminsterMalone said...

Know that SharePoint Development Standards have been updated with a few minor SharePoint 2010 specific tweaks, the addition of database access but how we can include client site development like Jquery.

AlecCoffey said...

For custom SharePoint growth, it would be a wise decision to choose third-party associates. You will need them to keep from writing plenty of customized rule.

Neil Hester said...

It is essential that you comprehend the actual concepts for each conventional if you want to know whether it is appropriate in your own environment.

Digital Information 2020 said...

Really nice post…Thanks for sharing the information & keep sharing. I like it Click Share Point Development

Unknown said...


SharePoint utilizes a windows Service sharepoint development
for logging. some of the time, such as amid sending, you will discover the log document is growing couple of hundreds megabytes in brief time. So following administration may play a bit part in execution. On the off chance that you needn't bother with the log petition for a timeframe, you can handicap the windows benefit. Amid advancement I typically impair the administration and when I have to see the log document, I empower the administration.Visit Here-http://aufait.in/sharepoint or call us-+91 80 46557800

Mark James said...
This comment has been removed by the author.
Sam said...

Good article & understand easily. Thanks for sharing your brief explanation. Professional SharePoint consulting services

QuiTec said...

Hi there I am so thrilled I found your website, I really found you by mistake, while I was browsing on Yahoo for something else
Sharepoint Development

Abeer said...

The blog you have shared is incredibly helpful.
The tips you have shared related to share points development is really informative.
Thanks for sharing this blog!


Assignments Help in Pakistan

Unknown said...

Great blog...
it very knowledgeable
it very effective for learner


it solution company

Sapphire Solutions said...

Good to know about sharepoint standards..!

Sharepoint developers will definitely love your post...

Well, read our blog - Important Features to Know Before Using Microsoft SharePoint

Microsoft SharePoint development services

Swed Tech said...

Pretty article! I found some useful information in your blog, it was awesome to read,thanks for sharing this great content to my vision.
I appreciate your work.please keep sharing more updates.


social media marketing in Sweden

Maark Tech said...

The blog is really very well and keep nice collection of data. You are doing a great job, good luck for the upcoming blogs.

home security cameras installation services in Karachi

Unknown said...


The blog you have shared is incredibly helpful.
Thanks for sharing this blog!


 The cleaning industry Sweden

Post a Comment