Skip to content

Releases: SubPointSolutions/spmeta2

SPMeta2 v1.2.35-beta1, October 2015

28 Oct 05:48
Compare
Choose a tag to compare

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 or YouTrack:

SPMeta2 v1.2.30, October 2015

21 Oct 13:30
Compare
Choose a tag to compare

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

SPMeta2 v1.2.25-beta3, October 2015

13 Oct 12:46
Compare
Choose a tag to compare

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.

SPMeta2 v1.2.25-beta2, October 2015

12 Oct 14:09
Compare
Choose a tag to compare

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 M2 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)

SPMeta2 v1.2.25-beta1, October 2015

07 Oct 11:28
Compare
Choose a tag to compare

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

22 Sep 22:28
Compare
Choose a tag to compare

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 or YouTrack:

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 or YouTrack:

SPMeta2 v1.2.1

24 Aug 13:50
Compare
Choose a tag to compare

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
  • M2 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 - #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:

SPMeta2 v1.2.0-beta1

15 Jul 14:45
Compare
Choose a tag to compare

SPMeta2 v1.2.0 release IS fully tested and production ready

Is is marked as -beta1 to avoid automatic upgrade from v1.1.XXX due to possible minor breaking changes in the API and source code base. 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.

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.0

The major improvement is a "strongly-typed" syntax to build up a model tree. That means that .AddXXX()/AddHostXXX() methods know about allowed SharePoint artifact relationships and pop up in the VS Intellisense only at the right places.

For istance, you see AddListView() method only on the list level, and AddField() only on site, web or list level. That helps to prevent incorrect models being build, moves model check to the compile time and offers a better DSL/domain model for both SharePoint related and non-SharePoint people.

Apart that there are several other enhancements and new API:

  • Strongly-typed syntax for model tree construction
  • Built-in validation on definition required properties
  • Built-in validation on XML properties (a well-formed XML is expected for some properties)
  • Fault tolerant provision for O365 and SP 2013 CSOM (provision survives connectivity issues and IISReset)
  • Obsolete API and assemblies clean up

Removed assemblies

  • Removed SPMeta2.Syntax.Default assembly, moved to SPMeta2.dll preserving namespaces
  • Removed SPMeta2.Validation assembly, moved to SPMeta2.dll preserving namespaces
  • Removed *.Behaviours assemblies

Removed API

  • Fixed BuiltInListDefinitions.Calalogs typo -> use BuiltInListDefinitions.Catalogs instead
  • Removed OnCreating/OnCreated events, use OnProvisioning/OnProvisioned events instead
  • Removed TaxonomyTermStoreDefinitionSyntax.AddTermStore(), use AddTaxonomyTermStore() instead
  • Removed TaxonomyTermGroupDefinitionSyntax.AddTermGroup(), use AddTaxonomyTermGroup() instead
  • Removed TaxonomyTermGroupDefinitionSyntax.AddTermSet(), use AddTaxonomyTermSet() instead
  • Removed TaxonomyTermDefinitionSyntax.AddTerm(), use AddTaxonomyTerm() instead
  • Removed SPMeta2Model.NewModel(), use NewSiteModel()/NewWebModel()/NewWebApplicationModel()/NewFarmModel() methods
  • Removed SPMeta2Model.DummySite(), use NewSiteModel()/NewWebModel()/NewWebApplicationModel()/NewFarmModel() methods
  • Removed SPMeta2Model.DummyWeb(), use NewSiteModel()/NewWebModel()/NewWebApplicationModel()/NewFarmModel() methods
  • Removed "RequireSelfProcessing" property from definitions, please use ModelNode.Options.RequireSelfProcessing instead
  • Removed "WithResolvingModelHost()" method on model handlers, use WithResolvingModelHost(ModelHostResolveContext context) instead

New definitions

  • No new definition were added

Fixes

  • Default RichTextMode/RichText attributes for ImageFieldDefinition to enfore correct HTML render on publishing pages (SharePoint-specific default bahaviour)

Enhancements

  • O365 runtime updated to 16.1.3912.1204 from https://www.nuget.org/packages/Microsoft.SharePointOnline.CSOM/16.1.3912.1204
  • WebPartDefinition.TitleUrl supports ~sitecollection/~site tokens
  • Web parts provision support under list views
  • Various "CapabilityAttributes" on definitions to provide additional meta information for external 3rd part tooling (/SPMeta2/Attributes/Capabilities)
  • Simple "Provision Progress" callback to track deployment progress, use
    ProvisionService.OnModelNodeProcessing / OnModelNodeProcessed events

Regression tests

Improved and hardened regression tests coverage - 520+ 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 artifacts multiple times, then fetch provisioned SharePoint artifacts, 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:

SPMeta2 v1.1.100

14 Jun 23:39
Compare
Choose a tag to compare

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 M2 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.

SPMeta2 v1.1.95-beta1

08 Jun 15:29
Compare
Choose a tag to compare
SPMeta2 v1.1.95-beta1 Pre-release
Pre-release

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 M2 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.