Acțiuni de flux de lucru particularizate SPD — accesorii de manipulare şir

Despre o săptămână în urmă, Am început un proiect de codeplex, care oferă o metodă simplă şi rezonabil generice pentru adăugarea funcţii de acțiune particularizată de flux de lucru SharePoit Designer. Este descris aici: http://www.codeplex.com/spdwfextensions. Dincolo de doar oferind un cadru, de asemenea, îşi propune să furnizeze un set de funcţii utile care va face mai util/flexibile/puternic SPD.

Aici sunt caracteristici curent planificate pentru versiunea 1.0: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

Dacă cineva are nici un interes în acest proiect, vă rugăm să lăsaţi un comentariu sau start/adăuga la o discuţie aici: http://www.codeplex.com/spdwfextensions/Thread/List.aspx

Aici sunt actualul set de funcţii, care au fost codificate (Deşi nu pe deplin testat ca de 11/08/07):

Funcţia Descriere (Dacă nu de aceeaşi ca funcţia de .net)
Intrările de num() Returnează numărul de intrări"" într-un şir ca pe un separator specificate.

De exemplu: Num-intrări într-un şir "a,b,c" cu delimitatorul"," = 3.

Intrare() Returnează n-token-ul într-un şir ca pe un separator specificate.
Lungime String.Length
Înlocui() String.Replace()
Conţine() String.Contains()
Returnează cuvântul "adevărat" sau cuvântul "false".
Subşir(începe) String.Substring(începe)
Subşir(începe,scop) String.Substring(începe,scop)
ToUpper() String.ToUpper()
String.tolower() String.ToLower()
StartsWith() String.StartsWith()
Returnează cuvântul "adevărat" sau cuvântul "false".
EndsWith() String.EndsWith()
Returnează cuvântul "adevărat" sau cuvântul "false".

Rapid & URL-ul uşor codarea utilitar desktop

Am fost a fi nevoie să url-encode unele siruri de caractere în această săptămână şi pălmuit împreună un un mic utilitar care m-am gândit mi-ar pune SkyDrive pentru comunitatea.

Obţine binare aici: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncode.zip

Obţineţi soluţia visual student aici: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncodeVS2005.zip

Aici este un ecran shot:

imagine

Rapid şi uşor: Încorporaţi un hyperlink în partea de web vizualizare de date XSLT

ACTUALIZARE (01/17/08): Acest blog intrare vorbeşte despre mai multe hyperlink XSL bunătatea: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.

Privire de ansamblu şi obiectivul: Am creat un simplu bar diagramă pentru a servi drept componentă pe un tablou de bord. Voi salva detaliile pe construirea grafice pentru un alt post, dar eu nu a inventat această tehnică (nici semnul de întrebare, pentru care contează). Sa dovedit a existat un bug în diagramă, şi în timp ce am stabilit că, Am avut posibilitatea de a converti unele etichete în hyperlink-uri, care a arătat la lista de bază în spatele grafic. De exemplu, Există o etichetă cu valoarea "Hold". Am vrut să transforme etichetă într-un hyperlink, astfel încât utilizator putea faceţi clic pe ea şi detalia la intrările specifice din lista a căror valoare de stare este "Hold".

Paşi:

  1. Utilizarea visual studio pentru intellisense SharePoint-conştient.
  2. Copiaţi DVWP XSLT în visual studio (crea un proiect necompletat, Adauga un fișier XSL la proiect).
  3. Copiaţi link-ul pe care doriţi să utilizaţi în clipboard.
  4. Lipiţi-l în locul potrivit în XSL.
  5. Conversia URL argumentul separatoare pe şirul de interogare la"&" la"&"
  6. Argumente individuale URL-encode.
  7. Wrap interior că o <a href…> </o>

Exemplu:

Eu am un URL:

http://[server de]/[site-ul]/Lists/Open Positions/AllItems.aspx?Vezi ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = Recruiter&FilterValue1 = Hold

