Suvarna Garge (Editor)

SharePoint

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Developer(s)
  
Microsoft Corporation

Platform
  
x64 / ASP.net 4.5

Development status
  
Active

Initial release
  
2001; 16 years ago (2001)

Stable release
  
2016 / May 4, 2016; 10 months ago (2016-05-04)

Operating system
  
Windows Server 2008 R2 and Windows Server 2012

SharePoint is a web-based application that integrates with Microsoft Office. Launched in 2001, SharePoint is primarily sold as a document management and storage system, but the product is highly configurable and usage varies substantially between organizations. In the 2017 Stack Overflow Developer Survey, Sharepoint was ranked as "the most dreaded" development platform ("a high percentage of developers [70.9%] who are currently using the technology express no interest in continuing to do so").

Contents

Microsoft states that SharePoint has 160 million users across 75,000 customer organizations.

Editions

There are various different editions of SharePoint which have different functions:

SharePoint Server

SharePoint Server is provided to organisations that seek greater control over SharePoint's behavior or design. This product is installed on the customer's IT infrastructure. It receives less frequent updates, but has access to a wider set of features and customization capabilities. There are three editions of SharePoint Server: Standard, Enterprise, and Foundation (free) which was discontinued in 2016. These servers may be provisioned as normal virtual/cloud servers, or as hosted services.

SharePoint Standard

