Arxius per mes: Febrer 2011

Canviar els grups de la columna de llocs en el dissenyador de SharePoint 2010

He creat un munt de les columnes de llocs utilitzant el dissenyador de SharePoint 2010 aquest matí i em vaig adonar que jo els havia donat tot el grup malament.  Va ser vergonyosament difícil d'imaginar.  Jo no sabia on fer clic...

image

Continuava volent feu doble clic a la fila pròpia o feu clic al botó d'escenes de la columna a la cinta.

Com a resultat, la resposta correcta (o com a mínim una resposta correcta) és clic senzill en el mateix grup.  Espereu un moment i després li permetrà introduir un valor, com es Mostra:

image

Força fàcil una vegada que sap què fer, però se m'escapava una mica.

</final>

Subscriure's al meu blog.

Follow me on Twitter http://www.twitter.com/pagalvin

Manualment editi l'arxiu de XOML de el SPD per netejar les Variables

En aquest post aquí ("Tornant les respostes de l'aprovació Inici procés activitat"), Esmentava que pot accidentalment afegir un munt de variables del flux de treball al vostre flux de treball de SharePoint Designer.  Les coses es pot convertir ràpidament plens i difícil de llegir.  Específicament, Si afegiu l'acció "Començar aprovació procés activitat" al vostre flux de treball, Suprimiu-lo i afegir-lo una altra vegada, acaba amb totes les variables de flux de treball de que l'activitat dues vegades. 

És un dolor real per passar i suprimir tots aquells manualment, Així que encara que m'agradaria tractar d'eliminar-los directament des de l'arxiu XOML.  Això va resultar ser bastant fàcil de fer. 

Primer, cal localitzar l'arxiu present de XOML.  Vaig escriure sobre aquest tema aquí: http://www.mstechblogs.com/paul/how-to-find-and-edit-spd-2010-workflow-xoml-files.  Un cop trobat, obrir el fitxer XOML i localitzar una variable que voleu suprimir.  En aquest cas, He afegit l'activitat "Procés d'aprovació Inici" al meu flux de treball dues vegades.  Vull treure una variable de flux de treball anomenat "isItemApproved" ja que ja no s'utilitza i hi ha un duplicat variable anomenada "isItemApproved1". 

Simplement fer una cerca de text per a la variable.  La meva pantalla semblant a aquesta:

image 

Si vostè busca voltant, a l'arxiu XOML, veureu que "IsItemApproved1" s'utilitza en molts llocs diferents mentre que l'original "IsItemApproved" és simplement definir una vegada i mai utilitzat.

Suprimeixi'l i llavors salvi l'arxiu.

La part delicada només és que he tingut de fet tancar SPD conjuntament i tornar a obrir-lo abans de SPD va reconèixer que el camp suprimit.

Clar, eliminar camps no és l'únic que pots fer amb el XOML i em pot blog sobre altres temes com aquesta en el futur.

Vostè vol ser molt curosos amb el que fas aquí i fer còpies de seguretat del seu treball.  Vostè pot fer una aparentment menor / subtil canvi aquí que trashes el flux de treball en la mesura del SPD es refereix i vostè podria perdre hores d'esforç mentre vostè reconstruir-lo.

</final>

Subscriure's al meu blog.

Follow me on Twitter http://www.twitter.com/pagalvin

Com trobar i editar SPD 2010 Flux de treball XOML arxius

Jo estava investigant una manera fàcil de treure un grapat de variables del flux de treball sense haver de passar la meva tarda en una sessió de tortura de clic SPD irrefrenable.  El meu pensament era editar directament el XOML, que és declarativa fluxos de treball de l'arxiu XML subjacent SPD.  Això és com em va semblar.

Primer, anar a l'opció tots els fitxers sota lloc objectes en la navegació.  Heu de tenir permisos adequats per veure això, Així que si es troba per a vostè, apel·lació a la persona correcta administració per concedir-li la priv.  Això és el que sembla:

image

 

