A Practical Guide to SharePoint 2013

A Practical Guide to SharePoint 2013
A Practical Guide to SharePoint 2013 - Book by Saifullah Shafiq

Tuesday, April 8, 2014

Highlights of Microsoft Project Roadshow with Campana & Schott

Register now for the Project roadshow with Campana & Schott
We are very pleased to announce that registration is open for the Microsoft Project Roadshow with Project Gold Certified PPM Partner Campana & Schott. Join us for these free half-day events to gain insight on current trends and the latest developments on Project Online and earn 3 PDUs.

Friday, April 4, 2014

Setting Up Extranet - Part 2


a.       Double-click sysadmin.

b.      If you don’t see accounts listed there then you need to add them first in Logins. Right-click Logins node and select New Login. Enter Login name and click Search. Click OK if login name is found otherwise click Check Names to find the login and then click OK.
c.       Click OK.
d.      Login has been added. Now it’s time to add it to the server roles. Expand Server Roles node, then double-click sysadmin node.
e.      Click Add.
f.        Enter Login name and click Check Names. Click Ok to add login to the role. 

Repeat these steps to add the second login. One was Walisystems\spservice account that was especially for SharePoint. Second was WaliSystems\Administrator account that STS application pool uses.

To add these accounts directly to the database permissions (instead of adding them in sysadmin role), do the following:

a.       Expand aspnetdb database node.
b.      Expand Security node.
c.       Right-click Users and select New User.
d.      Enter User name. Enter same in the Login name and click ellipsis. Enter login name, click Check Names then click Ok.
e.      Check following options in both Owned Schemas and Database role membership boxes:

Ø  Aspnet_Membership_FullAccess
Ø  Aspnet_Personalization_FullAccess
Ø  Aspnet_Profile_FullAccess
Ø  Aspnet_Roles_FullAccess
Ø  Aspnet_WebEvent_FullAccess



2.       Now that accounts have been added, next step is to add data. I will show you two methods for adding data, one using the MembershipSeeder tool and second adding users manually. First, I will show you how to use MembershipSeeder tool.

Add Users Using MembershipSeeder Tool


3.        Download MembershipSeeder.zip from following location:


4.       Unzip package and go to MembershipSeeder > Bin > Release folder and run MembershipSeeder.exe.




5.       Click Configure to enter database name. Enter your database name. Click OK. Close the application and re-open.
6.       To add users, click Create in the Membership section. You can change the default values. By default, username prefix is user. All usernames will have this prefix. Password can also be changed. Enter your domain name in the Email Suffix.  By default, application will show your server’s FQDN. Finally enter number of users that you want to create. Default number is 50. If you want to create only one user, check Only create or delete 1  user; don’t use the # of Users field. This will only create one user. If you chose more than one user, then application will create all users with user prefix. For example, you created two users, usernames will be user1 and user2. You can also delete users by clicking the Delete button.






Figure: aspnet_Users table
7.       To add roles, enter Role name. You can change User Prefix, # of Users, and Start Num. Click Create to create the role. I needed to add an admin role, therefore, I entered Admin in the Role field. I changed User Prefix to Admin and # of Users to 1. Start Num should be 1 if this is first admin you are adding.

Figure: aspnet_Roles table
8.       To change password, use Password and Properties section. To find a user, use Find User section. To see all roles, click Get Roles button. To see all users, click Get Users button. To add user to a role, click Add to Role button.

Add Users Manually


9.       If you have access to the tool, then why would you add users manually? This process will help you understand the database structure and you will learn what data needs to go to what tables. In SQL Server Management Studio, click New Query button.

Figure: New Query button
10.   You need three GUIDs, one for ApplicationId, one for RoleId and one for UserId. We will add just one user for now. For every new application, role and user you need a new GUID. That’s where data tool comes in handy (discussed above). Now, we will generate GUIDs manually in the SQL script window. In the script window, write following command and click Execute button. Run this command thrice to create three GUIDs and note them down, you will need them when adding data to tables.
Select newid()
11.   Right-click aspnet_Applications table and select Edit Top 200 Rows. Add following data in new row:
Column
Value
ApplicationName
Fba
LoweredApplicationName
fba
ApplicationId
9f369fb1-9480-4d8a-bb44-7838a3c2afab
Description
fba

12.   Add following data to the aspnet_Roles table.
Column
Value
ApplicationId
9f369fb1-9480-4d8a-bb44-7838a3c2afab
RoleId
9f369fb1-9480-4d8a-bb44-7838a3c2afaa
RoleName
Admin
LoweredRoleName
admin
Description
Admin Role

13.   Add following data to the aspnet_Users table.
Column
Value
ApplicationId
9F369FB1-9480-4D8A-BB44-7838A3C2AFAB
UserId
9F369FB1-9480-4D8A-BB44-7838A3C2AFAC
UserName
saif
LoweredUserName
Saif
MobileAlias
NULL
IsAnonymous
0
LastActivityDate
2012-12-23

14.   Add following data to the aspnet_UsersInRoles table.


Column
Value
UserId
9F369FB1-9480-4D8A-BB44-7838A3C2AFAC
RoleId
9F369FB1-9480-4D8A-BB44-7838A3C2AFAA

Wednesday, April 2, 2014

Cloud storage with OneDrive for Business now available as a standalone subscription

As we announced at SharePoint ConferenceOneDrive for Business is now offered as a new standalone subscription to give customers more flexibility in moving to the cloud and Office 365.  We’ve also added enhancements to SharePoint 2013 in Service Pack 1 (SP1) that enable on-premises SharePoint users to configure OneDrive for Business with just a few clicks.

Read More!!

Tuesday, April 1, 2014

Renewed as SharePoint MVP! 8th straight year!


I am happy to announce that I have been renewed as SharePoint Most Valuable Professional (MVP) for another year. This is my 8th consecutive award. I thank Microsoft, my MVP lead and the SharePoint community! SharePointees rock! Thank you!

List of SharePoint MVPs:

https://www.hotsharepointjobs.com/home/mvplist

 SharePoint MVPs

Estimating SharePoint 2013 Licensing Costs

Need a SWAG estimate on SharePoint licensing for a new project? Here’s how you can get started on a high-level estimate for licensing a new on-premise SharePoint solution.

SharePoint licensing can be confusing to decode. While we typically work with clients who have dedicated Microsoft licensing advisors, we realize sometimes you may be looking for a ballpark number on the licensing to see if SharePoint may be an option from a budgeting standpoint.

Read more

Monday, March 31, 2014

Configure eDiscovery for SharePoint Server 2013

The Test Lab Guide (TLG), Configure eDiscovery for SharePoint Server 2013, describes how to configure eDiscovery in SharePoint Server 2013.
This TLG takes you through the following eDiscovery configuration steps:
    1. Install the Exchange Web Service API 1.2 (EwsManagedApi.msi)  
    2. Configure a trust relationship between SharePoint 2013 and Exchange Server 2013.
    3. Configure Exchange Server 2013 for SharePoint 2013’s eDiscovery center.
    4. Configure Search to crawl all discoverable content.
    5. Grant permissions.
    6. Create an eDiscovery center.
The resulting test lab is a place for you to begin learning more about eDiscovery configuration in SharePoint Server 2013. 

Read more

Saturday, March 29, 2014

Setting Up Extranet - Part 1

Setup SharePoint 2013 Extranet


We have covered all important topics that lay ground work for creating Extranet sites. Here is what is needed for creating Extranets:
1.       Web application and site collection setup
2.       SSL setup – This is optional but highly recommended if you are allowing data exchange with external entities.
3.       Binding SharePoint site with SSL certificate
4.       Setup of users database
5.       Central admin and web.config configurations
6.       Testing
Remember, most of the topics mentioned above are optional. For example, you may not want to have a unique URL for your extranet site. You may be ok with the machine name in the URL but in case, if you want to have a unique URL for your site, read following article:
This article explains how to setup DNS and  FQDN. So, instead of accessing your site with URL http://sp2013, you can access it using URL like http://www.walisystems.com
If you want to setup separate URLs for different departments in your organization, read following article:
If you want to setup SSL for your extranet site, there are three ways which are described in the below articles:


