DNUG Intro to SP + SP Development (Invercargill) - Home - Sharing ...

creaturewoodsInternet and Web Development

Dec 8, 2013 (3 years and 9 months ago)

119 views

Introduction to SharePoint + SharePoint Development

Matt Smith

MVP


SharePoint Server

Introduction to SharePoint + SharePoint Development

Who Am I?

MOSS Consultant/
Customisation

Specialist

MCTS


WSS/MOSS, MVP
-

SharePoint Server

8 years in Collaboration, Document Mgmt, KM space

With
Intergen
:

Delivered one of NZ’s largest SharePoint solutions on time/budget

Key member of team building Microsoft’s Visual Studio Extensions for
SharePoint 1.3

Obsessive SharePoint Lover and Community Evangelist

http://blog.mattsmith.co.nz

(on hiatus)



Introduction to SharePoint + SharePoint Development

Who Are You?

Heard of SharePoint?

Using SharePoint?

2007 or Earlier?

WSS or MOSS?

End Users, Developers, IT Pros, or
Managers?

Introduction to SharePoint + SharePoint Development

Agenda

Chapter One: Introduction to SharePoint

What is SharePoint?

Why SharePoint?

SharePoint Architecture

Demo: Building up a SharePoint Site

Chapter Two: Introduction to SharePoint Development

Tools for Development

Why Develop on SharePoint?

Development Basics

Demo: Developing for SharePoint with
VSeWSS

1.3




Introduction to SharePoint + SharePoint Development

Ungenda

+ Assumptions

Not Covering:

SharePoint Administration

SharePoint Designer

250


400 Level concepts
incl

MOSS

Licensing Issues

“The Fluffy Stuff”

Assumptions:

100 Level


Not Much!

Basic .NET skills for the dev stuff

You enjoy bad jokes


Introduction to SharePoint + SharePoint Development

Chapter One:

Introduction to
SharePoint

Introduction to SharePoint + SharePoint Development

What is SharePoint?

A Documentation Management System?

A Web Content Management System?

A Collaboration + Content Sharing Toolkit?

A Development Platform?

An Application Framework?

An Intranet, Portal +
Mashup

Server?

A Knowledge Management System?

Facebook

for the Enterprise?

A Business Intelligence Engine?




Introduction to SharePoint + SharePoint Development

SharePoint Can Be…

A Documentation Management System

A Web Content Management System

A Collaboration + Content Sharing Toolkit

A Development Platform

An Application Framework

An Intranet, Portal +
Mashup

Server

A Knowledge Management System

Facebook

for the Enterprise

A Business Intelligence Engine




Introduction to SharePoint + SharePoint Development

But, it depends on
your
business
processes + needs.

Introduction to SharePoint + SharePoint Development

SharePoint
Is


A web
-
based
application framework

that can
be rapidly
leveraged

to build powerful
collaboration, content and
knowledge sharing solutions

The “build” part doesn’t just mean .NET development

Building a web site in the browser with your own data and lists

Building a business process Workflow, or custom web page in
SharePoint Designer

Building powerful
customisations

in Visual Studio

Either way, it still needs to be
built





Introduction to SharePoint + SharePoint Development

SharePoint
Is Not
:

An out
-
of
-
the
-
box product

Software without planning

The answer to your
organisational

problems (in
and of itself)

A solution for absolutely
everything + everyone

An IT system

An industry standard (though
it sure seems like it!)




Introduction to SharePoint + SharePoint Development

Versions of SharePoint

Introduction to SharePoint + SharePoint Development






Have your pie (WSS)…

Collaboration

Platform

Services


Workspaces, Mgmt,

Security, Storage,

Topology, Site Model

Docs/tasks/calendars, blogs,
wikis, e
-
mail integration, project
management “
lite
”, Outlook
integration,

offline docs/lists

Introduction to SharePoint + SharePoint Development






Business

Intelligence

Collaboration

Search

Portal

Business

Forms

Platform

Services


Workspaces, Mgmt,

Security, Storage,

Topology, Site Model

Content

Management

Server
-
based Excel
spreadsheets and data
visualization, Report Center,
BI Web Parts,
KPIs/Dashboards

Integrated document
management, records
management, and Web
content management with
policies and workflow

Rich and Web forms
based front
-
ends,
LOB actions,
enterprise SSO

