Take deep dive into the features of SharePoint Foundation and SharePoint Server.
- What is SharePoint 2010, I get this question all the time. Because SharePoint is sort of this amorphous product that everybody generally some point in their IT career in the last five to ten years, in a collaboration environment, in a Microsoft shop, will run into. Sometimes they run into from other products. That it's interfacing with, some of the BI stack, maybe they're working with some web technologies, they're working on an internet, it gets brought up as a collaboration portal solution. But anyways, people generally, that haven't worked with it, don't have a very clear idea of what it is.
And then there's a whole group of people that work with it, that believe what it is is what they've done with it. And so, what we're gonna do here is we're gonna talk about what SharePoint 2010 is, from the perspective of maybe something you might need to be. If you ever need to work your way up through site collection administrator. Course, you may not know what a site collection administrator is yet, but we're gonna try to work through that here. So, SharePoint 2010 is at a very high level, a giant collection of functionality that's wrapped up and given the name SharePoint.
And I'm specifically saying SharePoint 2010 because every time Microsoft releases a new version of the product, they release it in sort of this collection of different licenses, and each of these licenses might have some more functionality. But in general, it will be wrapped up and given the name SharePoint 2010 for the 2010 version, for SharePoint 2007 for the 2007 version, or SharePoint 2013. But, the average users, even though the actual marketing talk may be a little different, like Moss, or things like that.
So, what we're gonna talk about here is what it is, and within the context of what it is, we're also gonna go over high level overview of the SharePoint object model. Now, don't be frightened, I'm not going to be asking anyone to open up Visual Studio, or anything like that. We're simply going to go over the different objects that you might interact with with SharePoint so you have an understanding of how this whole giant mechanism does work. It's pretty incredible. Then, we're also gonna talk about how it works. So, we're gonna have what it is, and then what it is from an object model perspective.
And then how it actually works. How is it that you actually work with this thing SharePoint. And then, who can use it? Specifically, who it is that's allowed to interface with SharePoint. Again, this is at a high level, because, we will actually have other modules and movies that go very specifically go very specifically into SharePoint security. But, we're gonna talk about it in the introduction to what SharePoint is context. So, what SharePoint is again, like I've said before, is a giant collection of functionality. Often times, when people work with SharePoint, they might be in a specific project.
So they might say, we're moving all of the files from this group of file shares into SharePoint because we, I understand that we get a lot more flexibility from some of the searchable capabilities. We're gonna formalize our taxonomy, so we're gonna turn just a giant stack of files on the file sharer into categories of HR documents, or maybe on a little bit higher level, where they'll say this is an HR job application, or resume, or some business object, which we call shared point of content type.
But anyways, so maybe they have this whole experience of going through the planning process, moving the documents into SharePoint, exposing them through some different areas in SharePoint, and now people can find them quite easily, people are not over riding each others changes, there's a lot better document control, better access. All using out of the box functionality of SharePoint. To that person, or that group of people, SharePoint might be, well it's a document management system. And it does that very well. But, that is just one aspect of what SharePoint does.
So, when we talk about with SharePoint is, I like to say it's a giant collection of functionality, wrapped up and given the name SharePoint. One of the best places to go to see what SharePoint has to offer is of course, microsoft, the makers of the product. And there's a site, that I've created a tiny URL. Com link to. Tinyurl.com/sp2010features. And here, what you can do is, you can go and look at the different features and additions of SharePoint 2010.
And then you can kind of see what the different functionality is, at the different, let's say, licensing levels. So, for example, generally SharePoint 2010 is offered in either SharePoint Foundation, SharePoint Standard, or SharePoint Enterprise. And that is outlined here, foundations, standard, enterprise. And, if you have SharePoint Foundations, then you may not have features that are available if you have SharePoint Standard.
If you have SharePoint Standard, you get all of the functionality of SharePoint Foundation and some more. If you have SharePoint Enterprise, then you're gonna get all of the functionality that you get with Foundation and all of the functionality you get with Standard, and some additional functionality that you get with Enterprise. So, the beginning of this is understanding that, okay, which version of SharePoint do we have access to? And then you can begin to understand what functionality is available to you in your version of the product.
You can also use SharePoint for public facing internet sites. And that would be something that you would need to have, a separate type of license for that you would work out with your Microsoft relationship, but that one would be using some features that would come in Standard. But that you would probably have to look at your licensing model to make sure you were okay to use it for a public facing website. So, within the different license, or the different versions, Foundation, Standard, and Enterprise, of SharePoint 2010, Microsoft breaks apart the different functionalities into a few different categories, a few different silos of functionality.
So, we have sites, communities, content, search, insights, and composites. This is Microsoft's way of organizing this giant group of feature sets. If you want to see what SharePoint does in relation to sites, because SharePoint is a website making machine. You can click on sites here, and then you can scroll down, and you'll see that most of the functionality in the creation and manipulation of sites from SharePoint 2010 that microsoft is highlighting here, does come with the Foundation version of the product.
You get connections to Microsoft Office Clients, manage accounts, improve set up and configuration, all kinds of different features and functionality come in the sites category of functionality with the Foundation version of the product. If you have Enterprise, you get everything from Enterprise over. So, you get all this with Enterprise. But, in addition to that, if you click on communities, as you start to move through the features that Microsoft categorizes being under communities, you start to see where the Standard version may enhance that experience.
So if you have SharePoint Foundation installed, and that's what you're using, than you're not going to be able to use the functionality under my profile, or my news feed, or things like that. You are still gonna be able to use the wikis, the blogs, and the discussions boards, and even photos and presence, but you're not gonna get some of the things you might get with the Standard version of the product. As we go through content, you'll start to see that in the content section, that you get the ability to do document management and things like that, you get all that with the Foundation product.
But when you talk about some of the unique things, like unique document Ids, and built in functionality, and the management of data service. We're gonna have whole sections on the management of data service application. This is a very, very huge, huge topic that we're going to discuss in other movies. But, if you see that you need that, you're going to at least have to get the Standard version of the product. Under the category of search in SharePoint 2010, once you get beyond Foundation than you get into Standard and Enterprise, your search world just completely exponentially expands.
And search is a gigantic feature of SharePoint 2010. In fact, there's a kind of search that you can get with SharePoint 2010 in addition to the just SharePoint license called Fast Search, which is for gigantic, gigantic indexes or gigantic compilations of items that you need to search. And in addition to that, they might be, have very complex meta-data structures, and you might need to have different search surfaces in different experiences, for different groups, intuitively.
So, if I'm a research scientist, searching my index of SharePoint content, I might get a different result set with some different visual presentations, than if I were in a sales group of an organization. And the Fast Search can be figured to intuitively do this. But this would be an additional product basically, considered in SharePoint. However, SharePoint out of the box Standard or Enterprise search is very, very powerful. SharePoint Foundation search is very powerful as well, but your generally restricted out of the box in scope, unless you have somebody that is capable of installing and configuring the license of SharePoint Foundation, I forget what it's called.
SharePoint Foundation search, or something. It's more advanced search, but you're limited in the scalability. So, you do have some other options there. If we get to insights, we're basically talking about the idea of BI, business and intelligence. And most of the BI stack is populated into the Enterprise license of SharePoint, and it has unbelievably powerful, powerful tools. And most of your management, if you're sitting in somewhere where you're really interested in seeing how are the sales, in this country at this time of year based by category, if I wanna see that, how we did in comparison to last year.
The advantage for some of the BI stack of analysis services, and some cubes that we might have access to in our data warehouse. Surfacing that stuff is relatively easy but it's incredibly dynamic, it's an incredible experience, and that's all surface to the Enterprise license of SharePoint. Through some of the performance point things and the other options we have when you get into that level. And then you have composites, which is basically what you know web developers might traditionally call mash-ups. Where they're putting different things together to deliver a solution of some kind.
And you do not have to be a developer to do this, but if you are somebody who understands the features set, and you put these things together in a certain way, you can deliver very compelling solutions, and out of the box, without code. But, if you are a developer, this gives you a huge amount of opportunity. So, in general if we're talking about a giant set of functionality, this is one of the reasons that SharePoint can be daunting. It's not generally just what you have experience with with one or two projects, it's so much more So, an approach to understanding this product is to start to kind of get the idea of the breadth of the product.
And wrap your mind around whatever license version you're gonna be working with. What your options are for out of the box functionality. Because, you don't, for example, want to be a developer who grabs a team of six developers and comes back and says hey, we decided, one of the management teams says, hey we really wanna be able to lock down the documents so people can't override each other's changes. You don't wanna be that developer that took a team of very skilled developers, and data base administrators, and spent six months of the company budget and came back and delivered this incredible technology and then somebody who's maybe taken a basic SharePoint class comes in and goes oh yeah that's check in- and check out, that's built in, we check two check boxes, we're done.
Uh-oh. You don't wanna be that person. Okay, and that happens all the time. At least, it use to happen quite a bit more, especially when SharePoint was new. But people are catching on, a little bit of training goes a long way in SharePoint. So, when we talk about the functionality that's one aspect of SharePoint. What it can do, okay. So, it does manage documents, it builds websites, it is a container for different items, I can have a list of vendors that I might need to contact, a list of contacts that someone in sales might have, and I might have a project that I'm working on and SharePoint can monitor everybody's task and the progress.
It hooks in very well with actual project server, another Microsoft product. But, there's another aspect to SharePoint, and that is what it is kind of programmatically. Now, I'm not going into programming right now, but I just want to talk about something called the SharePoint object model. So, as you start to interact with the product. And you start to understand, you're trying to surface some functionality, you have an understanding of where to go to surface that functionality. To turn it on to activate it to give people access to it.
So, when we talk about the share point object model, let me get this going here. Alright I'm going to do some drawing here, so we talk about the share point drawing model, this level is very hierarchical, so the highest level what we're talking about, and I'll represent here by a circle. Is the farm, the share point farm. So, the share point farm is one or more physical or virtual machines, computers, with share point installed on them, and tied together into the same configuration database.
Okay, so, it's gonna be using sequel server as its backend, and when you install the bits on the share point, they'll be tied together into one configuration database, that will be given a name, and that name will be the name of the share point farm. The content that's inside of share point, that share point actually has control over, that it's managing, will be stored in various other databases, often referred to as content databases, but there are actually many databases that will actually be used in a share point environment.
But, you will not only be restricted to one content database. You can have literally hundreds of content databases, but you'll ever have on configuration database. And there's share point farm. And all the pieces will be tied together, glued together through that configuration database. The good news is, or bad news if you're a developer, probably, is that you don't actually go in and set things in the database. And you're not running T sequel scripts or NBX queries or anything like that. You're doing everything through the tools that SharePoint gives us to manage the farm, those tools are central administration, and power shell.
Retroactively we can also use STS ADM, which is a command line tool that you can use that basically, still has some commands that we need to go to managing the SharePoint 2010 farm, but basically, most of the things are done in power shell or central administration. In any case, that's what the farm is. Inside the farm, there are different machines and controlled by SharePoint are these different services that are running. And the services are wrapped up with functionality and given a graphical user interface, or an API interface, through these things called service applications.
The service applications, let's see if I can get this going, the service applications, each one has a connection layer on there. Or a proxy layer that allows them to be, let's call them strung together, and given a name. If you install SharePoint out of the box, you'll get a bunch of service applications with these connection points layered on top of them, and that service application architecture, that group of functionality, like the search service, the user profile service, so, we can expose properties basically of our different users, and find out maybe somebody who knows the C-Sharp language in our organization, or someone who has been trained, things like that.
As these things are brought together, that functionality is given through these service application groups, okay? Out of the box the default one is called the default group. Now, what happens now is inside of our farm, we will create things called web applications. So, we have the, let's call it the SP farm object, so that's the one or more computers with SharePoint installed in them. Connected to one configuration database and given a name. Then we have out SP service application.
I'm not gonna write this whole thing out because it will take too long. Dot dot dot. Service application, which are grouped together in the service application groups and given a name. And then we have our SharePoint web applications, okay? Our web applications. Now, if you're a developer in the traditional sense of the word, you'll go hey I'm a dot net developer, I'm gonna create a new web application, that would be what you would normally consider a website. But in SharePoint a web application is actually more than that. A web application, most of the time is configured either for performance or for controlling authentication.
So, if you're using if you're using all your internal users that are in active directory, you would have a web application generally, and you would use that for all your internal site collections, or a number on internal site collections. Collaboration site collections. Or the internet portal. Or more than that. You can put many, many collections of sites inside of a web application. But, it is an HTTP access point, like HTTP colon back lash internet dot contrast dot com for example. Might take you to the, a site collection here, inside your web application.
So, the web applications exist inside the farm, and the significance of them on one level is, that they subscribe to a group of service applications. So, multiple web applications can subscribe to the same service application group. The point is, if you, if you're farm administrator, the person in charge of configuring and administering the farm, sets up the service application, and connects it to the default service application group, then that functionality for that search service application is available to any of the web application that subscribe to that group of service applications.
There are many, many different scenarios where your farm administrators can mix and match. But, at a conceptual level that's how it works. What I'm gonna do now is I'm gonna take this web application and basically blow it up. So, we're still basically in the farm. Let's see if I can, okay, I'll go here. So, now, let's say this is a web application. The web application will be a container of site collections, okay? A container of site collections.
And it can contain, many, many site collections. You go to Microsoft and search for SharePoint 2010 software boundaries and limits, you will see that, as I recall, you can have 250,000 per web application. You don't hopefully, ever wanna work on a farm that has 250,000 site collection. But, I am a big fan of site collection, and it would not be so uncommon to work on a farm with hundreds of site collections. That might be something you would very commonly run into. However, they're attached to this web application. So, because the web application is getting its functionality, or services, via the service application group, remember this was a default group, so each of these site collections, that will pass through to the site collections and that functionality will then be available at the site collection level.
And the site collection is actually a container, or a boundary, around what is called SP web objects or or, websites. So, generally, when people talk about, oh, I'm going to my, I'm going to my SharePoint site, they're talking about accessing a page that's one of the pages, probably the home page of one of these triangles here, one of these SP web objects. But, that SP web object will always exist inside of a site collection. Okay? So we have the farm, which is one or more computers, virtual or physical these days, with SharePoint bits installed on them, connected to the same configuration database.
Then we have service applications, which are either a graphical user interface or an API wrapper around a bunch, some functionality, like search or form services, info path form services, or the user profile service, or management of data service application. And these service application have some sort of connection, or way of looping them together. And those things are then put into groups. And those groups are fed to the web applications. The web applications then take that functionality and provide it to the web applications site collections, and each of the site collections is a collection of sites, SP web objects, SharePoint sites.
It gets confusing because, the object name for a site collection is a SP web object, and the object for a SharePoint web site is an SP web. But most people say I'm going to my SharePoint site, they mean they're going to my page or a location in an SP web object. So, that's just one of the things we have to deal with. And SharePoint is just the confusion. But that's basically how that works. When we talk about the SharePoint object model. Most of the time people are interacting with SharePoint at the site level here.
They're going to a page, which might be on the site. They're going to upload documents to a document library, that will be in the site. They're going to, and by site here I'm talking about the SP web object, or SharePoint website. They're going to a contacts list, which might have a list of contacts at the site. They're interacting with those at the list, or library, or site level. But they're all in the SP web object which, there can be many, many SP web objects in a site collection. Some have a lot of them, some might just have one. This is again, I believe the limit is 250,000, you never wanna have one with that many it would be a nightmare.
But, in any case, that's the object model. As you get lower into that, you get into pages and lists, and lists times and things. But at a high level, we wanna know about the farm, the service applications, the web applications, the site collections, and the web objects, as people, webs or sites. Now, why do we wanna break it down like that? Well, because if you become in charge of managing any portion of this. You wanna know where you sit in the hierarchy. Okay? So, how it works is the functionality that is first dictated by the license we have.
So we have Enterprise SharePoint, then you're gonna have performance point services, it's gonna have to be configured through a service applications. And some other services by the farm administrator, at the farm level. It's gonna be given and delivered through the service application group. Be delivered to the web application. And then the web application is gonna provide that to any of its site collections. And the way that is controlled, the way the flow of those features are controlled are at levers that exist. And this is where you start to get, you know, where you have to take a deep breath again, you have to say okay.
Alright, so I want some functionality. Well, that functionality is generally delivered through actual things called features. Okay? So, this is you know, again, not getting completely technical talking at the bit level with 84 ampersands and 92 dashes and things like that. I'm talking about trying to relate some concepts so we have an understanding what we're working with. So, the features can be turned on or off at the farm level.
So they can be turned on or off at the farm level. They can be turned on or off at the web application level. So, you can have features that are on at the farm level, but not available to every web application. Okay? You can turn features on or off at the site collection level. So, remember a site collection is a container around a bunch of SP web object of SharePoint sites. And then you can turn features on or off at the SP web object level, also known as a site. So, you have the ability to, to activate or open.
So, I'll make this an open door and this will be a shut door. And here, open door, shut door. And here, open door, shut door here. Open door, shut door. Functionality at any of these levels. Now, these features, where you activate those, that's called, at scope, the scope of the feature. If you're a developer, you can say, well I'm gonna write a feature and deploy it, and I'm gonna deploy it at the site level. Or the site collection level. And you can have dependencies. So, for example, you might have features which you want to have at this site level, but it may require that first you activate it at the site collection level.
And then it will be available to be activated at the site level. And we're gonna go in to how to activate all these features and turn them on and turn them off, and what combinations there are, and things like that. In other movies. But, the concept you need to get into your mind right now is, okay, so I have this functionality that is determined by my license, that license makes it available, if the farm administrator, or someone set it up on the farm. So, if I have SharePoint Foundation than I'm not gonna have this performance point dashboard. I'm not gonna look for it, I'm not gonna have that available.
But, if I do have Enterprise SharePoint, I know that I should be able to get that. This functionality then flows through at the web application level. That's still in the hands on the farm administrator, they're gonna set up these web applications. They're gonna be controlling those, that's sort of an IT services type of job. But, generally, you can be someone, and we train people in our class our SP360 class, we train people up through being able to control the site collection object. After that it sort of passes into the IT pro field.
What happens is, is the site collection, you might have functionality that is available through the web app, available at the farm level, and you wanna turn it on for the site collection, so all the sites in your site collection can use it. Well, you might have to go at the site collection, site action, site settings, site collection features, activate it there. And then sometimes you may have to go the additional step of going to the individual sites and activating it at the site level. And some features, you go straight to the site level, you don't have to go through any of the other levels, it's just go up to the site levels.
So, the point is, it can be very confusing. It takes some time. But you wanna have these concepts at least as we get going that we have the idea of turning things on and turning things off and uncovering the availability the functionality that was available at the license level. The access to the actual SharePoint farm, okay, is controlled through authentication at the web application. Let's keep it simple. Let's say you're a worker at an organization, you're in active directory, you authenticate to the network, you try and go to the internal internet SharePoint site.
You can have a chance of getting to that content based on the fact that you're an authenticated user. But, SharePoint will handle access to any SharePoint object inside its own security model. In addition to the fact that you have to be authenticated in some way, and that can be anonymous authentication. But you have to be an authenticated user. We will control access to the individual SharePoint objects to the farm, to the web applications, to the site collections, to the lists, to the libraries, to the list or library items, we'll control that through SharePoint security model.
And we'll have movies about that. But just so you know, that is kind of how that works. So who can use it is any authenticated user. However, that authentication mechanism was set up for the web application that you site application and site are in, that is the model that is going to allow, to determine whether or not you're going to be allowed to be added as someone who can use the objects in that container. Now, I wanna take a moment to talk about rules of working with SharePoint and this conversation can go to a couple different places. I'm gonna talk in the context of a very common scenario, the most common scenario on an internet environment, a collaborations scenario.
Where you have, maybe you're a used to hearing things, like oh, I went to the team site and I worked on the document library, and added things to the contacts list. Things like this. Well, this is what we call the idea of roles, what is your role inside SharePoint? And as you start to figure out what it is you need to learn, you sort of figure out what your role is in your SharePoint farm. And the roles I'll break it down here into end user, member, site owner, site collection administrator, and farm administrator.
And you would need to know more to be an affective member than you would to be an end user if you're an end user, maybe you go to a share point site, and you go there to get some documents, and you download a copy of documents that are stored in a SharePoint site, and that's how you work with SharePoint. You search for some things, you find somebody in your organization that has some skillset, you're using SharePoint in that way. Okay, so there are a large number of people that will use that in SharePoint. More likely in a collaboration scenario you're gonna get more people that will actually be members of different sites.
They'll say like, oh, I'm a member of this team site, we're working on this specific project. Or this is my product group, so we have a team site where we manage all our different documents and different ideas we're working on are all managed on a team site. There you would be a member, where you're actually contributing documents, or contributing items to a list or library. Or, doing things that are adding content to SharePoint like that. That would be someone who would be a member. And a member will generally need to be, have more skills than an end user.
But, you'll need to know how to check in documents, check out documents, where to go, how to find things, and then how to author things, how to edit things, You might understand a little bit about versioning and things like that. That would be a typical member. A site owner would be someone who needs to manage the containers that the members and end users are operating in, the SP web object. So, a site owner is gonna be someone who has to know, okay, how do I set up a new list or library, how do I create a sub-site, how do I give access to somebody to an object within SharePoint.
How do I turn on versioning or turn off versioning, where do I move web parts around, how do I add a new page. This is gonna be someone who falls under the context of site owner. So, you're gonna need to know everything that an end user knows, everything that a member knows, and then everything that a site owner knows. And I like to say it's a good idea to kind of know at least a little bit above what it is you're supposed to know. So, if you're a site owner, you kind of want to know what you need to do your job, and you wanna know what the site collection administrator does, at the least. And what maybe the farm administrator's role is.
A site collection administrator is gonna manage the container of the site collections, very important role. And a farm administrator is generally gonna have an IT background, but not these days, they might just have a very strong SharePoint background, they might be sent for some training. But their job is to manage and configure and maintain the actual farm. It is entirely possible to be the farm administrator and not have access directly, and some site within SharePoint, you can always has a farm administrator, go through the chain of permissions, and give yourself access, but out of the box, this is something that would not be an uncommon scenario.
Because, the farm administrator is really going to be taking advantage of distributed administration. So, that is what is SharePoint 2010, a giant group of functionality, depending on which license you have available to you, depends on which functionality might be available to you. This is controlled via the features that are activated in the service applications, the service application groups that are connected to the web application your site collection is in which contains your sites. So, that is what SharePoint 2010 in a nutshell. A gigantic, huge, enormous UFO sized aircraft carrier nutshell, but that's the nutshell.