SharePoint 4 Developers

Guia de referência adicional em desenvolvimento .NET / SharePoint

Rebranding branded SharePoint Publishing Sites - Dilemas

Se você for fazer o Rebrand de um site no SharePoint que já possui um branding aplicado, e se o orçamento lhe permitir ir mais longe, faça o planejamento de um upgrade antes de aplicar o rebranding. Isto vai minimizar qualquer retrabalho e, consequentemente, custos no futuro.

Oi pessoal,

Decidi escrever algo a respeito sobre alguns dilemas, devido a um projeto que trabalhei recentemente. Fazer ou não fazer? Eis a questão.

Se você enfrentar situações para as quais não tem uma resposta imediata, vai precisar despender um tempo pensando nisso.

dilema

Rebranding branded sites

Quando um cliente vem até você dizendo que quer fazer o rebrand de um site SharePoint já existente, a primeira coisa que vem à minha mente ... isso é um upgrade?

Acontece que, pelo fato de sempre ter trabalhado no desenvolvimento de Custom branded sites, sempre pensei dessa maneira.

Geralmente se faz o Rebrand de um site depois de atualizar o ambiente, mas isso não é uma regra.

Atualizar, ou não atualizar?

Se você for fazer o Rebrand de um site no SharePoint que já possui um branding aplicado, e se o orçamento lhe permitir ir mais longe, faça o planejamento de um upgrade antes de aplicar o rebranding. Isto vai minimizar qualquer retrabalho e, consequentemente, custos no futuro.

Mas se o orçamento não incluir o upgrade, é sua tarefa dizer ao cliente que por não fazer o upgrade do ambiente, os custos podem ficar caros no futuro, especialmente se você precisar pular plataformas. Ex: do MOSS 2007 para SP2013. Estes custos envolvem:

  • Infra-estrutura - A nova arquitetura, recursos, hardware.
  • Soluções - Compatibilidade de customisações.

Porém cabe ao cliente decidir onde investir o capital. O cliente precisa ser guiado para o que for melhor para o seu negócio.

No meu caso o cliente decidiu não fazer o upgrade do ambiente, por isso meu trabalho se resumiu em fazer o rebrand do branded site no mesmo ambiente. Embora possa parecer simples, não é, é preciso considerar:

  • Design / Look and Feel – Alterações de site definitions, master pages e page layouts.
  • Content Types – Novos campos (fields) disponíveis em page layouts.
  • Web parts – Mapeamento do existente x novo.
  • Navigation – Mudanças na navegação Top e da Esquerda.
  • Reusable content – Seções de Cabeçalho e Rodapé.

Ser ou não ser guiado por mock-ups?

Antes dos mock-ups serem criados, converse com os business users sobre conteúdo, pergunte como as páginas vão exibir as informações criadas por content editors.

Não seja guiado por mock-ups, em geral agências de design não têm a menor idéia sobre SharePoint, muito provável o design que for criado pode ter algumas incompatibilidades com o SharePoint.

Atualizar ou não atualizar site definitions?

Nunca modifique schemas de site definitions depois que site collections / sites já tiverem sido provisionados. Isto não é suportado! Aqui está a prova: http://support.microsoft.com/kb/898631

Utilize o object model para alterar site definitions. Se você estiver provisionando sub-sites, adicione código à feature receiver (ativação ou desativação) para modificar site definitions.

Obs: Você pode criar um novo site definition se você quiser um novo começo, mas você precisará adaptar o código existente e migrar site collection existentes que usam a versão antiga do site definition. Pessoalmente não recomendo essa abordagem.

Criar ou não criar uma nova master page?

Depende. Sim, se você precisar manter a versão antiga, mas se você fizer isso vai precisar modificar a feature receiver para atribuir a nova master page programaticamente durante o provisionamento de um site collection / site. Lembre-se que a antiga master page ainda está atrelada ao schema do site definition!

Mas se você não precisar manter a master page eu digo que não, atualize a master page existente. Esta é a abordagem que recomendo.

Criar ou não criar novos page layouts?

Provavelmente existirão mudanças de layout / field como resultado dos novos mock-ups fornecidos.

Sinta-se à vontade em modificar ou criar novos page layouts, o que você não pode fazer é excluir page layouts existentes. Eles podem estar referenciados pelo schema do site definition, portanto, neste caso, você precisa mantê-los disponíveis.

Não quero dizer disponível aos usuários, para que eles selecionem quando criarem páginas (você pode escondê-los), mas apenas como parte do código, como um legado.