Tots els fitxers Mostra una llista de... tots els arxius:

image

Seleccioneu la carpeta de fluxos de treball i veure un llistat de carpetes per cada flux de treball:

image

Feu clic a la carpeta correcta i  veureu una llista de totes les llaminadures interessants que conformen un flux de treball declarativa SPD.  Bé fer clic a l'arxiu .xoml i seleccioneu "obre amb-> Dissenyador de SharePoint (Oberta com a XML)"per editar directament l'XOML:

image

Vostè pot voler fer una reserva manual abans que jugar amb les coses.  Un còpia/pasta regular de l'arxiu directament a l'SPD és probablement suficient, o podeu copiar enganxar el text sencer de XML i deseu-lo al vostre escriptori o sigui el seu costum en aquests casos.

</final>

Subscriure's al meu blog.

Follow me on Twitter http://www.twitter.com/pagalvin

Tornant les respostes de l'aprovació Inici procés d'activitat

Jo he estat jugant al voltant amb elegant nou "Procés d'aprovació Inici" activitat SharePoint Designer del flux de treball i ràpidament va poder perquè ara mateix no podia respondre a la pregunta, «era-aprovat o no?”. 

La resposta curta és que és bastant fàcil d'obtenir la resposta.  Quan afegiu aquesta activitat al vostre flux de treball principal, SPD afegeix una bazillion variables a les Variables del flux de treball i origen de les dades de paràmetres, com podeu veure aquí:

SNAGHTML2350fe72

També es fixarà que si afegiu més d'un d'aquests, SPD afegeix un "1" i així successivament a totes les variables. 

He trobat que quan suprimia la primera activitat de "Procés d'aprovació Inici", el primer conjunt de flux de treball associat variables romandre (tristament).  Així, vagi amb compte com vostè utilitzar això perquè en cas contrari, acabarà amb  una llista molt desordenada de les variables del flux de treball.

Dono crèdit de Microsoft per respectar la Convenció de nomenclatura "és" per a una variable booleana.  Aquesta Convenció deixa bastant clar quin tipus de dades és suposat ser-hi.

En la investigació, He trobat aquest article útil: http://office.microsoft.com/en-us/sharepoint-designer-help/workflow-actions-in-sharepoint-designer-2010-a-quick-reference-guide-HA010376961.aspx.  Això realment no abordar aquesta qüestió específica, però té una bona informació sobre el tema així que vols anar allà si voleu aprendre més sobre aquesta activitat concreta i els seus germans.

</final>

Subscriure's al meu blog.

Follow me on Twitter http://www.twitter.com/pagalvin

Dissenyador de SharePoint 2010 Funció MOD

Estic treballant fora algun registre on empleats pot demanar vacances, temps malalt, etc. Una norma de validació requereix que vostè ha sempre demana hora fora de 4 intervals d'hora.  Això és bastant fàcil d'utilitzar-un mòdul funció.  Modulo funció li diu la resta de divisió.  Si hi ha cap resta, mòdul és zero, en cas contrari, Això és el que queda.  Per exemple, 8 mod 4 = 0 (8 / 4 = 2 amb cap fracció).  D'altra banda, 8 mod 5 és 3.

Necessitava fer això una vegada amb SPD 2007 una vegada i realment va acabar utilitzant un formulari InfoPath a resoldre, Així que era manejat en la part davantera de l'època.  En el cas actual, hi pot haver un formulari InfoPath a la imatge, però que encara no està clar.  Així, Jo estava treballant fora una tècnica per assegurar-se que les peticions són sempre a 4 increments de l'hora.  Jo anava a fer les matemàtiques, deseu-lo en una corda i llavors fer substring algunes coses. 

Em vaig aixecar SPD 2010 i per la meva sorpresa (i una mica vergonya) hi ha un mòdul funció ja:

image

