arquivos Mensais: Outubro 2007

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

Nenhuma sopa para você! É Cisco produtos Soup Nazi do NLB?

Hoje, Eu tentei acessar uma biblioteca de documentos através do explorador do windows. Esta lib doutor está vivendo dentro de um sistema que consiste em balanceamento por algum tipo de solução Cisco NLB de carga do 2 WFE. (Se/quando os assistentes de rede me dizem o que é, Vou atualizar este post).

Explorador do Windows não pôde se conectar. Fiz algumas pesquisas e, eventualmente,, os assistentes de rede disse que WebDAV é desativado por / não suportados pelo / abaixo da dignidade do NLB.

Assim, Supondo que os assistentes de rede não estão me contando o equivalente de assistente de rede de "dar uma longa caminhada de uma ponte curta", Eu tenho que saber — faz o NLB, pela natureza, desabilitar o WebDAV? Perdemos a nossa interface de explorador de arquivos windows para SharePoint? É o Cisco a Nazi da sopa?

Gerenciando MOSS / Ambientes WSS — mantendo-se com base de dados de conhecimento da Microsoft

Microsoft cria dia de artigos de base de conhecimento em e dia para fora e alguns desses são enervante importantes para saber se você vive no mundo do SharePoint.

Mantenho a par com eles através de um serviço fornecer pelo pessoal da www.KBAlertz.com. KBAlertz permite que você Cadastre-se para seu favorito MS tecnologia e mandam que você digerir as versões de Microsoft KB artigos via e-mail.

Diretiva de aplicativo Web, Sites de segurança e restrições de segurança — Sei que sua configuração

(ATUALIZADO 11/29 para explicar como acessar as configurações de diretiva de aplicativo da web por meio de interface do usuário)

Eu tinha um daqueles "porque é MOSS fazendo isso para mim????" momentos de hoje. No final, é tudo culpa minha.

Temos um projeto da empresa MOSS acontecendo e queremos proteger "espaço reservado" sites para que nenhum usuário pode acessá-lo ou vê-lo. Isso é fácil:

  1. Vá para o site.
  2. Quebrar a herança de segurança.
  3. Remova as permissões do site de cada usuário/grupo.

Acima deve deixar apenas o administrador do conjunto de sites com permissão para ver o site.

Se alguém fizer logon, Eles já não deveriam ver o site e deve ser aparado de segurança de todos os locais habituais.

Mas … Não foi. Ao mesmo tempo, De repente percebi que meu usuário de Joe"" conta de teste de usuário padrão do nenhum priv diferente de acesso restrito de leitura tem um "ações do Site" escolha onde quer que vá. Eu dobro verificar uma coisa e outra coisa Verifique. Eu pego o telefone para chamar um colega, Mas colocá-lo para baixo e ver outra coisa. Eu sai para passear e tente tudo de novo. Eu chamo de um colega e deixe uma mensagem. E então, Finalmente, Acho que no Blog do Ethan, seu gráfico de abertura torna bastante simples.:

MUSGO 2007 tem um novo recurso chamado diretivas de aplicativo da Web. Estas são as permissões de segurança que está vinculada a um aplicativo da Web. Essas configurações de segurança substituem qualquer configuração de segurança que é definida no conjunto de sites ou Site (Web) nível para que o usuário.

Uma rápida visita a web aplicativo políticas mostra que usuários do NT autenticados"" havia sido concedida a leitura completa. Eu removi-los da lista e tudo finalmente começou a trabalhar como esperado. Eu acredito que eles foram adicionados em primeiro lugar por alguém com a falsa impressão de que isso é o melhor método para conceder acesso de leitura a todos na empresa. Ele faz, mas, a tensão de uma citação, "Isso não significa que isso significa."

Diretivas de aplicativo da web de acesso desta forma:

  1. Ir à Administração Central
  2. Selecione o gerenciamento de aplicativo
  3. Selecione "diretiva de aplicativo Web"
  4. Na tela que, Certifique-se de que você escolher o aplicativo web correto. Para mim, o padrão para o aplicativo web da administração central, que pode não ser o que você quer.

Quando eu tive esse problema, Eu procurava as frases a seguir e surpreendentemente pouco em termos de ajuda direta sobre esta questão:

Ações do site visíveis para todos os usuários

Ações do site visíveis para todos os usuários

ações do site não são de segurança aparada

proteger um site MOSS

Introdução à segurança de musgo

Technorati Tags:

Rápido e simples: Use fixo consulta de palavra-chave nos resultados do núcleo de pesquisa

Rápido e simples instruções:

Editar uma página e adicionar uma web part de principais resultados da pesquisa.

Edite essa web part e expanda "Consulta de palavra-chave fixo".

Adicionar a consulta palavra-chave fixed (EG. ContentType:"Factura de formação" TrainingInvoiceNumber:1111)

