21
Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies [email protected] om

Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies [email protected]

Embed Size (px)

Citation preview

Page 1: Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

Basic Developer Knowledge That Every SharePoint Admin Must Have

Randy Williams, MVP MOSS

Synergy Corporate Technologies

[email protected]

Page 2: 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

Page 3: Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

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

Page 4: Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

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

Page 5: Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

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

Page 6: Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

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

Page 7: Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

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

Page 8: Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

Demo – SharePoint Solution

Page 9: Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

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

Page 10: Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

Demo – Feature Lifecycle

Page 11: Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

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

Page 12: Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

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

Page 13: Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

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

Page 14: Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

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

Page 15: Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

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

Page 16: Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

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

Page 17: Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

web.config

• XML file for SharePoint configuration• One per web application• Useful sections to know

● <SafeControls>● <trust>● <customErrors> & <SafeMode CallStack>● <authentication>● <identity>

Page 18: Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

Demo – web.config Tour

Page 19: Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

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

Page 20: Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

Demo – Troubleshooting

Page 21: Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy Corporate Technologies rwilliams@synergyonline.com

Questions?

• My blog● http://sharepointhawaii.com/randywilliams