arquivos Mensais: Fevereiro 2008

Domingo engraçados: “NÃO PARA EXPORTAÇÃO”

De volta ao redor 1998, a empresa que eu trabalhava na época recebeu algum financiamento para criar um novo produto de comércio eletrônico. Tivemos toda a gama de requisitos de negócios para atender. Tinha que ser rápido, fácil para usuários finais, chamativo, Multi-idioma, etc. É triste dizer, Provavelmente não tive como um ambicioso conjunto de trabalho para realizar desde aqueles dias inebriantes.

Este esforço pré-datado Microsoft.NET. Baunilha simples ASP ainda era algo nova (ou pelo menos muito estranha a minha empresa). "Tijolo e argamassa" as empresas foram condenadas. Condenado! Isto é para dizer que isso foi um trabalho pioneiro. Não trabalho pioneiro do colisor de Hádrons, Mas para nós, no nosso pequeno mundo, Isso foi um trabalho pioneiro.

Estávamos loucos ocupado. Estávamos fazendo mini quase diariamente do POC, descobrir como manter o estado em meio inerentemente ao estado, descobrir questões multilíngues, segurança de nível de linha. Nós nem tinha criar um vocabulário para definir os termos básicos (Eu preferia um estado persistente, mas por algum motivo, o estranho "statefull" ganhou o dia).

Como nós estávamos loucamente inventar este produto, as pessoas de marketing e vendas estavam lá fora, tentando vendê-lo. De alguma forma, Eles conseguiram vendê-lo para o nosso cenário de pesadelo. Mesmo que nós estávamos projetando e implementando uma solução empresarial, realmente não esperávamos que o primeiro cliente a usar até o último recurso que construímos em dia o produto zero. Este cliente necessários multi-língua, uma interface de usuário radicalmente diferente do padrão"" sistema, mas com a mesma lógica de negócios. Multi-idioma foi especialmente duro neste caso, Porque estamos sempre focados em espanhol ou francês, Mas neste caso, era chinês (o que é um caractere de byte duplo definir e exigido um tratamento especial dado a tecnologia que usamos).

Avançar alguns meses e eu estou num voo Northwest airlines para Beijing. Estava tão ocupada preparando para esta viagem que eu quase não tenho idéia o que é como ir para lá. Eu tinha lido um livro uma vez sobre como um americano tinha sido na China há vários anos e aprendeu a língua. Um dia ele estava andando na cidade e convidou algumas pessoas para direções. A conversa foi algo isto:

  • Americana: "Poderia você me dizer como chegar [XX] rua?"
  • Chinês: "Sinto muito, Nós não falamos inglês".
  • Americana: "Oh, bem falar mandarim." e perguntou-lhes novamente em Chinês, Mas mais claramente (da melhor maneira possível).
  • Chinês: Muito educadamente, "Sinto muito, Nós não falamos inglês".

A conversa continuou assim por bit e o americano desistiu em frustração. Como ele foi deixá-los ele ouviu um homem falando com o outro, "Eu juraria que ele estava pedindo direções para [XX] rua."

Eu havia pego alguns pedaços e peças de outras informações quasi relacionadas à China e "conselhos úteis":

  • Um coreano co trabalhado disse-me que o eu precisava ter cuidado dos chineses, porque "eles vão tentar embebedar-me e tirar vantagem de você" no sentido de pressionar-me para as decisões de negócio ruim.
  • Nós não foram autorizados a dirigir carros (Houve alguma confusão sobre se este era um costume, uma exigência legal ou regra de apenas do cliente).
  • Havia regras especiais para passar pela alfândega.
  • Não podíamos usar dinheiro americano para nada.
  • Não é suposto para deixar dicas. É um insulto, se você fizer.

E, finalmente,, Tenho recordações relativamente frescas a Massacre de Tiananmen. Quando eu estava na faculdade, Lembro de ver Postagens de Usenet em tempo real como o mundo olhavam com horror.

Em suma, Eu estava muito nervoso. Eu não era normal-nervoso no sentido de que estava entregando uma solução que fosse ordens de magnitude mais complicadas do que qualquer coisa que já fiz antes. Eu também estava preocupado com acidentalmente quebrar uma regra que poderia me meter em problemas.