Docs/tasks/calendars, blogs,
wikis, e
-
mail integration, project
management “
lite
”, Outlook
integration,

offline docs/lists

Enterprise scalability,

contextual relevance, rich

people and business

data search

Enterprise Portal
template, Site
Directory, My Sites,
social networking,
privacy control

Introduction to SharePoint + SharePoint Development

IIS, SQL, ASP.NET, Workflow Foundation

Project Server

Search Server

Performance
Point Server

Introduction to SharePoint + SharePoint Development

IIS, SQL, ASP.NET, Workflow Foundation

Project
Server

Search
Server

Performance
Point Server

In the Enterprise and Beyond...

Microsoft Dynamics
CRM + Navision

Oracle, SQL, ODBC,
Web Services, REST, …

Other Document
Management Systems

Client Apps, especially
Explorer + Office

Introduction to SharePoint + SharePoint Development

Farm

Web Application

http://x.com:1

Web Application

http://x.com:2

Site Collection

/sites/Marketing

Site

/Div1

Site

/Div2

Root Site

/

Site

/D1A

Site

/D1B

Site Collection

/sites/Main

Site

/Div1

Site

/Div2

Root Site

/

Site

/D2A

Site Collection

/sites/Development

Site

/Div1

Root Site

/

One Configuration DB per Farm

>= 1 Content DB per Web App/Site
Coll

Site Architecture/Topology

Introduction to SharePoint + SharePoint Development

Scalability (Use +
Architecture)

Introduction to SharePoint + SharePoint Development

What’s in a SharePoint Site?

Lists of data


like shared Access databases, extensible

Libraries


like Lists but with documents (columns = meta
-
data)

Pages and Web Part Pages

Styles, Themes and Master Pages

Custom ASPX pages and other functionality

Galleries and shared resources

Navigation Links

Settings

Other Sites...

Introduction to SharePoint + SharePoint Development

Hey! You promised Demo Driven.


More PowerPoint?

or

Demos?




Introduction to SharePoint + SharePoint Development

Phew!

Introduction to SharePoint + SharePoint Development

Demo: Building a SharePoint Site

Introduction to SharePoint + SharePoint Development

Requirements: Invercargill DNUG Site

Home page with logo and welcome message

Announcements supporting RSS + alerts, latest on home page

Upcoming events list, calendar view, attendee counts, sync with Outlook

Useful links list on homepage with easy data entry

Store DNUG resource docs with multiple upload + versioning

Editable database of possible topics by topic area (filterable)

Discussion board with conversation management

Survey to request feedback

Search engine on all the above

For Robert:

Wiki for DNUG charter development/collaboration

Admin task list (sync with Outlook Tasks)


Introduction to SharePoint + SharePoint Development

Typical
Aucklanders
!

What if Auckland DNUG wants in?

Server admin templates (.
stp
)


easy, limited

Site admin templates (.
wsp
)


requires
developer, powerful

Many pre
-
built business solutions are
provided this way (e.g. “Fantastic 40”)

Community Kit for SharePoint (CKS): UGE!


Introduction to SharePoint + SharePoint Development

We’re just scratching
the surface...

Introduction to SharePoint + SharePoint Development

Conclusion

-

Why SharePoint?

Introduction to SharePoint + SharePoint Development

For End Users...

Personalisation

Desktop integration

Can own the content

Web 2.0 is SharePoint (!)

Can and should contribute to design


rapid turnaround

Collaboration and knowledge sharing is a philosophy


requires change management and buy
-
in from all involved

Introduction to SharePoint + SharePoint Development

For IT Pros and Power Users...

Work smarter, not harder

Appear agile to the
business

Easy to develop POCs

Create powerful
functionality with no
-
code

Reduce reliance on your
devs

and IT for simple
“glorified database”
solutions

Introduction to SharePoint + SharePoint Development

Encouraging sharing of organisational
content

Significant improvements in 07
-

extensibility
+ integration

Powerful base collaboration/ intranet
functionality at low cost

Flexible and customisable

Scalable road map


small steps

Ubiquity


fastest growing server platform
ever


resources/user groups/best practices

Microsoft are
very

committed to this platform

For Businesses...

Introduction to SharePoint + SharePoint Development

Calls to Action

Install WSS or MOSS (demo VMs) and play

Sandbox
vs

Production!

Download the “Fantastic 40” and CKS projects

Online learning resources, labs, web casts

