A Practical Guide to SharePoint 2013

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

Wednesday, April 30, 2014

Thoughts on SharePoint project management: some considerations

The original premise of the SharePoint product was to facilitate collaboration. You need to look no further than the name of the product for proof of this; the idea behind SharePoint project management was to be a central “point” at which users within an organization “shared” information with each other. But in SharePoint’s massive growth since its introduction in 2001, SharePoint project management and simple team communications seem to have been dwarfed in importance by other features, like workflow and business intelligence, that Microsoft has added to the product. Why might project management not be one of SharePoint’s biggest drivers anymore?

Read more>>

Monday, April 28, 2014

Favicon SharePoint 2013 Online

We recently did a complete re-branding of our SharePoint Online Public Website.


Friday, April 25, 2014

Sharepoint online part 1

SharePoint in the cloud

ou will kill two birds with a stone in this chapter. The objective is to shed light on the very interesting topic of SharePoint branding. Since SharePoint is very popular with the enterprise clients, they mostly like to add their own branding to the product. There was a time when the only thing you could do “easily” was changing the logo and the site’s title and description. Adding elements to the page’s style was a cumbersome job. When Microsoft saw companies’ interest in this area, they started adding some support in the product and made it easier for the users to add branding. Still it was not where it should have been. With SharePoint 2007, things became somewhat easier. With SharePoint 2010, branding actually took off and we saw some great very well done sites. Now with SharePoint 2013, we have full support in the product and branding sites has become a lot easier now. With the increasing popularity of mobile platforms, responsive designs have taken the top spot and are the #1 preference of the companies these days. Moreover, SharePoint is now very well established in the cloud. SharePoint until now has been popular as an Intranet product. Companies usually used it for team collaboration and document management but with SharePoint online, companies are now deploying sites that offer the same excellent look and feel that was the trademark of HTML sites back in the day and on top of that, users get the same excellent features that were the hallmark of SharePoint Intranet or Extranet solutions, for example, document management, users management, user roles, calendars, tasks management, etc. So, in this chapter, first we are going to setup a SharePoint site in the cloud. Then we will develop a branded site for the cloud.

So, here is a brief introduction before we dive into the details. SharePoint Online is a cloud based service that helps organizations share and collaborate with colleagues, partners, and customers. Users can now access internal sites, documents, and other information from anywhere. It is a common platform that can be accessed from the home, office or a mobile device.

SharePoint Online has new innovative features. It has a fluid interface, file sharing capabilities, higher storage limits, cloud application development model and robust tools for administrators to more easily control the environment. Everyone benefits from the new SharePoint Online: users, managers, developers and IT professionals.

SharePoint Online site consists of two sites: the Team Site and the Website. Here is some more detail:

Team Site: The Team Site is an internal site for your team. All members of your organization can collaborate with each. They can share documents and other files. Other basis elements of the Team site include announcements, meetings, tasks list and issues list, custom lists, etc.  You can create subsites from the available site templates. For example, you can create a team blog, or a social meeting workspace to organize team events, meetings, and so on.

Website: The Website is where you design your public site. This is the site that is visible to the world.  This website has everything you need to get started with designing your site. It has libraries to store content such as images, documents, etc. that you can display on the pages of your site.

Site Components

A site is a group of pages where users can work on projects, store and share information. Following are some important site objects that are frequently used in a SharePoint site.


A list is a site component that is used to store information quickly. It has CRUD functions. There are different types of lists in SharePoint, for example, a tasks list is used to store and monitor tasks, an events list is used to store events, a custom list can comprise of any number of fields that are relevant to your business.


A library is a special type of list that stores files as well as information about files. The two most used libraries in SharePoint are: Document library and Forms library.

As the name suggests, document library is used to store documents. You can create folders inside a library to define a hierarchy. Forms library is used to store electronic forms. You can store forms directly in this library. Each form library can be associated with different content types. You can publish InfoPath form template in a library and bind it to the library. Users can open this template and fill out data. Saving the template automatically generates a new xml form that is stored in the same library.


