quinta-feira, 30 de abril de 2015

Project Server 2013: Configurar um conjunto de sites nomeado por host para a instância do PWA.

PWA nomeado por host

Desde a versão 2003 do SharePoint (“scalable hosting mode”) existe a possibilidade de criar conjuntos de sites nomeados por host e é o método preferido para implantar sites no SharePoint 2013. O Office 365 usa conjuntos de sites nomeados por host e novos recursos foram otimizados para essa arquitetura. 
Uma das vantagens é o nome único no DNS, como por exemplo, http://projects.contoso.com e a possibilidade de diminuir o número de aplicações web na farm do SharePoint. 

A configuração requer o uso do Powershell e não é possível pela interface do SharePoint. O script do exemplo abaixo contém todos os passos necessários para criar o conjunto de sites nomeado por host desde a criação do banco de dados da instância do Project Server.

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
## Informe o endereço da instânica nova do Project Server, por exemplo: "http://projects.contoso.com".
$web = <"http://projects.contoso.com">
## Informe o endereço da aplicação web que vai hospedar o conjunto de sites nomeado por host, por exemplo: "http://sp2013svr1".
$webapplication = <"http://sp2013dev">
## Informe o nome da instância, por exemplo: "Projects Contoso".
$name = <"Projects Contoso">
## Informe a descrição da instância, por exemplo: "Projects Contoso".
$description = <"Projects Contoso">
## Informe o administrador da instância, por exemplo: "contoso\administrator".
$admin = <"contoso\administrator">
## Informe a idioma da instância do PWA, por exemplo: "1033" para inglês e "1046" para português.
$language = <"1033">
## Informe o nome do banco de dados desejado, por exemplo: "ProjectsContoso".
$db = <"ProjectsContoso">
## Informe o nome da aplicação do Project Server, por exemplo: "Project Server Service Application".
$sa = <"Project Server Service Application">
## Informe o nome do sevidor do SQL, por exemplo: "SQLSERVER\INSTANCIA".
$sql = <"SQLSERVER">

New-SPSite $web -HostHeaderWebApplication $webapplication -Name "$name" -Description "$description" -OwnerAlias "$admin" -language $language -Template "PWA#0"
New-SPProjectDatabase –Name "$db" -ServiceApplication "$sa" –DatabaseServer $sql -Tag "PS2013"
$sc = get-spweb $web
$sc.Properties[“PWA_TAG”]="PS2013"
$sc.Properties.Update()
Enable-SPFeature pwasite -URL "$web"
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

quarta-feira, 29 de abril de 2015

SharePoint: Remover Soluções / Features órfãs

Junto com a chegada da nova versão do SharePoint começa também a época das migrações. 

Um problema comum na migração são soluções / features órfãs referenciadas nos bancos de dados de conteúdo.

As órfãs surgem normalmente devido a remoção equivocada das customizações do SharePoint: As soluções devem ser deletadas em ordem reversa, ou seja primeiro desabilite o recurso / feature e em seguida cancele e remova o recurso da farm no SharePoint de origem.

O script abaixo é útil para os casos em quais o ambiente de origem não está acessível, e removerá todas as referencias da solução.

Mensagem no analisador de integridade do SharePoint no caso das soluções órfãs:

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
[MissingWebPart] WebPart class [GUID] is referenced [NUMBER] times in the database [WSS_Content], but is not installed on the current farm. Please install any feature/solution which contains this web part. One or more web parts are referenced in the database [WSS_Content], but are not installed on the current farm. Please install any feature or solution which contains these web parts.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

O script:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
## O script deletará todos as soluções sem escopo (? { $_.Scope -eq $null})
$orphans = Get-SPFeature | ? { $_.Scope -eq $null }
foreach ($orphan in $orphans)
{
$orphan.delete()
}
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



[]

SharePoint: Remover Bibliotecas / Assemblies órfãs

Junto com a chegada da nova versão do SharePoint começa também a época das migrações. 
Um problema comum na migração são bibliotecas / assemblies órfãs referenciadas nos bancos de dados de conteúdo.

