Desenvolvendo soluções de branding em SharePoint 

Tags: SharePoint, SharePoint2010

 
Cada vez mais vemos as organizações a investir na imagem, na criação de uma marca que o público abrace e na qual se reveja. Há todo um processo desde definição de cores, tipos de letra, criação de logotipos, modelos de documentos, banners, web sites, entre outros.
 
Ao mesmo tempo, surgem também necessidades sociais como usabilidade e acessibilidade, que permitem atingir uma fatia mais abrangente do público, enquanto se respeitam valores sociais, e padrões de desenvolvimento.
 
Quando usamos plataformas colaborativas, como é o caso do SharePoint, podemos subdividir o desenvolvimento de soluções de branding em várias partes, sendo que tipicamente, encontramos dois cenários: desenvolver um design "simples" (tema) ou desenvolver toda uma solução de customização completa da aplicação web.
 
SharePoint Design Architechture

 

Para os requisitos deste post, vamos apontar o foco para a parte de "Development", considerando três pontos essenciais: aplicações, boas práticas e deployment.

 

1. Aplicações

Antes de começar, convém preparar todas as ferramentas que virão a ser necessárias.

 

1.1. SharePoint Designer
Já todos o conhecemos. Permite customizar directamente o esquema da master page (conteúdos vísiveis em todas as páginas), do page layout (conteúdos visíveis em uma página ou conjuntos de páginas) e da própria página.
É um recurso fundamental para a fase de teste-erro da CSS, desenvolvimento de rollups de conteúdos (DataViewWP, CQWP, CEWP), customização de formulários de inserção/visualização, etc, etc, etc.

SHAREPOINT DESIGNER 2007
SHAREPOINT DESIGNER 2010 32 BITS
SHAREPOINT DESIGNER 2010 64 BITS

Nota: O SPD 2007 só funciona com WSS3/MOSS2007 e o SPD 2010 só com SharePoint 2010. Para ter ambos, têm de ser instaladas as mesmas versões (x86/x64).

 


1.2 Firebug / IE Developer Toolbar

Entre muitas ferramentas, há sempre aquelas que usamos no nosso dia-a-dia, sem excepção. Se desenvolvemos para a web, o firebug estará certamente entre elas.

Desde inspecção de HTML/CSS, até cálculos de medidas e espaçamento, passando pelas chamadas HTTP a .JS, .CSS e .ASPX e injecção directa de html e javascript. Permite-nos saber com rapidez e exactidão onde encontrar o que queremos e definir as alterações necessárias, evitando demoradas fases de tentativa/erro.

Firebug

 

1.3 Outras apps

Outras aplicações úteis:

- Fiddler 2 - permite visualizar todas as chamadas HTTP, fazer troubleshoot de pedidos negados, injectar pedidos, etc.

- Screengrab - guardar toda a página, mesmo com scroll, num png

- YSlow, testes de desempenho e dicas para melhorar

- SuperPreview - testes IE6/7/8

 

 

2. Boas Práticas

 

2.1 CSS Reset: o estilo poderoso

 

Uma das práticas em voga é definir uma base de estilos e criar todo um sistema de herança por toda a CSS. Em vez de centenas de tamanhos de fonte, tipos de letra, espaçamento, etc., temos um estilo base (p.ex. Arial, 12, preto).

P.ex.

body { font-family: Arial; font-size:12px; color:#000000; }

 

Se tivermos um estilo de SharePoint que use Times 14px, podemos fazer:

 

.estilosp { font-family: inherit; font-size:inherit; }

 

Se quisermos um tamanho de texto diferente, em vez de colocar um tamanho fixo, colocamos antes um derivado:

.estilosp { font-size:1.5em; }//1.0em = 100% do valor herdado

 

 

Esta forma de desenvolvimento da CSS permite:

- One-touch style change. Basta mudar o 12px para 14px ou Arial para Times e todo o site irá adequar-se.

- Não haverá estilos soltos e repetitivos. É bom para a rapidez nas alterações, para a usabilidade e mesmo para a acessibilidade.

 

 

2.2 Estruturar a CSS

Uma correcta apresentação da folha de estilhos provar-se-á útil para encontrar estilos e para ser compreendida por terceiros.

CSS Example

 

2.3 Adicionar comentários (úteis!) sempre que possível

Convém sempre definir um esquema de ordenação dos estilos (eu prefiro uma análise top-down, inserindo estilos desde o globalbreadcrumb, passando pelo globaltitle, e por fim o maincontent).

Comentários curtos e concisos, evitando informação óbvia e/ou desnecessária (aqui alguns exemplos do que não fazer!).

 

2.4 Comprimir CSS/JavaScript

O YUI Compressor permite remover comentários, espaços, linhas brancas, entre outros, e criar um output de igual funcionalidade, com elevados benefícios de espaço.

 

Basta ter o java runtime instalado e obter o arquivo yuicompressor-2.4.2.jar.

 

Para comprimir um arquivo CSS/JS:

 

java -jar yuicompressor-2.4.2.jar theme_uncompressed.css -o theme.css

 

yui compiler

 

2.5 Usar CSS!

Muitas alterações à master page podem ser resolvidas com modificações por CSS. Isto concede vários benefícios:

  • Desempenho da página
  • Alterações no próprio documento CSS (sem chekin/checkou, publish, etc.)
  • Evitar inline styles (que não passam em alguns validadores html)
  • Funcionalidade cross-template. Alterações à master não se propagam para os restantes site templates.
  • Maior facilidade nos testes cross-browser
  • Possibilidade de compile/minimize
  • Alterações em estilos repetidos podem ser sobrepostas com o parâmetro !important.

 

 

3. Deployment

Depois do design montado, normalmente em Photoshop, Expression, etc., chega a hora de partir para o desenvolvimento da solução. Pessoalmente, gosto de trabalhar com features, tirando partido de um deliverable composto (WSP +  SharePoint Solution Installer).

SharePoint Solution Installer

Entre outros parâmetros, podemos indicar a obrigatoriedade de requisitos mínimos (WSS/MOSS), nome da WSP, nome da solução, versão, logotipo.

 

No SP2010, enquanto não há Solution Installer, temos sempre PowerShell para gerar um instalador. Além disto, podemos usar PowerShell com Windows Remoting para fazer o deploy de soluções remotamente!

 
 
4. Criar uma solução de design / tema
 
Para quem quer criar um tema para SharePoint, aconselho vivamente a darem uma vista de olhos no vídeo do Chris Auld, que explica ao detalhe como criar um tema usando features e rootfiles.
Estes temas, em SharePoint 2007, funcionam em SharePoint 2010, caso a master seja alterada para a Default.master, que é uma master page V3. No entanto, é apenas um suporte de retro compatibilidade, ficando o layout do 2010 igual ao do 2007.
 
Sendo assim, para criar um tema que funcione em SharePoint 2010, com layout efectivamente do 2010, como o método web.ApplyTheme() apenas copia a pasta do tema da 12 para a _themes da site collection (não adiciona a referência da CSS), temos que arranjar outra forma de dizer à master para usar a nossa folha de estilos (theme.css), como por exemplo:
web.AlternateCssUrl = "/_themes/" + theme + "/" + "theme.css";
Com isto podemos criar temas como antes, e com a funcionalidade de activação nas site features.
Os novos "temas" na minha opinião são demasiado simplistas e explicam-se por si mesmos, dado que não serão abordados com em pormenor. Permitem alterar 12 cores e 2 tipos de letra, o que para quem não sabe CSS até é bom, mas acabam por ser demasiado limitativos. Na palete de cores temos, na horizontal, as cores Dark1, Light1, Dark2, Light2, seguido dos Accents 1 a 6. Na vertical, temos as variantes da mesma cor: no topo temos a cor base, seguido dos derivados, lightest, lighter, medium, darker, darkest.
 
SP2010 Themes
 
 
O desenvolvimento de uma solução de branding pode ser dividido em três partes: design, produção e instalação. Convém existir sempre um certo nível de abstracção entre estas etapas, até porque muitas vezes vão ser implementados por grupos de pessoas diferentes (Designer, Developer, IT Pro). No entanto, é comum cada um dos grupos ter "SharePoint Awareness", para facilitarem as tarefas uns dos outros.
 
 
4.1. Design
 
Para criar um design atractivo, e enquadrado às necessidades de cada situação, convém ter algumas noções de usabilidade, ter creatividade, e experiência de tratamento de imagem. Um bom starting point são as PhotoShop templates do making SharePoint Look Good. Além de PhotoShop, é comum usar outras aplicações como Expression Design, SharePoint Designer, entre outros.
 
PhotoShop Template
 
 
 
4.2. Produção
 
Nesta fase, dar-se-á a implementação do design. Separação de imagens, desenvolvimento da CSS associada, e criação de features. Aqui vamos certamente usar SharePoint Designer, Visual Studio, FireBug, etc.
 
 
Theme Feature
 
Se criarmos um tema "Tester" através de uma feature, vamos precisar de:
  • Tester.inf com informação de nome, versão e LCIDs
  • thTester.bmp, com preview do tema para aparecer na lista de temas
  • theme.css com a CSS desenvolvida
  • testerlogo.gif, se quisermos atribuir um logo à feature
  • Todas as imagens utilizadas na CSS (1033\Images\Tester)
 
Podem ver aqui como criar um tema em 5 minutos!
 
 
 
 
4.3. Instalação
 
A fase de instalação significa o deployment na solução no servidor. Normalmente, é feito usando a Central Admin, sendo para isso preciso um add-in para criar a funcionalidade de upload de WSPs; ou então usando SharePoint Solution Installer já referido.
 
 
SP WSP Add-in
 
 
 
Recursos
 
Performance tips: URL time savingCoding SPList
Validação: HTML, CSS
 
Tiago Duarte
 
Posted em 16-Aug-10
2 Comentários  |  Trackback Url  |  Link para este post | Bookmark este post com:        
 

Links para este post

Comentários


Mário Bouto comentou em Thursday, 19-Aug-2010
Finalmente! Um post sobre branding!!!! Muito útil, Tiago Obrigado!


Ricardo Magalhães comentou em Friday, 17-Sep-2010
Um post importante também para developers, para melhor entender as implicações do trabalho de design. Bom trabalho Tiago.

Nome:
URL:
Email:
Comentário: