SlideShare a Scribd company logo
©2017 Avanade Inc. All Rights Reserved.©2017 Avanade Inc. All Rights Reserved.
©2017 Avanade Inc. All Rights Reserved.©2017 Avanade Inc. All Rights Reserved.
Kevin Timmerman – October 26th 2017
Migrating your customizations from On-Prem
to SharePoint Online
©2017 Avanade Inc. All Rights Reserved.
Kevin Timmerman
• Working at Avanade Netherlands since 2008
• Manager in the Software Engineering community
o Involved in multiple (large) projects implementing and migrating SharePoint
2007, 2010, 2013 and Office 365 / SharePoint Online
o Combined roles as developer/team lead & architect/PM
Hobbies
o Musician, playing trumpet since 1994
o ‘Do it your self’ home improvements
o Inline skating
Meet the speaker
3@timmermankevin www.timmerman.it timmermankevin kevin.timmerman@avanade.com
©2017 Avanade Inc. All Rights Reserved.
✓ SharePoint development introduction
✓ Full Trust Code migration challenges
✓ Connected Application migration challenges
✓ Content migration challenges
✓ Other migration observations
✓ Summary
✓ Questions
Agenda
4
SharePoint On-Prem
SharePoint Online
Migration Approach
©2017 Avanade Inc. All Rights Reserved.
SharePoint Development Introduction
©2017 Avanade Inc. All Rights Reserved.
6
* Only declarative sandbox solutions are supported. Code solutions are deprecated and are
unavailable on O365/SPO
** Still available, but the recommendation to switch to CSOM/REST API’s which might indicate
that the ASMX services will be deprecated in the near future
*** The SharePoint Framework is added to the Feature Pack 2 released in Fall 2017
SharePoint Development Introduction
SP 2007 SP 2010 SP 2013 SP 2016 O365/SPO
Full Trust Code Solutions YES YES YES YES NO
ASMX web services YES YES YES YES** YES**
Sandbox solutions NO YES YES* YES* YES*
CSOM/REST API’s NO YES YES YES YES
Add-ins NO NO YES YES YES
SharePoint Framework NO NO NO NO*** YES
©2017 Avanade Inc. All Rights Reserved.
Full Trust Code migration challenges
©2017 Avanade Inc. All Rights Reserved.
8
Full Trust Code migration approach
• Obtain proper
understanding on
the app model
• Hosting decisions
• Solution package
assessment one by
one
• Can be partly
automated with
existing tooling
• Analyze requirements
• Initial high level
planning based on
functional and
business
requirements
• Detailed technical
planning
• Actual
development and
testing based on
previous steps
• Deployment of
apps
• Transforming
content
• Retracting
solutions
©2017 Avanade Inc. All Rights Reserved.
9
What do you really
want to achieve?
©2017 Avanade Inc. All Rights Reserved.
• Activate or deactivate features
• Permission management
• SharePoint Designer settings
• Site logo
• Audit settings
• Regional settings
• Time zone settings
• Site branding
• Language settings
• Add artifacts/files to site
• Site columns
• Content type definitions
• List/library definitions
• Home page web parts
• Event receivers
• Subsite creation
10
Typical Full Trust Code functionality
©2017 Avanade Inc. All Rights Reserved.
Use SharePoint Patterns & Practices Framework
11
Identify potential migration
challenges
©2017 Avanade Inc. All Rights Reserved.
13
• Custom CSOM/FTC/PowerShell scripts to run against existing farm
• Analyze the FTC solutions/WSP’s source code
• SMAT Tool (SharePoint Migration Assessment Tool )
• Although called the 2013 migration tool, it also works on 2010 and 2016.
• Download: https://www.microsoft.com/en-us/download/details.aspx?id=53598
• Run directly from command prompt on a WFE using a farm admin
account:
• SMAT.exe [-o] [-t] [-sv]
How to identify (FTC) challenges
Output
folder
#
threads
Skip
checks
©2017 Avanade Inc. All Rights Reserved.
14
SharePoint Migration Assessment Tool
©2017 Avanade Inc. All Rights Reserved.
15
Reports on many types of customizations/remediation area’s:
SharePoint Migration Assessment Tool (2)
Add-Ins
Alerts
BCS
Browser File Handling
Checked-out Files
Custom Profile Mappings
Customized Pages
Email Enabled Lists
File Versions
Full Trust Code (FTC)
InfoPath
IRM Enabled Lists
Large Excel Files
Large List Views
Large Lists
Large Sites
Locked Sites
Long OneDrive URL’s
Managed Metadata Columns
Master Pages
Publishing Pages
Publishing Sites
Sandbox solutions
Secure Store
Site Template Language
Unsupported Site Templates
Web Application Policies
Workflow Associations
Running Workflows
©2017 Avanade Inc. All Rights Reserved.
16
Example output:
SharePoint Migration Assessment Tool (3)
©2017 Avanade Inc. All Rights Reserved.
17
In the next slides these most common FTC remediation challenges and solutions will be
addressed:
✓ Site branding
✓ Custom Web Controls & Web Parts
✓ Custom User Profile Properties
✓ Timer Jobs
✓ Event receivers
Remediation challenges
Site branding
©2017 Avanade Inc. All Rights Reserved.
Custom master page
• Can introduce any level of customizations
• When new changes are introduced to the OOTB master page, those should be copied to
custom master pages as well
• Additional maintenance burden
• Future major version upgrades can cause additional requirements to re-create the end
user experience
Custom master page vs. (O365) theme
©2017 Avanade Inc. All Rights Reserved.
Site theme
• Can be introduce to bring
color, font and background
image settings
• Sites with themes will still
use OOTB master pages,
so any updates will be
automatically reflected on
the sites
• Future major version
upgrades don’t cause
additional costs
• Needs to be stored on
each site collection
• Additional maintenance burden
Alternate CSS
• Simple styling using CSS
• Won’t break in case of SharePoint
upgrades
• Store on central location accessible
to everyone
• Not yet applied to the modern UI
Custom master page vs. (O365) theme (2)
O365 theme
• Centrally control branding
across all services in O365
• Overriding the O365
theme can be
enabled/disabled by
tenant admin
• No customizations
required, so no additional
costs during future
upgrades
• Not available on-prem
©2017 Avanade Inc. All Rights Reserved.
21
• During implementation the FTC and new approach will co-exist, allowing a phased roll-out
and pilot testing
• If issues occur, you can easily switch back to the FTC solution and determine a new
approach/solution
Remediation strategy
1
• Identify custom master pages and alternate CSS used
2
• Create CSOM/PowerShell script to implement new branding strategy (revert to OOTB
Master Page/unghost Master Page/CSS file/use themes)
3
• Create new sites with new branding strategy
• Remove FTC branding solution (including any non-referenced FTC Master Pages etc)
Custom Web Controls & Web Parts
©2017 Avanade Inc. All Rights Reserved.
23
Rather than implementing custom web controls/web parts, use standard content/script editor
web parts in combination with JavaScript injection
Custom Web Controls & Web Parts
Full Trust Code
• Custom web control on master page
• Will break if FTC is removed
• Downtime for each upgrade/change
JavaScript Injection approach
• Client-side rendering using JavaScript
• Use the JSOM and REST API’s in
SharePoint (on-prem and SPO)
• No downtime for upgrades/changes
js
Provider Hosted
Add-in
SharePoint
Service
2
Association of JavaScript injection (user
custom action) to the site, so that code is
executed during site processing.
1
UX elements are rendered with JavaScript by using a
script stored either in SharePoint, centrally in the
provider hosted Add-in or in some CDN. Preferable
in one location for easy update cross all instances.
3
©2017 Avanade Inc. All Rights Reserved.
24
Remediation strategy
1
• Identify custom web controls and web parts used
2
• Create CSOM/PowerShell script to add the Custom Action to the affected sites
3
• Create script to replace any web parts with script editor/content editor web part
• Create script to remove the custom web controls
4
• Create new sites with new custom action/OOTB web parts being added
• Remove FTC custom web control/web part solution
Custom User Profile Properties
©2017 Avanade Inc. All Rights Reserved.
Most common on-prem situation:
- Additional user profile properties can be mapped in the SharePoint User Profile Service and
can be directly read/written to/from AD
Custom User Profile Properties – on-prem
Functionalities can use
the user profile
properties to show
information or to
change the end user
experience.
3
Active
Directory
SharePoint
Service
12
©2017 Avanade Inc. All Rights Reserved.
A standardized set of attributes are replicated from Azure Active Directory to the SharePoint
Online User Profile Store within Office 365. Unlike on-premises SharePoint, these attributes
cannot be customized.
Custom User Profile Properties - SPO
Functionalities can use
the user profile
properties to show
information or to
change the end user
experience.
6
Active
Directory
Custom
synchronization
tool
SharePoint
Service
Custom synchronization
tool for extended
attributes what needs to
be synced to SharePoint
user profile
Standardized set of
attributes are replicated
to the SharePoint user
profile store.
Azure
Active
Directory
Customer
12
LoB Systems
4
3
5
json
JSON file for bulk
updates in the
user profile store
©2017 Avanade Inc. All Rights Reserved.
28
Remediation strategy
1
• Identify and create User Profile Properties on SharePoint
Online based on existing apps/requirements
2
• Create and periodically schedule custom synchronization tool
to perform the bulk updates
3
• Adjust any SharePoint customizations which use user
properties where needed
• On-premise SharePoint does not support updating User Profile properties via CSOM. Here
you need to use the standard profile mapping from the UPS or a customization
Timer Jobs
©2017 Avanade Inc. All Rights Reserved.
Full trust code timer jobs are not available on O365, these need to be replaced with remote
timer jobs which can be hosted anywhere (including Azure webjobs)
Timer Jobs
Provider Hosted
Apps
SharePoint
Service
2
Scheduled execution which accesses
the needed resources from the
SharePoint service and performs the
required automation.
Can use either specific account for
connection or oAuth based app-only
token approach
1
Remote timer
job
Full Trust Code Timer Job
• Runs as part of SharePoint
• Execution controlled by SharePoint
• Downtime for each upgrade/change
Remote Timer Job
• Use CSOM/REST API’s
• Runs outside SharePoint
• More flexible execution control
• No downtime for upgrades/changes
©2017 Avanade Inc. All Rights Reserved.
31
Remediation strategy
1
• Identify location for the remote timer job to run (Azure web
job, on-prem server executable with scheduled task etc)
2
• Recreate the FTC functionality using the CSOM/REST API’s
3
• Activate/schedule the remote timer job and retract the FTC
timer job solution
• If the timer job needs to connect to on-prem resources as well, it might be easier to host it
inside the company’s network to prevent challenges with incoming traffic firewall rules
Event Receivers
©2017 Avanade Inc. All Rights Reserved.
Event receivers can’t be used anymore in SharePoint Online and need to be replaced by
remote event receivers which will hosted externally
Event Receivers
Full Trust Code Event Receiver
• Runs as part of SharePoint
• Guaranteed execution
Remote Event Receiver
• External web service is called when events
in host web occur
• No guaranteed execution
• Hosting in Azure is preferred
Provider Hosted
Apps
Access
Control
System
LOB
System
SharePoint
Service
1
2
3
4
5
©2017 Avanade Inc. All Rights Reserved.
• Be aware that there is no guaranteed delivery for remote event receivers, e.g. due to
network errors
• A workflow might be a better solution in some use cases
Remediation strategy
1
• Identify location for the remote event receiver (Add-In, external web service etc)
2
• Recreate the FTC functionality in the web service using the CSOM/REST API’s
3
• Replace the FTC event receiver registration with the remote event receiver in the
SharePoint site/list/list item
4
• Retract the FTC event receiver solution WSP
Connected Application migration challenges
36
▪ An application which is located outside SharePoint and performs operations against
SharePoint
▪ Provider hosted application
▪ Windows applications
▪ Console applications
▪ Can be identified from a combination of sources:
▪ Application registries maintained by your organization
▪ Consulting with existing application support teams
▪ Analyzing the SharePoint on-prem IIS logs:
▪ Accounts known to be used for applications (e.g. service accounts)
▪ Calls to REST API’s and ASMX web services
What is a Connected Application
37
▪ Maintenance and operational costs
▪ Long term roadmap of your customization vs. SharePoint roadmap
▪ Ability to create additional functionality
▪ Flexible model to serve both on-premise and O365/SPO
▪ No SharePoint downtime anymore during deployments
▪ Keep as close as possible to out of the box functionality
(Connected) Application considerations
©2017 Avanade Inc. All Rights Reserved.
38
Applications connecting into SharePoint 2013 or 2016 need to update their authentication
mechanism to work against SharePoint Online:
• Current user account (e.g. first.lastname@contoso.com)
• Cloud Identity (e.g. first.lastname@contoso.onmicrosoft.com)
• Token and Client Secret
• Azure AD Token and certificate
Use the ADAL library to do most of the work for you in your app
Bear in mind that the authentication/token will expire after 1 hour, and as per best practice it’s
recommended to cache the token for ~50 minutes if your connected application performs a
lot of requests
Connected Applications
©2017 Avanade Inc. All Rights Reserved.
If a ExecuteQuery is throttled by SharePoint, it throws a HTTP status code 429: “Too many
requests”
You can catch this error code and implement a cool down and retry mechanism
The Core.Throttling example from the PnP framework has the
“ExecuteQueryWithIncrementalRetry” extension method to catch HTTP codes 429 and 503
If you also want to catch any other unexpected errors (like timeouts/network outages), you can
implement the same approach
More information about connecting to SPO and best coding practices can be found in my
presentation from last year: http://www.timmerman.it/index.php/session-slides-and-code-
effective-client-side-coding-against-o365/
Handling throttling and network outages
©2017 Avanade Inc. All Rights Reserved.
Content migration challenges
41
In the next slides these content remediation challenges and solutions will be addressed:
✓ Custom Field Types, Site Definitions and List Definitions
✓ Sandbox solutions
✓ List Templates
✓ Large Lists
✓ Large List Views
✓ Running Workflows
✓ Workflow Definitions
✓ InfoPath Forms
Remediation challenges
Custom Field Types, Site Definitions
and List Definitions
Unfortunately, there are not replacement options in SharePoint Online for these customizations
and the only option is a content migration
Custom Field Types, Site Definitions and List
Definitions
1
• Identify the locations where these customizations are used
2
• Recreate the content structure using OOTB functionality
3
• Migrate the content from the old location to the new location
Sandbox Solutions
©2017 Avanade Inc. All Rights Reserved.
45
Code based sandbox solutions are already deprecated for a while, but people might still be
using these on on-premise farms.
Only declarative sandbox solutions are still allowed, at this moment…
Sandbox solutions normally aren’t migrated by migration tooling, but if they are, on SharePoint
Online any code-based sandbox solution can’t be activated anymore.
If not properly remediated prior to the migration, this might lead to
orphaned FTC references and issues after the migration
• E.g. if a List Definition doesn’t exist anymore, the list will break and will
cause CSOM calls to retrieve all Lists on the site to fail.
Sandbox Solutions
©2017 Avanade Inc. All Rights Reserved.
Remediation strategy
1
• Assess the sandbox solution WSP’s
2
• Ensure any solution files are unghosted and copied into the actual site (content DB)
• Remove any FTC references added by the sandbox solution (e.g. event receivers)
3
• Update sandbox solution to not remove files upon FeatureDeactivating event
4
• Deactivate sandbox features and remove sandbox solution
List Templates
©2017 Avanade Inc. All Rights Reserved.
48
List Templates can contain references to Full Trust Code (e.g. event receivers, custom column
definitions).
Those need to be remediated prior, or as part of the migration to SharePoint Online.
Approach 1
1. Remediate all FTC references from existing lists/libraries
2. Backup and delete all existing List Templates and inform end user to recreate the templates
Approach 2
1. Remediate all FTC from existing lists/libraries
2. Remediate the List Templates by investigating the STP file and update the STP contents to remove the references
to FTC
List Templates
©2017 Avanade Inc. All Rights Reserved.
1. Rename the .STP file to .CAB
2. Extract the .CAB file to a new folder
3. Open the new folder and locate the “manifest.xml”
4. Go to the “<Receivers>” node
5. Locate all “<Receiver>” nodes which relate to your FTC and delete the entire related line
from “<Receiver>” to “</Receiver>”
6. Locate all “<XmlDocument
NamespaceURI="http://schemas.microsoft.com/sharepoint/events">” nodes and delete
them from “<XmlDocument” until “</XmlDocument>”
7. Save the “manifest.xml”
8. Repackage the .CAB file
9. Rename to .STP an replace the STP in SharePoint
List Templates – Approach 2
©2017 Avanade Inc. All Rights Reserved.
50
List Templates – Approach 2 example
Large Lists
©2017 Avanade Inc. All Rights Reserved.
52
Large lists (with more than 5.000 items) have been a challenge since SharePoint 2010, but the
List View Threshold could easily be increased by a farm admin or a window for this could be
configured (aka ‘happy hour’).
On SharePoint Online, these workarounds are not available anymore on any list with more than
5.000 items, if:
- More than 5.000 items are returned
- More than 5.000 items need to be analyzed if they match the list view conditions
To reduce risk, it’s recommended to review all the lists with more 5.000 items to ensure they
can still be accessed on SharePoint Online.
Large Lists
©2017 Avanade Inc. All Rights Reserved.
53
• Use folders or additional lists to not have more than 5.000 items in a list/folder
• Requires a content migration, potential breaking links
• Configure indexes on the list based on the views already present or create views to split up
content
• Requires analysis of the lists, small impact of storage used for the indexes
Note:
• There is a maximum of 20 indexes per list
• There is still an upper maximum of 20.000 list view threshold, after which indexes can’t be
added anymore
• SharePoint Online and SP2016 automatically adds indexes when your list approaches the
5000 item limit. Ensure this list/library setting is enabled:
Remediation Strategy
Large List Views
©2017 Avanade Inc. All Rights Reserved.
55
Large list views (with more than 12 lookup columns) have been a challenge since SharePoint
2010, but the List View Lookup Threshold could easily be increased by a farm admin or a
window for this could be configured (aka ‘happy hour’).
On SharePoint Online, these workarounds are not available anymore on any list view with more
than 12 lookup columns:
- Managed Metadata columns
- User/People columns
- Last Modified By/Created By
- Lookup columns
- Workflow Status
- Name (linked to document/with edit menu), Link (to edit item)
- Type (the document icon)
Large List Views
©2017 Avanade Inc. All Rights Reserved.
56
• Remove lookup columns from a view if they don’t bring additional value for that view
• Split up views which have more than 12 lookup columns
Note:
• This is a limitation of the number of lookup columns you can use in a single view, not a
limitation of the lookup columns in your list
Remediation Strategy
Running Workflows
©2017 Avanade Inc. All Rights Reserved.
58
None of the migration tools, to date, is able to migrate workflows which are in progress.
The workflow definitions will be migrated, but the user needs to restart the workflow on
SharePoint Online post migration.
The best approach is to inform end users to finish as much as possible running workflows prior
to the migration.
Running Workflows
Workflow Definitions
©2017 Avanade Inc. All Rights Reserved.
60
Workflow definitions might contain references to user accounts, e.g: MYDOMAINJohn.Doe on
SharePoint Online, this account will be i:0#.f|membership|john.doe@mydomain.com.
The workflow definitions need to be updated with these new accounts and then republished.
Note:
The ‘SaveDefinition’ method might fail on large workflows. The alternate solution would be to
update the XAML file directly in the “<(sub)site url>/wfsvc/<definition guid without
dashes>/<Definition.FullName>” location
Workflow Definitions
Workflow 2010 Workflow 2013
Located in <(sub)site url>/Workflows/<workflowname>/ Use ‘WorkflowServicesManager’ to iterate through 2013
workflow XAML definitions
Look for <workflowname>.XOML and .XOML.RULES file Replace account names
Replace account names Call ‘SaveDefinition’
Manually republish workflow from SharePoint Designer Call ‘PublishDefinition’
©2017 Avanade Inc. All Rights Reserved.
61
Workflow examples
Generates
.rules file
©2017 Avanade Inc. All Rights Reserved.
62
Workflow Definitions (2)
©2017 Avanade Inc. All Rights Reserved.
63
Workflow Definitions (3)
©2017 Avanade Inc. All Rights Reserved.
64
Workflow Definitions (4)
©2017 Avanade Inc. All Rights Reserved.
65
Workflow Definitions (5)
©2017 Avanade Inc. All Rights Reserved.
66
Other area in workflows which requires attention are:
• Impersonation steps: if a 2010 workflow uses impersonation, the user publishing the
workflow should continue to have the access which the workflow requires
• Sending e-mail: this will only work if the recipient has a SharePoint license assigned
• “The selected user(s) may not be valid on the site this workflow is published on. If a recipient is
not a valid SharePoint user, he or she will not receive workflow emails”
• Workflows don’t trigger if the creator if the item is: ACS Token, System Account or a
workflow. If the item is created by another workflow, impersonation or app-step needs to
be used to create the item under a user’s context.
Other Workflow Observations
InfoPath Forms
©2017 Avanade Inc. All Rights Reserved.
68
InfoPath forms might contain references to user accounts, e.g: MYDOMAINJohn.Doe on
SharePoint Online, this account will be i:0#.f|membership|john.doe@mydomain.com.
The InfoPath form needs to be updated with these new accounts and then republished.
- PnP framework has a tool to do this for you: https://github.com/SharePoint/PnP-
Transformation/tree/dev/InfoPath/Migration/PeoplePickerRemediation.Console
If InfoPath forms already exist for a while (e.g. created in SharePoint 2003/2007), for fields to be
populated based on SharePoint data, the entire list was received and than filtered in the
InfoPath form.
On SharePoint Online, this might lead to the “The form could not be displayed because default
values or rules are taking too long to evaluate” error. To resolve this, ensure the ‘queryfields’ is
used to already filter the data from the SharePoint list (instead of inside the InfoPath form).
InfoPath Forms
©2017 Avanade Inc. All Rights Reserved.
69
Microsoft is not improving InfoPath anymore and support will continue until April 2023, so
what will be the best replacement of InfoPath?
- O365 Forms?
- O365 PowerApps?
- HTML5 forms?
- SharePoint Lists (Modern UI)?
- Third Party products?
InfoPath Forms (2)
Other migration observations
©2017 Avanade Inc. All Rights Reserved.
71
• By default on SharePoint Online 500 major versions are kept in a document library, this is
different than on-prem (no default)
• The contact webpart needs to be remediated as well post migration (from
DOMAINusername to the new user claim format)
• The access request e-mails need to be remediated as well post migration (from
DOMAINusername to the e-mail address)
• Calendar overlays between site collections is not supported anymore
• Audit reports are now split per 10K rows per Excel file
Other migration observations
Summary
©2017 Avanade Inc. All Rights Reserved.
73
• Be informed about the Full Trust Code components running in your farm
• Run the SMAT Tool to assist you with identifying remediation area’s
• Remediate as much as possible prior to the migration
• PnP has tools to assist with this: https://github.com/SharePoint/PnP-Transformation
• Have a support team available to remediate/assist end users quickly with items which can’t
be remediated in advance
• Inform users about area’s on their site which require their attention and keep them
informed throughout the migration journey.
Summary
Questions?
©2017 Avanade Inc. All Rights Reserved.
Thanks for attending!
75@timmermankevin www.timmerman.it timmermankevin kevin.timmerman@avanade.com
©2017 Avanade Inc. All Rights Reserved.©2017 Avanade Inc. All Rights Reserved.

