SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Downloaden Sie, um offline zu lesen
Lifecycle Management with SharePoint Apps and Solutions 
PAOLO PIALORSI, PIASYS.COM 
paolo@pialorsi.com -@PaoloPia
About Me 
•Project Manager, Consultant, Trainer 
•More than 40 Microsoft certification exams passed, including MC(S)M 
•Focused on SharePoint since 2002 
•Author of 10 books about XML, SOAP, .NET, LINQ, and SharePoint 
•Speaker at main IT conferences worldwide 
•http://www.piasys.com/
Agenda 
•Introduction to Application Lifecycle Management 
•Main ALM phases from a SharePoint perspective 
•I simply want to share with you my own experiences, collected along more than 12 years of SharePoint projects 
•Maybe sometime you will agree with me 
•Maybe not … let’s discuss it while drinking some beers, in that case!
Application Lifecycle Management
Application Lifecycle Management 
•Applicationlifecyclemanagement(ALM),calledalsoADLM(ApplicationDevelopmentLife-cycleManagement),istheproductlifecyclemanagement(governance,development,andmaintenance)ofapplicationsoftware.Itencompassesrequirementsmanagement,softwarearchitecture,computerprogramming,softwaretesting,softwaremaintenance,changemanagement,continuousintegration,projectmanagement,andreleasemanagement. 
http://en.wikipedia.org/wiki/Application_lifecycle_management
Our focus today 
•Requirements management 
•Software architecture 
•Computer programming (tools and techniques) 
•Software testing 
•Release management 
•Software maintenance 
•In the SharePoint world, of course!
ALM and SharePoint
ALM and SharePoint 
•A SharePoint “application” can be: 
•Intranet solutions 
•Extranet solutions 
•Public facing Web Site solutions 
•Custom development solutions 
•Integration/LOB solution 
•Etc. 
•All of these kind of solutions require Lifecycle Management 
•Today we will focus on Custom development solutions
What’s your target SharePoint flavor? 
•Your flavor(s) will influence the overall solution 
•Microsoft SharePoint 2007 (no, please … really?!) 
•Microsoft SharePoint 2010 (it happens …) 
•Microsoft SharePoint 2013 (keep on running …) 
•Microsoft SharePoint Online and Microsoft Office 365 (well done! ) 
•Hybrid Scenarios (SharePoint 2013 + SharePoint Online) 
•Today the focuses are 
•Microsoft SharePoint 2013 
•Microsoft SharePoint Online and Microsoft Office 365 
•Hybrid Scenarios
Evolution of SharePoint Customizations 
Full Trust Solutions 
No real control 
Support is a nightmare 
Upgrade is quite a challenge 
Securing code to run in hosted environments is effectively impossible 
SP Code 
More custom code: aspx, dlls, web services, GAC 
Sandbox 
Partial control 
App Model 
Control, Trust, Manage 
Way too strict for developers 
Hard to maintain and expand 
Managed by your self 
SP Code 
Sandboxed Custom Code 
App code (client or server) 
SP Code 
Isolated App client side code 
Host/language independent 
Management and update easily doable per app 
Emprases reusability 
No server side sandbox, improved CSOM
Development and Deployment Options 
Farm 
•Full trust solutions 
•Customizations to file system of servers 
•Hosted in same process as SharePoint 
•Server side SharePoint API access 
•Classic model from 2007Sandbox 
•Declarative elements 
•Partially trusted code service still included for limited server side support 
•Hosted in isolated process 
•Limited server side SharePoint API access 
SP Apps 
•New Apps model 
•Deployed from corporate catalog or SharePoint store 
•Manage permission and licenses specifically 
•Simple install and upgrade process 
•Preferred option 
Code based sandbox solutions deprecated in SP2013
“SOLUTIONS OR APPS? THAT IS THE QUESTION!”
Solutions or Apps? 
New SharePoint ProjectIs it ok a SharePoint Appregardless the target platform? YesCreate a SharePoint AppLet s Startthe ProjectNoWhat is the target platform? Office 365/SharePoint OnlineSharePoint on-premisesAnalyze requirements and define constraints that can t make it possible to crate a SharePoint AppCan you slightly change requirements to make it a SharePoint App? YesNoIsolate requirements that need full-trust code and create a dedicated FTC module. Document and report those constraintsto your customer! Are the remainder requirements ok for a SharePoint app? YesNo
What methodology? 
•Waterfall 
•Prototyping 
•Spiral development 
•Agile 
•eXtremeProgramming (XP) 
•Kanban 
•SCRUM 
•Etc. 
•My typical choice is a kind of “disciplined Agile approach” 
•Upfront analysis => Prototyping => Agile
Requirements management
“USUALLY, JUST AFTER YOU COLLECT REQUIREMENTS, CUSTOMERS CHANGE THEM”
To gather better requirements 
•Collect them in meetings with key users and matter experts 
•Write a requirements document 
•Let the key users and matter experts approve or fix that document 
•Create a PoCusing the web browser and a sample site 
•Based on the requirements gathered 
•Meet users and experts again to check the result 
•Fix the requirements 
•Adapt and improve the PoC 
•Finalize the requirements document 
•Double-check the final result 
•Move any other new requirement in the next project iteration 
•If any, of course …
Software architecture
Architecture key aspects 
•SharePoint Apps and Solutions are just another kind of software 
•Share the same architectural principles of any other software 
•The main pillars are 
•The Domain Model 
•The Persistence Layer 
•The Data Access Layer 
•The Business Rules and Requirements 
•The Service Layer 
•The Presentation Layer
The Domain Model 
•Think about the Domain Model aside from SharePoint 
•Your are developing a software solution, not “just” a SharePoint one 
•Determine the entities, their relationships and cardinality 
•And identify those entities that fit into the SharePoint world 
•A well defined Domain Model is fundamental for the success of the project 
•Think about Domain Driven Development (DDD) …
The PersistenceLayer 
•SharePoint is for sure a good repository for documents 
•Versioning, Check-in/Check-out, Templates, Metadata, Search, Etc. 
•SharePoint can be a good repository for some other elements 
•Contacts, Calendars, Tasks, Etc. 
•SharePoint for sure is nota good repository for large data sources of relational elements 
•Customers, Orders and Order Details, Etc. 
•SharePoint is not an RDBMS 
•As well as an RDBMS can’t easily substitute SharePoint 
•Join their forces and think about both SharePoint and an RDBMS 
•Just in case of need, of course
The Data Access Layer 
•Abstract from the physical persistence layer 
•Allows creating a software architecture that is independent from the physical persistence layer 
•You will probably consume SharePoint items and documents using the SharePoint Client/Server Object Model 
•You will probably consume RDBMS data using Entity Framework 
•Or any other OR/M of your choice 
•The Data Access Layer hides these choices and implementation details to the upper layers
The Business Rules and Requirements 
•The Business Layer incorporates business rules and requirements 
•Assures business integrity of data 
•Applies rules 
•Guarantees satisfaction of requirements 
•Manages transactional context 
•Even across different persistence layers 
•Allows validating data, aside from the physical repository 
•Ensures security rules and constraints 
•Implies authorization checks
The Service Layer 
•Allows decoupling from the Presentation Layer 
•In a SharePoint Solution can be “optional” 
•You typically work only server-side in full-trust code 
•Often you don’t need to decouple front-end and back-end 
•But you should in Service Applications, Workflows, custom WCF Services 
•In Service Applications is their architecture that is natively decoupled 
•In a SharePoint App can be “useful” 
•To provide REST API services, as like as SharePoint/Office 365 do 
•To extend workflow implementations via REST 
•To support jQuery/AJAX
The Presentation Layer 
•Provides UI to support users’ data input and reading/querying 
•In a SharePoint Solution leverage standard SharePoint UI 
•Web Parts 
•Custom Data Views 
•Custom Pages 
•In a SharePoint App 
•Can still be SharePoint-based, in a SharePoint-hosted app 
•Often is independent from SharePoint, in a provider-hosted app 
•You can leverage whatever technology you like (ASP.NET, Java, PHP, Node.js, ecc.) 
•Usually is based on ASP.NET MVC 
•Don’t forget User eXperience, UI without UX is a mess
Computer programming
Supporting tools 
•Visual Studio 2013 regardless the model (FTC, CAM) 
•Together with Team Foundation Server/Services 
•Or any other Code Versioning System (CVS) 
•SharePoint Solutions 
•SPDisposeCheck(http://bit.ly/1xJmi8V) 
•SharePoint Code Analysis Framework (http://www.spcaf.com/) 
•SharePoint Apps 
•SharePoint Code Analysis Framework (http://www.spcaf.com/) 
•Office 365 Developers PnP (https://github.com/OfficeDev/PnP)
Server Object Model or CSOM? 
•CSOM and REST APIs are the future 
•Server Object Model is the past/legacy way of working 
•Use Server Object Model 
•When you can’t use CSOM 
•Some kind of Web Parts 
•Service Application 
•Custom WCF Services 
•Custom Claims Providers 
•Keep an eye on Office 365 Developer PnP 
•You will find a lot of answers to common doubts and myths 
•Using CSOM and CAM you can do a lot of things 
•Way more than you expect … and even more will come in the future
Development Environment 
•SharePoint Solutions 
•Use customer/project’s dedicated virtualized environment 
•Deploy a farm, not just a single all-in-one development VM 
•Consider using Azure IaaS 
•You can script everything 
•You can define pre-configured environments 
•You pay only when you use it, on a per-minute basis 
•You can deploy developers’ machines in the cloud, as well 
•SharePoint Apps 
•Use Office 365 Developer Edition (~100€/year) 
•Use a dedicated development machine for each and every developer 
•In both scenarios: consolidate code through TFS/CVS
Roll your own Frameworks 
•Reuse code as much as you can 
•Not through copy and paste … 
•… but using Object Oriented Programming 
•Create libraries of code 
•Regardless your target is a solution or an app 
•Share libraries across multiple projects 
•To increase return of investments and overall profits for you 
•Deploy libraries carefully (more about this topic later …)
Common Sense Rules and Conventions 
•Clearly comment code 
•With comments that make sense … 
•Use company-wide naming conventions 
•Name shared framework types with your company name 
•PiaSys.Common.Utilities.* 
•Name customers’ specific types with their company name 
•CustomerName.ProjectName.* 
•Avoid SharePointApp1 style names 
•As well as OrdersAppstyle names
Software testing
Testing practices 
•Unit Test 
•Code testing, usually automated 
•Tools: Visual Studio 2013 Testing Tools 
•Integration Test 
•Modules combination, automated and/or manual (by dev/tester) 
•Tools: Visual Studio 2013 Testing Tools 
•Functional Test 
•Based on test cases (by tester) 
•Tools: Visual Studio 2013Testing Tools 
•Performance Test 
•How the solution performs (by dev/tester) 
•Tools: Visual Studio 2013Testing Tools, ANTS Performance Profiler, Fiddler
Key aspects of testing SharePoint software 
•SharePoint Solutions 
•Try to decouple code from UI/UX, in order to being able to automate unit and integration tests 
•Create a virtualized project-dedicated testing environment 
•Each on-premises farm has its own specific constraints 
•SharePoint Apps 
•Use Microsoft Office 365 instead of an on-premises environment 
•Use the same tenant, with different site-collections (DEV, TEST, PROD) 
•Different tenants can have different versions of the platform 
•Keep in mind that SharePoint Online is v.16 while on-premises is v.15 
•Only in case of need use an on-premises environment 
•Custom authentication 
•Integration with full-trust solutions or legacy systems 
•Etc.
Release management
Releasing SharePoint Solutions 
•Release dedicated WSPs for framework libraries 
•Release dedicated WSPs for specific customer/project solutions 
•Avoid releasing a unique all-in-one WSP 
•Be modular and live modular  
•Upgrade will be easier and less error prone 
•Automate release and upgrade phases through PowerShell 
•Easier to publish packages on testing, staging, production, etc. 
•Easier to automate release/deployment phases
Releasing SharePoint Apps 
•Prefer provider-hosted apps, for real business solutions 
•You can manage release as like as any other software solution 
•Use SharePoint-hosted apps just in a few cases 
•Workflow-only apps 
•Apps based on SharePoint data only 
•Very simple and only JS/jQuery-based apps 
•Use Corporate App Catalog for customer-dedicated apps 
•Don’t use Developer Site collection for testing and production 
•Use Azure Web Sites or Azure WebRole(PaaS) for Office 365 
•Consider using Azure for on-premises scenarios, as well 
•Mind the OAuthsecurity infrastructure 
•In Office 365 you will use Azure ACS … easy path 
•On-premises you will use Server to Server/High Trust scenario … more complex
Evergreen and release cycle – Old model 
SP2013 O16 O17 O18 
Tightly coupled 
SharePoint customizations 
Upgrade Upgrade Upgrade Upgrade 
Specific upgrade project each time new version is introduced 
Customizations have to be upgraded to get access on new capabilities in product 
Will cause additional costs during each release cycle of customizations 
Customization updates cause downtime each time something is changed 
Complex ALM processes for ensuring quality of the code
Evergreen and release cycle – NEW model 
SP2013 
Loosly coupled 
SharePoint customizations 
O16 O17 O18 
Development 
You choose when and how applications are updated... 
Backwards compatibility for API level to move customizations cross versions 
Customizations don’t block new capabilities from SharePoint 
Customizations extend, not change SharePoint 
Customizations can be updated with minimal impact on SharePoint 
Customizations will utilize services from 
SharePoint and other services, but won’t 
usually change out of the box services.
Release documentation, as well 
•Describe the architecture 
•Define and design the final topology 
•Define the procedures 
•Deployment 
•Backup, restore, and recovery 
•Upgrade 
•Release users’ manuals, if covered by the budget 
•Available tools: 
•Microsoft Visio 
•Microsoft Word 
•SPDocKit(http://www.spdockit.com/)
Software maintenance
“A WORKING PROGRAM IS ONE THAT HAS ONLY UNOBSERVED BUGS” MURPHY’SLAWS
Tracking bugs, issues, change requests 
•Use a software tool to track bugs, issues, and change requests 
•For instance you can use TFS and its web-based interface 
•It is fully integrated with the development/maintenance process 
•Can be measured and monitored 
•Give a TFS account to your customers, if you can ... 
•Let them input work items and moderate them
Releasing Updates and Fixes 
•Ship fixes and new features through dedicated milestones 
•Learn from the others (mainly from Microsoft) 
•Service Pack: all previous bug fixes and new features 
•Cumulative Update: bug fixes 
•Public Update: required and/or security fixes (mandatory) 
•Accustom your customers to wait for stable minor and major releases 
•Avoid releasing code on a daily-basis 
•Take care of complete testing, pre-production/staging validation, release 
•SharePoint Solutions 
•Schedule releases to avoid farm down-time (IISRESET, process recycle) 
•SharePoint Apps 
•Keep in mind app-related events and remote event receivers 
•One more time … prefer provider-hosted apps to reduce down-times
THAT’S ALL FOLKS!
questions? 
HTTP://WWW.SHAREPOINT-REFERENCE.COM/BLOG/ 
@PAOLOPIA
thank you. 
SHAREPOINT AND PROJECT CONFERENCE ADRIATICS 
ZAGREB, 10/14/2014 -10/15/2014

Weitere ähnliche Inhalte

Was ist angesagt?

Office 365 Deployment Strategies
Office 365 Deployment StrategiesOffice 365 Deployment Strategies
Office 365 Deployment StrategiesBert Johnson
 
Decision CAMP 2014 - Erik Marutian - Using rules-based gui framework to power...
Decision CAMP 2014 - Erik Marutian - Using rules-based gui framework to power...Decision CAMP 2014 - Erik Marutian - Using rules-based gui framework to power...
Decision CAMP 2014 - Erik Marutian - Using rules-based gui framework to power...Decision CAMP
 
Introduction to SharePoint as a Development Platform
Introduction to SharePoint as a Development PlatformIntroduction to SharePoint as a Development Platform
Introduction to SharePoint as a Development PlatformRonald Courville
 
SharePoint 2013 Search Operations
SharePoint 2013 Search OperationsSharePoint 2013 Search Operations
SharePoint 2013 Search OperationsSPC Adriatics
 
aOS Canadian Tour Share point migration tips
aOS Canadian Tour Share point migration tipsaOS Canadian Tour Share point migration tips
aOS Canadian Tour Share point migration tipsMike Maadarani
 
Power Users Guide to Office 365 - Collab365 Summit 2016
Power Users Guide to Office 365 - Collab365 Summit 2016Power Users Guide to Office 365 - Collab365 Summit 2016
Power Users Guide to Office 365 - Collab365 Summit 2016Chirag Patel
 
Advanced SharePoint 2010 InfoPath Development
Advanced SharePoint 2010 InfoPath DevelopmentAdvanced SharePoint 2010 InfoPath Development
Advanced SharePoint 2010 InfoPath DevelopmentPerficient, Inc.
 
Modernize Solutions with SharePoint & the Power Platform
Modernize Solutions with SharePoint & the Power PlatformModernize Solutions with SharePoint & the Power Platform
Modernize Solutions with SharePoint & the Power PlatformJonathan Schultz
 
Collab 365 - Real world scenarios to migrate to SharePoint 2016 or Office 365
Collab 365 - Real world scenarios to migrate to SharePoint 2016 or Office 365Collab 365 - Real world scenarios to migrate to SharePoint 2016 or Office 365
Collab 365 - Real world scenarios to migrate to SharePoint 2016 or Office 365Patrick Guimonet
 
Creating a SharePoint App with Microsoft Access Services
Creating a SharePoint App with Microsoft Access ServicesCreating a SharePoint App with Microsoft Access Services
Creating a SharePoint App with Microsoft Access ServicesSPC Adriatics
 
Workflow in SharePoint 2013
Workflow in SharePoint 2013Workflow in SharePoint 2013
Workflow in SharePoint 2013MJ Ferdous
 
SPCAdriatics - Search Administration and Troubleshooting in SharePoint 2013
SPCAdriatics - Search Administration and Troubleshooting in SharePoint 2013SPCAdriatics - Search Administration and Troubleshooting in SharePoint 2013
SPCAdriatics - Search Administration and Troubleshooting in SharePoint 2013Agnes Molnar
 
Getting started with share point online modernization - SharePoint Saturday T...
Getting started with share point online modernization - SharePoint Saturday T...Getting started with share point online modernization - SharePoint Saturday T...
Getting started with share point online modernization - SharePoint Saturday T...Salman Ahmad
 
Inside the mind of a SharePoint Solutions Architect
Inside the mind of a SharePoint Solutions ArchitectInside the mind of a SharePoint Solutions Architect
Inside the mind of a SharePoint Solutions ArchitectNoorez Khamis
 
Proven Practices for Office 365 Deployment, Security and Management
Proven Practices for Office 365 Deployment, Security and ManagementProven Practices for Office 365 Deployment, Security and Management
Proven Practices for Office 365 Deployment, Security and ManagementPerficient, Inc.
 
SharePoint Online (365) vs SharePoint On-Premises
SharePoint Online (365) vs SharePoint On-PremisesSharePoint Online (365) vs SharePoint On-Premises
SharePoint Online (365) vs SharePoint On-PremisesLior Zamir
 
Product Catalog and IT Service Management
Product Catalog and IT Service ManagementProduct Catalog and IT Service Management
Product Catalog and IT Service ManagementDrew Madelung
 
SharePoint Framework: There's a New Development Model in Town
SharePoint Framework: There's a New Development Model in TownSharePoint Framework: There's a New Development Model in Town
SharePoint Framework: There's a New Development Model in TownJoAnna Cheshire
 
SharePoint Online vs. On-Premise
SharePoint Online vs. On-PremiseSharePoint Online vs. On-Premise
SharePoint Online vs. On-PremiseEvan Hodges
 

Was ist angesagt? (20)

Webinar: The Slippery Slope of Migrating to SharePoint Online or On-Premise
Webinar: The Slippery Slope of Migrating to SharePoint Online or On-PremiseWebinar: The Slippery Slope of Migrating to SharePoint Online or On-Premise
Webinar: The Slippery Slope of Migrating to SharePoint Online or On-Premise
 
Office 365 Deployment Strategies
Office 365 Deployment StrategiesOffice 365 Deployment Strategies
Office 365 Deployment Strategies
 
Decision CAMP 2014 - Erik Marutian - Using rules-based gui framework to power...
Decision CAMP 2014 - Erik Marutian - Using rules-based gui framework to power...Decision CAMP 2014 - Erik Marutian - Using rules-based gui framework to power...
Decision CAMP 2014 - Erik Marutian - Using rules-based gui framework to power...
 
Introduction to SharePoint as a Development Platform
Introduction to SharePoint as a Development PlatformIntroduction to SharePoint as a Development Platform
Introduction to SharePoint as a Development Platform
 
SharePoint 2013 Search Operations
SharePoint 2013 Search OperationsSharePoint 2013 Search Operations
SharePoint 2013 Search Operations
 
aOS Canadian Tour Share point migration tips
aOS Canadian Tour Share point migration tipsaOS Canadian Tour Share point migration tips
aOS Canadian Tour Share point migration tips
 
Power Users Guide to Office 365 - Collab365 Summit 2016
Power Users Guide to Office 365 - Collab365 Summit 2016Power Users Guide to Office 365 - Collab365 Summit 2016
Power Users Guide to Office 365 - Collab365 Summit 2016
 
Advanced SharePoint 2010 InfoPath Development
Advanced SharePoint 2010 InfoPath DevelopmentAdvanced SharePoint 2010 InfoPath Development
Advanced SharePoint 2010 InfoPath Development
 
Modernize Solutions with SharePoint & the Power Platform
Modernize Solutions with SharePoint & the Power PlatformModernize Solutions with SharePoint & the Power Platform
Modernize Solutions with SharePoint & the Power Platform
 
Collab 365 - Real world scenarios to migrate to SharePoint 2016 or Office 365
Collab 365 - Real world scenarios to migrate to SharePoint 2016 or Office 365Collab 365 - Real world scenarios to migrate to SharePoint 2016 or Office 365
Collab 365 - Real world scenarios to migrate to SharePoint 2016 or Office 365
 
Creating a SharePoint App with Microsoft Access Services
Creating a SharePoint App with Microsoft Access ServicesCreating a SharePoint App with Microsoft Access Services
Creating a SharePoint App with Microsoft Access Services
 
Workflow in SharePoint 2013
Workflow in SharePoint 2013Workflow in SharePoint 2013
Workflow in SharePoint 2013
 
SPCAdriatics - Search Administration and Troubleshooting in SharePoint 2013
SPCAdriatics - Search Administration and Troubleshooting in SharePoint 2013SPCAdriatics - Search Administration and Troubleshooting in SharePoint 2013
SPCAdriatics - Search Administration and Troubleshooting in SharePoint 2013
 
Getting started with share point online modernization - SharePoint Saturday T...
Getting started with share point online modernization - SharePoint Saturday T...Getting started with share point online modernization - SharePoint Saturday T...
Getting started with share point online modernization - SharePoint Saturday T...
 
Inside the mind of a SharePoint Solutions Architect
Inside the mind of a SharePoint Solutions ArchitectInside the mind of a SharePoint Solutions Architect
Inside the mind of a SharePoint Solutions Architect
 
Proven Practices for Office 365 Deployment, Security and Management
Proven Practices for Office 365 Deployment, Security and ManagementProven Practices for Office 365 Deployment, Security and Management
Proven Practices for Office 365 Deployment, Security and Management
 
SharePoint Online (365) vs SharePoint On-Premises
SharePoint Online (365) vs SharePoint On-PremisesSharePoint Online (365) vs SharePoint On-Premises
SharePoint Online (365) vs SharePoint On-Premises
 
Product Catalog and IT Service Management
Product Catalog and IT Service ManagementProduct Catalog and IT Service Management
Product Catalog and IT Service Management
 
SharePoint Framework: There's a New Development Model in Town
SharePoint Framework: There's a New Development Model in TownSharePoint Framework: There's a New Development Model in Town
SharePoint Framework: There's a New Development Model in Town
 
SharePoint Online vs. On-Premise
SharePoint Online vs. On-PremiseSharePoint Online vs. On-Premise
SharePoint Online vs. On-Premise
 

Ähnlich wie Lifecycle Management with SharePoint Apps and Solutions

Practical Tips for Migrating SharePoint Customizations to Office 365
Practical Tips for Migrating SharePoint Customizations to Office 365Practical Tips for Migrating SharePoint Customizations to Office 365
Practical Tips for Migrating SharePoint Customizations to Office 365Haniel Croitoru
 
ALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudJeremy Likness
 
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017Marc D Anderson
 
SharePoint Development
SharePoint DevelopmentSharePoint Development
SharePoint DevelopmentMalin De Silva
 
Practical tips for migrating SharePoint Customizations to Office 365
Practical tips for migrating SharePoint Customizations to Office 365Practical tips for migrating SharePoint Customizations to Office 365
Practical tips for migrating SharePoint Customizations to Office 365Haniel Croitoru
 
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
 
Introduction and What’s new in SharePoint 2013
Introduction and What’s new in SharePoint 2013Introduction and What’s new in SharePoint 2013
Introduction and What’s new in SharePoint 2013MJ Ferdous
 
#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...
#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...
#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...Vincent Biret
 
2012 MindSurf - Augmenting Business Process with SharePoint
2012 MindSurf - Augmenting Business Process with SharePoint2012 MindSurf - Augmenting Business Process with SharePoint
2012 MindSurf - Augmenting Business Process with SharePointDon Donais
 
SPTechCon Austin - The Slippery Slope of SharePoint Migrations
SPTechCon Austin - The Slippery Slope of SharePoint MigrationsSPTechCon Austin - The Slippery Slope of SharePoint Migrations
SPTechCon Austin - The Slippery Slope of SharePoint MigrationsJill Hannemann
 
Microsoft Ignite 2017 Conference Notes by Nick Hobbs
Microsoft Ignite 2017 Conference Notes by Nick HobbsMicrosoft Ignite 2017 Conference Notes by Nick Hobbs
Microsoft Ignite 2017 Conference Notes by Nick HobbsNick Hobbs
 
Creating a Documentation Portal
Creating a Documentation PortalCreating a Documentation Portal
Creating a Documentation PortalSteve Anderson
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013SPC Adriatics
 
#SPSNYC 2018 Migrate your custom components to the #SharePoint Framework #SPFX
#SPSNYC 2018 Migrate your custom components to the #SharePoint Framework #SPFX#SPSNYC 2018 Migrate your custom components to the #SharePoint Framework #SPFX
#SPSNYC 2018 Migrate your custom components to the #SharePoint Framework #SPFXVincent Biret
 
Key takeaways for SAP PI Integration 2018
Key takeaways for SAP PI Integration 2018Key takeaways for SAP PI Integration 2018
Key takeaways for SAP PI Integration 2018Daniel Graversen
 
#SPSOttawa 2017 migrate to the #SharePoint Framework #spfx
#SPSOttawa 2017 migrate to the #SharePoint Framework #spfx#SPSOttawa 2017 migrate to the #SharePoint Framework #spfx
#SPSOttawa 2017 migrate to the #SharePoint Framework #spfxVincent Biret
 

Ähnlich wie Lifecycle Management with SharePoint Apps and Solutions (20)

Practical Tips for Migrating SharePoint Customizations to Office 365
Practical Tips for Migrating SharePoint Customizations to Office 365Practical Tips for Migrating SharePoint Customizations to Office 365
Practical Tips for Migrating SharePoint Customizations to Office 365
 
ALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the Cloud
 
SharePoint Custom Development
SharePoint Custom DevelopmentSharePoint Custom Development
SharePoint Custom Development
 
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
 
SharePoint Development
SharePoint DevelopmentSharePoint Development
SharePoint Development
 
Practical tips for migrating SharePoint Customizations to Office 365
Practical tips for migrating SharePoint Customizations to Office 365Practical tips for migrating SharePoint Customizations to Office 365
Practical tips for migrating SharePoint Customizations to Office 365
 
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?
 
Introduction and What’s new in SharePoint 2013
Introduction and What’s new in SharePoint 2013Introduction and What’s new in SharePoint 2013
Introduction and What’s new in SharePoint 2013
 
#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...
#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...
#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...
 
SharePoint 2016 Upgrade Planning
SharePoint 2016 Upgrade PlanningSharePoint 2016 Upgrade Planning
SharePoint 2016 Upgrade Planning
 
A Career in SharePoint
A Career in SharePointA Career in SharePoint
A Career in SharePoint
 
2012 MindSurf - Augmenting Business Process with SharePoint
2012 MindSurf - Augmenting Business Process with SharePoint2012 MindSurf - Augmenting Business Process with SharePoint
2012 MindSurf - Augmenting Business Process with SharePoint
 
SPTechCon Austin - The Slippery Slope of SharePoint Migrations
SPTechCon Austin - The Slippery Slope of SharePoint MigrationsSPTechCon Austin - The Slippery Slope of SharePoint Migrations
SPTechCon Austin - The Slippery Slope of SharePoint Migrations
 
SPS Toronto 2015
SPS Toronto 2015SPS Toronto 2015
SPS Toronto 2015
 
Microsoft Ignite 2017 Conference Notes by Nick Hobbs
Microsoft Ignite 2017 Conference Notes by Nick HobbsMicrosoft Ignite 2017 Conference Notes by Nick Hobbs
Microsoft Ignite 2017 Conference Notes by Nick Hobbs
 
Creating a Documentation Portal
Creating a Documentation PortalCreating a Documentation Portal
Creating a Documentation Portal
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013
 
#SPSNYC 2018 Migrate your custom components to the #SharePoint Framework #SPFX
#SPSNYC 2018 Migrate your custom components to the #SharePoint Framework #SPFX#SPSNYC 2018 Migrate your custom components to the #SharePoint Framework #SPFX
#SPSNYC 2018 Migrate your custom components to the #SharePoint Framework #SPFX
 
Key takeaways for SAP PI Integration 2018
Key takeaways for SAP PI Integration 2018Key takeaways for SAP PI Integration 2018
Key takeaways for SAP PI Integration 2018
 
#SPSOttawa 2017 migrate to the #SharePoint Framework #spfx
#SPSOttawa 2017 migrate to the #SharePoint Framework #spfx#SPSOttawa 2017 migrate to the #SharePoint Framework #spfx
#SPSOttawa 2017 migrate to the #SharePoint Framework #spfx
 

Mehr von SPC Adriatics

How to secure your data in Office 365
How to secure your data in Office 365 How to secure your data in Office 365
How to secure your data in Office 365 SPC Adriatics
 
Do you know, where your sensitive data is?
Do you know, where your sensitive data is?Do you know, where your sensitive data is?
Do you know, where your sensitive data is?SPC Adriatics
 
Securing Intellectual Property using Azure Rights Management Services
Securing Intellectual Property using Azure Rights Management ServicesSecuring Intellectual Property using Azure Rights Management Services
Securing Intellectual Property using Azure Rights Management ServicesSPC Adriatics
 
Creating Workflows in Project Online
Creating Workflows in Project OnlineCreating Workflows in Project Online
Creating Workflows in Project OnlineSPC Adriatics
 
Faster than a flash behind the scenes of patching SharePoint Online
Faster than a flash   behind the scenes of patching SharePoint OnlineFaster than a flash   behind the scenes of patching SharePoint Online
Faster than a flash behind the scenes of patching SharePoint OnlineSPC Adriatics
 
Role based views in Project and Resource Center
Role based views in Project and Resource CenterRole based views in Project and Resource Center
Role based views in Project and Resource CenterSPC Adriatics
 
OneDrive, TwoDrive, Whiterive, BlueDrive (hahaha)
OneDrive, TwoDrive, Whiterive, BlueDrive (hahaha)OneDrive, TwoDrive, Whiterive, BlueDrive (hahaha)
OneDrive, TwoDrive, Whiterive, BlueDrive (hahaha)SPC Adriatics
 
SharePoint Governance and Compliance
SharePoint Governance and ComplianceSharePoint Governance and Compliance
SharePoint Governance and ComplianceSPC Adriatics
 
From analyses to successful Implementation
From analyses to successful ImplementationFrom analyses to successful Implementation
From analyses to successful ImplementationSPC Adriatics
 
The key to a successful Office 365 implementation is adoption
The key to a successful Office 365 implementation is adoptionThe key to a successful Office 365 implementation is adoption
The key to a successful Office 365 implementation is adoptionSPC Adriatics
 
10 Steps to be Successful with Enterprise Search
10 Steps to be Successful with Enterprise Search10 Steps to be Successful with Enterprise Search
10 Steps to be Successful with Enterprise SearchSPC Adriatics
 
How the Cloud Changes Business Solution Design and Delivery
How the Cloud Changes Business Solution Design and DeliveryHow the Cloud Changes Business Solution Design and Delivery
How the Cloud Changes Business Solution Design and DeliverySPC Adriatics
 
Scaling SharePoint 2016 Farms with MinRole & Other Tools
Scaling SharePoint 2016 Farms with MinRole & Other ToolsScaling SharePoint 2016 Farms with MinRole & Other Tools
Scaling SharePoint 2016 Farms with MinRole & Other ToolsSPC Adriatics
 
Office Online Server 2016 - a must for on-premises installation for SharePoin...
Office Online Server 2016 - a must for on-premises installation for SharePoin...Office Online Server 2016 - a must for on-premises installation for SharePoin...
Office Online Server 2016 - a must for on-premises installation for SharePoin...SPC Adriatics
 
Custom Code-The Missing Piece of the SharePoint Governance Puzzle
Custom Code-The Missing Piece of the SharePoint Governance PuzzleCustom Code-The Missing Piece of the SharePoint Governance Puzzle
Custom Code-The Missing Piece of the SharePoint Governance PuzzleSPC Adriatics
 
SharePoint 2016 Hybrid Sites Inside Out
SharePoint 2016 Hybrid Sites Inside OutSharePoint 2016 Hybrid Sites Inside Out
SharePoint 2016 Hybrid Sites Inside OutSPC Adriatics
 
Microsoft BI demystified: SharePoint 2016 BI or for PowerBI v2?
Microsoft BI demystified: SharePoint 2016 BI or for PowerBI v2?Microsoft BI demystified: SharePoint 2016 BI or for PowerBI v2?
Microsoft BI demystified: SharePoint 2016 BI or for PowerBI v2?SPC Adriatics
 
What's New for the BI workload in SharePoint 2016 and SQL Server 2016
What's New for the BI workload in SharePoint 2016 and SQL Server 2016What's New for the BI workload in SharePoint 2016 and SQL Server 2016
What's New for the BI workload in SharePoint 2016 and SQL Server 2016SPC Adriatics
 
Creating a Great User Experience in SharePoint
Creating a Great User Experience in SharePointCreating a Great User Experience in SharePoint
Creating a Great User Experience in SharePointSPC Adriatics
 

Mehr von SPC Adriatics (20)

How to secure your data in Office 365
How to secure your data in Office 365 How to secure your data in Office 365
How to secure your data in Office 365
 
Do you know, where your sensitive data is?
Do you know, where your sensitive data is?Do you know, where your sensitive data is?
Do you know, where your sensitive data is?
 
Securing Intellectual Property using Azure Rights Management Services
Securing Intellectual Property using Azure Rights Management ServicesSecuring Intellectual Property using Azure Rights Management Services
Securing Intellectual Property using Azure Rights Management Services
 
Creating Workflows in Project Online
Creating Workflows in Project OnlineCreating Workflows in Project Online
Creating Workflows in Project Online
 
Faster than a flash behind the scenes of patching SharePoint Online
Faster than a flash   behind the scenes of patching SharePoint OnlineFaster than a flash   behind the scenes of patching SharePoint Online
Faster than a flash behind the scenes of patching SharePoint Online
 
Role based views in Project and Resource Center
Role based views in Project and Resource CenterRole based views in Project and Resource Center
Role based views in Project and Resource Center
 
OneDrive, TwoDrive, Whiterive, BlueDrive (hahaha)
OneDrive, TwoDrive, Whiterive, BlueDrive (hahaha)OneDrive, TwoDrive, Whiterive, BlueDrive (hahaha)
OneDrive, TwoDrive, Whiterive, BlueDrive (hahaha)
 
SharePoint Governance and Compliance
SharePoint Governance and ComplianceSharePoint Governance and Compliance
SharePoint Governance and Compliance
 
From analyses to successful Implementation
From analyses to successful ImplementationFrom analyses to successful Implementation
From analyses to successful Implementation
 
The key to a successful Office 365 implementation is adoption
The key to a successful Office 365 implementation is adoptionThe key to a successful Office 365 implementation is adoption
The key to a successful Office 365 implementation is adoption
 
Office 365 Video
Office 365 VideoOffice 365 Video
Office 365 Video
 
10 Steps to be Successful with Enterprise Search
10 Steps to be Successful with Enterprise Search10 Steps to be Successful with Enterprise Search
10 Steps to be Successful with Enterprise Search
 
How the Cloud Changes Business Solution Design and Delivery
How the Cloud Changes Business Solution Design and DeliveryHow the Cloud Changes Business Solution Design and Delivery
How the Cloud Changes Business Solution Design and Delivery
 
Scaling SharePoint 2016 Farms with MinRole & Other Tools
Scaling SharePoint 2016 Farms with MinRole & Other ToolsScaling SharePoint 2016 Farms with MinRole & Other Tools
Scaling SharePoint 2016 Farms with MinRole & Other Tools
 
Office Online Server 2016 - a must for on-premises installation for SharePoin...
Office Online Server 2016 - a must for on-premises installation for SharePoin...Office Online Server 2016 - a must for on-premises installation for SharePoin...
Office Online Server 2016 - a must for on-premises installation for SharePoin...
 
Custom Code-The Missing Piece of the SharePoint Governance Puzzle
Custom Code-The Missing Piece of the SharePoint Governance PuzzleCustom Code-The Missing Piece of the SharePoint Governance Puzzle
Custom Code-The Missing Piece of the SharePoint Governance Puzzle
 
SharePoint 2016 Hybrid Sites Inside Out
SharePoint 2016 Hybrid Sites Inside OutSharePoint 2016 Hybrid Sites Inside Out
SharePoint 2016 Hybrid Sites Inside Out
 
Microsoft BI demystified: SharePoint 2016 BI or for PowerBI v2?
Microsoft BI demystified: SharePoint 2016 BI or for PowerBI v2?Microsoft BI demystified: SharePoint 2016 BI or for PowerBI v2?
Microsoft BI demystified: SharePoint 2016 BI or for PowerBI v2?
 
What's New for the BI workload in SharePoint 2016 and SQL Server 2016
What's New for the BI workload in SharePoint 2016 and SQL Server 2016What's New for the BI workload in SharePoint 2016 and SQL Server 2016
What's New for the BI workload in SharePoint 2016 and SQL Server 2016
 
Creating a Great User Experience in SharePoint
Creating a Great User Experience in SharePointCreating a Great User Experience in SharePoint
Creating a Great User Experience in SharePoint
 

Kürzlich hochgeladen

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 

Kürzlich hochgeladen (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Lifecycle Management with SharePoint Apps and Solutions

  • 1. Lifecycle Management with SharePoint Apps and Solutions PAOLO PIALORSI, PIASYS.COM paolo@pialorsi.com -@PaoloPia
  • 2.
  • 3. About Me •Project Manager, Consultant, Trainer •More than 40 Microsoft certification exams passed, including MC(S)M •Focused on SharePoint since 2002 •Author of 10 books about XML, SOAP, .NET, LINQ, and SharePoint •Speaker at main IT conferences worldwide •http://www.piasys.com/
  • 4. Agenda •Introduction to Application Lifecycle Management •Main ALM phases from a SharePoint perspective •I simply want to share with you my own experiences, collected along more than 12 years of SharePoint projects •Maybe sometime you will agree with me •Maybe not … let’s discuss it while drinking some beers, in that case!
  • 6. Application Lifecycle Management •Applicationlifecyclemanagement(ALM),calledalsoADLM(ApplicationDevelopmentLife-cycleManagement),istheproductlifecyclemanagement(governance,development,andmaintenance)ofapplicationsoftware.Itencompassesrequirementsmanagement,softwarearchitecture,computerprogramming,softwaretesting,softwaremaintenance,changemanagement,continuousintegration,projectmanagement,andreleasemanagement. http://en.wikipedia.org/wiki/Application_lifecycle_management
  • 7. Our focus today •Requirements management •Software architecture •Computer programming (tools and techniques) •Software testing •Release management •Software maintenance •In the SharePoint world, of course!
  • 9. ALM and SharePoint •A SharePoint “application” can be: •Intranet solutions •Extranet solutions •Public facing Web Site solutions •Custom development solutions •Integration/LOB solution •Etc. •All of these kind of solutions require Lifecycle Management •Today we will focus on Custom development solutions
  • 10. What’s your target SharePoint flavor? •Your flavor(s) will influence the overall solution •Microsoft SharePoint 2007 (no, please … really?!) •Microsoft SharePoint 2010 (it happens …) •Microsoft SharePoint 2013 (keep on running …) •Microsoft SharePoint Online and Microsoft Office 365 (well done! ) •Hybrid Scenarios (SharePoint 2013 + SharePoint Online) •Today the focuses are •Microsoft SharePoint 2013 •Microsoft SharePoint Online and Microsoft Office 365 •Hybrid Scenarios
  • 11. Evolution of SharePoint Customizations Full Trust Solutions No real control Support is a nightmare Upgrade is quite a challenge Securing code to run in hosted environments is effectively impossible SP Code More custom code: aspx, dlls, web services, GAC Sandbox Partial control App Model Control, Trust, Manage Way too strict for developers Hard to maintain and expand Managed by your self SP Code Sandboxed Custom Code App code (client or server) SP Code Isolated App client side code Host/language independent Management and update easily doable per app Emprases reusability No server side sandbox, improved CSOM
  • 12. Development and Deployment Options Farm •Full trust solutions •Customizations to file system of servers •Hosted in same process as SharePoint •Server side SharePoint API access •Classic model from 2007Sandbox •Declarative elements •Partially trusted code service still included for limited server side support •Hosted in isolated process •Limited server side SharePoint API access SP Apps •New Apps model •Deployed from corporate catalog or SharePoint store •Manage permission and licenses specifically •Simple install and upgrade process •Preferred option Code based sandbox solutions deprecated in SP2013
  • 13. “SOLUTIONS OR APPS? THAT IS THE QUESTION!”
  • 14. Solutions or Apps? New SharePoint ProjectIs it ok a SharePoint Appregardless the target platform? YesCreate a SharePoint AppLet s Startthe ProjectNoWhat is the target platform? Office 365/SharePoint OnlineSharePoint on-premisesAnalyze requirements and define constraints that can t make it possible to crate a SharePoint AppCan you slightly change requirements to make it a SharePoint App? YesNoIsolate requirements that need full-trust code and create a dedicated FTC module. Document and report those constraintsto your customer! Are the remainder requirements ok for a SharePoint app? YesNo
  • 15. What methodology? •Waterfall •Prototyping •Spiral development •Agile •eXtremeProgramming (XP) •Kanban •SCRUM •Etc. •My typical choice is a kind of “disciplined Agile approach” •Upfront analysis => Prototyping => Agile
  • 17. “USUALLY, JUST AFTER YOU COLLECT REQUIREMENTS, CUSTOMERS CHANGE THEM”
  • 18. To gather better requirements •Collect them in meetings with key users and matter experts •Write a requirements document •Let the key users and matter experts approve or fix that document •Create a PoCusing the web browser and a sample site •Based on the requirements gathered •Meet users and experts again to check the result •Fix the requirements •Adapt and improve the PoC •Finalize the requirements document •Double-check the final result •Move any other new requirement in the next project iteration •If any, of course …
  • 20. Architecture key aspects •SharePoint Apps and Solutions are just another kind of software •Share the same architectural principles of any other software •The main pillars are •The Domain Model •The Persistence Layer •The Data Access Layer •The Business Rules and Requirements •The Service Layer •The Presentation Layer
  • 21. The Domain Model •Think about the Domain Model aside from SharePoint •Your are developing a software solution, not “just” a SharePoint one •Determine the entities, their relationships and cardinality •And identify those entities that fit into the SharePoint world •A well defined Domain Model is fundamental for the success of the project •Think about Domain Driven Development (DDD) …
  • 22. The PersistenceLayer •SharePoint is for sure a good repository for documents •Versioning, Check-in/Check-out, Templates, Metadata, Search, Etc. •SharePoint can be a good repository for some other elements •Contacts, Calendars, Tasks, Etc. •SharePoint for sure is nota good repository for large data sources of relational elements •Customers, Orders and Order Details, Etc. •SharePoint is not an RDBMS •As well as an RDBMS can’t easily substitute SharePoint •Join their forces and think about both SharePoint and an RDBMS •Just in case of need, of course
  • 23. The Data Access Layer •Abstract from the physical persistence layer •Allows creating a software architecture that is independent from the physical persistence layer •You will probably consume SharePoint items and documents using the SharePoint Client/Server Object Model •You will probably consume RDBMS data using Entity Framework •Or any other OR/M of your choice •The Data Access Layer hides these choices and implementation details to the upper layers
  • 24. The Business Rules and Requirements •The Business Layer incorporates business rules and requirements •Assures business integrity of data •Applies rules •Guarantees satisfaction of requirements •Manages transactional context •Even across different persistence layers •Allows validating data, aside from the physical repository •Ensures security rules and constraints •Implies authorization checks
  • 25. The Service Layer •Allows decoupling from the Presentation Layer •In a SharePoint Solution can be “optional” •You typically work only server-side in full-trust code •Often you don’t need to decouple front-end and back-end •But you should in Service Applications, Workflows, custom WCF Services •In Service Applications is their architecture that is natively decoupled •In a SharePoint App can be “useful” •To provide REST API services, as like as SharePoint/Office 365 do •To extend workflow implementations via REST •To support jQuery/AJAX
  • 26. The Presentation Layer •Provides UI to support users’ data input and reading/querying •In a SharePoint Solution leverage standard SharePoint UI •Web Parts •Custom Data Views •Custom Pages •In a SharePoint App •Can still be SharePoint-based, in a SharePoint-hosted app •Often is independent from SharePoint, in a provider-hosted app •You can leverage whatever technology you like (ASP.NET, Java, PHP, Node.js, ecc.) •Usually is based on ASP.NET MVC •Don’t forget User eXperience, UI without UX is a mess
  • 28. Supporting tools •Visual Studio 2013 regardless the model (FTC, CAM) •Together with Team Foundation Server/Services •Or any other Code Versioning System (CVS) •SharePoint Solutions •SPDisposeCheck(http://bit.ly/1xJmi8V) •SharePoint Code Analysis Framework (http://www.spcaf.com/) •SharePoint Apps •SharePoint Code Analysis Framework (http://www.spcaf.com/) •Office 365 Developers PnP (https://github.com/OfficeDev/PnP)
  • 29. Server Object Model or CSOM? •CSOM and REST APIs are the future •Server Object Model is the past/legacy way of working •Use Server Object Model •When you can’t use CSOM •Some kind of Web Parts •Service Application •Custom WCF Services •Custom Claims Providers •Keep an eye on Office 365 Developer PnP •You will find a lot of answers to common doubts and myths •Using CSOM and CAM you can do a lot of things •Way more than you expect … and even more will come in the future
  • 30. Development Environment •SharePoint Solutions •Use customer/project’s dedicated virtualized environment •Deploy a farm, not just a single all-in-one development VM •Consider using Azure IaaS •You can script everything •You can define pre-configured environments •You pay only when you use it, on a per-minute basis •You can deploy developers’ machines in the cloud, as well •SharePoint Apps •Use Office 365 Developer Edition (~100€/year) •Use a dedicated development machine for each and every developer •In both scenarios: consolidate code through TFS/CVS
  • 31. Roll your own Frameworks •Reuse code as much as you can •Not through copy and paste … •… but using Object Oriented Programming •Create libraries of code •Regardless your target is a solution or an app •Share libraries across multiple projects •To increase return of investments and overall profits for you •Deploy libraries carefully (more about this topic later …)
  • 32. Common Sense Rules and Conventions •Clearly comment code •With comments that make sense … •Use company-wide naming conventions •Name shared framework types with your company name •PiaSys.Common.Utilities.* •Name customers’ specific types with their company name •CustomerName.ProjectName.* •Avoid SharePointApp1 style names •As well as OrdersAppstyle names
  • 34.
  • 35. Testing practices •Unit Test •Code testing, usually automated •Tools: Visual Studio 2013 Testing Tools •Integration Test •Modules combination, automated and/or manual (by dev/tester) •Tools: Visual Studio 2013 Testing Tools •Functional Test •Based on test cases (by tester) •Tools: Visual Studio 2013Testing Tools •Performance Test •How the solution performs (by dev/tester) •Tools: Visual Studio 2013Testing Tools, ANTS Performance Profiler, Fiddler
  • 36. Key aspects of testing SharePoint software •SharePoint Solutions •Try to decouple code from UI/UX, in order to being able to automate unit and integration tests •Create a virtualized project-dedicated testing environment •Each on-premises farm has its own specific constraints •SharePoint Apps •Use Microsoft Office 365 instead of an on-premises environment •Use the same tenant, with different site-collections (DEV, TEST, PROD) •Different tenants can have different versions of the platform •Keep in mind that SharePoint Online is v.16 while on-premises is v.15 •Only in case of need use an on-premises environment •Custom authentication •Integration with full-trust solutions or legacy systems •Etc.
  • 38. Releasing SharePoint Solutions •Release dedicated WSPs for framework libraries •Release dedicated WSPs for specific customer/project solutions •Avoid releasing a unique all-in-one WSP •Be modular and live modular  •Upgrade will be easier and less error prone •Automate release and upgrade phases through PowerShell •Easier to publish packages on testing, staging, production, etc. •Easier to automate release/deployment phases
  • 39. Releasing SharePoint Apps •Prefer provider-hosted apps, for real business solutions •You can manage release as like as any other software solution •Use SharePoint-hosted apps just in a few cases •Workflow-only apps •Apps based on SharePoint data only •Very simple and only JS/jQuery-based apps •Use Corporate App Catalog for customer-dedicated apps •Don’t use Developer Site collection for testing and production •Use Azure Web Sites or Azure WebRole(PaaS) for Office 365 •Consider using Azure for on-premises scenarios, as well •Mind the OAuthsecurity infrastructure •In Office 365 you will use Azure ACS … easy path •On-premises you will use Server to Server/High Trust scenario … more complex
  • 40. Evergreen and release cycle – Old model SP2013 O16 O17 O18 Tightly coupled SharePoint customizations Upgrade Upgrade Upgrade Upgrade Specific upgrade project each time new version is introduced Customizations have to be upgraded to get access on new capabilities in product Will cause additional costs during each release cycle of customizations Customization updates cause downtime each time something is changed Complex ALM processes for ensuring quality of the code
  • 41. Evergreen and release cycle – NEW model SP2013 Loosly coupled SharePoint customizations O16 O17 O18 Development You choose when and how applications are updated... Backwards compatibility for API level to move customizations cross versions Customizations don’t block new capabilities from SharePoint Customizations extend, not change SharePoint Customizations can be updated with minimal impact on SharePoint Customizations will utilize services from SharePoint and other services, but won’t usually change out of the box services.
  • 42. Release documentation, as well •Describe the architecture •Define and design the final topology •Define the procedures •Deployment •Backup, restore, and recovery •Upgrade •Release users’ manuals, if covered by the budget •Available tools: •Microsoft Visio •Microsoft Word •SPDocKit(http://www.spdockit.com/)
  • 44. “A WORKING PROGRAM IS ONE THAT HAS ONLY UNOBSERVED BUGS” MURPHY’SLAWS
  • 45. Tracking bugs, issues, change requests •Use a software tool to track bugs, issues, and change requests •For instance you can use TFS and its web-based interface •It is fully integrated with the development/maintenance process •Can be measured and monitored •Give a TFS account to your customers, if you can ... •Let them input work items and moderate them
  • 46. Releasing Updates and Fixes •Ship fixes and new features through dedicated milestones •Learn from the others (mainly from Microsoft) •Service Pack: all previous bug fixes and new features •Cumulative Update: bug fixes •Public Update: required and/or security fixes (mandatory) •Accustom your customers to wait for stable minor and major releases •Avoid releasing code on a daily-basis •Take care of complete testing, pre-production/staging validation, release •SharePoint Solutions •Schedule releases to avoid farm down-time (IISRESET, process recycle) •SharePoint Apps •Keep in mind app-related events and remote event receivers •One more time … prefer provider-hosted apps to reduce down-times
  • 49. thank you. SHAREPOINT AND PROJECT CONFERENCE ADRIATICS ZAGREB, 10/14/2014 -10/15/2014