Eu estou nessa 14 horas de voo e apesar de ter sido classe executiva, 14 horas é muito tempo. Há apenas muitas maneiras de se divertir lendo, assiste a filmes ou brincando com os talheres magnetizado. Até mesmo um livro realmente bom é difícil de ler por várias horas seguidas.

Eventualmente, Eu comecei a ler o material de embalagem em um pedaço de software que mão-trazia comigo para o cliente, Servidor de web Netscape. Estou lendo os requisitos de hardware e software, os marketing blurbs, olhando para a foto bonita e de repente, Eu zero em sobre o gigante "não para exportação" aviso, algo sobre 128 bit de criptografia. Coloquei a caixa de volta para o meu saco de transporte, aviso de face para baixo (como se isso teria ajudado) e tentou manter as visões de Expresso da meia-noite da minha cabeça.

Olhando para trás agora, Deveria ter sido preocupado, se em tudo, Quando deixei de os E.U., not when I was entering China 🙂 Nothing untoward happened and I still consider that to be the best and most memorable business trip I’ve had the pleasure of making.

</fim>

Subscreva ao meu blog!

Technorati Tags: ,

Solução: SPQuery não pesquisa pastas

Esta semana eu estava implementando um "evoluindo" solução para um cliente que usa o BDC e SPQuery e encontrei alguma dificuldade usando SPQuery contra uma biblioteca de documentos que contêm pastas. Linha inferior: atribuir "recursiva" para o atributo de exibição da consulta.

Meu cenário:

  • Na segunda-feira, Eu carregar um documento e fornecer alguns dados meta.
  • Na semana seguinte, Eu carregar um novo documento. Grande parte meta dados do documento esta nova baseia-se no documento que fiz upload na segunda-feira (que chamamos o "documento principal").
  • Nós criamos uma fachada de serviço web que fornece uma interface de BDC amigável para a lista para que os usuários podem facilmente localizar esse documento segunda-feira através de uma pesquisa de título.
  • Uma coluna de dados BDC fornece uma interface de usuário amigável. (Isto é parte da minha tentativa de usar BDC para uma coluna de pesquisa mais amigável).

O serviço de fachada do BDC final usa uma consulta como esta para fazer a pesquisa:

 // Usado U2U ferramenta para auxiliar na geração esta consulta CAML.
      oQuery.Query =
        "<Onde>";

      se (titleFilter.Length > 0)
        oQuery.Query   =
          "  <E>";

      oQuery.Query   =
        "    <E>" +
        "      <GEQ>" +
        "        <Nome FieldRef =  "DocumentId" />" +
        "        <Tipo de valor =  "Text">" + minId + "</Valor>" +
        "      </GEQ>" +
        "      <Leq>" +
        "        <Nome FieldRef =  "DocumentId" />" +
        "        <Tipo de valor =  "Text">" + maxId + "</Valor>" +
        "      </Leq>" +
        "    </E>";

      se (titleFilter.Length > 0)
        oQuery.Query   =
          "    <Contém>" +
          "      <Nome FieldRef =  "Title" />" +
          "      <Tipo de valor =  "Text">" + titleFilter + "</Valor>" +
          "    </Contém>" +
          "  </E>";
      oQuery.Query   =
        "</Onde>";

Durante a fase inicial de desenvolvimento, Isso funcionou muito bem. No entanto, Introduzimos pastas no diretório para resolver alguns problemas e de repente, meu seletor de BDC não retorna nenhum resultado. Eu segui isso ao fato de que o SPQuery nunca iria retornar todos os resultados. Usamos pastas principalmente para permitir que vários arquivos com o mesmo nome a ser carregado, mas com diferentes dados meta. Quando o arquivo é carregado, Vamos criar uma pasta com base na identificação do item da lista e em seguida, mova o arquivo lá (Eu escrevi sobre isso here; Já tivemos resultados mistos com esta abordagem, mas em todo o, está funcionando bem). O usuário não se importam sobre pastas e na verdade, realmente não entendo que existem todas as pastas. Temos configurado todos os pontos de vista da biblioteca para mostrar itens sem considerar pastas.

Eu bati esse problema duas vezes como a execução técnica evoluiu e resolvido isso de forma diferente cada vez. A primeira vez, Eu não estava usando o operador CONTAINS na consulta. Sem um operador CONTAINS, Eu era capaz de resolver o problema, especificando o modo de exibição contructor do SPQuery. Em vez de usar o construtor padrão:

SPList t: Microsoft.SharePoint.SPList oList = web.Listas["Documentos"];

SPQuery oQuery = Novo SPQuery();

Em vez disso usei um construtor que especificou uma vista:

SPList t: Microsoft.SharePoint.SPList oList = web.Listas["Documentos"];

SPQuery oQuery = Novo SPQuery(oList.Views["Todos os documentos"]);

Isso resolveu o problema e comecei a receber meus resultados.

Em seguida, adicionei o operador CONTAINS na mistura e quebrou novamente. Verifica-se que o operador CONTAINS, tanto quanto eu posso dizer, Não funciona com a vista da mesma forma que a um simples GEQ / Operadores LEQ. Eu fiz alguma pesquisa e aprendi que ViewAttributes a consulta deve ser definido como "Recursiva", como em:

oQuery.ViewAttributes = "Escopo = "Recursive"";

Isso resolveu o problema para CONTAINS. Na verdade, Isto também resolveu o meu problema de pesquisa original e se eu tivesse especificado o recursivo atributo pela primeira vez, Eu não encontraria com a questão novamente.

O fato de que uma visão-baseada SPQuery funciona para alguns operadores (GEQ/LEQ) e outros não (CONTÉM), juntamente com o fato de que os KPIs não parecem trabalhar em conjunto com pasta contendo o documento bibliotecas conduz me acreditar que SPQuery tem alguns problemas de ortogonalidade.

Agradecimentos especiais:

  • O pessoal da R22 e sua ferramenta de consulta.
  • Grande de Michael Hoffer "aprender fazendo" post do blog, Comentários e respostas.

</fim>

Subscreva ao meu blog!

Bug de musgo KPI? Indicador? Lista Amarrado uma biblioteca de documentos com Pastas

ATUALIZAÇÃO 02/29/08: Eu resolvi esse problema criando uma pasta e, em seguida, atribuir um tipo de conteúdo para a pasta que tem os dados de meta que eu preciso para os KPIs. < um href="http://translate.googleusercontent.com/translate_c?hl=pt-BR & prev=/search?q=bug+report+kpi&hl=pt-BR&biw=1280&bih=683&prmd=imvnsa & rurl=translate.google.com.br & sl = pt & u=http://feeds.feedburner.com/~r/PaulGalvinsSharepointSpace/~3/237910104/cns!1CC1EDB3DAA9B8AA!748.entry & usg=ALkJrhiLDU94yo8BcLRwV55cRaLSB4EX3g"> UE descrevi em detalhes um pouco mais aqui.