More Related Content

What's hot

O365Con18 - Security and Compliance - Liz Sundet
O365Con18 - Security and Compliance - Liz SundetO365Con18 - Security and Compliance - Liz Sundet
O365Con18 - Security and Compliance - Liz Sundet
NCCOMMS
 
Chris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developersChris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien
 
SPSNYC - Visio 2013 and Visio Services a quick guide
SPSNYC - Visio 2013 and Visio Services a quick guideSPSNYC - Visio 2013 and Visio Services a quick guide
SPSNYC - Visio 2013 and Visio Services a quick guide
Knut Relbe-Moe [MVP, MCT]
 
SPSOslo 2014 - Visio 2013 & Visio Services – A Quick Guide
SPSOslo 2014 - Visio 2013 & Visio Services – A Quick GuideSPSOslo 2014 - Visio 2013 & Visio Services – A Quick Guide
SPSOslo 2014 - Visio 2013 & Visio Services – A Quick Guide
Knut Relbe-Moe [MVP, MCT]
 
ECS19 - John White - Unlock SharePoint’s Reporting Secrets
ECS19 - John White - Unlock SharePoint’s Reporting SecretsECS19 - John White - Unlock SharePoint’s Reporting Secrets
ECS19 - John White - Unlock SharePoint’s Reporting Secrets
European Collaboration Summit
 