Views play an important part in SharePoint. You can use views to see items in a list or library. These views can be added to the home page of your site so that all important information from different libraries and lists is available on the home page of the site. Multiple views can be created for a list or library. You can also use a web part to display a view of a list or library on a separate page of the site.

Web Parts

A Web Part is a modular unit of content that forms a basic building block of most pages on a site. If you have permission to edit pages, you can use web parts to customize the site to display information from different sources.
New interface has been reimagined. It is easy to navigate and easy to accomplish tasks.

Site Usage

There are several other features that allow administrators to control the site. Managing sites in SharePoint is easy because of the built-in functions that let administrators control permissions, roles, storage, content management, etc.


There are different permission levels available out-of-the box and you can create your own custom permission levels. You can assign permissions directly to the users as well groups. Assigning permissions to the groups make permission handling very easy. All you have to do is add or delete users from the group. You don’t have to handle permissions individually if you don’t want to. For granularity, you can assign permissions directly on the files and folders and to the individual users.


Everything can be customized in SharePoint and that’s the beauty of it. You can customize the interface, you can customize permissions, you can customize navigation. This is the biggest advantage of SharePoint. You are not restricted to the out-of-the-box features. SharePoint is scalable. You can add your own custom functionality.

Figure 11-1: SharePoint 365 (branded) home page

The page you see above is customized and contains custom content. One new feature is drag and drop. Another one is on-hover that allows users to see a set of rich commands and contextual information in search results.

SkyDrive Pro is cloud storage that users can use to store documents directly from within SharePoint.

Most important interesting new feature is new and improved public website. There are different out-of-the-box themes available that can quickly change the look and feel of your site. You can also create custom themes. Even if you don’t create custom theme, you can create a new design and create a master page to incorporate the new design and apply it to your site. Following are a couple of themes that come with the product.

Figure 11-2: Out-of-the-box themes

Online Packages

As of Dec 2013, the packages are as following:

Small Business Packages

Small Business
Small Business Premium
Midsize Business
$5.00 user/month
$12.50 user/month
$15.00 user/month
Business-class email
§  Online conferencing
§  Public website
§  File sharing
§  Office Web Apps
§  Business-class email
§  Online conferencing
§  Public website
§  File sharing
§  Office Web Apps
§  Desktop versions of Office products
§  Business-class email
§  Online conferencing
§  Public website
§  File sharing
§  Office Web Apps
§  Active Directory Integration

Enterprise Packages

Business-class Email
Enterprise E1
Enterprise E3
$4.00 user/month
$8.00 user/month
$20.00 user/month
§  Active Directory Integration
§  Business-class email
§  Active Directory Integration
§  File Sharing
§  Online conferencing
§  Enterprise social
§  Office Web Apps
§  Business-class email
§  Active Directory Integration
§  File Sharing
§  Online conferencing
§  Enterprise social
§  Office Web Apps
§  Desktop versions of Office products
§  eDiscovery Center

Setting up SharePoint Online

In this section, we will start from scratch and setup an online SharePoint site.

Sign-up for a trial version on this link:

Click Free trial link under Enterprise E3 plan and sign up.

Here is the direct link:

Trial version expires after 30 days. If you choose to keep the site, then you have to purchase the package.

After you have signed up, you get access to the site. You get your own URL. You can also unique URL for your site should you wish to do so. You can purchase a domain name and link it to your SharePoint Online site.

Site URL looks like this:

You are also granted a unique email address that you use to login to your site. Your email address looks like this:

Plan the Public Website

So, now you have a subscription, you can setup a public website and make it available on the Internet. By default, your site is set to Offline mode. Once you have completed the site, you can take in Online. You can customize the website to create a professional online presence for your business or organization.

It’s always a good idea to do some planning before you start the work. Discipline and planning really help to keep things moving smoothly.

The website includes several sample pages: Home, About Us, Contact Us, Directions, and Blog. You can use these pages and just customize the content and you are all set to go live. You can add your company name, logo, contact information, and change color scheme. You can also create a totally new branded site for your business. That’s our next topic in this chapter. In this section, we will use out-of-the-box components to set up a site.

