Como criar um site SharePoint via STSADM 

Tags: SharePoint, Administração

Trabalhando na definição e desenho dos Sites no Sharepoint, umas das principais tarefas e criar a esqueleto do nosso sistema onde a estrutura dos nossos sites de SharePoint irão funcionar, antes de começar a realizar qualquer customização e desenvolvimento é necessário construir as fundações da nossa casa, nunca começar pelo telhado.

Microsoft SharePoint forneceu Linhas de comandos que podem ser executadas por ms-dos, que tem as mesmas funções de administração das Paginas de Administração do SharePoint.

Podemos encontrar o executável no servidor onde se encontra o nosso SharePoint instalado.

 

O executavel STSADM é uma ferramenta de linha de comandos dá acesso ao conjunto de operações quase completo do Microsoft Office SharePoint Server 2007. Você pode usar Stsadm da linha de comando ou conjunto de scripts. Stsadm deve ser executado no próprio servidor.

Para usar Stsadm, você deve ser um membro do grupo Administradores local do servidor

O executavel stsadm.exe disponibilizado pelo Sharepoint é uma consola onde se encontra um conjunto de instruções para ajudar a configurar grandes conjuntos de Sites de Sharepoint.

C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\bin\stsadm.exe

 

Podemos configurar a linha "C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\bin\" como uma variavel da ambiente na linha de comando, sem haver a necessidade de adicionar sempre que chamamos a consolo de linha de comandos CMD

 

 

 

 

 

 

 

How to:

Exemplo simples da nossa estrutura inicial.

Neste projecto exemplo, o cliente pretende criar um Portal para gestão das diversas áreas da empresa, cada uma tem regras de negocio e costumizaçoes diferentes.

Exemplo de uma área:

 

PS: Apenas um exemplo fora de qualquer realidade

 

Assim que definimos as áreas e os desenhos como a estrutura podemos começar a pensar em criar o site.

 

Para detalhar cada passo da nossa arquitectura no SharePoint, podemos socorrer dos documentos que o TechNet da Microsoft nos disponibilizam para registo e suporte da nossa arquitectura.

http://technet.microsoft.com/en-us/library/cc262451.aspx

 

1º Passo será criar a nossa Aplicação Web, onde iremos trabalhar o nosso site de SharePoint

 

Exemplo pagina de Administração de SharePoint:

 

2º Caminho será definir os caminhos para as nossas colecções do Site

 

//Para isso podemos utilizar os comandos stsadm para criar os caminhos

 

stsadm -o addpath -url http://[site]/RH -type Explicitinclusion

 

stsadm -o addpath -url http://[site]/Administracao -type Explicitinclusion

 

stsadm -o addpath -url http://[site]/DF -type Explicitinclusion

 

Managed Paths

http://technet.microsoft.com/pt-br/library/cc263161.aspx

 

Exemplo pagina de Administração de SharePoint:

 

3º Criar sites com Base de dados diferentes para áreas

 

Depois de criar os caminhos, podemos criar os nossos Site para as diferentes Areas, se utilizamos a Pagina de Administração de Sharepoint é um processo que demora algum tempo e temos que ir a varias páginas antes de criar um Site de Sharepoint, mas existe via stsadm um processo que podemos fazer tudo em uma linha de uma maneira simples e Multiplos sites.

 

// comando para criar site para as diferentes Áreas com Base de dados diferente

stsadm -o createsiteinnewdb -url http://[site] /HR -owneremail [email] -ownerlogin [Dominio\utilizador] –sitetemplate BLANKINTERNETCONTAINER#0 -title “Recursos Humanos” -databaseserver [NomeServidor]  -databasename “WSS_content_recursosHumanos”

 

stsadm -o createsiteinnewdb -url http://[site] /Administracao -owneremail [email] -ownerlogin [Dominio\utilizador] –sitetemplate BLANKINTERNETCONTAINER#0 -title “Administracao” -databaseserver [NomeServidor]  -databasename “WSS_content_Administracao”

 

stsadm -o createsiteinnewdb -url http://[site] /DF -owneremail [email] -ownerlogin [Dominio\utilizador] –sitetemplate BLANKINTERNETCONTAINER#0 -title “Administracao” -databaseserver [NomeServidor]  -databasename “WSS_content_DepartamentoFinanceiro”

 