Broaden your dev skillset with SharePoint branding options
Broaden your dev skillset with SharePoint branding optionsBroaden your dev skillset with SharePoint branding options
Broaden your dev skillset with SharePoint branding options
Eric Overfield
 
O365Con18 - Customizing SharePoint and Microsoft Teams with SharePoint Framew...
O365Con18 - Customizing SharePoint and Microsoft Teams with SharePoint Framew...O365Con18 - Customizing SharePoint and Microsoft Teams with SharePoint Framew...
O365Con18 - Customizing SharePoint and Microsoft Teams with SharePoint Framew...
NCCOMMS
 
O365Con18 - Bridge Over O365 Gaps and Enhance User Satisfaction - Nimrod Geva
O365Con18 - Bridge Over O365 Gaps and Enhance User Satisfaction - Nimrod GevaO365Con18 - Bridge Over O365 Gaps and Enhance User Satisfaction - Nimrod Geva
O365Con18 - Bridge Over O365 Gaps and Enhance User Satisfaction - Nimrod Geva
NCCOMMS
 
SharePoint 2013 Dev Features
SharePoint 2013 Dev FeaturesSharePoint 2013 Dev Features
SharePoint 2013 Dev Features
Ricardo Wilkins
 
How to Create a Windows App with Project Siena, SharePoint & Office 365
 How to Create a Windows App with Project Siena, SharePoint & Office 365 How to Create a Windows App with Project Siena, SharePoint & Office 365
How to Create a Windows App with Project Siena, SharePoint & Office 365
Knut Relbe-Moe [MVP, MCT]
 
O365Con18 - Modern News Publishing with SharePoint - Maarten Eekels
O365Con18 - Modern News Publishing with SharePoint - Maarten EekelsO365Con18 - Modern News Publishing with SharePoint - Maarten Eekels
O365Con18 - Modern News Publishing with SharePoint - Maarten Eekels
NCCOMMS
 
SPUnite17 Timer Jobs Event Handlers
SPUnite17 Timer Jobs Event HandlersSPUnite17 Timer Jobs Event Handlers
SPUnite17 Timer Jobs Event Handlers
NCCOMMS
 
All about SPFx
All about SPFxAll about SPFx
All about SPFx
Fabio Franzini
 
Designing a great SharePoint Online intranet in Office 365
Designing a great SharePoint Online intranet in Office 365Designing a great SharePoint Online intranet in Office 365
Designing a great SharePoint Online intranet in Office 365
Danny Burlage
 
ECS 19 - John White, Jason Himmelstein - Everything You Always Wanted To Know...
ECS 19 - John White, Jason Himmelstein - Everything You Always Wanted To Know...ECS 19 - John White, Jason Himmelstein - Everything You Always Wanted To Know...
ECS 19 - John White, Jason Himmelstein - Everything You Always Wanted To Know...
European Collaboration Summit
 
An Introduction to the Office 365 Patterns and Practices Project
An Introduction to the Office 365 Patterns and Practices ProjectAn Introduction to the Office 365 Patterns and Practices Project
An Introduction to the Office 365 Patterns and Practices Project
SPC Adriatics
 
Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)
Fabio Franzini
 
What's new in SharePoint Server 2019
What's new in SharePoint Server 2019What's new in SharePoint Server 2019
What's new in SharePoint Server 2019
BIWUG
 
The missing key: Azure AD for developers
The missing key: Azure AD for developersThe missing key: Azure AD for developers
The missing key: Azure AD for developers
SPC Adriatics
 
[Jansen] Transforming your classic team sites into modern group connected tea...
[Jansen] Transforming your classic team sites into modern group connected tea...[Jansen] Transforming your classic team sites into modern group connected tea...
[Jansen] Transforming your classic team sites into modern group connected tea...
European Collaboration Summit
 

What's hot (20)

O365Con18 - Security and Compliance - Liz Sundet
O365Con18 - Security and Compliance - Liz SundetO365Con18 - Security and Compliance - Liz Sundet
O365Con18 - Security and Compliance - Liz Sundet
 
Chris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developersChris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developers
 
SPSNYC - Visio 2013 and Visio Services a quick guide
SPSNYC - Visio 2013 and Visio Services a quick guideSPSNYC - Visio 2013 and Visio Services a quick guide
SPSNYC - Visio 2013 and Visio Services a quick guide
 
SPSOslo 2014 - Visio 2013 & Visio Services – A Quick Guide
SPSOslo 2014 - Visio 2013 & Visio Services – A Quick GuideSPSOslo 2014 - Visio 2013 & Visio Services – A Quick Guide
SPSOslo 2014 - Visio 2013 & Visio Services – A Quick Guide
 
ECS19 - John White - Unlock SharePoint’s Reporting Secrets
ECS19 - John White - Unlock SharePoint’s Reporting SecretsECS19 - John White - Unlock SharePoint’s Reporting Secrets
ECS19 - John White - Unlock SharePoint’s Reporting Secrets
 
Broaden your dev skillset with SharePoint branding options
Broaden your dev skillset with SharePoint branding optionsBroaden your dev skillset with SharePoint branding options
Broaden your dev skillset with SharePoint branding options
 
O365Con18 - Customizing SharePoint and Microsoft Teams with SharePoint Framew...
O365Con18 - Customizing SharePoint and Microsoft Teams with SharePoint Framew...O365Con18 - Customizing SharePoint and Microsoft Teams with SharePoint Framew...
O365Con18 - Customizing SharePoint and Microsoft Teams with SharePoint Framew...
 