Conversia în:

     <o href="Lists/Open Positions/AllItems.aspx?Vezi = % 7b84EEA2F5-121B-40B7-946F-
0FA704A1DAA1 %7 d&amp;FilterField1 = Recruiter&amp;FilterValue1 = Hold"> Ţineţi: </o>

Am manual au transformat primul argument din:

{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}

pentru a:

%7b84EEA2F5-121B-40B7-946F-0FA704A1DAA1 %7 d

(În acest, transformă acolada de deschidere a % 7b și închiderea bretele transformă %7 d)

Al doilea şi al treilea argumentele’ parametrii ("FilterField1 =Recruiter" şi "FilterValue1 =Ţineţi" respectiv) nu trebuie să fie codificate în URL-ul pentru că ele nu conțin nici caractere nesigure.

Note:

Aceasta tehnica, în general, ar trebui să funcţioneze oriunde doriţi să încorporaţi un hyperlink în XSLT unde hyperlink-ul include parametrii pe URL-ul cum ar fi:

http://[server de]/[site-ul]/Lists/Open Positions/AllItems.aspx?Vezi ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = Recruiter&FilterValue1 = Hold

Am luat URL-ul în sine prin accesarea listă particularizată şi manual de filtrare pe coloana stare (etichetate "recrutorului" de mai sus).

Simplă şi rapidă: Permite fluxul de lucru SharePoint Designer pentru a actualiza un formular InfoPath

Scenariu: Eu am un formular InfoPath care interfeţele un proces de flux de lucru implementate utilizând SharePoint Designer. La un moment dat, un manager trebuie să aprobe forma. Din moment ce eu nu pot conta pe istoricul de flux de lucru pentru a satisface cerinţele mele audit, I decide pentru a stoca mesajul audit direct pe formularul de sine.

Privire de ansamblu:

Proiectare formular și publicați-l ca un tipul de conţinut şi forma în sine la o bibliotecă de documente. Mark dorit câmpurile de formular ca fiind poate actualiza din MOSS. Forma este legată de tipul de conţinut şi de tipul de conţinut este "ataşat" într-o bibliotecă de formulare (sau mai multe, dacă vrei). Scrie un flux de lucru care actualizează câmpul.

Măsuri specifice:

  1. Creați o bibliotecă de documente. Acest lucru va organiza șablonul InfoPath.
  2. Creați o bibliotecă de formulare.
  3. Creaţi formularul InfoPath. Includ un câmp de text, "Auditul mesaj".
  4. Publicare formular ca un tip de conținut (NU un document).
  5. În timp ce completarea dialogurile publicare:
    o) Salvaţi fişierul .xsn la biblioteca de documente (pas #1).
    b) Publica mesajul"Audit" de câmp şi marca adevărat: "Permite utilizatorilor să editeze datele din acest câmp utilizând o foaie de date sau proprietăţi pagină".
    c) Creaţi un nou tip de conţinut, şi dă-un nume potrivit.
  6. Acces la bibliotecă de formulare.
    o) Du-te la setările avansate şi activarea bibliotecii de formulare pentru a gestiona tipuri de conținut.
    b) Selectați tipul de conținut nou create (5c de mai sus). Acesta va fi grupate sub "Microsoft InfoPath" (sau similare).
    c) Eliminarea implicit "forma" tip de conținut din bibliotecă.
    d) Mark Biblioteca pentru a "Arată ca pagină web" astfel încât forma va lansa la SharePoint şi nu InfoPath staţie de lucru client.
  7. Du-te înapoi la biblioteca de formulare corespunzătoare şi faceţi clic pe "nou" pentru a verifica pur şi simplu că formularul este postat corect şi care acţionează ca vrei.
  8. Foc până SharePoint Designer şi navigaţi la site-ul care găzduieşte al tău bibliotecă de formulare (la pas 2).
  9. Creaţi un flux de lucru nou ataşat la bibliotecă de formulare.
  10. Adauga o singură acţiune "Setat câmpul curent element în". Ar trebui să aşteptaţi SharePoint Designer pentru a lista esti domeniul tau, "Auditul mesaj". Asociaţi o valoare.
  11. Faceţi clic pe Terminare şi du-te înapoi la biblioteca de formulare.
  12. Crea o nouă formă şi a pus unele valoare de testare în mesajul"Audit" câmp.
  13. Salvaţi-l şi du-te înapoi la biblioteca de formulare.
  14. Faceţi clic dreapta pe, Selectaţi "flux de lucru" şi începe fluxul de lucru.
  15. Acesta ar trebui să ruleze aproape imediat. Trageţi în sus forma (la pas 12) şi dacă tot a plecat la planul de, "Mesaj de audit" a fost alocat orice valoare le-aţi furnizat în pas 10.

