arquivos Mensais: Novembro 2007

Você não pode bater o alcance do SharePoint

Durante os últimos dois dias, Já participei de duas reuniões durante as quais apresentamos os resultados de um projeto do SharePoint. O CIO e a sua equipa juntou-se a primeira reunião. Isso é padrão e não especialmente notáveis. O departamento de ti está obviamente envolvido em uma implantação de empresa de qualquer projeto de tecnologia. A segunda reunião expandida para incluir um Valeriano. de marketing, vários diretores representando HR, Logística, De fabricação, Capital de projetos, Qualidade, Comprar, Desenvolvimento corporativo e outros departamentos (alguns dos quais não estavam diretamente envolvidos na fase atual). É um público muito amplo.

Na minha vida anterior, Trabalhei principalmente em projetos ERP e CRM. Ambos têm um domínio de solução bastante ampla, mas não tão amplo como o SharePoint. Para ser plenamente realizados, Projetos do SharePoint legitimamente e necessariamente atingem em cada canto e recanto de uma organização. Quantas outras soluções empresariais têm que tipo de alcançar? Não há muitos.

SharePoint, claramente, representa uma enorme oportunidade para aqueles de nós sorte de estar neste espaço. Ele fornece uma grande oportunidade de técnica (que de alguma forma está ligado a sua cabeça here em "Tecnologias você deve dominar"). Mas ainda melhor, SharePoint nos expõe a uma extensa e ampla gama de processos de negócio através destes compromissos. Quantos especialistas em CRM trabalham com o lado de fabricação da empresa? Quantos consultores ERP trabalham com recursos humanos na aquisição de talentos? SharePoint excede os dois.

Como qualquer coisa, não é perfeito, mas é um danado de bom lugar para ser.

Pelo amor de [Preencha seu mais amado sendo pessoa/superior], Não mude o ' título’ coluna do site.

Sobre o Fóruns de SharePoint, ocasionalmente, alguém pergunta sobre "mudar o rótulo do título" ou sobre "remover título de listas".

Linha inferior: Não faça isso!

Infelizmente, a interface do usuário permite uma mudança unidirecional desse rótulo de coluna como mostrado:

imagem

Título é uma coluna que está associada com o Item"" tipo de conteúdo. Muitos, muitos, muitos CT usa esta coluna e se você alterá-lo aqui, -ondulações por todo lado. Há uma boa chance que você não pretendia que isso acontecesse. Você provavelmente estava pensando para si mesmo, "Eu tenho uma lista de pesquisa personalizada e ' título’ Não faz sentido como um nome de coluna, Então eu vou alterá-lo para ' código de Status’ e adicionar uma coluna de descrição." Mas se você segue com esse pensamento e renomear ' título’ 'Código de Status', título de cada lista. (incluindo bibliotecas de documentos) alterações ao código de Status"" e você provavelmente Não queria que isso acontecesse.

O verdadeiro problema é que se trata de uma mudança de sentido única. "Sabe que a interface do usuário" esse título"" é uma palavra reservada. Assim, Se você tentar alterar o código de Status"" volta para o "Título", Isso impedirá que você e agora você pintou-se em um canto using paint that never dries 🙂

Então o que acontece se você já mudou? Eu não vi a resposta que todos queremos, que é um método simples e fácil mudar o rótulo de volta ao 'Título'. Agora, o melhor conselho é mudá-lo para algo como "Doc/Item título". Isso é um rótulo genérico o suficiente que não pode ser demasiado chocante para os usuários.

Tenho algumas outras idéias que estão na minha lista de coisas para pesquisa:

  • Entre em contato com a Microsoft.
  • Fazer algo com o modelo de objeto, Talvez em conjunto com uma característica.
  • Descobrir o esquema de banco de dados e atualizar manualmente SQL. (Você deve contatar a Microsoft antes de fazer isso, embora; Isso provavelmente irá anular o seu contrato de suporte).

Se alguém sabe como resolver isso, por favor, poste um comentário.

Atualização de fim de tarde, 11/15: Encontrei este link que descreve um método para criar um tipo de lista que não tem um coluna de título: http://www.venkat.org/index.php/2007/09/03/how-to-remove-title-column-from-a-custom-list/

BDC ADF e seu amigo, CDATA

Tenho notado um estranho e desnecessário mão-codificação de RdbCommandText em alguns exemplos (incluindo documentação do MSDN).

Eu queria salientar aos recém-chegados para BDC que comandos podem ser empacotados dentro de uma tag CDATA no seu natural"" formulário. Assim, Esta construção estranha:

<Propriedade Nome="RdbCommandText" Tipo="System.">
SELECT dbo.MCRS_SETTLEMENT.ID, dbo.MCRS_SETTLEMENT.Settlement de dbo.MCRS_SETTLEMENT
ONDE (ID &gt;= @MinId) E (ID &lt;= @MaxId)
</Propriedade>

pode ser melhor representado desta forma:

<Propriedade Nome="RdbCommandText" Tipo="System.">
<![CDATA[
SELECT dbo.MCRS_SETTLEMENT.ID, dbo.MCRS_SETTLEMENT.Settlement de dbo.MCRS_SETTLEMENT
ONDE (ID >= @MinId) E (ID <= @MaxId)
]]>
</Propriedade>

</fim>

BDC Primer

Introdução à BDC

Exemplo funcional: BDC ADF que se conecta ao banco de dados SQL com incorporado usuário id e senha

Eu precisava para conectar a um banco de dados SQL via BDC MOSS. Para fins de teste/POC, Eu queria incorporar o SQL conta usuário id e senha no ADF. Começando com Este modelo (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), Eu criei um ADF que se conecta a uma instância específica do SQL server e registra com um id de usuário específico e senha e mostrado neste trecho:

  <LobSystemInstances>
    <LobSystemInstance Nome="ClaimsInstance">
      <Propriedades>
        <Propriedade Nome="AuthenticationMode" Tipo="System.">PassThrough</Propriedade>
        <Propriedade Nome="DatabaseAccessProvider" Tipo="System.">SqlServer</Propriedade>
        <Propriedade Nome="Fonte de dados RdbConnection" Tipo="System.">instância de serveractual real</Propriedade>
        <Propriedade Nome="Catálogo de RdbConnection inicial" Tipo="System.">catálogo inicial real</Propriedade>
        <Propriedade Nome="RdbConnection integrado de segurança" Tipo="System.">SSPI</Propriedade>
        <Propriedade Nome="RdbConnection pool" Tipo="System.">falso</Propriedade>

        <!-- Estes são os valores chaves: -->
        <Propriedade Nome="ID de usuário RdbConnection" Tipo="System.">umaReal ID de usuário</Propriedade>
        <Propriedade Nome="Senha RdbConnection" Tipo="System.">real senha</Propriedade>
        <Propriedade Nome="RdbConnection Trusted_Connection" Tipo="System.">falso</Propriedade>

      </Propriedades>
    </LobSystemInstance>
  </LobSystemInstances>

Não é uma prática recomendada, Mas é útil para uma configuração rápida e simples para testes. Isso foi surpreendentemente difícil de descobrir. Eu nunca encontrei um exemplo funcional com Pesquisar palavras-chave:

  • ADF incorporado a ID de usuário e senha
  • incorporar a id de usuário e senha no adf
  • incorporar a id de usuário e senha no adf bdc
  • cartilha de bdc do SharePoint
  • SharePoint incorporar a id de usuário e senha no adf

</fim>

Subscreva ao meu blog.

Ações de fluxo de trabalho personalizado do SPD — Aprimoramentos de manipulação de seqüência de caracteres

Há uma semana, Eu comecei um projeto codeplex que fornece um método simples e razoavelmente genérico para adicionar funções de ação personalizada para fluxo de trabalho SharePoit Designer. Ele está descrito aqui: http://www.codeplex.com/spdwfextensions. Além de simplesmente oferecer um quadro, visa também fornecer um conjunto de funções úteis que dá SPD útil/flexível/força..

Aqui estão os recursos planejados atuais versão 1.0: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

Se alguém tiver algum interesse neste projeto, por favor, deixe um comentário ou iniciar/adicionar a uma discussão aqui: http://www.codeplex.com/spdwfextensions/Thread/List.aspx

Aqui estão o atual conjunto de funções que tenham sido codificados (Embora não totalmente testado a partir de 11/08/07):

Função Descrição (Se não mesmo como função do .net)
Num-entradas() Retorna as números "entradas" em uma seqüência de acordo com um delimitador especificado.

Por exemplo: Num-entradas em uma seqüência de caracteres "a,b,c" com delimitador"," = 3.

Entrada() Retorna o enésimo token em uma seqüência de acordo com um delimitador especificado.
Comprimento Length
Substituir() Replace()
Contém() String. Contains()
Retorna a palavra "verdadeiro" ou a palavra "falso".
Substring(Início) Substring(Início)
Substring(Início,fim) Substring(Início,fim)
ToUpper() String. ToUpper()
ToLower() String. ToLower()
StartsWith() StartsWith()
Retorna a palavra "verdadeiro" ou a palavra "falso".
EndsWith() EndsWith()
Retorna a palavra "verdadeiro" ou a palavra "falso".