O365Con18 - Bridge Over O365 Gaps and Enhance User Satisfaction - Nimrod Geva
O365Con18 - Bridge Over O365 Gaps and Enhance User Satisfaction - Nimrod GevaO365Con18 - Bridge Over O365 Gaps and Enhance User Satisfaction - Nimrod Geva
O365Con18 - Bridge Over O365 Gaps and Enhance User Satisfaction - Nimrod Geva
 
SharePoint 2013 Dev Features
SharePoint 2013 Dev FeaturesSharePoint 2013 Dev Features
SharePoint 2013 Dev Features
 
How to Create a Windows App with Project Siena, SharePoint & Office 365
 How to Create a Windows App with Project Siena, SharePoint & Office 365 How to Create a Windows App with Project Siena, SharePoint & Office 365
How to Create a Windows App with Project Siena, SharePoint & Office 365
 
O365Con18 - Modern News Publishing with SharePoint - Maarten Eekels
O365Con18 - Modern News Publishing with SharePoint - Maarten EekelsO365Con18 - Modern News Publishing with SharePoint - Maarten Eekels
O365Con18 - Modern News Publishing with SharePoint - Maarten Eekels
 
SPUnite17 Timer Jobs Event Handlers
SPUnite17 Timer Jobs Event HandlersSPUnite17 Timer Jobs Event Handlers
SPUnite17 Timer Jobs Event Handlers
 
All about SPFx
All about SPFxAll about SPFx
All about SPFx
 
Designing a great SharePoint Online intranet in Office 365
Designing a great SharePoint Online intranet in Office 365Designing a great SharePoint Online intranet in Office 365
Designing a great SharePoint Online intranet in Office 365
 
ECS 19 - John White, Jason Himmelstein - Everything You Always Wanted To Know...
ECS 19 - John White, Jason Himmelstein - Everything You Always Wanted To Know...ECS 19 - John White, Jason Himmelstein - Everything You Always Wanted To Know...
ECS 19 - John White, Jason Himmelstein - Everything You Always Wanted To Know...
 
An Introduction to the Office 365 Patterns and Practices Project
An Introduction to the Office 365 Patterns and Practices ProjectAn Introduction to the Office 365 Patterns and Practices Project
An Introduction to the Office 365 Patterns and Practices Project
 
Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)
 
What's new in SharePoint Server 2019
What's new in SharePoint Server 2019What's new in SharePoint Server 2019
What's new in SharePoint Server 2019
 
The missing key: Azure AD for developers
The missing key: Azure AD for developersThe missing key: Azure AD for developers
The missing key: Azure AD for developers
 
[Jansen] Transforming your classic team sites into modern group connected tea...
[Jansen] Transforming your classic team sites into modern group connected tea...[Jansen] Transforming your classic team sites into modern group connected tea...
[Jansen] Transforming your classic team sites into modern group connected tea...
 

Viewers also liked

SPUnite17 Deep Dive Building Solutions
SPUnite17 Deep Dive Building SolutionsSPUnite17 Deep Dive Building Solutions
SPUnite17 Deep Dive Building Solutions
NCCOMMS
 
Spunite17 Converting your CEWP Customisations
Spunite17 Converting your CEWP CustomisationsSpunite17 Converting your CEWP Customisations
Spunite17 Converting your CEWP Customisations
NCCOMMS
 
SPUnite17 5 More Query Rules
SPUnite17 5 More Query RulesSPUnite17 5 More Query Rules
SPUnite17 5 More Query Rules
NCCOMMS
 
SPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Building Great Client Side Web Parts with SPFxSPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Building Great Client Side Web Parts with SPFx
NCCOMMS
 
SPUnite17 Who Are You and What Do You Want
SPUnite17 Who Are You and What Do You WantSPUnite17 Who Are You and What Do You Want
SPUnite17 Who Are You and What Do You Want
NCCOMMS
 
SPUnite17 SharePoint and Data Loss Prevention
SPUnite17 SharePoint and Data Loss PreventionSPUnite17 SharePoint and Data Loss Prevention
SPUnite17 SharePoint and Data Loss Prevention
NCCOMMS
 
SPUnite17 Getting up to Speed with React
SPUnite17 Getting up to Speed with ReactSPUnite17 Getting up to Speed with React
SPUnite17 Getting up to Speed with React
NCCOMMS
 
SPUnite17 Getting Notified by SharePoint with WebHooks
SPUnite17 Getting Notified by SharePoint with WebHooksSPUnite17 Getting Notified by SharePoint with WebHooks
SPUnite17 Getting Notified by SharePoint with WebHooks
NCCOMMS
 
SPUnite17 Making Sense of the SharePoint Framework
SPUnite17 Making Sense of the SharePoint FrameworkSPUnite17 Making Sense of the SharePoint Framework
SPUnite17 Making Sense of the SharePoint Framework
NCCOMMS
 
SpUnite17 Exploring Identity Management Options in Office 365
SpUnite17 Exploring Identity Management Options in Office 365SpUnite17 Exploring Identity Management Options in Office 365
SpUnite17 Exploring Identity Management Options in Office 365
NCCOMMS
 
SPUnite17 Successful SharePoint Projects and User eXperience
SPUnite17 Successful SharePoint Projects and User eXperienceSPUnite17 Successful SharePoint Projects and User eXperience
SPUnite17 Successful SharePoint Projects and User eXperience
NCCOMMS
 
SPUnite17 Large Lists in SharePoint
SPUnite17 Large Lists in SharePointSPUnite17 Large Lists in SharePoint
SPUnite17 Large Lists in SharePoint
NCCOMMS
 
SPUnite17 TypeScript for SharePoint Developers
SPUnite17 TypeScript for SharePoint DevelopersSPUnite17 TypeScript for SharePoint Developers
SPUnite17 TypeScript for SharePoint Developers
NCCOMMS
 
SPUnite17 Introducing Logic Apps
SPUnite17 Introducing Logic AppsSPUnite17 Introducing Logic Apps
SPUnite17 Introducing Logic Apps
NCCOMMS
 
SPUnite17 Modern NewsPublishing with SharePoint
SPUnite17 Modern NewsPublishing with SharePointSPUnite17 Modern NewsPublishing with SharePoint
SPUnite17 Modern NewsPublishing with SharePoint
NCCOMMS
 
SPUnite17 External Sharing in SharePoint Online
SPUnite17 External Sharing in SharePoint OnlineSPUnite17 External Sharing in SharePoint Online
SPUnite17 External Sharing in SharePoint Online
NCCOMMS
 

Viewers also liked (16)

SPUnite17 Deep Dive Building Solutions
SPUnite17 Deep Dive Building SolutionsSPUnite17 Deep Dive Building Solutions
SPUnite17 Deep Dive Building Solutions
 
Spunite17 Converting your CEWP Customisations
Spunite17 Converting your CEWP CustomisationsSpunite17 Converting your CEWP Customisations
Spunite17 Converting your CEWP Customisations
 
SPUnite17 5 More Query Rules
SPUnite17 5 More Query RulesSPUnite17 5 More Query Rules
SPUnite17 5 More Query Rules
 
SPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Building Great Client Side Web Parts with SPFxSPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Building Great Client Side Web Parts with SPFx
 
SPUnite17 Who Are You and What Do You Want
SPUnite17 Who Are You and What Do You WantSPUnite17 Who Are You and What Do You Want
SPUnite17 Who Are You and What Do You Want
 
SPUnite17 SharePoint and Data Loss Prevention
SPUnite17 SharePoint and Data Loss PreventionSPUnite17 SharePoint and Data Loss Prevention
SPUnite17 SharePoint and Data Loss Prevention
 
SPUnite17 Getting up to Speed with React
SPUnite17 Getting up to Speed with ReactSPUnite17 Getting up to Speed with React
SPUnite17 Getting up to Speed with React
 
SPUnite17 Getting Notified by SharePoint with WebHooks
SPUnite17 Getting Notified by SharePoint with WebHooksSPUnite17 Getting Notified by SharePoint with WebHooks
SPUnite17 Getting Notified by SharePoint with WebHooks
 
SPUnite17 Making Sense of the SharePoint Framework
SPUnite17 Making Sense of the SharePoint FrameworkSPUnite17 Making Sense of the SharePoint Framework
SPUnite17 Making Sense of the SharePoint Framework
 
SpUnite17 Exploring Identity Management Options in Office 365
SpUnite17 Exploring Identity Management Options in Office 365SpUnite17 Exploring Identity Management Options in Office 365
SpUnite17 Exploring Identity Management Options in Office 365
 
SPUnite17 Successful SharePoint Projects and User eXperience
SPUnite17 Successful SharePoint Projects and User eXperienceSPUnite17 Successful SharePoint Projects and User eXperience
SPUnite17 Successful SharePoint Projects and User eXperience
 
SPUnite17 Large Lists in SharePoint
SPUnite17 Large Lists in SharePointSPUnite17 Large Lists in SharePoint
SPUnite17 Large Lists in SharePoint
 
SPUnite17 TypeScript for SharePoint Developers
SPUnite17 TypeScript for SharePoint DevelopersSPUnite17 TypeScript for SharePoint Developers
SPUnite17 TypeScript for SharePoint Developers
 
SPUnite17 Introducing Logic Apps
SPUnite17 Introducing Logic AppsSPUnite17 Introducing Logic Apps
SPUnite17 Introducing Logic Apps
 
SPUnite17 Modern NewsPublishing with SharePoint
SPUnite17 Modern NewsPublishing with SharePointSPUnite17 Modern NewsPublishing with SharePoint
SPUnite17 Modern NewsPublishing with SharePoint
 
SPUnite17 External Sharing in SharePoint Online
SPUnite17 External Sharing in SharePoint OnlineSPUnite17 External Sharing in SharePoint Online
SPUnite17 External Sharing in SharePoint Online
 

Similar to SPUnite17 Migrating your Customizations from On-prem to SharePoint Online

Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Rencore
 
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
SUGES (SharePoint Users Group España)
 
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
Rencore
 
Spsnyc transforming share point farm solutions to the add-in model and shar...
Spsnyc   transforming share point farm solutions to the add-in model and shar...Spsnyc   transforming share point farm solutions to the add-in model and shar...
Spsnyc transforming share point farm solutions to the add-in model and shar...
spsnyc
 
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Asish Padhy
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?
Talbott Crowell
 
Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...
Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...
Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...
Toni Frankola
 
