Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy...

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

Transcript of Basic Developer Knowledge That Every SharePoint Admin Must Have Randy Williams, MVP MOSS Synergy...

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