Rápido & fácil url codificação utilidade desktop

Eu tenho precisado de url-codificar algumas cadeias de caracteres esta semana e deu um tapa juntos um um pequeno utilitário que eu pensei que eu iria colocar SkyDrive para a Comunidade.

Obter o binário aqui: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncode.zip

Obtenha aqui a solução de visual studio: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncodeVS2005.zip

Aqui está uma captura de tela:

imagem

Rápido e fácil: Inserir um hiperlink em web part do modo de exibição de dados XSLT

ATUALIZAÇÃO (01/17/08): Esta entrada de blog fala sobre o hiperlink mais bondade XSL: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.

Visão geral e objectivo: Eu tinha criado um gráfico de barras simples para servir como componente em um painel de controle. Eu vou guardar os detalhes na construção de cartas náuticas para outro post, Mas eu não inventei essa técnica (Nem o ponto de interrogação, para que o assunto). Verificou-se houve um erro no quadro e, enquanto eu fixo que, Eu aproveitei a oportunidade para converter alguns rótulos em hiperlinks que apontaram para a lista subjacente por trás do gráfico. Por exemplo, Não há uma etiqueta com o valor de "Hold". Eu queria virar o rótulo em um hiperlink para que o usuário pode clicar nele e detalhar as entradas específicas na lista cujo valor de status é "Hold".

Passos:

  1. Estúdio visual de uso para SharePoint-ciente intellisense.
  2. Copie XSLT do DVWP no visual studio (criar um projeto em branco, Adicionar um arquivo XSL para o projeto).
  3. Copie o link que você deseja usar para a área de transferência.
  4. Colá-lo no local certo na XSL.
  5. Converter separadores de argumento URL na seqüência de consulta de"&" para"&amp;"
  6. URL-codifica argumentos individuais.
  7. Envoltório que dentro de um <a href…> </uma>

Exemplo:

Eu tenho uma URL:

http://[servidor]/[site]/Lists/Open Positions/AllItems.aspx?Vista ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = recrutador&FilterValue1 = Hold

Eu convertê-lo em:

     <uma href="Lists/Open Positions/AllItems.aspx?Vista = % 7b84EEA2F5-121B-40B7-946F-
0FA704A1DAA1 7% d&amp;FilterField1 = recrutador&amp;FilterValue1 = Hold"> Segure: </uma>

Eu manualmente têm transformado o primeiro argumento de:

{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}

Para:

%7b84EEA2F5-121B-40B7-946F-0FA704A1DAA1 7% d

(No presente, as transformações de abrir chave de 7b % e o fechamento cinta transformações para 7% d)

Os segundo e terceiros argumentos’ parâmetros ("FilterField1 =Recrutador" e "FilterValue1 =Segure" respectivamente) Não precisa ser codificado de url porque eles não contêm qualquer caracteres não seguros.

Notas:

Esta técnica geralmente deve funcionar em qualquer lugar que você deseja inserir um hiperlink em XSLT onde o hyperlink inclui parâmetros na URL, tais como:

http://[servidor]/[site]/Lists/Open Positions/AllItems.aspx?Vista ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = recrutador&FilterValue1 = Hold

Eu tenho a URL própria acessando a lista personalizada e filtragem manualmente na coluna status (rotulado "recrutador" acima).

Rápido e simples: Habilitar o fluxo de trabalho do SharePoint Designer atualizar um formulário do InfoPath

Cenário: Eu tenho um formulário do InfoPath que front-ends ' um processo de fluxo de trabalho implementado usando o SharePoint Designer. Em um ponto, um gerente deve aprovar a forma. Desde então eu não posso contar sobre a história do fluxo de trabalho para atender às minhas necessidades de auditoria, Eu decidir armazenar minha própria mensagem de auditoria diretamente no próprio formulário.

Visão geral:

Crie um formulário e publicá-lo como um tipo de conteúdo e o próprio formulário em uma biblioteca de documentos. Marca desejada de campos de formulário como sendo atualizável de MOSS. O formulário está vinculado ao tipo de conteúdo e o tipo de conteúdo é "conectado" uma biblioteca de formulários (ou muitos, Se você quiser). Escrever um fluxo de trabalho que atualiza o campo.

