SharePoint is a
web-basedcollaborative platform that integrates natively with
Microsoft 365. Launched in 2001,[6] SharePoint is primarily sold as a document management and storage system, although it is also used for sharing information through an
intranet, implementing internal applications, and for implementing
business processes.
According to
Microsoft, as of December 2020[update] SharePoint had over 200 million users.[7]
Editions
There are various editions of SharePoint which have different functions.
SharePoint Foundation
SharePoint Foundation was a free version with basic functionalities, discontinued in 2016.[8]
SharePoint Standard
Microsoft SharePoint Standard is a software product that extends the function of Microsoft SharePoint Foundation in several areas:
Sites: Audience targeting, governance tools, secure store service, and
web analytics.[9]
Communities: 'MySites' (personal profiles including skills management and search tools), enterprise wikis, organization hierarchy browser, tags, and notes.[10]
Content: Improved tooling and compliance for document and record management, word automation services, and content management.[11]
Search: Better search results, search customization, mobile search, 'Did you mean?', OS search integration, Faceted Search, and metadata/relevancy/date/location-based refinement options.[12]
Composites: Pre-built workflow templates and Business Connectivity Services (BCS) profile pages.[13]
SharePoint Standard licensing includes a CAL (client access license) component and a server fee. It can also be licensed through a cloud model.
SharePoint Server
SharePoint Server is a Microsoft product that allows organizations to control the behavior and design of SharePoint. It is installed on the customer's IT infrastructure.
SharePoint Server comes in two editions: Standard and Enterprise. The standard edition provides basic features for document management, collaboration, and content management. The Enterprise edition provides advanced features for business intelligence, enterprise content management, and search capabilities.
SharePoint Server can be provisioned as a virtual/cloud server or as a hosted service. Hosted service allows organizations to use SharePoint Server without having to manage the infrastructure themselves.
SharePoint Enterprise
Built upon SharePoint Standard, Microsoft SharePoint Enterprise features can be unlocked by providing an additional licence key.
Extra features in SharePoint Enterprise include:
Search thumbnails and previews, rich web indexing, better search results.
SharePoint Enterprise licensing includes a CAL component and a server fee that must be purchased in addition to SharePoint Server licensing. SharePoint Enterprise may also be licensed through a cloud model.
SharePoint Online
Microsoft's hosted SharePoint is typically bundled in
Microsoft 365 subscriptions, but can be licensed separately.[15] SharePoint Online has the advantage of not needing to maintain one's own servers, but as a result lacks the customization options of a
self-hosted installation of SharePoint.
It is limited to a core set of collaboration, file hosting, and document and content management scenarios, and is updated on a frequent basis, but is typically comparable with SharePoint Enterprise.[16][17] Currently, additional capabilities include:
Support for SharePoint Framework extensions
New "
Modern" (Responsive) SharePoint UX (partially included in 2016 – Feature Pack 1)
Newer versions of Online Office Document Editor Tools
Removal of various file size/number limitations
Apps Concept
Missing capabilities include:
Some search and UI customizations
Many web publishing capabilities
Service Application administration options
Many customization/solution types will not run
No ability to read error (ULS) logs
No ability to share a Site Page (
ASPX) to external anonymous visitors; only documents (e.g., Word, Excel, Picture) may be shared as such
Applications
SharePoint usage varies from organization to organization. The product encompasses a wide variety of capabilities, most of which require configuration and governance.[18]
SharePoint allows for storage, retrieval, searching, archiving, tracking, management, and reporting on electronic documents and records. Many of the functions in this product are designed around various legal, information management, and process requirements in organizations. SharePoint also provides search and 'graph' functionality.[19][20] SharePoint's integration with
Microsoft Windows and
Microsoft 365 (previously known as Office) allows for
collaborative real-time editing, and encrypted/
information rights managed synchronization.
A SharePoint
intranet or
intranet portal is a way to centralize access to enterprise information and applications. It is a tool that helps an organization manage its internal communications, applications and
information more easily. Microsoft claims that this has organizational benefits such as increased
employee engagement, centralizing
process management, reducing new staff on-boarding costs, and providing the means to capture and share
tacit knowledge (e.g. via tools such as
wikis, media libraries, team sites etc.).
Collaborative software
SharePoint contains team collaboration
groupware capabilities, including:
project scheduling (integrated with
Outlook and
Project), social collaboration, shared mailboxes, and project related document storage and collaboration.[22] Groupware in SharePoint is based around the concept of a "Team Site".
SharePoint Server hosts
OneDrive for Business, which allows storage and synchronization of an individual's personal documents, as well as public/private file sharing of those documents. This is typically combined with other Microsoft Office Servers/Services, such as
Microsoft Exchange, to produce a "personal cloud".
WebDAV can be used to access files without using the web interface. However, Microsoft's implementation of
WebDAV doesn't conform to the official WebDAV protocol and therefore isn't compliant to the WebDAV standard. For example, WebDAV applications have to support the language tagging functionality of the XML specification[23] which Microsoft's implementation doesn't. Only
Windows XP to
Windows 8 are supported.
SharePoint's custom development capabilities provide an additional layer of services that allow rapid prototyping of integrated (typically
line-of-business) web applications.[24] SharePoint provides developers with integration into corporate directories and data sources through standards such as
REST/
OData/
OAuth. Enterprise application developers use SharePoint's security and information management capabilities across a variety of development platforms and scenarios. SharePoint also contains an enterprise "app store" that has different types of external applications which are encapsulated and managed to access to resources such as corporate user data and document data.
Content structure
Pages
SharePoint provides free-form pages which may be edited in-browser. These may be used to provide content to users, or to provide structure to the SharePoint environment.
Web parts and app parts
Web parts and app parts are components (also known as
portlets) that can be inserted into Pages. They are used to display information from both SharePoint and third-party applications.
Content item, Content Type, Libraries, Lists, and "Apps"
Content item is a resource in electronic form. Following are some examples:
Document: Always has a "Name".
Contact: May have Email address and/or Phone number.
Sales Invoice: May have Customer ID.
Content Types are definitions (or types) of Content items. These definitions describe things like what metadata fields a Document, Contact, or Sales invoice may have. SharePoint allows you to create your own definitions based on the built-in ones. Some built in content types include: Contacts, Appointments, Documents, and Folders.
SharePoint Library stores and displays Content items of type Documents and Folders.
SharePoint List stores and displays data items such as Contacts. Some built-in content types such as 'Contact' or 'Appointment' allow the list to expose advanced features such as
Microsoft Outlook or
Project synchronization.[25]
In SharePoint 2013, in some locations, Lists and Libraries were renamed 'Apps' (despite being unrelated to the "SharePoint App Store"). In SharePoint 2016, some of these were renamed back to Lists and Libraries.
Sites
A SharePoint Site is a collection of pages, lists, libraries, apps, configurations, features, content types, and sub-sites. Examples of Site templates in SharePoint include: collaboration (team) sites, communication sites, organization sites, wiki sites, blank sites, and publishing sites.
Configuration and customization
Web-based configuration
SharePoint is primarily configured through a web browser. The web-based user interface provides most of the configuration capability of the product.
Depending on your permission level, the web interface can be used to:
Manipulate content structure, site structure, create/delete sites, modify navigation and security, or add/remove apps.
Enable or disable product features, upload custom designs/themes, or turn on integrations with other Office products.
Configure basic workflows, view usage analytics, manage metadata, configure search options, upload customizations, and set up integration.[26]
SharePoint Designer is a semi-deprecated product that provided 'advanced editing' capabilities for HTML/ASPX pages, but remains the primary method of editing SharePoint workflows.
A significant subset of HTML editing features were removed in Designer 2013, and the product is expected to be deprecated in 2016–7.[27]
Microsoft SharePoint's Server Features are configured either using
PowerShell, or a Web UI called "Central Administration". Configuration of server farm settings (e.g. search crawl, web application services) can be handled through these central tools.
While Central Administration is limited to farm-wide settings (config DB), it provides access to tools such as the 'SharePoint Health Analyzer', a diagnostic health-checking tool.
In addition to PowerShell's farm configuration features, some limited tools are made available for administering or adjusting settings for sites or site collections in content databases.
A limited subset of these features are available by SharePoint's
SaaS providers, including Microsoft.
Custom development
The SharePoint Framework (SPFx)[28][29] provides a development model based on the
TypeScript language. The technical stack is
Node.js, Yeoman,
Gulp,
NPM, and
Webpack. It is the only supported way to customize the new modern experience user interface (UI). It has been globally available since mid 2017. It allows a web developer to step into SharePoint development more easily.
The SharePoint "App Model", later renamed to the "Add-in model" provides various types of external applications that offer the capability to show authenticated web-based applications through a variety of UI mechanisms. Apps may be either "SharePoint-hosted", or "Provider-hosted". Provider hosted apps may be developed using most back-end web technologies (e.g.
ASP.net,
NodeJS,
PHP). Apps are served through a proxy in SharePoint, which requires some DNS/certificate manipulation in on-premises versions of SharePoint. Microsoft announced the retirement of the Add-in model in November 2023 with an end-of-life date set to April 2026).[30]
The SharePoint "Client Object Model" (available for
JavaScript and
.NET), and
REST/
SOAPAPIs can be referenced from many environments, providing authenticated users access to a wide variety of SharePoint capabilities.[31]
"Sand-boxed" plugins can be uploaded by any end-user who has been granted permission. These are security-restricted, and can be governed at multiple levels (including resource consumption management). In multi-tenant cloud environments, these are the only customizations that are typically allowed.
Farm features are typically fully trusted code that need to be installed at a
farm-level. These are considered deprecated for new development.
Service applications: It is possible to integrate directly into the SharePoint
SOA bus, at a farm level.
Customization may appear through:
Application-to-application integration with SharePoint.
Extensions to SharePoint functionality (e.g. custom workflow actions).
'Web Parts' (also known as "portlets", "widgets", or "gadgets") that provide new functionality when added to a page.
SharePoint Server can be scaled down to operate entirely from one developer machine, or scaled up to be managed across hundreds of machines.[32]
Farms
A SharePoint farm is a logical grouping of SharePoint servers that share common resources.[33] A farm typically operates stand-alone, but can also subscribe to functions from another farm, or provide functions to another farm. Each farm has its own central configuration database, which is managed through either a
PowerShell interface, or a Central Administration website (which relies partly on PowerShell's infrastructure). Each server in the farm is able to directly interface with the central configuration database. Servers use this to configure services (e.g.
IIS, windows features, database connections) to match the requirements of the farm, and to report server health issues, resource allocation issues, etc...
Web applications
Web applications (WAs) are top-level containers for content in a SharePoint farm. A web application is associated primarily with
IIS configuration. A web application consists of a set of access mappings or URLs defined in the SharePoint central management console, which are replicated by SharePoint across every IIS Instance (e.g. Web Application Servers) configured in the farm.
Site collections
A site collection is a hierarchical group of 'SharePoint Sites'. Each web application must have at least one site collection. Site collections share common properties (
detailed here), common subscriptions to service applications, and can be configured with unique host names.[34] A site collection may have a distinct content databases, or may share a content database with other site collections in the same web application.[32]
Service applications
Service applications provide granular pieces of SharePoint functionality to other web and service applications in the farm. Examples of service applications include the User Profile Sync service, and the Search Indexing service. A service application can be turned off, exist on one server, or be load-balanced across many servers in a farm. Service Applications are designed to have independent functionality and independent security scopes.[32]
Administration, security, compliance
SharePoint's architecture enables a 'least-privileges' execution permission model.[35]
SharePoint Central Administration (the CA) is a web application that typically exists on a single server in the farm; however, it is also able to be deployed for redundancy to multiple servers.[32] This application provides a complete centralized management interface for web and service applications in the SharePoint farm, including
AD account management for web and service applications. In the event of the failure of the CA,
Windows PowerShell is typically used on the CA server to reconfigure the farm.
The structure of the SharePoint platform enables multiple WAs to exist on a single farm. In a shared (
cloud) hosting environment, owners of these WAs may require their own management console. The SharePoint 'Tenant Administration' (TA) is an optional web application used by web application owners to manage how their web application interacts with the shared resources in the farm.[32]
SharePoint can be used to achieve compliance with many document retention, record management, document ID and discovery laws.[36]
SharePoint is compatible with
CMIS – the Content Management Interoperability Standard, using Microsoft's
CMIS Connector.
SharePoint by default produces valid
XHTML 1.0 that is compliant with
WCAG 2.0 accessibility standards.
SharePoint can use claims-based authentication, relying on
SAML tokens for security assertions. SharePoint provides an open authentication plugin model.
SharePoint has support for
XLIFF to support the localization of content in SharePoint.[37] Also added support for AppFabric.
History
Origins
SharePoint evolved from projects codenamed "Office Server" and "Tahoe" during the
Office XP development cycle.
"Office Server" evolved out of the
FrontPage and Office Server Extensions and "Team Pages". It targeted simple, bottom-up collaboration.
"Tahoe", built on shared technology with Exchange and the "Digital Dashboard", targeted top-down portals, search and document management. The searching and indexing capabilities of SharePoint came from the "Tahoe" feature set. The search and indexing features were a combination of the index and crawling features from the Microsoft Site Server family of products and from the query language of Microsoft Index Server.[38]
GAC-(Global Assembly Cache) is used to accommodate the shared assemblies that are specifically designated to be shared by applications executed on a system.
Versions
Successive versions (in chronological order):
Office Server Extensions
SharePoint Portal Server 2001
SharePoint Team Services
Windows SharePoint Services 2.0 (free license)
SharePoint Portal Server 2003
Windows SharePoint Services 3.0 (free license)
Microsoft Office SharePoint Server (MOSS) 2007
SharePoint Foundation 2010 (free), SharePoint Server 2010 (commercial extension for Foundation), and SharePoint Enterprise 2010 (commercial extension for Server)
SharePoint Foundation 2013 (free), SharePoint Server 2013 (extension on top of Foundation), and SharePoint Enterprise 2013.
SharePoint Online (Plan 1 and 2).
SharePoint Server 2016 and SharePoint Enterprise 2016.
SharePoint Server 2019 and SharePoint Enterprise 2019.
Changes in SharePoint 2010
Changes in end-user functionality added in the 2010 version of SharePoint include:
New UI with
Fluent Ribbon, using wiki-pages rather than 'web-part pages' and offering multi-browser support.
UI: JSLink, MDS, theme packs. No more WYSIWYG in SharePoint Designer (visual mode disabled, pages can be edited only in text mode, by directly modifying the source code, usually in ASP.NET or
Javascript /
CSS /
HTML).