arquivos Mensais: Dezembro 2007

Pensando em produtos comerciais

Eu coloquei um Projeto de extensões do SharePoint Designer até às CodePlex no início deste ano e mesmo que ele é realmente muito limitado no escopo, Estimo que é sido baixado por 40 Para 60 (possivelmente, até mesmo 100) empresas em apenas cerca de dois meses. Isso indica-me que existe um mercado para essa solução, e se eu fosse a comercializá-lo com sucesso, that could translate into a goodly amount of beer 🙂

Meu plano é realmente muito mais em desenvolvimento de produto e eu sei o que é necessário para trazer um produto de primeira qualidade, ao contrário de um hobby do CodePlex, para o mercado. No meu vida passada, Fui responsável por produto r&D para todos os produtos de software. A diferença entre então e agora é que eu sou um consultor que agora trabalha para um (Excelente) empresa de consultoria (Conchango). Anteriormente, Eu tinha uma companhia inteira atrás de mim e na minha frente, venda e suporte os produtos que trouxemos para o mercado. Hoje, Eu estaria sozinho.

Eu tenho várias idéias de produto na mente, Mas eu acho que o mais fácil seria para criar uma versão comercial do referido Projeto CodePlex que usa isso como ponto de partida e estende-lo ainda mais. Meu pensamento distorcido impensado é para cobrar algo como $100 para obter uma licença ilimitada de desenvolvedor e $500 por produção web front-end. Acho que também daria afastado o código-fonte.

Se você tem pensamentos ou experiências que você está disposto a compartilhar, por favor, deixe um comentário ou Envie-me. Eu gostaria de ouvir opiniões como:

  • É tudo vale a pena?
  • Sugestões práticas para o marketing, coleta de dinheiro, distribuição de.
  • Preços.
  • Suporte.
  • Qualquer outro comentário que você gostaria de deixar.

"É fácil" para vir acima com idéias de produto e implementá-los, Apesar de muitas dezenas de horas de trabalho são necessárias. As outras coisas não são tão fácil para mim.

</fim>

Technorati Tags:

Manhã de domingo engraçados: “Jesus tem que morrer”

Compramos nosso primeiro (e só) "luxo" carro de volta quando o furacão Floyd pregado a costa leste dos EUA. Temos muita chuva aqui em New Jersey e passaram vários dias antes que a vida voltou ao normal. Antes que Floyd golpeado, fizemos uma oferta para um Volvo usado 850 GL e depois atingiu o Floyd, dirigi-lo a casa.

Foi nosso primeiro carro com leitor de CD. Como a maioria dos proprietários de carro novo, fomos um pouco louco de CD, reviveu a nossa coleção de CD dormente e foi em movimentações longas apenas para ouvir do CD no carro. Como todas as modas, Isso passou por nós e acabamos ouvindo o mesmo CD repetidamente. No nosso caso, foi Jesus Cristo Superstar.

Dentre os (muitos) brilhantes pedaços em que a ópera rock é cantada pelos tipos estabelecimento religioso, liderada por Caifás, o "sumo sacerdote". Eles cantam o seu caminho para decidir como lidar com o problema de Jesus"" e Caiaphas direciona-los para a conclusão de que "Jesus deve morrer". O refrão da música é "só tem que morrer, deve morrer, deve morrer, este Jesus deve morrer.". Você ouviu isso abster-se muito naquele texto.

No momento, meu filho tinha cerca de três anos. Você provavelmente pode ver onde isso vai.

Cheguei em casa do trabalho um dia e meu filho é na sala de estar a brincar com brinquedos e cantarolando para si mesmo. Vou tirar minha jaqueta, olhando através de e-mail e todas as que minhas coisas habituais de walk porta e eu de repente percebe que ele está apenas dizendo, não realmente cantando: "Jesus must die, deve morrer, deve morrer." Fiquei mortificada. Só vi ele fazendo isso em um dos seu bebê jogar datas na casa de um amigo — provavelmente o último jogo data com esse amigo do bebê.

We pulled that CD out of the Volvo after that 🙂

</fim>

Google aceitou meu Blog espaços ao vivo no programa AdSense

ATUALIZAÇÃO: A partir de 03/09, Eu não encontrei nenhuma maneira de integrar minha conta espaços ao vivo com o Google Adsense. Sistema da Microsoft aqui parece prevenir todos os mecanismos técnicos que o Google disponibiliza adsense pretensos hosters. Eu tendo a acreditar que este é principalmente um efeito colateral da segurança construíram espaços ao vivo, Não um esforço direto para desabilitar o Adsense.

Este não é um post de SharePoint, mas pode ser de interesse para os blogueiros em geral.

Alguém comentou sobre o seu Windows Live Spaces blog que Google afirmativamente negou seu pedido para participar do AdSense. Ela teoriza que Google lhe negado porque o Windows Live Spaces hospeda seu blog. No entanto, Recentemente fui aceito no programa para o meu blog do live spaces, Portanto, a política tem mudado ou Google lhe negou por algum outro motivo.

É claro, Não vejo qualquer maneira óbvia para integrar o Google AdSense em meu espaço ao vivo, but it’s a start 🙂

</fim>

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>

Dica rápida: Web Part de consulta de conteúdo, XSL e o valor da coluna de pesquisa

Eu tenho um nome de coluna em um tipo de conteúdo chamado "Real Estate localização".

Essa coluna é do tipo "pesquisa".

Eu modifiquei <CommonViewFields> e ItemStyle.xsl para mostrar a coluna.

Um simples <XSL:valor da selecione =…> volta retorna um valor interno que inclui dados de posição ordinal, tais como:

1;#Miami

Para obter o valor de humanos-amigável, usar xsl substring após, como mostrado:

<XSL:valor da selecione = "substring-after(@ Real_x005F_x0020_Estate_x005F_x0020_Location,’#’)"></XSL:valor da>

Use esta técnica sempre que você estiver trabalhando com valores de pesquisa em transformações XSL e precisa para obter o valor de humanos-amigável.

<final />

Technorati Tags: , ,

Edição de Dezembro do SharePoint Beagle até & Ao vivo

Muitos de vocês já sabem disso, mas a edição de Dezembro da Beagle de SharePoint é ao vivo.

Cada artigo vale a pena ler, na minha opinião.

Eu quero dar um galo pouco extra para artigo do meu colega (Natalya Voskrensenskya). Ela fornece uma extravagância de screen shot, enquanto descrevia como ela costumava listas personalizadas, fluxo de trabalho, SharePoint Designer, exibições de dados e outros elementos para implementar um recurso de formação de self-service em MOSS. Ela descreve técnicas que podem ser aplicadas em muitos cenários de negócios diferentes. Fazer Check-out seu blog enquanto você está nisso.

Não se esqueça de verificar meu artigo as well 🙂 I wrote about using MOSS to help an HR department manage open positions.

</fim>

MOSS diz-Me “Acesso negado” para editar uma tarefa de fluxo de trabalho, Mas realmente tenho acesso

Implementei um fluxo de trabalho usando o SharePoint Designer em um site que é principalmente somente leitura para usuários de NT_AUTHORITYAuthenticated"" (ou seja. todos os). Há uma biblioteca de formas para um formulário do InfoPath. Há uma lista de tarefas de fluxo de trabalho associado também, para que quando o fluxo de trabalho Opera, Ele pode atribuir tarefas a pessoas.

Eu quebro a permissão para a lista de biblioteca e tarefa de formulários para que qualquer usuário autenticado pode criar formulários e atualizar suas tarefas.

Testar com a minha conta de teste de baixo-privilégios.

Pode eu preencha e salve um formulário para a biblioteca? –> SIM

Pode acessar a tarefa a partir de um link de e-mail? –> SIM

Posso ver um vínculo de tarefa de fluxo de trabalho de edição –> SIM

Pode clicar no link? –> NÃO … Permissão negada.

Por que posso ver um link Editar que me nega permissão, quando clico nele? Isso é que não foi assim que tem que trabalhar…

Eu atravesso novamente a configuração de segurança, muito de perto. Fazê-lo. Considero-me apagar este post porque, obviamente, não sei nada sobre segurança.

Finalmente, Pesquisar a Internet. Acho este tópico do fórum MSDN altamente improvável: http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=1838253&SiteID=17

Os cartazes parecem sugerir que o simples ato de exportar o fluxo de trabalho para uma travessa de unidade irá corrigir um problema de segurança de musgo? Mal posso acreditar que eu digitei isso. Lembro-me do episódio de South Park sobre o 9/11 conspiração onde Stan está pedindo nossa Preznit, "Realmente?" e outra vez.

Assim, nada a perder, Eu acender SPD, botão direito do mouse sobre o fluxo de trabalho e salve-o em meu c:\ Dirigir. Isso seria o c:\ unidade no meu laptop. Estou olhando por cima do ombro o tempo todo para que ninguém vai me perguntar., "por que você está salvando esse fluxo de trabalho para seu laptop?"

