210 likes | 321 Views
Basic Developer Knowledge That Every SharePoint Admin Must Have. Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com. Session Overview. SharePoint Technologies Developing Apps on SharePoint Deploying Apps on SharePoint Features Site Definitions
E N D
Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com
Session Overview • SharePoint Technologies • Developing Apps on SharePoint • Deploying Apps on SharePoint • Features • Site Definitions • Code Access Security • Troubleshooting
SharePoint Technologies Custom Solutions 3rd Party In house SharePoint UI WSS & MOSS UI MOSS Object Model SharePoint API Web Services WSS Object Model .NET 3.0 Framework Workflow .NET 2.0 Framework .NET ASP.NET ADO.NET Security … OS Windows API
Custom SharePoint Solutions • Developers build solutions on SharePoint just like Microsoft did • Multiple ways to build a solution • Use SharePoint UI (webs, lists, libraries) • Office Products • MS Access, Excel, InfoPath • SharePoint Designer • Visual Studio
SharePoint Designer • Best tool for customizing SharePoint • Master/site pages • CSS • Web parts (e.g. DFWP) • Custom Workflow • Risk exposure is isolated & limited • Typically done directly on production server
Visual Studio • Best tool for building applications • Features, site definitions, web parts, custom field types, complex workflow • Risk exposure is high • Done in a development environment • Recommend local development • Staged deployment into test and production environments
How to deploy applications? • One answer: SharePoint Solutions • Single file (.wsp) that contains all configuration, files, and code • Solution lifecycle • Add, Deploy, Retract, Delete • STSADM (all four) • Central Admin (all but add) • Insist the development team build them
Features • Snap-in functionality • Dozens are built in to product • Web parts, pages, workflow, menu commands, list templates, others • Feature scope • Farm, Web app, Site collection, Web • Feature lifecycle • Install, Activate, Deactivate, Uninstall
Site Definitions • Blueprint for newly created web sites • Defines navigation, features, master page, lists • Stored in 12\Template\SiteTemplates • Developers can create custom ones • Fantastic 40 • Site definitions vs site templates
Web Parts • Developed using Visual Studio • Personalization • Where to place assembly? • Bin folder or Global Assembly Cache • Recommended ways to deploy • Using a SharePoint Solution • Via a Feature
Custom Field Types • Supplement to built in types • Developers define • How to collect information (input) • How information is processed (validation) • How to store in content database • How to display (output) • Issues to consider
Event Handlers (Receivers) • Developers can enhance how changes are made • Before and after events • Events exist for items, lists, webs, Features, and others • Common item event operations include • Add, Update, Delete, Check-In/Out
Code Access Security (CAS) • .NET technology to secure code based on origin • Based on concept of trust • Bin folder for web application – partially trusted • Global Assembly Cache – fully trusted • Level defined in web.config • WSS_minimal, WSS_medium
CAS Guidelines • Do not deploy assemblies to GAC unless they are genuinely trusted • Custom/3rd party code should be tested • Be cautious about elevating trust in web.config • Definitely avoid Full trust • It is difficult, but developers can create custom CAS policies
web.config • XML file for SharePoint configuration • One per web application • Useful sections to know • <SafeControls> • <trust> • <customErrors> & <SafeModeCallStack> • <authentication> • <identity>
Troubleshooting Tips • “An unexpected error has occurred” • Event Viewer – Application log • SharePoint logs • ULS Log viewer • Resetting application pool • Try to reproduce in test environment
Questions? • My blog • http://sharepointhawaii.com/randywilliams