Upload
shanna-matthews
View
212
Download
0
Embed Size (px)
Citation preview
Randy Williams, MOSS MVPSenior ConsultantSynergy Corporate Technologies
Basic Developer Knowledge That
Every SharePoint Admin Must Have
Session Overview
• SharePoint Technologies• Developing Apps on SharePoint• Deploying Apps on SharePoint• Features• Site Definitions• Code Access Security• Troubleshooting
SharePoint Technologies
.NET 2.0 Framework
ASP.NET
ADO.NET
Security
.NET 3.0 FrameworkWorkflow
WSS & MOSS UI
Windows APIOS
.NET
SharePointAPI
…
Web Services
SharePointUI
Custom Solutions 3rd Party In house
WSS Object Model
MOSS Object Model
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. Data View Web Part)–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
DemoSharePoint Solution
Randy Williams
Synergy Corporate Technologies
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
DemoFeature Lifecycle
Randy Williams
Synergy Corporate Technologies
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> & <SafeMode CallStack>–<authentication>–<identity>
Demoweb.config Tour
Randy Williams
Synergy Corporate Technologies
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
DemoTroubleshooting
Randy Williams
Synergy Corporate Technologies
Questions?
• Email–[email protected]• My blog–http://sharepointhawaii.com/randywilliams