Skip to content

Commit ea2cfd2

Browse files
authored
Copyedit complete
1 parent ccda61c commit ea2cfd2

File tree

1 file changed

+49
-36
lines changed

1 file changed

+49
-36
lines changed

docs/solution-guidance/modern-experience-customizations-customize-lists-and-libraries.md

Lines changed: 49 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Customizing "modern" lists and libraries
3-
description: Customize user actions, branding, configuring end user experience.
3+
description: Get a faster, more intuitive, and responsive SharePoint Online experience by customizing your lists and libraries to the "modern" experience using user custom actions and custom branding.
44
ms.date: 11/08/2017
55
---
66

@@ -278,8 +278,9 @@ If you want to completely disable the "modern" experience, it's best to use the
278278
279279
### Site/Web level configuration
280280
You can prevent a site collection or web from using the "modern" experience by enabling a feature:
281-
- Site collection scoped feature with ID **E3540C7D-6BEA-403C-A224-1A12EAFEE4C4** for site collection control
282-
- Web scoped feature with ID **52E14B6F-B1BB-4969-B89B-C4FAA56745EF** for web scoped control
281+
282+
- For site collection control, use the site collection scoped feature with ID **E3540C7D-6BEA-403C-A224-1A12EAFEE4C4**.
283+
- For web control, use the web scoped feature with ID **52E14B6F-B1BB-4969-B89B-C4FAA56745EF**.
283284

