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"&"
  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!

Meu próprio projeto CodePlex: Extensões de fluxo de trabalho para o SharePoint Designer

ATUALIZAÇÃO: Consulte aqui (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!310.entry) para as últimas notícias sobre este projeto.

Eu criei um CodePlex projeto hoje para casa a interface genérica SPD código que eu blogged sobre here (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!275.entry).

Dê uma olhada here (http://www.codeplex.com/spdwfextensions) Veja o projeto do CodePlex e chutar os pneus.

Se você está interessado em trabalhar comigo, disparar um e-mail no mailto:galvin.paul@gmail.com

SharePoint Designer — Atividade personalizada para executar funções user-defined c#

ATUALIZAÇÃO: Esta foi lançada para CodePlex aqui: http://www.codeplex.com/spdwfextensions

ATUALIZAÇÃO: Veja aqui para últimas notas de lançamento: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

ATUALIZAÇÃO: Veja aqui para meus pensamentos em comercializar este projeto: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Este projeto fornece uma atividade personalizada no SharePoint Designer. Usar essa atividade personalizada para invocar (expedição) qualquer função c# que você incorporado no assembly vinculado.

De final de outubro, 2007, Esta é apenas uma versão inicial do projeto. Eu pretendo expandi-lo com um número de funções adicionais, incluindo a subseqüência, índice, substituir, chamar serviços da web e qualquer coisa que pareça útil ou interessante. Eu também pretendo postar isso para codeplex, assim que eu tiver meu ato juntos nessa frente. Este também será implantável como uma solução em algum momento.

Se você tiver quaisquer comentários, dúvidas ou sugestões, por favor, deixem nos comentários ou mandar um e-mail.

Disclaimer:

Eu não faço absolutamente nenhuma reivindicação sobre a adequação do presente para qualquer finalidade. Use a seu próprio risco.

Etapas de instalação (a ser seguido para cada WFE na fazenda):

1. Baixe o. zip e extrair.

2. Instalar o arquivo. dll no GAC. Eu costumo abrir c:\WINDOWSassembly. usando o windows explorer e copiar lá.

3. Modificar Web. config para adicionar o assembly para os controles de segurança:

<System.Workflow.ComponentModel.WorkflowCompiler>
<Informações>

<a authorizedType Assembly = "SpdGenericInterface, Versão = 1.0.0.0, Cultura = neutro, PublicKeyToken = abe076fd8125f3c4" Namespace = "Nivlag" TypeName = "*" Autorizado = "True" />

4. Cópia "SpdGenericInterface.actions" a C:\Programa de ProgramasArquivos ComunsMicrosoft Sharedweb server extensions12TEMPLATE1033Workflow

Note que a localização acima é específica para instalações de língua inglesa.

5. Feche o SharePoint Designer (Se já está aberto).

6. iisreset

7. Abra o SPD e crie um novo fluxo de trabalho.

Se tudo correr bem, Você deve ser recompensado com uma nova categoria de ação:

imagem

Notas:

Consulte here (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) para uma excelente visão geral do processo para a criação de, Instalando e configurando uma solução como essa.

O. zip é projetado para extrair diretamente a você c:\ Dirigir. Se você fizer isso, Você pode abrir o projeto e todos os caminhos serão consistentes.

Para usar este no visual studio, Você provavelmente precisará instalar "Extensões para Windows WF".

O carregamento inicial contém apenas uma "função de despachante", "ToLower()". Para adicionar mais funcionalidade, adicioná-lo para o método Execute, como mostrado:

 protegido substituir ActivityExecutionStatus
          Executar(ActivityExecutionContext executionContext)
        {

            Cadeia de caracteres functionToDispatch;
            functionToDispatch = Isso.DispatchFunction.ToLower();

            interruptor (functionToDispatch)
            {
                caso "tolower()":
                    {
                        Isso.OutResult1 = Isso.InParam1.ToLower();
                        pausa;
                    }

                padrão:
                    {
                        Isso.OutResult1 = "Função desconhecida: [" + Isso.DispatchFunction + "].";
                        pausa;
                    }
            }

            Voltar ActivityExecutionStatus.Fechado;
        } // ActivityExecutionStatus

    }

Em seguida, re-compilar o projeto e copiar o assembly no GAC. Eu esperava que um iisreset seria necessário.

Ação personalizada de fluxo de trabalho do SPD – obter o <WorkflowInfo> direito de marca para evitar a frustração

Parte do processo de criação de uma ação personalizada para SharePoint Designer envolve criar um actions"" arquivo.

Eu encontrei e tentei usar um modelo de exemplo que começa como:

<?XML Versão="1.0" codificação="UTF-8" ?>
<
WorkflowInfo xmlns="http://schemas.Microsoft.com/SharePoint/">
<
Ações Seqüencial="Então" Paralelo="and">

No entanto, o atributo xmlns impede meu ambiente de trabalho. Minhas ações não aparecerem em SPD.

A solução é retirar o atributo xmlns, fazer um iisreset e fechar/re-livre SPD.

Rápido e simples: Configurar o MOSS para pesquisar uma biblioteca de documentos específica

Consulte a atualização (EU) abaixo (11/24/07) na Como configurar o Microsoft Office SharePoint Server 2007 para rastreamento rede pastas de pesquisa e índice

Objectivo: Eu quero executar uma pesquisa restrita a uma biblioteca de documentos específica. Neste caso, a biblioteca de documentos contém documentos de treinamento.

Passos:

1. Registre a URL da biblioteca de documentos.

2. Criar um escopo:

Ir para a administração central.

Acessar o SSP.

Vá para "Configurações de pesquisa".

Role para baixo até a seção de escopo e selecione "Exibir escopos".

Criar um novo escopo. Dar-lhe um nome e uma descrição útil.

3. Definir regras de rastreamento de escopo:

Adicionar uma regra que define a biblioteca de documentos para esse escopo.

Selecione "endereço de web" para "Tipo de regra de escopo".

Digite o nome da sua pasta (consulte #1 acima).

Aceite o valor padrão de "Incluir".

Esperar para o escopo de atualizar (ou iniciá-lo manualmente).

4. Ativar o escopo de um conjunto de sites.

Ir para sites onde você deseja usar este escopo.

Adicionar seu novo escopo para o grupo de exibição apropriado ou grupos.

5. Pesquisa!

Neste ponto, Já está. Supondo que o escopo é definido corretamente, estará disponível em escopos drop downs para pesquisas simples e avançadas, e quando você Pesquisar usando esse escopo, Você só terá resultados esperados.

Notas:

Eu escrevi esta entrada de blog porque minhas buscas para instalação simples escopo aparecido secam usando frases como:

  • configurar escopos em MOSS
  • configurar pesquisa escopo musgo
  • escopos no sharepoint 2007
  • escopos no sharepoint
  • Pesquisar um musgo de biblioteca de documento
  • musgo de primer de escopos

Você pode criar um escopo de Pesquisar em uma pasta, Não apenas a biblioteca documento inteiro.

Um escopo pode ser compartilhado entre vários conjuntos de sites (Portanto, um "serviço compartilhado").

Você pode criar o escopo no nível de coleção do site em si. No entanto, Eu prefiro ir para a central admin porque posso começar o rastreamento de lá. Você não pode iniciar o rastreamento do conjunto de sites.

ATUALIZAÇÃO (EU) a partir de 11/24/07:

Kai Shang montou que um ótimo post intitulado Como configurar o Microsoft Office SharePoint Server 2007 para rastreamento rede pastas de pesquisa e índice @ http://kaishenghoo.spaces.live.com/blog/cns!8A7458DB12CA5AC9!206.entry