arquivos mensuais: Febreiro 2011

Grupos de sitios Cambiar columna no SharePoint Design 2010

Eu creei unha serie de columnas de sitio usando o SharePoint Deseño 2010 esta mañá e entender que eu lles dera todo o grupo incorrecto.  Foi embaraçosamente difícil descubrir.  Non sabía onde premer ...

image

Eu seguía querendo dobre clic na propia liña ou prema no botón Configuración de Columna na cinta.

Como se ve, a resposta correcta (ou polo menos unha resposta correcta) é só click sobre o propio grupo.  Agarde un momento e, a continuación, el permitirá que introduza un valor, como se mostra:

image

Moi fácil xa que vostede sabe o que facer, pero me iludiu algo.

</final>

Rexístrate para o meu blog.

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

Editar manualmente SPD Arquivo XOML para limpar Variables

Neste post aquí ("A obter respostas de volta a partir da actividade do proceso de inicio de Aprobación"), Eu mencionar que podes engadir accidentalmente unha enorme cantidade de variables de fluxo de traballo para o fluxo de traballo do SharePoint Design.  As cousas poden rapidamente tornar-se confuso e difícil de ler.  Especificamente, se engadir a "Inicio proceso de aprobación de actividade" acción de fluxo de traballo, borrar-lo e engadir lo de novo, acabar con todas as variables de fluxo de traballo que a actividade dúas veces. 

É unha verdadeira dor de pasar e borrar todos os manualmente, entón eu desexa probar eliminar-los directamente do arquivo XOML.  Isto demostrou ser moi fácil de facer. 

Primeiro, ten que atopar o ficheiro real XOML.  Eu escribín sobre este asunto aquí: http://www.mstechblogs.com/paul/how-to-find-and-edit-spd-2010-workflow-xoml-files.  Unha vez atopado, abrir o ficheiro XOML e localizar unha variable que quere eliminar.  Neste caso, I added the "Start Approval Process” activity to my workflow twice.  Quero borrar unha variable de fluxo de traballo chamado "isItemApproved", xa que el non é máis usado e non é unha variable duplicado co nome "isItemApproved1". 

Só ten que facer unha busca de texto para a variable.  A miña pantalla parece que:

image 

Se buscar en torno ao arquivo XOML, you’ll see that “IsItemApproved1” is used in many different places while the original "IsItemApproved” is simply defined once and never used.

Elimine o seu e gardar o ficheiro.

A única parte complicada é que eu tiña que realmente pechar SPD totalmente e abrilo de novo antes de SPD recoñeceu que o campo eliminado.

Por suposto, a supresión dos campos non é o único que podes facer co XOML e eu poida blog sobre outros temas como este no futuro.

Quere ter moito coidado co que fai aquí e facer copias de seguridade do seu traballo.  Pode facer un parecer menor / cambio sutil aquí que destrúe o fluxo de traballo, na medida do SPD está en cuestión e pode perder horas de esforzo, mentres reconstruíla-lo.

</final>

Rexístrate para o meu blog.

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

Como Buscar e editar SPD 2010 Arquivos de fluxo de traballo XOML

Estaba buscando un xeito doado de eliminar unha gran cantidade de variables de fluxo de traballo sen ter que gastar a miña tarde nun SPD prema en sesión plena explotado tortura.  O meu pensamento foi modificar o XOML directamente, que é o arquivo XML subxacente fluxos de traballo declarativos do SPD.  É así que eu atope.

Primeiro, ir á opción Todas as Arquivos en obxectos de sitio na navegación.  Precisa permisos necesarios para ver este, por iso, se está falta para ti, apelar á persoa administrador dereito de conceder-lle o baño.  Isto é o que parece:

image

 

Todos os ficheiros mostra unha lista de todos os ficheiros ...:

image

Seleccione o cartafol de fluxos de traballo e verás unha lista de cartafoles a cada fluxo de traballo:

image

Prema no cartafol correcta e  Vostede verá unha lista de todos os presentes interesantes que compoñen un fluxo de traballo declarativo SPD.  Botón dereito do rato sobre o arquivo xoml e seleccione "Abrir con. -> SharePoint Deseño (Abrir como XML)"Para editar o XOML directamente:

image

Pode querer facer un backup manual antes de xogar con as cousas.  Unha copia normal / paste do arquivo directamente no SPD pode ser bo o suficiente, ou pode copiar e pegar o texto XML enteiro e garda-lo no seu escritorio ou calquera que sexa o seu costume nestes casos.

</final>

Rexístrate para o meu blog.

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

Obter respostas Back from the Start Proceso de Aprobación Actividade

Eu fun xogar coa fantasía actividade de fluxo de traballo do SharePoint Designer novo "Inicio Proceso de Aprobación" e foi rapidamente bloqueado porque eu non podía inmediatamente responder á pregunta, "Foi aprobado ou non?". 