Temos implementado uma solução técnica, onde os usuários fazer upload de documentos em uma biblioteca de documentos. Um receptor de eventos cria um diretório e move o arquivo para esse diretório (usando uma técnica semelhante para o que eu escrevi sobre here). Já navegamos em torno das questões potenciais causadas por receptores de evento que renomear arquivos enviados com sucesso ((principalmente porque os usuários não iniciar o seu documento clicando em "Novo"," mas em vez de criar os documentos localmente e depois enviá-los).).

The meta data for these documents includes a Yes/No site column called "Urgent" e outro coluna de site chamado "Status". Temos de atender a um requisito de negócio que mostra a porcentagem de "urgente" documents whose status is "Pending".

Isso é geralmente simple de fazer < um href="http://translate.googleusercontent.com/translate_c?hl=pt-BR & prev=/search?q=bug+report+kpi&hl=pt-BR&biw=1280&bih=683&prmd=imvnsa & rurl=translate.google.com.br & sl = pt & u=http://sharepointbeagle.com/channels/realworld/Pages/PermitManagementSolutionOnMOSS2007.aspx & usg=ALkJrhjbOIajrVtFDcPo1KgGEd-smxBhlg" target="_blank"> e eu descrito algo muito parecido com isso no SharePoint Beagle com muitos tiros de tela se você estiver interessado.

In a nutshell, I did the following:

  • Create a view on the doc library called "Pending".
  • Configure the view to ignore folder structure.
  • Create a KPI List.
  • Criar um indicador na lista que aponta para o lib de doc e que "pendente" Exibir.

Isso simplesmente não funciona. O KPI mostra meu destino (EG. cinco documentos urgentes) Mas sempre mostra o número real de documentos urgentes como zero. Paradoxalmente, detalhes,, Ele mostra os cinco documentos urgentes na lista. Eu criei um cenário muito simples com dois documentos, um em uma pasta e um não. Aqui está a foto de tela:

imagem

A tela acima mostra claramente existem dois documentos em exibição, mas o valor"" é um. O CamlSchema"" com Id documento em branco é na pasta raiz eo outro é em uma pasta chamada "84"..

It appears to me that even though you specify a view, the KPI doesn't honor the "show all items without folders" setting and instead, confines itself to the root folder.

If I'm wrong, please drop me a line or leave a comment.

</fim>

Subscreva ao meu blog!

Fluxo de trabalho do SPD “Coletar dados de um usuário”: Modificar o formulário de tarefas gerado

Eu estou trabalhando em um projeto que usa cinco diferentes fluxos de trabalho do SharePoint Designer para lidar com algumas aprovações de documento. SPD fornece os "coletar dados de um usuário" ação para que nós pode solicitar ao usuário para diferentes bits de informação, como se eles aprovarem isso, alguns comentários e talvez perguntar o que eles tinham para jantar naquela noite.

As formas são perfeitamente funcionais. Eles estão ligados a uma lista de tarefas como um tipo de conteúdo. Eles são 100% gerados pelo sistema. Esta é sua força e fraqueza. Se podemos viver com o formulário padrão, Então estamos prontos para ir. No entanto, Não temos mais controle sobre como o SPD cria o formulário. Se não gostamos que o comportamento padrão, Precisamos de recorrer a vários truques para contorná-la (por exemplo, definindo a prioridade em uma tarefa).

Eu precisava para fornecer um link sobre estes formulários de tarefa que abriu as propriedades de exibição (DispForm.asxp) do "item relacionado" em uma nova janela. Isso fornece acesso de um clique para os meta dados do item relacionado. Isto é o que quero dizer:

imagem

Graças a Deus, Podemos fazer isso e não é muito difícil. Em termos gerais, fogo até o SPD, Navegue até o diretório que abriga os arquivos de fluxo de trabalho e abra o arquivo ASPX que deseja modificar. Estas são instruções de transformação XSL só clássicas, e se você já com mucked ItemStyle, pesquisa ou outros cenários XSL, Isto vai ser fácil para você. Na verdade, Eu achei a ser geralmente mais fácil, uma vez que o formulário gerado é um pouco mais fácil de seguir em comparação com uma web part de pesquisa principais resultados (ou o um pesadelo CWQP).

É claro, Há uma grande armadilha. Editor de fluxo de trabalho do SPD espera total controle sobre esse arquivo. Se você modificá-lo, SPD alegremente substituirá suas dão alterações o direito conjunto de circunstâncias. Eu fiz dois testes rápidos para ver o quão ruim isso pode ficar. Ambos pressupõem que você tenha criado um fluxo de trabalho SPD válido que usa os "coletar dados de um usuário" etapa.

Teste 1:

  • Modificar o arquivo ASPX com a mão.
  • Testá-lo (Verifique se as alterações foram salvas corretamente e não quebrou nada).
  • Abrir o fluxo de trabalho e adicionar uma ação independente (como "log de histórico").
  • Salvar o fluxo de trabalho.

Resultado: Neste caso, SPD não re-criar o formulário.

Teste 2:

  • Faça o mesmo que #1 exceto diretamente modificar os "coletar dados de um usuário" ação.

Resultado: Este re-cria a forma do zero, excesso, escrevendo suas alterações.

Notas finais:

  • Pelo menos duas ações de SPD criar formulários como este: "Coletar dados de um usuário" e "Atribuir a ver Item". Ambas estas ações’ formulários podem ser modificados manualmente.
  • Eu era capaz de gerar o meu link para DispForm. aspx porque, Neste caso, o item de relacionar sempre tem seu ID incorporado no URL do item relacionado. Eu era capaz de extraí-lo e construir uma <a href> com base nele para fornecer o recurso de acesso de dados de meta de um clique. É improvável que seu URL segue essa regra. Pode haver outras maneiras de obter o ID do item relacionado, mas não tive que atravessar aquela ponte, Então eu não sei se fica para o outro lado do abismo.
  • Eu não investigo, Mas eu não ficaria surpreso se houver algum tipo de arquivo de modelo na 12 colméia que eu poderia modificar para afetar como SPD gera os formulários padrão (assim como podemos modificar modelos de alerta).

</fim>

Subscreva ao meu blog!

São “Erro desconhecido” Mensagens realmente melhor do que um rastreamento de pilha?

Eu estava lendo o post do blog do Manu sobre como Habilitar monitores de rastreamento de pilha e agora eu estou querendo saber: Por que não mostramos sempre um rastreamento de pilha?

Quem inventou essa regra e por isso seguimos?

Os usuários finais saberá que algo está errado em ambos os casos. Pelo menos com um rastreamento de pilha, Eles podem pressionar control-printscreen, copiar/colar em um e-mail e enviá-lo para. Que claramente iria reduzir o tempo e o esforço necessário para resolver o problema.

</fim>

Technorati Tags:

Domingo (Embaraçoso) Engraçado: “Meu nome é Paul Galvin”

Um monte de anos atrás, meu chefe me pediu para treinar alguns usuários sobre um produto chamado resultados. Resultados é um usuário final, ferramenta de relatórios. É mais ou menos análogo ao serviço de emissão de relatórios do SQL Server ou cristal. No momento, Ele foi projetado para rodar em tubos verdes (EG. Wyse 50 terminal) ligado a uma caixa Unix via telnet.

Meu padrão responder a qualquer pergunta que começa com "não é … " "Sim" e isso é onde tudo começou.

O cliente era uma empresa química para fora no sul da Califórnia e quase tinha embrulhado uma grande implementação de ERP baseada em Do QAD MFG/PRO. O plano de implementação agora chamado para os usuários finais de energia de treinamento sobre o produto de resultados.

Eu não era um grande usuário desta ferramenta e certamente nunca havia treinado ninguém antes. No entanto, Eu tinha realizado uma série de outras classes de formação e foi rápido em meus pés, Então eu não estava muito preocupado. Dennis, o instrutor de resultados reais em tempo integral, tinha me dado seu material de treinamento. Olhando para trás agora, é realmente muito absurdo. Eu não conhecia o produto, bem, Nunca tinha sido formalmente treinados nele e certamente nunca tivesse ensinado. Que tipo de negócio que tive formação alguém nele?

Para complicar as coisas logisticamente, Me pediram para ir e encontrar alguém em Chicago como parte de um contrato de pré-venda ao longo do caminho. O plano era voar para fora de Nova Jersey, ir para Chicago, encontrar uma hora com perspectiva e então continue em Califórnia.

Bem, Tenho de Chicago e a cara na minha equipe de vendas tinha cometido algum erro e nunca confirmou o encontro. Assim, Eu apareci e a perspectiva não estava lá. Impressionante. Eu fazer as malas e sair, continue até CA. Em algum lugar durante este processo., Descobrir que o cliente está aprendendo menos de 24 horas antes da minha chegada que "Paul Galvin" está ensinando a classe, Dennis não. O cliente adora Dennis. Eles querem saber "quem é essa pessoa de Paul Galvin?" "Por que deveria confiamos nele?" "Por que devo pagar para ele?" Dennis obviamente não assine o meu "dar más notícias no início" filosofia. Impressionante.

Chego no aeroporto e por algum motivo incrivelmente estúpido, Eu tinha verificado minha bagagem. Eu fiz isso para LAX, mas minha bagagem não. Para mim, perder a bagagem é muito parecido com a atravessar o sete fases do luto. Eventualmente eu chegar ao hotel, com nenhuma bagagem, cansado, com fome e vestindo meu (por agora, muito amassado) terno de negócio. Leva um tempo para viajar de Newark — para o ' Hare — para um cliente — volta para o ' Hare — e finalmente para LAX.

Finalmente encontro-me sentado no quarto do hotel, mastigando uma barra de snickers, exausto e tentando angariar a energia para fazer a varredura através do material de treinamento novamente para que eu não vou parecer um idiota na frente da classe. Isso foi um pouco de um ponto baixo para mim no momento.

Acordei no dia seguinte, Fiz meu melhor para suavizar a minha roupa para que eu não olhei como Willy Loman em um dia ruim e cabeça sobre sobre ao cliente. Como tantas vezes acontece, em pessoa, ela era legal, educado e muito agradável.. Isto levantou-se em contraste para ela extremamente e-mails/mensagens irritadas do dia anterior. Ela leva-me sobre 3 milhas através do edifício após a criação de um secionado fora de área em um armazém gigante de química onde conduziremos a classe para os próximos três dias. O 15 ou 20 os alunos lentamente montar, a maioria deles ainda à espera de Dennis.

Sempre começo minhas aulas de treinamento introduzindo-me, dando algum fundo e escrever minhas informações de contato na lousa. Como eu estou dizendo., "Bom dia, meu nome é Paul Galvin", Eu escrevo o meu nome, e-mail e número de telefone acima na lousa em letras grandes para que todos possam ver claramente. Dirijo-me o fato de que estou a substituir Dennis e asseguro-lhes que eu sou um substituto adequado, etc. Eu tenho todos brevemente me diga seu nome e o que eles querem alcançar fora da classe, para que eu pode adaptar coisas para suas exigências específicas, como ir ao longo. Coisas do costume.

Nós isso e fogo até o projetor. Vou para apagar a minha informação de contato e … Eu tinha escrito em tinta permanente. Eu fiquei tão envergonhada. Na minha mente, parecia assim: Isto é "Paul Galvin" pessoa, substituição de última hora para nosso amado Dennis. Ele está usando um amassado terno e barba por fazer. Ele acabou de escrever suas cartas de grande nome em nosso quadro branco em marcador permanente. Que visão!

Tudo terminou feliz, no entanto. Isto foi uma empresa química, Afinal de contas. A grisalho veterano funcionário puxou algo na prateleira e, provavelmente em violação dos regulamentos da EPA, limpa o tabuleiro. Eu consegui ficar 1/2 dia à frente da classe ao longo do curso e eles me deram uma boa crítica no final. Isso consolidou minha "pinch hitter" reputação na minha empresa. Minha bagagem chegou o primeiro dia, Então, eu estava muito mais apresentáveis dias 2 e 3.

Como eu estava tirando o olho vermelho em casa, Que contemplava "lições aprendidas". Havia muito para contemplar. Comunicação é a chave. Digo aos clientes sobre as mudanças no plano. Já não verificar a sua bagagem no aeroporto se você possivelmente pode evitá-lo. Trazer coisas de reposição"" no caso de você verificar a sua bagagem e não fica. Acho que a lição mais importante que eu aprendi, no entanto, Isto foi: sempre teste um marcador no canto inferior esquerdo de uma placa branca antes de escrever, em grandes letras, "Paul Galvin".

</fim>

Technorati Tags: ,

Perspectivas: SharePoint vs. o Grande Colisor de Hádrons

Devido a algumas aves raras que United Airlines vôos tomei em meados da década de 90, De alguma forma acabei com uma oferta para transformar "não utilizados km" em cerca de uma dúzia de assinaturas de revistas grátis. É assim que acabei assinando a revista Scientific American.

Como o software / consultoria pessoas, encontramos muitos requisitos de negócios difíceis na nossa carreira. O maior parte do tempo, Adoramos esses requisitos e de fato, Provavelmente é porque pensamos que essa carreira é o melhor do mundo. Ocasionalmente será apenas o que faria comigo se eu tivesse nascido em qualquer outro período da história. Quão terrível seria perder aos tipos de trabalho que eu posso fazer agora, nesta hora e lugar na história do mundo? Eu acho: muito terrível.

Ao longo dos anos, alguns dos requisitos que já enfrentei foram extremamente desafiadoras para atender. Coisas complexas de SharePoint, construção de frameworks baseados na tecnologia de não-web-amigável de processamento, complexas orquestrações do BizTalk e afins. Todos nós podemos (Espero que) olhar para trás com orgulho nossa carreira e dizer, "Sim, Essa foi difícil de resolver, Mas no final eu pwned esse filho da mãe!" Melhor ainda, esperam desafios ainda mais interessantes e divertidos.

Pessoalmente, acho que meu currículo, a este respeito, é muito profundo e tenho muito orgulho disso (Apesar de eu saber que minha esposa nunca vai entender a 1/20 do mesmo). Mas essa semana, Eu estava lendo um artigo sobre o Grande Colisor de Hádrons na minha revista Scientific American e tinha um daqueles raros momentos humilhantes onde percebi que, apesar do meu gigante"" status em certos círculos ou quão profundo acho meu poço de experiência, existem verdadeiros gigantes em mundos completamente diferentes..

As pessoas da equipe do LHC têm algumas questões realmente espinhosas para gerenciar. Considere a lua. Realmente não penso muito sobre a lua (Embora muito suspeito nisso desde que aprendi está diminuindo a rotação da terra, que não pode ser uma coisa boa para nós seres humanos a longo prazo). Mas, a equipe do LHC tem que se preocupar. Instrumentos de medição do LHC são tão sensíveis que são afetados da lua (Earth-Rotation-slowing-and-eventually-Killing-All-Life) gravidade. Isso é um heck de um requisito para atender — produzir uma medição correta apesar da interferência da lua.

Eu estava a ponderar essa questão quando li esta frase: "O primeiro nível irá receber e analisar dados de apenas um subconjunto dos componentes do detector, de que ele pode escolher promissoras eventos baseados em fatores isolados, como se um muon energético foi visto voando em um grande ângulo do eixo do feixe." Realmente … ? Eu não jogo em que tipo de caixa de areia e nunca será.

Da próxima vez eu saí com uns amigos, Eu vou levantar um brinde ao bom povo trabalhando no LHC, Espero que eles não pesam a partícula bóson de Higgs e amaldiçoar a lua com sucesso. Sugiro que você faça o mesmo. It will be quite the toast 🙂

</fim>

Technorati Tags:

Impressão rápida: Planejador de capacidade do System Center para SharePoint

Arrebentei a ferramenta de planejamento de capacidade é toda a raiva estes dias..

Eu achei fácil de usar e rapidamente modelado um ambiente cliente que eu trabalhei no verão passado.

Com alguma apreensão, Eu apertei o botão de OK final e algo que é muito parecido com o que nós demos nosso cliente recomendado (na verdade nós jogamos em um segundo servidor de aplicativo para futuro uso de excel). Eu preciso isso para ser um bom sinal e aumenta a minha confiança na ferramenta.

Parece uma coisa muito poderosa uma muito melhor ponto de partida do que uma página em branco.

Eu gosto que permite que você entrar em alguns bons detalhes sobre o ambiente. Como muitos usuários, como você projeta usarão o sistema (publicação, colaboração, etc), conectividade e filial / capacidade de rede entre eles e o servidor de mamãe. Coisas boas.

Ele faz perguntas com base amplas e permite que você ajustar os detalhes para um modelo muito granular de seu ambiente.

Eu hesitei baixá-lo, porque eu tenho tantas outras coisas para olhar para ele, ler e tentar digerir. Estou feliz que eu fiz.

É um processo de duas etapas fáceis. Planejador de capacidade do sistema centro de baixar e em seguida, baixe os modelos do SharePoint. Funciona bem no Windows XP.

Com base na minha impressão rápida, Não vejo como ele poderia conta para:

  • Pesquisa: Documentos totais, Talvez os tipos de documentos, Idiomas.
  • Servidor do Excel: Quanto, se em tudo?
  • Servidor de formulários: Quanto, se em tudo?
  • BDC: Quanto, se em tudo.

Aqueles podem ser modelados e só não os vi no 10 revisão de minuto.

Definitivamente vou usá-lo no meu próximo cliente.

Se eu não fosse um Consultor e em vez disso, trabalhando para uma empresa real :), Em meu ambiente atual do modelo e ver como o modelo recomendado da ferramenta corresponde contra a realidade. Isso seria bem legal. Poderia levar a alguma discussão boa infra-estrutura.

</fim>

Solução: System.IO.FileNotFoundException em “SPSite t: Microsoft.SharePoint.SPSite = new SPSite t: Microsoft.SharePoint.SPSite(URL)”

ATUALIZAÇÃO: Eu postei esta pergunta para MSDN aqui (http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=2808543&SiteID=1&mode=1) e Michael Washam da Microsoft respondeu com uma resposta concisa.

Eu criei um web service para atuar como um Fachada do BDC-amigável para uma lista do SharePoint. Quando usei isto do meu ambiente de desenvolvimento, funcionou muito bem. Quando isso migrei para um novo servidor, Eu encontrei este erro:

System.IO.FileNotFoundException: A aplicação Web em http://localhost/sandbox Não pôde ser encontrado. Verifique se que você digitou a URL corretamente. Se o URL deve estar servindo conteúdo existente, o administrador de sistema pode precisar de adicionar um novo mapeamento de URL de solicitação para o aplicativo se destina. no Microsoft.SharePoint.SPSite...ctor(Fazenda SPFarm, URI requestUri, ContextSite Boolean, SPUserToken userToken) no Microsoft.SharePoint.SPSite...ctor(String requestUrl) em Conchango.xyzzy.GetExistingDocument(Seqüência de caracteres minId, String maxId, TitleFilter de seqüência de caracteres) em C:\Documentos e SettingsPaulMy DocumentosVisual Studio 2005ProjectsxyzzyBDC_DocReviewBDC_DocReviewDocReviewFacade.asmx.cs:linha 69

Aqui é a linha 69:

usando (SPSite site = new SPSite t: Microsoft.SharePoint.SPSite("http://localhost/sandbox"))

Eu tentei diferentes variações na URL, inclusive usando o nome do servidor real, seu endereço IP, barras à direita na URL, etc. Eu sempre tenho esse erro.

Eu usei O Google para pesquisá-lo. Muitas pessoas enfrentam esse problema, ou variações do mesmo, Mas ninguém parecia ter resolvido.

MOSS matreiro fornecido um detalhado erro que não ocorreu-me para verificar o 12 logs de colméia. Eventualmente, sobre 24 horas depois meu colega recomendado que fazê-lo, Eu verifiquei o 12 colmeia log e encontrei isto:

Ocorreu uma exceção ao tentar adquirir o farm local:
System.Security.SecurityException: Acesso ao registro solicitado não é permitido.
em System.ThrowHelper.ThrowSecurityException(ExceptionResource resource) em Microsoft.Win32.RegistryKey.OpenSubKey(Nome de cadeia de caracteres, Boolean writable) em Microsoft.Win32.RegistryKey.OpenSubKey(Nome de cadeia de caracteres) em Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_RegistryConnectionString() em Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_Local() em Microsoft.SharePoint.Administration.SPFarm.FindLocal(SPFarm& fazenda, Boolean& isJoined)
A zona do assembly que falhou foi:  Meu computador

Isso abriu novos caminhos de pesquisa, Então foi para o Google. Isso me levou a isto post no fórum: http://forums.CodeCharge.com/posts.php?post_id = 67135. Isso realmente não me ajudou... mas fez começar fazendo-me pensar que havia um problema de banco de dados e/ou segurança. Eu batalharam e De Andrew Connell postar finalmente despoletado o pensamento que eu deve certificar-se de que a conta de identidade do pool de aplicativos tinha acesso adequado ao banco de dados. Eu pensei que ele já fez.. No entanto, minha colega foi e deu o app pool identidade conta completo para SQL.

Assim que ela fez essa mudança, Tudo começou a trabalhar.

Aconteceu o que se segue é melhor expressa como uma haicai poema:

Problemas levantam as mãos.
Você balança e falhar. Tentar novamente.
Sucesso! Mas como? Por que?

Ela não queria deixar as coisas em paz assim, preferindo dar a permissão mínima necessária (e provavelmente com um olho para gravar uma entrada de blog; Eu batia o soco, muhahahahaha!).

Ela afastada sucessivas permissões da conta de identidade do pool de aplicativo até … Já não havia qualquer permissão explícita para a conta de identidade do pool de aplicativo em todos os. O serviço da web continuou a funcionar muito bem.

Fomos e reiniciei as servidores. Tudo continuou a funcionar bem.

Assim, para recapitular: Demos o app pool identidade completo e em seguida levou embora. O serviço da web começou a trabalhar e nunca parou de funcionar. Bizarro.

Se alguém sabe por que isso deveria ter funcionado., por favor, deixe um comentário.

</fim>

Technorati Tags: