Category Archives: Design de soluções do SharePoint

Capturando “mailto:” Métricas

Estou em um projeto onde precisamos coletar métricas em torno de uma função chamada "compartilhar uma história." A idéia é muito simples. — Se você está olhando um artigo interessante na intranet e quiser compartilhá-lo com alguém, Clique em um link rotulado "compartilhe desta história" enviar e-mail para seu amigo.

Temos jogado ao redor com um formulário personalizado para este propósito, mas no final, senso comum ganhou o dia e que apenas usamos o familiar <um href = mailto:…> técnica. (<um href mailto:…> é um pouco mais robusto de HTML; como um bônus, Esse link traz-me voltar para meus velhos tempos de páginas de man UNIX; aqueles eram os dias!).

Esta técnica fornece uma interface de grande para usuários finais desde que começam a usar seus clientes conhecidos do MS Outlook (ou qualquer cliente de e-mail tenham instalado).

Isso torna as coisas mais difícil para nós pobre desenvolvedor tipos desde cliente * também * quer executar no futuro um relatório que mostra quantas vezes os usuários compartilham histórias e até mesmo quais histórias são compartilhadas mais frequentemente.

Nós whiteboarded alguns potenciais soluções. Meu favorito é a cópia de carbono (CC) uma lista do SharePoint. Dessa forma, o usuário final Obtém ainda o cliente outlook quando chegarmos capturar o evento porque nós poderá obter uma cópia do e-mail de nós mesmos. Existem algumas desvantagens óbvias. O principal problema é que o usuário poderia simplesmente em branco para fora ou de outra forma mangle do CC endereço. E, Precisamos gerenciar a biblioteca de evento de e-mails. Temos um trabalho agendado na lousa responsável para que a limpeza.

Se você tiver alguma abordagem inteligente para resolver este problema, por favor, diga.

</fim>

Subscreva ao meu blog.

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

Definindo “Grande” Requisitos do SharePoint

Como solicitado e prometido, Enviei a minha apresentação sobre como obter "grande" requisitos dos usuários finais para projetos do SharePoint e implementações. É aqui: http://CID-1cc1edb3daa9b8aa.skydrive.Live.com/Self.aspx/SharePoint/Paul Galvin Great Requirements.zip

Apresentei esta na conferência SharePoint Best Practices em fevereiro 2009 (www.sharepointbestpractices.com). Se você participou da conferência, Você também pode obter esta na conferência de DVD.

A apresentação inclui um monte de notas com a maioria dos slides. Não é apenas pontos.