Stsadm createsiteinnewdb

http://technet.microsoft.com/en-us/library/cc262407.aspx

 

Descrição dos Parâmetros na Linha Stsadm para “createsiteinnewdb”:

-url “Site que vamos criar”

-ownerlogin “Administrador do Site”

-owneremail “Email do administrador do site”

–sitetemplate “Modelo de Site” **

-title “Titulo do novo site”

- databaseserver “Nome do servidor da Base de dados”

-databasename “Nome da Base de Dados para a área do site criado”

 

O que vamos ganhar em separar o nossos Sites ”Site Collections” em vários Base de dados.

1.      Mais fácil para realizar a gestão do Base de Dados, podemos criar tarefas diárias para realizar o Backup das Colecções do Site “Site collections” com o conteúdo mais importante de uma maneira rápida e eficiente.

2.      O limite recomendado pela Microsoft para um boa performance da Base de dados de Conteúdo é 100 GB, como o nosso site de SharePoint esta separado em várias base de dados é mais difícil crescer os ficheiros .mdf. http://technet.microsoft.com/en-us/library/cc262787.aspx.

 

O SharePoint tem modelos de sites com funcionalidades para ajudar os utilizadores a construir o nosso site de SharePoint de uma forma muito interactiva através das linhas de comando.

 

**Modelos de Sites que podemos utilizar :

GLOBAL#0 = Modelo global

STS#0 = Site de equipa

STS#1 = Site em branco

STS#2 = Área de trabalho de documentos

MPS#0 = Área de trabalho base da reunião

MPS#1 = Área de trabalho da reunião em branco

MPS#2 = Área de trabalho da reunião reservada ao registo de decisões

MPS#3 = Área de trabalho da reunião reservada a eventos sociais

MPS#4 = Área de trabalho da reunião com várias páginas

CENTRALADMIN#0 = Site de Administração Central

WIKI#0 = Site Wiki

BLOG#0 = Blogue

BDR#0 = Centro de Documentos

KB#0 = Base de Dados de Conhecimento

OFFILE#0 = Centro de Registos

OFFILE#1 = Centro de Registos

OSRV#0 = Site de Administração de Serviços Partilhados

PWA#0 = Site do Project Web Access

PWS#0 = Área de Trabalho do Microsoft Office Project

SPS#0 = Site do SharePoint Portal Server

SPSPERS#0 = Espaço Pessoal do SharePoint Portal Server

SPSMSITE#0 = Site de Personalização

SPSTOC#0 = Modelo de  rea de conteúdo

SPSTOPIC#0 = Modelo de  rea de tópicos

SPSNEWS#0 = Site de Noticias

CMSPUBLISHING#0 = Site de Publicação

BLANKINTERNET#0 = Site de Publicação

BLANKINTERNET#1 = Subsite de Comunicados de Imprensa

BLANKINTERNET#2 = Site de Publicação com Fluxo de Trabalho

SPSNHOME#0 = Site de Notícias

SPSSITES#0 = Directório de Sites

SPSCOMMU#0 = Modelo de  rea de comunidade

SPSREPORTCENTER#0 = Centro de Relatórios

SPSPORTAL#0 = Portal de Colaboração

SRCHCEN#0 = Centro de Procuras com Separadores

PROFILES#0 = Perfis

BLANKINTERNETCONTAINER#0 = Portal de Publicação

SPSMSITEHOST#0 = Anfitrião de O Meu Site

SRCHCENTERLITE#0 = Centro de Procuras

SRCHCENTERLITE#1 = Centro de Procuras

 

4º Criar Sub-sites dentro da Area

 

Depois de criar os Site principais, podemos criar diversos Sub-sites e podemos criar:

 

//Linha de commandos para criar Sub-site associados

stsadm" -o createweb -url http://[Site]/RH/MK1  -lcid 2070-sitetemplate BLANKINTERNET#2 -title "Marketing 1"

 

stsadm" -o createweb -url http://[Site]/RH/MK2  -lcid 2070 -sitetemplate BLANKINTERNET#2 -title "Marketing 2"

 

