arquivos Mensais: Junho 2011

Deixe brilhando exemplos Lead the Way a crescente adoção de SharePoint

Minha primeira entrada no blog BrightStarr "pura" foi publicada hoje.  Aqui está um teaser:

Tem havido muita conversa sobre as Internets da tarde sobre o tema da adopção de SharePoint e especialmente a falta dela. Ninguém quer ir para todos os problemas de criação de uma infra-estrutura de segurança e fazenda, participar de oficinas, reunindo uma aparência snazzy, trabalhar fora uma arquitetura de informações sólidas de rocha que pode suportar as vicissitudes da empresa re-orgs e finalmente, um lançamento cheio de fanfarra apenas para descobrir três meses post ativação que menos de 50% da empresa os funcionários estão usando o SharePoint e a maioria deles está usando para substituir os antigos servidores de arquivos de rede ("o s:\ unidade").

Bala de prata (ou único blog post) vai resolver esse problema. No entanto, Há muitas coisas que você pode fazer para reduzir o risco de um portal SharePoint anêmico. Uma tal técnica é o "Shining exemplo padrão."

Gostaria muito de saber sobre outras estratégias de adoção do SharePoint que você gostaria de compartilhar.  Se você compartilhar, por favor, deixe um comentário no blog BrightStarr.

Leia tudo aqui: http://www.brightstarr.com/US/Pages/blog-view.aspx?BlogID=52

</fim>

Subscreva ao meu blog.

Siga-me no Twitter em http://www.twitter.com/pagalvin

"Acesso negado” para Default. aspx em um SharePoint 2010 Subsite

Um dos meus clientes passou ao vivo com seu SharePoint 2010 ambiente hoje.  Descobrimos que um determinado grupo de usuários não poderia acessar sua home page padrão.  SharePoint respondeu com "Acesso negado" e o habitual "logon como outro usuário" ou "solicitação de acesso" resposta. 

Quando usamos a função "Verificar acesso" bacana confirmou que os usuários finais realmente teve acesso.  Ainda, eles não poderiam obter a página.

Eu segui um monte de estradas para diversos impasses até que eu decidi comparar as web parts na página quebrada contra uma página de trabalho semelhantes.  Eu fiz isso colocando a página no modo de manutenção, adicionando"?conteúdo = 1 "para a página. Assim, parecia que "http://Server/subsite/subsite/Default.aspx?conteúdo = 1 ". 

Isso me mostrou duas web parts denominados "Erro" com uma descrição como "Erro" na página quebrada.  Eu não acho que ter uma tampa de tela no momento.

Eu removi-los e que o problema foi resolvido.

Eu vi uma pergunta como essa vêm até em fóruns no passado e eu era muito cético sobre a insistência do poster que ele tinha segurança definida corretamente.  Eu * sei * eu tinha segurança configurar direito Sorriso  Próxima vez, Eu vou ser mais aberta e menos cético.

</fim>

Subscreva ao meu blog.

Siga-me no Twitter em http://www.twitter.com/pagalvin

Amostras de XSLT e jQuery

Eu tenho feito muita de XSLT e jQuery e pensei que iria partilhar alguns trechos que outros podem ser úteis no futuro.

Exemplo 1: Emit simples do JavaScript / jQuery em XSLT:

<XSL:jogo de modelo = "algo" XML:Space = "preserve">

  <!– Espaço em branco fora da consulta amigável filtra campo oculto –>
  <script type = "text/javascript">
    $(documento).pronto(função(){
      $("#QueryFriendlyFilters").Val("vazio");
    });
  </script>

</XSL:modelo>

Esse bit emite algum JavaScript que aguarda concluir Carregando a página (devido a $(documento).pronto(…)) e, em seguida, define o valor de um campo oculto chamado QueryFriendlyFilters para o valor literal "vazio".

Exemplo 2: Utilização <XSL:se> para verificar a "maior que",  "menor que", etc.

<XSL:jogo de modelo = "algo" XML:Space = "preserve">

  <div id = "fdcAllFilters">
 
    <XSL:se test="@Count>0">
      <span class = "fdcFilterLabel">Filtros atuais:</extensão>
    </XSL:se>

    <!– mais coisas acontece aqui. –>

</XSL:modelo>

O trecho acima verifica se um atributo chamado "Contar" do elemento "algo" é maior que zero.  O XML por trás disto seria algo como:”

<algo Count = "5" />

Exemplo 3: Percorrer todos os elementos, intercalando chamadas de jQuery.

<!– Iterar em todos os filtros e exibir o correto  ligações. –>
<XSL:for-each selecione = "UserFilter">

  <uma classe = "FilterHref" href = "javascript:mySubmitPage('RemoveUserFilter','{@ ID}’)">[X]</uma>

  <span class = "fdcFilterLabel"><XSL:valor de select="@FilterValue"/></extensão>

  <script type = "text/javascript">

    $(documento).pronto(função(){
        <XSL:texto><![CDATA[$("#QueryFriendlyFilters").Val( ($("#QueryFriendlyFilters").Val() + " ]]></XSL:texto>\"<XSL:valor de select="@FilterValue"/>\"<XSL:texto><![CDATA["));]]></XSL:texto>
    });

  </script>

</XSL:for-each>

O trecho acima é a mais complexa e pode haver maneiras mais fácil de fazê-lo.

O XML por trás disso fica mais ou menos assim:

<UserFilter ID = "123" FilterValue = "xyzzy" />

Este trecho é iterar através de <UserFilter> nós. 

Ele primeiro emite uma âncora tag que quando clicado chama uma função JavaScript que já está na página, "mySubmitPage" e passa o valor de um atributo o <UserFilter> nó chamado "ID". 

Ele, em seguida, emite algum jQuery que aguarda carregar a página.  Esse jQuery atualiza um campo oculto chamado "QueryFriendlyFilters", adicionando o valor do atributo FilterValue.  Observe o louco <XSL:texto> and <![CDATA[ … ]]> coisas.

É isso, esperança que aquilo ajuda!

</fim>

Subscreva ao meu blog.

Siga-me no Twitter em http://www.twitter.com/pagalvin