SlideShare uma empresa Scribd logo
1 de 37
2
André Vala
andre.vala@create.pt
http://blogit.create.pt/blogs/andrevala
Raúl Ribeiro
raul.ribeiro@create.pt
http://blogit.create.pt/blogs/raulribeiro
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
Agenda
 Tipos de Deployment
 Solution Deployment
 Casos de Uso
 Ferramentas de Suporte
5
TIPOS DE DEPLOYMENT
Deployment em SharePoint
Tipos de Deployment
 Idade da Pedra
 Backup/Restore Deployment
 Content Deployment
 Content Deployment and Migration API
7
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
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
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
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
SOLUTION DEPLOYMENT
Deployment em SharePoint
Solution Deployment
Conceitos
 Features
 Feature Manifest
 Feature Element
 Solution Package
 Solution Manifest
13
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
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
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
Solution Deployment
Pastas de Sistema
 12TEMPLATE
 12TEMPLATEFEATURES
 12TEMPLATEIMAGES
 12TEMPLATELAYOUTS
17
Solution Deployment
Feature Manifest
 Exemplo de um feature manifest
 Declarado em CAML (Collaborative Application Markup
Language)
18
<Feature
Id="B2CB42E2-4F0A-4380-AABA-1EF9CD526F20"
Title="A Sample Feature: Hello World"
Description=“Hello World Feature Sample"
Scope="Web"
Hidden="FALSE"
ImageUrl=“MyImage.gif"
xmlns="http://schemas.microsoft.com/sharepoint/">
<ElementManifests>
<ElementManifest Location="elements.xml" />
</ElementManifests>
</Feature>
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
Solution Deployment
Feature Receivers
20
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
Solution Deployment
Solution Manifest
<Solution SolutionId="9EFFE92B-781D-4c99-BBCC-432D248B899D"
xmlns="http://schemas.microsoft.com/sharepoint/">
<FeatureManifests>
<FeatureManifest Location="CustomApplicationPagesfeature.xml" />
</FeatureManifests>
<TemplateFiles>
<TemplateFile Location="LAYOUTSCustomApplicationPagesHello.aspx"/>
<TemplateFile Location="LAYOUTSCustomApplicationPagesApplicationPage1.aspx"/>
<TemplateFile Location="LAYOUTSCustomApplicationPagesApplicationPage2.aspx"/>
<TemplateFile Location="LAYOUTSCustomApplicationPagesApplicationPage3.aspx"/>
<TemplateFile Location="LAYOUTSCustomApplicationPagesApplicationPage4.aspx"/>
<TemplateFile Location="LAYOUTSCustomApplicationPagesApplicationPage5.aspx"/>
<TemplateFile Location="LAYOUTSCustomApplicationPagesApplicationPage6.aspx"/>
</TemplateFiles>
<Assemblies>
<Assembly Location="CustomApplicationPages.dll"
DeploymentTarget="GlobalAssemblyCache" />
</Assemblies>
</Solution>
22
Solution Deployment
23
CASOS DE USO
Deployment em SharePoint
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
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
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
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
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
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
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
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
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
FERRAMENTAS DE SUPORTE
Deployment em SharePoint
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
Q&A
André Vala
andre.vala@create.pt
http://blogit.create.pt/blogs/andrevala
Raúl Ribeiro
raul.ribeiro@create.pt
http://blogit.create.pt/blogs/raulribeiro
Instituto Superior Técnico
Campus do Taguspark

Mais conteúdo relacionado

Mais procurados

Ionic 2/3 + Firebase
Ionic 2/3 + FirebaseIonic 2/3 + Firebase
Ionic 2/3 + FirebaseBruno Catão
 
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)Curso de Enterprise JavaBeans (EJB) (JavaEE 7)
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)Helder da Rocha
 
JSF com Primefaces
JSF com PrimefacesJSF com Primefaces
JSF com PrimefacesFabio Noth
 
API de segurança do Java EE 8
API de segurança do Java EE 8API de segurança do Java EE 8
API de segurança do Java EE 8Helder da Rocha
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 