Obs: Os content types podem estar acoplados a page layouts, então, assim que criar páginas, os campos (fields) de content types são exibidos nas páginas.

Preservar ou não preservar webparts?

Faça o que quiser com elas. Você pode excluir web part descriptors da galeria de Web Parts e ainda possuir referências em páginas, o que significa que você pode modificá-las ou excluí-las.

Tudo depende do look and feel / funcionalidades requeridas pelo Rebranding do web site. Se a webpart ainda fazer parte do propósito do novo Rebranding, mantenha-a, caso contrário remova-a.

Criar ou não criar navegações customisadas?

Cabe a você decidir o que vai na barra superior ou de inicialização rápida (quick launch). Claro que você não quer que os usuários vejam listas / bibliotecas (libraries) exibidas na navegação. Assim, você pode modificá-la para não exibir esses objetos por padrão.

Existem melhores práticas na criação de custom navigations. Você não quer iterar manualmente pelos sites e sub-sites para isso.

Use os objetos sob o namespace Microsoft.SharePoint.Publishing.Navigation, pois proporcionam um desempenho muito melhor ao manusear itens de navegação.

No MOSS 2007 e SP2010 a classe PortalSiteMapProvider deve ser usada para percorrer os nodes (que representam sites, páginas, links), enquanto que no SP2013 a classe TaxonomySiteMapProvider deve ser usada por se tratar do Metadata Service Application.

Usar ou não usar conteúdo reutilizável?

Claro que você pode usar um conteúdo reutilizável. Isto é totalmente recomendado em publishing sites!

Usando a lista de Reusable Content você pode criar HTML reutilizáveis ou textos reutilizáveis.

Na maioria dos sites as seções de cabeçalho e rodapé são compartilhadas e exibidas em todas as páginas, então por que não usar esse recurso?

Aderir ou não aderir a essa abordagem?

Não é raro se encontrar travado em dilemas quando customisar o SharePoint. Baseado na minha experiência, a minha recomendação é aderir às melhores práticas de SharePoint e recomendações do pessoal que realmente trabalha com a plataforma.

Dê preferência à artigos da Microsoft que mostrem como fazer. Se você não encontrar nada específico, converse com outros profissionais sobre o problema que você tem.

Espero que isso ajude. Caso você tenha um ponto de vista diferente, compartilhe.

[]’s,

Marcel

Referências:
http://support.microsoft.com/kb/898631
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.publishing.navigation.aspx
http://office.microsoft.com/en-nz/sharepoint-server-help/use-reusable-content-HA010163838.aspx

Clique aqui para ler o mesmo conteúdo em Inglês.

SharePoint 2013 Web Templates

Lista dos Web templates suportados no SharePoint 2013. Powershell script que ajuda a identificar Web Templates suportados no SharePoint 2013. A coluna Compatibility Level identifica a versão do SharePoint suportado.

Oi pessoal,

Se você precisa saber quais são os web templates suportados no SharePoint 2013, veja a seguinte lista:

ID

Name

Title

Compatibility Level

0

GLOBAL#0

Global template

14/15

1

STS#0 Team Site 14/15

1

STS#1 Blank Site 14/15

1

STS#2 Document Workspace 14/15

2

MPS#0 Basic Meeting Workspace 14/15

2

MPS#1 Blank Meeting Workspace 14/15

2

MPS#2 Decision Meeting Workspace 14/15

2

MPS#3 Social Meeting Workspace 14/15

2

MPS#4 Multipage Meeting Workspace 14/15

3

CENTRALADMIN#0 Central Admin Site 14/15

4

WIKI#0 Wiki Site 14/15

9

BLOG#0 Blog 14/15

15

SGS#0 Group Work Site 14/15

16

TENANTADMIN#0 Tenant Admin Site 14/15

17

APP#0 App Template 15

18

APPCATALOG#0 App Catalog Site 15

2764

ACCSRV#0 Access Services Site 14/15

N/A

ACCSRV#1 Assets Web Database 14

N/A

ACCSRV#3 Charitable Contributions Web Database 14

N/A

ACCSRV#4 Contacts Web Database 14

N/A

ACCSRV#5 Projects Web Database 14

N/A

ACCSRV#6 Issues Web Database 14

2757

ACCSVC#0 Access Services Site Internal 15

2757

ACCSVC#1 Access Services Site 15

7

BDR#0 Document Center 14/15

95