A resposta curta é que é moi fácil obter a resposta.  Cando engade esta actividade para o seu fluxo de traballo principal, SPD adds a bazillion variables to the Workflow Variables and Parameters data source, as you can see here:

SNAGHTML2350fe72

You’ll also note that if you add more than one of these, SPD appends a “1” and so forth to all of the variables. 

I found that when I deleted the first “Start Approval Process” activity, the first set of associated workflow variables remained (tristemente).  Así, be careful how you use this because otherwise, you’ll end up with  a very cluttered list of workflow variables.

I give Microsoft credit for following the “is” naming convention for a Boolean variable.  This convention makes it pretty clear what kind of data is supposed to be there.

In researching, I found this helpful article: http://office.microsoft.com/en-us/sharepoint-designer-help/workflow-actions-in-sharepoint-designer-2010-a-quick-reference-guide-HA010376961.aspx.  It doesn’t really address this specific issue, but has some good information on the topic so I’d go there if you want to learn more about this specific activity and its siblings.

</final>

Rexístrate para o meu blog.

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

SharePoint Deseño 2010 Función MOD

Eu estou a traballar nalgúns rexistro onde os empregados poden pedir vacacións, tempo enfermo, etc. Unha regra de validación require que ten que sempre pedir unha folga no 4 intervalos dunha hora.  Iso é fácil de facer - usar unha función módulo.  Función módulo informa o resto na división.  Se non o houbera resto, módulos é cero, se non, é todo o que queda.  Por exemplo, 8 contra 4 = 0 (8 / 4 = 2 con ningunha fracción).  Por outra banda, 8 contra 5 é 3.

Eu precisaba facelo xa co SPD 2007 Era unha vez, e eu realmente acabei usando un formulario do InfoPath para resolver, polo que foi tratado no front-end na época.  No caso actual, pode haber unha forma InfoPath na imaxe, pero que aínda non está claro.  Así, Eu estaba a traballar fóra unha técnica para garantir que as peticións de tempo son sempre en 4 incrementos dunha hora.  Eu ía facer a matemática, salva-o nunha corda e, a continuación, facer algunhas cousas substring. 

I pull up SPD 2010 e para a miña sorpresa (e un pouco de vergoña) existe unha función módulo xa:

image

Eu son unha vez máis agradablemente sorprendido que algo que eu precisaba xa está aí fora da caixa.  Fai parecer unha función estraña para Microsoft para incluír no mix.  It has a sort of “this is easy, so let’s throw it in” feel to it.  I sympathize with that, as I do it myself all the time.  This CodePlex project has a bunch of little functions that result from the ItsEasy principle.  Á vez, Microsoft continues to support evidence the “95% of the way” effect with the product.  They implement the Mod function, but not the round function, for instance.

</final>

Rexístrate para o meu blog.

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

CodePlex Proxecto – SP2010 Explorador

Como parte dun esforzo en curso para aprender os detalles técnicos de baixo nivel de SharePoint 2010, Eu creei un "SharePoint Explorador"Tipo de ferramenta.  A idea non é nova.  Eu usei este proxecto máis dunha vez: http://sharepointexplorer.codeplex.com/.  A miña idea é crear unha versión do SharePoint que usa partes web conectados para amosar todos os detalles de baixo nivel que o modelo de obxecto pode proporcionar. 

Este blog serve como un anuncio do proxecto, así como un chamamento a voluntarios.  Se estás interesado en traballar neste proxecto, aviso-me por correo electrónico (galvin.paul @ gmail.com) e nós imos traballar con iso.

Aquí está o proxecto: http://sp2010explorer.codeplex.com/

</final>

Rexístrate para o meu blog.

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

SharePoint Deseño 2007 Fluxo de traballos Extensions CodePlex Proxecto

Estou montando meu segundo proxecto CodePlex (detalles serán anunciados o mércores desta semana, máis ou menos) e eu tiven un ollo no meu primeiro proxecto, “SharePoint Designer Workflow Extensions”. Quedei impresionado e avergoñado de ver que que foi descargada máis 4,800 veces:

image

Basicamente, eu esquezo este proxecto no último 12 meses. I’m embarrassed because I have essentially abandoned it.

I’m going to have another look and remind myself of what it’s all about.

Se alguén está interesado en traballar nesta, let me know and we’ll see about collaborating on it. 4,800 descargas non é unha cantidade xigante, pero é máis que eu xa entender e probablemente paga a pena un esforzo pegala e leva-la para a fronte.

</final>

Rexístrate para o meu blog.

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

Export-SPWeb me di "InvalidData” Pero os datos son válidos

Eu estou no proceso de escribir un artigo para a xente boas en www.sharepointbriefing.com e que implica a implantación dunha lista a partir dunha granxa de desenvolvemento para unha granxa de produción.  Eu aínda estou acostumado a usar stsadm e precisa romper ese costume, entón eu despediuse do SharePoint 2010 Management Shell e xogado en torno a usar Export-SPWeb para backup de miña lista.  Que cousa estraña difícil que demostrou ser!