There are different options for setting up Extranets. You can use LDAP, you can use custom database, or you can use OpenID. In this article, you will learn to use custom database. By default, authentication type in SharePoint 2013 is claims-based. To access custom database or data source like LDAP (Lightweight Directory Access Protocol), forms-based authentication has to be configured in web application settings.  Forms-based authentication is an identity management system that is based on ASP.NET membership and role provider authentication.  SharePoint 2013 supports a variety of authentication methods and authentication providers for the following authentication types:
Ø  Windows authentication
Ø  Forms-based authentication
Ø  SAML token-based authentication
Advantage of using claims-based authentication is that you can setup multiple authentication methods in one zone but there are two restrictions that apply:
Ø  You can implement only one instance of forms-based authentication on a zone.
Ø  Central administration allows you to use both an Integrated Windows method and Basic at the same time.

Setup database


To use SQL Membership Provider, first you need to install ASPNETDB database. ASP.NET includes a tool for installing the SQL Server database used by the SqlMembershipProvider and SqlRoleProvider. The Aspnet_regsql.exe tool is located in the drive:\Windows\Microsoft.Net\Framework64\v4.0.30319
If you try to create web application that uses Forms-based authentication using SQL Membership Provider database, you get error message: “Sorry, Something went wrong” and it gives you a correlation ID which when you check in the logs shows several errors, for example, the following:
Microsoft.SharePoint.Administration.Claims.SPClaimEncodingManager.DecodeClaimFromFormsSuffix(String encodedValue)  at Microsoft.SharePoint.Administration.Claims.SPClaimProviderManager.GetProviderUserKey(IClaimsIdentity claimsIdentity, String encodedIdentityClaimSuffix)     at Microsoft.SharePoint.Administration.Claims.SPClaimProviderManager.GetProviderUserKey(String encodedIdentityClaimSuffix)     at Microsoft.SharePoint.Utilities.SPUtility.GetFullUserKeyFromLoginName(String loginName)     at Microsoft.SharePoint.ApplicationRuntime.SPHeaderManager.AddIsapiHeaders(HttpContext context, String encodedUrl, NameValueCollection headers)
The error occurs because Membership provider and Role manager have not been configured yet. We can configure web.config first and then create the application but let’s first install the database.
1.       Double-click Aspnet_regsql.exe to start the wizard.
2.       Click Next.
3.       Choose first option Configure SQL Server for application services. You can use same wizard to remove application services information from an existing database. Click Next.

4.       Enter database server name. Default method for accessing database is Windows authentication. If you have set up SQL server user ID and password, you can choose SQL Server authentication. Click Next.

5.       Click Next.
6.       Click Finish.

Adding Users in Database


Database has been installed but it is empty. Next step is to add users in the database. You can use MembershipSeeder application to add users. This application can be downloaded from codeplex:
Second option is to build your own .NET application that will provide interface to add data in the database.
Third option, the one I used, is to add data manually in the database.  This is ok if you want to add users for testing may be once or twice but in production environment where adding and removing users is an ongoing task, you need to have an interface to do this easily. Below, I show you how to add some test data so that we can continue with the application setup but before adding test data, we must give permissions to the accounts that will access this database.
7.       Open Microsoft SQL Server Management Studio.
8.       First we need to add account that we will use in new web application to the newly created database. You can use admin account in the new web application but standard practice is to use special service account for SharePoint applications. I have named this service account “spservice” and I will add it to the database permissions. Also you need to check what account STS (SecurityTokenService) uses. Open IIS manager.

Expand server name node, click Application Pools. Check Identity column again SecurityTokenServiceApplicationPool. This account (WALISYSTEMS\Administrator) must be added in the database permissions.
9.       There are two ways to accomplish this. You can add these accounts directly in the ASPNETDB database permissions or you can add them to the sysadmin role, that will automatically give them permissions on all databases. To add these accounts in sysadmin role, do the following:
a.       In management studio, expand Security node.
b.      Expand Server Roles.

c.       Double-click sysadmin.

Part 2
Part 3