stsadm -o createweb -url http://[Site]/Administrativo  -lcid 2070 -sitetemplate BLANKINTERNET#2 -title "Gerente Comercial"

 

stsadm" -o createweb -url http://[Site]/DF  -lcid 2070 -sitetemplate BLANKINTERNET#2 -title "Tesouraria"

 

http://technet.microsoft.com/en-us/library/cc287718.aspx

 

Exemplo Criar Sub-site por site de gestão de conteúdo de SharePoint:

 

 

5º Adicionar Grupos e pessoas ao Site

 

Depois de criar os sites e Sub-Site podemos começar a adicionar as pessoas e grupos através das seguintes linhas de comando Stsadm

 

//Comando para adicionar Grupos ao Site

 

stsadm -o creategroup -url http://[Site]/HR -name [RH Grupo] –description “Grupo de Contribuição” -ownerlogin [Grupo ou utilizador]

 

http://technet.microsoft.com/en-us/library/cc263302.aspx

 

//Comandos para adicionar utilizadores ao Site

stsadm -o adduser  -url http://[Site]/HR  -userlogin [Nome] –useremail [email] role [contribuir/utilizador]

 

http://technet.microsoft.com/en-us/library/cc262627.aspx

 

Exemplo de Grupo e pessoas no site de SharePoint:

 

Migrar Sub-site 

 

Em algumas situações podemos encontrar a necessidade de exportar o conteúdo dos nosso sub-sites para outra área, para isso existe instruções em STSADM para apoio a essa tarefa.

 

//Linha de STSADM para exportar o Sub-site e todo o conteúdo para ficheiro.

 

stsadm –o export –url http://[Site]/RH/MK2  –filename c:\MK1.dat –versions 4

 

http://technet.microsoft.com/pt-br/library/cc262759.aspx

 

Parametros:

-versions “Tem como função guardar os diversos estado dos Documentos é muito importante em documento que se encontram a trabalhar”

 

Este ficheiro tem a função de guardar o conteúdo do nosso sub-site que iremos importar para o novo sub-site.

 

Exemplo do Output de exportação do Sub-site:

 

//Para o sub-site guardado devemos criar um novo sub-site onde vai ficar alojado e importar o seu conteúdo através das seguintes linhas de comandos

 

stsadm -o createweb -url http://[Site]/DF/MK2  -lcid 2070 -sitetemplate BLANKINTERNET#2 -title "Marketing 2"

stsadm –o import –url http://[Site]/DF/MK2  –filename c:\[name].dat

 

http://technet.microsoft.com/pt-br/library/cc261866.aspx

 

//Para apagar o sub-site antigo podemos utilizar a seguinte linha de comando

 

stsadm -o deleteweb -url http://[site]/HR/MK2

 

http://technet.microsoft.com/pt-br/library/cc287710.aspx

Backup das Áreas

Se pretenderes fazer o Backup dos sites com Areas podes utilizar a linha de comando

 

Stsadm –o backup –url http://[Site]/DF -filename c:\Backup.dat

 

http://technet.microsoft.com/pt-br/library/cc263441.aspx

 

Sempre que é realizado um Backup o Base de Dados entra em modo de READ ONLY como modo de garantia que os dados não são alterados quando estamos a fazer Backup,

 

Se acontecer um erro no Backup o Base de dados fica em READ ONLY sem conseguires altera o conteúdo no SharePoint.

 

Para visualizar o estado da Base de Dados podemos utilizar a seguinte linha de comando.

 

stsadm -o getsitelock -url http://[Site]/DF

 

Para alterar o estado do Base de dados, utilizes a linha

stsadm -o setsitelock -url http://[Site]/DF -lock none

 

http://technet.microsoft.com/pt-br/library/cc262811.aspx

 

Depois da o base de dados estar a funcionar podemos restaurar o nosso site para o novo Site

 

Stsadm –o restore –url http://[NovoSite]/DF -filename c:\Backup.dat

http://technet.microsoft.com/pt-br/library/cc262087.aspx

 

Existem muitas outras linhas de STSADM que podem ajudar, mas a principal função das linhas STSADM é criar  muitos sites através de ficheiros .bat de uma maneira simples e sem utilizar a paginas de Administração de Sharepoint.

 