284285
Use the following [PnP PowerShell](http://aka.ms/sppnp-powershell) to enable/disable the needed features:
285286

@@ -300,11 +301,13 @@ Enable-PnPFeature -Identity E3540C7D-6BEA-403C-A224-1A12EAFEE4C4 -Scope Site
300301
```
301302

302303
### List/Library configuration
303-
If you want to control the experience at the library level, you can use go to list settings, advanced settings, and change the behavior:
304+
If you want to control the experience at the library level, you can go to **List settings** > **Advanced settings**, and change the behavior:
305+
306+
*Figure 5. List experience configuration in the SharePoint tenant level settings in Admin UI*
304307

305-
![List experience configuration in the SharePoint tenant level settings in admin ui](media/modern-experiences/list-experience-setting.png)
308+
![List experience configuration in the SharePoint tenant level settings in Admin UI](media/modern-experiences/list-experience-setting.png)
306309

307-
The same can also be done using CSOM as shown in the below snippet:
310+
The same can also be done by using CSOM as shown in this snippet:
308311

309312
```C#
310313
// Load the list you want to update
@@ -321,34 +324,40 @@ context.ExecuteQuery();
321324
```
322325

323326
> [!NOTE]
324-
> - The settings at the library level **override** the settings at the web, site, or tenant level. This also implies that you could pilot the "modern" list and library experience to a sub site of sites by having the "modern" experience turned off at tenant level but enabled at list level on the pilot sites.
325-
> - When you've manually chosen (so not because of list, site, web or tenant "classic" enforcement) you'll see a link "Exit classic experience" appearing under the left navigation (as of July 2017). Clicking this will bring you back to the "modern" experience.
326-
> - If you're not able to get the "modern" experience to show up then inspect the cookies being passed to SharePoint as it could be possible that the opt out of "modern" experiences cookie (splnu with value set to 0) is still present. Clearing the browser cookies should get this fixed.
327-
327+
> - The settings at the library level *override* the settings at the web, site, or tenant level. This also implies that you could pilot the "modern" list and library experience to a subsite of sites by having the "modern" experience turned off at the tenant level but enabled at the list level on the pilot sites.
328+
> - When you've manually chosen "classic" (that is, not due to list, site, web, or tenant "classic" enforcement), you'll see the link **Exit classic experience** appearing under the left navigation (as of July 2017). Selecting this brings you back to the "modern" experience.
329+
> - If you're not able to get the "modern" experience to appear, inspect the cookies being passed to SharePoint because it is possible that the opt out of "modern" experiences cookie (splnu with value set to 0) is still present. Clearing the browser cookies should fix this.
328330
329-
## When does the built-in auto-detect automatically switch rendering back to "classic"?
330331
<a name="autodetect"> </a>
331-
SharePoint will use an auto-detect system to automatically switch the rendering of a list to "classic" assuming you've not disabled the "modern" experience for your list using either the site, web, or list scoped overrides explained in the previous chapter. This auto-detect system will automatically switch you back to "classic" whenever SharePoint detects your list is using features which are not (yet) supported in "modern".
332-
333-
Below are the settings that are evaluated as part of the auto-detect system and which make the list render in "classic" mode:
334-
- If the requested list form page has zero or more than 1 web part on it
335-
- **Until July 2017**: If the Web scoped feature "Metadata Navigation and Filtering" is enabled. We're rolling out managed metadata navigation support for "modern" lists and libraries as explained here: https://techcommunity.microsoft.com/t5/SharePoint-Blog/SharePoint-filters-pane-updates-filtering-and-metadata/ba-p/74162
336-
- If the available webpart is an **XSLTListViewWebPart** (default way to render the list) and:
337-
- There's a non standard JSLink or XslLink value set for the web part properties
338-
- The page is shown in a dialog (IsDlg=1)
339-
- The list is not based on one of the following types: Document library (101), Picture library (109), Web page library (119) or Generic list (100). **As of August 2017** also Announcements (104) and Links (103) do render using the "modern" UI.
340-
- The JSLink property is set on one of the fields to render
341-
- One of the fields to render is of type "BCS external data", "Geolocation", "OutcomeChoice" or one of these publishing field types "Image", "Html", or "SummaryLinks"
342-
- There are list scoped user custom actions which have their ScriptSrc property set
343-
- If the available webpart is a **ListFormWebPart** and:
344-
- The page is shown in a dialog (IsDlg=1)
345-
- It's a "New" form page for a document library
346-
- The fields to render are not any of these supported types (Attachments, TaxonomyField, Boolean, Choice, Currency, DateTime, File, Lookup, MultiChoice, MultiLine except when Append with versioning is on, Number, Text, User, or Url)
332+
## When does the built-in auto-detect automatically switch rendering back to "classic"?
333+
334+
SharePoint uses an auto-detect system to automatically switch the rendering of a list to "classic", assuming that you do not disable the "modern" experience for your list by using the site, web, or list scoped overrides explained in the previous section. This auto-detect system automatically switches you back to "classic" whenever SharePoint detects that your list is using features that are not (yet) supported in "modern".
335+
336+
Following are the settings that are evaluated as part of the auto-detect system and which make the list render in "classic" mode:
337+
338+
- If the requested list form page has zero or more than one web part on it.
339+
340+
- (**Until July 2017**) If the web scoped feature "Metadata Navigation and Filtering" is enabled. We're [rolling out managed metadata navigation support for "modern" lists and libraries](https://techcommunity.microsoft.com/t5/SharePoint-Blog/SharePoint-filters-pane-updates-filtering-and-metadata/ba-p/74162).
341+
342+
- If the available web part is an **XSLTListViewWebPart** (default way to render the list) and:
343+
- There's a non-standard JSLink or XslLink value set for the web part properties.
344+
- The page is shown in a dialog (IsDlg=1).
345+
- The list is not based on one of the following types: Document library (101), Picture library (109), Web page library (119), or Generic list (100). **As of August 2017**, Announcements (104) and Links (103) do render using the "modern" UI.
346+
- The JSLink property is set on one of the fields to render.
347+
- One of the fields to render is of type **BCS external data**, **Geolocation**, **OutcomeChoice**, or one of these publishing field types **Image**, **Html**, or **SummaryLinks**.
348+
- There are list scoped user custom actions that have their ScriptSrc property set.
349+
350+
- If the available web part is a **ListFormWebPart** and:
351+
- The page is shown in a dialog (IsDlg=1).
352+
- It's a "New" form page for a document library.
353+
- The fields to render are not any of these supported types: **Attachments**, **TaxonomyField**, **Boolean**, **Choice**, **Currency**, **DateTime**, **File**, **Lookup**, **MultiChoice**, **MultiLine** except when Append with versioning is on, **Number**, **Text**, **User**, or **Url**.
347354

348355
### Programmatically detect if your library/list will be shown using "modern" or "classic"
349-
The previous chapter explained the reasoning behind our auto-detect mechanism, but luckily there's an easy way for you as a developer to understand how a library/list will be rendered. Getting this information is as simple as getting the value of the **PageRenderType** file property which you can obtain using CSOM or REST. Below samples show how to first load the page rendering the list and then get the **PageRenderType**:
350356

351-
*CSOM sample:*
357+
The previous section explained the reasoning behind our auto-detect mechanism, but luckily there's an easy way for you as a developer to understand how a library/list will be rendered. Getting this information is as simple as getting the value of the **PageRenderType** file property, which you can obtain by using CSOM or REST. The following samples show how to first load the page that is rendering the list, and then get the **PageRenderType**:
358+
359+
#### CSOM sample
360+
352361
```C#
353362
using (var cc = new ClientContext(siteUrl))
354363
{
@@ -364,16 +373,20 @@ using (var cc = new ClientContext(siteUrl))
364373
}
365374
```
366375

376+
<br/>
367377

368378
> [!NOTE]
369379
> The PageRenderType property was introduced in [January 2017 CSOM release (16.1.6112.1200)](https://dev.office.com/blogs/new-sharepoint-csom-version-released-for-Office-365-january-2017).
370380
371-
*REST request:*
381+
<br/>
382+
383+
#### REST request
384+
372385
```Html
373386
GET _api/web/getfilebyserverrelativeurl('/sites/dev/ECMTest/Forms/AllItems.aspx')/pageRenderType
374387
```
375388

376-
The REST call will get you integer value which is explained in below table:
389+
The REST call gets you the integer value, which is explained in the following table.
377390

378391
Value | Reason
379392
:------:|-------
@@ -384,7 +397,7 @@ Value | Reason
384397
4 | NoSPList
385398
5 | HasBusinessDataField
386399
6 | HasTaskOutcomeField
387-
7 | HasPublishingfield
400+
7 | HasPublishingField
388401
8 | HasGeolocationField
389402
9 | HasCustomActionWithCode
390403
10 | HasMetadataNavFeature
@@ -407,12 +420,12 @@ Value | Reason
407420

408421
## Additional considerations
409422

410-
We'll gradually introduce more customization options for "modern" list and library experiences. These will be aligned with the release of additional SharePoint framework capabilities. Currently, there's no exact schedule available, but we'll be updating the "modern" experience articles whenever new capabilities are released.
423+
We'll gradually introduce more customization options for "modern" list and library experiences. These will be aligned with the release of additional SharePoint Framework capabilities. Currently, there's no exact schedule available, but we'll update the "modern" experience articles whenever new capabilities are released.
411424

412425
## Additional resources
413426

414427
- [Customizing the "modern" experiences in SharePoint Online](modern-experience-customizations.md)
415428
- [Switch the default experience for lists or document libraries from new or classic](https://support.office.com/en-us/article/Switch-the-default-experience-for-lists-or-document-libraries-from-new-or-classic-66dac24b-4177-4775-bf50-3d267318caa9)
416-
- [Overview of the "modern" document library experience](https://blogs.office.com/2016/06/07/modern-document-libraries-in-sharepoint)
417-
- [Overview of the "modern" list experience](https://blogs.office.com/2016/07/25/modern-sharepoint-lists-are-here-including-integration-with-microsoft-flow-and-powerapps)
418-
- [Differences between "modern" and "classic" experiences](https://support.office.com/en-us/article/Differences-between-classic-and-new-experiences-for-lists-and-document-libraries-30e1aab0-a5cc-4363-b7f2-09e2ae07d4dc?ui=en-US&rs=en-US&ad=US)
429+
- [Modern document libraries in SharePoint](https://blogs.office.com/2016/06/07/modern-document-libraries-in-sharepoint)
430+
- [Modern SharePoint lists are here—including integration with Microsoft Flow and PowerApps](https://blogs.office.com/2016/07/25/modern-sharepoint-lists-are-here-including-integration-with-microsoft-flow-and-powerapps)
431+
- [Differences between the new and classic experiences for lists and libraries](https://support.office.com/en-us/article/Differences-between-the-new-and-classic-experiences-for-lists-and-libraries-30e1aab0-a5cc-4363-b7f2-09e2ae07d4dc?ui=en-US&rs=en-US&ad=US)

0 commit comments

Comments
 (0)