Note:

Nu toate controalele pot configurate pentru această comunicare bidirectionala. De exemplu, nu pare să pună în aplicare un flux de lucru SPD care modifică câmpuri text înfăşurat în interiorul Secţiunile repetabile.

Unul dintre cheie ia-departe pe aici este că am creat într-adevăr un tip de conținut cu un şablon asociate. Acest lucru permite, de asemenea, noi pentru a stoca mai multe șabloane formular InfoPath în aceeași bibliotecă de formulare.

Acest lucru necesită forme server. Mai mult ca sigur nu o să lucreze într-un AAC 3.0 mediu şi probabil chiar şi necesită un mediu de întreprindere SharePoint.

Beagle a aterizat (Octombrie 2007 problema)

(Aceasta este de fapt un pic vechi de ştiri, dar ca motto-ul meu preferat pompieri proclamă, "Mai târziu decât niciodată").

Check it out aici: http://www.sharepointbeagle.com/

Dacă aveţi deja, Asiguraţi-vă că pentru a înscrie-te.

desigur, Asiguraţi-vă că pentru a citi articolul meu despre un proiect de real-lume de SharePoint (inclusiv cerinţele definiţie, KPI, tipuri de conținut, tablouri de bord şi mai mult) precum şi colegul meu articol despre partea web de interogare conținut.

Există mulţime de alte lucruri bune prea.

Cum de a elimina “Vezi toate conţinutul site-ului” link-ul

Am întrebat această întrebare aproape în fiecare săptămână, în mod normal, în contextul de o discuţie de securitate. Un creator de administratorul/site-ul a asigurat accesul unui site, configurat de securitate, aranjate web piese şi personalizate Lansarea rapidă pentru a oferi că oh-aşa-parfum de set de opţiuni pentru utilizatorul final. dar, afară de la cutie, Imposibil de eliminat "Vezi toate conţinutul site-ului" link-ul.

Mark Wagner oferă răspunsul aici (http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=36). Este grozav sa scrie-up pe două niveluri. Acesta oferă un răspuns la întrebarea, "Cum se elimină Vezi toate site-ul conţinutului" link-ul? Apoi, l răspunde la întrebarea imediată a: Cum pot activa cu uşurinţă Vezi toate conţinutul site-ului link-ul pe bază de site-de-site-ul?

Ca un bonus: Abordarea sa de lucrări pentru AAC, nu doar MOSS.

</scop>

Aboneaza-te la blog-ul meu!

Proiectul meu foarte own CodePlex: Extensii de flux de lucru SharePoint Designer

ACTUALIZARE: A se vedea aici (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!310.entry) pentru cele mai recente pe acest proiect.

Am creat un CodePlex proiect astăzi la Casa interfaţa Generic SPD cod pe care am blogged despre aici (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!275.entry).

