Quantcast
Channel: nikpatel.net
Viewing all 86 articles
Browse latest View live

How to Disable OneDrive for Business in Office 365

$
0
0

Note: This article is true as of Summer 2015. Since OneDrive for Business is ever changing service, many of the features discussed may differ in your Office 365 tenant. Based on my knowledge, there are no foreseeable backend architectural changes for OneDrive for Business which would keep this article valid for foreseeable future.

“Is there anyway to disable OneDrive for Business in Office 365?” – That was interesting question came from one of my colleagues over the last week. Office 365 being ever changing service and even though OneDrive for Business is becoming standalone product, my first response was – Yes, based on what I knew being SharePoint professional.

To disable OneDrive for Business in Office 365, there are two distinct steps you need to configure as a Office 365 and SharePoint Online administrator.

Step 1 – Hide OneDrive for Business from Apps Launcher

You can hide OneDrive for Business App from the Apps Launcher by changing the app visibility setting from the SharePoint online administration site. Please keep in mind that – if users know the OneDrive for Business Site URL (ie. https://tenantname-my.sharepoint.com/_layouts/15/MySite.aspx?MySiteRedirect=AllDocuments), they can still access their OneDrive for Business site.

Here is the Apps Launcher from my tenant prior to hiding OneDrive for Business App

0-OD4B in App Launcher

Here is the screenshot of SharePoint Online administration center from where you can change the OneDrive for Business app visibility.

1-Hide OD4B

Here is the Apps Launcher from my tenant after hiding OneDrive for Business App. Please note it also hides Office Online apps which would hide the ability to create new Office web app files. You can still upload and edit these files in SharePoint online but ability to create them would be hidden.

2-OD4B hidden in App Launcher

Step 2 – Disable OneDrive for Business in the Office 365 tenant

As of June 2015, OneDrive for Business in Office 365 is still using SharePoint Online as backend and SharePoint Online MySites infrastructure for documents library. If you are seasoned SharePoint professional, you may recall of option to disable MySites was to remove the Personal Sites creation permissions for the users from the SharePoint Online administration site. We can take same approach to disable OneDrive for Business sites creation option.

From the User Profiles tab, you can alter or remove personal sites creation permissions for specific users or group of users. This would disable future personal sites (aka. OneDrive for Business) creation ability of those users.

3-Mysites Permission

4-Current Permission

In this specific example, I have removed personal sites creation permissions for everyone, which would disable the ability to provision future OneDrive for Business sites for the users.

5-Remove Permission

Verification Steps

One of the key things to keep in mind is disabling OneDrive for Business creation ability doesn’t mean it would cleanup or delete existing OneDrive for Business sites. If OneDrive for Business sites are already provisioned for the users, they would still able to access using https://tenantname-my.sharepoint.com/_layouts/15/MySite.aspx?MySiteRedirect=AllDocuments URL. In most cases, this shouldn’t be an issue but something to keep in mind.

6-Updated User-OD4B

If OneDrive for Business is disabled prior to user provisioned their OneDrive for Business sites, accessing https://tenantname-my.sharepoint.com/_layouts/15/MySite.aspx?MySiteRedirect=AllDocuments URL would return Delve user profile page and their OneDrive for Business sites would never provision. This would ensure OneDrive Sync client wouldn’t pick up any OneDrive for Business sites to sync locally.

7-New User-Delve

Parting Thoughts

OneDrive for Business is soon becoming consumer interface for files in the Office 365. Microsoft aiming for making OneDrive for Business UI as a centralized hub for files access whether it’s personal files, SharePoint online files, or new Office 365 groups files pertains to you. It’s important to understand the implication of disabling OneDrive for Business in Office 365 and how it would impact future features availability to end users.


Filed under: Office 365

What’s New in SharePoint 2016 On-Premises Server (IT Preview version)

$
0
0

Microsoft has recently announced public preview of SharePoint 2016 on-premises server product. There are many enhancements and critical cloud ready features added into new release making it very compelling investment for organizations continue interested in hosting by themselves.

Here is the complied list of key features and list of annoucements released for new SharePoint 2016 server product for reference.

Key Information

  • Timeline – Preview released August 2015, RC will be released in Q1 2016, GA and RTM availability in Q2 2016
  • First ever cloud-down codebase based on SharePoint Online, backported capabilities for on-premises differentiators (e.g. PerformancePoint)
  • Hardware Requirements – Not changed at all – 64 bit OS, 12-16GB RAM, 1xQuad Core CPU, 80GB OS Drive
  • Software Requirements – Windows Server 2012 R2 with .Net Framework 4.5.2 or Windows Server 10 with .Net Framework 4.6, SQL Server 2014 SP1 and later
  • Continue support for embedded version of Windows Server AppFabric 1.1 for distributed cache and social features despite it’s still supported for Windows OS anymore, windows team is still committed to support embed version in SharePoint through product lifecycle even though it’s not supported in GA Windows servers.
  • No plans to deprecate any features from SharePoint 2013 for vNext including InfoPath Form Services, SharePoint Social, Full Trust Farm Solutions, and Sandbox Solutions

New/Enhanced Features

  • Upgrade Scenario – Upgrade only from SharePoint 2013 to SharePoint 2016 using database-attach upgrade method, not supported direct upgrade from SharePoint 2010 or earlier
  • Auth Protocol Support – SAML as first class citizen as Authentication protocol, both NTLM and Kerbros Windows Identity will continue be supported
  • SMTP Encryption Support – SMTP can use non-default ports and supports sending emails to SMTP servers using STARTTLS connection encryption
  • New MinRole topology – designed based on SPO learning and SP2013 streamlined topology, option to choose during installation wizard to optimize user services, robot services, and caching services – Front-End, Application, Distributed Cache, Search, and Specialized Load, support for specialized load for existing SharePoint installation patterns, support for SharePoint health analyzer to enforce min-role topology – scans all role except special load, new cmdlets would be released to support automation of these services configurations, MinRole will change search topology, core limitation of SpecialLoad is that it is excluded from compliance and reporting capabilities
  • Simplified Patch Management – Zero-downtime patching, not sure what this really means yet except it will have smaller update footprint with reduced number of MSI and MSP, I personally think it will be still require downtime but reduced to minimal with smaller patches
  • Improved Boundaries – Content DBs can be in TB’s (no specific figure released), List Thresold >5000 (no specific figure released), Max FileSize is increased from 2 GB to 10 GB (Document BLOBs still be stored in the content database and leverage Shredded Storage feature introduced in SharePoint 2013), and 2x increase in Search Scale with 500 million items
  • Improved files upload/download performance – BITS protocol support to upstream and downstream document response replacing existing FSS over HTTP and Cobalt to reduce IO between servers and bandwidth to the end user, BITS will optimize upload and download chunking, uploads will use BITS instead of Cobalt, byte-range HTTP GETs for download, and BITS specific block-based upload protocol for uploading files
  • User Profile Sync Service Update – Support for only unidirectional AD Sync for read-only, removed built-in FIM based User Profile Sync service, still supports external FIM service including Microsoft Identity Manager to support both read-write scenarios
    DocID based Durable Links, it remains same even with document move
  • New Cloud Search Service Application – Support for crawling both SharePoint 2013 and SharePoint 2010 on-premises environment and pushing it out to the Office 365 as cloud index to surface on-premises data in SharePoint online Search and Delve.
  • Durable Links – Files shared via durable links will reference a site ID and document ID to avoid broken links if files are renamed or moved, requires a WOPI binding to Office Web Apps 2013 or probably Office Online Server

Removed/Deprecated Features

  • There will be no SharePoint Foundation 2016
  • There will be no SharePoint Designer 2016, SPD 2013 along with InfoPath Designer 2013 will work with SharePoint 2016
  • InfoPath Form Services 2010 without any features added to SharePoint 2016 server product, InfoPath 2013 will continue to be supported (End of life is April 2023)
  • SharePoint Server 2016 no longer support the standalone install option which installs SQL Express, SQL must be installed and running prior to installation even for single server farm scenario
  • As mentioned above, SharePoint Server 2016 no longer uses FIM as the synchronization client for profile synchronization
  • There will be no Excel Calculation services in SharePoint server product, Excel Services functionality is now part of Excel Online in Office Online Server Preview
  • The Tags and Notes feature is deprecated in SharePoint Server 2016 and SharePoint Online. Users can no longer create new tags and notes or access existing ones. However, an administrator can archive all existing tags and notes by using the Export-SPTagsAndNotesData cmdlet.

References

Enjoy!!!


Filed under: SharePoint 2016

Nik’s SharePoint Fest 2015 Chicago Session Deck on High Trust Provider Hosted Add-in is Available

$
0
0

Thanks everyone who was able to make my session at the SharePoint Fest Chicago 2015. It was a great to see familiar faces and friends in a jam packed session. Historically SharePoint fest has seen lots of IT decision makers, business analysts rather than IT Pros or developers. It was a great to see so many developers and IT Pros in Level 300 technical session like mine this year.

I had a great fun walking attendees on detailed real-world high-trust provider hosted add-ins infrastructure configuration. Information I had presented has been scattered around on web or MSDN or on Office365 PnP but I am yet to see full detailed end-to-end guidance on add-ins configuration even though add-ins model has been released since July 2012. One of the main reasons why SharePoint provider hosted add-ins isn’t popular because it takes lots of skills to stand up add-ins development environment. Hopefully advanced sessions like mine would bridge that gap which we as IT Pros face every day in the real world.

Session Abstract – Configuring SharePoint Add-Ins Infrastructure for both development and publishing environment is never been a trivial task. In addition to core SharePoint expertise, it requires knowledge ranging from DNS and Network routing, IIS routing, and certificates. This session will provide prescriptive guidance and step by step guide on how to architect and configure provider hosted add-in infrastructure for SharePoint 2013 on-premises. This session is for both beginners and advanced level developers and architects.

As promised, here is my session deck available through Slide Share. Feel free to download and reach out to me if you have any questions.

 

Have a great time!!


Filed under: SharePoint 2013, SharePoint 2016, SP2013 Admin, SP2013 DEV, Speaking

Master List of SharePoint On-Premises and SharePoint Online Custom Development Best Practices

$
0
0

Few years ago, I have posted master list of SharePoint 2010 custom development best practices which was focused on the full trust and sandbox SharePoint customization models. To date, it’s been one of the most popular articles on this site.

Over the last year, as I have been leading few SharePoint intranet implementations, I have compiled list of best practices for modern SharePoint development which would be applicable to SharePoint 2013 on-premises, SharePoint 2016 on-premises, and SharePoint Online. This article lists various best practices I have applied and can be enforced in the team based SharePoint custom development.

  1. Customize for Cloud in Mind – Plan to write customization for future upgrade to SharePoint Online even though you have invested in SharePoint On-premises as of now. Be cloud-ready even though you are on on-premises.
  2. Avoid Full Trust Model – Avoid Full trust code model (aka features and solutions framework). No code should be deployed to the SharePoint servers. Avoid IISReset and deployment downtime. Plan to use add-ins model remote provisioning approach rather than features and solutions framework.
  3. Avoid Sandbox Model – Avoid both declarative and code based sandbox solutions model even though declarative model is supported by Microsoft as of now. You never know when Microsoft shuts down Sandbox code service in the Office 365. Plan to use add-ins model remote provisioning approach rather than features and solutions framework.
  4. Use Office 365 Patterns and Practices – You must have heard about this unless you live under the rock. Plan to use Office 365 PnP Github project for source code and Nuget packages to reference from your projects to use Office 365 patterns and practices framework which contains open source patterns to replace existing full trust model functionalities. It is important to note that even though PnP is focused on Office 365, it can be tweaked to use for SharePoint On-Premises. This is must have in SharePoint developer’s armory.
  5. SharePoint Artifacts Provisioning Approach – Provider hosted add-ins vs Console Applications vs PowerShell – Plan to use provider hosted add-ins or console applications remote provisioning approach to deploy common SharePoint artifacts like custom columns, content types, list instances, web parts, master pages, or page layouts which we used to deploy using Full Trust or Sandbox feature schema model. This is code based approach to deploy SharePoint artifacts from remote server using CSOM APIs. As far as either using Provider hosted add-ins model vs console applications, my personal preference would be console applications to deploy artifacts which would lessen the overhead of Provider hosted add-in infrastructure. Additionally, Office 365 PnP team has additional approaches like PowerShell to deploy artifacts remotely.
  6. Site Provisioning Approach – Plan to avoid any provisioning approaches introduced during SharePoint 2010 and earlier including Save as Site Template, Site Definitions, Web Templates, or full trust code based models. Best way to approach site provisioning is using remote provisioning code based model (provider hosted add-in or console applications) which would allow you select any OOB or predefined site templates for base site creation and apply additional features or provision artifacts as necessary to flush out fully functional sites.
  7. SharePoint Hosted vs Provider Hosted Add-ins Model – My main criteria here is whether you will require server side code or not. If you won’t and can get away with HTML, JS, CSS, REST/JSOM client side approach, plan to use SharePoint hosted model. There are many patterns introduced in Office 365 PnP for remote provisioning will require provider hosted add-in model.
  8. Provider Hosted Add-in Model vs ASP.NET standalone applications for SharePoint On-premises – For the full blown custom applications like timesheet or dashboard, it would make sense to avoid SharePoint as container for application entry point. Depending on your need, it may make sense to have standalone ASP.NET application if you can get away with complex certificate based High trust infrastructure to have SharePoint access token to access SharePoint APIs. Otherwise, plan to use Provider hosted Add-in model approach for the standalone applications to use the benefits of SharePoint security model and high trust authorization tokens. My personal preference here to use Provider Hosted Model to make security configuration easier.
  9. Provider Hosted Add-in Model vs Office 365 Apps/ASP.NET standalone applications for SharePoint Online – For the full blown custom applications like timesheet or dashboard, it would make sense to avoid SharePoint as container for application entry point. Depending on your need, it may make sense to have standalone ASP.NET applications/Office 365 Apps hosted in Azure using ADAL API to authenticate against SharePoint online and Office 365 APIs to build custom standalone applications rather than provider hosted model. Additionally, you can make Office 365 Apps available through Office 365 App Launcher. My personal preference here to use Azure Standalone applications with ADAL APIs.
  10. High Trust vs Low Trust Provider Hosted Add-in Model – If you have 100% full investment on the on-premises, you have no other choice but apply High Trust provider hosted add-in model for the remote provisioning, custom widgets or stand-alone application. If you have invested or planning to invest in cloud and afford hosting customization in Azure, it would make sense to start with Low Trust provider hosted model for both SharePoint on-premises and SharePoint online.
  11. Custom Master Pages in SharePoint On-Premises vs SharePoint Online – This is extremely controversial guideline from the Office365 PnP team. PnP best practices are around avoiding custom master pages where Microsoft may push out future upgrades to OOB master pages which may not exist in your custom master pages which further break the application customization. I am not in 100% agreement with one law to rule them all. My take here is it depends. Unfortunately there are many scenarios like publishing intranets may require branding where you can’t avoid custom master pages. If you are branding in SharePoint Online, plan to avoid custom master pages if you can get away with themes or other UI approaches where you can alter the page layouts on fly. If you can’t avoid custom master pages, plan to document what changes have made in custom master pages and be ready to make future changes in master pages applied by Microsoft. If you have SharePoint On-premises, you have full control over the upgrade and testing any new funtionalities introduced by the Microsoft. Having custom master pages in the SharePoint on-premises don’t have same risk or urgency as SharePoint Online where you have no control over upgraded features pushed out without validation.
  12. SharePoint HTML Tag IDs References in SharePoint On-Premises vs SharePoint Online – This is much similar as Master Pages. Plan to avoid referencing HTML Tags with IDs in your client side code especially in the SharePoint Online. Due to any future update in SharePoint Online may change HTML IDs, it’s safe to avoid them all together. SharePoint On-premises story is little bit different since organizations have full control over their upgrade timeline and enough time to test in the staging environment. Even though risk is lower especially if you document them, I would still avoid referencing HTML IDs on the on-premises as well.
  13. REST vs CSOM – Plan to use REST over CSOM while retrieving SharePoint data from custom applications or web parts. REST is lightweight even if its chatty and provides faster performance in most cases especially when you are waiting for sp.js to load to make SharePoint calls.
  14. REST Query best practices – This is classic SQL days best practice. Query only what you need. Specify only fields you would need in your REST and CSOM calls.
  15. Content Search vs Content Query Web Part – Plan to use Content Search web parts over  Content query web parts in most cases especially if you aren’t require to present results or roll-ups in the real time. Content Search web part would perform better and easy to customize with preferred web based technologies like HTML5, CSS3, and JavaScript rather than complicated slow-performing XSLT. Only downside of Content Search web parts are it’s dependency on freshness of Search Index. Read here for more details.
  16. Content Editor and Script Editor Web Parts vs Add-in App Parts – Plan to use content editor and script editor web parts as a starting point for most of the custom widgets rather than Add-in based App Parts. App Parts have huge limitation of rendering widgets in IFrames and complex infrastructure to support add-ins tokens. Unless you are packaging your widgets for the store and some of other reasons mentioned here, in most cases OOB web parts would provide more benefits. They would allow you to build custom UI using HTML5, CSS3, JavaScript frameworks, and CSOM/JSOM/REST APIs.
  17. App Script Part Pattern for Responsive Sites – This is best of both worlds mentioned above. Plan to use App Script Part pattern rather than standard Add-in model App Parts for responsive sites. App Script Part is nothing but script editor web part deployed by Add-in model. Since App Script part is based on HTML, CSS, and JS, it’s easy to make it responsive rather than App Parts which are relying on unresponsive IFrame technologies. You can learn further here.
  18. JS Link to Alter Lists UI – This feature introduced in the SharePoint 2013 to alter how list data or list forms displayed without any server side code changes. This is must have in developers armory. Look out for Wes Preston’s blog or Office 365 PnP for detailed samples.
  19. Avoid Suite Bar customization in SharePoint Online – This is part of hard lessons learned by many organizations over the last few years. As Microsoft slowly and slowly standardized the Office 365 suite bar, it’s increasingly isolated from SharePoint Online codebase. Plan to avoid any customization to avoid runtime errors due to any future Microsoft design changes, rather use Office 365 themes to customize.
  20. Standardize Provider Hosted High-Trust Certs and Registered Add-in IDs in a Team Based Development – Standardize Apps cert location, password, app ids in multi-developer team environment to avoid overwriting web.config while checking in and out from the source control envrionment. In a team based development, it is common to have developers with their individual SharePoint VM instances. Since High-trust code base requires certificate location and password for add-in tokens, plan to have all developer high trust certs with same name, same password, and same location to avoid multiple AppWeb web.config files for each developers. In addition, plan to have same add-in registration IDs (App Secret can be different since it’s not used by TokenHelper class) to avoid different AppWeb web.config files for each developers. Usually best practice should be first developer generates AppIDs and pass that information to the other developers to ensure web.config files are same for all developers.
  21. Use High Trust Certificate Serial Number for the Production Environment – Plan to use certificate serial number for the production high trust token helper rather than visual studio generated certificate location and password information. It isn’t a good idea to have a certificate downloaded to the servers and password stored in the web.config in the production environment. It’s OK to be dependent on VS tokenhelper class for certificate location based authorization in the development or staging environment. You should rather change your TokenHelper code to look up high trust certificate using serial number for the SharePoint access tokens in the production release. Plan to use Technet article for the code and how to publish provider hosted high-trust add-ins in the production with the best practice.
  22. Avoid Collaboration and OneDrive for Business Sites Branding – Avoid applying custom master pages and branding on collaboration and OneDrive for Business sites. Major use case for these sites are real-time file collaboration and usually there are no need for file collaboration branding. You may apply organization logo or custom theme to personalize environment but there are no need for full blown branding which usually requires for the intranets or publishing sites.
  23. Minify JS and Use CDNs wherever applicable – This is standard client side best practices especially your browser would be relying on cached version of smaller JavaScript for better performances.
  24. Must have CodePlex Tools
    • SharePoint Manager 2013 – Plan to install SharePoint Manager 2013 from the codeplex on your SharePoint developer VM. It is a SharePoint object model explorer and enables you to browse every site properties on the local farm by browsing through SharePoint Server Side Internals.(http://spm.codeplex.com/)
    • SharePoint Client Browser for SharePoint Online and SharePoint On-premises – Plan to install SharePoint client browser on your machine to browse site properties without having dependent on the SharePoint VM. This tool can be installed on any machine and allows you to learn SharerPoint internals using client APIs. (https://spcb.codeplex.com/)
    • SharePoint 2013 Search Query Tool – Allows you to validate and debug search queries against the SharePoint 2013 Search REST API. This is incresingly important as we build custom rollup applications using Content Search Web Parts. (https://sp2013searchtool.codeplex.com/)

I will continue update this article based on lessons I will learn and new guidelines recommended by Microsoft and Community. In addition to this, please plan to follow Office 365 Patterns and Practices and brilliant Vesa for latest guidelines.

Last but not least, please let me know if I have missed any of your best practices or if you aren’t agree on any of these best practices especially my take on custom master pages. Enjoy!!!


Filed under: Office 365, SharePoint 2013, SharePoint 2016

Hiding SharePoint 2013 Recent Menu on Left Hand Navigation

$
0
0

Every product has useless features. SharePoint isn’t an exception. There are various features like pesky “default send an email option while sharing sites with the users”. Every one of us have invited “everyone” and left that check box on to send an email to all 40,000 people in organization in one lifetime or other. Another big one is annoying “recent” menu option added every time someone  adds new document library or app in the left hand navigation.

Hiding “Recent” Menu is one of those features I have to tackle every time I have to design custom UI for the SharePoint especially for the Intranets. Although this is well documented on the MSDN, this is a self-note for me.

Plan to have this in master Custom JavaScript file which gets called from the master pages or page layouts (if there are no custom master page). Please note this code requires jQuery loaded prior to this javascript.

Here is the code from Master Page.


<head runat="server">

<!-- jQuery -->
<script type="text/javascript" src="<asp:Literal runat='server' Text='<%$SPUrl:~sitecollection/Style Library/App/SiteBranding/Scripts/jquery-1.10.2.min.js%>' />"></script>
<!-- Main App JS-->
<script type="text/javascript" src="<asp:Literal runat='server' Text='<%$SPUrl:~sitecollection/Style Library/App/SiteBranding/Scripts/app-master.min.js%>' />"></script>

</head>

Here is the code from app-master.js


(function (window) {
$(document).ready(function () {

//hide annoying recent menu items- https://social.technet.microsoft.com/Forums/office/en-US/b0b126fb-298b-469a-9a35-fb7abd50b997/sharepoint-2013-remove-recent-from-left-menu?forum=sharepointadmin
$(".ms-core-listMenu-item:contains('Recent')").parent().hide();
});

})(window);

Hope this saves someone time. As I mentioned above, this is reference article for me rather than researching again.


Filed under: SharePoint 2013

Reviving SharePoint Hybrid Lab by Restoring Expired Certificates

$
0
0

Over Christmas break, I had to revive my SharePoint hybrid lab after it was ideal for few months and during that period ironically all the certs were expired which broke down the end-to-end SharePoint hybrid configuration.

As an overview, my SharePoint Hybrid Lab consists of Microsoft Azure hosted SharePoint 2013 On-premises environment with Office 365 hybrid trust.

I have 3 VMs in Microsoft Azure for SharePoint 2013 on-premises environment – All-up SharePoint 2013 VM with AD and SQL, ADFS+Azure AD Sync VM for SAML provider, and WAP VM acting as reverse proxy. This environment is trusted by Office 365 tenant syncing on-premises users in Office 365 and configured with both in-bound and out-bound SharePoint search.

Hybrid lab

Here are the high level steps one needs to take to renew certs and revive the SharePoint 2013 on-premises and SharePoint Hybrid environment. Please note – these steps excludes Office Web Apps and Provider Hosted Apps configuration.

Fix On-Premises First

Fix SharePoint SSL

  • Symptoms – Verify that NTLM or SAML SharePoint SSL URL doesn’t work from the server itself or internal domain machines
  • First request updated SSN URL cert – New cert from cert provider, log on to SP Serer, create CSR from IIS, send CSR and request new cert, cert providers will issue cert, download cert, import cert into IIS (cleanup old one).
  • Fix on-premises SharePoint SSL – bind cert in IIS, test with NTLM (may error out if STS cert is expired, remember hybrid requires replacing OOB STS cert), will error out in SAML for ADFS especially if any of ADFS communication/token signing certs are expired.
  • Fix SP STS cert – Regenerate STS self-signed cert from IIS (or request from third-party same as URL cert similar as 2nd bullet), export both PFX and CER files, update the STS provider cert using Set-SPSecurityTokenServiceConfig, this should return NTLM SP site
  • This should allow users internally login to SharePoint w/NTML Auth

Fix ADFS Integration

  • Symptoms – SharePoint w/NTLM Auth works fine but w/SAML auth doesn’t work yet.
  • Fix ADFS communication certs (might be same as SSN URL cert) – copy ADFS communication cert to ADFS server, import cert in local store (cleanup old one), add new cert as communication cert, update ADFS SSL cert using Set-AdfsSslCertificate PowerShell, validate if ADFS signing works otherwise signing certs may be expired
  • Fix ADFS token signing certs & SP trust – Use PowerShell to refresh the token signing cert, export token signing certs to SP servers, add token signing certs on SP local cert stores, Update SP identity issuer with new token cert using Set-SPTrustedIdentityTokenIssuer, Update certs on central admin trust, validate if ADFS redirect/trust works.
  • This should allow users internally login to both ADFS signin and SharePoint w/SAML Auth

Fix WAP – ADFS Proxy Integration

  • Symptoms – ADFS signin should work fine from WAP server but won’t work outside of WAP server from public internet
  • Fix ADFS communication certs (might be same as SSN URL cert) – copy ADFS communication cert to WAP server, import cert in local store (cleanup old one), update WAP SSL cert using Set-WebApplicationProxySslCertificate PowerShell, validate if ADFS signing works from outside otherwise WAP trust may have been broken, easiest way to check is ADFS trust cert in local cert store may have expired.
  • Reestablish WAP-ADFS trust by running Install-WebApplicationProxy, it should update ADFS Proxy cert, remove old one.
  • ADFS signing should work fine from outside.

Fix WAP – Published SP App rules

  • Symptoms – SharePoint NTLM & SAML should work fine from WAP server but won’t work outside of WAP server from public internet
  • Update certificates for WAP published application rules using Set-WebApplicationProxyApplication command, usually there are two external entry points for SharePoint hybrid – one for end user (ADFS SAML based) and second is for Office 365 service call (NTLM/Cert based). Both WAP entry points certs needs to be updated. For ADFS, update only ExternalCertificateThumbprint. For NTLM/Cert based, you need to update both ExternalCertificateThumbprint & ClientCertificatePreauthenticationThumbprint (without this you will get 403 error)
  • Intranet SharePoint SAML should work fine w/ADFS auth and IntranetExt NTLM should work with fine w/cert based authentication from outside.

Fix Office 365 Hybrid Configuration

Fix Office 365 Federation

  • Symptoms – You may get warning on Office 365 admin center regarding federation cert renewals, this would affect Azure AD Sync and users no longer able to login in Office 365 using on-premises IDs
  • From ADFS server, Run Update-MSOLFederatedDomain –DomainName to update the cert using Azure AD PowerShell Window
  • You should no longer receive any alerts and you should be able to login to the SharePoint site using on-prem ID

Fix Hybrid ACS Trust & Outbound Search

  • Symptoms – You won’t able to search SharePoint Online data from SharePoint on-premises Search Center
  • From SP server, Run New-MsolServicePrincipalCredential to upload new valid STS cert, you may want to use Remove-MsolServicePrincipalCredential to delete the expired one
  • No need to update SPO SPN using Set-MsolServicePrincipal, No need to reregister App Principal using Register-SPAppPrincipal, No need to set Realm using Set-SPAuthenticationRealm, No need to recreate ACS Proxy & Token Issuer New-SPAzureAccessControlServiceApplicationProxy & New-SPTrustedSecurityTokenIssuer
  • You should be able to search SharePoint Online data from SharePoint on-premises Search Center

Fix Inbound Search

  • Symptoms – You won’t able to search SharePoint On-Premises data from SharePoint Online Search Center
  • Upload updated communication cert for EXT URL in Secure Store App which is used by SharePoint Online result source.
  • You should able to search SharePoint On-Premises data from SharePoint Online Search Center

Resources


Filed under: ADFS, Office 365, SharePoint 2013, SharePoint 2016, SP2013 Admin, VM Scripts

Step by Step Installation Guide – SharePoint 2013 On-Premises Provider Hosted High Trust Configuration

$
0
0

Last December, I had a privilege to walk through SharePoint Fest Chicago attendees detailed step by step process of building end-to-end SharePoint High-Trust Provider Hosted Add-ins environment.

Information I had presented has been scattered around on web or MSDN or on Office 365 PnP but I am yet to see full detailed end-to-end guidance on add-ins configuration even though add-ins model has been released since July 2012. One of the main reasons why SharePoint provider hosted add-ins isn’t popular because it takes lots of skills to stand up add-ins development environment.  This guide is intended to walk you through key steps requires to design SharePoint 2013 high trust provider hosted add-in environment.

As an overview, my SharePoint Lab consists of 2 VMs for SharePoint 2013 on-premises environment – All-up SharePoint 2013 VM with AD and SQL & Provider Hosted Add-ins VM. Some of the key goals I have with this article are:

  • Provide pragmatic guidance to build real world environment. Even though I don’t have load-balanced environment, you can repeat most of the configuration to configure load-balanced environment. Configuration of load-balancers and DNS routing are out of the scope for this article.
  • Provide secured SSL communication between SharePoint and Add-ins environment. This article still applies to non-SSL environment and various steps for non-SSL has been called out in article.
  • Support for SharePoint hosted-addins in addition to high trust provider hosted add-ins. This is my personal preference. There is complexity in infrastructure configuration due to SharePoint hosted-addins. If you are planning to support only provider-hosted add-ins, you will able to find steps which you can ignore.

Provider hosted add-ins

Here are high level steps one needs to take to configure SharePoint high-trust provider hosted add-ins in SharePoint on-premises environment.

Preparing Infrastructure for High-Trust Provider Hosted Add-ins

  • Prepare SharePoint On-Premises Environment
    • SharePoint Network Infrastructure – Make a note of SharePoint Domain (e.g. Niks.local), valid SharePoint DNS (e.g. intranet.niks.local), and Wildcard Cert (e.g. with friendly name – *.Niks.Local)
    • SharePoint Wildcard SSL certs are an optional but recommended.
    • Install SharePoint Environment – SP2013 RTM + Latest Service Pack + Latest CU
      Provision primary web application with SSL and NTLM authentication. SSL is optional for Add-ins configuration if your SharePoint environment isn’t on SSL but it is recommended.
    • Configure User Profile Service Application and Profiles Sync. This is required for Add-ins User Profile hydration for Auth Tokens.
  • Configure Add-ins Domain
    • Determine Add-ins Domain Strategy – You can have only one Add-in domain is used per farm..Determine the domain name to use – either unique domain (e.g. NiksApps.local) or Sub domain (e.g. Apps.Niks.local) – for security reasons, plan to have unique domain because cookies can be modified or read across different domains that are under the same domain.
    • Configure Add-ins Domain and an Wildcard DNS entries for SharePoint Add-ins – Wildcard DNS entry is not used by Provider hosted Add-ins. Wildcard DNS entry is required for SharePoint Add-ins if you are deploying. Add-ins as fully isolated App webs. Without this, you would need a new entry in DNS for every App instance, this would not scale and is not a feasible solution. There is also no way of determining what the App ID would be in advance of creating an App. I  would recommend to configure wild card DNS entries for SharePoint Add-ins as a pre-requisites for provider hosted add-ins. Plan to review Mirjam Van Olst’s classic article.
  • Request a Wildcard Certificate for SharePoint Add-ins
    • There are two things to remember about Add-ins SSL – One is SSL certificate is optional if you aren’t using secure communication and second is it’s not required for the Provider Hosted Add-ins.
    • Add-ins Wildcard certificate is required for the SharePoint Add-ins for SSL. Since recommendation here is we will be building provider hosted add-ins for both SSL and SharePoint hosted-apps, you will need a wildcard SSL certificate for your add-in domain.
    • A valid wildcard SSL ad-ins cert can be issued by public CA, corporate CA, or Self-SSL utilities. (e.g. *.apps.niks.local or *.niksapps.local)
    • Verify wildcard certificate for both SharePoint and Add-in URLs are added to SharePoint boxes. There are two places to check – Verify if certificate is available on both personal and certificate root authorities store using Manage Certificates utilities and verify these certificates are imported and available on the IIS
  • Configure Routing Web App for SharePoint Hosted Add-ins
    • It is important to note that this step is NOT required for the provider hosted add-ins. This is required for SharePoint Add-ins only if you have SharePoint web applications are using host headers.
    • Provision Add-ins Routing web app – Create New SharePoint Web App – Port-80, Non-SSL, NTLM, Application Pool – SP_farm, and Content Database – WSS_Content, provision root site collection based on team site template and make sure Routing web app don’t have any host header, idea here is catch all. Add HTTPS binding with Add-ins wildcard cert on the default web app, remove HTTP binding for SSL.
    • Routing web app is not required for the host header site collections.
    • Best Practice – Disable Default IIS website from the IIS manager and IIS RESET
    • Without this – You may encounter 404 error – Jereme Thake’s article
  • Configure Required Services and Service Proxies – App Management and Subscription Settings
    • Both App Management Service and Subscription Settings Service must be started.
    • The App Management service application is largely responsible for licensing information, for example its database is accessed each time an add-in is used to verify the validity of the request.
    • The Subscription Settings service application is historically only relevant for multi-tenancy scenarios, but it is a prerequisite when implementing Add-ins because it is used to generate and keep track of the App IDs.
    • One key thing to note is that both service applications must be in the same service application proxy group, otherwise the Add-ins infrastructure will fail to work.
    • How to configure?
      • Start App Management and Subscription Settings Services from Central Administration or Windows PowerShell.
      • Configure the App Management Service application by using Central Administration or Windows PowerShell.
      • Configure the Subscription Settings Service Application by using Windows PowerShell.
    • Required PowerShell script to automate some of the steps discussed in this section are available as part of presentation attached to this article.
  • Configure App Prefix, App Hosting Domain, and App Catalog
    • Create App host domain (e.g. apps.niks.local) and App URL prefix (e.g. app) using PowerShell or from Central Admin
    • Create App Catalog site collection from Central Admin site and configure permission – You can have one App Catalog per web application. You can’t add add-ins in consumer sites unless you have visitor access to this site collection. Configuring Store settings such as whether users can install Add-ins from the Office Marketplace.
    • Required PowerShell script to automate some of the steps discussed in this section are available as part of presentation attached to this article.
  • Prepare Provider Hosted Add-ins Servers
    • Prepare for IIS and Application hosting – Install/Configure Web Server Role and Application Server Role – .NET Framework 3.5.1 features, Windows Process Activation Feature, Web DEV, ASP.NET etc.
    • Prepare for .NET framework hosting mode – Install/Configure .NET Framework 4.5 and later, Note – Windows 2008 R2 installs only .NET Framework 3.5
    • Prepare for App Web Deployment using commnadline – Download and Install web deploy tool – http://www.iis.net/downloads/microsoft/web-deploy
      Web Deploy (msdeploy.exe) must be installed on the computer that runs the .cmd file for appsweb. For information about how to install Web Deploy, see the following URL: http://go.microsoft.com/?linkid=9278654
    • Add DNS entries to resolve provider hosted add-in URL – Import a High Trust certificate on Add-ins Host Servers, if you don’t have PFX and CER files from the external/internal CA, one way to obtain is exporting with private key (e.g. NiksHighTrustCert.pfx) and with public key (e.g. NiksHighTrustCert.cer) for all the certs including root CAs and other parent certs in chain (RootCAHighTrustCert.cer) from the SharePoint servers. CER format requires to register cert with SharePoint, PFX format requires for Add-ins. Usually, high trust certificate would be same as wildcard cert used for the SharePoint web applications if high trust Add-ins and SharePoint shares same domain.
    • Configure BUILTIN\IIS_IUSRS access to the High Trust cert – For the separate IIS server hosting Add-ins, configure BUILTIN\IIS_IUSRS users to the full control permission to cert. This allows apps running on IIS to access cert for high-trust SharePoint communication. On Windows Server 2012 R2, Use command line tool – Windows HTTP Services Certificate Configuration Tool – WinHttpCertCfg.exe. On Windows Server 2008 R2, you can use Microsoft WSE 2.0 SP3 GUI tool, look up wildcard cert (e.g. *.niks.local) and gave full control IIS_IUSRS from the machine, restart the IIS
      If IIS_IUSERs don’t have permission, it will throw Keyset doesn’t exists eroor – http://webservices20.blogspot.com/2011/02/wcf-keyset-does-not-exist.html
  • Verification Steps
    • One of my best practices while configuring any kind of complex environment is break it down in chunks to help me troubleshoot or verify as needed. Once initial infrastructure is configured, this is best time to verify various pieces of configuration. Here are various areas you can verify.
    • Provider hosted Add-ins URL domain and DNS entries are requested. Ping to verify.
    • SharePoint Add-ins domain and wild card DNS entries are requested. Ping DNS entry to verify. e.g. anything.apps.niks.local.
    • Valid Wildcard Certificate is issued for SharePoint Add-ins and uploaded on the local certificate store and imported in IIS.
    • Add Management and Subscription Settings Services and Application Proxies are provisioned.
    • App domain is configured and App Prefix is created for SharePoint.
    • App Catalog site collection for App hosting web application is provisioned with appropriate permissions.

Configuring High-Trust for Provider Hosted Add-ins

  • Run this step from SharePoint Servers – Please note that these steps needs to be executed on SharePoint servers for high-trust setup between SharePoint and Add-in servers.
  • Remove existing SPTrustedSecurityTokenIssuer if exists
    • On the SP Server, Log in as Setup account to run PowerShell script and check if any previously registered SPTrustedSecurityTokenIssuer exists. If there is a mal-functioned one and if the –IsTrustBroker switch was used then the bad tokenissuer might be getting called. If this is the first time you are configuring the high trust add-in then you can skip this step.
    • Run Get-SPTrustedSecurityTokenIssuer. If no Azure workflow is configured then this command should return empty. If you get any issuer other than the workflow then run the Remove-SPTrustedSecurityTokenIssuer (pass the Id value from the above output) to delete it.
  • Configure the High Trust using Certificates
    • Run the PowerShell script from the SP Server to register cert with SharePoint by using public (cer) key to configure trust for your add-in. Please see attached PowerPoint presentation for detailed script.
    • Each certificate in the chain is added to SharePoint’s list of trusted root authorities with a call of the New-SPTrustedRootAuthority cmdlet.
    • It is important that IssuerID is needed each time you create add-ins in Visual Studio so put it somewhere safe (e.g. 9F0FF6C4-0DA6-429B-959A-07847DF6BF37)
    • Get the Serial Number from the App Cert – ‎6114c562000000000005 (here are the steps – https://msdn.microsoft.com/EN-US/library/office/jj860570.aspx#ConfigureRemote)
  • Configure valid settings for AllowOAuthOverHTTP if needed
    • Configure AllowOAuthOverHTTP to FALSE for SSL communication between SharePoint and Provider Hosted Add-ins.
    • If any of your IIS web (either SharePoint or Provider hosted web add-in) has HTTP bindings then you must have AllowOAuthOverHTTP to TRUE otherwise you will get 403 error

$serviceConfig = Get-SPSecurityTokenServiceConfig
$serviceConfig.AllowOAuthOverHttp = $false
$serviceConfig.Update()

High-Trust Provider Hosted Add-ins Deployment

  • High Level App Publishing and Deployment Process
    • On the DNS Servers – Make sure DNS entry is available for Add-ins URL, PING to verify.
    • On Provider Hosted Server – Create IIS Web Site and Virtual Directories to host Add-ins.
    • App Deployment
      • Develop Add-in using Visual Studio predefined templates
      • Register the High Trust Add-in in SharePoint farm using /_layouts/15/appregnew.aspx
      • Update the Web.Config file of App Web with new client Id
      • Publish the App web (remote web)
      • Use App in the SharePoint (App App to App Catalog, Install Add-in to a Site, Add App Part to the site)
  • Create Remote web to host Provider Add-in
    • Remote web can be deployed on IIS, make sure asp.net is included as features
      • Web Site Name (e.g. ProviderHostedProdApp) and local folder (e.g. C:\inetpub\wwwroot\phprodapp)
      • Add New DNS entry for remote web add-in (e.g. phprodapp.niks.local to server or load-balancer IP) and see if you can ping it
      • Bind this cert with SSL (e.g. *.niks.local), Host Header (e.g. phprodapp.niks.local), and IP (e.g. 192.168.1.51)
      • Ensure .NET 4.0 framework is selected as target framework – Make sure Application Pool is using v4.0 otherwise you will get error while deploying code
    • Configure Authentication of the Remote Web on IIS
      • Disable Anonymous Authentication for the IIS site hosting Remote Web
      • Enable Windows Authentication for the IIS site hosting remote web and plan to have Provider NTLM is selected above Negotiate
    • Add Virtual Directories to host Add-ins
      • Alias (e.g. prodphapp), Path – (e.g. C:\inetpub\wwwroot\phprodapp\prodphapp)
  • Register the High Trust App in SharePoint farm using /_layouts/15/appregnew.aspx
  • Creating Provider Hosted App using VS Template
    • Visual Studio allows you to create provider hosted add-in projects using predefined templates.
  • Update Visual Studio Project to Publish App Package (Debug/Test)
    • Update the Web.Config file of App Web – VS adds ClientSigningCertificatePath and ClientSigningCertificatePassword. This requires certificate downloaded and stored on the local file system.
    • Sample Web.config: <appSettings>
      <add key=”ClientId” value=”f5b99211-2f48-4747-8af0-bdfbbcf1b1b5″ />
      <add key=”ClientSigningCertificatePath” value=”C:\Certs\NiksHighTrustCert.pfx” />
      <add key=”ClientSigningCertificatePassword” value=”pass@word1″ />
      <add key=”IssuerId” value=”9f0ff6c4-0da6-429b-959a-07847df6bf37″ />
      </appSettings>
    • No changes in the Token Issuer file in VS project – Visual studio template for Provider hosted add-in contains code to create access token based on certificate location.
  • Update Visual Studio Project to Publish App Package (Release/Prod)
    • Update the Web.Config file of App Web – VS adds ClientSigningCertificatePath and ClientSigningCertificatePassword. This shouldn’t be used for production add-ins. Instead use ClientSigningCertificateSerialNumber. Find the ClientSigningCertificateSerialNumber from the cert binded to the provider hosted add-in (e.g. *.niks.local)
    • Sample Web.config: <appSettings>
      <add key=”ClientId” value=”f5b99211-2f48-4747-8af0-bdfbbcf1b1b5″ />
      <add key=”ClientSigningCertificateSerialNumber” value=”6114c562000000000005″ />
      <add key=”IssuerId” value=”9f0ff6c4-0da6-429b-959a-07847df6bf37″ />
      </appSettings>
    • Update Token Issuer file in VS project – Since you are using on Serial Number instead of cert path and password for authorization, you need to update code to retrieve cert based on serial number – See Token Issuer section here – https://msdn.microsoft.com/en-us/library/office/jj860570.aspx
  • Publish the App web and App Packages
    • Provider Hosted Add-ins are consists of two projects in Visual Studio
    • Publishing App Web Package
      • Publishing App web copies files are remote web server and deployed on IIS
      • Create AppWeb package from the Visual Studio using publish approach
        • Create Profile (e.g. NiksRemote)
        • Connection – Publish Method – Web deploy package
        • Package Location (e.g. C:\Deploy\ProdProviderHostedAppWeb\ProdProviderHostedAppWeb.zip)
        • Remote IIS Web Site Name (e.g. ProviderHostedProdApp/prodphapp)
        • Click Next – Release and Publish Package
    • Publishing Add-ins Package
      • Publishing App produces App file (.app extension) and that needs to be uploaded on App Catalog site to make it available for SharePoint sites
      • Create App package from the Visual Studio using publish approach
  • Deploy the App web and App Packages
    • Deploying App Web Package
      • Copy the Package to the Remote Add-ins server, make sure webdeploy is installed on the additional server
      • Open cmd file and run Appweb deployment command (e.g. C:\Deploy\ProdProviderHostedAppWeb>ProdProviderHostedAppWeb.deploy.cmd /y)
      • Verify all the contents are getting published on the IIS virtual directory
    • Deploy App Package to App Catalog
      • Navigate to App Catalog and select New App and upload .app file
      • Make sure uploaded App package is valid.
  • Use App in the SharePoint
    • Add an App to a Site – Navigate to Add App page and add App to the site – trust the add-in
    • Add App Part to the site – App client web part to App project, this should add page to the AppWeb project, upgrade Add-ins and redeploy it to the site, and you should see the App parts

Hopefully you would be able to navigate steps mentioned in this article. For more detailed step by step guidance, please review my SharePoint Fest presentation.

Enjoy!!!

 


Filed under: SharePoint 2013, VM Scripts

Cheat Sheet to Troubleshoot SharePoint Provider hosted High-Trust Add-ins – 401, 403, 404, and Misc Errors

$
0
0

Anyone who has worked on provider hosted high-trust add-ins for SharePoint 2013 on-premises environment knows if environment works, it works like charm. If it fails, it’s worst thing as IT Pro you may encounter. Most of the errors while troubleshooting provider hosted high-trust configuration are mostly related to authentication and add-ins & SharePoint communication. Many of these errors are so generic like 401, 403, and 404 errors that it can easily raise the frustration level along with waste of hundreds of hours.

With this cheat sheet, I am planning to share my usual suspects and hoping to keep it updated as I encounter more weird errors in SharePoint provider-hosted high-trust add-ins configuration.

Microsoft Resources for Troubleshooting Apps

Usual Suspect Areas to look at

  • Expired certs on IIS, local windows cert store, and SharePoint trust store (including all the chain certs)
  • Invalid Get-SPTrustedSecurityTokenIssuer
  • Invalid Get-SPTrustedRootAuthority
  • Invalid Cert Serial Number or Certs information in web.config
  • Invalid Alternate Access mapping
  • Invalid HTTP or HTTPS binding in IIS
  • Missing DNS entries
  • Depending on your needs, you would need to set App permission in App Manifest
  • Validate Provider Hosted App IIS site – Enable windows auth, NTLM as preferred provider, App pool runs under 4.0 and ApplicationPoolIdentity

Myths – Invalid Causes called out in blogosphere

  • Certs Chain must be installed and imported in both local Cert store and IIS on both SharePoint and Provider Hosted Apps servers
    • Removing RootCA & High Trust cert from SharePoint trust store (accessible from central admin) not affecting how Provider hosted apps works, it works regardless
    • According to API cert expert, Brian… IIS should have only lowest level cert what’s needed for binding, all parent chain certs shouldn’t be in IIS
  • No Routing Web App on SharePoint Servers – This throws 404 error for SharePoint hosted and Store hosted apps but works fine for Provider hosted apps, routing web app is required for SharePoint hosted app
  • You need to disable Anonymous Authentication on Provider hosted app IIS web site – no reason to do this unless you want to do this as best practice.
  • NTLM has to be preferred provider (above kerbros) for windows Auth on Provider hosted app IIS web site – no reason to do this unless you want to do this as best practice
  • To get the title of the web site, you would need to set App permission in App Manifest Depending – No need for this for title info
  • SharePoint and App hosting servers should be on same time zone. No need for this either.

Error – An Unexpected error has occurred while installing app

  • This may happen if App was already installed with upper version and you are redeploying app using lower version to same site. e.g. I had a site collection where I deployed app with 2.0.0.0 version. I uninstalled app and repackaed with 1.0.0.0 version and deployed to the App Catalog. This caused an error while installing app to the same site collection again. New version app would work fine with new site collection where this app never been installed earliar
  • Myth – Many blogs and forum says – cleanup App Catalog recycle bin and that didn’t fixed my issue

Error – Blank Page while accessing installed app

Error – 401 Error – Unauthorized while accessing installed app

401-Unauthorized

  • Possible Causes:
    • No Windows Auth is enabled on the Provider Hosted App IIS web site

Error – 401 Error – Unauthorized while running app, SharePoint-App communication issue

401-Unauthorized 2.PNG

  • Possible Causes:
    • Issuer ID is invalid or has uppercase letters or Issuer ID has space in Appweb web.config file

Error – 403 Error – Forbidden while accessing installed app, SharePoint-App communication issue

403

  • Possible Causes:
    • Client ID is invalid or Client ID has space in Appweb web.config file
    • Get-SPSecurityTokenServiceConfig AllowOAuthOverHttp setting is invalid. It must be true if one of the SharePoint web application or Provider hosted App IIS web site have HTTP binding. If both SharePoint and Add-ins using SSL, it should be false. In many cases, if you have HTTP binding on SharePoint in addition to SSL and if Add-ins using SSL with AllowOAuthOverHttp=false, may cause an error

Error – 404 Error – While accessing installed app

404

404 2

  • Possible Causes:
    • DNS Entry Issue – Either Wrong or NO DNS entries – Try to ping the app URL to see if it reaches to correct server IP or F5 App Pool IP

Error – An error occurred while processing your request – while accessing installed app

  • Background Note – This error gets generated by Visual Studio boiler plate code for SharePoint Context and TokenHelper. Tokenhelper
  • Possible Causes:
    • Certificate Serial Number is invalid in Appweb web.config file

Error – Keyset does not exist – while accessing installed app

Background Note – This error is related to SharePoint app running in IIS can’t access High Trust configured on Provider hosted cert store to initiate communication to SharePoint

Possible Cause – If IIS_IUSERs don’t have permission to high trust on local cert store, it will throw Keyset doesn’t exists eroor –http://webservices20.blogspot.com/2011/02/wcf-keyset-does-not-exist.html. For the separate IIS server hosting Add-ins, configure BUILTIN\IIS_IUSRS users to the full control permission to cert. This allows apps running on IIS to access cert for high-trust SharePoint communication. On Windows Server 2012 R2, Use command line tool – Windows HTTP Services Certificate Configuration Tool – WinHttpCertCfg.exe. On Windows Server 2008 R2, you can use Microsoft WSE 2.0 SP3 GUI tool, look up wildcard cert (e.g. *.niks.local) and gave full control IIS_IUSRS from the machine, restart the IIS

Error – Sorry, Something went wrong – while adding/installing an app to the site – App differs from another App with the same version and product ID

Sorry something wrong

This is worst kind of error where it’s really hard to troubleshoot. In most cases – you have to look into ULS logs to troubleshoot as this isn’t an obvious error. Luckily, this errror does provide you ULS correlation ID which you can use to troubleshoot.

In my case – I had came across this error in ULS log.

Issue – 11/03/2015 14:44:28.00   w3wp.exe (0x1C28)                       0x0548  SharePoint Foundation                 General                                       ajlz0       High       Getting Error Message for Exception System.Web.HttpUnhandledException (0x80004005): Exception of type ‘System.Web.HttpUnhandledException’ was thrown. —> System.InvalidOperationException: The provided App differs from another App with the same version and product ID.     at Microsoft.SharePoint.Lifecycle.SprocWrappers.CreateApp(SqlSession dbSessionWrapper, Byte[] fingerprint, Guid siteId, Guid productId, Version version, String title, String contentMarket, String assetId, SPAppSource source, String tempIconUrl)     at Microsoft.SharePoint.Administration.SPApp.CreateAppAndCommitPackage(SqlSession session, Byte[] fingerprint, String path, Guid siteId, String assetId, String contentMarket, SPAppSource source)     at Microsoft.SharePoint.Administration.SPApp.CreateAppUsingPackageMetadata(Stre… 4d143e9d-3578-6086-1f97-858d6df686c1

There are various online articles and places this error has been discussed and folks have solved many different ways –

Have you came across any other scenarios not discussed here? Plan plan to post in the comments section to increase awareness of your specific situation. You never know – it may help someone out there.

 


Filed under: SharePoint 2013, SharePoint Apps

Nik’s SharePoint Saturday Chicago Suburbs 2016 Session Deck on Modern Intranet Development on SharePoint and Office365 is Available

$
0
0

Thanks everyone who was able to attend my session at the SharePoint Saturday Chicago Suburbs 2016. It was a great to see familiar faces and old friends in a fairly attended session.

I had an amazing fun walking attendees lessons I have learned while developing Intranets on SharePoint and Office 365 last few years. It’s great to share some of the best practices I have compiled and how I would design intranet on these platforms in future.

Title: Best Practices of Intranet Development on SharePoint and Office 365 Platforms
Session Abstract – Development of successful Intranets on ever changing SharePoint and Office 365 platform requires understanding of available options and how to apply them. Nik Patel, lead architect from Slalom Consulting has designed and built four different intranets in four years with various best practices each with unique flavors and customization options available at that time. Nik will take attendees through architecture options in past and future and provide pragmatic guidance for future Intranet development on SharePoint and Office 365 platform. This session is for both beginners and advanced level developers and architects.

As promised, here is my session deck available through Slide Share. Feel free to download and reach out to me if you have any questions.

I have recently posted few SharePoint development best practices articles. These can be used as additional sources along with Office 365 PnP to make decision in tricky architectural trade-offs.

Enjoy!!!


Filed under: Office 365, SharePoint 2013, SharePoint 2016, SharePoint Apps, Speaking

Modernizing SharePoint? – My thoughts on SharePoint Online Document Library Experience Updates

$
0
0

Microsoft has pushed out one more “Sneaky” release in Office 365 relating to SharePoint Online document library experiences. If you have “First Release” tenant, you would start noticing new banner on SharePoint online document library page stating – “Check out new document library look!”.

Doc library UX Banner

I call this “Sneaky” release. Even though this is a huge change in SharePoint (first major Document Library UI change since SharePoint 2003/2007 days, almost 10-12 years ago), it was never announced on Microsoft Office blogs. I have heard this news on twitter after seeing few posts from MVPs and other community leaders regarding this release.

Unlike MVPs or other community leaders, my thoughts on this change are bitter-sweet. On one hand, I love this new modern experience with lots of core features stands out in UI for end-users. On other hand, I hate the navigation experience from SharePoint Online document library UI to One Drive for Business document library UI. More on navigation concerns later.

If you have never seen new SPO document library experience, here is the preview:

This is classic SharePoint Online document library experience with invitation to try out new experience:

SPO OLD Doc Library UX

This is how new SharePoint Online document library experience looks like (with ability to rollback to classic view for time being):

SPO New Doc Library List View UX

SPO New Doc Library Grid View UX

Let’s first talk about Pros. I hugely welcome modern UI of new SharePoint Online user experiences. Not only Microsoft have bubble up many key features as easy actions but modernized the UI along with it.

Here are some of the highlights of new features and I must say – I love them all.

  • Library Level Features
    1. Ability to Pin documents as Highlights above the library view
    2. Ability to “Alert Me” from quick action bar
    3. Ability to have Grid view with previews, rather than traditional list view
  • Document Level Actions
    1. Ability to see “History” on the right bar
    2. Document Action Bar – Ability to get a link, ability to Move to another location (one of the long standing issues with traditional UI)

Now, let’s talk about major drawback. With all the love for new UI, one of the major down side of this new update is what happens to existing collaboration sites. Even though Office 365 have new workloads rolling out every few months to tackle modern collaboration like Yammer Groups, Office 365 Groups, Planner, Delve, many of our customers are still using SharePoint team sites for document collaboration.

Along with SharePoint team sites, they are accustomed to use “Blue” SharePoint/Office 365 global OOB UI and SharePoint Online ribbon bar. One of the major issues with new UI is end-users will require to traverse back and forth between SharePoint Online UI (Blue Globar bar with Ribbon) and OneDrive for Business UI (Black Global bar without Ribbon) while using document libraries and that’s where challenge is.

Many of us additionally apply SharePoint online themes (recommended by Office 365 PnP as supported version of branding), which would affect seemless UI experience and navigation as users are accessing team sites, document libraries, and documents. My only hope here is Microsoft have further plans to roll out SPO changes to reflect this new UI in SPO to match overall Office 365 experience.

But, Wait – There is a solution to all these – Having all said that, Microsoft didn’t leave us with this as forced update. You have option to use old or new experience depending on your organization’s appetite for change. Each document library have option to use new or old experience. This would allow document library owners to use whatever experience they like. Additionally, there is a global SharePoint Online administrative setting to apply this change to all document libraries in SharePoint online team sites. Few tips here – library level settings will definitely affect the governance policies and how organizations want to standardize the document library experiences. Few more things to worry about as you trying to govern your environment.:)

You can manage list document library experiences settings from library’s advanced settings page. There are three experiences here:

SPO Library Admin Settings

  • Default experience set by my administrator – Configured at the SharePoint Online Administrative page.
  • New experience – New experience with OD4B UI
  • Classic experience – Classic Old and Gold SharePoint document library view

Here is the screenshot of SharePoint Online Admin Setting.

SPO Admin Settings

Here are my initial reactions on twitter. I am hoping to have more positive reactions and better document library experience stories as we go through initial period.

Nik's reaction 0.PNG

Nik's reaction 1.PNG

Nik's reaction 2.PNG

SharePoint Online is changing!!! Good luck SPO!!!

Additional Resources and Community Reactions

 


Filed under: Office 365, SP2013 Online

Future of SharePoint Keynote Summary and My Key Takeaways

$
0
0

Ever since Microsoft RTMed SharePoint 2016 in March 2016, one event every SharePointers were looking forward to was – “Future of SharePoint” on May 4th, 2016.

futuresharepoint

Even though this event was marked as SharePoint 2016 GA availability, how Microsoft used it to instill the confidence in SharePoint community is masterstroke in my book. Personally I was looking forward to this event to see where I want to focus in near future as far as technology. As a SharePoint brand, there were few questions and Microsoft needed to answer. I won’t lie if I say I was approaching this event very cautiously but after the event – my faith in SharePoint on both Office 365 and On-premises have been restored.

In the nutshell, this was a vision and roadmap event specifically focused on SharePoint. As expected, event was well marketed and well attended. There were some bold announcements and demos. Most of them are in the process of being rolled out in the SharePoint Online. This tweet at the end of the event summarizes what I felt of SharePoint in the near future at that time.

futuresharepoint-Tweet

Here are my key takeaways:

  • SharePoint is here to stay!! In fact, it’s been revitalized and modernized.
  • “SharePoint” as brand is brought back in Office 365!! No more, it’s branded as “Sites” app. It’s a small change like this regains confidence from the community.
  • Office 365 Groups are NEW center of gravity in a cloud product. SharePoint team sites are re-branded with Office 365 Groups UI but two-way integration will challenge traditional hierarchical information architecture. Documents will flow horizontally across products rather than hierarchical SharePoint team sites.
  • Tight integration of SharePoint Online, OneDrive for Business, Office 365 Groups, and other Office 365 products will reinvent what we think of modern collaboration on office platforms.
  • Although Microsoft has delivered contextual and relevant SharePoint Online home page (similar as Delve UI) as Intranet in your pocket offering, my take here is that most of the organizations will create their own intranet home pages powered with Office Graph & Delve based UI. Ability to support customized version of Intranet home pages is key. There will be requirements from customers to support customized version of home page on “SharePoint” mobile app and browser experiences home page.
  • SharePoint On-premises are here to stay!! SharePoint Online & Office365 will innovate first and selective features will be pushed down to the On-Premises as feature backs. I won’t be surprised if feature packs replaces existing service pack model.
  • SharePoint Hybrid is must to have best of both worlds. New SharePoint browser & mobile apps would require hybrid infrastructure to display data from both cloud and on-premises.
  • Office 365 Graph and new SharePoint client side framework are must in developers’ toolkit. Both of them are built on modern JavaScript and REST based programming standards. Developers will require to learn 6th development/customization model in last 6 iterations of the product. It should be noted here is this is one more additional framework, it doesn’t replace Add-ins model released in SharePoint 2013.
  • SharePoint and Office 365 professionals will have more challenges to architect solutions based on Office 365 only, SharePoint On-Premises only, or hybrid investments. Great SharePoint professional is key to success. Question of what’s supported/not supported, what’s licensed/not licensed, what’s enabled/disabled, architectural trade-offs will factor in how you architect information architecture and business processes. This is not new as of now but tight integration of Office 365 Groups and SharePoint Online will create many challenges for customers who won’t use  capabilities of whole Office 365 suite.

Here are my notes from the keynote:

Announcements

  • SharePoint 2016 On-Premises and Office Online Server (2016 version of Office Web Apps) GA available from today
  • SharePoint 2016 isn’t last release but it’s a foundation for future – forged in cloud, first cloud run source code packaged for on-premises, probably enhanced as feature packs rather than service packs

Future of SharePoint

  • Microsoft’s current focus is on 3G’s – Groups, Graph, and Governance (Notice – no SharePoint, rather than focusing on products vertically, Microsoft’s focus is across products and security/compliance).
  • New SharePoint Principles – In Cloud, On your on-premises, and In your Pocket, in other words – cloud first, mobile first but still supported for on-premises.
  • SharePoint is Core of Office 365 productivity suite – No kidding!!!!
  • SharePoint On-Premises Updates – Feature Packs for SharePoint – Subset of features available on top of SP2016, starting from 2017.

Files Access & Sharing Innovations

futuresharepoint-file access and sharing roadmap

  • Simple and powerful file on any device – intuitive browser experience.
  • Selective sync for OD4B & SPO document libraries. Sync shared folders in roadmap.
  • Move or Copy OD4B files and folders to SharePoint.
  • New activity view pan for files (replacement for versioning?).
  • File Share/Document Analytics in OD4B (Likes and Shares coming in future as well).
  • Mobile app for SharePoint Online (SharePoint On-Premises support in roadmap including SharePoint 2013).

Reinventing SharePoint Intranets and Team Sites

futuresharepoint-intranet roadmap

  • Modern Intranets
    • Next-Gen, Responsive, and Mobile & Touch Friendly Intranets
    • Innovate on all three fronts – communication, collaboration, and custom apps.
    • Intranet on your pocket
      • New SharePoint home page, powered by office graph, contextual information, looks much similar to Delve UI. Show frequently visited sites or suggested sites based on your profile activities. It can show sites from both cloud and on-premises (requires hybrid configuration).
      • Intelligent discovery of content based on your activities. It shows pages, libraries, lists, and people. Again, similar as Delve UI.
      • New team and organizational news feature – News feature out of box, will roll out in H2.
    • Intranet Web Experience
      • Renamed “Sites” tab to “SharePoint” to match mobile app name.
      • Frequent sites, suggested sites, Tiles view.
      • Instant search – people, sites, files etc.
      • Easy new site creation – simplified and faster, requires you to select collaboration or publishing sites, you can also create Office365 group in this wizard, will require enforcement of governance.
  • Modern Team Sites
    • Groups Integration – Each Team Site creation will create Office 365 Group and same true on other way around as well. Groups are tightly integrated in Office 365 with SharePoint team sites. Will roll out in H2.
    • Power Apps and Microsoft Flow integrated with SharePoint Online out of box. This would allow it use SharePoint document libraries and lists as data source. Possible replacements for workflow & forms workloads. Both products are in preview now. Will roll out in H2 this year.
    • New Home Page experience – Tied to group, group name & members shows up, left hand navigation still exists, you can bring in group features on team sites (e.g. conversations etc.), by default – news & activities are available as tiles view, you can highlight document or blog article in news section, activities are documents with tiles view. It’s rolling out now.
    • New Pages experience – Mobile and touch friendly pages authoring experience, you can add documents, links, medias etc. You have gallery of OOB web parts (similar as Adobe AEM). It’s rolling out now.
    • New Document Library experience – looks & feels like OD4B, consistent experience. Quick contextual metadata editing experience, grid/thumb nail view experience, ability to pin feature, everything on your fingertip either via quick action bar or informaion panel, no more ribbon. It’s rolling out now.
    • New SharePoint Lists experience – Integration of OOB Microsoft flow UX and Power Apps and context are passed to these apps.  It’s rolling out now.
    • Team site activities and analytics – Modern graphical analytics.  It’s rolling out now.

Platform Extensibility

futuresharepoint-openconnected roadmap

futuresharepoint-SPDevTweet

  • Data Layer – Office Graph API – REST based, single end-point – we will have SP REST API available via Office 365 API in near future.
  • UI Layer – New SharePoint Framework – New JavaScript based client side development layer, it’s backward compatible, it will be open source, new pages and parts framework – this framework will be released in Q3 for SPO as First Release and for on-premises in 2017. Microsoft will deliver few responsive experiences based on this framework and new SharePoint document library experiences & lightweight publishing model (Delve blog) are one of them.

Community and Microsoft Resources

Happy SharePointing!!!


Filed under: Office 365

Recapping Microsoft Ignite 2016 Conference, Atlanta, GA

$
0
0

I had the privilege to attend Microsoft Ignite 2016 at Atlanta on Sep 26th-30th this year. This is Microsoft’s signature technology conference which is in the 2nd year after combining all the Office and TechEd conferences last year. If you have read my previous year’s Ignite recap, I wasn’t happy with how it turned out in Chicago especially with logistics issues, and I wasn’t excited this year either being Atlanta as host. As it turned out, I really enjoyed the conference especially technical content and roadmap delivered at the conference, and I must say – Microsoft has earned my faith in Microsoft Ignite event and can’t wait for more for of it next year.

microsoft-ignite-logo

Keynotes

Day 1 of Microsoft Ignite was divided into multiple keynotes – starting with Scott Guthrie lead main conference keynote, followed by sub keynotes from each area (Office, Infrastructure, Security, Communication, etc.), culminating in grand Innovation keynote by Satya Nadella.

I personally didn’t enjoy the main conference keynote. I felt it was Azure heavy with lots of Windows 2016, Visual Studio, and Xamarin updates. My takeaway here was it was mostly boring, nothing new because most of the announcements were already made. There was hardly anything mentioned for Office innovations. My personal favorite from the morning keynote was a huge announcement of Microsoft joining hands with Adobe and Adobe hosting their all clouds including Marketing cloud in Azure. Apart from that, I was disappointed with this keynote.

What morning keynote couldn’t deliver, delivered by Innovation keynote by Satya in the late afternoon. I had an enormous fun listening to Satya and Microsoft’s vision of how Office, Azure, and Windows can deliver innovations in IoT, Analytics, and Cloud computes automation. This is must watch for anyone in technology field despite your interests in Microsoft technologies.

img_3440 img_3401 img_3402

Technology Updates

I was excited with what and how Microsoft delivered Technology updates at Ignite. My interest this year was Office 365, Azure, SharePoint, Power BI, and related technologies. Day 1 and Day 2 was kind of boring with most of the roadmap updates which I had already learned in regular Microsoft Office updates. As I dived into more deep dive sessions on Day 3 and Day 4, I was impressed with all the new technology innovations Microsoft has made in Office 365.

One of the key things stood out for me was Level 100-200 sessions and how Microsoft delivered their roadmaps for 2016-17. They were honest in their delivery. There weren’t afraid of sharing what’s coming and what’s in design. Everyone was graceful in their delivery without any arrogance. It was refreshing to see this new Microsoft which has Satya’s stamp all over it. I personally think Microsoft Ignite still missed out many in-depth Level 300-400 sessions.

As far as technologies update, I loved many announcements including Office 365 Groups, Yammer Integration, OneDrive for Business Sync client, PowerApps, Flow, MyAnalytics, Microsoft Word TAP, SharePoint 2016 Feature Pack 1, and SharePoint Hybrid innovations, especially Hybrid Taxonomies. I can’t wait to deep dive into all of these technologies and master them.

If you are Microsoft especially Office 365/SharePoint professional, you would require learning Microsoft Graph, SharePoint Framework, React JS, TypeScript, Office UI Fabric, Windows 2016 Docker containers. Attending deep dive Level 200 sessions on Day 3 and Day 4 for these technologies was conference highlights for me as a technologist.

img_3558 img_3562 img_3448

Conference Logistics

Anytime you need to host 25-30K IT professionals under one roof, it would become logistically tricky. Microsoft Ignite will face common challenges like lodging, transportation, food, session rooms layout regardless of wherever they plan (except Las Vegas) to host this event. Last year at Chicago, one of the biggest challenges they faced off the isolated location of conference center from the world. This year at Atlanta, they faced another challenge and mostly focused on transportation and lodging.

Before we start with what went wrong (we all love negatives), I must say there were lots of positives at this conference. Georgia Conference Center was a great location especially its proximity to Philips Arena and other downtown happening places. The location itself had lots of excellent facilities, and one of them was a patio where you can relax in sunny fall weather with lounge chairs, live music, games, and smoothies center. Ignite Mobile App was another clear winner for me especially scheduling and live streaming of sessions. This is one of the best conference apps at Microsoft events I have seen. I was able to get extra sleep (much needed for conference attendees) because I could live stream first session while commuting to the conference center. Another great idea this year was concurrent 20 minutes, 45 minutes, and 75 minutes’ breakout sessions. This gave attendees ample options of what sessions to attend and what to skip or view the live stream. Also – Microsoft showcase booths at expos were informative. Meeting with product groups was one of my favorite activities in between sessions.

img_3459 img_3579 img_3578 img_3487

Now, let’s focus on what can be improved. Lots of lines – There were lots of long walk in between buildings (especially if you have sessions in A and C) in addition to a lot of lines everywhere. I am not sure how Microsoft can improve logistically, but I turned away many times from to either attend session or event just because of lines especially it between sessions. After the event, activities was another big issue. If you have been in Atlanta, you know that it isn’t much as far as after event activities except bars, restaurants, and few baseball games in September. Lodging was another big issues. Unlike Chicago, Atlanta doesn’t have a large concentration of hotels in downtown area. Other two major locations were 30 minutes away at Buckhead and Airport. This is where Las Vegas would actually help where lodging, dining, and after event activities are no major concern.

Last but not least, Microsoft needs to stop serving boxed lunch. Even SharePoint Saturdays or conferences don’t have boxed lunch. It was one of the worst (worse than Chicago last year) conference food I ever had. I was done with cold sandwiches after the 2nd day. Luckily there were few other options nearby, but good conference meal should be one of the musts in Microsoft’s checklist. I do understand why Microsoft may have done it due to concurrent sessions but having both boxed and warm buffet meal would cater both audiences.

img_3547

Parting Notes

Despite all these hate and love for Microsoft Ignite, I enjoyed this conference and can’t wait to attend future events. I personally would like to thank Slalom for letting me attend this conference and learn Microsoft’s direction for 2016-17.


Filed under: Uncategorized

Future of Agile and Social Collaboration – Yammer redefines Enterprise Social as Digital Workspace by integration with Office 365 Groups

$
0
0

Ever since Microsoft had acquired Yammer just before SharePoint 2013 release in July 2012, there has been love and hate relationship with Yammer as Enterprise Social solution in organizations adopting Microsoft technologies. Let’s face it, there are many reasons for this. Enterprise social is no longer a shiny kid in the industry, and there are still growing concerns sharing information freely in the major monolithic organizations. Besides Microsoft has also thrown lots of hurdles by sending mixed messages and taking forever to realize their vision.

Despite all these, here we are, after Ignite 2016 in Oct 2016. It’s impressive to see Yammer is not only still going strong but becoming a core service of the Office 365 suite, just like Exchange, SharePoint, and Skype. After taking painfully slow time of 3-4 years to move Yammer into Microsoft cloud infrastructure including Office 365 identities, Yammer has positioned itself as core Digital Workspace tool by integrating itself with One Drive for Business, Delve, Office 365 Video and other essential services.

Ever since Microsoft announced Office 365 Groups as future of collaboration platform last year at Ignite 2015, many experts predicted Yammer being going away (including myself) and probably replaced by Office 365 Groups. But, this year at Ignite 2016, Yammer further strengthened its position as workplace collaboration tool with announcements of Yammer’s integration with Office 365 Groups. Many ways this completes Yammer’s journey from standalone service to the core family of Office 365.

yammer-in-office-365

Based on the Yammer investments announced at Microsoft Ignite 2016, it is clear that Microsoft doesn’t think Yammer as only Enterprise Social Platform. With its tight integration with other Office 365 services including Office365 Groups, its proper part of core Digital Workspace offering of Microsoft. Documents, conversations, notes, messaging was always part of Yammer offering. Rather than managing and enhancing these features as fractional silos, Office 365 integration will be able to offer stronger offerings like Skype, One Note, and SharePoint for Yammer features. Yammer is indeed becoming a core feature of Digital Workspace vision.

yammer-investments

Here is the list of some of the key Ignite 2016 announcements, innovations, and upcoming features planned for Yammer. This indeed makes Yammer as a core service of the Office 365 suite, just like Exchange, SharePoint, and Skype.

Product Innovations

  • Great way to stay up to date – unread conversations counters, a message to show once you caught up with new information, workflow to move to next group.
  • You can edit posts (coming soon, probably by early next year)
  • You can create word, excel, and PowerPoint documents directly from Yammer
  • Mark individual or all messages as read/unread in your inbox, shows activities across all groups.
  • Member and Group onboarding feature, group discovery feature is powered by Office 365 Graph
  • Office 365 Integration with Delve, Skype Meeting Broadcast, and Office 365 Video

Office 365 Groups Integration and Roadmap

yammer-integration-in-office-365office-365-groups-and-yammer

  • Creating Yammer group will create AAD object, Office 365 groups including memberships, and trigger requests to create additional Office 365 workloads like SPO, OD4B, EXO, and Planner. It means – every Yammer group will have SharePoint team site, SharePoint document library, OneNote and Planner for Yammer task management.
  • Office 365 groups will have both Outlook and Yammer. You have the option to choose email and shared inbox in Outlook or Yammer messages for your group. Initially, creation location will determine default communication method used in Office 365 groups. e.g. Groups created in Outlook will get an email in the shared inbox, Groups set up in Yammer will get the Yammer group feed, and Groups are created from the Office 365 Admin Portal and other Office 365 workloads will get an Outlook shared inbox. In future, Microsoft will provide flexibility to use either Outlook or Yammer feed regardless of where you creation location.
  • Yammer Group (just like any other Office 365 users or Office 365 Groups) will be available on global address list (Office 365 groups are AAD objects) while sharing files or sending emails. This would allow you to send email from Outlook to Yammer feed as post using Yammer Group global address.
  • OneDrive file picker – You can share files from OneDrive business to Yammer conversations (that includes all your files in Office 365 groups and SharePoint folders) – Yammer files will be moved to OneDrive for Business to in future, start moving your files to SharePoint manually if you want.
  • Yammer notes will be transferred to word documents in SharePoint document libraries. Also – You will have shared team OneNote for Yammer notes.
  • Additional features on the roadmap – Shared Outlook team calendar, Skype directly to user from Yammer feed or conversations, rich preview of SharePoint and OneDrive for Business files in the Yammer feed, Planner tasks or SharePoint document modifications updates in Yammer feed, Support for rich preview of Office 365 video and stream videos in Yammer feed, SharePoint web part, Office 365 profile integration.
  • Office365 Groups connected Yammer Groups – You either get outlook or Yammer feed, not both. You won’t see Outlook in Yammer, and you won’t see Yammer feed in Outlook (as of now, it may change over the time with feedback).
  • If you have Yammer right now and using legacy Yammer credentials, you won’t have Office 365 connected Yammer groups. You can either manually choose to enforce Office 365 identities from Yammer admin center, or Microsoft will roll out a new update as wave 1 (by the end of Q4 2016) to enforce all the network to use Office 365 identities. Once Yammer has Office 365 enforced identities, new Office 365 connected Yammer groups can be provisioned by end users or admins. Microsoft will also backfill all existing public and private groups to become connected Yammer groups in wave 2.
  • It is important to note that as of now, Microsoft’s roadmap includes Yammer groups will be connected to Office 365 groups. You won’t have options to choose classic Yammer group vs. Yammer-Office 365 connected groups. Yammer classic groups are going away once Yammer.com is turned off.

Administration Innovations available as of now

yammer-admin-experience

yammer-user-experience

  • On-by-default – Yammers on by default for all new Office 365 tenants. Yammer is completed moved to the Microsoft Azure data centers. It’s in the process of moving entirely to the Office 365 cloud infrastructure. Encryption at rest and encryption in transit are configured for data security.
  • Network/Domain Lifecycle Management – Yammer network domains can be managed from Office 365 administration page. Yammer no longer requires Yammer DSync for on-premises AD sync. It supports AAD Sync. Yammer SSO and Yammer Dsync will stop working on December 1st, 2016.
  • Users, Groups, and Identity Lifecycle Management – Office 365 admin center also includes Yammer Groups (Office 365 Groups) and manageability of group membership. Managing Yammer groups would be same as any other Office 365 groups.
  • License Management – You can also enable/disable Yammer license from Office 365 administration page.
  • Office 365 SSO and Login Support – Connected Tenants and User Profile Sync – Yammer is in App Launcher by default for all new tenants. If you have users on both yammer.com & Office 365, you can also enforce Office 365 identities in Yammer from Admin settings. You can also enforce all the classic Yammer users to use Office 365 identities from Yammer administration section. Yammer admin console is available from Office 365 administration center.
  • Advanced C-Compliance – Yammer has achieved category C-level compliance in Office 365 suite with ISO 27001, ISO27018, HIPPA, SOX, EUMC and other major compliance categories. It means Yammer is covered by Office 365 Trust (and information protection) center where you can access all third party compliance materials from Office 365 service assurance dashboard. It is important to note that other services like SharePoint Online and Exchange Online are in category D with the highest compliance. It is also important to note that there is no announcements and timeline of Yammer feed availability in an e-discovery center.
  • Mobile App Security – Yammer will be included Intune mobile device management policies. Mobile App Security would work with or without MAM. Supported on both iOS and Android apps. It will support more than 15 policies once it’s applied to your tenant including requiring PIN to access, manage data sharing across apps, restrict copy and paste between apps, encrypt app data, prevent save as, and block running on jailbroken devices, etc.

Administration Innovations Coming Soon and Roadmap

  • Yammer Audit Reports – There are more than 25+ yammer operations are available for audit activities. Also – Yammer will be integrated with Office 365 Management Activity API.
  • Yammer Usage Analytics and Power BI Reports – Yammer activities are included in usage reporting dashboard in admin center – both network & user levels – posts, likes and reads.  Available for global admins only as of now. This can be exported for community managers or champions and visualize using Power BI content pack. There are also plans to deliver usage reports for group level and client access (the web vs. mobile) reports.
  • AAD Conditional Access and Dynamic groups will be supported – You can create Yammer groups with membership based on rules. e.g. create the group for anyone who reports to Kristian. This would work as long as this hierarchy is defined and managed in AAD. Dynamic group membership is based on AAD properties and may require additional licensing or AAD Premium
  • Yammer Connected Groups membership – You can’t assign AAD group, but you can assign group membership based on AAD properties (dynamic membership)
  • Naming collisions – AAD supports the same name but enforces uniqueness in an email. Multiple Outlook groups can be with same named, but Yammer enforces unique name due to discovery. You can end up with 1 Yammer group name but many office 365 groups with the same name.
  • Groups naming conventions, soft delete (life cycle) and customization of all company groups (e.g. change avatar or name, etc.) are on roadmap too. Since both Yammer connected groups and Office 365 groups would be managed as the same entity, all the innovations in Office 365 life cycle and governance would apply to Yammer connected groups as well.
  • Mapping of existing SharePoint sites to either Outlook or Yammer groups not in a roadmap but something can be looked at.
  • Migrating Outlook groups to Yammer groups and vice a verse is not in scope. e.g. if your users start with Outlook group and change mind to have Yammer group, it’s not possible due to various content requires a mapping from message to social.

Here are key Yammer slides from Ignite 2016 to showcase Microsoft’s current philosophy, few investments done last year, and future investments.

yammer-investments-now

yammer-investments-future

References


Filed under: Office 365, Uncategorized

Current state of Microsoft Azure App Services Platform

$
0
0

It’s been close to a year, I have started playing with Azure Functions and Azure Logic Apps. With the growing demand for Azure Serverless architecture, Azure App Services platform is becoming more mature than ever. In this article, I am posting my notes on the current state of the Azure App Services platform. For the most recent information, please review here – https://azure.microsoft.com/en-us/services/app-service/

Key Info

Benefits

  • Focus more on delivering business value, rather than focusing on building and maintaining plumbing of apps.
  • Ease of use, no need to worry about infrastructure plumbing.
  • Scalability – scale up or down as needed.
  • Pay for what you use – cost effective.

Azure PaaS and Azure App Services Overview

  • It mainly focuses on an application platform, integration, and business process management.
  • It includes Azure App Services or SQL Azure.
  • Azure Service Fabric – Abstraction the underlying VM resources, fabric provides additional features like authentication/authorization, hybrid connectivity, support & troubleshooting, analytics etc.
  • Major App Services
    • Web Apps – to host web applications with ease.
    • Mobile Apps – to host backend for mobile devices, e.g. mobile clients offline & sync when it’s back up, push notifications.
    • API Apps  – to expose web APIs.
    • Logic Apps – for complex workflows and automate business processes, to orchestrate APIs & data into business processes.
    • Function Apps – an independent server-less piece of code to respond to events, it intercept event, process them and output somewhere.

Azure Web Apps

  • A website-as-a-service, traditional Web Apps hosting environment minus – abstraction of infrastructure plumbing (servers, VMs, IIS server installation), OS update, firewall & network setting etc. This allows us to focus more on delivering business value, rather than focusing on building and maintaining plumbing of apps.
  • Major Features
    • Host web apps – .NET, Java, Node.js, Python, PHP
    • SLA – 99.95%
    • Custom domains and SSL certs.
    • Deployment slots for pre-production testing.
    • Easy to setup continuous deployment.
    • Auto or Manual scaling
    • OOB Authentication and Authorization with default providers like Azure AD.
    • Load balance apps with traffic management.
    • Hybrid connections with on-premises data.
    • Visual Studio and VSTS integration – allows you to publish to specific App service from VS

Azure Mobile Apps

  • It’s a service or a backend for your mobile apps, provide mobile capabilities to the mobile client.
  • Mobile App is a cross-platform and supports default authentication providers like Azure AD.
    • Mobile App backend – .NET and Node.js, it looks much similar to Azure API project.
    • Mobile Client Application – SDK available for – iOS, Android, Windows, Xamarin, Cordova, used on Visual Studio mobile apps like Windows 8 App.
  • Major Features
    • Offline Sync – It’s using SQLite OOB, you can choose your own SQL provider.
    • Push Notifications – It’s using Notification Hubs, abstracts platform complexities, sends notifications to individual platform (iOs, Android, Windows etc.) services, allows scale to send multiple notifications, also provides telemetry.

Azure API Apps

  • Allows you to host and expose your APIs for a distributed architecture.
  • Major Features
    • It supports default authentication providers like Azure AD & social providers.
    • Can host existing APIs (.NET, Java, PHP, Node.js, and Python).
    • Exposes API definition in the form of metadata in JSON format (using Swagger 2.0), enables client applications to know which operations to call and how to call them, it makes API discoverable, NET API uses Swashbuckle library to generate Swagger API definition, also have Swagger UI to test APIs, supports consumption of APIs in VS or command line to generate code for client applications (.NET, Node.js, Java, JavaScript).
    • Supports CORS (Cross Origin Resource Sharing) for cross-domain client-side AJAX (XMLHttpRequest) call. Configure allowed origins on Azure Portal.
    • Integrates nicely with Azure Logic Apps.
    • Integrates with API management & telemetry.
    • Also supports all App services features like scalability, redundancy or deployment slots.

Azure Logic Apps

  • Allows you to create functional/business logic workflows by orchestrating software as service components (like API or data).
  • Allows you to visually compose the workflows on Azure Portal logic apps designer or Visual Studio (with logic apps extensions). Alternatively, you can use code view in logic apps definition language in JSON format.
  • Major features
    • Connectors – basic components powers logic apps, exposes functionalities, allows you to easily connect with other logic apps or third party apps.
      • Your Connectors (e.g. Azure API Apps, Azure Logic Apps, Azure Functions), hosted in Azure in your region.
      • Microsoft Managed APIs (e.g. Office 365, Azure Blob, Dropbox, GitHub, Facebook, FTP etc.), hosted and managed centrally by Microsoft available as part of Azure.
      • Marketplace Connectors from third-party companies (e.g. SAP, Oracle, DB2 etc.), hosted in Azure in the same region, you pay per use.
    • Triggers – kick off logic apps manually, scheduled, or by events (by email or updating SP list), connectors can be triggers, poll triggers (logic app polls the connectors when the event is fired) or push triggers (logic apps notified by connectors when the event is fired).
    • Actions and Conditions – triggers kick off actions when some conditions are met, connectors can be actions, actions can be sending an email, posting messages to slack etc.
    • It uses logics apps definition language (in JSON format), create in the Azure portal or Visual Studio.
    • Lots of out of box templates available.
    • Robust and reliable – supports retry

Azure Function Apps

  • Allows you to respond to events and run worker processes by intercepting or triggered by external events.
  • They are an evolution of Azure WebJobs and executes a piece of code. It’s a piece of code that we can call anytime, it will scale automatically, and you can pay when you use it without worrying about the underlying infrastructure.
  • Major Features
    • You can write (C#, Node.js, Python, PHP, bash, Java, PowerShell and lot more) and run code (any executables) in Azure functions.
    • Triggers – Can be triggered by many various concepts (e.g. Event Hubs, Service Bus, Timer, HTTP request, Blob Storage, Azure Storage Queues etc.), when Azure function triggers, it runs the application in it.
    • Serverless architecture – Allows you to specify how much memory needed to run functions. Functions can scale and create as many as instances until it reaches memory usage.
    • Bindings – Allows you to input and output values to/from functions.
    • Templates – Predefined trigger templates for all kind of languages and scenarios.
    • Parallel Execution – Runs as many as instances until available resources (e.g. memory) caps.
    • Azure Portal support – Allows you have a code editor, log console, and ability to run/test.

Additional Features

  • Azure WebJobs
    • Allows you to run background processes or a batch job in the context of the azure app, it’s a background service as a service, think of it as a windows service in a cloud without worrying about underlying platform.
    • Web App can have one or more WebJobs, both web apps and web jobs can share same resources, the performance of one may affect others if web jobs are hosted on the same web app, it is best practice to host web jobs on the separate web app.
    • It is supported for Web Apps, Mobile Apps, and API Apps.
    • It supports azure web jobs or .exe, .cmd, .bat. .sh, .php, .py, .js, .jar, and ps1
    • Same SLA as the main service.
    • Can be triggered by outside sources like Azure Storage Queue, Storage blob, web hooks etc.
    • They are reliable if they fail – it will try again.
    • Can be triggered manually or scheduled.
    • Can process triggers in parallel.
  • Azure Deployment Slots
    • Ability to run multiple versions of your apps. Allows you to test in both production and pre-production environment. Also, allows you to route some of the production users to the pre-production environment for testing.
    • Supported for Web Apps, Mobile Apps, and API Apps.
    • Deploy it with no downtime by swapping production and pre-production environment. Azure swaps VIPs behind the scene.
    • Depending on your pricing tier, you can create up to 19 deployment slots, it can host web app and will incur cost just like any other production app. You can’t scale deployment slots. May not be the best environment for the performance test.

Recapping Microsoft Ignite 2017 Conference, Orlando, FL

$
0
0

I had a privilege to attend Microsoft Ignite and Envision conference, the third year in a row from Sep 25-29th, 2017 in Orlando, FL. This is Microsoft’s signature conference focuses on innovations in all three Microsoft cloud platforms (Microsoft Azure, Microsoft 365/Office 365, and Dynamics 365) in addition to products like Bing for Business, LinkedIn, and Windows.

Ignite image

Keynote Highlights

Microsoft Day 1 & Day 2 usually focuses on the main keynote, sub keynotes, and product keynotes. This year conference started with Satya Nadella’s vision keynote. This year’s main theme was digital transformation and how Microsoft like to achieve that using modern technologies like AI, IoT, HoloLens. Keynote started with digital transformation and ended with something obscure like Quantum computing. I love attending and listening to Satya’s vision.  If you haven’t seen Satya’s keynote, I would highly recommend checking it out on the MS Ignite site.

After the main keynote, I have attended sub keynote to focus on creating a modern workplace with Microsoft 365. One of the first thing I noticed after this keynote was Microsoft started marketing Microsoft 365 suite, and Office 365 is just one of the offerings of that service. I have also noticed Office 365 word or brand isn’t on a billboard anymore and Microsoft is pushing Microsoft 365 offering, which includes their Office, Windows, Mobility, and Security offering in the cloud.

Day 1 was great, but if you are a longtime SharePointer like me, your conference can’t start until you listen to Jeff Teper’s keynote. Day 2 started with Jeff Teper’s SharePoint and OneDrive for Business keynote focusing on product announcements and roadmaps. Honestly, I wasn’t expecting much, but Jeff exceeded everyone’s expectations. Jeff blew everyone’s mind, and he kept dropping new features among lots of loud cheers. Jeff’s commitment to the product and easy to digest materials stands out. There were lots of innovations announced in the SharePoint Online – lot more out of box communication sites features, new SharePoint hub sites, deeper PowerApps and Flow integration, first party SharePoint migration tool, and a new version of SharePoint Server 2019.

Conference Announcements

I have attended only eight sessions in person this year and caught up on few more online after the conference. My primary focus was Office 365, SharePoint Online, and Power Apps/Microsoft Flow. I wanted to see if SharePoint communication sites and SharePoint framework is ready for the enterprises. Even though with limited attendance, it’s incredible how much my mind exploded with so many announcements throughout the conference.

My most significant takeaway and announcements from the conference are:

  • Microsoft’s forward-looking, innovative focus – Artificial Intelligence, Mixed Reality, IoT, bots, etc. Microsoft will build devices and developer tools to support these technologies. AI and bots were present everywhere across all the products at the conference.
  • Microsoft 365 for Digital workplace – Microsoft has expanded & rebranded their digital workplace story from Office 365, I was surprised, but you could see Microsoft 365 billboards everywhere.
  • Huge innovations on Office 365 Analytics and Windows Upgrade Analytics, In-session control compliance feature to lockdown forward, print, sync, or download features both in Office 365 suites and consumer emails like Gmail.
  • Dynamics 365, LinkedIn, and Office 365 Integration to reimagine tenant recruiting and sales enablement process.
  • Microsoft’s Power Platform – PowerApps, Power BI, and Microsoft Flow. Amazing benefits of these tools is you have access to Microsoft’s common data service (Microsoft graph with access to Dynamics 365, LinkedIn, and Office 365 data) and it’s open to third-parties to build complex integrated systems with Microsoft data.
  • Office 365 Analytics – Content packs will be renamed to Office 365 Usage Analytics, new reader role in Office 365 for Analytics, usage reporting API goes to GA.
  • Fantastic set of innovations in Azure Portal – In-browser PowerShell to run PowerShell commands from your mobile phone, New disaster recovery preview, log analytics preview, OS update management preview from portal directly, and files and registry change tracking preview from the portal directly.
  • Azure Improvements – Azure availability zones (power, networking, cooling redundant), Azure reserved instances, Azure file sync etc. Also,  Azure has a new look & a logo.
  • LinkedIn for Business integration in the first party applications like Outlook, Office 365, and SharePoint – LinkedIn powered profiles, huge story around merging internal & external contacts in your communication platform.
  • Bing for business integration – Integration with Microsoft Graph for people, docs, it will be available as GA next year, this is a game changer.
  • Microsoft Teams is becoming modern intelligent communication tool, will adopt features of Skype for Business, a single client for chat, video, and voice calls.
  • Office 209, SharePoint 2019, and Skype of Business 2019 on-premises servers announced for next year.
  • SQL 2017 in GA
  • Microsoft Graph innovations – Investments in SharePoint lists APIs, Azure functions as web hooks
  • Microsoft 365 F1 – New license for the front-line workers.
  • Multi-Geo preview for Office 365 & SharePoint Online. This is an excellent win for organizations with multi-national footprint.
  • Hundreds of innovations in SharePoint online – PowerApps for list forms, new PowerApps web part, real-time collaboration in excel client (much-awaited feature), folder path display in a document library search, multi-geo search capabilities, new SharePoint Online search center, personalized search results on SharePoint home, voice-enabled accessibility feature.
  • SharePoint Online Hub Sites – Ability to associate/disassociate sites to the hub sites. This is a game changer as it solves the dynamic nature of site taxonomy and how sites are organized, rolled up, grouped, and branded.
  • Search visual content intelligence – Scan image & video contents to display search results.
  • Yammer – Improved integration SharePoint document preview, new modern Yammer web part for SharePoint Online.
  • SharePoint Framework v1.3 in GA with modern extensions.
  • SPFx Investments – Tenant level properties to customize your deployment pattern, support for Office UI Fabric core, investments in the ALM API (Install, upgrade, delete), ability to have a site collection app catalog rather than tenant level, automatically distribute packaged assets to Office 365 CDN, Web API Support to access Microsoft Graph info, Reusable PnP SPFx placeholder, and property pane controls.
  • ALM story around Power Apps and Microsoft Flow – Admin UI to import and export Power Apps and Flow from one tenant to another, PowerShell to automate the import/export, Power BI usage analytics reports for PowerApps.

SharePoint Online Communication Sites, SharePoint Framework, Power Apps, and Microsoft Flow Readiness for Enterprises

With all the innovations with modern pages and modern document libraries, integration with Microsoft Flow/Power Apps, and customization story around SharePoint Framework, one of the burning question I had was, are SharePoint Online modern pages & SharePoint framework ready for the enterprises?

After attending several SPO sessions, one of most important takeaway for me was both SharePoint Online communication sites and SPFx are NOT ready for the enterprises as of now. This is great for small organizations. They are fully committed to both communication and platform development stories. There are lots of innovations coming up, but until we have good customizations and ALM/automation story, I wouldn’t recommend to enterprise customers.

I was also disappointed with the SharePoint Online branding session as I was looking forward to seeing great story around branding communication sites and better ALM story for the deployment automation. The only thing this session delivered was a theming option and design packages for a repeatable branding. I believe this is great, but I was looking for a more robust platform from the Microsoft.  Overall, I still feel communication sites branding story is incomplete.

On the other hand, with the concrete ALM story around the Power Apps and Microsoft Flow, I felt like Microsoft Flow and Power Apps are ready for the enterprises. It has a excellent deployment ALM story with both UI and PowerShell scripts. It also has a great usage analytics, debugging, and performance monitoring reporting.

Conference Activities and Logistics

The second year in a row, I am impressed with how Microsoft runs their conferences. You will never run out of choices in the midst of the hundreds of activities – 75 minutes breakout sessions, 45 minutes of short breakout sessions, theatre sessions, expo & evening happy hours, after-event parties, Microsoft product engineering booths, Microsoft mechanics & podcast area, HOLs (Hands-on Labs), Immersion Labs (private 6-8 people, case study focus scenarios) and list goes on. This year, I had decided to try out little bit everything. I was very picky with my sessions but didn’t want to miss out the expo, product team booths, HOLs, and Immersion labs.

My expo visits included talking to various vendors like Sharegate (SP migration), Metalogix (SP migration), Nintex (SP Workflows/forms), Rencore (SP customization), Hyperfish (Profile Completeness), and LiveTiles (SP Intranet & AI with modern experiences). These are good vendors to partner with. Speaking to product engineering group especially Teams, SharePoint, and Azure, one thing stands out that they are listening to user’s voice very closely. They are committed to bridging any gaps there are from previous API/toolset/scenarios and support in the new toolset.

My favorite activities of the Microsoft Ignite is lounging in the lounge viewing area. Not only it allows you to switch to another session if you think you are in the wrong session but it allows you to relax and switch off both technology & conference stress. Having ESPN and CNN as one of the channels along with key sessions was a huge help. I must say though lounge viewing area can be a huge distraction if you want to attend a focused session. You will be tempted to flip channels to attend various sessions, and it may mentally exhaust you (how many you flip channels on Netflix for more than half an hour before deciding to stop watching altogether, the same principle applies here).

IMG_1029

Every year, I try my best to analyze conference location, logistics, and food. I must say – Orange County Convention center in Orlando is huge and arguably my favorite location. I loved the way venue had various seating areas (benches, couches, bean bags, etc.) sprinkled throughout the conference building (both indoor & outdoor).

Microsoft rented both North/South & West buildings. One of the worst parts was a mile-long bridge walk between North/South and West building in a toasty Orlando weather. Good luck if you wanted to make up this distance in 30 minutes in-between sessions. I realized very quickly that I needed to drink a lot more water than Chicago to cope Orlando weather to avoid any headaches. Also – The long queues, hundreds of people have become a norm for the Microsoft Ignite so, either you get used to it but try to stay away from attending the conference.

I must say – Food at the Orlando Convention center probably best among last three conferences. I hated Atlanta’s large sandwiches, and I don’t even recall how bad Chicago food was. Although it’s not great, I loved the balanced food options (carbs, protein, salad, fruits, desert) as a container. There were also lots of self-paid food options throughout the convention center.

Just like Atlanta last year, Microsoft reserved lodging space in three major areas – Convention Center, Universal Studio, and Disney Springs. Microsoft had daily shuttles to transport conference attendees from these remote locations. Since I am not a morning guy, one of my favorite habits was to live stream first session while commuting to the conference on shuttles. That allowed attendees to have best of both – attend session & have relaxed time while commuting to the conference location for the 2nd session of the day.

Last but not the least, I can’t praise enough Microsoft Ignite Mobile App and WIFI throughout the conference center. I simply loved way finder in the App from one location to another location in addition to schedule builder/my conference calendar. Microsoft started live-streaming sessions on the Ignite App since last year, which not only helped session overflow situation but it also greatly helps if you want to relax in the quiet area and enjoy the session from a distance.

Just prior to final wrap, I wanted to share an amazing map of the twitter cloud with various attendees & Ignite products relationship. It’s no coincident that I was situated as a small town at the crossroads of SharePoint, Microsoft Teams, and Yammer. These are the areas I had tweeted/retweeted most often and it’s great to have a validation.

DK15BKzXkAEHahL

 

Conclusion

This year’s Microsoft Ignite is probably one of the best conferences I have attended. I still have few reservations about the venue especially that dreaded bridge walk, but overall, I would rate this Ignite had much better location/venue, attendee party, content, and list of activities. I would like to extend my thanks to two wonderful consulting companies – my former employer (Slalom for initiating registration) and current employer (West Monroe Partners for picking up the expenses) to allow me to attend this conference and making this happen.

References

 


Trends of Modern SharePoint Online Intranets and Information Architecture in Office 365 as of Fall 2017

$
0
0

SharePoint is widely considered as the best intranet platforms in the market. If you have been tracking Nielsen Norman Group’s Top 10 intranets over the years, 70-80% intranets are built on SharePoint On-premises and SharePoint Online.

SharePoint has a long history as popular intranet platforms due to its publishing framework (CMS platform introduced in SharePoint 2007). In addition to SharePoint’s limited publishing CMS features, SharePoint provides a solid infrastructure for lists & libraries as a data storage,  site columns & site content types to define the data structure, sites & site collections for the portal containers, site templates for site definition packaging, and web parts & rich APIs for the extensibility. I have been involved in close to more than a dozen corporate intranets, sales portals, and customer portals built on the SharePoint platform over the years.

In May 2017, Microsoft unveiled their next wave of intranet sites in the SharePoint Online. These new sites called as communication sites and are designed with the principle of mobile-first, cloud-first, and a beautiful-first. Although communication sites as it’s the first incarnation are very limited (limited customization & branding options), Microsoft has continued its investments throughout the Q3-Q4 of 2017.

At Ignite 2017, Microsoft unveiled why future SharePoint intranets should be built using SharePoint Online’s modern communication and modern team sites. SharePoint communication sites can be used for traditional 1-way or 2-way communication and Modern team sites can be used for department and collaboration sites. Not only Microsoft started revealing its full intention of how future of intranets can be built on the SharePoint online platform but also hinted at the approaches required for the information architecture.

Future of SharePoint Intranets

As of early 2018, if you are planning to design intranets on the Office 365 platform, try to look at the hybrid architecture of communication sites, modern team sites, and classic publishing sites. Classic team sites with publishing infrastructure are still valid if organizations are looking for highly customized, visually branded intranet.

At the same time, modern communication sites and modern team sites will provide future-proof intranet, if organizations are willing to have few limitations until Microsoft bridges the gap. I would look at the Shire case study to get some inspiration. Rather than using custom publishing infrastructure, try to look at the modern site theming, site design packages, and SharePoint framework to customize the communication and modern team sites to design next wave of an intranet.

Building block of intranet - sites

At Microsoft Ignite 2017, Microsoft has unveiled new SharePoint hub sites to solve the problem of ever-changing site taxonomy and site hierarchy issues due to ever-changing organization structure. New SharePoint hub sites will allow you to associate and disassociate modern team sites and communication sites as needed without any physical association of the child sites to the parent sites. In addition, hub sites will dynamically roll up content and share site navigation, look and feel, taxonomy, and search.

SharePoint Hub Sites

All the images are courtesy of Microsoft Ignite and Microsoft Tech Community Blogs

With the innovation in SharePoint online, modern intranets built on SharePoint Online 2018 and onwards should be primarily architected using communication sites, modern team sites, and SharePoint hub sites. If modern sites are limited for one or another reasons (few known issues at this moment are branding, page layouts but Microsoft is bridging this gap very quickly), classic publishing sites is still a valid option.

Building block of intranet

building block of intranet - hub sites

Future of SharePoint Intranets Information Architecture – Flat IA

Traditionally, SharePoint publishing intranets consisted corporate homepage, department team sites, community team sites, and various resource centers. I have seen SharePoint intranets designed as single SharePoint site collection with corporate homepage as a root site and department sites are subsites. Even though subsites are evil, many intranets over the years designed as a single site collection with subsites, mainly due to time & rapid delivery constraints. I have also seen SharePoint intranets designed with multiple site collections or hybrid multiple sites and site collections especially on the SharePoint on-premises to overcome the issue of site collection size limit.

With the release of SharePoint hub sites and both communication & modern team sites is site collections based, Microsoft has hinted that future SharePoint intranets information architecture can be flat, loosely interconnected site collection based with either SharePoint hub sites or customized all-umbrella root site. This isn’t surprising for seasoned SharePoint architects. For a while, SharePoint architects have raised their concerns over subsites based architecture because of complexity (e.g. parent-child sites relationship management) and governance issues (e.g. unmanageable security groups) due to subsites proliferation. With the innovations in SharePoint hub sites, it’s great to see Microsoft’s recommended approach for the flat information architecture.

Here is the wonderful example of current vs future state of the brave new world of SharePoint information architecture.

Current state

Brave new world of intranet IA

Future state – If business requirements changes to map all the sales sites under single sales department, it’s easy to disassociate “EMEA Sales” from “EMEA” hub site and associate to the “Sales” hub site.

Brave new world of intranet IA 2

Modern Digital Workplace – SharePoint and Office 365 Information Architecture

It’s important to note that SharePoint modern team sites, communication sites, and hub sites should be a small part of your overall Office 365 digital workplace strategy. By keeping modern team sites and communication sites light branded, you can plan to incorporate additional Office 365 applications like Yammer, Planner, Microsoft Teams, OneDrive for Business to design modern digital workplace using Office 365 suite as a seamless experience.

Here is an amazing SharePoint/Office 365 IA diagram from Microsoft Ignite showing how SharePoint can be used along with Yammer, Stream, Teams, OneDrive for Business, and Microsoft Graph.

SPO information architecture

Modern branding and modern site template options

To ease the adoption of the new communication sites as an intranet platform, Microsoft has announced new branding & site template options (site theming, site design, and site scripts) to bridge the gap between communication sites and classic publishing sites. Please note at the time of writing, these might be still in preview.

Resources

 

Do your SharePoint Online User Profile Pictures Sync from Active Directory? How SharePoint Online User Profiles Sync in Office 365 and Azure Active Directory work?

$
0
0

Building personalized and contextual user interfaces are very popular in the SharePoint Online. Many intranets have a personalized news or events widgets based on the employee user profile office or department properties. Have you ever surprised to see some of your active directory user profile properties especially profile photos are not synced to the SharePoint online user profile store? Have you ever wonder what happens when you sync your organization active directory and how some data gets synced to the SharePoint user profile store and some aren’t? If you wonder, read on.

As a SharePoint Online administrator, one of the first thing you should read is – Information about user profile synchronization in SharePoint Online, it provides a great overview of how user profile properties are synced from Active directory to the SharePoint online user profile store.

At a high level:

  • The on-premises active directory is synced to the Azure active directory either using Azure AD sync or customized PowerShell approach.
  • Once employee profiles are synced to the Azure AD, a background process loosely referred as an “AAD to SPO Sync” runs to populate all the global Office 365 tenants AAD profiles in the SPO directory. This SPO directory is nothing but active directory hosted on the Microsoft cloud servers to host all the SPO online profiles source data.
  • As many of you have realized, SharePoint 2016 introduced “AD Import” method to simplify the SharePoint user profile import process to import users profile data with minimal properties. To standardize the process and consistent approach, Microsoft is using AD import method to import global SPO Directory data into the Sharepoint user profile store.

SPO User Profile Sync Process

As you can imagine, if you are aware of the AD import limitations, one of the major issues is user profile photos won’t sync to the SharePoint user profiles. Here is the table I have put together to map various AD properties to AAD properties and SPO user profiles. Items in green get synced after few hours from on-premises active directory to Azure AAD to SPO AD to SPO user profile system. Items in yellow – user photos and cell phone won’t sync due to nature of AD import method for the SPO user profile sync.

AD-AAD-SPOAD-SPOUPA

Behind the scenes, exchange online and outlook is becoming center of gravity for the Office 365 profile pictures. Strange part here is Office 365 syncs exchange online photo for the given user whenever a user visits the Microsoft Delve first time. If you aren’t aware, Microsoft Delve’s user profile properties are stored in the SharePoint user profile store. If you ever manually update SharePoint user profile properties for a given user, it will reflect on the Microsoft Delve page.

If a user manually visits the Microsoft Delve home page, Office 365 background process triggers exchange online photos sync to the SharePoint user profiles. Unfortunately, asking all employees to visit Microsoft Delve at least one time to sync user profile photos isn’t a practical solution. If your custom SharePoint components require profile photos, you have no choice but upload them manually directly to the SharePoint user profile store.

There are more than dozens of articles on the internet to sync user profile photos and cell phone to the SharePoint online user profiles. As of fall 2017, my suggestion to use following two solutions. Both of these solutions worked for us recently. As usual, please plan to test this on the test tenant, prior to running it on the production tenant.

Reference Articles:      

Here are some additional references to your research. Some of them have really nice background information, which will help you understand the larger picture of this issue.

Paradigm Shift in Modern SharePoint Search – Innovations Powered by Microsoft Graph in Microsoft 365, Office 365, and SharePoint Online

$
0
0

Microsoft unveiled some of the biggest Microsoft Search innovations at Ignite 2017 vision keynote, powered by Microsoft Graph in addition to Bing for Business and LinkedIn for Business integration. While watching Vision keynote, the impact of new Search innovations didn’t sink in until I was following tweets from the session Accelerate productivity with search and discovery in SharePoint and Office 365. I was at the Office 365 developer overview session at the same time and amount of tweets sent from search session was so overwhelming that I had no choice but prioritize this session after the Ignite.

If you are a long-time SharePointer, Microsoft Search has come a long way from the SharePoint 2007 days. From the basic SharePoint search based indexing engine, Microsoft has reimagined search many times after acquiring FAST in 2012 (just days before SharePoint 2010 release, with complex connectors and relevancy engine) and Project Oslo (now Microsoft Delve, powered by Microsoft Graph signals for the personalized and contextual results, announced at SPC14).

If you are searching SharePoint Online search results in Fall 2017, all the users in your organizations will receive similar results based on content popularity and content relevancy. This search is based on the search index populated by crawlers crawling SharePoint content in your Office 365 tenant. At Ignite 2017, Microsoft unveiled their vision of new SharePoint search center powered by Microsoft Graph. Rather than searching against SharePoint index, a new search will return data based on users personalized interests, connections, and content. The new search engine will be powered by Microsoft Graph.

Earlier this summer, Microsoft has unveiled their new vision of digital workplace ‘Microsoft 365″ at the Microsoft Inspire 2017 conference, marketed as a complete, intelligent solution to empower employees to be creative and work together securely, using combined Office 365, Windows 10, and Enterprise Mobility and Security licensing packages. One of the major selling points of the modern digital workplace is – increase the productivity and content switching to speed up the innovation and collaborate faster ultimately to achieve better customer service or increase profitability.

At Microsoft Ignite 2017, Microsoft has announced that new Microsoft Graph powered search is not limited to only SharePoint search center. It is getting expanded to SharePoint Online home, Office.com home (Office 365 home), Bing, and Windows tasks bar, a full spectrum of digital workplace offering as Microsoft 365.

Search powerd by MS Graph

Rather than you as a user access the tools to search, the search will be available to you wherever you are to be productive. Microsoft’s vision is taking the search where users are, rather than only available through few products like SharePoint. If you just stop for a second and think, this is a huge paradigm shift in how SharePoint Search and Microsoft Search works. Not only Office 365 graph changes search result from popularity to more contextual and personalized but also opens up new ground for innovation. Search powered by Office 365 graph will allow better integration with LinkedIn Graph and Dynamics 365 Graph opening up the new search experiences.

MS Graphs.PNG

Microsoft Graph Powered Search – Boundaryless, Personalized, Contextual

Here are my few notes while watching Microsoft Ignite search session:

Search powerd by MS Graph 2

  • Core Pillars of intelligent search – Boundaryless, Personalized, Contextual
  • Personalized
    • Evolution of Search –
      • Current search is based on popular content (similar to commercial searches like Bing or Google)
      • Evolving search for matching content and popularity to match people & behavior and entities. The search will use Microsoft Graph as a data tier.
    • NEW – Personalized Search in SharePoint home
      • Will be available late 2017
      • New Search page layout & experience let you explore without losing context
      • Shows multiple categorized data – files, people, sites, news, all on the same page.
      • Preview inline files, supports more than 275 files types, support built by OneDrive team
      • Folder view – You can differentiate results with a similar file name with folder path in a browser and all the results are organized by path.
      • Search results are scope into folder and browser into folder directly from the search experience.
    • NEW – Visual Content Intelligence
      • Ability to extract text and objects from images and create metadata for the search.
      • It’s already available as of Dec 2017 on the Office 365 tenants
  • Contextual
    • It’s optimized for wherever you are – windows, Cortana, office.com, SharePoint, delve, office apps, OneDrive, Bing etc.
    • NEW – New Office home powered by search
      • New contextual homepage
      • Shows apps, docs, sites relevant to you.
  • Boundaryless
    • NEW – Enterprise Search in Windows from taskbar
      • Ability to search local files, Office 365 (docs, people), and organization files
    • NEW – Multi-Geo Search preview in Office 365
      • Preview coming soon in late 2017
      • Unified search index across multi-geo regions of O365
      • First available in SharePoint, OneDrive, and Enterprise Search Center
      • Will be available to other apps – Windows, Office.com, Bing, Office Apps etc.

Reimagined SharePoint Search Center

New SharePoint Search center powered by Microsoft Graph has been reimagined with the new result types.

New SP Search

 

Bing for Business Private Preview

In addition to this, Microsoft has announced Bing for Business as a private preview. The idea here is to get the web and work results in a unified, simple, and secure way. I am sure just like any other technology, large organizations will worry about exposing private organization data by mixing with a public search engine, it’s a matter of time this product will be adopted by all sizes of the organizations. Bing for business results will be powered by Microsoft Graph and internet in one place. I am really excited to have a probability of having the power of Office 365 Graph, LinkedIn Graph, and Microsoft 365 Graph returning organization content, LinkedIn professional connections, and internet results as the unified view.

MS Graph and Bing

Bing for Business Results

Multi-Geo Search

With the new innovation in Office 365, the single tenant can be enabled to span multiple geographic regions. With Multi-Geo enabled tenants, the need for the Multi-Geo search is understandable. Both SharePoint Online sites and OneDrive for Business will be enabled for Multi-Geo tenants, making them an ideal candidate for the Multi-Geo search support. At the time of Ignite 2017, both OneDrive for Business was under preview and SharePoint Online was under development. The new Multi-Geo search will be powered by Microsoft Graph returning geographically dispersed Office 365 tenant data in the single query on the SharePoint Online search center.

Multi-Geo Search

New SP Search - Multi-Geo Search

Search Roadmap – Past, Present, and Future

As Microsoft was announcing their vision of future of Search, they just didn’t stop at what they are doing right now. Future of Office 365 and SharePoint search is even more powerful and few steps ahead than what organizations are looking for. If past search results were based on content matching and popularity, the current focus is on personalized and behavior based search, future is driving actionable results based on search data powered by AI and machine learning.

Search Tech roadmap

I am really excited about the direction where Microsoft Search is headed. How about you?

Resources

 

Recapping Microsoft Ignite 2018 Conference, Orlando, FL

$
0
0

I had a privilege to attend Microsoft Ignite and Envision conference, the fourth year in a row from Sep 24-28th, 2018 in Orlando, FL. This is Microsoft’s signature technology conference focuses on innovations in all three Microsoft cloud platforms (Microsoft Azure & Modern Apps, Microsoft 365/Office 365 & EMS, and Dynamics 365) in addition to areas like Microsoft AI, Microsoft Data, and Windows.

Keynote, Sessions, and Conference Activities Highlights

Microsoft Day 1 & Day 2 usually focuses on the main keynote, sub keynotes, and product keynotes. This year conference started with Satya Nadella’s vision keynote. This year’s main theme was “Tech Intensity”. I love attending and listening to Satya’s vision, but this year I felt it was dry and wasn’t up to mark. It was short and only for an hour, and I have seen people lost their interest as keynote delivered.

Another big problem with the keynote that rooms are very small, and even though I was at the conference center at 8 AM, I was asked to go to the viewing area. I wasn’t happy about getting redirected to the viewing area at 8 AM. What’s the point of attending the conference keynote, if there are no spaces for the live event, and live streamed worldwide. It’s a problem Microsoft needs to solve. The only major announcement at the keynote was an Open Data Initiative announced a joint effort from Adobe, Microsoft, and SAP.

My typical focus at the Microsoft Ignite has been Office365 and SharePoint Innovations over the years. This year, I have decided to focus on Microsoft Azure and Modern App Development tracks. After the main keynote, I have attended Scott Gutherie’s sub keynote focusing on IT and developer success with Microsoft Azure.

After lunch, the main keynotes followed by general sessions. I have attended the general session to focus on Azure infrastructure overview. Both sub keynote and general session are a great starter for the Microsoft announcements in the specific area. Ignite usually have a three sub keynotes and 7-8 general sessions to funnel attendees to specific areas of their interest.

My first day ended with the first breakout session delivered by ever-energetic Donovan Brown focusing on getting started with Azure DevOps. His session was the highlight of the first day. Twitter has been my friend over the years to stay up to date with other areas announcements.

Since I decided not to attend modern workplace sessions, Twitter was the best where I was able to catch up what’s happening in the Microsoft 365, Office 365, SharePoint, and Microsoft Teams space. My first day ended with Microsoft Ignite Welcome Reception party at the Expo.

My Day 2 continued with Azure Sessions. First one in the morning started with real-world architecture considerations for Azure: how to succeed and what to avoid. Great overview of various Azure architecture patterns, but felt it was too dry. It was a good overview of Azure reference architectures on the Github and Microsoft site (link at the bottom).

The second session in the morning was app modernization with containers on Microsoft Azure. Brilliant overview of various Azure container services with reference architectures. Don’t get me wrong but first few days of the MS Ignite is more focused on announcements, roadmaps, and lots of marketing materials. If you are following Microsoft updates on Twitter, at times, it feels like there isn’t anything new announced at the Ignite.

I spent my afternoon walking through Expo area and learning about some of the ISVs like Unily and Valo Intranet in SharePoint space. I have attended only one session in the afternoon securing enterprise productivity with Office 365 threat protection services including EOP, ATP, and Threat Intelligence. This session provided a great overview of EMS features.

My Day 3 started with two back to back Microsoft Azure Exams (AZ-300 and AZ-301) sessions. I have attended similar sessions in past SharePoint conferences and didn’t find it any useful. Fast forward 5-6 years at this Microsoft Ignite conference, same was true. I would suggest avoiding these sessions, as speakers don’t provide many details than what’s on the MS learning site. The worst part about these was I ended up losing my morning to unnecessary sessions.

After lunch, I visited LiveTiles booth to learn about their intelligence workplace and LiveTiles intranet offerings on SharePoint and Microsoft Azure platform. My afternoon started with attending Microsoft IT session to learn about their journey and approach from Skype for Business to Teams. It was short but very useful. Understanding change adoption and champions program are as important as technology are great to see in a real-world case study.

There were few SharePoint sessions I was interested in the late afternoon but decided to walk through the expo. I stopped by tons of ISVs and Microsoft booths to learn about their products, partnership structure; RenCore, MS Learning, LMS365, Sharegate, and Nintex comes to the top of my mind.

If you are a deep technologist and regular MS Ignite attendee, real fun usually starts on Day 3 and Day 4 with deep dive sessions. My Day 4 started with Microsoft Teams Architecture Deep Dive. I attended the same session last year, and even though there were lots of repetition, this is one session I love to attend. Understanding what’s under the hood is a great way to master the technology. If you haven’t attended this session, I would highly recommend.

My 2nd session was an overview of new Microsoft 365 Security and Compliance centers. I welcomed Microsoft’s decision to break the current Security and Compliance center into two different admin centers. It was confusing to have both Security and Compliance on the same portal.

The third session I have attended was an IT pros guide to Open ID Connect, OAuth 2.0 with the V1 and V2 Azure Active Directory endpoints. I have never heard about John Craddock, but he was one of the best speakers I have come across. This is one of the must sessions every IT Pro and developers should review.

After lunch, I have visited SharePoint Spaces Immersion viewing area to experience SharePoint spaces and discuss under the hood architecture with the engineering team. It followed with my visit to Workplace Analytics and MyAnalytics booth to understand the product, licensing, and future vision, before heading back to the hotel for the Ignite Attendee Party at the Universal Studio.

Last day of Ignite is like the aftermath of Indian Wedding Ceremony where no guests, no parties, no major events, but only a few close friends & workers cleaning up space. I love going to Ignite Convention center on the last day with there is no expo and most of the people are already on their way back to their hometown.

I attended two sessions on the last day before wrapping up experience with the event – Microservices architecture with .NET Core, Docker containers, and Azure, and SharePoint and OneDrive better together with Microsoft Teams. I loved both of these sessions with tons of practical guidance and information. As a long time SharePointer, It was interesting to see that I attended only one SharePoint session, and it was the last one on the last day.

Conference Activities and Logistics

The third year in a row, I am impressed with how Microsoft runs their conferences. You will never run out of choices in the midst of the hundreds of activities – 75 minutes breakout sessions, 45 minutes of short breakout sessions, 20 minutes of theatre sessions, expo & evening happy hours, after-event parties, Microsoft product engineering booths, Viewing Lounge, Microsoft mechanics & podcast area, HOLs (Hands-on Labs), Immersion Labs (private 6-8 people, case study focus scenarios) and list goes on.

Every year, I try my best to analyze conference location, logistics, and food. I must say – Orange County Convention center in Orlando is huge and arguably my favorite location. I loved the way the venue had various seating areas (benches, couches, bean bags, etc.) sprinkled throughout the conference building (both indoor & outdoor). The food choices ranged from cold sandwiches to hot meal to an endless supply of beverages. I must say Microsoft Ignite food is getting better at each event.

Microsoft rented both Hyatt & West buildings for this year’s event. Last year a mile-long bridge walk between North/South and West building was a disaster in a toasty Orlando weather. It was great to see Microsoft tried to keep all the sessions in West and Hyatt building reducing overall walk in between sessions.

    

Just like Orlando last year, Microsoft reserved lodging space in three major areas – Convention Center/Sea World, Universal Studio, and Disney Springs. Microsoft had daily shuttles to transport conference attendees from these remote locations. Since I am not a morning guy, one of my favorite habits has been to live stream first session while commuting to the conference on shuttles. That allowed attendees like me to have the best of all – attend sessions, attend evening parties, & have a relaxed time while commuting to the conference location.

Last but not least, I can’t praise enough Microsoft Ignite Mobile App throughout the conference center. I simply loved way finder in the App from one location to another location in addition to schedule builder/my conference calendar. Microsoft started live-streaming sessions on the Ignite App since last Ignite Atlanta 2016, which not only helped session overflow situation but it also greatly helps if you want to relax in the quiet area and enjoy the session from a distance.

Wrap-up

This year’s Microsoft Ignite is probably one of the best conferences I have attended. I must say it’s getting better and better each year. Microsoft has mastered the event management and logistics of location/venue, attendee party, content, and list of activities for 26000+ people. If you haven’t been to Microsoft Ignite, it’s an experience everyone should have.

I attend Microsoft Ignite to learn, to connect, and to be inspired. Every year after Ignite, I am on a technology drugs, watching lot more Ignite videos than I would see without attending it. I would like to extend my special thanks to my current employer (SPR Consulting for picking up the expenses) to allow me to attend this conference and making this happen.

References

What’s New in SharePoint 2019 On-Premises Server

$
0
0

Microsoft has announced this week that SharePoint 2019 is in GA. Let’s be honest, last great product of the SharePoint on-premises was SharePoint 2013. SharePoint 2016 was labeled as the first cloud-born SharePoint on-premises product with lots of infrastructure update, without any major UI or features updates. SharePoint 2019 is the polar opposite and comes with modern SharePoint Online features. It’s built on the cloud-born model introduced in SharePoint 2016, but brings modern SharePoint Online user experience and cloud innovations to the on-premises customers. SharePoint 2019 will be remembered as modern SharePoint version and introduces all the SharePoint online features circa fall 2017, minus cloud only features like Delve, Office 365 Groups, Yammer, or Microsoft Teams integration.

Microsoft first announced the availability of the SharePoint 2019 at Microsoft Ignite 2017 (Sep 2017), first showed the preview of SharePoint 2019 product at the SPC 2018 (May 2018) before releasing public preview bits in July 2018. At Microsoft Ignite 2018 (Sep 2018), they have shown SharePoint 2019 to the much larger audience before releasing RTM or GA version in October 2018.

I have watched Microsoft Ignite 2018, SharePoint 2019 overview session, and this blog summarizes all the announcements and new features introduced as of Oct 2018. I must say – none of our customers were interested in upgrading their on-premises environment to SharePoint 2016 (due to infrastructure upgrade and large numbers of servers required to support min-role model, IT don’t call shots anymore), but we hear lot more buzz around SharePoint 2019 (due to a large number of features and this is primarily UX dominated release, business wins in most cases). I do expect more organizations will modernize their SharePoint environment during this release than infrastructure only SharePoint 2016 release. I do expect more organizations will upgrade their SP2010 and SP2013 to the modern UI and cloud-born SP2019, skipping SP2016 directly.

SP2019 will be remembered for some of the features like Modern team sites, Modern lists and libraries, Communications sites, URL paths with 260->400 and #% characters, New Search Center, OneDrive Sync Client, and a lot more powerful SharePoint Framework support.

Here is the summary of all the announcements of SharePoint 2019. You can also find all the summaries in the wonderful PDF document released by Microsoft as SharePoint 2019 Reviewers Guide.

Share and work together – modern collaboration experience investments

  • Self-site creation experience for team and communication sites from SharePoint homepage; it creates sites in seconds. It supports OneDrive personal sites (introduced in SP2016), Modern SP Team sites and SP Communication sites (new in SP2019); this will allow creating sites in minutes, rather than long-running timer jobs.
  • Modern Team Sites – Updated experience for home page, lists, libraries, pages, and news; easy to customize; navigation in App launcher refreshed similar to cloud; these team sites are not group connected (Office 365 Groups are cloud only capabilities); upgrade from SP2016 to SP2019 will stay with classic team sites but you can take advantage of modern lists and libraries on upgraded classic team sites; you will be able to create modern team sites using modern team site templates.
  • Modern Libraries – SP2016 FP1 introduced modern OneDrive user experience, SP2019 introduces same experience for SharePoint sites; it’s responsive UI with modern, simplified sharing experience, newly detailed pane to view important metadata for documents; still supports classic view – Ability to pin multiple documents to the top, details pane for document metadata (e.g. preview generated by office online server, who has access to documents, and recent activities)
  • Modern Lists – Introduces new lists experience; JSON columns formatting with JSON like color coding and data columns (opensource gallery available on GitHub); simplified filtering and managing columns directly from the UI; details pane to view important metadata; new bulk editing capabilities; still supports classic view – intuitive experience with new filtering pane, bulk edit items and live update of list views, and save personalized views
  • Modern Pages – Rich authoring, mobile-friendly, responsive framework, out of box modern web parts using SP Framework (SPFx first introduced in SP2016 FP2 without any buildout web parts)
  • OneDrive Sync Client – Fast, reliable, and proven experience with OneDrive.exe (NGSC); Sync documents from devices and computers form on-premises for both SharePoint and OneDrive folders; new sync experience like files on demand, push notifications – no more Groove available in SP2019; OneDrive modern user experience available since SP2016 FP1, new capabilities in SP2019 are OneDrive Sync Client integration (click on sync button to setup sync relationship with user personal OneDrive, uses files on demand by default, it means files are not downloaded to your hard drive by default, either you download OnDemand or make it cloud only by clicking on free up my space), push notification (OneDrive sync client is notified, and instances syncs those files). OneDrive sync client will support only SP2019 or later. OneDrive Sync client will not be supported on the previous version of the SharePoint.

Inform and Engage Employees – Connecting employees to resources and data they need to perform their job

  • SharePoint Home – New SharePoint landing page for collaboration; Your relevant sites, news, activities are in one place. In Cloud, it’s powered by Graph. In on-preemies, it will be powered by SP search engine – keeping up with personalized experience (news from sites, following sites with most recent activities, suggested sites with most recent activities), a quick search box to lookup with type ahead, featured links are links promoted by an organization for all the users
  • Team News – Allows you to keep up with and broadcast key events and announcements with other members of the team, including videos & images & rich formatting capabilities
  • Communication Sites – Intended to create beautiful and dynamic sites to reach broader audience with predefined rich, responsive layouts – new web parts (hero web part, events view/calendar web part, activities web part); communication site can be the root of web application on on-premises (will be available on SharePoint online by end 2018)
  • Mobile Experience – Beautiful sites on every device, get SharePoint on the go with the SharePoint mobile app – Sites and News (communication site, modern team site)
  • New Search Experience – Modern search experience; type ahead contextual results in search box with instant search results; combined search results for sites, files, and people, modern search results page for SharePoint home and site search; the hybrid search is available through hybrid search configuration wizard

Transform business processes – Modernizing productivity of your business with business process automation

  • SP2019 integration with PowerApps and Flow using data gateway (similar as SP2016 and requires a hybrid connection), no integration directly from UI, you have to start from PowerApps and Flow services UI and use connectors.
  • Project Server 2019 (included part of SharePoint binaries since SP2016)
  • Office Online Server – Evergreen model, once or twice a year they release a new version, both existing and newer version will be compatible with SP2019
  • Continued support for SharePoint 2010 and SharePoint 2013 workflows

Developer Investments

  • SharePoint Framework (v1.4.1 for SP2019 except for Microsoft Graph capabilities) for cloud-ready and future-proof customizations – Build custom lightweight and mobile-ready client-side web parts, Extend SharePoint experiences within a modern web page and libraries using extensions and custom actions, automate business processes using webhooks (connect to services to listen to events of SharePoint)
  • What is supported in the SharePoint Server 2019 from development platform perspective? – Modern pages, Modern team and communication sites, modern subsites, Column formatting, SharePoint Framework client-side web parts and extensions (v1.4.1, except the Microsoft Graph capabilities), Webhooks, Asset packaging – hosting your solution assets automatically from app catalog site collection, Tenant scoped deployment – deploy your web parts cross the farm just by installing them to the app catalog, ALM APIs for add-in and SharePoint Framework solution management
  • What is NOT supported in the SharePoint Server 2019 from development platform perspective? – Site Designs and Site Scripts, Hub sites, Custom modern themes – Out-of-the-box modern themes are available for team sites and communication sites, and Site collection app catalog

IT Pro Investments

  • Continued simplified SharePoint administration introduced in SP2016 – Zero downtime, Min roles
  • Software Requirements – Windows Servers (Win Server 2016 or Win Server 2019) and Database Servers (SQL Server 2016 or SQL Server 2017)
  • Key Software Prerequisites – .NET Framework 4.7.2 and WCF Data Services 5.6
  • SharePoint Hybrid Configuration Wizard – Triggered from SPO admin center for earlier versions, integrated from central administration in SP2019
  • SMTP Server Authentication – SP can now authenticate to your SMTP email servers (no more anonymous relays just for SharePoint)

Infrastructure and Platform Improvements

  • Large file support – SP2019 supports uploading files up to 15 GB (compare to 10GB supported on SP2013)
  • Expand Supported Characters – support # and $ in file and folder names, supporting valid windows file and folders names, will work with new OneDrive sync
  • Long URL path – 400 characters for MAXURL (increased from 256 characters), more expressive names for your sites, libraries or use deeper nesting for your content organization
  • Recycle bin recovery improvements – Recover your content deleted by others from your recycle bin (you would need edit permission on that document to recover)
  • Performance Improvements – Up to 25% file I/O performance improvements for file upload/download and page load
  • Modernized IIS integration – Remove IIS6 dependencies by switching to modern IIS APIs

SharePoint 2019 Deprecated and Removed Features

  • Deprecated Features – A feature still available/supported in SP2019 but MS no longer choose to invest, MS suggests customer look for alternative options, may be removed from future SP on-premises releases
    • Access Services 2010 and 2013
    • Aggregated Newsfeed
    • Custom Help
    • InfoPath Client/InfoPath Services
    • Lists web service
    • Machine Translation Service
    • PerformancePoint Service
    • SharePoint Designer
    • Site Mailbox
    • Site Manager
  • Removed Features – No longer available/supported in the product binaries, either they are removed from previous SP on-premises releases or SharePoint Online
    • Automatic Mode in incoming email (no more IIS6 support)
    • Code-based sandbox solutions
    • Digest Authentication
    • Multi-Tenancy
    • Silverlight rendering in PerformancePoint Services and Visio Services
    • SQL Reporting Services Integrated Mode
    • Power Pivot and Power View

Resources

 

Viewing all 86 articles
Browse latest View live