jueves, 29 de octubre de 2015

Restore - Backup de um site SharePoint usando PowerShell

Para fazer o backup/restore de um site de Sharepoint podemos utilizar os seguintes comandos do PowerShell:

  • Backup-SPSite

Backup-SPSite http://<url-Site> -Path <caminho destino do arquivo>\<nome>.bak

Exemplo: vamos a fazer um backup do site site.dev.com.br na pasta 'Backup'

Backup-SPSite http://site.dev.com.br -Path C:\Backup\siteDev.bak


  • Restore-SPSite

Com este comando podemos recuperar ou restaurar a copia gerada. Tem um parâmetro 'Force', dito parâmetro e necessário si estamos restaurando sobre um site que já tem conteúdo.

Restore-SPSite  http://<url-Site> -Path <caminho origem do arquivo>\<nome>.bak -Force

Exemplo: vamos a restaurar uma copia backup ao site de site.dev.com.br. 

Restore-SPSite http://site.dev.com.br -Path C:\Backup\siteDev.bak -Force


____________________________________________________
OBSERVAÇÂO: Quando se está restaurando copias feitas em outros ambientes, devemos pre-configurar as permissões, já que os usuários em ambientes diferentes não são os mesmos.

Para indicar um novo administrador do site:
Central Administration -> Application Management -> Change site collection administrators

Para indicar permissões nos usuários no distintos grupos já no site:
Configurações -> Configurações do site -> Pessoas e grupos

Para listar todos os usuários:
Configurações -> Configurações do site -> Pessoas e grupos -> trocar o valro da queryString 6 por 0
http:///<link do site>/_layouts/15/people.aspx?MembershipGroupId=0

Atte.

Reordenar colunas de um ContentType programaticamente.

Em umas das tarefas solicitadas pelo cliente, tinha a de re-organizar os item no formulario de uma lista, aonde já estava em produção.

Se poderia fazer uso do arquivo schema.xml do projeto para alterar a ordem dos campos, mas como foi falado, a lista já estava em produção, consequentemente não teria efeito alterar dito arquivo.

Então como solução se fez um método que sera chamado no momento de ativar a feature. Este método utiliza o metodo "Reorder" do content type, ele ordea as colunas baseado no seu parâmentro:
 
public void Reorder(
 string[] internalNames
)
 
 
Para obter os internal names, umas das formas e utilizar SharePoint Manager, observe imagem abaixo:
 
 
 
O método utilizado num projeto ficou assim: (se ordenou as colunas do content type 'Evento'*)

public static void ReorderContentTypeListNotificacao(SPSite site)
{
    var web = site.RootWeb;
    bool estadoAtual = web.AllowUnsafeUpdates;
    web.AllowUnsafeUpdates = true;

    SPContentType ct = web.ContentTypes["Evento"];

    ct.FieldLinks.Reorder(new string[] { "Title", "Location", "EventDate", "EndDate", "fAllDayEvent", "Description", "EventType", "Category", "PGCSCPessoaGrupo" });

    ct.Update(true);

    web.AllowUnsafeUpdates = estadoAtual;
}


*Content type possui as seguintes colunas: title, Location, EventDate, EndDate, fAllDayEvent, Description, EventType,, Category, etc.


Bibliografia
https://msdn.microsoft.com/EN-US/library/office/microsoft.sharepoint.spfieldlinkcollection.reorder.aspx

Atte.
 

Como fazer download de uma solução publicada desde Farm Sharepoint (PowerShell)

Podemos ter a necessidade de fazer download de soluções .wsp de uma farm, para isso e utilizando power shell, faremos uso dos seguintes comandos:

$frm = Get-SPFarm
$file = $frm.Solutions.Item("solucaoTeste.wsp").SolutionFile
$file.SaveAs("c:\solucaoTeste.wsp") 

Atte.

Steve Jobs building NeXT

In 1987, after leaving the company apple, Steve Jobs created "NeXT"