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