Releases
Releases
SPMeta2 is an open source project driven and cured by SubPoint Solutions team. Having said that, we appreciate all the contributions by the community from a small suggestion to the pull request at GITHUB.
Releases schedule
The SPMeta2 library is being actively developed: new features, enhancements and fixes are constantly added. We tend to be agile and deliver new features and fixes as soon as possible:
- On weekly basis new features and minor fixes are published as -beta to NuGet
- On monthly basis a major release is published to NuGet
- Every commit to github gets build with Appveyor and the gets published to the staging MyGet feed
Planning and feature requiests
We tend to use scrum and weekly iterations, aligning our roadmap with the comnunity using the following channels:
Once we deside on the features, we use GITHUB issues to plan and track iterations.
Source code
We use GITHUB to host the source code - both dev/master branches could be found here:
Past releases
What's new in SPMeta2 v1.2.60, Feb, 2016
Various fixes and enhancements, IndexedPropertyKeys support for web and list scopes, CSOM support for SP2010 (SPMeta2.CSOM.Foundation-v14 and SPMeta2.CSOM.Standard-v14 packages), build support for SP2016.
AssemblyFileVersion: 1.2.16068.0806
Fixes
- #777, WebDefinition provision must not reset title / description to NULL/Empty values
- #788, Provisioning publishing page throws null reference exception
Enhancements
- #774, Enhance ListDefinition - add "WriteSecurity" prop
- #773, Enhance JobDefinition to address job.Properties prop
- #375, SP2010/.NET 3.5 support for CSOM
- #749, Add Web.IndexedPropertyKeys provision support
- #641, Add support for SP2016 - CSOM/SSOM
- #792, Enhance BooleanFieldDefinition - add DefaultValue property validation
- #791, Enhance PublishingPageDefinition - add PageLayoutFileName property validation
- #787, Improve regression tests - definition must not be modified by handlers
- #778, Add List.IndexedRootFolderPropertyKeys provision support
- #750, Add detection of CSOM/SSOM support of the target model
- #737, Enhance 'ContentTypeDefinition' provision - add parent content type name prop
Regression tests
- 750 regression tests
Support & Issue Resolution
In case you have unexpected issues please contact support on SPMeta2 Yammer Network:
What's new in SPMeta2 v1.2.50, Jan, 2016
Various fixes and enhancements, added support for content types coming from "Content Type Hub", fixes on the correct HTML/Content for the publishing pages, enhances XsltListViewWebPartDefinition provision, enhancements on breaking role inheritance for publishing pages, default page layour CSOM, other API improvements and more regression tests.
AssemblyFileVersion: 1.2.16020.0016
Fixes
- #745, .AddContentTypeLink() should work well with the read-only content types (Content Type Hub)
- #744, CSOM - Publishing page has broken Content/HTML values once model reprovisioned
- #743, Enhance 'XsltListViewWebPartDefinition' provision - ensure asset library 'Thumbnails' view support
- #740, CSOM - Fixed issue with setting default pagelayouts
Enhancements
- #746, Add regressions tests for .AddBreakRoleInheritance() on pages
- #742, Support 'UniqueContentTypeFieldsOrderDefinition' at list level content types
- #741, ContentTypeLink definition should work correctly on Name without ID
- #739, Troubleshoot 'HTMLFieldDefinition' - is should render a proper markup for layout pages
- #430, CSOM - Enhance "ListDefinition" with MajorWithMinorVersionsLimit/MajorVersionLimit
- #754, Enhance 'ContentTypeDefinition' ParentContentType ID validation
- #567, Implement fault tolerant provision for CSOM
Regression tests
- 734 regression tests
Support & Issue Resolution
In case you have unexpected issues please contact support on SPMeta2 Yammer Network:
What's new in SPMeta2 v1.2.45-beta-1, December 2015
Fixes, various enhancements, pull requests, new regression tests and tests hardening.
AssemblyFileVersion: 1.2.15334.1243
Fixes
- #745, .AddContentTypeLink() should work well with the read-only content types (Content Type Hub)
- #744, CSOM - Publishing page has broken Content/HTML values once model reprovisioned
- #743, Enhance 'XsltListViewWebPartDefinition' provision - ensure asset library 'Thumbnails' view support
- #740, CSOM - Fixed issue with setting default pagelayouts
Enhancements
- #746, Add regressions tests for .AddBreakRoleInheritance() on pages
- #742, Support 'UniqueContentTypeFieldsOrderDefinition' at list level content types
- #741, ContentTypeLink definition should work correctly on Name without ID
- #739, Troubleshoot 'HTMLFieldDefinition' - is should render a proper markup for layout pages
- #430, CSOM - Enhance "ListDefinition" with MajorWithMinorVersionsLimit/MajorVersionLimit
Pull Requests
- #740, CSOM - Fixed issue with setting default pagelayouts by @sjkp
- #733, CSOM - Taxonomy term lookup fix by @maratbakirov
Regression tests
- 732 regression tests
Support & Issue Resolution
In case you have unexpected issues please contact support on SPMeta2 Yammer:
What's new in SPMeta2 v1.2.40, Nov, 2015
Preliminary implementation for 25 strong typed web parts. Fixes, various enhancements, new regression tests and tests hardening.
AssemblyFileVersion: 1.2.15321.0933
New definitions
- #714, Add 'CategoryWebPartDefinition'
- #713, Add 'SocialCommentWebPartDefinition'
- #712, Add 'MyMembershipWebPartDefinition'
- #711, Add "PictureLibrarySlideshowWebPartDefinition"
- #710, Add 'MembersWebPartDefinition'
- #709, Add "TagCloudWebPartDefinition"
- #708, Add "CommunityJoinWebPartDefinition"
- #707, Add "CommunityAdminWebPartDefinition"
- #706, Add "UserDocsWebPartDefinition"
- #583, Add 'DataFormWebPartDefinition' provision support
- #504, Add 'SiteDocumentsDefinition'
- #503, Add 'RSSAggregatorWebPartDefinition'
- #469, Add "GettingStartedWebPartDefinition"
- #468, Add "UserTasksWebPartDefinition"
- #467, Add "SearchNavigationWebPartDefinition"
- #465, Add "ImageWebPartDefinition"
- #463, Add "DocumentSetPropertiesWebPartDefinition"
- #462, Add "DocumentSetContentsWebPartDefinition"
- #461, Add "XmlWebPartWebPartDefinition"
- #460, Add "SPTimelineWebPartDefinition"
- #459, Add "TableOfContentsWebPartDefinition"
- #458, Add 'BlogAdminWebPartWebPartDefinition'
- #457, Add 'BlogLinksWebPartDefinition'
- #456, Add 'BlogMonthQuickLaunchDefinition'
- #455, Add "SearchBoxScriptWebPart" definition
- #454, Add "SimpleFormWebPart" definition
- #264, Add 'SearchSettings' provision support
- #330, Add SSOM 'MetadataNavigationSettingsDefinition' provision support
Fixes
- #693, Some web part provision on wiki page give empty markup
- #725, Enhance CSOM provision for 'XsltListViewWebPart' - all view props should be copied
- #691, Global navigation is not set as expected
Enhancements
- #718, Enhance 'ChoiceFieldDefinition' - ensure EditFormat field updatibility
- #717, Enhance 'UserFieldDefinition' - add 'ShowField' property
- #716, Enhance 'XsltListViewWebPartDefinition' - add WebId/WebUrl properties
- #715, Enhance 'ListViewDefinition' - add 'Scope' property
- #583, Add 'DataFormWebPartDefinition' provision support
- #485, Enhance 'UserCodeWebPartDefinition' - UserCodeProperty should support ~sitecollection/~site tokens
- #726, BuiltinListDefinition.WorkflowTasks seems to be incorrect
- #721, Enhance 'ModuleFileDefinition' - add 'Title' property
- #719, Enhance 'PublishingPageDefinition' - add DefaultValues support
- #598, Enhance 'PublishingPageLayoutDefinition' - add DefaultValues support
- #566, Enhance 'ListItemDefinition' provision to support field values
- #565, Enhance 'ModuleFileDefinition' provision to support field values
- #402, Enhance web part page provision - add DefaultValues prop support
- #401, Enhance wiki page provision - add DefaultValues prop support
- #730, Add built-in wiki pages into BuiltInWikiPages class
- #527, Enhance ListViewWebPart/XsltListViewWebPart provision - add 'toolbar' options support
- #734, All validation services should have common base class and metadata
Pull Requests
- #728, 2015.11.02 - page default values
Regression tests
- 718 regression tests
Support & Issue Resolution
In case you have unexpected issues please contact support on SPMeta2 Yammer:
What's new in SPMeta2 v1.2.35-beta2, Nov, 2015
ContentTypeName, ContentTypeId and default values for pages, list items and modules. A few major fixes for web navigation settings and XsltListViewWebPart provision. New regression tests and tests hardening.
AssemblyFileVersion: 1.2.15306.0935
Fixes
- #725, Enhance CSOM provision for 'XsltListViewWebPart' - all view props should be copied
- #691, Global navigation is not set as expected
Enhancements
- #726, BuiltinListDefinition.WorkflowTasks seems to be incorrect
- #721, Enhance 'ModuleFileDefinition' - add 'Title' property
- #719, Enhance 'PublishingPageDefinition' - add DefaultValues support
- #598, Enhance 'PublishingPageLayoutDefinition' - add DefaultValues support
- #566, Enhance 'ListItemDefinition' provision to support field values
- #565, Enhance 'ModuleFileDefinition' provision to support field values
- #402, Enhance web part page provision - add DefaultValues prop support
- #401, Enhance wiki page provision - add DefaultValues prop support
Regression tests
- 706 regression tests
Support & Issue Resolution
In case you have unexpected issues please contact support on SPMeta2 Yammer:
What's new in SPMeta2 v1.2.35-beta1, Oct, 2015
Preliminary implementation for 25 strong typed web parts, further improvements will be made prior November 2015 release. Fixes, various enhancements, new regression tests and tests hardening.
AssemblyFileVersion: 1.2.15301.0536
New definitions
- #714, Add 'CategoryWebPartDefinition'
- #712, Add 'MyMembershipWebPartDefinition'
- #711, Add "PictureLibrarySlideshowWebPartDefinition"
- #710, Add 'MembersWebPartDefinition'
- #709, Add "TagCloudWebPartDefinition"
- #708, Add "CommunityJoinWebPartDefinition"
- #707, Add "CommunityAdminWebPartDefinition"
- #706, Add "UserDocsWebPartDefinition"
- #583, Add 'DataFormWebPartDefinition' provision support
- #504, Add 'SiteDocumentsDefinition'
- #503, Add 'RSSAggregatorWebPartDefinition'
- #469, Add "GettingStartedWebPartDefinition"
- #468, Add "UserTasksWebPartDefinition"
- #467, Add "SearchNavigationWebPartDefinition"
- #465, Add "ImageWebPartDefinition"
- #463, Add "DocumentSetPropertiesWebPartDefinition"
- #462, Add "DocumentSetContentsWebPartDefinition"
- #461, Add "XmlWebPartWebPartDefinition"
- #460, Add "SPTimelineWebPartDefinition"
- #459, Add "TableOfContentsWebPartDefinition"
- #458, Add 'BlogAdminWebPartWebPartDefinition'
- #457, Add 'BlogLinksWebPartDefinition'
- #456, Add 'BlogMonthQuickLaunchDefinition'
- #455, Add "SearchBoxScriptWebPart" definition
- #454, Add "SimpleFormWebPart" definition
Fixes
- #693, Some web part provision on wiki page give empty markup
Enhancements
- #718, Enhance 'ChoiceFieldDefinition' - ensure EditFormat field updatibility
- #717, Enhance 'UserFieldDefinition' - add 'ShowField' property
- #716, Enhance 'XsltListViewWebPartDefinition' - add WebId/WebUrl properties
- #715, Enhance 'ListViewDefinition' - add 'Scope' property
- #583, Add 'DataFormWebPartDefinition' provision support
- #485, Enhance 'UserCodeWebPartDefinition' - UserCodeProperty should support ~sitecollection/~site tokens
Regression tests
- 690 regression tests
Support & Issue Resolution
In case you have unexpected issues please contact support on SPMeta2 Yammer:
What's new in SPMeta2 v1.2.30, October 2015
General assembly clean up to comply with "Microsoft Managed Recommended Rules", improved built-in validation on fields and content type, improved model serialization, various enhancements and new regression tests.
AssemblyFileVersion: 1.2.15294.1219
New definitions
- AnonymousAccessSettingsDefinition - SSOM only, should be deployed under web
- ClearRecycleBinDefinition preview, SSOM + limited CSOM
Fixes
- Incorrect deserialization in particular cases - a model could not be provisioned correctly once deserialized, ModelNodeOptions.RequireSelfProcessing is always false
- Null reference exception while deserializing model
- Incorrect web part type with CSOM ContentBySearchWebPartModelHandler
- Correct BuiltInFieldTypes.LookupMulti type
- Folders support .AddProperty() syntax
- All fields can be deployed to site, web and list scopes #677
- Title props is excluded from the validation for wiki pages
- Fixed NullReferenceException in SSOM ManagedPropertyModelHandler
- Correct FieldType for LookupFieldDefinition/UserFieldDefinition while using AllowMultipleValues flag
Enhancements
- HTMLFieldDefinition has RichText and RichTextMode properties
- Updated RegionalSettings provision for CSOM
- Corrected built-in web part page templates for SP2010/2013
- SSOM only - ListViewDefinition supports 'view style' prop #530
- Added built-in validation for InternalField name - no more than 32 chars
- Added built-in validation for ContentTypeId - must start with '0x'
- WebPartDefinition has generic property collection for web part props
- Enhanced 'WebDefinition' provision - AlternateCssUrl/SiteLogoUr props
- New props for SP2013Workflow/SP2013WorkflowSubscription definitions
- TaxonomyTermSet / Term enhanced with CustomProperties, LocalCustomProperties, CustomSortOrder, Contact, "Available for tagging" props
- UserCustomAction validates absolute URL in ScriptSrc prop
- NoteFieldDefinition updates RichTextMode prop for CSOM
- Builtin class for ManagedDataType
General assembly clean up
A big clean up on the warning and recommended coding practices for the following assemblies:
- SPMeta2
- SPMeta2.Standard
- SPMeta2.CSOM
- SPMeta2.CSOM.Standard
- SPMeta2.SSOM
- SPMeta2.SSOM.Standard
The following settings are used:
- Microsoft Managed Recommended Rules
- Disabled warnings on ListDefinition.GetUrl() and .ListDefinition.Url in the assemblies only
- Warning Level 4
- Suppressed warning 1591 at the build level
- XML documentation file checked
- All warnings threaded as errors for mentioned assemblies
- These settings should be considered as a baseline for the following implementation.
Regression tests
- 630 regression tests, improved coverage, new tests on provision, serialization and model validation
What's new in v1.2.25-beta3
[Fixed] Incorrect deserialization in particular cases - a model could not be provisioned correctly once deserialized, ModelNodeOptions.RequireSelfProcessing is always false.
Related to:
- Deserialized models cannot be deployed #697
AssemblyFileVersion: 1.2.15286.1214
No other changes were introduced.
What's new in v1.2.25-beta2
Several critical bug-fixes (deserialization in particular cases, CSOM ContentBySearchWebPart fix) plus a big clean up on the warning and recommended coding practices on the SPMeta2 assemblies.
AssemblyFileVersion: 1.2.15285.1337
New definitions
- No new definitions were added
Fixes
- Null reference exception while deserializing model
- Incorrect web part type with CSOM ContentBySearchWebPartModelHandler
Enhancements
- SSOM only - ListViewDefinition supports 'view style' prop #530
- Added built-in validation for InternalField name - no more than 32 chars
- Added built-in validation for ContentTypeId - must start with '0x'
- WebPartDefinition has generic property collection for web part props
General assembly clean up
A big clean up on the warning and recommended coding practices for the following assemblies:
- SPMeta2
- SPMeta2.Standard
- SPMeta2.CSOM
- SPMeta2.CSOM.Standard
- SPMeta2.SSOM
- SPMeta2.SSOM.Standard
The following settings are used:
- Microsoft Managed Recommended Rules
- Disabled warnings on ListDefinition.GetUrl() and .ListDefinition.Url in the assemblies only
- Warning Level 4
- Suppressed warning 1591 at the build level
- XML documentation file checked
- All warnings threaded as errors for mentioned assemblies
- These settings should be considered as a baseline for the following implementation.
Regression tests
- 625 regression tests (+9 since last beta release)
What's new in v1.2.25-beta1
New definitions
- AnonymousAccessSettingsDefinition - SSOM only, should be deployed under web
Fixes
- Correct BuiltInFieldTypes.LookupMulti type
- Folders support .AddProperty() syntax
- All fields can be deployed to site, web and list scopes #677
- Title props is excluded from the validation for wiki pages
- Fixed NullReferenceException in SSOM ManagedPropertyModelHandler
- Correct FieldType for LookupFieldDefinition/UserFieldDefinition while using AllowMultipleValues flag
Enhancements
- Enhanced 'WebDefinition' provision - AlternateCssUrl/SiteLogoUr props
- New props for SP2013Workflow/SP2013WorkflowSubscription definitions
- TaxonomyTermSet / Term enhanced with CustomProperties, LocalCustomProperties, CustomSortOrder, Contact, "Available for tagging" props
- UserCustomAction validates absolute URL in ScriptSrc prop
- NoteFieldDefinition updates RichTextMode prop for CSOM
- Builtin class for ManagedDataType
Regression tests
- 616 regression tests.
SPMeta2 v1.2.2 - September 2015 - release notes
If you have 1.1.XXX and moving to 1.2.XXX please review the following release notes carefully.
The following information aims to provide an overview on assembly related changes, refactorings, API changes, new features and API to prepare and simplify migration from v1.1.XXX to v1.2.XXX. https://github.com/SubPointSolutions/spmeta2/releases/tag/1.2.0-beta1
Please review it carefully, consider that depending on your solution and API usage additional effort might be required to get updated to v1.2.XXX. Once updated, make sure your solution can be compiled without errors, then give a few rounds of provision.
In case you have unexpected issues please contact support on SPMeta2 Yammer:
AssemblyFileVersion - 1.2.15265.2146
What's new in v1.2.2
New definitions
- SupportedUICultureDefinition, should be deployed under web
Fixes
- AddProperty() method on list nodes
- Fixed security provision for SSOM on wiki, web part and publishing pages
Enhancements
- Localization support (TitleResource / DescriptionResource) for web, field, content type, list, list view, navigation nodes and user custom actions
- Enhance 'ModuleFileDefinition' provision - enable security operations #655
- Correct BuiltInListDefinitions.CustomUrl props, regression tests
- Version property validation on AppDefinition
Regression tests
- Improved regression testing
Improved and hardened regression tests coverage - 600+ tests run against the following environments
- SP2013 SP1+ SSOM
- SP2013 SP1+ CSOM
- O365 tenants
Current test coverage is split into three major categories:
- Classic unit tests for pure c# based API
- Random generated definition provision - tests deploy several randomly generated artefacts multiple times, then fetch provisioned SharePoint artefacts, compare properties with original definitions, then randomly update original definition properties and make the second round of the provision, fetch and property comparing
- Scenario based definition provision - manually written provision to cover various real word provision scenarios. Validation process is the same - deploy several times, check, changes, deploy and check again.
Support & Issue Resolution
In case you have unexpected issues please contact support on SPMeta2 Yammer:
SPMeta2 v1.2.1 - August 2015 - release notes
If you have 1.1.XXX and moving to 1.2.XXX please review the following release notes carefully.
The following information aims to provide an overview on assembly related changes, refactorings, API changes, new features and API to prepare and simplify migration from v1.1.XXX to v1.2.XXX. https://github.com/SubPointSolutions/spmeta2/releases/tag/1.2.0-beta1
Please review it carefully, consider that depending on your solution and API usage additional effort might be required to get updated to v1.2.XXX. Once updated, make sure your solution can be compiled without errors, then give a few rounds of provision.
In case you have unexpected issues please contact support on SPMeta2 Yammer network or sent a ticket here at github:
What's new in v1.2.1
Current assembly file version: 1.2.15236.1334
New definitions
- No new definition were added
Fixes
- AddTaxonomyTermLabel() is added under TaxonomyTermDefinition
- AddSecurityRoleLink() is added on SecurityGroupDefinition
- Correct XML validation on XML based properties
- Site provision fixes for SSOM
- ClientWebPart provision on wiki pages (was failing on ID prop presence)
- Correct order for content type related operations in the list
- Correct order for app provision on the web
Enhancements
- AssemblyFileVersion is updated during the build
- TaxonomyTermDefinition has CustomProperties property to address custom prop provision
- SiteDefinition enhanced with required attributes
- SPMeta2 handles starting '/' in the web urls avoiding fails
- SecurityGroupDefinition allows nesting security groups (for on-prem AD groups and global O365 groups)
- PublishingPageLayoutDefinition.Title is not required any more, mimic SharePoint
- ListDefinition.DocumentTemplateUrl is introduced
- ListViewDefinition has new props - Type/ViewData to support Gantt, Calendar and Datasheet view provision
- ClientWebPart.ProductWebId is nullable and not required. Current web id will be used if empty
- WebDefinition supports custom web templates via CustomWebTemplate props
- TaxonomyFieldDefinition has IsSiteCollectionGroup and GroupName/GroupId props to enhance provision
- BuiltInSiteFeatures.EnableAppSideLoading props is introduced
- BuiltInWikiPages and BuiltInPublishingPages classes are introduced\
- AppDefinition provision supports updates, automatically detect if any is needed
- ModuleFileUtils.LoadModuleFilesFromLocalFolder() has overload with 'shouldInclude' callback
- LookupFieldDefinition.RelationshipDeleteBehavior is introduced
- PublishingPageLayoutDefinition.PreviewImage is introduced
- Syntax.Extended is added, more details here - https://github.com/SubPointSolutions/spmeta2/issues/582
- LookupFieldDefinition.LookupWebUrl is added, ~site and ~sitecolleciton token support is implemented
- DeleteWebPartDefinition supports DeleteWebPartDefinition.WebParts props and 'Title' match
Regression tests
- Better web part provision tests - all web parts are deployed to wiki, web part, publishing, list view, new, edit and view list forms
- New tests on apps / client web part provision on web and subwebs
- New tests on app upgrades provision
- New tests on CSOMTokenReplacementService / SSOMTokenReplacementService
Improved and hardened regression tests coverage - 580 tests run again the following three environments
- SP2013 SP1+ SSOM
- SP2013 SP1+ CSOM
- O365 tenants
Current test coverage is split into three major categories:
- Classic unit tests for pure c# based API
- Random generated definition provision - tests deploy several randomly generated artefacts multiple times, then fetch provisioned SharePoint artefacts, compare properties with original definitions, then randomly update original definition properties and make the second round of the provision, fetch and property comparing
- Scenario based definition provision - manually written provision to cover various real word provision scenarios. Validation process is the same - deploy several times, check, changes, deploy and check again.
Support & Issue Resolution
In case you have unexpected issues please contact support on SPMeta2 Yammer network or sent a ticket here at github:
New definitions
- DependentLookupFieldDefinition (site columns and content type refs)
- RefinementScriptWebPartDefinition
- ComposedLookItemLinkDefinition
- SilverlightWebPartDefinition
- MasterPagePreviewDefinition
- FilterDisplayTemplateDefinition
- ManagedPropertyDefinition (SP2013 SSOM impl only)
Fixes
- Fixed WebNavigationSettings provision for SSOM - correct ShowSubSites/Pages flags setup
Enhancements
- Module files definition can be deployed under lists
- RootWebDefinition can be deployed under web
- Taxonomy terms provision checks special characters
- Incorrectly deleted taxonomy field is handled during re-provisioning
- WebPartDefinition has ParameterBndings prop
- ModuleFileUtils.LoadModuleFilesFromLocalFolder(..) method to map "local folder" intto model tree
- WebpartXmlExtensions.LoadDefinitionFromWebpartFile(..) method to load webpart definition from .webpart/.dwp files
- ContentTypeFieldLinkDefinition has InternalFieldName prop
- ListFieldLinkDefinition has InternalFieldName prop
- Webpart provision handles both "ChromeType" and "FrameType" prop values
- XsltListViewWebPartDefinition has new props - Xsl, XslLink, XmlDefinition, XmlDefinitionLink, DisableXXX,InplaceSearchEnabled
Obsolete API
- SPMeta2.SSOM.DefaultSyntax.ListDefinitionSyntax.GetListUrl() marked as obsoleted
- SPMeta2.CSOM.DefaultSyntax.ListDefinitionSyntax.GetListUrl() marked as obsoleted
- ListDefinition.Url marked as obsolete - use ListDefinition.CustomUrl with specifying "/List/mylist" or "mylibrary" URL instead
The challenge is that GetListUrl() method was supposed to calculate a correct list URL (with/without 'List' prefix) based on the list type. That works well for known lists, but works incorrectly on list templates, custom list template and lists which types are unknown to SPMeta2 library. We suggest to use "CustomUrl" property instead of "Url" and specify web-related list URL - with or without "/List" prefix depending on your case.
Regression tests
Improved regression test covered - 480 tests to cover more provision scenarios and cases.
New definitions
- RefinementScriptWebPartDefinition
- ComposedLookItemLinkDefinition
- SilverlightWebPartDefinition
- MasterPagePreviewDefinition
- FilterDisplayTemplateDefinition
- ManagedPropertyDefinition (SP2013 SSOM impl only)
Fixes
- Fixed WebNavigationSettings provision for SSOM - correct ShowSubSites/Pages flags setup Enhancements
- Module files definition can be deployed under lists
- RootWebDefinition can be deployed under web
- Taxonomy terms provision checks special characters
- Incorrectly deleted taxonomy field is handled during re-provisioning
- WebPartDefinition has ParameterBndings prop
- ModuleFileUtils.LoadModuleFilesFromLocalFolder(..) method to map "local folder" intto model tree
- WebpartXmlExtensions.LoadDefinitionFromWebpartFile(..) method to load webpart definition from .webpart/.dwp files
Obsolete API
- SPMeta2.SSOM.DefaultSyntax.ListDefinitionSyntax.GetListUrl() marked as obsoleted
- SPMeta2.CSOM.DefaultSyntax.ListDefinitionSyntax.GetListUrl() marked as obsoleted
- ListDefinition.Url marked as obsolete - use ListDefinition.CustomUrl with specifying "/List/mylist" or "mylibrary" URL instead
The challenge is that GetListUrl() method was supposed to calculate a correct list URL (with/without 'List' prefix) based on the list type. That works well for known lists, but works incorrectly on list templates, custom list template and lists which types are unknown to SPMeta2 library. We suggest to use "CustomUrl" property instead of "Url" and specify web-related list URL - with or without "/List" prefix depending on your case.
Regression tests
Improved regression test covered - 460+ tests to cover more provision scenarios and cases.
The main focus for the June 2015 release is secondary lookup field implementation and better regression test coverage.
New definitions to improve web part provision, improved existing definitions, multiple enhancements and reaching 430+ regression tests.
New definitions
- ReusableHTMLItemDefinition
- ReusableTextItemDefinition
- ContentBySearchWebPartDefinition
- ResultScriptWebPartDefinition
- ProjectSummaryWebPartDefinition
- ContentByQueryWebPartDefinition
- PageViewerWebPartDefinition
- ComposedLookItemDefinition
Fixes
- Improved XsltListViewWebPart provision (failed on EnsureView() method)
- TaxonomyTermSetDefinition.IsAvailableForTagging chaned to bool? type
- Fixed display template provision for SSOM (invalid type case error for boolean values on TemplateHidden prop)
- BuiltInMasterPageDefinitions.Oslo refers to "Oslo.master", not to 'Seattle.master'
- SSOM provision handles SecurityGroupDefinition.Description = NULL value
Enhancements
- BuiltInContentClass to address OOTB seatch enumerations
- Improved taxonomy navigation (CanDeploy_WebNavigationSettings_As_TaxonomyProvider)
- ContactFieldControlDefinition has new properties
- "Nullable" properties are covered by the regression testing
- WebPartDefinition has more basic props - w/h, ChromeType/State, ExportMode, etc.
- Check on WebPartDefinition.AssemblyQualifiedName - should be AssemblyQualifiedName string
- BuiltInContentTypeNames and enhanced BuiltInPublishingContentTypeNames classes
- Top/QuickLaunchNodeDefinition URLs support ~sitecollection/~site tokens
- ScriptEditorWebPartDefinition.Id check - must be more than 32 chars (SharePoint issue)
- CSOM regression testing on XsltListViewWebPart, ListViewWebPartDefinition, SummaryLinksWebPart, ContentEditorWebpart
- XsltListViweWebPartDefinition has new props - ShowTimelineIfAvailable, xslt-related props for timeout and caching
- Enhanced BuiltInListDefinitinions class - CacheProfiles, ComposedLooks, SiteCollectionDocuments, SiteCollectionImages, ReusableContent, ets.
- ModuleFileUtils.LoadModuleFilesFromLocalFolder() method to build up a mode tree based on the local folder/fles - easy uploading local folders/files to SharePoint
- Fixed typo with BuiltInListDefinitions.Calalogs class
- SSOMProvisionServiceExtensions.DeployFarmModel() and SSOMProvisionServiceExtensions.DeployWebApplicationModel() extensions to provide typed deployment for farm/webapp models
- Managed navigation provision support
Documentation
Updated documentation is available here - /spmeta2
Get familiar with the basics concepts, get started and check out scenarios page. That would save the day. We continuously updating the content, but let us know if you miss something right now.
Publishing fields support, XML/JSON serialization support for models, improving lookup/taxonomy fields provision, adding other enhancements and reaching 400+ regression tests. Updated documentation and new scenarios page.
New definitions
- WebPartGalleryFileDefinition
- ControlDisplayTemplateDefinition
- ItemDisplayTemplateDefinition
- JavaScriptDisplayTemplateDefinition
- LinkFieldDefinition
- ImageFieldDefinition
- HTMLFieldDefinition
- SummaryLinkFieldDefinition
- MediaFieldDefinition
- OutcomeChoiceFieldDefinition
- GeolocationFieldDefinition
- SummaryLinkWebPartDefinition
- UserCodeWebPartDefinition (sandbox web parts, only SSOM)
- DeleteWebPartDefinition
Fixes
- Correct parent-child content type sorting during provision
- Correct DateTimeFieldDefinition provision (CalendarType/DisplayFormat/FriendlyDisplayFormat props issue)
- ListViewDefinition fixes for top folder/content type bindings
Enhancements
- Lookup/Taxonomy fields can be deployed with empty bindings
- BuiltInFolderDefinitions contans 'Master page gallery' folders
- OnCreatingContext<TObjectType, TDefinitionType> contains ModelHost object
- PublishingPageDefinition has DefaultValues prop to enable provision with required properties
- Fields can be provisioned under web (web scoped fields)
- Content types can be provisioned under web (web scoped content types)
- TaxonomyTermSetDefinition has IsOpenForTermCreation prop
- TaxonomyFieldDefinition has IsPathRendered prop
- ContentTypeDefinition has better document template provision
- ModuleFileDefinition has DefaultValues/ContentTypeName/ContentTypeId props
- spmeta2.csom.utils class included into the main library
- WelcomePageDefinition handles starting '/' (amazing SharePoint API)
- ListDefinition has MajorWithMinorVersionsLimit/MajorVersionLimit props (SSOM only)
- FieldDefinition has EnforceUniqueValues prop
- FieldDefinition has ShowInEditForm/ShowInNewForm/ShowInListForm props
- JSOM/XML serialization support for models (based on DataContractSerializer)
- Model validation on required properties
- VS IntelliSense support - XML comments are included into NuGet packages
- TaxonomyTermSetDefinition.IsAvailableForTagging chaned to bool?
- Improved taxonomy navigation (CanDeploy_WebNavigationSettings_As_TaxonomyProvider)
Documentation
Updated documentation is available here - /spmeta2
Get familiar with the basics concepts, get started and check out scenarios page. That would save the day. We continuously updating the content, but let us know if you miss something right now.
Upcoming release - November 2014 CSOM runtime upgrade
The upcoming May 2015 release will shift CSOM assemblies from SP2013 SP1 to November 2014 CU due to support ListDefinition MajorWithMinorVersionsLimit/MajorVersionLimit props for CSOM.
This release was heavily influenced by the community feedback and suggestions in both Yammer and GitHub. We constantly listen to the community enhancing SPMeta2 library with new features and enhancements.
Mainly, improved updatebility for lots of definitions so that property changes are reflected in SharePoint artefacts for the second and following provisions. New definitions and tests been added as well.
More definitions
- MasterPageDefinition (ASP NET Master Page)
- ResetRoleInheritanceDefinition
- TaxonomyTermLabelDefinition
Improvements & enhancements
- 'Array' overload for AddXXX() methods, for instance 'AddFields(IEnumerable<>)' and 'AddLists(IEnumerable<>)'
- Strong typed extensions for CSOM/SSOM provision services - DeploySiteModel()/DeployWebModel()
- Fixed WebDefinition provision (does not drop Title/Description to String.Empty)
- Token support (~site/~sitecollection) for ContentEditorWebPartDefinition.ContentLink
- New enumeration - BuiltInPublishingContentTypeNames
- Enhanced 'ListDefinition' - draft option props
- Enhanced 'TaxonomyTermGroupDefinition' - IsSiteCollectionGroup prop
- Enhances 'TaxonomyTermDefinition' provision - supports nested 'TaxonomyTermLabelDefinition'
- Enhanced feature definition provision (sandbox features support)
- Enhanced 'UserFieldDefinition' provision (SelectionGroup/SelectionGroupName props)
- Enhanced 'XsltListViewWebPart' provision - CSOM supports list views (!!)
- Covered by regression tests updatability on the following artifacts - ListDefinition, ContentTypeDefinition, ListViewDefinition, RootWebDefinition, SecurityGroupDefinition, SecurityRoleDefinition, TreeViewSettingsDefinition, TaxonomyTermGroupDefinition, TaxonomyTermDefinition, PublishingPageDefinition, WikiPageDefinition, WebPartPageDefinition, PublishingPageLayoutDefinition
Incredible regression test coverage - 340+ tests
Test coverage is constantly improved. We have 340+ regression tests is run under CSOM/SSOM/O365 environments to ensure stellar quality of the provisioning flow. That's 30+ more tests on top of February 2015 release.
More definitions
- 'AuditingSettings' definition
Improvements & enhancements
Better O365 support: new v16 NuGet packages for O365 CSOM v16 runtime
Experimental SP2010 SSOM support: new v14 NuGet packages for SP2010 SSOM runtime
PropertyDefinition provision on farm/webapp leves
Security group provision enhancements - AllowMembersEditMembership, AllowRequestToJoinLeave, AutoAcceptRequestToJoinLeave properties
Added 'BasicWebParts' feature definitions for BuiltInSiteFeatures enumeration
UserCustomActionDefinition definition enhancement - CommandUIExtension property
Better field provision, correct processing for ValidationMessage/ValidationFormula properties
ListDefinition enhancements - add 'CustomUrl' property
LookupFieldDefinition enhancements - LookupListTitle, LookupListUrl, LookupList properties
FieldDefinition/ListFieldLinkDefinition enhancements, AddFieldOptions option
XsltListViewWebPartDefinition enhancements for SSOM
Incredible regression test coverage - 310+ tests
Test coverage was significantly improved. It is becoming absolutely insane - more than 310+ regression tests is run under CSOM/SSOM/O365 environments to ensure stellar quality of the provisioning flow. That's 40+ more tests on top of January 2015 release.
More definitions
- 'URL' field definition
- 'RegionalSettings' definition
- 'SearchSchema' definition
- 'ContentDatabase' definition
- 'WebConfigModification' definition
- 'InformationRightsManagementSettings' definition
- 'SecureStore/TargetAplication' definitions
- 'AlternateUrl' definition
- 'TreeViewSettings' definition
- 'PublishingPageLayout' definition
- 'RootWeb' definition
Improvements & enhancements
- StandardCSOMProvisionService/StandardSSOMProvisionService classes for "standard" artifacts provision (SharePoint Standard+)
- Enhanced sandbox solution provision (SiteAsset library is not used anhymore)
- Multi-target build for NuGet - .NET4 and .NET 4.5 are included in the NuGet pckages
- 'BuiltInPublishingFieldTypes' enumeration
- 'RawXml'/'AdditionalAttributes' properties for FieldDefinition
- Correct 'AllowMultipleValues' property provision for Lookup field
- ContentTypeFieldLinkDefinition enhancements with Hidden/Required/DisplayName props
- Correct 'IsMult' property provision for TaxonomyFieldDefinition
- Multiple fixed for TermGroup, TermSet and Term definitions
- Strong names for CSOM based assemblies
- 'IsAvailableForTagging/Description for taxonomy definitions
- Correct nested terms privisoin
- Correct module file provision under content type
- JSLink property for XsltListViewWebpartDefinition
- Navigation node provision enhancements - respect node order during provision
- Multiple level provision for navigation nodes
- Enhanced pages/files provision while page/file is unpublished/checkout
Incredible regression test coverage - 270+ tests
Test coverage was significantly improved. It is becoming absolutely insane - more than 270 regression tests is run under CSOM/SSOM/O365 environments to ensure stellar quality of the provisioning flow. That's hundred tests on top of December 2014 release.