DEV#0 Developer Site 15

10000

DOCMARKETPLACESITE#0 Academic Library 15

3300

EDISC#0 eDiscovery Center 15

3300

EDISC#1 eDiscovery Case 15

14483

OFFILE#0 (obsolete) Records Center 14/15

14483

OFFILE#1 Records Center 14/15

40

OSRV#0 Shared Services Administration Site 14/15

3100

PPSMASite#0 PerformancePoint 14/15

3200

BICenterSite#0 Business Intelligence Center 14/15

20

SPS#0 SharePoint Portal Server Site 14/15

21

SPSPERS#0 SharePoint Portal Server Personal Space 14/15

21

SPSPERS#2 Storage And Social SharePoint Portal Server Personal Space 15

21

SPSPERS#3 Storage Only SharePoint Portal Server Personal Space 15

21

SPSPERS#4 Social Only SharePoint Portal Server Personal Space 15

21

SPSPERS#5 Empty SharePoint Portal Server Personal Space 15

22

SPSMSITE#0 Personalization Site 14/15

30

SPSTOC#0 Contents area Template 14/15

31

SPSTOPIC#0 Topic area template 14/15

32

SPSNEWS#0 News Site 14/15

39

CMSPUBLISHING#0 Publishing Site 14/15

53

BLANKINTERNET#0 Publishing Site 14/15

53

BLANKINTERNET#1 Press Releases Site 14/15

53

BLANKINTERNET#2 Publishing Site with Workflow 14/15

33

SPSNHOME#0 News Site 14/15

34

SPSSITES#0 Site Directory 14/15

36

SPSCOMMU#0 Community area template 14/15

38

SPSREPORTCENTER#0 Report Center 14/15

47

SPSPORTAL#0 Collaboration Portal 14/15

50

SRCHCEN#0 Enterprise Search Center 14/15

51

PROFILES#0 Profiles 14/15

52

BLANKINTERNETCONTAINER#0 Publishing Portal 14/15

54

SPSMSITEHOST#0 My Site Host 14/15

56

ENTERWIKI#0 Enterprise Wiki 14/15

6115

PROJECTSITE#0 Project Site 15

59

PRODUCTCATALOG#0 Product Catalog 15

62

COMMUNITY#0 Community Site 15

63

COMMUNITYPORTAL#0 Community Portal 15

90

SRCHCENTERLITE#0 Basic Search Center 14/15

90

SRCHCENTERLITE#1 Basic Search Center 14/15

N/A

SRCHCENTERFAST#0 FAST Search Center 14

61

visprus#0 Visio Process Repository 15

Onde:

14 – SharePoint 2010

15 – SharePoint 2013

 

A lista acima pode ser obtida pelo merge de resultados deste Powershell script:

Code Snippet
  1. $site = Get-SPSite "http://sv-w2012/sites/dev"
  2. $templateCol = $site.GetWebTemplates(1033)
  3. foreach($template in $templateCol)
  4. {
  5.     Write-Host $template.ID,$template.Name,$template.Title
  6. }
  7.  
  8. $site.Dispose()

Com o Commandlet:

Code Snippet
  1. Get-SPWebTemplate

 

Se você está criando Custom Web Templates, você vai precisar desta referência.

Espero que isso ajude.

[]’s,

Marcel Medina

Clique aqui para ler o mesmo conteúdo em Inglês.

MCT Summit Brasil 2012 - Feedback

MCT Summit Brasil 2012 - O evento foi sensacional, todas as apresentações foram de primeira. Foi muito legal encontrar outros MCTs, para compartilhar informações e experiências.

Oi pessoal,

O evento foi sensacional, todas as apresentações foram de primeira. Foi muito legal encontrar outros MCTs, para compartilhar informações e experiências.

Eventos como esse nos permitem entrar em contato com pessoas que fazem a mesma coisa que você. Com base nas experiências compartilhadas, você começa a pensar em coisas que venham a te ajudar no dia-a-dia.

Veja algumas fotos do evento:

All

Marcel Medina

Presentation

Sao Paulo

All

Todas as fotos podem ser vistas aqui.

Posso dizer que gostei pra caramba do evento, espero estar presente na próxima edição. Vamos ver.

Abaixo confiram o vídeo criado pela Microsoft que contém minha opinião sobre o evento:

MCT Summit Brazil 2012 from Marcel Medina on Vimeo.

[]'s,

Marcel Medina

Clique aqui para ler o mesmo conteúdo em Inglês.