Sessão sobre SharePoint Deployment apresentada no evento Microsoft DevDays 2008. Focada em SharePoint Server 2007 e no deployment através de features e soluções.
4. Software Deployment
Software deployment is all of the activities that
make a software system available for use.
…
Therefore, deployment should be interpreted as
a general process that has to be customized
according to specific requirements or
characteristics.
4
Fonte: http://en.wikipedia.org/wiki/Software_deployment
5. Agenda
Tipos de Deployment
Solution Deployment
Casos de Uso
Ferramentas de Suporte
5
7. Tipos de Deployment
Idade da Pedra
Backup/Restore Deployment
Content Deployment
Content Deployment and Migration API
7
8. Tipos de Deployment
Idade da Pedra
O processo seria algo deste género:
1. Developers fazem código, webparts, etc, habitualmente num ambiente stand-
alone de SharePoint
2. Com sorte os desenvolvimentos são “empacotados” num instalador
3. Entrega-se o instalável e documentação às equipas de produção para
instalarem
O problema é que no SharePoint existem vários passos necessários na
instalação:
Deployment de Assemblies para a GAC ou BIN
Alterações ao web.config para colocar os SafeControls, CAS Policies, etc
Copiar os resources como imagens, stylesheets, javascript, etc
Ficheiros .dwp ou .webpart
Criação de Content Types e Site Columns
8
9. Tipos de Deployment
Backup/Restore Deployment
SQL Server Backup & Restore – backup nativo do SQL
Server
Stsadm Utility
stsadm –o backup/restore
stsadm –o export/import
Estas opções são válidas mas têm os problemas da opção
anterior:
Deployment de Assemblies para a GAC ou BIN
Alterações ao Web.config para colocar os SafeControls, CAS Policies,
etc
Copiar os resources como imagens, stylesheets, javascript, etc
9
10. Tipos de Deployment
Content Deployment
Copia conteúdos entre duas site
collections
Por omissão são efectuados deployments
incrementais: apenas as páginas e os
resources alterados.
Tem os problemas das opções
apresentadas nos slides anteriores
10
11. Tipos de Deployment
Content Deployment and Migration API
Permite exportar site collections, web sites, listas ou
mesmo um único item
Permite exportação incremental ou completa
Permite preservar ou não os IDs dos itens
exportados
Permite importar para uma hierarquia diferente da
origem
Tem os problemas das opções apresentadas nos
slides anteriores
11
14. Solution Deployment
Feature
Conjunto de ficheiros XML que descrevem
objectos de SharePoint que devem ser
aprovisionados num web site
Podem ser activadas/desactivadas em vários
âmbitos:
Farm, web application, site collection, web
Para cada âmbito existem diferentes
elementos XML disponíveis
14
15. Solution Deployment
Features Scopes
(Web site)
Control
Custom Action
Custom Action
Group
Hide Custom Action
List Instance
List Template
Module (File Set)
Receiver
15
Farm (farm)
Control
Custom Action
Custom Action Group
Feature/Site Template Association
Hide Custom Action
WebApplication (Web application)
Control
Custom Action
Custom Action Group
Document Converter
Feature/Site Template Association
Hide Custom Action
Fonte: http://weblogs.asp.net/soever/archive/2007/05/03/sharepoint-features-elements-scope-and-other-info.aspx
Site (site collection)
Content Type
Content Type Binding
Control
Custom Action
Custom Action Group
Feature/Site Template
Association
Field
Hide Custom Action
List Template
Module (File Set)
Workflow
16. Solution Deployment
Features
Podem ser activadas/desactivadas
16
Página de gestão de
features com âmbito
Web.
A maior parte das
funcionalidades do
MOSS encontram-se
implementadas desta
forma, podendo ser
activadas ou
desactivadas quando
necessário
19. Solution Deployment
Feature Element
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<CustomAction
Id="SiteActionsToolbar"
GroupId="SiteActions"
Location="Microsoft.SharePoint.StandardMenu"
Sequence="100"
Title="Hello World"
Description="A custom menu item added using a feature"
ImageUrl="_layouts/images/crtsite.gif" >
<UrlAction Url="http://msdn.microsoft.com"/>
</CustomAction>
</Elements>
19
Exemplo de um element manifest
Declarado em CAML
Este exemplo cria uma entrada no menu Site Actions
21. Solution Deployment
Solution Package
21
Evolução das Web Part Packages do WSS 2.0
Ficheiro CAB com a extensão .wsp criado usando ficheiro
.ddf e MAKECAB.EXE, com os ficheiros a instalar
Contém um manifesto que o caracteriza
Stsadm –o addsolution
Pode empacotar:
Features
Assemblies (GAC, BIN)
Site Definitions
CAS Policies
DwpFiles
Imagens
25. Casos de Uso
Criar Site Columns e Content Types
Criar List Templates
Criar Listas
Instalar WebParts
Instalar Master Pages e Page Layouts
Instalar Event Receivers
Instalar Site Definitions
Modificar um Site Template
26. Casos de Uso
Criar Site Columns e Content Types
O que se pretende...
Adicionar Site Columns a uma Site Collection
Adicionar Content Types a uma Site Collection
Como se faz...
Feature Element do tipo Field
Feature Element do tipo ContentType
Âmbito: Site
27. Casos de Uso
Criar List Templates
O que se pretende...
Criar um modelo de lista (list template) numa Site
Collection
Como se faz...
Feature Element do tipo ListTemplate
Âmbito: Site
28. Casos de Uso
Criar Listas
O que se pretende...
Criar uma lista com base num modelo
Como se faz...
Feature Element do tipo ListInstance
Âmbito: Web
29. Casos de Uso
Instalar Web Parts
O que se pretende...
Colocar o assembly na GAC
Colocar uma entrada Safe Controls no web.config
Colocar um ficheiro .webpart ou .dwp na Web Part
Gallery da Site Collection
Como se faz...
Feature Element do tipo Module
Âmbito: Site
30. Casos de Uso
Instalar Master Pages e Page Layouts
O que se pretende...
Colocar ficheiros .master e .aspx na Master Page
Gallery da Site Collection
Como se faz...
Feature Element do tipo Module
Âmbito: Site
31. Casos de Uso
Instalar Event Receivers
O que se pretende...
Colocar o assembly na GAC
Registar um Event Receiver
Como se faz...
Feature Element do tipo Receivers
Âmbito: Web
32. Casos de Uso
Instalar Site Definitions
O que se pretende...
Colocar um ficheiro WebTemp.xml em
12TEMPLATE[LCID]XML
Colocar uma pasta para o site template em
12TEMPLATESiteTemplates
Como se faz...
Não requer Feature, apenas Solution
Utilização de elementos TemplateFile no
manifest.xml da Solution
33. Casos de Uso
Modificar um Site Template
O que se pretende...
Feature Stapling
Associar Features a um modelo de site (site
template) já existente
Como se faz...
Feature Elements do tipo
FeatureSiteTemplateAssociation
Âmbito: Farm
35. Ferramentas de Suporte
WSS Extensions for Visual Studio 1.2
Windows SharePoint Services SDK 1.4
WSP Builder no CodePlex
Content Deployment Wizard no CodePlex
SharePoint Manager 2007 no CodePlex
Stramit Caml Viewer by Renaud Comte
Caml Query Builder by U2U