Read a book (SharePoint best practices)

Try using it within your organisation for collaboration


it
sells itself

Engage an expert (
http://www.intergen.co.nz
) !


Introduction to SharePoint + SharePoint Development

The Stuff No
-
one Tells Us
-

CSFs

Don’t expect your developers to be SharePoint rock stars
overnight


leads to failed projects and “
ScarePoint
” views

The technology is the easy bit


here’s the hard stuff:

Planning (!= Next, Next, Finish)

Information architecture and taxonomy


avoiding silos

Change management and cultural issues

Balancing IT control/compliance with user empowerment

Governance

Get
findability

right and you’re off to a good start

Take small steps




Introduction to SharePoint + SharePoint Development

Resources

http://blog.mattsmith.co.nz

Essential Resources

Microsoft:
MSDN WSS Portal
,
MSDN MOSS Portal
,
TechNet
WSS Portal
,
TechNet MOSS Portal
,
MSDN WSS SDK
,
MSDN
MOSS SDK
,
GearUp
,
Office Online
,
Developer Intro Portal

Community:
SharePointPedia
,
SP Community Portal

Other Portals:
wssdemo.com
,
WSS FAQ
,
SPS FAQ

Forums:
SharePointU
,
MSDN
,
TechNet

Aggregate Blogs:
MVPs
,
MS Individuals
,
MS Teams





Introduction to SharePoint + SharePoint Development

Questions?

Introduction to SharePoint + SharePoint Development

Chapter Two:

Introduction to
SharePoint
Development

Introduction to SharePoint + SharePoint Development

SharePoint “Development” Techniques

WSS is inherently
customisable
/flexible

New breed of “solution developers”


the line is blurred!

Main techniques:

Direct
customisation

in the browser (including effectively
modifying the database schema and other traditional “dev” tasks)

SharePoint Designer

Visual Studio

Main drivers for Visual Studio: performance, repeatability,
power + control










Introduction to SharePoint + SharePoint Development

Minimal Development Setup

A VM with minimum 2GB RAM (best


Hyper V, 4GB, Quad Core)

Server 2003/2008 with WSS/MOSS installed (IIS + SQL Express)

Visual Studio 2008 (preferably)

WSS + MOSS SDK

Visual Studio Extensions for SharePoint 1.3 CTP!

SharePoint Designer

Shortcuts: 12 Hive/
VirtualDirectories

in Toolbar, STSADM in Path

Tools:
WSPBuilder
/
STSDev
, U2U Query Builder, SharePoint
Manager, ...










Introduction to SharePoint + SharePoint Development

Matt’s Toolkit (Partial)

Build and

Packaging

Tools

STSDEV

AppPool

Recycle Utility

Solution Installer

CAML/Search Tools

U2U Query Builder

YACQT

Search Service Tool

CAML.NET

LINQ to SharePoint

Visual Studio Optimisations

AC's
CodeRush

Tools

SPDevMod

Content/
Config

Replication

Content Deploy Wizard

CMP Package Explorer

Cross Site
Configurator

SPS Tips Utility Pack

In
-
SharePoint Tools

SP Features

Smart Tools

SP
Config

Store

Enhanced CQWP

Testing Tools

Test Data Population

Imtech Test Content

Inspection Tools

SharePoint Manager

SharePoint Inspector

SP Explorer Client (IE)

Governance/Manage
abilty

SP Governance Tools

Reporting Framework

MS Asset Inventory

MS Monitoring Kit

SP Admin Toolkit

STSADM Tools

AC’s STSADM

Imtech STSADM

Gary LP’s STSADM

STSADM Win

Planning/Design Tools

MS Capacity Planning

Visio Shapes

Logging Tools

SP Logging Spy

SPTraceView

General Tools

SharePoint Toolbox

SharePoint SUSHI

.NET Essentials

Fiddler

Reflector

Sysinternals



Introduction to SharePoint + SharePoint Development

Integration Points

Everything you can do in the browser is
exposed
programatically

via the Object
Model (
Microsoft.SharePoint
)

A lot of content “provisioning” also occurs
via XML linked to Features

Large number of web services also
exposed


easy to build composite apps

RSS feeds

SharePoint plays nice in your SOA or can
be a focus of it


Introduction to SharePoint + SharePoint Development

What Do You Build for WSS?

UI Enhancements

Web Parts