Incrivelmente, Isso resolve meu problema. Eu posso editar a tarefa.

Pelo presente nomeio este ser mais bizarra solução de fluxo de trabalho de 2007.

</fim>

SharePoint Designer, Do Item atual “Codificado de URL absoluta” e HTTPS

Muitas vezes queremos enviar um email que inclui um hiperlink para o item ou documento que disparou o fluxo de trabalho. Podemos usar "codificado URL do item atual absoluto" para esta finalidade.. No entanto, parece sempre usar http"" para o protocolo URL. Se seu site funciona em HTTPS, então não vai funcionar para você.

imagem

Tanto quanto eu sei, Não há nenhuma solução out of the caixa para este problema. Se você precisar usar HTTPS, você não fora a opção de caixa tem.

Para resolvê-lo, criar uma ação personalizada que fornece a função de substituir uma seqüência de caracteres para usar em seu fluxo de trabalho. Como alternativa, Use uma ferramenta de terceira partido como o excelente pacote aqui: http://www.codeplex.com/spdwfextensions 🙂

</fim>

Rápido e fácil: Determinar o nome de coluna interno de uma coluna de Site

ATUALIZAÇÃO: Jeremy Thake tem um blog sobre isso e colocar algumas código de um aplicativo de console que mostra nomes internos.

Eu estava tentando conseguir uma web part de consulta de conteúdo para exibir uma data de conclusão de uma tarefa e porque o rótulo de tela é "uma Data de vencimento", Achei que o nome da coluna para usar em <CommonViewFields> é "Due_x0020_Date".

Errado!

Neste caso, o nome da coluna real foi "DueDate".

Como para encontrá-lo? Re-li Heather Entrada de blog de Salomão sobre a modificação de CQWP para mostrar colunas adicionais de dados. Ela descreve este processo na etapa #13. Confiar nele. É correto. Pelo menos, deu certo para mim. Não confiou isso em primeiro lugar para outra coluna com um nome muito mais tempo.

Digo "confiar nele" Porque eu não confie nele e provavelmente desperdiçado perto de duas horas, batendo a cabeça contra a parede. Depois que eu resolvi "DueDate" nome, Eu queria adicionar outro campo para <CommonViewFields>. Usando a técnica de Solomon, Eu estava recebendo um nome de coluna como "XYZ_x0020_Project_x0020_Due_x00".

Eu pensei:, Isso é claramente um nome truncado. Eu fui em frente e un-truncado-sem sucesso. Finalmente usei o nome aparentemente truncado e funcionou.

Dica de bônus: Quando eu estava trabalhando com o CQWP, se eu adicionei um mau nome interno para <CommonViewFields>, o CQWP me diria que a consulta não teve retornou nenhum resultado. Mas, se eu adicionar um tipo de dados para o nome do campo, Ela iria retornar um resultado. Adicionando os dados tipo na verdade mascarada um problema desde que eu estava fazendo referência a um campo inexistente. Eu poderia adicioná-lo, mas quando tentei exibir seu valor, Sempre fico em branco.

Isso não o erro de máscara:

<CommonViewFields>Due_x0020_Date;</CommonViewfields>

Isso o erro de máscara:

<CommonViewFields>Due_x0020_Date,DateTime;</CommonViewfields>

</fim>

Cuidado com alterações recentes no ItemStyle

Eu estava trabalhando com ItemStyle para personalizar a aparência de um Content Query Web Part e o direito sobre a hora do almoço, Eu fiz uma quebra de alterar para o xsl. Não percebi, Mas desta vez tiveram efeitos em todo o conjunto de sites de grande envergadura. Saí para almoçar e após o meu regresso, Notei essa mensagem que aparece em um monte de lugares:

Não é possível exibir esta Web Part. Para solucionar o problema, abrir esta página da Web em um editor de HTML compatível com o Windows SharePoint Services, como o Microsoft Office SharePoint Designer. Se o problema persistir, Contate o administrador do servidor Web.

Eu culpei o cliente (sem perceber, ainda, que foi minha culpa neste momento) Mas eventualmente notou o intellisense do visual studio foi me avisando que eu tinha malformado XSL. Eu corrigi-lo e tudo começou a trabalhar.

Enervante cuidado quando trabalhar com XSL (e qualquer um dos arquivos XSL globais) — quebrá-los afeta muitos artefatos de sites.

<final />