Exportação-SPWeb Me diz "InvalidData” Mas os dados são válido

Eu estou no processo de escrever um artigo para o povo do bom www.sharepointbriefing.com e que envolve a implantação de uma lista de um farm de desenvolvimento para um farm de produção.  Estou ainda acostumado a usar stsadm e precisa quebrar esse hábito, então eu despediu-se do SharePoint 2010 Shell de gerenciamento do e jogado ao redor com exportação-SPWeb t: Microsoft.SharePoint.SPWeb para fazer backup de minha lista.  Que coisa estranha difícil que provou ser!

Eu continuei recebendo este erro:

image

Esse erro, "InvalidData: (Microsoft.share…CmdletExportweb"") estava me matando.  Eu estou envergonhado em quanto tempo eu lutava com este.

Eu tinha anteriormente correr em uma parede com PowerShell e usado stsadm para começ em torno dele.  Eu experimentava aquilo desta vez e eu tenho bons resultados.

Eu passei muito tempo a brincar com a opção de –Identity e então finalmente com –ItemURL.  Verifica-se que a opção ItemURL requer um caminho completo da biblioteca de lista/você  deseja exportar sem o http://bit de servidor.  Assim, Apesar do fato de que o argumento de identidade está apontando para um subsite, o ItemURL não é relativo a identificar mas relativo ao conjunto de sites.

Teria sido agradável para o cmdlet para me dizer o que era minimamente válido (a identidade neste caso) e o que era inválido (ItemUrl).  Esses pequenos toques ajudam as pessoas a abraçar o produto.  Não um grande ding contra SharePoint, mas um pouco, pelo menos?

Esperemos que este post vai economizar alguém um pouco de dor no futuro.

</fim>

Subscreva ao meu blog.

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

Trabalhando com TreeNodeBinding em ASP.Controle Treeview NET

Tenho vindo a trabalhar sobre o que espero que seja um logo liberado CodePlex projeto que fornece um agradável bit integrado de web parts, falando uns aos outros por meio de conexões de consumidor do provedor de explorar um site do SharePoint nos bastidores.  (Isso certamente foi feito antes, mas este é um projeto de aprendizagem, tanto quanto qualquer outro coisa).  Isto pretende ser um substituto para a vista do Explorador de windows do SharePoint 2010 bibliotecas de documentos.

O código tem recursiva habitual chamar para baixo o SPWeb e SPLists partir um determinado ponto.  O objeto que faz todos os que atravessem constrói uma Cadeia de caracteres XML que é algo como isto:

<SiteCollection url =’http://demo2010a:9090′>
 
<Web
     título = 'Olá mundo Sandbox' 
     Modelo =' um site para as equipes organizar rapidamente, autor, e compartilhar informações, BLÁ BLÁ BLÁ '>

     <lista
        título ='BCC_Health_Services_FAQs’
        Modelo ='CustomList’
       
ListId =’http://demo2010a:9090/helloworldsandbox[delim]1e02b001-3cb2-4f17-b63d-7809e86b4174′>
    
</lista>

     <lista
        título = 'BCC_Notifications' 
        Modelo = 'CustomList' 
        ListId =’
http://demo2010a:9090/helloworldsandbox[delim]5a5a13d1-877 c-41 c 0-9063-b9612be80d5e’>
     </lista>

  </Web>

</sitecollection>

Eu espero para limpar acima que XML antes de tudo é dito e feito.

Eu quero começar, finalmente, que as informações acima e em um Controlarar de Treeview.  Não é exatamente a terra coisas estilhaçando.

O desafio que eu tirei aqui foi ligar o modo de exibição de árvore para um controle de fonte de dados XML em vez de construir manualmente até meu treenodes como eu percorrer a árvore.  Eu fiz isso porque eu estou deliberadamente fazendo coisas mais difícil para mim (Este é um projeto de aprendizagem depois de tudo) e em parte porque eu tenho esta vaga noção de que a criação de nós da árvore como eu percorrer a árvore não é uma boa idéia para o longo prazo.

O problema dessa abordagem é que o Controlarar de Treeview não sabe sobre os atributos de boas em nós interessantes como "lista" ou "web" para que ele mostre essa saída por padrão:

 

image

Isso não é útil.  Isto é onde a classe TreeNodeBinding ajuda.  Posso usar isso para dizer o controle Treeview como ele deve interpretar o XML.  Aqui está um exemplo:

TNB = novo TreeNodeBinding();
TNB.DataMember = "lista"; // Este é o rótulo no xml para um site.
TNB.TargetField = "listid";
TNB.ValueField = "title";
TNB.ToolTipField = "Modelo";

Essa ligação informa o treeview que quando encontra uma <lista> nó de XML, aplicam-se as ligações para TargetField, ValueField e ToolTipField.  Em Maio app, Estes mapeiam as seguintes:

  • TargetField: Quando alguém clica em um valor de nó, Isso é o que você vai ter para SelectedNode.Value.  Isso não deve ser confundido with…
  • ValueField: Isto é o que você quer de Treeview para exibir para o usuário.
  • ToolTipField: O valor de XML que você deseja como uma dica de ferramenta.

Adicionar que TreeNodebinding DataBindings da exibição em árvore e você obter saída como este:

 

image

Eu vou ter mais sobre tudo isso como eu continuar no projeto e eventualmente colocar isso no Codeplex.

</fim>

Subscreva ao meu blog.

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

Encontrar grandes talentos do SharePoint

Aqui está um outro artigo que escrevi para as pessoas boas em Briefing de SharePoint intitulado "encontrando grande SharePoint talento". O artigo tenta dar alguns conselhos sobre como encontrar pessoas verdadeiramente boas e bem experientes, quando você está olhando para expandir sua equipe.

Aqui está um teaser:

Teaser

Check-out.

</fim>

Subscreva ao meu blog.

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

Backup-SPSite t: Microsoft.SharePoint.SPSite cmdlet silenciosamente falhará quando executado com permissões erradas

Eu estava em um servidor e executando um comando backup de coleção de site chato com o Backup-SPSite t: Microsoft.SharePoint.SPSite powershell cmdlet e tenho o seguinte erro:

SPSite de cópia de segurança : Não é possível localizar um objeto SPSite t: Microsoft.SharePoint.SPSite com Id ou URL: …  (mensagem completa abaixo)

image

Eu tive problemas com esse servidor para que ele me fez pensar que o servidor estava doente ou algo assim.  Eu comutada para bom antigo stsadm e desta vez eu obtinha um erro diferente:

Esta operação pode ser executada apenas em um computador que tenha ingressado em um farm de servidores... (mensagem completa abaixo)

image

É claro, Ele ele na fazenda e tudo o que, mas aconteceu-me que eu estava conectado com a minha própria conta e normalmente se logar como uma conta de sistema para este servidor.  Eu fiz o backup foi bem-sucedida e que.  O que eu acho interessante é que o cmdlet deu-me uma mensagem de erro aparadas de segurança.  Que é tipo de arrumado, mas não me ajudou muito :) 

<final />

Subscreva ao meu blog.

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

Direto para lista de prisão – Cisco VPN Client

No Verão passado, Eu criei uma lista de "direto para a cadeia" para o frigorífico.  #1 na lista é Lawrence o ' Donnell (para previsões imprecisos), mas isso é muito além do escopo deste blog :)  Hoje, Estou adicionando o cliente VPN da Cisco para a lista, e que está no escopo por um nariz.

Um monte de anos atrás, que muitos dos clientes usados Cisco VPN para permitir acesso remoto ao seu site.  Naquela época, Criei PCs virtuais para cada um desses clientes e instalado Cisco no que? Por que?  Porque Cisco trava sua máquina para que você não pode sequer procurar impressoras de rede local, e muito menos perigosas ferramentas como o Skype, Communicator e o "~" chave.  Mas,  Se você instalá-lo em uma VM, sua VM está bloqueado mas não seu host. 

Eu me lembro daqueles dias de glória hoje, porque eu tenho que usar um cliente de VPN Cisco * novamente * e ele bloqueia-me e eu tenho que usá-lo em um minuto.  Gostaria que o blog um pouco sobre o quanto o cliente Cisco VPN merece estar na cadeia, em vez de usá-lo...

</fim>

Subscreva ao meu blog.

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

SharePoint Fest – Denver

Eu vou estar a falar em Denver no evento SharePoint Fest em Maio.  Estou indo para discutir alguns negócios comum e quer técnico-para-fizeram em fluxos de trabalho do SharePoint Designer e delinear alguns padrões que você pode usar para resolvê-los.

Há um monte de outras coisas muito interessantes acontecendo na Conferência, Então confira: http://www.sharepointfest.com/Denver/

Não é um evento gratuito e eu tenho um código de desconto acessível, Então deixe um comentário ou ping em que me e eu vou dar prazer.

</fim>

Subscreva ao meu blog.

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

Implementar um sistema de notificação de pop-up Global

Eu escrevi um artigo para a www.SharePoint.briefing.com intitulado"Implementar um sistema de notificação de pop-up Global.”  Esta função foi implementada para uma faculdade comunitária comunicar o fechamento de escola devido a neve e assim por diante. 

Ele usa uma lista personalizada, fora da caixa de SharePoint web services e alguns jQuery para fazer o trabalho.

Aqui está um teaser:

image

Leia tudo aqui: http://www.sharepointbriefing.com/features/article.php/3918471/Implement-a-Global-Pop-up-Notification-System.htm

</fim>

Subscreva ao meu blog.

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

Conectando-se filtros de campo de texto para sua Web Part personalizada

Eu queria receber informações de um filtro de campo de texto no SharePoint 2010 em minha parte de web personalizado.  Eu tentei usar neste artigo do MSDN como uma base mas o artigo está quebrado ou simplesmente não estou seguindo ele corretamente.

Um pouco mais de pesquisa transformou-se Mike Smith Contribuição do MSDN here (http://social.msdn.microsoft.com/forums/en-us/sharepointdevelopment/thread/72F1732A-7F93-441E-8644-2E82BBB153D9).

Há um monte de coisas lá fora em conectável web parts mas artigo de Mike é tão simple quanto ele ganha.

</fim>

Subscreva ao meu blog.

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

Renomeando Namespaces de parte da Web (Ou, Uma razão para "um Web Part ou controle de formulário da Web nesta página não pode ser exibido ou importado)”

Tenho vindo a trabalhar para começ meus costeletas dev voltar e para isso, trabalhando em um projeto de passatempo que tem os seguinte bits:

  • Conectado web part que recebe um site ou URL de coleção site de fora da caixa de web part de filtro de texto do SharePoint.
  • Esta peça web Pesquise todas as informações o site selecionado, gera um pacote XML e de mãos-lo fora para WP outro na página (por meio de conexões).
  • 3web part de área de trabalho remota recebe o XML e faz coisas de transformar alguns XSL.

Eu queria mudar o nome o espaço de nome de todos os bits para "Nivlag" e eu estava ficando bater-se com o seguinte erro quando implantei o web part para  meu ambiente de teste:

Uma Web Part ou controle de formulário da Web nesta página não pode ser exibido ou importado.  O tipo não pôde ser encontrado ou não está registrado como seguro.

Este é o problema de um novato, mas eu pensei que eu iria anotar uma nota sobre isso de qualquer maneira.  Eu causou o erro quando eu direito-estalou sobre o espaço para nome padrão (que adotou o padrão para o nome do projeto), Refatorar selecionado e, em seguida, renomear da seguinte forma:

image

Que mudar o nome de coisas em um monte de lugares no projeto, mas não é suficiente.  Você também precisará fazer vários outros ajustes:

1. Abrir e editar um arquivo manualmente, "ShaerPointProjectItem.spdata". Que um XML arquivo que tem uma <SafeControls> seção.  A função mudar o nome espaço para nome não está ciente deste arquivo por que razão, Portanto, você precisará atualizar manualmente o Namespace lá.

2. Edite manualmente o arquivo. WebPart.  Por que razão, Visual Studio não altera esta referência tampouco.  Alterar o "<tipo>"nó para refletir seu namespace mudou lá.

3. Por último, Dependendo de como você refatorado o namespace Alterar, visual studio também pode atualizado a Cadeia de caracteres que referencia o arquivo. ascx aqui:

Private const string _ascxPath = @ "~/_CONTROLTEMPLATES … …

Talvez você precise alterar que volta.  Você vai porque você obterá um erro semelhante à seguinte quando você tenta e adicionar a web part a uma zona de web Parts em um  página:

Erro de servidor em ' /’ Aplicação.


O arquivo ' /_CONTROLTEMPLATES/Nivlag/VisualWebPart1/VisualWebPart1UserControl.ascx’ não existe.

Descrição: Ocorreu uma exceção não tratada durante a execução da Solicitar da web atual. Examine o Rastrear da pilha para obter mais informações sobre o erro e onde ele se originou no código.
Detalhes da exceção: Sistema.Web.HttpException: O arquivo ' /_CONTROLTEMPLATES/Nivlag/VisualWebPart1/VisualWebPart1UserControl.ascx’ não existe.
Erro de origem:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

 

Corrigir a referência lá e você estaria bom ir.

4. Por último, o arquivo ASCX real ainda tinha uma referência (para mim) o namespace original antigo (a função rename/refatorar não corrigir isso).  Você vai saber sobre esse erro quando você tentar adicionar a web part à página e obter a seguinte mensagem:

Erro de servidor em ' /’ Aplicação.


Erro do analisador

Descrição: Ocorreu um erro durante a análise de um recurso necessário para atender esta solicitação. Por favor, revise os seguintes detalhes de erro de análise específica e modificar seu arquivo de origem apropriadamente.
Mensagem de erro do analisador: Não foi possível carregar o tipo 'RenameNameSpace.VisualWebPart1.VisualWebPart1UserControl'.
Erro de origem:

Linha 6:  <%@ Import Namespace="Microsoft.SharePoint" %> 
Linha 7:  <%@ Registo Tagprefix = "WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Versão = 14.0.0.0, Cultura = neutro, PublicKeyToken = 71e9bce111e9429c" %>
Linha 8:  <%@ Control Language = "c#" AutoEventWireup = "true" CodeBehind="VisualWebPart1UserControl.ascx.cs" Inherits="RenameNameSpace.VisualWebPart1.VisualWebPart1UserControl" %>

Arquivo de origem: /_CONTROLTEMPLATES/RenameNameSpace/VisualWebPart1/VisualWebPart1UserControl.ascx    Linha: 8


Informações sobre versão: Microsoft.NET Framework versão:2.0.50727.4927; ASP.NET versão:2.0.50727.4927

Editar diretamente o arquivo. ascx e corrigir o namespace quebrado.

Neste ponto, Eu tive finalmente uma web part no namespace da minha escolha de vida.

</fim>

Subscreva ao meu blog.

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

Ponto de desempenho – Não é só para Geeks BI qualquer mais

Eu escrevi um pequeno artigo sobre desempenho ponto no início desta semana e acaba de ser publicado www.sharepointbriefing.com.  Aqui é a introdução:

 

image

Clique aqui para ler o artigo.

Eu acho que a experiência de desenvolvimento de ponto de desempenho global é estranha neste momento, mas é definitivamente acessível.  Em versões anteriores, Parecia que era simplesmente uma ponte longe demais para a maioria do SharePoint.  O novo ambiente requer a sujar as mãos, Mas quando você começa debaixo das cobertas, é bastante reconhecível.

</fim>

Subscreva ao meu blog.

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