SPD persoonlike workflow aksies — string manipulasie uitbreidings

Sowat 'n week gelede, I started up a codeplex project that provides a simple and reasonably generic method for adding custom action functions to SharePoit Designer workflow. It’s described here: http://www.codeplex.com/spdwfextensions. Beyond simply providing a framework, it also aims to provide a set of useful functions that will make SPD more useful/flexible/powerful.

Hier is die huidige beplande funksies vir weergawe 1.0: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

As iemand het 'n belangstelling in hierdie projek, los 'n kommentaar of begin / voeg by 'n bespreking hier: http://www.codeplex.com/spdwfextensions/Thread/List.aspx

Hier is die huidige stel van funksies wat reeds gekodeer (maar nie ten volle getoets as van 11/08/07):

Funksie Description (indien nie dieselfde as Netto funksie)
Num-inskrywings() Retour volgens die aantal inskrywings" in a string as per a specified delimiter.

Byvoorbeeld: Num-entries in a string "a,b,c" with delimiter "," = 3.

Entry() Returns the nth token in a string as per a specified delimiter.
Lengte String.Length
Vervang() String.Replace()
Bevat() String.Contains()
Returns the word "true" or the word "false".
Substring(begin) String.Substring(begin)
Substring(begin,einde) String.Substring(begin,einde)
ToUpper() String.ToUpper()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
Returns the word "true" or the word "false".
EndsWith() String.EndsWith()
Returns the word "true" or the word "false".

Vinnige & maklik url Encoding lessenaar nut

Ek het nodig om te url-enkodeer 'n paar snare hierdie week en geklap saam aa bietjie nut wat ek gedink ek wil sit op SkyDrive vir die gemeenskap.

Kry die binêre hier: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncode.zip

Kry die Visual Studio oplossing hier: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncodeVS2005.zip

Hier is 'n skerm prent:

beeld

Vinnige en maklike: Embed 'n skakel in die data View web deel XSLT

UPDATE (01/17/08): Hierdie blog inskrywing praat oor meer hyperlink XSL goedheid: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.

Oorsig en objektiewe: I had created a simple bar chart to serve as component on a dashboard. I’ll save the details on building charts for another post, maar ek het nie uitvind dat die tegniek (of die vraagteken, vir die saak). It turned out there was a bug in the chart and while I fixed that, I took the opportunity to convert some labels into hyperlinks that pointed at the underlying list behind the graph. Byvoorbeeld, there is a label with value "Hold". I wanted to turn the label into a hyperlink so that the user could click on it and drill down to the specific entries in the list whose status value is "Hold".

Stappe:

  1. Gebruik visuele ateljee vir Sharepoint-bewus IntelliSense.
  2. Kopieer die DVWP se XSLT in Visual Studio (die skep van 'n leë projek, voeg 'n XSL-lêer aan die projek).
  3. Kopieer die skakel wat jy wil gebruik in die knipbord.
  4. Plak dit in die regte plek in die XSL.
  5. Skakel URL argument skeiers op die navraag string uit "&" na "&"
  6. Url-enkodeer individuele argumente.
  7. Draai dat binne 'n <a href…> </1>

Voorbeeld:

Ek het 'n URL:

http://[bediener]/[webwerf]/Lyste / Open% 20Positions/AllItems.aspx?Sien ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = Recruiter&FilterValue1 = Hou

Ek sit dit in:

     <1 href="Lyste / Open% 20Positions/AllItems.aspx?Sien =% 7b84EEA2F5-121B-40B7-946F-
0FA704A1DAA1% 7d&amp;FilterField1 = Recruiter&amp;FilterValue1 = Hou"> Hou: </1>

Ek het die hand omskep die eerste argument van:

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

aan:

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

(In hierdie, die oop stut verander na% 7b en die sluitingsdatum stut transformeer na% 7d)

Die tweede en derde argumente’ parameters ("FilterField1 =Recruiter" en "FilterValue1 =Hou" onderskeidelik) hoef nie te URL-geïnkripteer wees omdat hulle nie 'n onveilige karakters bevat.

Notas:

Hierdie tegniek word in die algemeen werk waar jy wil 'n skakel in die XSLT waar die hyperlink sluit parameters op die URL soos in te sluit:

http://[bediener]/[webwerf]/Lyste / Open% 20Positions/AllItems.aspx?Sien ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = Recruiter&FilterValue1 = Hou

Ek het die URL self deur die toegang tot die persoonlike lys, en met die hand filter op die status kolom (gemerk "Recruiter" bo).

Vinnige en maklike: Aktiveer SharePoint Designer workflow 'n Path vorm te werk

Scenario: I have an InfoPath form that front-ends a workflow process implemented using SharePoint Designer. At one point, a manager must approve the form. Vandat ek kan nie tel op workflow geskiedenis my ouditvereistes te ontmoet, Ek besluit om my eie ouditering boodskap direk te slaan op die vorm self.

Oorsig:

Ontwerp die vorm en publiseer dit as 'n die tipe inhoud and the form itself to a document library. Mark desired form fields as being updateable from MOSS. The form is tied to the content type and the content type is "attached" 'n vorm biblioteek (of baie, as jy wil). Write a workflow that updates the field.

Spesifieke stappe:

  1. Create a document library. This will hold your InfoPath template.
  2. Create a forms library.
  3. Create the InfoPath form. Include a text field, "Audit Message".
  4. Publiseer die vorm as 'n tipe inhoud (Nie 'n dokument).
  5. Vul uit die publikasie vensters:
    1) Slaan die. Xsn-lêer na die dokument biblioteek (stap #1).
    b) Publiseer die "Oudit boodskap" veld en die punt waar: "Laat gebruikers data in hierdie veld deur gebruik te maak van 'n gegewensblad of eiendomme bladsy te wysig.".
    c) Skep 'n nuwe tipe inhoud en gee dit 'n gepaste naam.
  6. Toegang tot die vorme biblioteek.
    1) Gaan na die gevorderde instellings en in staat stel om die vorms biblioteek inhoud tipes.
    b) Kies die nuutgeskepte tipe inhoud (5c bo). It will be grouped under "Microsoft InfoPath" (of 'n soortgelyke).
    c) Verwyder die default "vorm" tipe inhoud van die biblioteek.
    d) Merk die biblioteek "wys as webblad" so dat die vorm van SharePoint sal begin en nie die Path werkstasie kliënt.
  7. Gaan terug na die vorms biblioteek behoorlike en kliek op "New" om net te bevestig dat die vorm korrek geplaas word en op te tree as jy wil.
  8. Fire up SharePoint Designer en na die werf wat jou vorm biblioteek huisves (uit stap 2).
  9. Skep 'n nuwe workflow verbonde aan die vorms biblioteek.
  10. Add a single action "Set Field in Current Item". You should expect SharePoint Designer to list your your field, "Audit Message". Assign it a value.
  11. Kliek voltooi en gaan terug na die vorm biblioteek.
  12. Skep 'n nuwe vorm en sit 'n paar toets waarde in die "oudit boodskap" veld.
  13. Stoor en gaan terug na die biblioteek.
  14. Regs-kliek, kies "Workflow" en begin om jou workflow.
  15. It should run almost immediately. Pull up the form (uit stap 12) en as alles het gegaan om te beplan, "Oudit boodskap" opgedra is die waarde wat jy voorsien in stap 10.

Notas:

Not all controls may configured for this bi-directional communication. Byvoorbeeld, it does not seem to implement an SPD workflow that modifies text fields wrapped inside repeating sections.

One of the key take-away’s here is that we’ve really created a content type with an associated template. This also enables us to store multiple InfoPath form templates in the same form library.

This requires forms server. It’s most certainly not going to work in a WSS 3.0 omgewing en waarskynlik vereis dat selfs 'n Enterprise SharePoint omgewing.

Die Beagle het geland (Oktober 2007 kwessie)

