All posts by fabiocarvalho

SharePoint Scenarios – Online, On-Premises or Hybrid!?

Hey Everyone!!!

Today i’m going to talk about SharePoint Scenarios and what are the main difference between this three types of scenarios and what scenario should be the option for your environment…

So, the three types of architecture scenario that you can have on your SharePoint environment are the following:

What should you choose?! Well in fact there are so many question that you need answered before take an decision!?


It isn’t easy take a decision, let’s analyse what are the main benefits each architecture:

SharePoint On-Premises:

  • Private Cloud
  • Dedicated environment
  • Internally hosted
  • Internally managed
  • Internal designed
Control PerformanceCost of internal resources (staff, hardware, software, etc)
Scale Up and Scale OutAdditional Geographic redundancy costs
Reduces Bandwidth requirementsDisaster Recovery dependent on internal capabilities
Full CustomizationScale Up/Out Cost( SW/HW)
Full Server and SQL DatabasePatching Servers/farms
Migrate as NeededExtra configurations for External Collaboration
Seamless Single Sign on with Corporate Active Directory
  • Migration Flow:

SharePoint Online:

  • Public Cloud
  • Partially or fully dedicated
  • Externally hosted
  • Externally or Internally managed
  • Internally managed
  • Minimal customization

Cloud benefits according to cloud users?

  • Increase efficiency (55 %)
  • Improved employee mobility (49 %)
  • Increased ability to Innovate (32 %)
  • Freed current IT staff for other projects (31 %)
  • Reduce IT operation costs (25 %)
  • Enabled us to offer new products/ services (24 %)
Uptime 99.99%More ISP Bandwidth
Multiple Data centersLimited Customizations
Shorted release cycleRecovery SLAs
Geographically redundant and ScalabilityNo Server access
Managed Services ( SaaS)
Pay as you go ( Low Cost )
Reduced impact on internal IT resources
  • Migration Flow:

SharePoint Hybrid Solution:

What is Hybrid SharePoint?

“Productivity services in SharePoint Online (Office 365) which are securely integrated with on-premises SharePoint Server 2016 to provide unified functionality and access to data.”

Why considering a Hybrid SharePoint Solution?

  • Large existing investments (customized SP deployments w/lots of data and settings,custom solutions, LOB systems, etc…)
  • Functionalities I can’t do in the Cloud that i can do on premises;
  • Keep Sensitive Data on Premise
  • Collaboration with External Partners
  • Capacity Flexibility
  • Intranet – Extranet
  • Geo Location

Same Benefits of Hybrid SharePoint Solution?

SharePoint Business to Business Collaboration: Extranet for Partners with Office 365

“on-premises extranet site involves complex configuration to establish security measures and governance, including granting access inside the corporate firewall, and expensive initial and on-going cost….SharePoint Online, partners connect directly to a members-only site in Office 365, without access to the corporate on-premises environment or any other Office 365 site. Office 365 Extranet sites can be accessed anywhere…”

SharePoint hybrid sites and search

“A hybrid environment can help your company get started in the cloud, taking a first step to explore the cloud functionality at own your pace. It also enables enterprise users to be connected from almost anywhere to the resources and content they need… SharePoint hybrid features, you can consolidate search results between SharePoint Server and Office 365, consolidate user profiles in Office 365, and offload your users’ personal storage to the cloud…”

  • Migration/Interactions Flow:


Fábio Carvalho
SharePoint Consultant


SharePoint Templates – Understand the differences

Hey Everyone!

Today i will talk about SharePoint Site Templates, and explain the main difference between each template and how it is extremely important to have in mind what each version can offer you in terms of features and capabilities to meets your business needs.

So the first thing you must know is there are 3 main categories of templates:

  • Collaboration
  • Enterprise
  • Publishing

For each category you have different site types, when you create a new site the “site type” define the purpose of the new one and includes all the features.

Collaboration site templates:
  • Team Site – This template can be  used when you what organize and share information with your team or project members, this template includes lists and libraries for: Share Documents, Announcements, Calendars, Links, Tasks, Discussion Board.

  • Blog Site – This template can be  used when you what announce company announcements, post ideas, observations, expertise with your team organization. It is easy  start a new blog, including Comments and Links.

  • Project Site – With this site template it is so much easy to manage your projects, it is an upgrade of Team Site but this one have more functionalities including Projects Summary, Task Lists. Calendar Sharing, Task Scheduler, Visual Timeline of the Project’s Tasks.

  • Community Site – It is more than a Blog Site, this template you can create a place where you can discuss topics that you have in common with others team members, it is more easy and you have more benefits over email, with a full retention of discussion history in compliance with corporate guidelines.
Enterprise site templates:
  • Document Center Site – This template is indicated when you want manage large numbers of documents, it is more easy create folder structures and use file versions also you can use workflows to control document life cycles.

  • Records Center Site – This template is indicated when you what organize, store and manage records such as legal or financial documents, the site includes versioning, auditing, metadata management, eDiscovery feature to help manage records more effectively.

  • Business Intelligence (BI) Center Site – This is one of my favorite site template, you can store, manage, share and view business reports, scorecards and dashboards. This template includes Performance Point Service, a service very important to build dashboards inside of SharePoint.

  • Search Center (Enterprise or Basic) Site – A template dedicated to search features where you can search and apply refiners to your search results.

Publishing site templates:
  • Publishing Site – The template indicated when you want create enterprise intranets, communication portals and public websites. This template by default have publishing features enable including Page Layouts, Column Types, Web Parts, Lists and very important Documents and image libraries for storing web publishing assets.

  • Publishing Site with Workflow – Use the Publishing site with workflow to publish web pages on a schedule by using approval workflows. It includes document and image libraries for storing web publishing assets.

  • Enterprise Wiki – It is a publishing site for sharing and updating large volumes of information across an enterprise,  your organization can centralized knowledge repository.

The follow table show all Templates available for each SharePoint version.

Site Type
Template ID
Site Collection
SharePoint Server 2013
SharePoint Foundation 2013
SharePoint Server 2016
SharePoint Online
EnterpriseDocument CenterBDR#0YesYesYesNoYesYes
EnterpriseRecords CenterOFFILE#1YesYesYesNoYesYes
EnterpriseBusiness Intelligence CenterBICenterSite#0YesYesYesNoYesYes
EnterpriseEnterprise Search CenterSRCHCEN#0YesYesYesNoYesYes
EnterpriseBasic Search CenterSRCHCENTERLITE#0NoYesYesNoYesYes
PublishingPublishing SiteBLANKINTERNET#0NoYesYesNoYesYes
PublishingPublishing Site with WorkflowBLANKINTERNET#2NoYesYesNoYesYes
PublishingEnterprise  WikiENTERWIKI#0NoYesYesNoNoYes


Also you have different types of site template variation, the following table show ALL the Template ID available, and you can you use powershell command to create them.