Mais procurados (6)

Ionic 2/3 + Firebase
Ionic 2/3 + FirebaseIonic 2/3 + Firebase
Ionic 2/3 + Firebase
 
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)Curso de Enterprise JavaBeans (EJB) (JavaEE 7)
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)
 
JSF com Primefaces
JSF com PrimefacesJSF com Primefaces
JSF com Primefaces
 
API de segurança do Java EE 8
API de segurança do Java EE 8API de segurança do Java EE 8
API de segurança do Java EE 8
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
Jboss tutorial
Jboss tutorialJboss tutorial
Jboss tutorial
 

Semelhante a Deployment de Software em SharePoint

ReMobile - Nokia Web Runtime
ReMobile - Nokia Web RuntimeReMobile - Nokia Web Runtime
ReMobile - Nokia Web Runtimefelipebzr
 
Analise frameworks php
Analise frameworks phpAnalise frameworks php
Analise frameworks phpIgor Moura
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev IntroduçãoMarcio Marinho
 
Evento Front End SP - Arquitetura de Front
Evento Front End SP - Arquitetura de FrontEvento Front End SP - Arquitetura de Front
Evento Front End SP - Arquitetura de FrontMichel Ribeiro
 
CDI Extensions e DeltaSpike
CDI Extensions e DeltaSpikeCDI Extensions e DeltaSpike
CDI Extensions e DeltaSpikeRafael Benevides
 
Apache Wicket - Desenvolvimento WEB orientado a componentes
Apache Wicket - Desenvolvimento WEB orientado a componentesApache Wicket - Desenvolvimento WEB orientado a componentes
Apache Wicket - Desenvolvimento WEB orientado a componentesCI&T
 
Rapid Application Development com Tapestry 5
Rapid Application Development com Tapestry 5Rapid Application Development com Tapestry 5
Rapid Application Development com Tapestry 5Marcelo Rodrigues
 
Produtividade com JavaServer Faces
Produtividade com JavaServer FacesProdutividade com JavaServer Faces
Produtividade com JavaServer FacesEduardo Bregaida
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaAlexandre Tarifa
 
Organizandoacasa 120316203302-phpapp02
Organizandoacasa 120316203302-phpapp02Organizandoacasa 120316203302-phpapp02
Organizandoacasa 120316203302-phpapp02Fernanda Prezotto
 
TechDay - Sistemas WEB em Java - Rogério N. Jr.
TechDay - Sistemas WEB em Java - Rogério N. Jr.TechDay - Sistemas WEB em Java - Rogério N. Jr.
TechDay - Sistemas WEB em Java - Rogério N. Jr.Rogério Napoleão Jr.
 
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorPlay Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorAllyson Barros
 
Building Sandboxed Solutions
Building Sandboxed SolutionsBuilding Sandboxed Solutions
Building Sandboxed SolutionsMarcel Medina
 
Introducing Mobile Development for Web Developers
Introducing Mobile Development for Web DevelopersIntroducing Mobile Development for Web Developers
Introducing Mobile Development for Web Developersfelipebzr
 
Spring MVC Framework
Spring MVC FrameworkSpring MVC Framework
Spring MVC Frameworkelliando dias
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysDr. Spock
 

Semelhante a Deployment de Software em SharePoint (20)

ReMobile - Nokia Web Runtime
ReMobile - Nokia Web RuntimeReMobile - Nokia Web Runtime
ReMobile - Nokia Web Runtime
 
Java Seminar
Java SeminarJava Seminar
Java Seminar
 
Analise frameworks php
Analise frameworks phpAnalise frameworks php
Analise frameworks php
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev Introdução
 
Evento Front End SP - Arquitetura de Front
Evento Front End SP - Arquitetura de FrontEvento Front End SP - Arquitetura de Front
Evento Front End SP - Arquitetura de Front
 
SpugRIA
SpugRIASpugRIA
SpugRIA
 
CDI Extensions e DeltaSpike
CDI Extensions e DeltaSpikeCDI Extensions e DeltaSpike
CDI Extensions e DeltaSpike
 
