Posts Tagged SharePoint

Changes in SharePoint 2016

SharePoint 2016 is due later this year. It includes several changes based on the available preview version. Here are some of the prominent changes: (Note: they could change by the time the final version becomes available)

  1. 5,000 List View Threshold limit

    Technically, SharePoint 2013 allows 30 million items per list. But, OOB, as far as end-users are concerned it enforces 5,000 item limit since querying a large number of items from SQL Server content database is a very resource intensive operation. In SharePoint 2016, end-users won’t have to worry about 5,000 view threshold limit anymore. Technically, the limit is still there but SharePoint 2016 automatically creates indexed columns to overcome the limit.

  2. Upload File Size

    In older versions the max possible upload file size is 2GB. In SharePoint 2016 although there’s no real limit as such but Microsoft recommends 10GB as the max. file size. Anything larger than that can potentially result in time-out.

  3. Faster site collection creation

    In older version it took fairly long time to create a site collection. Depending on your hardware configuration it takes 30+ seconds to create a new site collection. In SharePoint 2016 now it’s possible to create a new site collection in a second. It requires some configuration with PowerShell to make this work.

  4. Improved Compliance Center

    Holds and retention policies have been available in older version. In SharePoint 2016, retention policies can be applied to files stored in OneDrive for Business as well.

  5. Mobile Device Support

    Although SharePoint 2013 also works on mobile devices, but SharePoint 2016 has even better support. It has better responsive web design and which makes it more touch friendly and distinguishes between a small screen device, e.g. a cell phone, and  a larder mobile device, e.g. a tablet.

  6. Zero Downtime Patching

    Admins should be pleased with this feature. SharePoint 2016 allows patching without requiring downtime. Also, the size and number of packages have been reduced which means patching should be performed much faster.

  7. MinRole

    This feature allows selecting a role for SharePoint server at the time installation. Selecting a role optimizes the SharePoint for that role. SharePoint 2016 also lets us check running services and if they are compliant with the MinRole. You can read more on MinRole in my blog post:

  8. Same Codebase

    In the past Office 365 / SharePoint Online and on-premises SharePoint 2013 had separate codebase. SharePoint 2016 uses the same codebase for cloud and on-premises. It results in a more streamlined UI and development experience.

  9. Hybrid Cloud Search

    SharePoint 2016 search can index the content in the cloud as well which results in a more unified search experience. In order to make this work, Office 365 is necessary.

No Comments

Changes in SharePoint 2016 installation and deployment

SharePoint 2016 is around the corner. There are some installation and deployment changes. You can read up on the details here:

, , ,

No Comments

SharePoint Development– Object Model

For SharePoint development we rely on a bunch of classes. These classes are collectively known as Object Model. By using these classes we can perform various activities e.g. create site collections / sub-sites, libraries, lists, upload documents, add list items, delete items, create taxonomy / metadata / content types etc.


Object model is of two main types:

  1. Server Object Model
  2. Client Object Model

Server Object Model

Server Object Model means we get to create program in C# / VB.NET and the code is deployed to SharePoint server as a wsp package.  In short the code runs on the same server where SharePoint is deployed. We can also use PowerShell for utilizing server object model.

Here’s the server object model hierarchy:

* SPFarm (enumerate services, solutions, CurrentUserIsAdministrator)
    * SPService (represents a service. e.g. Excel Service, InfoPath Form service etc.)
        * SPWebApplication (represents the IIS web application)
            * SPSite (represents site collection)
                * SPWeb (represents site / sub-site)
                   * SPList (represents list / library)
                        * SPListItem (represents list item or document)

Here are some more useful classes:

SPField[type] (represents field / column in a list or library. e.g. Link, Choice, …)
SPContentType (represents content type)
SPUser (represents SharePoint user)
SPSecurity (security,  elevated permissions, exception handling)
SPQuery (used for running CAML queries for querying lists and libraries)
SPContext (easier way to retrieve current site)
SPGroup (represents SharePoint security group)
UserProfileManager (useful for manipulating user profiles and mysite)
Taxonomy (Term Store. Hierarchical metadata)
    * TaxononmySession
    * TermStore
    * Group
    * TermSet
    * Term

Client Object Model

Client Object Model allows us to write code in  C# / VB.NET / JQuery etc. The code can reside on any machine and we can still access SharePoint located on a remote server.  Here are some useful client object model classes:

ClientContext (specify the SharePoint site we want to connect to. Pass credentials to the site)
Web (represents an existing site / sub-site)
WebCreationInformation (used for creating a new site /sub-site)
NavigationNodeCreationInformation (used for configuration navigation / top link bar)
List (represents an existing list or library)
ListCreationInformation (used for creating a new list or library)
ListItemCreationInformation (used for creating a new list item)
ListItem (represents an existing list item)
FileCreationInformation (used for creating a new document in a library)

, ,

1 Comment