Figure 11-3: Website menu

 Once you login, you will see a global menu. As mentioned before, there are two sites created by default, a team site and a public website. To work on the team site, you have to select team site from the global menu. To work on the public site, you have to select public website from the menu. Global menu looks like this:

Figure 11-4: Global menu

In the global menu, click Sites to see the two sites. Please note that depending on your package, the interface may look different. For example, if you are using an E3 package, you will not see the two sites. You will have to create the sites first. By default, E3 package gives you a public site. You can create more sites separately.  Click Public site to go to the public website. Click on the Home link to go to the home page. Then select PAGE tab from the top. Click Edit button from the PAGE menu. Start typing and adding elements to the page until you are done. If you have already designed a page using other design programs, copy the page from there and paste it in the content area and the save and publish the page.

Figure 11-5: Page tab

Repeat the process for all other links. Once you have added content to the pages, it’s time to make a few more changes to the site. Go to the SITE tab.

Figure 11-6
: Site tab

Click Change the Look button. This page lists all out-of-the-box themes. If you are ok with the default theme, you don’t have to do anything but If you want to change your theme then this is the place. Just select the theme you like and your site’s look and feel will change.

Click Edit Title button to change the title of the site. Add title and description and click Ok.

Figure 11-7: Site Title

Click Change Logo button to change logo on your site. You can upload logo image from your computer or from a SharePoint site if you have already upload an image to your site. Each public website has all the default features like Site Assets, Document Library, Tasks List, etc. You can upload your site images etc. to the Site Assets library.

Click Edit Menu button to change the navigation menu. Menu is shown on the left side. There is a link called EDIT LINKS at the bottom of the menu list. Click it to turn menu into editable mode. Click the link you wish to edit. You can hide or unhide links from the menu. You can also drag new links to the menu or use the new link to add a link to the menu. After making the changes, click the Save button.

Next, click Search Box button if you want to hide/unhide Search box on your site.

If you want to make changes to the design of your site, you can edit its style sheet by clicking the Edit Style Sheet button. You can either type styles directly to the input box or you can copy styles from the style sheet file you may have created for your site. Click Save and Publish to save and publish the styles. If you clicked Save button, then that will save the styles but won’t publish it and thus changes will not appear on your site. To enable the changes, make sure to publish the style sheet.

Now, one final thing, you can edit properties of each page in your site and set its SEO properties as well. Go to the home page and click PAGE tab. Edit Properties button has three options: Edit Properties, Edit SEO Properties, View Properties. Select Edit SEO Properties. This form has all the properties that are needed to setup SEO for your page. If you want to rename your page, do it in the Name field. Add title of the page in the Title field. This title is used by the search engines to pair the page with results for similar keywords so make sure you had all keywords in the title field that are relevant to your business, for example, “Wali Systems – A SharePoint Company – SharePoint Staffing, Consulting and Development Services”. Browser Title is the title that appears in the title bar of your page. Meta Description contains the description of your page. This is displayed under your URL shown in search results. Keywords field is the field where you enter the keywords for your site. Keywords should be comma separated. You can enter maximum of 1024 characters in this field. In Exclude from Internet Search Engines field, you can choose if you want to include this page in the sitemap and expose to the search engines or you want to keep it hidden. After entering values for each field, click OK to save the changes. Repeat this process for all the pages.

Now your site is ready to be published but before doing that let’s explore the admin section as well. Click Admin link from the top global navigation.

Figure 11-8: Admin area