Custom ASPX Pages

View Definitions

Custom Actions/Buttons

Navigation Providers

Site Metadata

Site Columns

Content Types

List Definitions

Custom Field Types

Services

Web + WCF Services



Processes

Event Receivers

Workflows + Activities

Timer Jobs

Branding Elements

Master Pages

Themes + Custom CSS

Security

User/Role Providers

Provisioning

Site Definitions

Features

+ Receivers

Provisioning Assemblies

Introduction to SharePoint + SharePoint Development

What Do You Build for MOSS?

Business Intelligence

Excel worksheets

.NET User Defined Functions

SQL Server Analysis
Services cubes

SQL Server Reporting
Services reports

Search Components

Custom Web Parts

iFilters
/Protocol Handlers

People/Personalization

Privacy
-
aware Web Parts

User profile import code

Records Management

“Workflow” Policies

Routing rules

Web Content Management

Page Layouts

Custom Deployment Jobs

Business Data
Catalog

Custom UI components

Entity Web services

Custom Actions

InfoPath Forms Services

Custom forms



Introduction to SharePoint + SharePoint Development

Visual Studio Extensions for WSS 1.3

Microsoft’s tool for helping developers build SharePoint solutions

1.3 in CTP, built by
Intergen

for Microsoft (Wellington + Matt!)

Major Improvements over previous versions:

64
-
bit support

Quick Deploy for productive builds
(copy to GAC/copy to BIN)

Separate deployment commands
(Package, Retract, Deploy)

Element renaming and WSP cleanup support

Command
-
line builds

Resolve deployment conflicts dialog
















Introduction to SharePoint + SharePoint Development

Hey! You promised Demo Driven.


More PowerPoint?

or

Demos?




Introduction to SharePoint + SharePoint Development

Phew!

Introduction to SharePoint + SharePoint Development

Demo: Developing with
VSeWSS

1.3

Introduction to SharePoint + SharePoint Development

Demo: SharePoint Designer (If Time)

Introduction to SharePoint + SharePoint Development

Important Stuff I’ve Glazed Over

Web Solution Packages (WSPs)

Site ASPX Pages (per
-
site)
vs

Application ASPX Pages (shared)

Customised (
unghosted
)
vs

Uncustomised

(ghosted) pages

CAML

STSADM

How WSS works with IIS + SQL

Content Types


Introduction to SharePoint + SharePoint Development

Conclusion

-

Why SharePoint?

Introduction to SharePoint + SharePoint Development

For Developers...

SP gives us a powerful platform, data store and provisioning
engine (deploy functionality to multiple sites)

Work smarter, not harder

Focus on business value in your software

Re
-
use, adapt, customise

Leverage existing skills

Extend reach of your software

SharePoint skills in hot demand

Introduction to SharePoint + SharePoint Development

Calls to Action

Install WSS or MOSS (demo VMs),
VSeWSS
, and cut some
code

Dedicate time to learning SharePoint development properly

Online learning resources, hands
-
on
-
labs, web casts

Read a book

Attend a training course (
http://www.knowledgecue.com
)

Get certified: 70
-
541 (WSS), 70
-
542 (MOSS)

Engage an expert (
http://www.intergen.co.nz
) !


Introduction to SharePoint + SharePoint Development

NZ SharePoint User Groups

http://www.sharepointusergroup.net.nz

Multiple groups nationwide:

Wellington

Christchurch

Auckland

Tauraunga

Hawkes

Bay

Southland?

Technical and Business audience

Community SharePoint Conference 2009: 2/3 July in Wellington

Introduction to SharePoint + SharePoint Development

Resources

http://blog.mattsmith.co.nz

Essential Resources

Microsoft:
MSDN WSS Portal
,
MSDN MOSS Portal
,
TechNet
WSS Portal
,
TechNet MOSS Portal
,
MSDN WSS SDK
,
MSDN
MOSS SDK
,
GearUp
,
Office Online
,
Developer Intro Portal

Community:
SharePointPedia
,
SP Community Portal

Other Portals:
wssdemo.com
,
WSS FAQ
,
SPS FAQ

Forums:
SharePointU
,
MSDN
,
TechNet

Aggregate Blogs:
MVPs
,
MS Individuals
,
MS Teams





Introduction to SharePoint + SharePoint Development

See
Ya
!

Introduction to SharePoint + SharePoint Development

Questions?