Apache Wicket - Desenvolvimento WEB orientado a componentes
Apache Wicket - Desenvolvimento WEB orientado a componentesApache Wicket - Desenvolvimento WEB orientado a componentes
Apache Wicket - Desenvolvimento WEB orientado a componentes
 
Rapid Application Development com Tapestry 5
Rapid Application Development com Tapestry 5Rapid Application Development com Tapestry 5
Rapid Application Development com Tapestry 5
 
Produtividade com JavaServer Faces
Produtividade com JavaServer FacesProdutividade com JavaServer Faces
Produtividade com JavaServer Faces
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
 
Organizando a casa
Organizando a casaOrganizando a casa
Organizando a casa
 
Organizandoacasa 120316203302-phpapp02
Organizandoacasa 120316203302-phpapp02Organizandoacasa 120316203302-phpapp02
Organizandoacasa 120316203302-phpapp02
 
TechDay - Sistemas WEB em Java - Rogério N. Jr.
TechDay - Sistemas WEB em Java - Rogério N. Jr.TechDay - Sistemas WEB em Java - Rogério N. Jr.
TechDay - Sistemas WEB em Java - Rogério N. Jr.
 
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorPlay Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
 
Building Sandboxed Solutions
Building Sandboxed SolutionsBuilding Sandboxed Solutions
Building Sandboxed Solutions
 
Introducing Mobile Development for Web Developers
Introducing Mobile Development for Web DevelopersIntroducing Mobile Development for Web Developers
Introducing Mobile Development for Web Developers
 
Web Services
Web ServicesWeb Services
Web Services
 
Spring MVC Framework
Spring MVC FrameworkSpring MVC Framework
Spring MVC Framework
 
JSF 2.0 e ScrumToys
JSF 2.0 e ScrumToysJSF 2.0 e ScrumToys
JSF 2.0 e ScrumToys
 

Mais de André Vala

RGPD - Testemunho do Mundo Real
RGPD - Testemunho do Mundo RealRGPD - Testemunho do Mundo Real
RGPD - Testemunho do Mundo RealAndré Vala
 
Office Dev Day 2018 - Extending Microsoft Teams
Office Dev Day 2018 - Extending Microsoft TeamsOffice Dev Day 2018 - Extending Microsoft Teams
Office Dev Day 2018 - Extending Microsoft TeamsAndré Vala
 
From Event Receivers to SharePoint Webhooks (SPS Lisbon 2017)
From Event Receivers to SharePoint Webhooks (SPS Lisbon 2017)From Event Receivers to SharePoint Webhooks (SPS Lisbon 2017)
From Event Receivers to SharePoint Webhooks (SPS Lisbon 2017)André Vala
 
From Event Receivers to SharePoint Webhooks
From Event Receivers to SharePoint WebhooksFrom Event Receivers to SharePoint Webhooks
From Event Receivers to SharePoint WebhooksAndré Vala
 
Planning the Death Star with Microsoft Planner
Planning the Death Star with Microsoft PlannerPlanning the Death Star with Microsoft Planner
Planning the Death Star with Microsoft PlannerAndré Vala
 
From Event Receivers to SharePoint Webhooks
From Event Receivers to SharePoint WebhooksFrom Event Receivers to SharePoint Webhooks
From Event Receivers to SharePoint WebhooksAndré Vala
 
Microsoft Planner Deep Dive
Microsoft Planner Deep DiveMicrosoft Planner Deep Dive
Microsoft Planner Deep DiveAndré Vala
 
SharePoint - Presente e Futuro
SharePoint - Presente e FuturoSharePoint - Presente e Futuro
SharePoint - Presente e FuturoAndré Vala
 
Office 365 Groups Deep Dive
Office 365 Groups Deep DiveOffice 365 Groups Deep Dive
Office 365 Groups Deep DiveAndré Vala
 
Soluções com Office Graph
Soluções com Office GraphSoluções com Office Graph
Soluções com Office GraphAndré Vala
 
Host-Named Site Collections in SharePoint 2013
Host-Named Site Collections in SharePoint 2013Host-Named Site Collections in SharePoint 2013
Host-Named Site Collections in SharePoint 2013André Vala
 