Microsoft SharePoint Standard builds on the Microsoft SharePoint Foundation in a few key product areas.

  • Sites: Audience targeting, governance tools, Secure store service, web analytics functionality.
  • Communities: 'MySites' (personal profiles including skills management, and search tools), enterprise wikis, organization hierarchy browser, tags and notes.
  • Content: Improved tooling and compliance for document & record management, managed metadata, word automation services, content type management.
  • Search: Better search results, search customization abilities, mobile search, 'Did you mean?', OS search integration, Faceted Search, and metadata/relevancy/date/location-based refinement options.
  • Composites: Pre-built workflow templates, BCS profile pages.
  • SharePoint Standard licensing includes a CAL (client access license) component and a server fee. SharePoint Standard may also be licensed through a cloud model.

    SharePoint Enterprise

    Built upon SharePoint Standard, Microsoft SharePoint Enterprise features can be unlocked simply by providing an additional license key.

    Extra features in SharePoint Enterprise include:

  • Search thumbnails and previews, rich web indexing, better search results.
  • Business intelligence integration, dashboards, and business data surfacing.
  • PowerPivot and PerformancePoint.
  • Microsoft Office Access, Visio, Excel, and InfoPath Forms services.
  • SharePoint Enterprise Search extensions.
  • 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 Office 365 subscriptions, but can be purchased outright. 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. Currently, additional capabilities include:

  • 'NextGen Portals'
  • Microsoft Delve & Sway
  • Yammer Integration & Office 365 Groups
  • Integration with Outlook Web App
  • Planner
  • Newer versions of Online Office Document Editor Tools
  • Small business web publishing capabilities
  • Removal of various file size/number limitations
  • Missing capabilities include

  • Some search & UI customizations
  • Web publishing capabilities
  • Full Tenant Administration options
  • Service Application administration options
  • ability to change files on server
  • ability to read error logs
  • N.B. Changes in SharePoint Online are listed on the Office Roadmap.

    Applications

    SharePoint usage varies from organization to organization. The product encompasses a wide variety of capabilities, most of which require configuration and governance.

    The most common uses of the SharePoint include:

    Enterprise Content and Document Management

    SharePoint allows for storage, retrieval, searching, archiving, tracking, management, and reporting on of 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. SharePoint's integration with Microsoft Windows and Microsoft Office allow for collaborative real-time editing, and encrypted/information rights managed synchronization.

    This capability is often used to replace an existing corporate file server, and is typically coupled with an enterprise content management policy.

    Intranet and Social Network

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

    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. Groupware in SharePoint is based around the concept of a "Team Site".

    File Hosting Service (Personal Cloud)

    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",

    This capability is often compared to services like Box or Dropbox.

    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 which Microsoft's implementation doesn't. Only Windows XP to Windows 8 are supported.

    Custom Web Applications

    SharePoint's custom development capabilities provide an additional layer of services that allow rapid prototyping of integrated (typically line-of-business) web applications. 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 with encapsulated and managed to access to resources such as corporate user data and document data.

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

    Lists, Libraries, Content, and "Apps"

    A SharePoint library stores and displays files and folders.

    A SharePoint list stores and displays data items.

    Each item in a library or list is a content item. Examples of content items include "Document" - which may have a "Name", "Contact" - with contact information fields, or "Sales Invoice" - with fields such as "Total" and "Customer ID".

    Content Types are definitions (or types) of items. These definitions describe things like what metadata fields a Document, Contact, or 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.

    Some built-in content types such as 'contact' or 'appointment' allow the list to expose advanced features such as Microsoft Outlook or Project synchronization.

    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, wiki sites, blank sites, and publishing sites.

    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.
  • SharePoint Designer

    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.


    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 "App 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.
  • The SharePoint "Client Object Model" (available for JavaScript and .NET), and REST/SOAP APIs can be referenced from many environments, providing authenticated users access to a wide variety of SharePoint capabilities.
  • "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 customization's 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.
  • Pages/sites or page/site templates.
  • Server Architecture

    SharePoint Server can be scaled down to operate entirely from one developer machine, or scaled up to be managed across hundreds of machines.

    Farms

    A SharePoint farm is a logical grouping of SharePoint servers that share common resources. 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. A site collection may have a distinct content databases, or may share a content database with other site collections in the same web application.

    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.

    Administration, Security, Compliance

    SharePoint's architecture enables 'least-privileges' execution permission model.

    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. This application provides a complete centralized management interface for web & service applications in the SharePoint farm, including AD account management for web & 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.

    Compliance, standards and integration

  • SharePoint integrates with Microsoft Office.
  • SharePoint uses Microsoft's OpenXML document standard for integration with Microsoft Office. Document metadata is also stored using this format.
  • SharePoint provides various application programming interfaces (APIs: client-side, server-side, JavaScript) and REST, SOAP and OData-based interfaces.
  • SharePoint can be used to achieve compliance with many document retention, record management, document ID and discovery laws.
  • 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. Also added support for AppFabric.
  • 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.

    Versions

    Successive versions (in chronological order):

  • SharePoint Portal Server 2001
  • SharePoint Team Services (2002)
  • SharePoint Services 2.0 (free license) - SharePoint Portal Server 2003 (commercial release)
  • SharePoint Services 3.0 (free license) - plus Office SharePoint Server 2007 (commercial extension)
  • SharePoint Foundation 2010 (free) - plus SharePoint Server 2010 (commercial extension for Foundation), and SharePoint Enterprise 2010 (commercial extension for Server)
  • SharePoint Foundation 2013 (free) - plus SharePoint Server 2013 (extension on top of Foundation), and SharePoint Enterprise 2013.
  • SharePoint Online (Plan 1), and SharePoint Online (Plan 2)
  • SharePoint Server 2016 - plus SharePoint Enterprise 2016.
  • Notable 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.
  • New social profiles, and early social networking features
  • Central Administration rebuilt.
  • Restructure of "Shared Service Providers" - Introduction of "Service Applications" SOA model.
  • Sandboxing and a client-side object-model APIs for JavaScript, Silverlight, and .NET applications
  • Business Connectivity Services, Claims-based Authentication, and Windows PowerShell support
  • Notable changes in SharePoint 2013

  • Cross-browser drag & drop support for file uploads/changes, and Follow/Share buttons
  • OneDrive for Business (initially SkyDrive Pro) replaces MySites and Workspaces.
  • Updates to social network feature & new task aggregation tool.
  • Database caching, called Distributed Cache Service
  • Content-aware switching, called Management
  • Audit center (service called eDiscovery)
  • Rebuilt and improved search capabilities
  • Removal of some analytics capabilities
  • UI: JSLink, MDS, theme packs. No WYSIWYG in SP Designer.
  • Notable changes in SharePoint 2016

  • Hybrid Improvements
  • Single Sites View
  • Unified Search
  • Search Sensitive Information in Hybrid Search
  • Unified UI (O365)
  • Performance, Scaling & Deployment Improvements
  • Search Scaling Capabilities
  • Site Collection Enhancement
  • Deterministic View Threshold – Removing 5000 Limit
  • Durable Links and Large Files Support
  • Deployment Improvements
  • MinRole
  • Zero Downtime Patching
  • References

    SharePoint Wikipedia