Au o privire la aici (http://www.codeplex.com/spdwfextensions) pentru a vedea proiectul CodePlex şi lovi cu piciorul anvelope.

Dacă sunteţi interesat de lucru pe acest lucru cu mine, foc pe un e-mail la mailto:galvin.paul@gmail.com

SharePoint Designer — Activitate particularizată să execute funcţii definite de utilizator C#

ACTUALIZARE: Acest lucru a fost lansat la CodePlex aici: http://www.codeplex.com/spdwfextensions

ACTUALIZARE: A se vedea aici pentru cele mai recente note de lansare: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

ACTUALIZARE: A se vedea aici pentru gândurile mele pe comercializarea acestui proiect: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Acest proiect prevede o activitate particularizată în SharePoint Designer. Utilizați această activitate personalizate pentru a invoca (expediere) orice funcţie C# pe care aţi încorporat în Adunarea legate.

La sfârşitul lunii octombrie, 2007, Aceasta este doar o versiune iniţială a proiectului. Am de gând să se extindă cu o serie de funcţii suplimentare, inclusiv un subșir, Indicele, înlocui, invocarea servicii web şi orice altceva care pare utile sau interesante. Am, de asemenea, de gând să acest post la codeplex, odată ce am Actul meu împreună pe acest front. Acest lucru va fi, de asemenea, dislocabile ca o soluţie la un moment dat.

Dacă aveţi orice Comentarii, întrebări sau sugestii, vă rugăm să lăsaţi-le în comentarii sau e-mail-mă.

Exonerare de răspundere:

Face absolut nici o pretenţie referitoare la eligibilitatea acestea pentru orice scop. Utilizaţi propriul risc.

Paşii de instalare (de urmat pentru fiecare WFE în fermă):

1. .zip şi supliment.

2. Instalaţi .dll în GAC. De obicei, deschide c:\windowsassembly utilizând windows explorer şi copie it acolo.

3. Modifica web.config pentru a adăuga Adunarea la controalele în condiţii de siguranţă:

<System.Workflow.ComponentModel.WorkflowCompiler>
<authorizedTypes>

<authorizedType montaj = "SpdGenericInterface, Versiunea = 1.0.0.0, Cultură = neutră, PublicKeyToken = abe076fd8125f3c4" Namespace = "Nivlag" TypeName = "*" Autorizat = "True" />

4. Copie "SpdGenericInterface.actions" c:\Programul FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATE1033Workflow

Reţineţi că locația de mai sus este specific pentru instalatii de limba engleză.

5. Închide SharePoint Designer (dacă acesta este deja deschis).

6. iisreset

7. Deschide SPD şi de a crea un nou flux de lucru.

Dacă totul merge bine, tu ar trebui să fi recompensat cu o nouă categorie de acţiune:

imagine

Note:

A se vedea aici (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) pentru o imagine de ansamblu teribil de proces pentru a crea, instalarea şi configurarea o soluţie ca acest lucru.

.zip este conceput pentru a extrage direct la tine c:\ unitate. În acest caz, aveţi posibilitatea să deschideţi proiectul şi toate căile va fi consecvent.

Pentru a utiliza aceasta în visual studio, tu probably nevoie la spre a instala "Extensii pentru Windows WF".

Iniţială de încărcare conţine doar o "funcţie de dispecer", "ToLower()". Pentru a adăuga mai multe funcţionalităţi, adăugaţi-l la metoda Execute ca:

 protejate suprascrie ActivityExecutionStatus
          Executa(ActivityExecutionContext executionContext)
        {

            şir functionToDispatch;
            functionToDispatch = Acest lucru.DispatchFunction.ToLower();

            comutator (functionToDispatch)
            {
                caz "tolower()":
                    {
                        Acest lucru.OutResult1 = Acest lucru.InParam1.ToLower();
                        pauză;
                    }

                în mod implicit:
                    {
                        Acest lucru.OutResult1 = "Funcţie necunoscut: [" + Acest lucru.DispatchFunction + "].";
                        pauză;
                    }
            }

            reveni ActivityExecutionStatus.Închis;
        } // ActivityExecutionStatus

    }