規劃大規模遷移到 AWS 的最佳實踐
規劃大規模遷移到 AWS 的最佳實踐規劃大規模遷移到 AWS 的最佳實踐
規劃大規模遷移到 AWS 的最佳實踐
Amazon Web Services
 
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
Bill Ayers
 
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
SPS Paris
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Brian Culver
 
What Makes Migrating to the Cloud Different Than On-Premises
What Makes Migrating to the Cloud Different Than On-PremisesWhat Makes Migrating to the Cloud Different Than On-Premises
What Makes Migrating to the Cloud Different Than On-Premises
Christian Buckley
 
Cognos Analytics August 2017 Enhancements: 11.0.7 Demos and Q&A with IBM Prod...
Cognos Analytics August 2017 Enhancements: 11.0.7 Demos and Q&A with IBM Prod...Cognos Analytics August 2017 Enhancements: 11.0.7 Demos and Q&A with IBM Prod...
Cognos Analytics August 2017 Enhancements: 11.0.7 Demos and Q&A with IBM Prod...
Senturus
 
Sps redmond 2014 deck
Sps redmond 2014 deckSps redmond 2014 deck
Sps redmond 2014 deck
Dorinda Reyes
 
SharePoint Hybrid Strategy for Office 365 - 3 Options
SharePoint Hybrid Strategy for Office 365 -  3 OptionsSharePoint Hybrid Strategy for Office 365 -  3 Options
SharePoint Hybrid Strategy for Office 365 - 3 Options
Joel Oleson
 
Hands-On Building and Deploying .NET Applications on AWS (DEV331-R1) - AWS re...
Hands-On Building and Deploying .NET Applications on AWS (DEV331-R1) - AWS re...Hands-On Building and Deploying .NET Applications on AWS (DEV331-R1) - AWS re...
Hands-On Building and Deploying .NET Applications on AWS (DEV331-R1) - AWS re...
Amazon Web Services
 
Envision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT - Application Lifecycle Management for SharePoint in the EnterpriseEnvision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT
 
Thinakaran
ThinakaranThinakaran
Advanced GitHub Enterprise Administration
Advanced GitHub Enterprise AdministrationAdvanced GitHub Enterprise Administration
Advanced GitHub Enterprise Administration
Lars Schneider
 
SPSNYC SharePoint Worst Practices
SPSNYC SharePoint Worst PracticesSPSNYC SharePoint Worst Practices
SPSNYC SharePoint Worst Practices
Scott Hoag
 

Similar to SPUnite17 Migrating your Customizations from On-prem to SharePoint Online (20)

Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
 
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
 
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
 
Spsnyc transforming share point farm solutions to the add-in model and shar...
Spsnyc   transforming share point farm solutions to the add-in model and shar...Spsnyc   transforming share point farm solutions to the add-in model and shar...
Spsnyc transforming share point farm solutions to the add-in model and shar...
 
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?
 
Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...
Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...
Prepare for SharePoint 2016 - IT Pro best practices for managing your SharePo...
 
規劃大規模遷移到 AWS 的最佳實踐
規劃大規模遷移到 AWS 的最佳實踐規劃大規模遷移到 AWS 的最佳實踐
規劃大規模遷移到 AWS 的最佳實踐
 
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
 
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 
What Makes Migrating to the Cloud Different Than On-Premises
What Makes Migrating to the Cloud Different Than On-PremisesWhat Makes Migrating to the Cloud Different Than On-Premises
What Makes Migrating to the Cloud Different Than On-Premises
 
Cognos Analytics August 2017 Enhancements: 11.0.7 Demos and Q&A with IBM Prod...
Cognos Analytics August 2017 Enhancements: 11.0.7 Demos and Q&A with IBM Prod...Cognos Analytics August 2017 Enhancements: 11.0.7 Demos and Q&A with IBM Prod...
Cognos Analytics August 2017 Enhancements: 11.0.7 Demos and Q&A with IBM Prod...
 
Sps redmond 2014 deck
Sps redmond 2014 deckSps redmond 2014 deck
Sps redmond 2014 deck
 
SharePoint Hybrid Strategy for Office 365 - 3 Options
SharePoint Hybrid Strategy for Office 365 -  3 OptionsSharePoint Hybrid Strategy for Office 365 -  3 Options
SharePoint Hybrid Strategy for Office 365 - 3 Options
 
Hands-On Building and Deploying .NET Applications on AWS (DEV331-R1) - AWS re...
Hands-On Building and Deploying .NET Applications on AWS (DEV331-R1) - AWS re...Hands-On Building and Deploying .NET Applications on AWS (DEV331-R1) - AWS re...
Hands-On Building and Deploying .NET Applications on AWS (DEV331-R1) - AWS re...
 
Envision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT - Application Lifecycle Management for SharePoint in the EnterpriseEnvision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT - Application Lifecycle Management for SharePoint in the Enterprise
 
Thinakaran
ThinakaranThinakaran
Thinakaran
 
Advanced GitHub Enterprise Administration
Advanced GitHub Enterprise AdministrationAdvanced GitHub Enterprise Administration
Advanced GitHub Enterprise Administration
 
SPSNYC SharePoint Worst Practices
SPSNYC SharePoint Worst PracticesSPSNYC SharePoint Worst Practices
SPSNYC SharePoint Worst Practices
 

More from NCCOMMS

O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...
O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...
O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...
NCCOMMS
 
O365Con19 - Model-driven Apps or Canvas Apps? - Rick Bakker
O365Con19 - Model-driven Apps or Canvas Apps? - Rick BakkerO365Con19 - Model-driven Apps or Canvas Apps? - Rick Bakker
O365Con19 - Model-driven Apps or Canvas Apps? - Rick Bakker
NCCOMMS
 
O365Con19 - Office 365 Groups Surviving the Real World - Jasper Oosterveld
O365Con19 - Office 365 Groups Surviving the Real World - Jasper OosterveldO365Con19 - Office 365 Groups Surviving the Real World - Jasper Oosterveld
O365Con19 - Office 365 Groups Surviving the Real World - Jasper Oosterveld
NCCOMMS
 
O365Con19 - Developing Timerjob and Eventhandler Equivalents - Adis Jugo
O365Con19 - Developing Timerjob and Eventhandler Equivalents - Adis JugoO365Con19 - Developing Timerjob and Eventhandler Equivalents - Adis Jugo
O365Con19 - Developing Timerjob and Eventhandler Equivalents - Adis Jugo
NCCOMMS
 
O365Con19 - Sharepoint with (Artificial) Intelligence - Adis Jugo
O365Con19 - Sharepoint with (Artificial) Intelligence - Adis JugoO365Con19 - Sharepoint with (Artificial) Intelligence - Adis Jugo
O365Con19 - Sharepoint with (Artificial) Intelligence - Adis Jugo
NCCOMMS
 
O365Con19 - What Do You Mean 90 days Isn't Enough - Paul Hunt
O365Con19 - What Do You Mean 90 days Isn't Enough - Paul HuntO365Con19 - What Do You Mean 90 days Isn't Enough - Paul Hunt
O365Con19 - What Do You Mean 90 days Isn't Enough - Paul Hunt
NCCOMMS
 
O365Con19 - Tips and Tricks for Complex Migrations to SharePoint Online - And...
O365Con19 - Tips and Tricks for Complex Migrations to SharePoint Online - And...O365Con19 - Tips and Tricks for Complex Migrations to SharePoint Online - And...
O365Con19 - Tips and Tricks for Complex Migrations to SharePoint Online - And...
NCCOMMS
 
O365Con19 - Start Developing Teams Tabs and SharePoint Webparts with SPFX - O...
O365Con19 - Start Developing Teams Tabs and SharePoint Webparts with SPFX - O...O365Con19 - Start Developing Teams Tabs and SharePoint Webparts with SPFX - O...
O365Con19 - Start Developing Teams Tabs and SharePoint Webparts with SPFX - O...
NCCOMMS
 
O365Con19 - Start Your Journey from Skype for Business to Teams - Sasja Beere...
O365Con19 - Start Your Journey from Skype for Business to Teams - Sasja Beere...O365Con19 - Start Your Journey from Skype for Business to Teams - Sasja Beere...
O365Con19 - Start Your Journey from Skype for Business to Teams - Sasja Beere...
NCCOMMS
 
O365Con19 - Lets Get Started with Azure Container Instances - Jussi Roine
O365Con19 - Lets Get Started with Azure Container Instances - Jussi RoineO365Con19 - Lets Get Started with Azure Container Instances - Jussi Roine
O365Con19 - Lets Get Started with Azure Container Instances - Jussi Roine
NCCOMMS
 
O365Con19 - Azure Blackbelt - Jussi Roine
O365Con19 - Azure Blackbelt - Jussi RoineO365Con19 - Azure Blackbelt - Jussi Roine
O365Con19 - Azure Blackbelt - Jussi Roine
NCCOMMS
 
O365Con19 - Customise the UI in Modern SharePoint Workspaces - Corinna Lins
O365Con19 - Customise the UI in Modern SharePoint Workspaces - Corinna LinsO365Con19 - Customise the UI in Modern SharePoint Workspaces - Corinna Lins
O365Con19 - Customise the UI in Modern SharePoint Workspaces - Corinna Lins
NCCOMMS
 
O365Con19 - Be The Protagonist of Your Modern Workplace - Corinna Lins
O365Con19 - Be The Protagonist of Your Modern Workplace - Corinna LinsO365Con19 - Be The Protagonist of Your Modern Workplace - Corinna Lins
O365Con19 - Be The Protagonist of Your Modern Workplace - Corinna Lins
NCCOMMS
 
O365Con19 - How to Really Manage all your Tasks Across Microsoft 365 - Luise ...
O365Con19 - How to Really Manage all your Tasks Across Microsoft 365 - Luise ...O365Con19 - How to Really Manage all your Tasks Across Microsoft 365 - Luise ...
O365Con19 - How to Really Manage all your Tasks Across Microsoft 365 - Luise ...
NCCOMMS
 
O365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
O365Con19 - Sharing Code Efficiently in your Organisation - Elio StruyfO365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
O365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
NCCOMMS
 
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
NCCOMMS
 
