Developer customization is often necessary to address business needs, but customizing SharePoint can introduce security, performance and stability problems. This crossover session covers ways of relieving the friction between Dev and IT Pros, ensuring the best SharePoint experience for all. Focus is on deploying and managing customizations and will cover upgradeability, disaster recovery, and other key areas.
From DevConnections Las Vegas. April 19, 2011
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
SharePoint Dev and IT Pro-living together
1. Developers and IT Pros – Living Together Randy Williams Synergy rwilliams@synergyonline.com
2. About the Speaker US-West Coast Manager for Synergy Based in San Diego, California Consultant/Trainer/Author SharePoint MVP Specialty in architecting solutions Blog: www.synergyonline.com/randy Twitter: @tweetraw
3. This Session… Is designed for IT Pros and Developers We will not be writing code Is meant to be fun…and serious
6. The problem OOB SharePoint doesn’t deliver 100% Developers enhance SharePoint with custom code IT Pros support SharePoint What happens when something breaks? Who is to blame?
7. How can Custom Code Pose Problems? It’s the #1 root cause for support issues It can introduce… Security vulnerabilities Performance problems Complicates troubleshooting Isolation and identification Upgrade issues DR issues
8. Custom Code and Upgrading Most upgrade issues are because of customization SharePoint infrastructure changes SSO and SSPs are gone Database attach upgrade must reapply customizations Some code needs to be recompiled 32 bit code not supported in 2010
9. Custom Code and DR If SPS_WFE goes down Must recreate the farm & web apps Must reapply all custom code Must restore content from backup
10. Custom Code and DR Important Point SharePoint’s built-in backup does not include WFE server or any of its customizations
11. But is Custom Code the Problem? No, just bad custom code Code that is inefficient Code that leaks Code that must elevate trust level in web.config Code that must be deployed manually
12. How to Relieve the Friction? Mutual understanding and respect IT Pro and Developer roles are essential and inter-dependent
13. How to Relieve the Friction? Both IT Pros and Developers must understand SharePoint’s architecture and available tools The 4 Things IT Pros Developers
15. SharePoint Platform and Product Custom Code Microsoft Product {insert solution here} Platform Infrastructure Base Platform .NET Framework ASP.NET, WCF, Workflow
16. Tools Used to Enhance SP Use SharePoint UI (websites, pages, lists, libraries) Office Products Access, Excel, InfoPath, Visio SharePoint Designer Visual Studio This is where “custom code” is developed
17. Visual Studio Best tool for building applications Features, site definitions, web parts, custom field types, event receivers, complex workflow Risk exposure is high Developed in a local development environment Staged deployment into test and production environments
18. Features Plug-in functionality SharePoint is built on Features Custom Features enhance SharePoint Web parts, pages, workflow, menu commands, ribbon, list templates, others Feature scope Farm, Web application, Site collection, Website
19. What are Solution (WSP) Packages? Used to deploy custom code Contains all files and deployment instructions WSP extension Internally a cabinet file Created by Visual Studio Farm or Sandboxed Manifest.xml WSP Assembly.dll Image.jpg AppPage.aspx
20. Sandboxed Solutions Business Agility Security and Stability Essential Agility Essential Stability Simpler development model Easy & Rapid Deployment Office 365 (Cloud) compatible Limited API Access Monitored Resources Site Collection Quotas Separate Process
23. The 4 Things – IT Pros Can’t prevent all custom code Must understand WSP Solutions What they do and how they work Must be competent with PowerShell Must be able to troubleshoot and interpret log files ULS log files, app event log, IIS log files
24. SLA The 4 Things – Developers Service Level Agreement Code must be packaged into a WSP Use sandboxed solutions whenever possible Understand supportable changes
26. Final Thoughts Be sure to have an application lifecycle management (ALM) plan Maintain discipline Have a complete test/staging environment Must match production as closely as possible! Tap into the ever-growing SharePoint community