(Dit is eintlik 'n bietjie ou nuus, maar as my gunsteling brandweerstasie leuse verkondig, "Better late than never").

Check dit uit hier: http://www.sharepointbeagle.com/

As jy nie reeds, seker wees om te teken.

Natuurlik, seker wees om te lees my artikel about a real-world SharePoint project (insluitend vereistes definisie, KPI's, inhoud tipes, dashboards and more) as well as my kollega se article about the content query web part.

Daar is baie ander goeie dinge te.

Hoe om te verwyder “Sien alle inhoud van die webtuiste” skakel

Ek vra hierdie vraag byna elke week, gewoonlik in die konteks van 'n sekuriteit bespreking. An administrator/site creator has provisioned a site, ingestel sekuriteit, arranged web parts and customized the quick launch to provide that oh-so-perfect set of options to the end user. Maar, uit die boks, you can’t remove the "view all site content" skakel.

Mark Wagner gee die antwoord hier (http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=36). Sy skryf-up is 'n uitstekende op twee vlakke. Dit bied 'n antwoord op die vraag, "How do I remove the View All Site Content" skakel? Toe, Dit beantwoord die onmiddellike opvolg vraag: Hoe kan ek in staat stel om maklik nie die uitsig inhoud van die webtuiste skakel op 'n webwerf-by-site basis?

As 'n bonus: Sy benadering werk vir WSS, nie net MOSS.

</einde>

Skryf in op my blog!

My eie CodePlex projek: Workflow uitbreidings vir SharePoint Designer

UPDATE: Kyk hier (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!310.entry) vir die nuutste op hierdie projek.

Ek het 'n CodePlex projek vandag die generiese SPD koppelvlak kode wat ek blog oor te huisves hier (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!275.entry).

Het jy 'n blik op hier (http://www.codeplex.com/spdwfextensions) die CodePlex projek om te sien en skop die bande.

As jy belangstel in die werk op hierdie met my, brand af 'n e-pos aan mailto:galvin.paul@gmail.com

SharePoint Designer — N Custom aktiwiteit gebruiker-gedefinieerde C # funksies uit te voer

UPDATE: Dit is vrygestel na CodePlex hier: http://www.codeplex.com/spdwfextensions

UPDATE: Kyk hier vir die jongste vrystellingsaantekeninge: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

UPDATE: Kyk hier my gedagtes oor die kommersialisering van hierdie projek: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

This project provides a custom activity in SharePoint Designer. Use this custom activity to invoke (stuur) any C# function that you incorporated into the linked assembly.

Vanaf die einde van Oktober, 2007, this is just an initial version of the project. I plan to expand it with a number of additional functions, insluitend substring, indeks, vervang, invoking web services and anything that seems useful or interesting. I also plan to post this to codeplex once I have my act together on that front. This will also be deployable as a solution at some point.

As jy enige kommentaar het, vrae of voorstelle, laat hulle asseblief in die kommentaar of epos my.

Vrywaring:

I make absolutely no claims as to the suitability of this for any purpose. Use at your own risk.

Installasie stappe (gevolg moet word vir elke WFE die plaas):

1. Aflaai die zip en onttrek.

2. Install the .dll into the GAC. I usually open c:\windows vergadering deur gebruik te maak van Windows Explorer en kopieer dit daar.

3. Verander Web.config om die vergadering by te voeg tot die veilige beheer:

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

<authorizedType Vergadering = "SpdGenericInterface, Weergawe = 1.0.0.0, Culture = neutral, PublicKeyToken = abe076fd8125f3c4" Naamruimte = "Nivlag-" Type Name = "*" Gemagtigde = "Ware" />

4. Copy "SpdGenericInterface.actions" tot C:\Program Files Common Files Microsoft Shared Web Server Extensions 12 TEMPLATE 1033 Workflow

Let daarop dat die plek is wat spesifiek is aan die Engelse taal installasies.

5. Sluit SharePoint Designer (as dit is reeds oop).

6. iisreset

7. Open Internet DOCUP en die skep van 'n nuwe workflow.

As alles goed gaan, jy moet beloon word met 'n nuwe kategorie van aksie:

beeld

Notas:

Sien hier (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) vir 'n geweldige oorsig van die proses vir die skep van, installering en instel van 'n oplossing soos hierdie.

. Zip is ontwerp om direk te onttrek aan jou c:\ drive. If you do this, jy die projek kan oopmaak en al die paaie sal in ooreenstemming wees.

Om dit te gebruik in die Visual Studio, jy waarskynlik nie nodig om te installeer "Uitbreidings vir Windows WF".

Die aanvanklike oplaai bevat net een "planner funksie", "ToLower()". To add more functionality, voeg dit by die uitvoer metode soos getoon:

 beskerm oorheers ActivityExecutionStatus
          Voer(ActivityExecutionContext executionContext)
        {

            string functionToDispatch;
            functionToDispatch = hierdie.DispatchFunction.ToLower();

            skakel (functionToDispatch)
            {
                geval "Tolower()":
                    {
                        hierdie.OutResult1 = hierdie.InParam1.ToLower();
                        breek;
                    }

                default:
                    {
                        hierdie.OutResult1 = "Onbekende funksie: [" + hierdie.DispatchFunction + "].";
                        breek;
                    }
            }

            terugkeer ActivityExecutionStatus.Gesluit;
        } // ActivityExecutionStatus

    }

Toe, re-build the project and copy the assembly to the GAC. I expect an iisreset would be required.

SPD Workflow persoonlike aksie – kry die <WorkflowInfo> tag reg frustrasie te vermy

Deel van die proses vir die skep van 'n persoonlike aksie vir SharePoint Designer behels die skep van 'n ". Aksies" lêer.

Ek het gevind en probeer om 'n voorbeeld sjabloon wat begin as om te gebruik:

<?xml weergawe="1.0" encoding="UTF-8" ?>
<
WorkflowInfo xmlns="http://schemas.microsoft.com / SharePoint /">
<
Aksies Sekwensiële="dan" Parallel="en">

Egter, that xmlns attribute prevents my environment from working. My actions don’t show up in SPD.

Die oplossing is om te stroop uit die xmlns eienskap, do an iisreset and close/re-open SPD.

Vinnige en maklike: MOSS Konfigureer 'n spesifieke dokument biblioteek te soek

See UPDATE (Ek) below (11/24/07) op Hoe instel Microsoft Office SharePoint Server 2007 Indeks en Crawl netwerk dopgehou vir soek

Doelwit: I want to execute a search restricted to a specific document library. In hierdie geval, die dokument biblioteek bevat opleiding dokumente.

Stappe:

1. Teken die URL van die dokument biblioteek.

2. Skep 'n omvang:

Gaan na die Sentrale Administrasie.

Toegang tot die SSP.

Gaan na die "search instellings".

Scroll af na die omvang afdeling en kies "View Scopes".

Create a new scope. Give it a name and useful description.

3. Definieer omvang crawl reëls:

Voeg 'n reël wat bepaal die dokument biblioteek vir hierdie omvang.

Kies "Webadres" "Omvang Reël Tipe".

Gee die naam van jou gids (sien #1 bo).

Aanvaar die standaard waarde van "sluit".

Wag vir die omvang te werk (of begin dit met die hand).

4. In staat stel om die bestek van 'n webwerf versameling.

Gaan na die site versameling waar jy wil om die omvang te gebruik.

Voeg jou nuwe omvang van die toepaslike vertoning groep of groepe.

5. Soek!

Op hierdie punt, you’re done. Assuming the scope is properly defined, dit sal beskikbaar wees in die bestekke drop downs vir die eenvoudige en gevorderde soektogte en wanneer jy soek met behulp van daardie omvang, jy sal net kry resultate wat jy verwag.

Notas:

Ek het hierdie blog inskrywing omdat my soek vir 'n eenvoudige omvang setup draai droë die gebruik van frases soos:

  • instel bestekke in MOSS
  • instel soek omvang mos
  • bestekke in Sharepoint 2007
  • bestekke in Sharepoint
  • soek 'n dokument biblioteek mos
  • Scopes 1 mos

Jy kan 'n soektog ruimte skep op 'n gids, not just the entire document library.

'N omvang kan gedeel word oor verskeie site versamelings (dus, 'n "gedeelde diens").

You can create the scope at the site collection level itself. Egter, I prefer to go to central admin because I can start the crawl from there. You cannot start the crawl from the site collection.

UPDATE (Ek) soos van 11/24/07:

Kai Shang put together a great post entitled Hoe instel Microsoft Office SharePoint Server 2007 Indeks en Crawl netwerk dopgehou vir soek @ http://kaishenghoo.spaces.live.com/blog/cns!8A7458DB12CA5AC9!206.entry

Technorati Tags: , ,