User License Enforcement em SharePoint 2013
User License Enforcement em SharePoint 2013User License Enforcement em SharePoint 2013
User License Enforcement em SharePoint 2013André Vala
 
How To Use Host-Named Site Collections
How To Use Host-Named Site CollectionsHow To Use Host-Named Site Collections
How To Use Host-Named Site CollectionsAndré Vala
 
Novidades na pesquisa no SharePoint 2013
Novidades na pesquisa no SharePoint 2013Novidades na pesquisa no SharePoint 2013
Novidades na pesquisa no SharePoint 2013André Vala
 
Building Public Web Sites in SharePoint 2010
Building Public Web Sites in SharePoint 2010 Building Public Web Sites in SharePoint 2010
Building Public Web Sites in SharePoint 2010 André Vala
 
SharePoint + Azure = Better Together
SharePoint + Azure = Better TogetherSharePoint + Azure = Better Together
SharePoint + Azure = Better TogetherAndré Vala
 
Federated Authentication in SharePoint 2010
Federated Authentication in SharePoint 2010Federated Authentication in SharePoint 2010
Federated Authentication in SharePoint 2010André Vala
 
Using BCS to integrate Azure Services with SharePoint 2010
Using BCS to integrate Azure Services with SharePoint 2010Using BCS to integrate Azure Services with SharePoint 2010
Using BCS to integrate Azure Services with SharePoint 2010André Vala
 
LINQ to SharePoint
LINQ to SharePointLINQ to SharePoint
LINQ to SharePointAndré Vala
 
Solução de Negócio baseadas em Office 2010 e SharePoint 2010
Solução de Negócio baseadas em Office 2010 e SharePoint 2010Solução de Negócio baseadas em Office 2010 e SharePoint 2010
Solução de Negócio baseadas em Office 2010 e SharePoint 2010André Vala
 

Mais de André Vala (20)

RGPD - Testemunho do Mundo Real
RGPD - Testemunho do Mundo RealRGPD - Testemunho do Mundo Real
RGPD - Testemunho do Mundo Real
 
Office Dev Day 2018 - Extending Microsoft Teams
Office Dev Day 2018 - Extending Microsoft TeamsOffice Dev Day 2018 - Extending Microsoft Teams
Office Dev Day 2018 - Extending Microsoft Teams
 
From Event Receivers to SharePoint Webhooks (SPS Lisbon 2017)
From Event Receivers to SharePoint Webhooks (SPS Lisbon 2017)From Event Receivers to SharePoint Webhooks (SPS Lisbon 2017)
From Event Receivers to SharePoint Webhooks (SPS Lisbon 2017)
 
From Event Receivers to SharePoint Webhooks
From Event Receivers to SharePoint WebhooksFrom Event Receivers to SharePoint Webhooks
From Event Receivers to SharePoint Webhooks
 
Planning the Death Star with Microsoft Planner
Planning the Death Star with Microsoft PlannerPlanning the Death Star with Microsoft Planner
Planning the Death Star with Microsoft Planner
 
From Event Receivers to SharePoint Webhooks
From Event Receivers to SharePoint WebhooksFrom Event Receivers to SharePoint Webhooks
From Event Receivers to SharePoint Webhooks
 
Microsoft Planner Deep Dive
Microsoft Planner Deep DiveMicrosoft Planner Deep Dive
Microsoft Planner Deep Dive
 
SharePoint - Presente e Futuro
SharePoint - Presente e FuturoSharePoint - Presente e Futuro
SharePoint - Presente e Futuro
 
Office 365 Groups Deep Dive
Office 365 Groups Deep DiveOffice 365 Groups Deep Dive
Office 365 Groups Deep Dive
 
Soluções com Office Graph
Soluções com Office GraphSoluções com Office Graph
Soluções com Office Graph
 
Host-Named Site Collections in SharePoint 2013
Host-Named Site Collections in SharePoint 2013Host-Named Site Collections in SharePoint 2013
Host-Named Site Collections in SharePoint 2013
 