Eu continúe recibindo este erro:

image

Este erro, "InvalidData: (Microsoft.Share…CmdletExportweb"”) estaba me matando.  Estou avergoñado en canto tempo eu loitei con esta.

Eu tiña anteriormente executar nunha parede con PowerShell e usado stsadm para contorná-la.  Intento de novo, esta vez e eu teño bos resultados.

Pasei unha chea de tempo a xogar co Identity opción e finalmente con-ItemUrl.  Acontece que a opción ItemUrl require un camiño completo da lista / biblioteca vostede  desexa exportar sen o http://bit servidor.  Así, a pesar do feito de que o argumento de identidade é a apuntar a un subsítio, o ItemUrl non é relativo ao identificar, pero en relación ao conxunto de sitios.

Sería bo para o cmdlet para me dicir o que estaba minimamente válida (Identidade, neste caso,) eo que era válido (ItemUrl).  Eses pequenos toques axudar a xente a abrazar o produto.  Non é un gran Ding contra SharePoint, but a little one at least 🙂

Esperamos que este post vai salvar a alguén un pouco de dor no futuro.

</final>

Rexístrate para o meu blog.

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

Traballando con TreeNodeBinding no control TreeView ASP.NET

Eu estiven a traballar no que eu espero que sexa a editado en breve CodePlex proxecto que ofrece un pouco agradable integrado de pezas web falar uns cos outros a través de conexións do provedor / consumidor coa finalidade de explotar un sitio SharePoint debaixo das cubertas.  (Este foi certamente facer antes, pero este é un proxecto de aprendizaxe, tanto como calquera outra cousa).  Este pretende ser un substituto para Windows Explorer vista do SharePoint 2010 bibliotecas de documentos.

O código ten a chamada recursiva habitual debaixo da SPWeb de e SPLists partir dun determinado punto de partida.  O obxecto que fai todo isto travesía constrúe unha cadea XML que é algo así:

<sitecollection url =’http://demo2010a:9090′>
 
<tea
     title = 'Ola Mundo Sandbox' 
     Template = 'O lugar para os equipos para organizar rapidamente, autor, e compartir información, Bla bla bla '>

     <lista
        title = 'BCC_Health_Services_FAQs’
        Template = 'CustomList’
       
ListId =’http://demo2010a:9090/helloworldsandbox[acción]1e02b001-3cb2-4f17-b63d-7809e86b4174′>
    
</lista>

     <lista
        title = 'BCC_Notifications' 
        Template = 'CustomList' 
        ListId =’
http://demo2010a:9090/helloworldsandbox[acción]5a5a13d1-877c-41c0-9063-b9612be80d5e’>
     </lista>

  </tea>

</sitecollection>

Espero que limpar XML ante todo está dito e feito.

Quero chegar, finalmente, que a información anterior e nun control TreeView.  Non é exactamente a terra tremer cousas.

O reto que asumir aquí era para chamar a visualización de árbore para un control de fonte de datos XML en vez de construír manualmente os meus TreeNodes como percorrer a árbore.  Eu fixen iso en parte porque estou deliberadamente facer as cousas máis difíciles en min (este é un proxecto de aprendizaxe despois de todo) e en parte porque eu teño esa vaga noción de que a construción de nós de árbore que percorrer a árbore non é unha boa idea a longo prazo.

O problema con esta visión é que o control Treeview non sabe sobre os bos atributos en nós interesantes como "lista" ou "web" para que mostre esa saída por defecto:

 

image

Isto non é útil.  Este é o lugar onde a clase TreeNodeBinding axuda.  Podo usar isto para dicir o control Treeview como debe interpretar o XML.  Aquí está un exemplo:

TNB = new TreeNodeBinding();
tnb.DataMember = "list"; // Esta é a etiqueta en XML para un sitio.
tnb.TargetField = "listid";
tnb.ValueField = "title";
tnb.ToolTipField = "Template";

Esta conexión di o treeview que cando se atopa unha <lista> nó no XML, aplicaranse as conexións para TargetField, ValueField e ToolTipField.  En maio de aplicación, estes mapa do seguinte xeito:

  • TargetField: Cando alguén fai clic nun valor do nodo, iso é o que vai ter para SelectedNode.Value.  Isto non debe ser confundido co ...
  • ValueField: Isto é o que quere que o Treeview para mostrar ao usuario.
  • ToolTipField: O valor do XML que quere como unha información de ferramenta.

Engadir que TreeNodeBinding para DataBindings da exhibición de árbore e terá unha saída como esta:

 

image

Vou ter máis en todo isto como eu continuar no proxecto e, finalmente, poñer isto en Codeplex.

</final>

Rexístrate para o meu blog.

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