O365Con19 - Keep Control of Your Data with AIP and CA - Bram de Jager
O365Con19 - Keep Control of Your Data with AIP and CA - Bram de JagerO365Con19 - Keep Control of Your Data with AIP and CA - Bram de Jager
O365Con19 - Keep Control of Your Data with AIP and CA - Bram de Jager
NCCOMMS
 
O365Con19 - Kaizala a Dive Into the Unknown - Rick van Rousselt
O365Con19 - Kaizala a Dive Into the Unknown - Rick van RousseltO365Con19 - Kaizala a Dive Into the Unknown - Rick van Rousselt
O365Con19 - Kaizala a Dive Into the Unknown - Rick van Rousselt
NCCOMMS
 
O365Con19 - How to Inspire Users to Unstick from Email - Luise Freese
O365Con19 - How to Inspire Users to Unstick from Email - Luise FreeseO365Con19 - How to Inspire Users to Unstick from Email - Luise Freese
O365Con19 - How to Inspire Users to Unstick from Email - Luise Freese
NCCOMMS
 
O365Con19 - O365 Identity Management and The Golden Config - Chris Goosen
O365Con19 - O365 Identity Management and The Golden Config - Chris GoosenO365Con19 - O365 Identity Management and The Golden Config - Chris Goosen
O365Con19 - O365 Identity Management and The Golden Config - Chris Goosen
NCCOMMS
 

More from NCCOMMS (20)

O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...
O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...
O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...
 
O365Con19 - Model-driven Apps or Canvas Apps? - Rick Bakker
O365Con19 - Model-driven Apps or Canvas Apps? - Rick BakkerO365Con19 - Model-driven Apps or Canvas Apps? - Rick Bakker
O365Con19 - Model-driven Apps or Canvas Apps? - Rick Bakker
 
O365Con19 - Office 365 Groups Surviving the Real World - Jasper Oosterveld
O365Con19 - Office 365 Groups Surviving the Real World - Jasper OosterveldO365Con19 - Office 365 Groups Surviving the Real World - Jasper Oosterveld
O365Con19 - Office 365 Groups Surviving the Real World - Jasper Oosterveld
 
O365Con19 - Developing Timerjob and Eventhandler Equivalents - Adis Jugo
O365Con19 - Developing Timerjob and Eventhandler Equivalents - Adis JugoO365Con19 - Developing Timerjob and Eventhandler Equivalents - Adis Jugo
O365Con19 - Developing Timerjob and Eventhandler Equivalents - Adis Jugo
 
O365Con19 - Sharepoint with (Artificial) Intelligence - Adis Jugo
O365Con19 - Sharepoint with (Artificial) Intelligence - Adis JugoO365Con19 - Sharepoint with (Artificial) Intelligence - Adis Jugo
O365Con19 - Sharepoint with (Artificial) Intelligence - Adis Jugo
 
O365Con19 - What Do You Mean 90 days Isn't Enough - Paul Hunt
O365Con19 - What Do You Mean 90 days Isn't Enough - Paul HuntO365Con19 - What Do You Mean 90 days Isn't Enough - Paul Hunt
O365Con19 - What Do You Mean 90 days Isn't Enough - Paul Hunt
 
O365Con19 - Tips and Tricks for Complex Migrations to SharePoint Online - And...
O365Con19 - Tips and Tricks for Complex Migrations to SharePoint Online - And...O365Con19 - Tips and Tricks for Complex Migrations to SharePoint Online - And...
O365Con19 - Tips and Tricks for Complex Migrations to SharePoint Online - And...
 
O365Con19 - Start Developing Teams Tabs and SharePoint Webparts with SPFX - O...
O365Con19 - Start Developing Teams Tabs and SharePoint Webparts with SPFX - O...O365Con19 - Start Developing Teams Tabs and SharePoint Webparts with SPFX - O...
O365Con19 - Start Developing Teams Tabs and SharePoint Webparts with SPFX - O...
 
O365Con19 - Start Your Journey from Skype for Business to Teams - Sasja Beere...
O365Con19 - Start Your Journey from Skype for Business to Teams - Sasja Beere...O365Con19 - Start Your Journey from Skype for Business to Teams - Sasja Beere...
O365Con19 - Start Your Journey from Skype for Business to Teams - Sasja Beere...
 
O365Con19 - Lets Get Started with Azure Container Instances - Jussi Roine
O365Con19 - Lets Get Started with Azure Container Instances - Jussi RoineO365Con19 - Lets Get Started with Azure Container Instances - Jussi Roine
O365Con19 - Lets Get Started with Azure Container Instances - Jussi Roine
 
O365Con19 - Azure Blackbelt - Jussi Roine
O365Con19 - Azure Blackbelt - Jussi RoineO365Con19 - Azure Blackbelt - Jussi Roine
O365Con19 - Azure Blackbelt - Jussi Roine
 
O365Con19 - Customise the UI in Modern SharePoint Workspaces - Corinna Lins
O365Con19 - Customise the UI in Modern SharePoint Workspaces - Corinna LinsO365Con19 - Customise the UI in Modern SharePoint Workspaces - Corinna Lins
O365Con19 - Customise the UI in Modern SharePoint Workspaces - Corinna Lins
 
O365Con19 - Be The Protagonist of Your Modern Workplace - Corinna Lins
O365Con19 - Be The Protagonist of Your Modern Workplace - Corinna LinsO365Con19 - Be The Protagonist of Your Modern Workplace - Corinna Lins
O365Con19 - Be The Protagonist of Your Modern Workplace - Corinna Lins
 
O365Con19 - How to Really Manage all your Tasks Across Microsoft 365 - Luise ...
O365Con19 - How to Really Manage all your Tasks Across Microsoft 365 - Luise ...O365Con19 - How to Really Manage all your Tasks Across Microsoft 365 - Luise ...
O365Con19 - How to Really Manage all your Tasks Across Microsoft 365 - Luise ...
 
O365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
O365Con19 - Sharing Code Efficiently in your Organisation - Elio StruyfO365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
O365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
 
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
 
O365Con19 - Keep Control of Your Data with AIP and CA - Bram de Jager
O365Con19 - Keep Control of Your Data with AIP and CA - Bram de JagerO365Con19 - Keep Control of Your Data with AIP and CA - Bram de Jager
O365Con19 - Keep Control of Your Data with AIP and CA - Bram de Jager
 
O365Con19 - Kaizala a Dive Into the Unknown - Rick van Rousselt
O365Con19 - Kaizala a Dive Into the Unknown - Rick van RousseltO365Con19 - Kaizala a Dive Into the Unknown - Rick van Rousselt
O365Con19 - Kaizala a Dive Into the Unknown - Rick van Rousselt
 
O365Con19 - How to Inspire Users to Unstick from Email - Luise Freese
O365Con19 - How to Inspire Users to Unstick from Email - Luise FreeseO365Con19 - How to Inspire Users to Unstick from Email - Luise Freese
O365Con19 - How to Inspire Users to Unstick from Email - Luise Freese
 
O365Con19 - O365 Identity Management and The Golden Config - Chris Goosen
O365Con19 - O365 Identity Management and The Golden Config - Chris GoosenO365Con19 - O365 Identity Management and The Golden Config - Chris Goosen
O365Con19 - O365 Identity Management and The Golden Config - Chris Goosen
 

Recently uploaded

UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
fredae14
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 

Recently uploaded (20)

UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 