Here you get all the options to make necessary changes to your site. For example, by default your site’s email is set to username@sitename.onmicrosoft.com. You can change it username@yourcompany.com. To change email address, click the box labeled email address. Changing email process takes 45 minutes. You must have a domain name before you start this process. Click the Start button to start the process and enter you email with your domain name and click Next. On the next screen, confirm that you own the domain name. Provide name and password for your domain registrar. This is where you bought your domain. Enter username and password for your DNS hosting provider. This may be the same company as your domain registrar. To confirm that you own the domain name, you have to login to your domain account and add a DNS entry. In the DNS records, add a TXT entry. Enter the code provided by Office 365 site. This is the first step. In the next step, you confirm that you want to keep your website where it’s hosted today and just want the email address to be associated with your SharePoint site. In the third step, you change your email address. Enter new email to link it to your current SharePoint email and click Update. In step four, you add other users of your site that have a custom email address. Remember you have to setup these users in SharePoint also using their custom email addresses. In the final step five, you redirect all traffic from your site to Office 365 site. To make this change, you have to change your name servers in the domain account. Name servers will be provided by the Office 365 site, you just have to enter them in your domain account. Once you have completed all the steps, you will start getting emails at your custom email address associated with your SharePoint website.

Click collaboration button to see how to use tools for creating, sharing, and tracking documents. You do not configure anything in this section. This section serves as a small tutorial for the features that you can use in your site.  Here is what you will learn in this section:

§  Check out SkyDrive Pro and team sites
§  Get to know SkyDrive Pro
§  Change the look and feel of your team site
§  Put your site to work for the team
Click public website box/button to learn more about creating public website. Click software button to setup latest software for your site. This section records the computer name where you download and install the software.  It records the operating system and the installation date. Once installed, you can deactivate the installed software using the deactivate link at a later time. You can setup Lync in this section. You can setup tools and add-ins, for example, SharePoint Designer. Remember you can use these tools from your desktop as well if you have them installed already. You just need to connect to your online site from the desktop tool. More on this topic later! You can setup desktop applications if you have Office 2007 or 2010 installed. If you have Office 2013 installed, you don’t have to do anything. You can setup Office 365 on your mobile devices as well. Remember you can use your mobile’s browser to access your Office 365 site but for a better browsing experience or if you want to access email on your mobile device, or you want to setup OWA for your mobile device, you can set that up in this section.

Figure 11-9: Supported mobile devices

Thursday, April 17, 2014

April 22 webcast now available on-demand: Fast Track project management success with Project Online

CAROUSEL_Project_260x146In today’s project-centric work environment, it’s critical to be able to coordinate multiple projects with distributed teams and make high-level, strategic decisions based on consolidated project progress, risk and resource usage information. Project Online is a cloud-based, enterprise-wide project management platform designed to meet these challenges.

Read More!!

Tuesday, April 15, 2014

Is SharePoint 2013 a product or a platform?

My colleague Apoorv Durga pointed me to an interesting paragraph in a Microsoft SharePoint Team blog post entitled The New SharePoint. To quote:

Use SharePoint as an out-of-box application whenever possible - We designed the new SharePoint UI to be clean, simple and fast and work great out-of-box. We encourage you not to modify it which could add complexity, performance and upgradeability and to focus your energy on working with users and groups to understand how to use SharePoint to improve productivity and collaboration and identifying and promoting best practices in your organization.

Read more>>

Friday, April 11, 2014

SharePoint Saturday Gulf - April 12, 2014 - Don't forget to attend!

Are you attending SharePoint Saturday Gulf #spsgulf tomorrow? If you haven't registered yet, do so now! There will be three tracks, one in Arabic and two in English. Amazing speakers are presenting tomorrow. Different topics will be discussed. If you are a SharePointee, you should not miss this event. Topics range from SharePoint Search to Office 365. You can interact with the presenters and ask questions. The event is totally free. If you are attending "SharePoint Search - An Indispensable Tool", you will get a free copy of ebook called by the same name. Few lucky participants will get a hard copy of new SharePoint book "A Practical Guide to SharePoint 2013". You can attend all events if you want or pick selected topics that you are interested in. I hope you will attend the event. 


Thursday, April 10, 2014

Setting Up Extranet - Part 3

1.       Add following data to the aspnet_Membership table.

That is it! Data has been added. Next, you will create new web application.

Create a new web application that uses forms-based authentication