Etapas específicas:

  1. Criar uma biblioteca de documentos. Este irá realizar seu modelo do InfoPath.
  2. Criar uma biblioteca de formulários.
  3. Criar o formulário do InfoPath. Incluem um campo de texto, "Mensagem de auditoria".
  4. Publicar o formulário como um tipo de conteúdo (NÃO um documento).
  5. Ao preencher as caixas de diálogo de publicação:
    uma) Salve o arquivo. xsn na biblioteca de documentos (etapa #1).
    b) Publicar a mensagem de auditoria"" de campo e marcar verdadeiro: "Permitir que usuários editem dados neste campo usando uma folha de dados ou propriedades de página".
    c) Criar um novo tipo de conteúdo e dê a ele um nome apropriado.
  6. Acessar a biblioteca de formulários.
    uma) Ir para suas configurações avançadas e ativar a biblioteca de formulários gerenciar tipos de conteúdo.
    b) Selecione o tipo de conteúdo recém-criado (5c acima). -Será agrupada sob "Microsoft InfoPath" (ou similar).
    c) Remover o padrão "formulário" tipo de conteúdo da biblioteca.
    d) Marcar a biblioteca para "Exibir como página da web" para que o formulário vai lançar do SharePoint e não no cliente de estação de trabalho do InfoPath.
  7. Voltar para a biblioteca de formulários apropriada e clique em "nova" simplesmente verificar se o formulário é Postado corretamente e agindo como você quer.
  8. Fire up SharePoint Designer e navegue até o site que hospeda a sua biblioteca de formulários (da etapa 2).
  9. Criar um novo fluxo de trabalho anexado à biblioteca de formulários.
  10. Adicionar uma única ação "Definir campo no Item atual". Você deve esperar o SharePoint Designer para lista seu campo de, "Mensagem de auditoria". Atribuir um valor.
  11. Clique em Concluir e voltar para a biblioteca de formulários.
  12. Criar um novo formulário e colocar algum valor de teste para a mensagem de auditoria"" campo.
  13. Salvá-lo e voltar para a biblioteca de formulários.
  14. Clique com botão direito, Selecione "fluxo de trabalho" e seu fluxo de trabalho de inicialização.
  15. Ele deve ser executado quase imediatamente. Puxe o formulário (da etapa 12) e se tudo tiver corrido para planejar, "Mensagem de auditoria" foi atribuído o valor que você forneceu na etapa 10.

Notas:

Nem todos os controles podem ser configurados para esta comunicação bi-direcional. Por exemplo, Não parece implementar um fluxo de trabalho do SPD que modifica os campos de texto empacotados dentro de seções de repetição.

Um da chave take-away aqui é que nós realmente criamos um tipo de conteúdo com um modelo associado. Isso também nos permite armazenar vários modelos de formulário do InfoPath, na biblioteca da mesma forma.

Isto requer servidor de formulários. Certamente não vai funcionar em um WSS 3.0 ambiente e provavelmente ainda requer um ambiente do SharePoint Enterprise.

O Beagle desembarcou (Outubro 2007 questão)

(Este é na verdade um pouco velhas notícias, Mas como meu lema favorito de bombeiros proclama, "Antes tarde do que nunca").

Confira aqui: http://www.sharepointbeagle.com/

Se você ainda não tiver, Certifique-se de Inscrição.

É claro, Certifique-se de ler meu artigo sobre um projeto do SharePoint do mundo real (incluindo a definição de requisitos, Do KPI, tipos de conteúdo, painéis de controle e muito mais) bem como do meu colega artigo sobre a web part de consulta de conteúdo.

Também há outras coisas boas..

Como remover “Ver todos os conteúdo do site” link

Que me fizerem essa pergunta quase toda semana., normalmente no contexto de uma discussão de segurança. Um criador de administrador/site tiver configurado um site, segurança configuradas, arranjado web peças e personalizou o lançamento rápido para fornecer a esse conjunto de oh-assim-perfeito de opções para o usuário final. Mas, fora da caixa, Você não pode remover o "ver todo conteúdo do site" link.

Mark Wagner fornece a resposta here (http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=36). Seu write-up é ótimo em dois níveis. Ele fornece uma resposta para a pergunta, "Como faço para remover a exibir todo conteúdo do Site" link? Em seguida, Ele responde a pergunta da continuação imediata: Como habilito o todo conteúdo do site link em uma base por local de Visualizar facilmente?

Como um bônus.: Sua abordagem funciona para WSS, Não só o musgo.

</fim>

Subscreva ao meu blog!