Existe a possibilidade de criação de linhas de comandos STSADM  personalizados de forma a dar respostas a situações que as linhas existente OOB do Sharepoint não dá resposta.

http://msdn.microsoft.com/en-us/library/bb417382.aspx

 

Exemplo de uma Class desenvolvida em Visual Studio para Criar uma Linha de Comando com a função de eliminar todos os Grupos do URL no Site em Sharepoint.

  

public class DeleteAllGroups : ISPStsadmCommand

    {

        public string GetHelpMessage(string command)

        {

            return "-url <full url to a site in SharePoint>";

        }

        public int Run(string command, StringDictionary keyValues, out string output)

        {

            command = command.ToLowerInvariant();

            switch (command)

            {

                case "deleteallgroups":

                    return this.DeleteAllGroup(keyValues, out output);

                default:

                    throw new InvalidOperationException();

            }

        }

        private int DeleteAllGroup(StringDictionary keyValues, out string output)

        {

            if (!keyValues.ContainsKey("url"))

            {

                throw new InvalidOperationException("The url parameter was not specified.");

            }

            String url = keyValues["url"];

            try

            {

                using (SPSite site = new SPSite(url))

                using (SPWeb web = site.OpenWeb())

                {

                    int offsetIndex = 0;

                    while (web.SiteGroups.Count > offsetIndex)

                    {

                        web.SiteGroups.Remove(offsetIndex);

                    }

                }

            }

            catch (Exception e)

            {

                throw new InvalidOperationException("Error retrieving url '" + url + "'.  Please check the format of your url, and ensure that the site exists.  Details: " + e.Message);

            }

            output = "";

            return 0;

        }

    }

 

Após compilção da DLL onde ira ficar a nova linha de STSADM devera ser configurado o XML de configuração da nova Linha de Comando STSADM sendo posteriormente adicionada a DLL na GAC atraves do ficheiro Manifest.XML que ira Configurar o nosso ficheiro .WSP/cab. 

 

Exemplo de ficheiro de Configuração:

<commands>

    <command 

        name="command_name" 

        class="[Class Name], [assembly Name], 

        Version=1.0.0.0, 

        Culture=neutral, 

        PublicKeyToken=value"/>

    <!-- other command elements, if any -->

</commands>

 

Após a sua instalação podemos executar a seguinte instrução por linha de comandos para apagar os Grupos do Site de SharePoint. 

 

stsadm -o deleteallgroups -url [url]

 

As Linhas de comando Stsadm irão provalvemente dar lugar a utilização mas diária e extensiva ao PowerSheell.

 

PowerShell é uma linguagem de programação interactiva, sendo projectado para automatizar tarefas do sistema, tais como o processamento em massa, sendo possível chamar objecto de Sharepoint para desenvolvimento dos script para Administração do SharePoint.

 

Embora o PowerShell ja existe em Sharepoint 2007 com a vinda do Sharepoint 2010 a utilização será  o nosso motor de Administração do SharePoint de uma maneira mais eficiente e mais potente, mas isso será um outro artigo...

 

STSADM um bom amigo. :)

 

Espero que tenha sido útil....

 

André Lage
[SharePoint MVP]

http://aaclage.blogspot.com

 
Posted em 18-Feb-10
4 Comentários  |  Trackback Url  |  Link para este post | Bookmark este post com:        
 

Links para este post

Comentários


Ricardo Magalhães comentou em Thursday, 18-Feb-2010
Bem André estavas inspirado, grande artigo e muito completo.


Raul Queiroga comentou em Wednesday, 24-Feb-2010
Depois de um artigo destes um gajo pergunta...eh pá e torradas...isto tb deve fazer torradas :-) Grande artigo!


PedroCGD comentou em Tuesday, 27-Apr-2010
Muito bem Andre... vou seguir este teu post... e começar a criar algo em BI com esta nova versão do Sharepoint... Abraço! Pedro


Leandro comentou em Monday, 25-Jul-2011
Parabéns pelo artigo. Realmente me foi muito útil. Continue com os artigos, pois voce tem talento para ensinar. Abraços

Nome:
URL:
Email:
Comentário: