Monday, November 02, 2009

Alterar "Welcome" Control


Autor:André Lage
Publicação:__________
Download:Documento
(EN)TranslateLink

Alterar "Welcome" Controlo


Quando estamos a realizar uma apresentação das funcionalidade do SharePoint, quer seja um cliente ou conferência a pergunta alguém realizar, como alterar as propriedade do Control "Welcome", para dar um aspecto mais personalizado e mais amigável a empresa ou instituição que estamos a implementar intranets de SharePoint. 

Sim é possível, mas obriga a um conhecimento e alteração da solução no servidor e definições de regras bem definidas.

Personalizar novas Funcionalidade



Por defeito o control Welcome encontra-se na pasta de instalação do nosso SharePoint por defeito encontra-se em "C:\.....12\template\ControlTemplates\welcome.ascx".
Se queremos personalizar ou criar um novo ascx, recomendo criar um pasta onde ficam os nossos desenvolvimentos, essa pasta convem ter um nome sugestivo para rapidamente identificar ser um desenvolvimento a medida,neste caso chamei "CustomWelcome" como podia ter dado o nome da empresa onde irei implementar, tendo copiado o ficheiro Welcome.ascx para essa pasta  para começar a realizar as alterações que pretendemos.

Porque criar uma nova pasta?  
Todas as pessoas fazem erros sendo necessário ter sempre o ficheiro base como apoio.
Quando criamos o nossa solução WSP, por norma eu organizo as minhas soluções em pastas de maneira a diferenciar o que desenvolvi de outras soluções desenvolvidas.
Se alterar-mos o ficheiro "Welcome.ascx" base, isto teria impacto em todos os outros sites de SharePoint, não é isto que pretende-mos.
A ultima razão para não alterar o ficheiro "Welcome.ascx" base, sempre que é instalado um service Pack, todos os ficheiros de SharePoint que são instalado originalmente do SharePoint são alterados para deixar como estavam por defeito, perdendo todas as configurações que foram realizados.




Depois de copiar o ficheiro, podemos editar o ficheiro onde podemos visualizar as diferentes opções que o Controlo "Welcome" fornece como, 

-Sequência do Menu
-Imagem da opção do Menu
-Descrição
-Texto
-Eventos de Javascript 
-Validação com Permissoes de SharePoint

Com estas opções podemos realizar as alterações para tornar a interacção dinâmica e com mais funcionalidades para o utilizador. 


Para adicionar o novo controlo acessível na páginas de SharePoint Welcome", será necessário abrir o nosso Sharepoint Desinger e a masterpage onde se encontra o controlo "Welcome", por defeito a masterpage de sharepoint está em "_catalog\masterpage\default.master" 
Depois de abrir a página será necessário alterar o caminho antigo da Welcome.ascx para o novo caminho.

Exemplo:


Se quiserer-mos invocar o resource do objecto Welcome que esta embedded em "Welcome [username]", podemos utilizar o objecto "SPResource.GetString("WelcomeUser",new object[] {name});", ou podemos alterar através de javascript, para ajudar ao nosso desenvolvimento podemos usar como apoio o Internet Explorer Developer Toolbar, esta aplicação é muito prática para identificar e validar html e id associados aos control asp.net que existem no site de SharePoint e para utilizar no javascript.
Exemplo:
<script type="text/javascript">
        function ChangeWelcome() {
            var x = document.getElementById('zz7_Menu');
           x.innerHTML="Empresa XPTO,";
</script>


<BODY scroll="yes" onload="javascript:if (typeof(_spBodyOnLoadWrapper) != 'undefined') { _spBodyOnLoadWrapper(); ChangeWelcome(); }">





Nota:
"Wictor Willen" desenvolveu um control para ajudar a renomear o texto que existe por defeito no objecto "Welcome" controls, de onde deriva-mos do control "Welcome" e mudamos o conteúdo a ser alterado.
Este exemplo é uma base de trabalho.  
namespace CustomWelcome {
     public class Welcome : Microsoft.SharePoint.WebControls.Welcome {
         protected Welcome() {
         }
          [SharePointPermission(SecurityAction.Demand, ObjectModel = true)]
          protected override void OnLoad(EventArgs e) {
              base.OnLoad(e);

             if (HttpContext.Current.User.Identity.IsAuthenticated) {
                 PostCacheSubstitutionText pt = base.ExplicitLogout.MenuControl.Controls[0] 
                                                as PostCacheSubstitutionText;
                 pt.TextType = PostCacheSubstitutionTextType.UserName;
          }
      }
}
} 
Artigo Base para apoio e alteração do Welcome control.

Espero que gostem de mais este artigo, irei lançar uma 2ª versão deste Artigo a fornecer algumas ajudas em  como se pode derivar estes controlos e outros para cumprir as regras de Acessibilidade em sites de SharePoint....
Um grande abraço.

Post a Comment