(Veja aqui para minha outra apresentação sobre um estudo de caso de governança: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!3099.entry

</fim>

Subscreva ao meu blog.

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

Criação de Site pessoal não é exatamente sobre criação de Sites

Como muitos tipos de consultor SharePoint, Fui exposto a muita funcionalidade SharePoint. Algumas vezes, Eu mergulho fundo. Outras vezes eu apenas percebi que como eu estou voando para um outro conjunto de opções de menu. Uma delas é a "criação de site pessoal." Eu não tive uma necessidade até esta semana.

Nesta semana, Preciso resolver um problema de negócios que acho que vai se tornar mais comuns, como empresas soltar-se e abraçam a controle de usuário final mais direto sobre SharePoint. Neste caso, Eu projetei um modelo de site para apoiar uma comunidade específica de usuário final. Pessoal desta Comunidade deve ser capaz de criar seus próprios sites à vontade usando este modelo sempre que lhes dá o impulso.

Lembrei-me vendo "self-service site creation" antes, e eu tenho sempre escondido que nuca pensando essa criação de site de self-service"" é gíria de SharePoint significa, Obviamente o suficiente, algo como "me excitam se quiser que os usuários finais para ser capaz de criar sites quando eles querem."

Assim, Para ativá-lo, experimentá-lo para fora e para mim, Isso não é criação de sites. Isso é criação de site coleções. Grande diferença. Isso não é o que eu quero, De modo algum.

É possível deixar os usuários finais criar novos locais de sub através de um nível de permissão personalizada. Isto é exatamente onde eu teria ido em primeiro lugar exceto que o rótulo de "self-service site creation" etiqueta me enganou. Através do twitter, I learn that it’s deceived others as well 🙂

Ainda estou a trabalhar para fora como fornecer um pouco mais de um processo mais simplificado, mantendo-se puramente fora da caixa, Mas há um caminho definido para seguir. Só não se distraia por esse rótulo.

</fim>

Subscreva ao meu blog.

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

Technorati Tags:

Girando do WFE Virtual temporário para diversão e lucro

Eu era um dos 20 ou 30 (ou talvez 100?) palestrantes ontem à noite no Grupo de usuários do SharePoint de Nova York reunião. Em vez do formato de apresentação habitual, Isso foi tudo sobre Q&Uma entre o público e os membros do painel. Desde o início, Michael Lotter introduzido a uma nova idéia e eu queria compartilhar.

Um membro da audiência descreveu como sua empresa tinha pago um consultor para escrever um aplicativo para sua empresa. O consultor escreveu como um aplicativo de console usando o modelo de objeto SharePoint. Como resultado, Isto significava que o programa tinha que ser executado em um servidor no farm. Isso significava que qualquer um que queria usar o app teria de logon no servidor, fazer o trabalho e fazer logoff. Em primeiro lugar, Isto não era um problema, Mas em breve, mais e mais (não-técnicos) os usuários necessários para usar o utilitário. Sua pergunta foi (Parafraseando):

"Quais são minhas opções? Não quero continuar deixando log de usuários diretamente para o servidor, Mas eles precisam dessa funcionalidade."

Michael Lotter sugeriu que ele configure uma nova máquina virtual, juntá-lo para a fazenda como um WFE e permitir que os usuários executar o aplicativo de lá.

Esta é uma idéia bastante impressionante para mim. Generalizar essa solução traz à mente a noção de essencialmente temporário, do WFE quase descartáveis. Acho que é um conceito bem legal. Este WFE temporária pode executar um aplicativo de console que usa o modelo de objeto SharePoint. Você também pode usá-lo para executar comandos de stsadm. Não tem de ser parte do balanceamento local regular. Se vai para baixo ou seja destruída, Você só pode girar um novo. Repito-me, Mas tenho que dizer que acho que é uma idéia muito legal.

</fim>

Subscreva ao meu blog.

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

Technorati Tags:

Projetos de gerenciamento de documento MOSS em larga escala: 50k por dia, 10 Total milhões

Na semana passada, Alguém fez uma pergunta sobre a criação de um ambiente de SharePoint que iria lidar com um volume muito alto de novos documentos (10,000 +/- Neste caso). Eu não sei muito sobre isso, mas Graças a este white paper, Sinto-me muito melhor informado.

Para mim, Este white paper é praticamente apenas uma marca de livro no momento, Mas começar a ler através dele e achei que gostaria de destacar minha principal Take-Away. SharePoint pode ser escalado para lidar com, no mínimo, Esta carga:

  • 50novos documentos de k por dia.
  • 10 totais milhões de documentos.

Eu escrevo as figuras de 50k / 10MM, porque eles são bastante fáceis de lembrar. Como você sabe que eles são mínimos, Você não terá problemas. Os valores máximos são pelo menos 10 por cento maior do que isso e com extrema tuning, possivelmente muito maior.

Obrigado, Mike Walsh, mais uma vez para o seu post semanal do WSS FAQ atualizações e correções. Se você não está inscrito para isso, Você deveria pensar seriamente a fazê-lo.

</fim>

Subscreva ao meu blog.

Salvando arquivos mais antigos do MS Office para SharePoint usando WebDAV — Problemas e correções

Durante a semana passada, meu colega e eu estava fazendo um trabalho para um cliente em Nova York. Estávamos testando um diferentes aspectos de uma implementação de MOSS usando seu padrão"" compilação de estação de trabalho (ao contrário de nossos laptops). Ao fazer isso, Encontramos alguns erros, seguindo estes passos:

  • Abra um documento do word MS através do explorador do windows (que usa WebDAV).
  • Fazer uma mudança.
  • Salvá-lo.

Percebemos que algumas vezes (geralmente a primeira vez) Salvamos o documento, o save não "ficou." Não salvou a salvar. Podemos puxar esse documento back-up e nossas mudanças simplesmente não estavam lá.

Neste ponto, não entendemos a questão de raiz, Mas achamos que devemos assegurar que o service pack mais recente do MS Office tinha sido instalado nessa estação de trabalho. O pessoal de ti fui e fiz isso. Passamos o teste novamente e descobrimos um novo problema. Quando nós o salvamos, Agora temos este erro:

imagem

Desta vez, Parecia que cada mudança foi, Na verdade, salvo, se respondemos Sim ou não para a pergunta de scripts.

Finalmente tivemos um olhar para a actual versão do Office e verifica-se que a estação de trabalho estava executando o MS Office 2000 com o service pack 3 que aparece sob ajuda-> Sobre como "Office 2002".

A moral da história: Eu sempre vou usar Office 2003 como minha versão de escritório de base mínimo quando usando WebDAV e musgo.

</fim>

Subscreva ao meu blog.

Technorati Tags:

(Para fins de motor de busca, Este é o texto do erro):

Linha: 11807

Char: 2

Erro: Objeto não suporta esta propriedade ou método

Código; 0

URL: http://sharepoint01/DocumentReview/_vti_bin/owssvr.dll?location=Documents/1210/testworddocument.doc&dialogview=SaveForm

Você quer continuar executando scripts nesta página?

Dica de migração do SharePoint: Utilização “sem marcas de formatação de dados” Modos de exibição para migração Incremental

Em um ou meu primeiro blog posts, Descrevi o processo global, seguimos para migrar de um cliente de SPS 2003 para MOSS. Um leitor deixou um comentário pedindo mais detalhes e aqui é....

Para esse projeto de migração, Nós tivemos que encontrar uma boa maneira de mover um monte de SPS 2003 documentos sobre a MOSS. A carga inicial foi bastante fácil. Criar uma nova biblioteca de documentos do alvo no MOSS e use o windows explorer para mover os documentos.

Esta é a nova biblioteca de documentos:

imagem

Abrir duas janelas exploradores. O primeiro ponto SPS 2003 e a segunda na biblioteca de documento novo em MOSS. A captura de tela a seguir mostra isso. Observe que o navegador de topo na verdade está apontando para o meu c:\unidade TEMP, Mas você pode imaginar isso apontando para uma SPS 2003 biblioteca de documentos:

imagem

Depois disso arraste e solte a operação, meu destino é assim:

imagem

Agora é hora de lidar com os metadados. Suponha que temos apenas uma coluna de metadados para estes documentos chamada "local." Podemos ver a partir do acima "todos os documentos" vista que o local está em branco. É muito fácil usar uma vista de folha de dados para inserir a localização, ou mesmo vá em Propriedades do documento, cada um por um, para adicionar um local. Vamos assumir que não há nenhuma maneira prática para atribuir a coluna localização um valor automaticamente e que os usuários finais devem fazer isso à mão. Além disso, Vamos supor que há centenas de documentos (Talvez milhares) e que isso levará muitos muitos dias para atualizar os metadados. Como todos sabemos, Ninguém vai se sentar e trabalhar para quatro dos cinco dias seguidos de actualização de dados de meta para documentos. Em vez disso, Eles vão quebrar isso para fora durante um período de semanas ou possivelmente mais. Para facilitar este processo, Podemos criar um "dados sem marcas de formatação" vista como mostrado:

imagem

Agora, Quando alguém se senta para baixo para passar sua hora diária alocada ou dois para marcar documentos migrados, Eles podem usar os "documentos sem marcas de formatação" vista para concentrar seus esforços:

imagem

Como documentos de marca de usuários, deixam cair fora desta lista.

Esta noção de uma exibição sem marcas de formatação de dados também pode ajudar com uma classe do problema de validação de dados pessoas indagar sobre os fóruns. Fora da caixa, Não há nenhuma maneira de impedir que um usuário carregar um documento para MOSS e não insira dados meta. Podemos especificar que uma coluna de site específico é obrigatória e o usuário não será permitido a empurrar a salvar botão. No entanto, Se o usuário carrega e depois fecha o navegador (ou usa o windows explorer para carregar o documento), Não podemos forçar o usuário para inserir dados de meta (mais uma vez, fora da caixa).

Esta abordagem pode ser usada para ajudar com essa situação.. Podemos usar um "dados mal marcados" Ver os para facilmente identificar esses documentos e corrigi-los. Junte isso com um KPI e tem boa visibilidade para os dados com detalhamento para gerenciar essas circunstâncias excepcionais.

</fim>

Subscreva ao meu blog.

Technorati Tags:

MUSGO pequena fazenda de instalação e história de configuração de guerra

Nesta semana, Lutei um pouco com minha equipe para obter MOSS instalado em uma fazenda de dois servidores simples. Ter passado por isso, Eu tenho uma maior valorização para os tipos de relatório de problemas pessoas nos fóruns do MSDN e em outros lugares.

A configuração final da fazenda:

  • SQL/índice/Intranet WFE dentro do firewall.
  • WFE na DMZ.
  • Algum tipo de firewall entre a DMZ e servidor interno.

Antes de começarmos o projeto, Deixamos o cliente sabe quais portas precisavam ser aberta. Durante o dar e receber, e para trás sobre isso, Nós nunca explicitamente disse duas coisas importantes:

  1. Significa que você precisa de um certificado SSL.
  2. O servidor DMZ deve ser parte de um domínio.

Dia um, que apareceu para instalar MOSS e aprendemos que as contas de domínio para o banco de dados e MOSS não tivesse sido criadas. Despachar as coisas, Fomos em frente e tudo instalado com uma conta local no servidor da intranet.

Neste ponto, Descobrimos a confusão sobre o certificado SSL e, Infelizmente, Decidimos ter nosso cara infra-estrutura voltar ainda essa semana para continuar a instalar o servidor DMZ. Nesse meio tempo, Nós, arquitetos de solução mudou-se em frente com as coisas de negócios.

Um fim de semana passa e que o cliente obtém o certificado.

Nossa cara infra-estrutura aparece e descobre que o servidor DMZ não é associado a qualquer domínio (o domínio de intranet ou um domínio de perímetro com confiança limitada). Quase perdemos um 1/2 dia em que. Se nós não tivesse deixado o certificado SSL faltando nos atolar, nós teria descoberto isso antes. Oh bem….

Outro dia passa e as várias comissões de segurança, as partes interessadas e (Não é assim) espectadores inocentes todos concordam que é OK para adicionar o servidor DMZ com o domínio da intranet (Este é um POC, Afinal de contas, Não é uma solução de produção).

Tipo de infra-estrutura vem para embrulhar as coisas. Desta vez com êxito passar o o desafio de moderno-dia, carinhosamente conhecido como o "Assistente de configuração do SharePoint." Temos uma espiada na administração central e … Yee haw! … Servidor DMZ é listado na fazenda. Podemos olhar um pouco mais de perto e perceber que nós abriu o Champaign, um pouco de ácaro cedo. Serviços do WSS é preso em um "começando" estatuto.

Longa história curta, Acontece que nos esquecemos de mudar a identidade da conta do serviço através da administração central de conta local original para a nova conta de domínio. Fizemos isso, Re-executou o assistente de configuração e voila! Estávamos no negócio.

</fim>

Subscreva ao meu blog.

Learning the Hard Way — DMZ WFE deve estar em um domínio

Embora não é literalmente verdade., por uma questão prática, um voltado para a internet web front-end em uma DMZ deve estar em um domínio (ou seja. Não é um servidor autônomo em seu próprio grupo de trabalho pequeno). Não precisa ser no mesmo domínio como o WFE interno(s) e outros servidores (e provavelmente não deveria), Mas ele precisa ser um domínio.

Meus colegas e eu gasto uma quantidade excessiva de tempo sobre uma proposta que incluía o SharePoint pré-requisitos. Isto incluiu uma lista abrangente de configurações de firewall que permitiria o servidor DMZ juntar-se a fazenda e assim por diante. Infelizmente, Nós falha ao adicionar uma frase em algum lugar que disse, para o efeito, "a questão toda dessa configuração é permitir que seu servidor DMZ WFE, em um domínio, para juntar-se a fazenda interna."

Uma tempestade perfeita de eventos, onde basicamente procuramos esquerdos quando nós poderia ter olhado direito, conspiraram para esconder esse problema de nós até bastante tarde no processo de, impedindo-me de chamar minha "contar a má notícia cedo" regra.

Suspiro.

Subscreva ao meu blog.

Technorati Tags:

Mestre de execução / Relações de detalhe usando listas personalizadas

Usuários do Fórum com freqüência como perguntas como esta:

> Olá,
>
> Por favor me diga se há quaisquer possibilidades de criar uma lista personalizada com o
> tipo de mestre e de detalhes (como as faturas) sem usar o InfoPath.
>

O SharePoint fornece alguns fora dos recursos de caixa que oferecem suporte a tipos de requisitos de negócios como esse.

Em geral, uma liga duas listas juntos usando uma coluna de pesquisa. Lista A contém as informações de cabeçalho de factura e lista B contém detalhes da fatura.

Use listas adicionais para manter números de clientes, números de produto, etc.

Usar uma web part de consulta de conteúdo (Moss só) e/ou um dados Ver os web part para criar modos de exibição mesclados das listas. SQL Server Reporting Services (SRS) também está disponível para o lado relato de.

No entanto, Existem algumas limitações importantes que tornará difícil usar puras características de out-of-the-box para tudo que é mesmo moderadamente complexa. Estes incluem:

  • Tamanho de pesquisa relacionado lista vs. "esperteza" o tipo de coluna de pesquisa. Um tipo de coluna de pesquisa apresenta-se na interface do usuário de forma diferente dependendo se você habilitou o seleção múltipla ou não. Em ambos os casos, o controle de out-of-the-box mostra todos os itens disponíveis na lista de fonte. Se a lista fonte possui 1,000 itens, Isso vai ser um problema. O controle de pesquisa não paginar através desses itens. Em vez disso, Ele puxa todas elas no controle. Esta é uma interface de usuário muito estranho, tanto em termos de desempenho e entrada de dados.
  • Pesquisas "puxar volta" uma coluna de informações. Você nunca pode recuar mais de uma coluna de informações da lista de fonte. Por exemplo, não é possível selecionar um cliente "12345" e exibir o número, bem como nome e endereço do cliente ao mesmo tempo. A pesquisa mostra apenas o cliente número e nada mais. Isto faz para uma interface de usuário estranho e difícil.
  • Nenhuma comunicação intra-formulário. Eu escrevi sobre isso aqui. Você não pode implementar suspensas em cascata, condicionalmente ativar/desativar campos, etc.
  • Sem exclusões em cascata ou integridade referencial interna. SharePoint trata listas personalizadas como entidades independentes e não permite que você vinculá-los uns aos outros no sentido tradicional do ERD. Por exemplo, SharePoint permite que você criar duas listas personalizadas, "cliente" e "cabeçalho de factura". Você pode criar um cabeçalho de factura que liga para um cliente na lista do cliente. Em seguida, Você pode excluir o cliente da lista. Fora da caixa, Não há nenhuma maneira de evitar isso. Para resolver este tipo de problema, Você normalmente usaria manipuladores de eventos.

Parece sombrio, Mas eu ainda usaria SharePoint como ponto de partida para construir este tipo de funcionalidade. Embora haja lacunas entre o que você precisa em uma solução, SharePoint permite-nos preencher essas lacunas usando ferramentas tais como:

  • Manipuladores de eventos. Usá-los para impor a integridade referencial.
  • Colunas personalizadas: Criar tipos de coluna personalizados e usá-los em vez de coluna de pesquisa padrão. Adicionar paginação, buffering e recursos do AJAX para torná-los responsivos.
  • BDC. Esse recurso somente MOSS permite-nos para consulta que outro SharePoint lista com uma interface de usuário superior para a coluna de pesquisa usual. BDC pode também chegar a um aplicativo de servidor back-end. Use o BDC para evitar a replicação. Em vez de replicar informações de cliente de um back-end sistema ERP, Use o BDC. BDC recursos fornecem uma interface de usuário agradável para puxar essa informação diretamente do sistema ERP, onde pertence e evita o incômodo de manter uma solução de replicação.

    BDC é uma característica de musgo (não disponível no WSS) e é um desafio para configurar.

  • ASP.NET web formulário: Criar um formulário habilitado para AJAX completo que usa os serviços de modelo e/ou web de objeto do SharePoint para aproveitar a listas do SharePoint, fornecendo uma interface de usuário muito sensível.

A última opção pode sentir como você está começando do zero, mas considere o fato de que a plataforma do SharePoint você começa com os seguintes recursos-chave:

  • Modelo de segurança com manutenção.
  • Sistema de menu com manutenção.
  • "Tabela mestre" (ou seja. listas personalizadas) com segurança, auditoria e manutenção interna.
  • Pesquisa.
  • Ferramentas de integração de back-end (BDC).

Se você iniciar com um novo projeto em branco no visual studio, você tem um monte de infra-estrutura e encanamento para construir antes de você chegar perto do que o SharePoint oferece.

Eu acredito que a Microsoft pretende estender o SharePoint neste sentido de desenvolvimento de aplicativos. Parece como uma extensão natural para a base existente do SharePoint. Aplicação de CRM da Microsoft fornece uma grande quantidade de extensibilidade dos tipos necessários para apoiar o desenvolvimento de aplicativos de cabeçalho/detalhes. Embora estes recursos estiverem em CRM, a tecnologia é obviamente disponível para a equipe de desenvolvimento do SharePoint e espero que isso fará sua maneira no produto SharePoint até final de 2008. Se alguém tiver um conhecimento ou insight sobre isto, por favor, deixe um comentário.

</fim>