New-SPWeb http://createIT/blog -Template "BLOG#0"
Template ID
GLOBAL#0Global template
STS#0Team Site
STS#1Blank Site
STS#2Document Workspace
MPS#0Basic Meeting Workspace
MPS#1Blank Meeting Workspace
MPS#2Decision Meeting Workspace
MPS#3Social Meeting Workspace
MPS#4Multipage Meeting Workspace
CENTRALADMIN#0Central Admin Site
WIKI#0Wiki Site
SGS#0Group Work Site
TENANTADMIN#0Tenant Admin Site
APP#0App Template
APPCATALOG#0App Catalog Site
ACCSRV#0Access Services Site
ACCSRV#1Assets Web Database
ACCSRV#3Charitable Contributions Web Database
ACCSRV#4Contacts Web Database
ACCSRV#5Projects Web Database
ACCSRV#6Issues Web Database
ACCSVC#0Access Services Site Internal
ACCSVC#1Access Services Site
BDR#0Document Center
DEV#0Developer Site
EDISC#0eDiscovery Center
EDISC#1eDiscovery Case
OFFILE#0(obsolete) Records Center
OFFILE#1Records Center
OSRV#0Shared Services Administration Site
BICenterSite#0Business Intelligence Center
SPS#0SharePoint Portal Server Site
SPSPERS#0SharePoint Portal Server Personal Space
SPSPERS#2Storage And Social SharePoint Portal Server Personal Space
SPSPERS#3Storage Only SharePoint Portal Server Personal Space
SPSPERS#4Social Only SharePoint Portal Server Personal Space
SPSPERS#5Empty SharePoint Portal Server Personal Space
SPSMSITE#0Personalization Site
SPSTOC#0Contents area Template
SPSTOPIC#0Topic area template
SPSNEWS#0News Site
CMSPUBLISHING#0Publishing Site
BLANKINTERNET#0Publishing Site
BLANKINTERNET#1Press Releases Site
BLANKINTERNET#2Publishing Site with Workflow
SPSSITES#0Site Directory
SPSCOMMU#0Community area template
SPSPORTAL#0Collaboration Portal
SRCHCEN#0Enterprise Search Center
ENTERWIKI#0Enterprise Wiki
COMMUNITY#0Community Site
SRCHCENTERLITE#0Basic Search Center
SRCHCENTERLITE#1Basic Search Center
VISPRUS#0Visio Process Repository


Using templates to create different kinds of SharePoint sites
SharePoint templates and their IDs


Fábio Carvalho
SharePoint Consultant

SharePoint 2016 – TCP/IP Ports

Hey Everyone!!!

Today i will show you the full list of TCP/IP Ports that you must consideration on your SharePoint 2016 Farm.

Full list of ports used by SharePoint 2016:

TCP80httpClient to SharePoint web server traffic
(SharePoint – Office Online Server/Office Web Apps communication)
TCP443https/sslEncrypted client to SharePoint web server traffic
(Encrypted SharePoint – Office Online Server/Office Web Apps communication)
TCP1433SQL Server default communication port.May be configured to use custom port for increased security
UDP1434SQL Server default port used to establish connectionMay be configured to use custom port for increased security
TCP445SQL Server using named pipesWhen SQL Server is configured to listen for incoming client connections by using named pipes over a NetBIOS session, SQL Server communicates over TCP port 445
TCP25SMTP for e-mail integrationCannot in 2016 be configured (Use SMTP ports other than the default (25).)
TCP16500-16519Ports used by the search index componentIntra-farm only
Inbound rule Added to Windows firewall by SharePoint. (GPO may override this change)
TCP22233-22236Ports required for the AppFabric Caching ServiceUsed by the Distributed Cache…
TCP808Search – Query processing component
Windows Communication Foundation communication
Search – Query processing component
TCP32843Communication between Web servers and service applicationshttp (default) To use custom port, see references section
Inbound rule Added to Windows firewall by SharePoint
TCP32844Communication between Web servers and service applicationshttps
Inbound rule Added to Windows firewall by SharePoint
TCP32845net.tcp binding: TCP 32845 (only if a third party has implemented this option for a service application) Custom Service Applications
Inbound rule Added to Windows firewall by SharePoint
TCP32846Microsoft SharePoint Foundation User Code Service (for sandbox solutions) Inbound on all Web Servers
Inbound rule Added to Windows firewall by SharePoint
Outbound on all Web and App servers with service enabled.
TCP636User Profile Synchronization Service/Active Directory ImportSynchronizing profiles between SharePoint 2016 and AD using SLDAP (Secure LDAP)
TCP5725User Profile Synchronization ServiceSynchronizing profiles between SharePoint 2016 and Active Directory Domain Services (AD DS)
TCP + UDP389User Profile Synchronization ServiceLDAP Service
TCP + UDP88User Profile Synchronization ServiceKerberos
TCP + UDP53User Profile Synchronization ServiceDNS
UDP464User Profile ServiceKerberos change password
TCP809Office Online Server/Office Web AppsOffice Online Server/Office Web Apps intra-farm communication.


