ListDefinition.Url property is marked as obsolete

Problem

ListDefinition.Url property is marked as obsolete. It raised unwanted warning while compiling Visual Studio project as well as gives concerns on the future M2 API changes.

Explanation

M2 can calculate a target list URl based on the list template type. There is ListDefinition.GetListUrl() extension method to handle that operation.

Hewever, the challenge is that GetListUrl() method was supposed to calculate a correct list URL (with/without 'List' prefix) based on the list type only. That works well for 'known' list types, but works incorrectly on list templates, custom list template and lists which types are 'unknown' to M2 library.

In that situation we introduces a new property called "CustomUrl". A web-related list URL has to be provided: with or without "/List" prefix depending on your case.

Solution

  • We recommed to use ListDefinition.CustomUrl property providing a web-related list URL with or without "/List" prefix depending on your case.
  • ListDefinition.Url property is marked as obsolete but left due to backward compatibility. Won't be removed in future versions of M2 API.

Links

https://github.com/SubPointSolutions/spmeta2/releases/tag/1.1.100