User License Enforcement em SharePoint 2013
User License Enforcement em SharePoint 2013User License Enforcement em SharePoint 2013
User License Enforcement em SharePoint 2013
 
How To Use Host-Named Site Collections
How To Use Host-Named Site CollectionsHow To Use Host-Named Site Collections
How To Use Host-Named Site Collections
 
Novidades na pesquisa no SharePoint 2013
Novidades na pesquisa no SharePoint 2013Novidades na pesquisa no SharePoint 2013
Novidades na pesquisa no SharePoint 2013
 
Building Public Web Sites in SharePoint 2010
Building Public Web Sites in SharePoint 2010 Building Public Web Sites in SharePoint 2010
Building Public Web Sites in SharePoint 2010
 
SharePoint + Azure = Better Together
SharePoint + Azure = Better TogetherSharePoint + Azure = Better Together
SharePoint + Azure = Better Together
 
Federated Authentication in SharePoint 2010
Federated Authentication in SharePoint 2010Federated Authentication in SharePoint 2010
Federated Authentication in SharePoint 2010
 
Using BCS to integrate Azure Services with SharePoint 2010
Using BCS to integrate Azure Services with SharePoint 2010Using BCS to integrate Azure Services with SharePoint 2010
Using BCS to integrate Azure Services with SharePoint 2010
 
LINQ to SharePoint
LINQ to SharePointLINQ to SharePoint
LINQ to SharePoint
 
Solução de Negócio baseadas em Office 2010 e SharePoint 2010
Solução de Negócio baseadas em Office 2010 e SharePoint 2010Solução de Negócio baseadas em Office 2010 e SharePoint 2010
Solução de Negócio baseadas em Office 2010 e SharePoint 2010
 

Deployment de Software em SharePoint

  • 1.
  • 3.
  • 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
  • 13. Solution Deployment Conceitos  Features  Feature Manifest  Feature Element  Solution Package  Solution Manifest 13
  • 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
  • 17. Solution Deployment Pastas de Sistema  12TEMPLATE  12TEMPLATEFEATURES  12TEMPLATEIMAGES  12TEMPLATELAYOUTS 17
  • 18. Solution Deployment Feature Manifest  Exemplo de um feature manifest  Declarado em CAML (Collaborative Application Markup Language) 18 <Feature Id="B2CB42E2-4F0A-4380-AABA-1EF9CD526F20" Title="A Sample Feature: Hello World" Description=“Hello World Feature Sample" Scope="Web" Hidden="FALSE" ImageUrl=“MyImage.gif" xmlns="http://schemas.microsoft.com/sharepoint/"> <ElementManifests> <ElementManifest Location="elements.xml" /> </ElementManifests> </Feature>
  • 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
  • 22. Solution Deployment Solution Manifest <Solution SolutionId="9EFFE92B-781D-4c99-BBCC-432D248B899D" xmlns="http://schemas.microsoft.com/sharepoint/"> <FeatureManifests> <FeatureManifest Location="CustomApplicationPagesfeature.xml" /> </FeatureManifests> <TemplateFiles> <TemplateFile Location="LAYOUTSCustomApplicationPagesHello.aspx"/> <TemplateFile Location="LAYOUTSCustomApplicationPagesApplicationPage1.aspx"/> <TemplateFile Location="LAYOUTSCustomApplicationPagesApplicationPage2.aspx"/> <TemplateFile Location="LAYOUTSCustomApplicationPagesApplicationPage3.aspx"/> <TemplateFile Location="LAYOUTSCustomApplicationPagesApplicationPage4.aspx"/> <TemplateFile Location="LAYOUTSCustomApplicationPagesApplicationPage5.aspx"/> <TemplateFile Location="LAYOUTSCustomApplicationPagesApplicationPage6.aspx"/> </TemplateFiles> <Assemblies> <Assembly Location="CustomApplicationPages.dll" DeploymentTarget="GlobalAssemblyCache" /> </Assemblies> </Solution> 22
  • 24. CASOS DE USO Deployment em SharePoint
  • 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