Reference Links:

Security for SharePoint Server 2016
TCP/IP Communications (Windows Server AppFabric Caching)


Fábio Carvalho
SharePoint Consultant

SharePoint – CSOM (Client Side Object Model) versions

Hey Everyone!

Today, i will talk about CSOM versions, it is extremely important you have in mind that there are different version of CSOM according your target environment.

The following figure shows the available CSOM versions:

You can use download the SDK, Client Components on the following links:

Also for SharePoint Online Version you can use Nuget package:


Fábio Carvalho
SharePoint Consultant

SharePoint 2016 – Essential Migration Steps and Considerations

Hey Everyone!

Today i will talk about SharePoint Migrations, a complex process that requires an extra efforts depending the version of SharePoint.

Why should I upgrade or migrate to SharePoint 2016?!

1.SharePoint Farm of company is old! If it’s SP2003, SP2007 or SP2010, Microsoft do not give more support and updates for that versions, so you can’t expect more features our updates for your infrastructure.

SharePoint Product Lifecycle

Products Released End Date of Support
 SharePoint Portal Server 2001 11/07/2006
 SharePoint Portal Server 2003 14/04/2009
 SharePoint Server 2007 09/10/2012
 SharePoint Server 201013/10/2015
 SharePoint Server 201304/10/2018


2.SharePoint 2016, it’s more stable and fast than the other version even is a version more close to the cloud, all the innovation and experience hosting SharePoint Online brought that knowledge and innovation to SharePoint 2016, also that, new version use MinRoles a significant improvement in terms of infrastructure.

3.FIM is no more a component of SharePoint, it was replaced by Microsoft Identity Manager (MIM).

4.Data Loss Prevention is now part of SharePoint.  You can now identify, monitor for, and protect sensitive data across SharePoint 2016, SharePoint Online, and One Drive for Business using SharePoint 2016.

5.Hybrid Solutions between SharePoint 2016 and Office 365,  now you can easily integrate with Office 365 using SharePoint 2016. Taking the advantage of Cloud Hybrid Search, Delve, Hybrid Sites, Groups, Profile Redirection and more running SharePoint in hybrid mode.

6.Durable Links,move files wherever you like and your link remains valid. It may seem like a small thing but to end users this is a big deal.

7.Cloud Hybrid Search in the cloud you can display all of your results from O365 and on-prem will be listed happily together, by relevancy, and it’s all encrypted by the crawler.

There are many other new features offered by SharePoint 2016 you can read more about in this link.

Which approach should I take, to upgrade or migrate?!

 Version Upgrade Approach Migration Approach
SharePoint 2001 Upgrade through each version of SharePoint.
Requires new SharePoint
Farms for each Upgrade, until the latest version is met.
 Manually copy or use a 3rd Party tool to migrate the core document and asset content into a new structure defined within a new SharePoint 2016 Farm.
SharePoint 2003Upgrade through each version of SharePoint.
Requires new SharePoint Farms for each Upgrade, until the latest version is met.
 Manually copy or use a 3rd Party tool to migrate the core document and asset content into a new structure defined within a new SharePoint 2016.
SharePoint 2007 Upgrade through each version of SharePoint.
Requires new SharePoint Farms for each Upgrade, until the latest version is met.Utilize Database Attach method.
 Manually copy or use a 3rd Party tool to migrate content into a new structure defined within a new SharePoint 2016 Farm.
SharePoint 2010 Upgrade through each version of SharePoint.
Requires new SharePoint Farms for each Upgrade, until the latest version is met.
Utilize Database Attach method.
 Manually copy or use a 3rd Party tool to migrate content into a new structure defined within a new SharePoint 2016 Farm.
SharePoint 2013Upgrade through each version of SharePoint.
Requires new SharePoint Farms for each Upgrade, until the latest version is met.
 Manually copy or use a 3rd Party tool to migrate the core document and asset content into a new structure defined within a new SharePoint 2016 Farm.