Sóc una vegada més gratament sorprès que alguna cosa que necessitava ja hi és fora de la caixa.  Això semblar com una funció estrany per a Microsoft incloure en la mescla.  Té una mena de "això és fàcil, Així que anem a tirar-lo a"senten a la mateixa.  Simpatitzo amb que, com puc fer-me tot el temps.  Aquest projecte de CodePlex té un munt de petites funcions que deriven del principi de ItsEasy.  Al mateix temps, Microsoft segueix donant suport evidència l'efecte "95% del camí" amb el producte.  Van implementar aquesta funció Mod, però no la funció rodó, per exemple.

</final>

Subscriure's al meu blog.

Follow me on Twitter http://www.twitter.com/pagalvin

Projecte de CodePlex – SP2010 Explorer

Com a part d'un continu esforç per aprendre els detalls tècnics de nivell baixes de SharePoint 2010, He creat un "Explorador de SharePoint"tipus d'eina.  La idea no és nova.  He utilitzat aquest projecte més que una vegada: http://sharepointexplorer.codeplex.com/.  La meva idea és crear una versió de SharePoint que utilitza connectat elements web per mostrar tots els detalls de baix nivell que pot proporcionar el model d'objecte. 

Aquest bloc serveix com tant un anunci del projecte, així com una crida per a voluntaris.  Si estàs interessat en treballar en aquest projecte, Deixi'm saber via correu electrònic (Galvin.Paul@gmail.com) i treballarem.

Aquí és el projecte: http://sp2010explorer.codeplex.com/

</final>

Subscriure's al meu blog.

Follow me on Twitter http://www.twitter.com/pagalvin

Dissenyador de SharePoint 2007 Flux de treball Extensions CodePlex projecte

