Not unique list instance Url might lead to the provision fail.
List definitions should include Folder content type to work correctly.
Any xml manifest is not included into feature considered not provisioned.
Adding icons enhance look and feel of the Web Parts with which Web Parts will be more identifiable. It also make Web Parts more professional.
Web part group property should not be ‘Custom’.
List scoped field MUST HAVE "ID" (not "Id") attribute. SharePoint generates random GUID for these fields.
In SharePoint development, developers are often stymied be seemingly simple tasks. Provisioning a lookup field using the declarative model in a solution package is one such task. The most common symptom of an improperly-provisioned lookup is that no error will occur on deployment, but the lookup field will have an empty reference to its parent list when viewed in List Settings. Developers will usually, and correctly, assume that the field is broken because the parent list did not exist yet when the field is provisioned. The most common way this is to use a Feature Receiver to provision their lookups after declaratively provisioning everything else because they cannot figure out a way to make the declarative approach work.
If you specify (thanks copy & paste) Indexed attribute for note field the exception will occuer during feature activation
In SharePoint 2013, if schema.xml contains user field with an attribute ShowField="NameWithPicture" it is recommended to replace it with ShowField="NameWithPictureAndDetails" attribute.
SharePoint only allows 32-character in field's internal (static) name.
Internal and static field names are different
Avoid multiple content type groups in one element file.
Avoid multiple field groups in one element file.
If we don't want to let the users to delete the field in SharePoint provide template with attribute AllowDeletion="FALSE"
If we don't want to let the users to delete the configuration list in SharePoint provide template with attribute AllowDeletion="FALSE".