As órfãs surgem normalmente devido a remoção equivocada das customizações do SharePoint: As soluções devem ser deletadas em ordem reversa, ou seja primeiro desabilite o recurso / feature e em seguida cancele e remova o recurso da farm no SharePoint de origem.

O script abaixo é útil para os casos em quais o ambiente de origem não está acessível, e removerá todas as referencias da biblioteca.

Mensagens de erro comum no caso das bibliotecas órfãs:

No analisador de integridade do SharePoint:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Assembly [Contoso.EventReceiver, Version=1.0.0.0, Culture=neutral, PublicKeyTokenublicKeyToken=12345678910114] is referenced in the
database [WSS_Content], but is not installed on
the current farm. Please install any feature/solution which
contains this assembly.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Nos logs do SharePoint:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Falha ao carregar e executar a classe do receptor de evento Contoso.EventReceiver, Version=1.0.0.0, Culture=neutral, PublicKeyTokenublicKeyToken=12345678910114
<nativehr>0x80070002</nativehr><nativestack></nativestack>
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

O script:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
$database = Get-SPContentDatabase <informe o nome do banco de dados de conteúdo>
$eventreceiver = "<informe o nome da biblioteca, por exemplo Contoso.EventReceiver, Version=1.0.0.0, Culture=neutral, PublicKeyTokenublicKeyToken=12345678910114>"
$ERs = $database.sites.eventreceivers | ? {$_.Assembly -eq "$eventreceiver"}

foreach ($ER in $ERs)

{
$ED.delete()
}
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

[]

quarta-feira, 22 de abril de 2015

SharePoint 2016: Programa de pré-lançamento



A Microsoft iniciou um programa de pré-lançamento do SharePoint 2016 e dos demais produtos da família Office, bem como Project Server e serviços de nuvem. O programa é aberto a pessoas físicas e jurídicas!

Descrição do programa:

[...]

The Office team at Microsoft is looking for participants to join us in pre-release beta programs!  Your feedback in these programs will be instrumental in building the best productivity software and services available. The programs will span across the full family of Microsoft Office client, server and cloud services.  The family of products include Word, Excel, PowerPoint, OneNote, Visio, Access, Publisher and Outlook applications, as well as the Exchange, SharePoint and Project server products and cloud services.

If you or the company you work for, or both, are interested in providing feedback to shape and enhance the latest and greatest technologies in the world, then we'd like to know more about you.

[...]

Pre-Release Programs

segunda-feira, 13 de abril de 2015

Ferramentas úteis: ScreenToGif - Uma imagem vale mais que mil palavras.

Um exemplo do uso da ferramenta ScreenToGif
Há algum tempo, GIFs animados voltaram a ser um destaque da internet. Eles também podem ser muito úteis para criar pequenos tutoriais. O gif explica em alguns segundos uma ação trivial, e o usuário ou administrador do ambiente não precisa criar ou seguir um longo passo a passo.

Uma das ferramentas livres disponíveis é a ScreenToGif, no repositório de código aberto Codeplex, da Microsoft. A ferramenta é portátil e disponibiliza várias funcionalidades, como: pausar a gravação, adicionar textos e legendas, remover quadros da gravação, entre outras.

ScreenToGif

[]

quarta-feira, 1 de abril de 2015

Nomeação MVP Awards 2015 - SharePoint Server



Hoje recebi um e-mail que me notificava sobre minha nomeação para o Microsoft "MVP". É uma enorme honra receber esse prêmio e sinto-me muito sortudo por fazer parte da comunidade do SharePoint, ter feito amigos em todo o mundo e agora também poder fazer parte da comunidade MVP.

Eu decidi que era hora de começar a blogar quando percebi o quanto aprendia com blogs de outras pessoas. Acredito muito na máxima "tire um centavo, dê um centavo" ("take a penny, give a penny"), de modo que este blog é a minha moeda de volta para a comunidade.

Há tantos outros merecedores deste prêmio mundial e, portanto, caso você conheça alguém que sempre retribua à comunidade Microsoft, por favor, nomeie-o ainda hoje.


[]

David Amenda