Solution Design

The SharePoint List Data Models reference implementation consists of two solution packages, each of which contains several features. The solution package for the DataModels.SharePointList.Model project implements the parts management data model on a SharePoint site, through the following features:

  • List Instances (LI). This is a site-scoped feature that provisions a list instance for each entity in the data model.
  • Site Columns and Content Types (CT). This is a site-scoped feature that provisions the site columns and content types.
  • Initialize Model (CT2LI). This is a site-scoped feature that binds each content type to its respective list instance. The feature includes activation dependencies on the List Instances feature and the Site Columns and Content Types feature. The feature includes a feature activation class that removes default content types from each list instance and sets the delete behavior for list relationships.

The solution also deploys the project assembly, DataModels.SharePointList.Model, which includes the feature receiver classes, the event receiver classes, and the data context class. The solution package for the DataModels.SharePointList.PartsMgmnt project implements the custom user interface components of the reference implementation, through the following features:

  • Navigation. This is a Web-scoped feature that provisions navigation links for the custom pages in the solution. A feature receiver class adds the links to the Quick Launch navigation menu on the SharePoint site.
  • Pages. This is a Web-scoped feature that deploys the custom Web Part pages to the SharePoint site. As described in Solution Overview, the feature contains a single physical Web Part page named PartsMgmnt.aspx. The feature manifest contains multiple File elements that deploy the page to multiple URLs with different Web Parts.
  • Services. This is a farm-scoped feature that contains a feature receiver class. The feature receiver registers a type mapping for the IPartManagementRepository interface with the SharePoint Service Locator when the feature is activated. As this is a farm-scoped feature, activation takes place automatically when the feature is installed.
  • Web Parts. This is a site-scoped feature that deploys the Visual Web Parts to the SharePoint site. The feature includes an activation dependency on the Services feature.