Apoi, re-construi proiectul şi copia Adunarea GAC. Mă aştept un iisreset ar fi necesare.

Acțiune particularizată SPD flux de lucru – obţine <WorkflowInfo> dreptul de tag-ul pentru a evita frustrare

Parte a procesului pentru a crea o acțiune particularizată pentru SharePoint Designer implică crearea unui ".actions" fişier.

Am găsit şi a încercat să utilizeze un şablon de probă, care începe prin a fi:

<?XML versiunea="1.0" codificarea="UTF-8" ?>
<
WorkflowInfo xmlns="http://schemas.Microsoft.com/SharePoint/">
<
Acţiunile Secvenţiale="apoi" Paralel="şi">

Cu toate acestea, că atributul xmlns previne meu mediului de lucru. Acţiunile mele nu apar în SPD.

Soluţia este să se dezbrace în atributul xmlns, face o iisreset şi aproape/re-deschis SPD.

Simplă şi rapidă: Configuraţi MOSS pentru a căuta o bibliotecă de documente specifice

Vezi UPDATE (I) de mai jos (11/24/07) pe Cum se configurează Microsoft Office SharePoint Server 2007 Index şi scotocire retea foldere de căutare

Obiectivul: Vreau pentru a executa o căutare restrânsă la o bibliotecă de documente specifice. În acest caz, Biblioteca de documente conţine documente de instruire.

Paşi:

1. Înregistra URL-ul bibliotecii de documente.

2. Creaţi un domeniu de aplicare:

Du-te la administrare centrală.

Accesului SSP.

Du-te la "Setări de căutare".

Derulaţi în jos la secţiunea de aplicare şi selectaţi "Vezi domenii".

Creaţi un nou domeniu de aplicare. Da it un nume şi o descriere utile.

3. Defini regulile de scotocire de aplicare:

Adauga o regulă care defineşte în biblioteca de documente pentru acest domeniu de aplicare.

Selectaţi "adresa de web" pentru "Tip de regulă de aplicare".

Introduceţi numele folderului (a se vedea #1 de mai sus).

Acceptaţi valoarea implicită a "Includ".

Aşteptaţi pentru domeniul de aplicare pentru a actualiza (sau porniţi-l manual).

4. Permite domeniul de aplicare într-o colecţie de site-ul.

Du-te la site-ul de colectare în cazul în care doriţi să utilizaţi acest domeniu de aplicare.

Adauga domeniului nou grup de afișare adecvate sau grupuri.

5. Căutare!

La acest punct, aţi terminat. Presupunând că domeniul de aplicare este definit în mod corespunzător, Acesta va fi disponibil în downs picătură domenii pentru simplu şi avansat căutări şi când căutaţi folosind că domeniul de aplicare, doar veţi obţine rezultate vă aşteptaţi.

Note:

Am scris acest blog intrare deoarece căutările pentru configurare simplă de aplicare sa dovedit până uscat folosind expresii ca:

  • configurarea domeniilor în MOSS
  • configurare căutare de aplicare moss
  • domenii în sharepoint 2007
  • domenii în sharepoint
  • Cautati un muşchi de bibliotecă de documente
  • muşchi de grund domenii

Puteţi crea un domeniu de căutare pe un folder, nu doar Biblioteca întregul document.

Un domeniu de aplicare pot fi partajate în mai multe colecții de site-ul (prin urmare, un serviciu"comun").

Puteţi crea domeniului de aplicare la nivelul colecției de site-ul în sine. Cu toate acestea, Prefer să merg la centrul admin pentru că am putea începe de accesare cu crawlere de acolo. Imposibil de pornit scotocirea din colecția de site-ul.

ACTUALIZARE (I) ca de 11/24/07:

Kai Shang pune împreună o mare post intitulat Cum se configurează Microsoft Office SharePoint Server 2007 Index şi scotocire retea foldere de căutare @ http://kaishenghoo.spaces.live.com/blog/cns!8A7458DB12CA5AC9!206.entry