100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace
Programming

Lists and Libraries

Learn how SharePoint Lists and Document Libraries store structured data and files, and how to configure columns, views, and thresholds effectively.

Content ManagementBeginner8 min readJul 10, 2026
Analogies

What Are Lists and Libraries?

A SharePoint List is a structured table of items, similar to a spreadsheet, where each item is a row and each column defines a piece of metadata such as text, choice, date, or a lookup to another list. A Document Library is technically a specialized list where every item also has an attached file, plus built-in file-handling behavior like check-out, version history, and content types. Both live inside a SharePoint site and are backed by the same underlying list architecture in SharePoint Online.

🏏

Cricket analogy: A List is like a scorecard table where each row is a delivery with columns for bowler, batsman, and runs, while a Library is like the match archive that stores the actual video footage alongside that same scorecard metadata.

Creating and Configuring Lists

Lists can be created from a blank template, imported from Excel, or provisioned programmatically using the PnP PowerShell module or the REST/Graph APIs. Once created, you add columns to define the schema: Single line of text, Choice, Person or Group, Date and Time, Number, Lookup, and Managed Metadata are the most common column types. Each column can be marked as required, given a default value, and validated with a formula, which lets a list behave like a lightweight database table without writing any backend code.

🏏

Cricket analogy: Adding a Choice column with values like 'Boundary', 'Wicket', 'Dot Ball' to a delivery-tracking list is like a scorer pre-defining the outcome categories on a scoring app so every entry stays consistent across an IPL innings.

Document Libraries vs Custom Lists

The key functional difference is that libraries add file-centric capabilities on top of the same list engine: check-out/check-in to prevent edit conflicts, major and minor version numbering, content type association per file, and Office co-authoring through Word, Excel, and PowerPoint online. Custom lists, by contrast, are pure metadata containers ideal for tracking things like tasks, contacts, or approval requests where no file attachment is the primary artifact, although lists do support ad-hoc attachments as a secondary feature.

🏏

Cricket analogy: Check-out on a library is like a scorer 'locking' the official scorebook during an over so no second scorer can overwrite it, whereas a plain list is like an open run-tally sheet anyone can edit freely.

Document libraries automatically enable versioning-friendly metadata columns like 'Modified By' and 'Checked Out To', which are hidden by default but can be surfaced in a custom view to audit who currently holds a file lock.

Views, Filtering, and Large List Thresholds

Views let you present the same underlying list data differently: a public view is shared with everyone who has access, while a personal view is scoped to the individual who created it. Views support column-level filtering, multi-column sorting, and grouping, and can be set as the default view for a list or library. However, SharePoint enforces a List View Threshold of 5,000 items per query by default, meaning a view that tries to filter or sort across more than 5,000 items without an indexed column will throw a throttling error instead of returning results.

🏏

Cricket analogy: A filtered view showing only 'Sixes' from a delivery list is like a broadcaster's replay system pulling just the boundary highlights from a full ball-by-ball database for a quick recap reel.

Filtering or sorting on a non-indexed column in a list with more than 5,000 items will fail with a throttling error. Create an indexed column (List Settings > Indexed Columns) on any field you plan to filter or sort by at scale, and design views around that index before the list grows large.

powershell
# PnP PowerShell: create a document library and add an indexed metadata column
Connect-PnPOnline -Url "https://contoso.sharepoint.com/sites/ops" -Interactive

New-PnPList -Title "Vendor Contracts" -Template DocumentLibrary

Add-PnPField -List "Vendor Contracts" -DisplayName "ContractStatus" `
  -InternalName "ContractStatus" -Type Choice `
  -Choices "Draft","Under Review","Signed","Expired" -AddToDefaultView

Set-PnPField -List "Vendor Contracts" -Identity "ContractStatus" -Values @{Indexed=$true}
  • Lists store structured metadata as rows and columns; Libraries are lists specialized to also hold a file per item.
  • Common column types include Single line of text, Choice, Person or Group, Date and Time, Lookup, and Managed Metadata.
  • Libraries add check-out/check-in, major/minor versioning, content types, and Office co-authoring on top of the list engine.
  • Views can be public (shared) or personal, and support filtering, sorting, and grouping without changing the underlying data.
  • The default List View Threshold is 5,000 items; filtering or sorting past that limit requires an indexed column.
  • PnP PowerShell and the REST/Graph APIs can provision lists and libraries and their columns programmatically.

Practice what you learned

Was this page helpful?

Topics covered

#Programming#SharePointStudyNotes#ListsAndLibraries#Lists#Libraries#Creating#Configuring#DataStructures#StudyNotes#SkillVeris