Simply put, SharePoint 2013 (also referred to as SharePoint after this point) is a platform to support collaboration — a central Web-based portal for you to manage your own and your colleague’s documents, social activities, data, and information. This definition is pretty broad, but try framing it within a scenario: you manage projects on a daily basis and must also manage teams of people across those projects. Within the project, people are having meetings, creating documents, exchanging ideas, managing schedules, and so on. Without a central place to manage these activities and documents, you’re using file shares on servers; you’re exchanging documents via mail; and you’re using one or more different types of management software to help keep a common view of activities. Within this one scenario, you should be able to see the problem. A file share can go down anytime, so what’s the backup? Documents aren’t versioned. Context is lost around a project as elements are spread out across different technologies. And security around those documents is difficult to manage and control in an effective in an effective and efficient way.
Project management is but one scenario that paints a picture of collaboration. Many others exist, and this is why SharePoint has seen such broad adoption. Often companies see great advantages with SharePoint through simple document management; that is, being able to store, version, create, and manage documents in one central place. However, what these companies soon discover is that many more features are built into SharePoint such that its use goes beyond simple document management. Users soon begin to see Business Intelligence (BI) features, discoverability benefits (that is, search functions), social features, and governance abilities, among the many other areas of which they can take advantage.
To provide you with an idea of the types of things that you can do with SharePoint, Figure 1-1 breaks SharePoint out into three separate areas:
These are three key themes that you will find crop up throughout most discussions of SharePoint and implicitly through many of the capabilities you’ll get to explore throughout this book.
So, at its essence, SharePoint is a Web-based platform that provides the following:
Depending on the role of the person who is using SharePoint, the stated definition might take on a slightly different hue.
For example, for the end user, SharePoint enhances productivity by providing a core set of connected applications that essentially act as the Web-based application platform. The applications enable people to connect using wiki sites, workspaces, lists, document libraries, and integration with Microsoft Office applications such as Outlook, Excel, and Word 2010.
From an organizational point of view, the unified infrastructure enables the organization to rally around a central point of collaboration — be it through an organizational portal, a team site, or a personal My Site. It also enables organizations to integrate LOB systems, such as SAP, Siebel, PeopleSoft, and Microsoft Dynamics, into the information worker experience through SharePoint. Furthermore, it enables you to tap into your growing cloud services and data that you might be developing and deploying.
From a developer’s perspective, you can take advantage of a wide platform (arguably the widest historically for the platform) to build and deploy many different types of applications. These range from simple HTML and JavaScript applications to managed code and .NET cloud apps that are deployed to Windows Azure.
The response to business needs arrives through the capability to use SharePoint as a toolset in the everyday work lives of an organization’s employees — for example, routing documents through managed processes, providing social newsfeeds and updates, or managing and tracking project documents. In essence, SharePoint represents a platform that offers the organization a lot of functionality to do many different things, with collaboration lying at the heart of them.
Taking a look at the SharePoint user interface at this point might be helpful for you. Although you can create sites from many different templates, Figure 1-2 shows a Team Site and calls out some of the areas of the page:
You’ll find a common set of options in many sites (such as the link bar at the top of the site). Depending on the type of site that you create, you’ll find a different set of default options available. For example, some have more BI functions or governance workflow or social features built into them. This all depends on the type of site.
If you’re a developer reading this book, you might be happy to know that many parts of the SharePoint development experience are customizable. For example, in Figure 1-2 you could programmatically add data from external LOB systems into your site, you could integrate a Web app from Windows Azure, or you could create a light HTML and JavaScript and deploy to your Team site. You could also customize the branding of the site. For example, Figure 1-3 shows a sample SharePoint site that has more branding. This example uses some of the native SharePoint capabilities to configure the look and feel, but you could create a much more elaborate, branded, and custom look-and-feel for any of your SharePoint sites.
Thus, the Web-based experience that SharePoint provides out-of-the-box integrates core (as well as external) applications and functionality that end users can employ during their daily work lives.
In Figure 1-4, note that the default view has changed. This is because the site is now in Edit mode, which enables you to customize the SharePoint site. In this view, you can add Web parts, HTML or JavaScript apps, integrate external applications, and so on. The fact that you can quickly put a site into Edit mode, make some changes, and then save those changes back to the server is one of the great advantages of SharePoint.
The structural taxonomy of SharePoint comprises multiple levels. On the first level you have a site that is made of a template. As mentioned earlier, you have a variety of templates that you can use for a given site — either out of the box or custom. Within a site, you can create more subsites — using the same set of site templates. So it’s essentially a parent site, or site collection, with subsites. Within a specific site, you then add (or create and deploy to the sites) apps. Now for those of you who have been around SharePoint for a while, this will feel a little weird: Everything is now an app. That is, lists, document libraries, form libraries, and so on are all apps — just different types of apps. For those who are new to SharePoint, this idea won’t seem so jarring; thinking about a site comprising apps is a pretty natural way to think about Web platforms today. Also, as you start building apps for a marketplace, then the concept of an app (as opposed to differentiating across lists, document libraries, and so on) begins to make even more sense. Figure 1-5 shows you a small set of apps that are available to you by default within your SharePoint site.
For organizations, SharePoint provides a one-stop shop for leveraging the SharePoint infrastructure not only for internal sites to manage your day-to-day project needs and as a business process workflow, but also activities and infrastructure to manage your publicly facing sites. The key point is that SharePoint provides the infrastructure for many types of sites and for site and app development.
As you’ll see throughout this book, the native SharePoint experience is, in many ways, customizable. Given the breadth of integration possibilities with SharePoint 2013, there’s an adjunct set of technologies including Windows Azure, PHP, and other Web technologies that might factor into your SharePoint development experience.