24.   Login to central administration site.

25.   In Application Management section, click Manage web applications link.

26.   Click New button in the ribbon.
27.   Enter site name, for example, I named it “Development” because I wanted to collaborate with external developers.
28.   Enter 80 in the Port.
29.   Enter URL in the Host Header. For example, my server’s FQDN is walisystems.com  and I wanted the extranet site to have dev.walisystems.com URL therefore I entered dev.walisystems.com in the Host Header.
30.   If you are sure that you are going to setup SSL for this web application, then set Use Secure Sockets Layer (SSL) to Yes otherwise keep it No and you can change it later if needed.
31.   Keep Enable Windows Authentication checked. Integrated Windows Authentication should also be checked. In the drop down, select NTLM. Remember, if you want the site to be used purely for external users then you don’t need to enable Windows authentication. Windows authentication will allow internal users to access the site. If it’s a collaboration site and internal users will collaborate with external users, then Windows authentication should be enabled.
32.   Check Enable Forms Based Authentication (FBA).
33.   In the ASP.NET Membership provider name, enter membership name that you will use in the configuration. It can be anything. For example, membeshipprovider or simply External, etc. I used External.
34.   In the ASP.NET Role manager name, enter role manager name that you will use in the configuration, for example, roleprovider. I used RoleManager.

35.   In the application pool, I used special account that I had created for SharePoint. This is called SharePoint service account. In the test environment, you can use your admin account.

36.   Keep other default options selected and click OK.
Web application has been created. If you want to use SSL with your application, you must setup SSL and configure Alternate Access Mappings as described in the following article:
Next step is configuring web.config files.

Configure web.config

Web.config for the extranet site and STS site has to be configured. Take backup of both config files before you make any changes. If something goes wrong you can revert back to the original file. web.config for the STS application is located in the following folder:
drive:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\WebServices\SecurityToken
Another way of finding correct web.config is to use IIS. If you are not sure which web.config to select, go to Internet Information Server (IIS) Manager, and open the SharePoint web services site.
In the console, right-click SecurityTokenServiceApplication, and then click Explore.
In the folder window, double-click the web.config file.

Figure: SharePoint Web Services Site
web.config for the extranet application is located in the following folder:
“dev.walisystems.com80” is the name of my extranet site. Yours will be different depending on what name  you gave to the application.
There are two ways to edit these files. I will explain both below. One is to use FBA Configuration Manager for SharePoint 2013 that can be downloaded from the following link:
Other way is to edit the files manually. I will explain second option (manually editing) first.
2.       Open STS web.config in the editor of your choice.
3.       Locate </system.net> tag in the file. You need to insert following snippet after this tag. Remember the following snippet will appear between </system.net> and </configuration> tags.

        <add connectionStringName="aspnetdb" applicationName="fba" name="External" type="System.Web.Security.SqlMembershipProvider, System.Web,&#xD;&#xA; Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
        <add connectionStringName="aspnetdb" applicationName="fba" name="RoleManager" type="System.Web.Security.SqlRoleProvider, System.Web,&#xD;&#xA; Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add name="aspnetdb" connectionString="Data Source=sp2013;Initial Catalog=aspnetdb;Integrated Security=SSPI" />

connectionStringName can be anything, whatever you use in the connectionString. Note that we used “aspnetdb” in the <connectionStrings> </connectionStrings>, therefore, we used that name in the <providers> </providers>  tag.
applicationName is the name that you will give to your application when defining data in the database. It can be anything. I preferred “fba”.  You can name it something else.
External is MembershipProvider name that we will use when setting up web application. Similarly, RoleManager is RoleProvider name that we will use when setting up web application.
Here is the screenshot showing inserted snippet:

4.       Now open web application’s web.config file. Locate <membership defaultProvider=”I”><providers> and add following snippet after tag for provider type SPClaimsAuthMembershipProvider .

<add connectionStringName="aspnetdb" applicationName="fba" name="External" type="System.Web.Security.SqlMembershipProvider, System.Web,&#xD;&#xA; Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

