basic developer knowledge that every sharepoint admin must have randy williams, mvp moss synergy...

Post on 12-Jan-2016

213 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

.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. 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

Demo – SharePoint Solution

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

Demo – Feature Lifecycle

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>

Demo – web.config Tour

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

Demo – Troubleshooting

Questions?

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

top related