SPUnite17 Migrating your Customizations from On-prem to SharePoint Online

  • 1. ©2017 Avanade Inc. All Rights Reserved.©2017 Avanade Inc. All Rights Reserved.
  • 2. ©2017 Avanade Inc. All Rights Reserved.©2017 Avanade Inc. All Rights Reserved. Kevin Timmerman – October 26th 2017 Migrating your customizations from On-Prem to SharePoint Online
  • 3. ©2017 Avanade Inc. All Rights Reserved. Kevin Timmerman • Working at Avanade Netherlands since 2008 • Manager in the Software Engineering community o Involved in multiple (large) projects implementing and migrating SharePoint 2007, 2010, 2013 and Office 365 / SharePoint Online o Combined roles as developer/team lead & architect/PM Hobbies o Musician, playing trumpet since 1994 o ‘Do it your self’ home improvements o Inline skating Meet the speaker 3@timmermankevin www.timmerman.it timmermankevin kevin.timmerman@avanade.com
  • 4. ©2017 Avanade Inc. All Rights Reserved. ✓ SharePoint development introduction ✓ Full Trust Code migration challenges ✓ Connected Application migration challenges ✓ Content migration challenges ✓ Other migration observations ✓ Summary ✓ Questions Agenda 4 SharePoint On-Prem SharePoint Online Migration Approach
  • 5. ©2017 Avanade Inc. All Rights Reserved. SharePoint Development Introduction
  • 6. ©2017 Avanade Inc. All Rights Reserved. 6 * Only declarative sandbox solutions are supported. Code solutions are deprecated and are unavailable on O365/SPO ** Still available, but the recommendation to switch to CSOM/REST API’s which might indicate that the ASMX services will be deprecated in the near future *** The SharePoint Framework is added to the Feature Pack 2 released in Fall 2017 SharePoint Development Introduction SP 2007 SP 2010 SP 2013 SP 2016 O365/SPO Full Trust Code Solutions YES YES YES YES NO ASMX web services YES YES YES YES** YES** Sandbox solutions NO YES YES* YES* YES* CSOM/REST API’s NO YES YES YES YES Add-ins NO NO YES YES YES SharePoint Framework NO NO NO NO*** YES
  • 7. ©2017 Avanade Inc. All Rights Reserved. Full Trust Code migration challenges
  • 8. ©2017 Avanade Inc. All Rights Reserved. 8 Full Trust Code migration approach • Obtain proper understanding on the app model • Hosting decisions • Solution package assessment one by one • Can be partly automated with existing tooling • Analyze requirements • Initial high level planning based on functional and business requirements • Detailed technical planning • Actual development and testing based on previous steps • Deployment of apps • Transforming content • Retracting solutions
  • 9. ©2017 Avanade Inc. All Rights Reserved. 9 What do you really want to achieve?
  • 10. ©2017 Avanade Inc. All Rights Reserved. • Activate or deactivate features • Permission management • SharePoint Designer settings • Site logo • Audit settings • Regional settings • Time zone settings • Site branding • Language settings • Add artifacts/files to site • Site columns • Content type definitions • List/library definitions • Home page web parts • Event receivers • Subsite creation 10 Typical Full Trust Code functionality
  • 11. ©2017 Avanade Inc. All Rights Reserved. Use SharePoint Patterns & Practices Framework 11
  • 13. ©2017 Avanade Inc. All Rights Reserved. 13 • Custom CSOM/FTC/PowerShell scripts to run against existing farm • Analyze the FTC solutions/WSP’s source code • SMAT Tool (SharePoint Migration Assessment Tool ) • Although called the 2013 migration tool, it also works on 2010 and 2016. • Download: https://www.microsoft.com/en-us/download/details.aspx?id=53598 • Run directly from command prompt on a WFE using a farm admin account: • SMAT.exe [-o] [-t] [-sv] How to identify (FTC) challenges Output folder # threads Skip checks
  • 14. ©2017 Avanade Inc. All Rights Reserved. 14 SharePoint Migration Assessment Tool
  • 15. ©2017 Avanade Inc. All Rights Reserved. 15 Reports on many types of customizations/remediation area’s: SharePoint Migration Assessment Tool (2) Add-Ins Alerts BCS Browser File Handling Checked-out Files Custom Profile Mappings Customized Pages Email Enabled Lists File Versions Full Trust Code (FTC) InfoPath IRM Enabled Lists Large Excel Files Large List Views Large Lists Large Sites Locked Sites Long OneDrive URL’s Managed Metadata Columns Master Pages Publishing Pages Publishing Sites Sandbox solutions Secure Store Site Template Language Unsupported Site Templates Web Application Policies Workflow Associations Running Workflows
  • 16. ©2017 Avanade Inc. All Rights Reserved. 16 Example output: SharePoint Migration Assessment Tool (3)
  • 17. ©2017 Avanade Inc. All Rights Reserved. 17 In the next slides these most common FTC remediation challenges and solutions will be addressed: ✓ Site branding ✓ Custom Web Controls & Web Parts ✓ Custom User Profile Properties ✓ Timer Jobs ✓ Event receivers Remediation challenges
  • 19. ©2017 Avanade Inc. All Rights Reserved. Custom master page • Can introduce any level of customizations • When new changes are introduced to the OOTB master page, those should be copied to custom master pages as well • Additional maintenance burden • Future major version upgrades can cause additional requirements to re-create the end user experience Custom master page vs. (O365) theme
  • 20. ©2017 Avanade Inc. All Rights Reserved. Site theme • Can be introduce to bring color, font and background image settings • Sites with themes will still use OOTB master pages, so any updates will be automatically reflected on the sites • Future major version upgrades don’t cause additional costs • Needs to be stored on each site collection • Additional maintenance burden Alternate CSS • Simple styling using CSS • Won’t break in case of SharePoint upgrades • Store on central location accessible to everyone • Not yet applied to the modern UI Custom master page vs. (O365) theme (2) O365 theme • Centrally control branding across all services in O365 • Overriding the O365 theme can be enabled/disabled by tenant admin • No customizations required, so no additional costs during future upgrades • Not available on-prem
  • 21. ©2017 Avanade Inc. All Rights Reserved. 21 • During implementation the FTC and new approach will co-exist, allowing a phased roll-out and pilot testing • If issues occur, you can easily switch back to the FTC solution and determine a new approach/solution Remediation strategy 1 • Identify custom master pages and alternate CSS used 2 • Create CSOM/PowerShell script to implement new branding strategy (revert to OOTB Master Page/unghost Master Page/CSS file/use themes) 3 • Create new sites with new branding strategy • Remove FTC branding solution (including any non-referenced FTC Master Pages etc)
  • 22. Custom Web Controls & Web Parts
  • 23. ©2017 Avanade Inc. All Rights Reserved. 23 Rather than implementing custom web controls/web parts, use standard content/script editor web parts in combination with JavaScript injection Custom Web Controls & Web Parts Full Trust Code • Custom web control on master page • Will break if FTC is removed • Downtime for each upgrade/change JavaScript Injection approach • Client-side rendering using JavaScript • Use the JSOM and REST API’s in SharePoint (on-prem and SPO) • No downtime for upgrades/changes js Provider Hosted Add-in SharePoint Service 2 Association of JavaScript injection (user custom action) to the site, so that code is executed during site processing. 1 UX elements are rendered with JavaScript by using a script stored either in SharePoint, centrally in the provider hosted Add-in or in some CDN. Preferable in one location for easy update cross all instances. 3
  • 24. ©2017 Avanade Inc. All Rights Reserved. 24 Remediation strategy 1 • Identify custom web controls and web parts used 2 • Create CSOM/PowerShell script to add the Custom Action to the affected sites 3 • Create script to replace any web parts with script editor/content editor web part • Create script to remove the custom web controls 4 • Create new sites with new custom action/OOTB web parts being added • Remove FTC custom web control/web part solution
  • 25. Custom User Profile Properties
  • 26. ©2017 Avanade Inc. All Rights Reserved. Most common on-prem situation: - Additional user profile properties can be mapped in the SharePoint User Profile Service and can be directly read/written to/from AD Custom User Profile Properties – on-prem Functionalities can use the user profile properties to show information or to change the end user experience. 3 Active Directory SharePoint Service 12
  • 27. ©2017 Avanade Inc. All Rights Reserved. A standardized set of attributes are replicated from Azure Active Directory to the SharePoint Online User Profile Store within Office 365. Unlike on-premises SharePoint, these attributes cannot be customized. Custom User Profile Properties - SPO Functionalities can use the user profile properties to show information or to change the end user experience. 6 Active Directory Custom synchronization tool SharePoint Service Custom synchronization tool for extended attributes what needs to be synced to SharePoint user profile Standardized set of attributes are replicated to the SharePoint user profile store. Azure Active Directory Customer 12 LoB Systems 4 3 5 json JSON file for bulk updates in the user profile store
  • 28. ©2017 Avanade Inc. All Rights Reserved. 28 Remediation strategy 1 • Identify and create User Profile Properties on SharePoint Online based on existing apps/requirements 2 • Create and periodically schedule custom synchronization tool to perform the bulk updates 3 • Adjust any SharePoint customizations which use user properties where needed • On-premise SharePoint does not support updating User Profile properties via CSOM. Here you need to use the standard profile mapping from the UPS or a customization
  • 30. ©2017 Avanade Inc. All Rights Reserved. Full trust code timer jobs are not available on O365, these need to be replaced with remote timer jobs which can be hosted anywhere (including Azure webjobs) Timer Jobs Provider Hosted Apps SharePoint Service 2 Scheduled execution which accesses the needed resources from the SharePoint service and performs the required automation. Can use either specific account for connection or oAuth based app-only token approach 1 Remote timer job Full Trust Code Timer Job • Runs as part of SharePoint • Execution controlled by SharePoint • Downtime for each upgrade/change Remote Timer Job • Use CSOM/REST API’s • Runs outside SharePoint • More flexible execution control • No downtime for upgrades/changes
  • 31. ©2017 Avanade Inc. All Rights Reserved. 31 Remediation strategy 1 • Identify location for the remote timer job to run (Azure web job, on-prem server executable with scheduled task etc) 2 • Recreate the FTC functionality using the CSOM/REST API’s 3 • Activate/schedule the remote timer job and retract the FTC timer job solution • If the timer job needs to connect to on-prem resources as well, it might be easier to host it inside the company’s network to prevent challenges with incoming traffic firewall rules
  • 33. ©2017 Avanade Inc. All Rights Reserved. Event receivers can’t be used anymore in SharePoint Online and need to be replaced by remote event receivers which will hosted externally Event Receivers Full Trust Code Event Receiver • Runs as part of SharePoint • Guaranteed execution Remote Event Receiver • External web service is called when events in host web occur • No guaranteed execution • Hosting in Azure is preferred Provider Hosted Apps Access Control System LOB System SharePoint Service 1 2 3 4 5
  • 34. ©2017 Avanade Inc. All Rights Reserved. • Be aware that there is no guaranteed delivery for remote event receivers, e.g. due to network errors • A workflow might be a better solution in some use cases Remediation strategy 1 • Identify location for the remote event receiver (Add-In, external web service etc) 2 • Recreate the FTC functionality in the web service using the CSOM/REST API’s 3 • Replace the FTC event receiver registration with the remote event receiver in the SharePoint site/list/list item 4 • Retract the FTC event receiver solution WSP
  • 36. 36 ▪ An application which is located outside SharePoint and performs operations against SharePoint ▪ Provider hosted application ▪ Windows applications ▪ Console applications ▪ Can be identified from a combination of sources: ▪ Application registries maintained by your organization ▪ Consulting with existing application support teams ▪ Analyzing the SharePoint on-prem IIS logs: ▪ Accounts known to be used for applications (e.g. service accounts) ▪ Calls to REST API’s and ASMX web services What is a Connected Application
  • 37. 37 ▪ Maintenance and operational costs ▪ Long term roadmap of your customization vs. SharePoint roadmap ▪ Ability to create additional functionality ▪ Flexible model to serve both on-premise and O365/SPO ▪ No SharePoint downtime anymore during deployments ▪ Keep as close as possible to out of the box functionality (Connected) Application considerations
  • 38. ©2017 Avanade Inc. All Rights Reserved. 38 Applications connecting into SharePoint 2013 or 2016 need to update their authentication mechanism to work against SharePoint Online: • Current user account (e.g. first.lastname@contoso.com) • Cloud Identity (e.g. first.lastname@contoso.onmicrosoft.com) • Token and Client Secret • Azure AD Token and certificate Use the ADAL library to do most of the work for you in your app Bear in mind that the authentication/token will expire after 1 hour, and as per best practice it’s recommended to cache the token for ~50 minutes if your connected application performs a lot of requests Connected Applications
  • 39. ©2017 Avanade Inc. All Rights Reserved. If a ExecuteQuery is throttled by SharePoint, it throws a HTTP status code 429: “Too many requests” You can catch this error code and implement a cool down and retry mechanism The Core.Throttling example from the PnP framework has the “ExecuteQueryWithIncrementalRetry” extension method to catch HTTP codes 429 and 503 If you also want to catch any other unexpected errors (like timeouts/network outages), you can implement the same approach More information about connecting to SPO and best coding practices can be found in my presentation from last year: http://www.timmerman.it/index.php/session-slides-and-code- effective-client-side-coding-against-o365/ Handling throttling and network outages
  • 40. ©2017 Avanade Inc. All Rights Reserved. Content migration challenges
  • 41. 41 In the next slides these content remediation challenges and solutions will be addressed: ✓ Custom Field Types, Site Definitions and List Definitions ✓ Sandbox solutions ✓ List Templates ✓ Large Lists ✓ Large List Views ✓ Running Workflows ✓ Workflow Definitions ✓ InfoPath Forms Remediation challenges
  • 42. Custom Field Types, Site Definitions and List Definitions
  • 43. Unfortunately, there are not replacement options in SharePoint Online for these customizations and the only option is a content migration Custom Field Types, Site Definitions and List Definitions 1 • Identify the locations where these customizations are used 2 • Recreate the content structure using OOTB functionality 3 • Migrate the content from the old location to the new location
  • 45. ©2017 Avanade Inc. All Rights Reserved. 45 Code based sandbox solutions are already deprecated for a while, but people might still be using these on on-premise farms. Only declarative sandbox solutions are still allowed, at this moment… Sandbox solutions normally aren’t migrated by migration tooling, but if they are, on SharePoint Online any code-based sandbox solution can’t be activated anymore. If not properly remediated prior to the migration, this might lead to orphaned FTC references and issues after the migration • E.g. if a List Definition doesn’t exist anymore, the list will break and will cause CSOM calls to retrieve all Lists on the site to fail. Sandbox Solutions
  • 46. ©2017 Avanade Inc. All Rights Reserved. Remediation strategy 1 • Assess the sandbox solution WSP’s 2 • Ensure any solution files are unghosted and copied into the actual site (content DB) • Remove any FTC references added by the sandbox solution (e.g. event receivers) 3 • Update sandbox solution to not remove files upon FeatureDeactivating event 4 • Deactivate sandbox features and remove sandbox solution
  • 48. ©2017 Avanade Inc. All Rights Reserved. 48 List Templates can contain references to Full Trust Code (e.g. event receivers, custom column definitions). Those need to be remediated prior, or as part of the migration to SharePoint Online. Approach 1 1. Remediate all FTC references from existing lists/libraries 2. Backup and delete all existing List Templates and inform end user to recreate the templates Approach 2 1. Remediate all FTC from existing lists/libraries 2. Remediate the List Templates by investigating the STP file and update the STP contents to remove the references to FTC List Templates
  • 49. ©2017 Avanade Inc. All Rights Reserved. 1. Rename the .STP file to .CAB 2. Extract the .CAB file to a new folder 3. Open the new folder and locate the “manifest.xml” 4. Go to the “<Receivers>” node 5. Locate all “<Receiver>” nodes which relate to your FTC and delete the entire related line from “<Receiver>” to “</Receiver>” 6. Locate all “<XmlDocument NamespaceURI="http://schemas.microsoft.com/sharepoint/events">” nodes and delete them from “<XmlDocument” until “</XmlDocument>” 7. Save the “manifest.xml” 8. Repackage the .CAB file 9. Rename to .STP an replace the STP in SharePoint List Templates – Approach 2
  • 50. ©2017 Avanade Inc. All Rights Reserved. 50 List Templates – Approach 2 example
  • 52. ©2017 Avanade Inc. All Rights Reserved. 52 Large lists (with more than 5.000 items) have been a challenge since SharePoint 2010, but the List View Threshold could easily be increased by a farm admin or a window for this could be configured (aka ‘happy hour’). On SharePoint Online, these workarounds are not available anymore on any list with more than 5.000 items, if: - More than 5.000 items are returned - More than 5.000 items need to be analyzed if they match the list view conditions To reduce risk, it’s recommended to review all the lists with more 5.000 items to ensure they can still be accessed on SharePoint Online. Large Lists
  • 53. ©2017 Avanade Inc. All Rights Reserved. 53 • Use folders or additional lists to not have more than 5.000 items in a list/folder • Requires a content migration, potential breaking links • Configure indexes on the list based on the views already present or create views to split up content • Requires analysis of the lists, small impact of storage used for the indexes Note: • There is a maximum of 20 indexes per list • There is still an upper maximum of 20.000 list view threshold, after which indexes can’t be added anymore • SharePoint Online and SP2016 automatically adds indexes when your list approaches the 5000 item limit. Ensure this list/library setting is enabled: Remediation Strategy
  • 55. ©2017 Avanade Inc. All Rights Reserved. 55 Large list views (with more than 12 lookup columns) have been a challenge since SharePoint 2010, but the List View Lookup Threshold could easily be increased by a farm admin or a window for this could be configured (aka ‘happy hour’). On SharePoint Online, these workarounds are not available anymore on any list view with more than 12 lookup columns: - Managed Metadata columns - User/People columns - Last Modified By/Created By - Lookup columns - Workflow Status - Name (linked to document/with edit menu), Link (to edit item) - Type (the document icon) Large List Views
  • 56. ©2017 Avanade Inc. All Rights Reserved. 56 • Remove lookup columns from a view if they don’t bring additional value for that view • Split up views which have more than 12 lookup columns Note: • This is a limitation of the number of lookup columns you can use in a single view, not a limitation of the lookup columns in your list Remediation Strategy
  • 58. ©2017 Avanade Inc. All Rights Reserved. 58 None of the migration tools, to date, is able to migrate workflows which are in progress. The workflow definitions will be migrated, but the user needs to restart the workflow on SharePoint Online post migration. The best approach is to inform end users to finish as much as possible running workflows prior to the migration. Running Workflows
  • 60. ©2017 Avanade Inc. All Rights Reserved. 60 Workflow definitions might contain references to user accounts, e.g: MYDOMAINJohn.Doe on SharePoint Online, this account will be i:0#.f|membership|john.doe@mydomain.com. The workflow definitions need to be updated with these new accounts and then republished. Note: The ‘SaveDefinition’ method might fail on large workflows. The alternate solution would be to update the XAML file directly in the “<(sub)site url>/wfsvc/<definition guid without dashes>/<Definition.FullName>” location Workflow Definitions Workflow 2010 Workflow 2013 Located in <(sub)site url>/Workflows/<workflowname>/ Use ‘WorkflowServicesManager’ to iterate through 2013 workflow XAML definitions Look for <workflowname>.XOML and .XOML.RULES file Replace account names Replace account names Call ‘SaveDefinition’ Manually republish workflow from SharePoint Designer Call ‘PublishDefinition’
  • 61. ©2017 Avanade Inc. All Rights Reserved. 61 Workflow examples Generates .rules file
  • 62. ©2017 Avanade Inc. All Rights Reserved. 62 Workflow Definitions (2)
  • 63. ©2017 Avanade Inc. All Rights Reserved. 63 Workflow Definitions (3)
  • 64. ©2017 Avanade Inc. All Rights Reserved. 64 Workflow Definitions (4)
  • 65. ©2017 Avanade Inc. All Rights Reserved. 65 Workflow Definitions (5)
  • 66. ©2017 Avanade Inc. All Rights Reserved. 66 Other area in workflows which requires attention are: • Impersonation steps: if a 2010 workflow uses impersonation, the user publishing the workflow should continue to have the access which the workflow requires • Sending e-mail: this will only work if the recipient has a SharePoint license assigned • “The selected user(s) may not be valid on the site this workflow is published on. If a recipient is not a valid SharePoint user, he or she will not receive workflow emails” • Workflows don’t trigger if the creator if the item is: ACS Token, System Account or a workflow. If the item is created by another workflow, impersonation or app-step needs to be used to create the item under a user’s context. Other Workflow Observations
  • 68. ©2017 Avanade Inc. All Rights Reserved. 68 InfoPath forms might contain references to user accounts, e.g: MYDOMAINJohn.Doe on SharePoint Online, this account will be i:0#.f|membership|john.doe@mydomain.com. The InfoPath form needs to be updated with these new accounts and then republished. - PnP framework has a tool to do this for you: https://github.com/SharePoint/PnP- Transformation/tree/dev/InfoPath/Migration/PeoplePickerRemediation.Console If InfoPath forms already exist for a while (e.g. created in SharePoint 2003/2007), for fields to be populated based on SharePoint data, the entire list was received and than filtered in the InfoPath form. On SharePoint Online, this might lead to the “The form could not be displayed because default values or rules are taking too long to evaluate” error. To resolve this, ensure the ‘queryfields’ is used to already filter the data from the SharePoint list (instead of inside the InfoPath form). InfoPath Forms
  • 69. ©2017 Avanade Inc. All Rights Reserved. 69 Microsoft is not improving InfoPath anymore and support will continue until April 2023, so what will be the best replacement of InfoPath? - O365 Forms? - O365 PowerApps? - HTML5 forms? - SharePoint Lists (Modern UI)? - Third Party products? InfoPath Forms (2)
  • 71. ©2017 Avanade Inc. All Rights Reserved. 71 • By default on SharePoint Online 500 major versions are kept in a document library, this is different than on-prem (no default) • The contact webpart needs to be remediated as well post migration (from DOMAINusername to the new user claim format) • The access request e-mails need to be remediated as well post migration (from DOMAINusername to the e-mail address) • Calendar overlays between site collections is not supported anymore • Audit reports are now split per 10K rows per Excel file Other migration observations
  • 73. ©2017 Avanade Inc. All Rights Reserved. 73 • Be informed about the Full Trust Code components running in your farm • Run the SMAT Tool to assist you with identifying remediation area’s • Remediate as much as possible prior to the migration • PnP has tools to assist with this: https://github.com/SharePoint/PnP-Transformation • Have a support team available to remediate/assist end users quickly with items which can’t be remediated in advance • Inform users about area’s on their site which require their attention and keep them informed throughout the migration journey. Summary
  • 75. ©2017 Avanade Inc. All Rights Reserved. Thanks for attending! 75@timmermankevin www.timmerman.it timmermankevin kevin.timmerman@avanade.com
  • 76. ©2017 Avanade Inc. All Rights Reserved.©2017 Avanade Inc. All Rights Reserved.