What questions should I ask before upgrading or migrating?

It’s important understand what is the main processes and data that you what migrate for your new version of SharePoint, this will be essential to define the process and success of the operation. Ask questions about the current solution and success criteria you can define the scope of the migration or upgrade, this type of process not is fast but is really importance is be precision.

Are you now ready to migrate or upgrade?

The  success of  migration or upgrade is planning, then some more planning, and organizational buy in. Moving to SharePoint 2016 will deliver better security, collaboration, content management, mobility, compliance and cloud connectivity features. But the migration or upgrade warrants a much more care and attention to detail in planning, you need to lay out every step needed to get there and  engage all the stakeholders in your organization in all aspects of the selected process.

New and improved features in SharePoint Server 2016
Create the SharePoint Server 2016 farm for a database attach upgrade



Fábio Carvalho
SharePoint Consultant

Create SharePoint 2016 install package with AutoSPSourceBuilder

Hey Everyone!

Today i will speak about AutoSPSourceBuilder, a great powershell script to create a packages to install SharePoint 2016, 2013 and 2010. The packages created by AutoSPBuilder,  you can use AutoSPInstaller, a greats powershell script to automize the instalation of SharePoint also available for SharePoint version 2016, 2013  and 2010.

I deeply recommend create with this script because the package will include the most recent updates of SharePoint!

Follow the steps below:

  1.  Download SharePoint 2016, you can use the following link:

2. Download AutoSPSourceBuilder, you can download on github –

3. Mount the .iso image of SharePoint 2016.

4. Run the script – AutoSPSourceBuilder.ps1 with Powershell as admin.

.\AutoSPSourceBuilder.ps1 -GetPrerequisites $true

5. The script will start and the firstly  check if exists SharePoint image,  if exists it will create a struct of folders in disk drive c.

6. You need select what is the last update that you what include on your installation package, as SharePoint 2016 updates are cumulative you just need to select the last one.

7. The script continue… and install the prerequisites.

8. Select the language pack that you want include on your installation.

9. Finally the script will finish the package.

10. At the end you have a structure of folders and files that make up your SharePoint package to run in AutoSPInstaller.


Fábio Carvalho
SharePoint Consultant


SharePoint Online, 2013 and 2016 – Display list data in grid using Rest API

Hey Everyone!

Today, in this post i will show you how can we display list data in a grid using Rest API in SharePoint Online, 2013 and 2016.
In this example, i will create a table – Cars – with 4 columns:

– Make
– Model
– Price
– Color

<script src=""></script>
        var requestUri = _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('Cars')/items";
              url: requestUri,
              type: "GET",
              headers: {
                  "accept":"application/json; odata=verbose"
              success: onSuccess,
              error: onError

  function onSuccess(data) {
     var objItems = data.d.results;
     var tableContent = '<table id="tableCars" style="width:100%" border="1 px"><thead><tr><td>Make</td>' + '<td>Model</td>' + '<td>Price</td>' + '<td>Color</td>' + '</tr></thead><tbody>';
     for (var i = 0; i < objItems.length; i++) {
         tableContent += '<tr>';
         tableContent += '<td>' + objItems[i].Make  + '</td>';
         tableContent += '<td>' + objItems[i].Model + '</td>';
         tableContent += '<td>' + objItems[i].Price + '</td>';
         tableContent += '<td>' + objItems[i].Color + '</td>';
         tableContent += '</tr>';
    function onError(error) {

<input type="button" id="btnClick" value="Get All Cars"/>
<div id="CustomerPanel">
   <table id='tableCars' style="width: 100%;" border="1 px">
          <div id="carsGrid" style="width: 100%"></div>

You just need to copy the code and past in a script editor webpart, if you press the button  – Get All Cars –  the result it’s a the following table:


If you are interested to read more, i recommend the following links:


Fábio Carvalho
SharePoint Consultant