Expanda Opções de consulta de resultados e mudar o "Cross-Web Part consulta ID" para um valor diferente de "consulta de usuário" (EG. "Consulta de 2").

Notas:

Usando resultados de pesquisa do núcleo dessa maneira me permitida criar uma página que mostra informações de outro conjunto de sites. O cliente tem dois conjuntos de sites importantes: Produtos e serviços.

Contém a coleção de site do produto, naturalmente o suficiente, informações sobre o produto. Cada produto na coleção de site agrega dados de várias fontes.

Um dos departamentos, códigos e testes, é na tal fonte. Quando os usuários acessam o produto XYZ, Eles devem ver códigos e dados de teste diretamente na página principal do XYZ. Desde códigos e testes estão hospedados em um outro conjunto de sites, é um pouco estranho. Decidimos usar a web part de resultados de pesquisa de núcleo, desde que a pesquisa abrange os conjuntos de sites. Códigos e testes gerencia dados de produto através de uma lista personalizada que é restrita por um tipo específico de conteúdo. Consulta de AA palavra-chave que usa primeiro o tipo de conteúdo e, em seguida, o número de produto, reduzir a busca a uma única linha na lista personalizada.

A consulta de palavra-chave acima é um e. Ele retorna documentos de conteúdo tipo "treinamento factura" e onde o número da factura é igual a "1111".

Um benefício agradável com esta abordagem: Podemos editar o XSL do web part de resultados de pesquisa de núcleo e gerar qualquer formato que queremos.

Consulte aqui (http://devcow.com/blogs/jdattis/archive/2007/04/17/SharePoint_2007_How_to_Rollup_Content_from_multiple_Site_Collections.aspx) para discussão de outro blogger sobre este tópico.

</fim>Subscreva ao meu blog.

Diga-me sobre o seu blog!

Se você mantém um blog, pelo menos, minimamente conectado ao SharePoint, por favor me avise nos comentários. Eu gostaria de adicioná-lo ao meu lista de blog.

Se você mantém um blog que não esteja conectado ao SharePoint, mas quer que eu adicioná-lo de qualquer maneira, Deixe-me saber. Vou pode criar uma lista separada de blog.

Por favor, dê:

  • Seu blog URL (Obviamente)
  • Uma breve descrição do seu blog.

Eu quero manter o link para o "ativo" Blogues, que mais ou menos estou definindo como um post por semana e mínimo de três meses de idade. Se você não cumprir essa exigência"" Adicione seu nome para comentários de qualquer forma. Tem * minha * lista assim que eu posso quebrar minha própria regra, se eu quiser.

Obrigado!

Programação de treinamento de funcionários e materiais modelo — Bug de decréscimo no modelo

O cliente notou um bug hoje com o modelo acima mencionado.

Gerentes de curso criar cursos. Ao criar um curso, o gerente especifica o número máximo de lugares disponíveis.

O modelo prevê a inscrição de self-service. Me inscrever e um fluxo de trabalho anexado ao decrementa a lista de registro dos assentos disponíveis"" associado com esse curso.

Os indivíduos também podem cancelar o registro de um curso. O inseto encontra-se aqui. Cancelando o registro de um curso não incrementa o contador de lugares disponíveis. Como resultado, lugares disponíveis não é exato. Esse bug é agravado pelo fato de que, quando diminui de lugares disponíveis para zero, é permitido o registo de self-service não mais.

Felizmente, A Microsoft fornece o fluxo de trabalho para este processo. Melhor ainda, é um fluxo de trabalho simples e direta, criado através do SharePoint Designer.

Siga estas etapas de alto nível para corrigi-lo:

  1. Fogo até SDP.
  2. Acesso o site baseado no modelo de formação.
  3. Acesso "participante cancelamento de registro" fluxo de trabalho.
  4. Inserir estes passos (Eu fiz as duas primeiras etapas):
    1. Calcular Cursos:Lugares cheios sinal de menos 1 (Saída para Variável:Calc)
    2. (Então) Item de atualização em Cursos

Clique em Finish e pronto.

Capturas de tela:


SharePoint Designer:

imagem

Fluxo de trabalho terminado:

imagem

Calcular o detalhamento:

imagem

Item de atualização em cursos:

imagem

Dar boas notícias com freqüência; dar más notícias no início

Eu tenho sido um consultor para um monte de anos agora e como qualquer consultor experiente sabe, boa comunicação é um dos principais pilares para o sucesso na entrega de um projeto. É tão óbvio, é realmente quase chato falar sobre. Isto não é um post sobre comunicação genérico. Em vez disso, Estou escrevendo sobre o lado obscuro da comunicação — comunicar más notícias.

Escusado será dizer que dar boas notícias ao cliente é feito o tempo todo, sempre que possível. Quem não quer dar boas notícias? Quem não gosta de ouvir boas notícias?

Por outro lado, má notícia é que não tem graça em tudo. Eu sempre lutei com isso. Nos dias anteriores da minha carreira, Eu saberia que algo estava errado com um projeto e, em vez de dizer ao cliente, Eu iria trabalhar mais horas para tentar resolver o problema. Eu ia mandar minha equipe a trabalhar mais. É um impulso natural o suficiente para pensar que um esforço super humano pode salvar o dia. Algumas vezes isso funciona., algumas vezes isso não acontece. Mesmo quando "funciona" muitas vezes é um saco misturado. É a qualidade da entrega realmente até especificações quando chave peças foram desenvolvidos ao longo de vários 60 Para 80 horas por semana?

Qual é a melhor maneira de lidar com más notícias? A resposta é: contá-la mais cedo. Não espere até uma semana antes do orçamento do projecto será consumido. Se você sabe seis semanas que lá simplesmente não é tempo suficiente para entregar um pouco de funcionalidade prometida, dizer ao cliente ali. O cliente pode ficar chateado (provavelmente irá), pode haver acusações e incriminações e ferir os sentimentos. Mas, Quando acalmarem as emoções, seis semanas, ainda restam no projeto. Seis semanas é um bom pedaço de tempo. Não há tempo para se ajustar planos, alterar programações, fazer a bola rolar em extensões do orçamento (Boa sorte!) e geralmente só vir aos apertos com os fatos"no chão" e elaborar um novo plano que ainda resulta em um projeto bem sucedido.

Neste caso: Eu estou trabalhando em um projeto caracteriza-se por:

  • T&Orçamento E com um tampado "não exceder" quantidade de dólar.
  • Um "melhores esforços será feita" Prometo entregar X, Y e Z até o final do projeto.
  • Falta de recursos-chave prometidos no lado do cliente. Esses recursos não foram retidos de propósito, Nem por qualquer mal"" razão, Mas eles foram retidos.
  • Uma realização alvorecer como o projeto passou o meio ponto que não íamos poder entregar "Z" (principalmente porque os recursos prometidos não foram realmente disponíveis).
  • Relatórios de status regular e "CYA" documentação que nos apoiaram (a equipa de consultoria) acima.
  • Malha firmemente equipe de implementação com membros provenientes da organização de consultoria (minha empresa) e o cliente.
  • Equipa de gestão distante, no sentido metafórico e físico. A equipe de gestão foi focada em outro projeto de grande porte e devido às limitações de espaço, a equipe de implementação foi abrigada em um edifício separado no campus, para baixo de uma colina e relativamente longe da "civilização".

Com cerca de seis semanas, deixada no orçamento do projecto, Nós (a equipe de implementação) Sabia que tínhamos problemas. O contrato dizia que precisávamos entregar o "Z". Mesmo que o projeto é o tempo & materiais e mesmo que apenas prometemos "melhores esforços" para entregar o Z e até mesmo embora tivemos grande justificação para a falta de entrega … a linha inferior é que já não estava a correr bem — Não vamos entregar Z em forma de uma qualidade que faria qualquer um orgulhoso.

Reconhecendo isso, Fomos à gestão e disse-lhes que o orçamento do projecto seria consumido em uma determinada data e que estávamos com problemas com Z.

Uma mini tempestade entrou em erupção nos próximos dias.

Dia 1: Equipe de gerenciamento de chamadas em sua equipe para uma reunião especial (Nós, os consultores não são convidados.). Contratos são impressos e entregues a todos e segue-se uma revisão de linha-por-linha. Gestão coloca os membros da equipe na defensiva. Não acho que a frase "Síndrome de Estocolmo" é * realmente * usado, mas você começa a foto. Somos um grupo coeso, Afinal de contas, e o pessoal tem trabalhado conosco consultores dia dentro e fora, há vários meses.

Dia 2: Gerenciamento de chamadas de outra reunião. Eles se sentem um pouco melhor. Eles querem opções e idéias para seguir em frente. Eles percebem que ainda há seis semanas restantes do orçamento atual do projeto, que é ainda um bom bocado de tempo. Dentre os itens de ação: Agende uma reunião com a equipe de implementação completa (incluindo consultores).

Dia 5: Equipe completa atende, Segue-se o encontro construtivo e um novo plano realizável postas em prática. Melhor ainda, Já começamos a discutir a fase dois e o cliente nos convida a preparar propostas para essa fase imediatamente.

Se esperássemos até restar apenas três semanas, ou ainda pior, uma ou duas semanas, teria sido muito diferente. Em vez de uma reunião construtiva para re-alinhar o projeto, nós iria ter sido retirando relatórios de status, o contrato de análise e revisão de e-mails antigos para justificar esta ou aquela decisão. Teríamos "ganho" Mas é isso mesmo "ganhar" Neste caso?

Assim, Se você tem que dar más notícias, dar-lhe mais cedo. Má notícia dada tarde não é só ruim, é horrível.