SMA267001: Avoid deployment of Feature Staplings via Feature Framework |
Using the Feature Stapling Feature of the Feature Framework creates dependencies on the provisioning XML files. Break this dependency to help future migrations, and updates by using the Remote Provisioning techniques from Microsoft.
CheckId | SMA267001 |
---|---|
TypeName | FeatureStaplingRecommendations |
Severity | CriticalWarning |
Type | TemplateAccociation |
Full Trust Approach | App Approach |
---|---|
Enforcing Functionality during Creation of New Sites/SubSites
Feature Stapling allows you to declaratively link Features with the creation of new Sites/Subsites which use a certain template on creation. This allows you to easily add extra functionality even to Out of the Box Site Templates, as well as custom Site Templates |
App Stapling
The product catalog can be configured to always include an app with a new site created from a template. While we won't have feature stapling directly in the App Model, App stapling allows you to simulate this process and provide almost identical features, which ties in with Remote Provisioning models of the SharePoint 2013 App Model. |
Impact of Full Trust Approach | Benefit of App Approach |
Not migratable to App Model
A rethink of the design and structure of the Feature Stapling will have to take place. There is no direct mapping to a feature stapling in the App Model. While work arounds are possible. Cannot garentuee order of staplingThis is a common issue with Feature stapling in SharePoint, sometimes very complex work arounds are required, in order to acheive what should be an easy change to the site. This results in unpredictability and poor governance. Hides the processing from the end userWhen using this technique traditionally, you will get the normal please wait feedback, with no information. This can be troublesome with Feature Stapling, due to it often increasing the provisioning time of a site creation. |
Better usability, and user feedback
The App Model helps push things to the presentation layer. This in turn allows you to keep the users aprised of why any processing may be taking longer than expected. Seperation of rolesThe provisioning engine can be hosted away from the SharePoint farm, this increases many factors, including performance and disaster recovery. Allowing for faster spin ups after a disaster recovery action, or on initial provisioning. |
Efforts and Benefits
Migration Impact | Critical |
Re-Design Effort | Medium/High |
Re-Development Effort | Low ~ High |
Long Term Benefit | High |
Effort Drivers
To suppress this violation in XML SharePoint code add the following comment right before the XML tag which causes the rule violation. Learn more about SuppressMessage here.