Following is the screenshot of inserted snippet:

5.       Now locate <roleManager defaultProvider=. This will be immediately under the snippet you added above. Add following snippet in the <providers> tag.

 <add connectionStringName="aspnetdb" applicationName="fba" name="RoleManager" type="System.Web.Security.SqlRoleProvider, System.Web,&#xD;&#xA; Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

Following is the screenshot of inserted snippet:

6.       Locate </microsoft.identityModel> tag and insert following snippet between </microsoft.identityModel> and </configuration> tags.

    <add name="aspnetdb" connectionString="Data Source=sp2013;Initial Catalog=aspnetdb;Integrated Security=SSPI" />

Following is the screenshot of inserted snippet:

7.       Locate <add key=”AspNetSqlMembershipProvider” value=”%” /> and insert following snippet after this tag:

      <add key="Ext" value="%" />

Inserted snippet looks like the following:


Save both files and reset IIS. This was manual editing of web.config files. Now let me show you how you can perform same tasks using a tool.
8.       Download FBA Configuration Manager for SharePoint 2013 from the following location:
9.       Unzip the package to a location that is easily accessible, for example, C:\software. Package has three files:

Ø  FBAConfigFeature.wsp
Ø  FBAConfigMgr.exe
Ø  HowToUseIt.txt
HowToUseIt.txt contains the installation instructions. Open All Programs > Microsoft SharePoint 2013 Products > SharePoint 2013 Management Shell and run following PowerShell commands:

add-spsolution -LiteralPath "C:\software\FBAConfigFeature.wsp"

install-spsolution -Identity fbaconfigfeature.wsp -GACDeployment

10.   Run FBAConfigMgr.exe.

Figure: FBA Configuration Manager
11.   In Web Application Url, enter the web application URL. Keep Zone value set to Default unless you chose another zone (in AAM configuration) for your web application.

12.   From Sample Configurations dropdown, choose SQL Connection String. This will add a sample connection string in the Connection String box.

13.   Again, choose People Picker Wildcard from the Sample Configurations dropdown. This will add a sample entry in the People Picker Wildcard box.

14.   Next, choose SQL Member from the Sample Configurations dropdown. This will add a sample entry in the Membership Provider box.

15.   Choose SQL Role from the Sample Configurations dropdown. This will add an entry in the Role Provider box.

16.   Now, it’s time to edit the sample entries.

a.       Replace value in Connection String box with the following:
<add name=”aspnetdb” connectionString=”Data Source=sp2013;Initial Catalog=aspnetdb;Integrated Security=SSPI” />
aspnedb is the database name. connectionString points to the database server that hosts the aspnetdb database.
b.      Replace value in People Picker Wildcard with the following:
<add key=”Ext” value=”%” />
Ext is the name of the SQLMembershipProvider.
c.       Replace value in Membership Provider with the following:
<add connectionStringName="aspnetdb" applicationName="fba" name="Ext" type="System.Web.Security.SqlMembershipProvider, System.Web,&#xD;&#xA; Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
d.      Replace value in Role Provider with the following:
<add connectionStringName="aspnetdb" applicationName="fba" name="ExtRole" type="System.Web.Security.SqlRoleProvider, System.Web,&#xD;&#xA; Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
17.   Click Apply Config button to apply these changes to the web.config file. Please take back up of your web.config file before applying these changes. These changes will be applied to the appropriate web.config files on each server in the farm. If you ever need to make any changes to this configuration, you can use the Get FBA Config button to retrieve the settings from the web.config file. Make changes and click the Apply Config button to apply the changes back to the web.config files.

18.   Now, open the SharePoint site in the browser to test everything we have configured.
You will see Sign In page with a dropdown box that lets you choose an authentication method.

Figure: Sign In screen
19.   Choose Forms Authentication. It will take you to the login screen. Enter user name and password for one of the users you created above in the external database and click Sign In button.

Figure: Login screen
20.   This is how the extranet site looks with FBA configured.

Figure: Extranet site