Estic armant el meu segon projecte de CodePlex (detalls que s'anunciarà el dimecres aquesta setmana, més o menys) i tenia un aspecte en el meu primer projecte, "Extensions de flux de treball de SharePoint Designer". Jo estava sorprès i avergonyit veure que allò que s'està descarregant sobre 4,800 vegades:

image

Bàsicament oblidar aquest projecte en els darrers 12 mesos. Em fa vergonya perquè essencialment han abandonat.

Vaig tenir una altra mirada i recordar-me del que és tot sobre.

Si algú està interessat en treballar en aquesta, Deixi'm saber i veurem sobre col·laborant-hi. 4,800 Descarrega no és una quantitat gegant, però és més del que mai es va adonar i és probablement valor cert esforç recollint-lo i portar-ho endavant.

</final>

Subscriure's al meu blog.

Follow me on Twitter http://www.twitter.com/pagalvin

Exportació-SPWeb em diu "InvalidData” Però les dades és vàlid

Estic en el procés d'escriure un article per a la gent bona a www.sharepointbriefing.com i es tracta de desplegar una llista d'una granja de desenvolupament d'una granja de producció.  Sóc encara acostumat a utilitzar stsadm i cal trencar aquest hàbit, Així disparava cap amunt del SharePoint 2010 Shell d'administració i jugava utilitzant exportació-SPWeb a la meva llista de reserva.  Quin estranyament difícil que va resultar ser!

Continuava aconseguint aquest error:

image

Aquell error, "InvalidData: (Microsoft.Share...CmdletExportweb"") m'estava matant.  Em fa vergonya a quant de temps he lluitat amb aquesta.

Jo havia tingut anteriorment córrer en una paret amb PowerShell i stsadm utilitzat per esquivar-lo.  Ho tastava una altra vegada aquest temps i tinc bons resultats.

Vaig passar molt de temps jugant al voltant amb l'opció de –Identity i llavors finalment amb –ItemURL.  Resulta que l'opció ItemURL requereix un camí complet de la llista/biblioteca  voleu exportar sense el http://mica de servidor.  Així, Malgrat el fet que l'argument d'identitat està apuntant a un sublloc, la ItemURL és no relativa a la identificació, però en relació amb la col·lecció de llocs.

Hauria estat bonic per a cmdlet que em diguessin què era mínimament vàlid (la identitat en aquest cas) i el que era no és vàlida (ItemUrl).  Aquests petits detalls ajuden persones abraçar el producte.  No un gran ding contra SharePoint, but a little one at least 🙂

Esperem que aquest post li estalviarà algú una mica de dolor en el futur.

</final>

Subscriure's al meu blog.

Follow me on Twitter http://www.twitter.com/pagalvin

Treballant amb TreeNodeBinding en el Control ASP.NET Treeview

He estat treballant en el que espero serà un aviat-alliberat CodePlex projecte que proporciona una mica bonic integrat d'elements web parlant-se mútuament mitjançant connexions proveïdor/consumidor amb la finalitat de descobrir un lloc del SharePoint sota les cobertes.  (Això sens dubte s'ha fet abans, però aquest és un projecte d'aprenentatge tant com qualsevol altra cosa).  Aquest pretén ser un reemplaçament per a la vista d'Explorador de windows de SharePoint 2010 biblioteques de documents.

El codi té el recursiu habitual anomenar avall de SPWeb i SPLists d'una partida determinat punt.  L'objecte que fa recórrer tots els que s'acumula una cadena XML que mira alguna cosa com això:

<SiteCollection url =’http://demo2010a:9090′>
 
<web
     títol = "Hola món Sandbox" 
     Plantilla = "un lloc per equips per pressa organitzar, autor, i compartir informació, BLA, BLA, BLA, BLA '>

     <llista
        títol ='BCC_Health_Services_FAQs’
        Plantilla ='CustomList’
       
listid =’http://demo2010a:9090/helloworldsandbox[delim]1e02b001-3cb2-4f17-b63d-7809e86b4174′>
    
</llista>

     <llista
        títol = "BCC_Notifications" 
        Plantilla = "CustomList" 
        listid =’
http://demo2010a:9090/helloworldsandbox[delim]5a5a13d1 - 877c - 41c 0-9063-b9612be80d5e’>
     </llista>

  </web>

</SiteCollection>

Esperar netejar fins que XML abans tot està dit i fet.

Vull, en definitiva, aconseguir que la informació amunt i en un control Treeview.  No és exactament la terra destrossant coses.

El repte que vaig prendre d'aquí es va connectar la vista d'arbre a un control d'origen de dades XML en lloc de construir manualment el meu treenodes com vaig travessar l'arbre.  Feia això en part perquè estic deliberadament fent les coses més difícils sobre mi mateix (Aquest és un projecte d'aprenentatge després de tot) i en part perquè tinc aquesta noció imprecisa que creïn nodes arbre com vaig travessar l'arbre no és una bona idea per al llarg termini.

El problema amb aquest enfocament és que el control Treeview no sap sobre els atributs bons en els nodes interessants com "llista" o "web" així ho demostra aquesta sortida per defecte:

 

image

Que no és útil.  Això és on ajuda a la classe TreeNodeBinding.  Pot utilitzar això per explicar el control Treeview com cal interpretar l'XML.  Heus aquí un exemple:

tnb = nou TreeNodeBinding();
tnb.DataMember = "llista"; // Aquest és l'etiqueta de el xml per a un lloc.
tnb.TargetField = "listid";
tnb.ValueField = "títol";
tnb.ToolTipField = "Plantilla";

Aquesta unió diu el treeview que quan troba un <llista> node de l'XML, aplicar les fixacions per a TargetField, ValueField i ToolTipField.  En maig app, Aquestes mapa següent:

  • TargetField: Quan algú fa clic en un valor de node, Això és què aconseguirà per SelectedNode.Value.  Això no és ser confós amb...
  • ValueField: Això és el que vol el Treeview per mostrar a l'usuari.
  • ToolTipField: El valor de l'XML que voleu com un indicador de funció.

Afegir que TreeNodebinding a DataBindings de vista d'arbre i obtenir sortida com aquesta:

 

image

Tindré més a tot això mentre continuï en el projecte i finalment posar això en Codeplex.

</final>

Subscriure's al meu blog.

Follow me on Twitter http://www.twitter.com/pagalvin