SPD egendefinerte arbeidsflythandlinger — streng manipulasjon forbedringer

Om en uke siden, Jeg startet opp en codeplex prosjekt som gir en enkel og rimelig generisk metode for å legge til egendefinert handling funksjoner SharePoit Designer arbeidsflyt. Det er beskrevet her: http://www.codeplex.com/spdwfextensions. Utover bare å gi en ramme, det skal også gi en rekke nyttige funksjoner som vil gjøre SPD nyttig/fleksibel/kraftigere.

Her er de gjeldende planlagte funksjonene for versjon 1.0: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

Hvis noen har noen interesse i dette prosjektet, Vennligst legg igjen en kommentar eller start/Legg til en diskusjon her: http://www.codeplex.com/spdwfextensions/Thread/List.aspx

Her er gjeldende sett med funksjoner som har vært kodet (skjønt testet ikke fullstendig som 11/08/07):

Funksjonen Beskrivelse (Hvis ikke samme som .net-funksjon)
NUM-poster() Returnerer antallet "postene" i en streng som angitt skilletegn.

For eksempel: NUM-oppføringer i en streng "en,b,c" med skilletegnet"," = 3.

Oppføring() Returnerer den n'te tokenet i en streng som angitt skilletegn.
Lengde String.Length
Erstatt() String.Replace()
Inneholder() String.Contains()
Returnerer ordet "true" eller ordet "false".
Delstreng(Start) String.Substring(Start)
Delstreng(Start,slutten) String.Substring(Start,slutten)
ToUpper() String.ToUpper()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
Returnerer ordet "true" eller ordet "false".
EndsWith() String.EndsWith()
Returnerer ordet "true" eller ordet "false".

Rask & lett url koding desktop verktøy

Jeg har behov til url-kode noe strenger denne uken og slo sammen en en liten nytte det jeg trodde jeg ville sette på SkyDrive for samfunnet.

Få den binære her: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncode.zip

Få visual studio-løsningen her: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncodeVS2005.zip

Her er et skjermbilde:

bilde

Rask og enkel: Bygge inn en hyperkobling i webdelen for datavisning XSLT

OPPDATERINGEN (01/17/08): Dette blogginnlegget snakker om mer hyperkobling XSL godhet: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.

Oversikt og mål: Jeg hadde laget et enkelt stolpediagram som komponent på et instrumentbord. Jeg vil lagre detaljene på å bygge diagrammer for en annen post, men jeg fant ikke opp det teknikken (eller spørsmålstegnet, for saks skyld). Det viste seg det var en feil i diagrammet, og mens jeg løst som, Jeg benyttet anledningen til å konvertere noen etiketter i hyperkoblinger som pekte på den underliggende listen bak diagrammet. For eksempel, Det er en etikett med verdien "Hold". Jeg ønsket å slå etiketten til en hyperkobling, slik at brukeren kan klikke på den og gå til bestemte oppføringer i listen som er "Hold".

Trinn:

  1. Bruk visual studio for å SharePoint-aware intellisense.
  2. Kopier den DVWP XSLT til visual studio (opprette et tomt prosjekt, Legg en XSL-fil til prosjektet).
  3. Kopiere koblingen du vil bruke til utklippstavlen.
  4. Lim den inn i den riktige lokasjonen i XSL.
  5. Konvertere URL argumentet skilletegn på spørsmålet hyssing fra"&" til"&"
  6. URL-kode argumenter.
  7. Vikle den inne en <et href…> </en>

Eksempel:

Jeg har en URL-adresse:

http://[Server]/[nettstedet]/Lists/Open Positions/AllItems.aspx?Vis ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = rekrutterer&FilterValue1 = vent

Jeg konvertere den til:

     <en href="Lists/Open Positions/AllItems.aspx?Vis = % 7b84EEA2F5-121B-40B7-946F-
0FA704A1DAA1 %7 d&amp;FilterField1 = rekrutterer&amp;FilterValue1 = vent"> Hold: </en>

Jeg har manuelt forvandlet det første argumentet fra:

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

til:

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

(I dette, åpningsparentes transformeringene til % 7b og avsluttende klammeparentes transformeringer til %7 d)

Andre og tredje argumentene’ parametere ("FilterField1 =Rekrutterer" og "FilterValue1 =Hold" henholdsvis) trenger ikke å være url-kodede fordi de ikke inneholder usikre tegn.

Notater:

Denne teknikken bør generelt arbeide hvor som helst du vil bygge inn en hyperkobling i XSLT der hyperkoblingen inneholder parameterne i Webadressen som:

http://[Server]/[nettstedet]/Lists/Open Positions/AllItems.aspx?Vis ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = rekrutterer&FilterValue1 = vent

Jeg fikk selve Webadressen ved tilgang til den egendefinerte listen og manuelt filtrering på statuskolonnen (merket "rekrutterer" ovenfor).

Rask og enkel: Aktiver SharePoint Designer arbeidsflyt oppdatere et InfoPath-skjema

Scenario: Jeg har et InfoPath-skjema som front-ender en arbeidsflytsprosess implementert ved hjelp av SharePoint Designer. På et tidspunkt, en leder må godkjenne skjemaet. Siden jeg kan ikke telle på Arbeidsflytlogg å møte min revisjon krav, Jeg vil lagre min egen overvåking melding direkte på selve skjemaet.

Oversikt:

Utforme skjemaet og publisere den som en innholdstype og selve skjemaet til et dokumentbibliotek. Mark ønsket felt som oppdateres fra MOSS. Skjemaet er knyttet til innholdstypen og innholdstypen er "knyttet" til et skjemabibliotek (eller mange, hvis du vil). Skrive en arbeidsflyt som oppdaterer feltet.

Fremgangsmåten:

  1. Opprett et dokumentbibliotek. Dette vil holde din InfoPath-mal.
  2. Opprett et skjemabibliotek.
  3. Opprette InfoPath-skjemaet. Inkluder et tekstfelt, "Overvåkingsmeldingen".
  4. Publisere skjemaet som en innholdstype (IKKE et dokument).
  5. Under utfylling publisering dialoger:
    en) Lagre XSN-filen i dokumentbiblioteket (Trinn #1).
    b) Publisere overvåkingsmeldingen"" feltet og merke sant: "Tillat brukere å redigere data i dette feltet ved hjelp av et dataark eller en egenskapsside".
    c) Opprett en ny innholdstype og gi den et passende navn.
  6. Tilgang til skjemabiblioteket.
    en) Gå til avanserte innstillinger og aktiverer skjemabiblioteket å behandle innholdstyper.
    b) Velg nyopprettede innholdstypen (5c ovenfor). Det blir gruppert under "Microsoft InfoPath" (eller lignende).
    c) Fjerne standard "Form" innholdstypen fra biblioteket.
    d) Mark biblioteket til "Vis som webside" slik at skjemaet vil åpne fra SharePoint og ikke InfoPath workstation-klient.
  7. Gå tilbake til skjemabiblioteket riktig og klikk "ny" bare bekrefte at skjemaet er skrevet riktig og handle som du vil..
  8. Fyr opp SharePoint Designer og gå til webområdet som er vert for skjemabiblioteket (fra trinn 2).
  9. Opprett en ny arbeidsflyt knyttet til skjemabiblioteket.
  10. Legge en handling "Angi feltet i gjeldende element". Du bør forvente SharePoint Designer listen du er feltet, "Overvåkingsmeldingen". Tilordne det en verdi.
  11. Klikk Fullfør og gå tilbake til skjemabiblioteket.
  12. Opprette et nytt skjema og sette noen testverdi i overvåkingsmeldingen"" feltet.
  13. Lagre det og gå tilbake til skjemabiblioteket.
  14. Høyreklikk, Velg "arbeidsflyt" og starte arbeidsflyten.
  15. Det bør kjøre nesten umiddelbart. Trekke opp skjemaet (fra trinn 12) og hvis alt har gått for å planlegge, "Overvåkingsmeldingen" er tilordnet uansett verdien du angav i trinn 10.

Notater:

Ikke alle kontroller kan konfigurert for denne toveis kommunikasjon. For eksempel, Det synes ikke å gjennomføre en SPD arbeidsflyt som endrer tekstfelt innpakket i gjentatte inndelinger.

En av den viktige ta plasseringen her er at vi virkelig har laget en innholdstype med en tilknyttet mal. Dette også mulig å lagre flere InfoPath-skjemamaler i samme skjemabiblioteket.

Dette krever skjemaer server. Det kommer absolutt ikke til å arbeide i en WSS 3.0 miljø og sannsynligvis enda krever en Enterprise SharePoint-miljøet.

Beagle har landet (Oktober 2007 problemet)

(Dette er faktisk en litt gammel nyheter, men som min favoritt brannstasjon motto proklamerer, "Bedre sent enn aldri").

Sjekk det ut her: http://www.sharepointbeagle.com/

Hvis du ikke allerede har, Sørg for å melde seg på.

selvfølgelig, Les min artikkel om virkelige verden SharePoint prosjekter (inkludert definisjon av krav, KPIS, innholdstyper, oversikter og mer) i tillegg min kollega artikkel om webdelen for innholdsspørring.

Det er mange andre gode ting også.

Hvordan fjerne “Vis alt områdeinnhold” kobling

Jeg spurte dette spørsmålet nesten hver uke, vanligvis i forbindelse med en sikkerhet diskusjon. En administrator/site creator har klargjort et område, konfigurerte sikkerhet, arrangert web deler og tilpasset Hurtigstart for å gi det oh-så-perfekte settet med alternativer for sluttbrukeren. men, esken, Du kan ikke fjerne den "Vis alt områdeinnhold" kobling.

Mark Wagner gir svaret her (http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=36). Hans skrive opp er veldig bra på to nivåer. Det gir et svar på spørsmålet, "Hvor gjøre jeg fjerne det Vis alt områdeinnhold" kobling? Deretter, svar umiddelbart etterarbeid spørsmålet: Hvordan lar jeg lett visningen alt områdeinnhold kobling på område-for-område-basis?

Som en bonus: Hans tilnærmingen fungerer for WSS, ikke bare MOSS.

</slutten>

Abonner på bloggen min!

Min egen CodePlex prosjektet: Arbeidsflyt utvidelser for SharePoint Designer

OPPDATERINGEN: Se her (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!310.entry) for siste nytt om dette prosjektet.

Jeg opprettet en CodePlex prosjektet i dag til huset generiske SPD grensesnittet koden som jeg blogget om her (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!275.entry).

Ta en titt på her (http://www.codeplex.com/spdwfextensions) se CodePlex prosjektet og kick dekkene.

Hvis du er interessert i å jobbe på dette med meg, fyre av en e-post på mailto:galvin.paul@gmail.com

SharePoint Designer — Egendefinerte aktiviteten utføres brukerdefinerte C# funksjoner

OPPDATERINGEN: Dette er blitt befridd å CodePlex her: http://www.codeplex.com/spdwfextensions

OPPDATERINGEN: Se her for seneste produktmerknadene: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

OPPDATERINGEN: Se her for mine tanker om å kommersialisere dette prosjektet: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Dette prosjektet inneholder en egendefinert aktivitet i SharePoint Designer. Bruk denne egendefinerte aktiviteten starte (utsending) en C#-funksjon som du innlemmet i samlingen koblet.

Som i slutten av oktober, 2007, Dette er bare en første versjon av prosjektet. Jeg planlegger å utvide det med en rekke tilleggsfunksjoner, inkludert delstreng, index, Erstatt, bruke webtjenester, og alt som synes nyttig eller interessant. Jeg har også tenkt å legge dette til codeplex når jeg har min handle sammen på den fronten. Dette vil også være deployerbare som en løsning på et tidspunkt.

Hvis du har noen kommentarer, spørsmål eller forslag, Vennligst la dem i kommentarer eller email meg.

Ansvarsfraskrivelse:

Jeg gjør absolutt ikke krav om egnetheten av denne til formål. Bruk på eget ansvar.

Installasjonstrinnene (å bli fulgt for hver WFE i farmen):

1. Last ned zip og pakk.

2. Installere dll i GAC. Jeg åpne vanligvis c:\windowsassembly med windows Utforsker og kopiere det der.

3. Endre web.config for å legge til samlingen sikker kontrollene:

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

<authorizedType montering = "SpdGenericInterface, Versjon = 1.0.0.0, Culture = neutral, PublicKeyToken = abe076fd8125f3c4" Namespace = "Nivlag" TypeName = "*" Autorisert = "True" />

4. Kopiere "SpdGenericInterface.actions" c:\Programmet FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATE1033Workflow

Merk at plasseringen ovenfor gjelder engelsk installasjoner.

5. Lukk SharePoint Designer (Hvis det er åpent).

6. iisreset

7. Åpne SPD og opprette en ny arbeidsflyt.

Hvis alt går bra, du burde bli belønnet med en ny kategori av handlingen:

bilde

Notater:

Se her (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) for en fantastisk oversikt over prosessen for oppretting, installere og konfigurere en løsning som dette.

Zip er utformet for å trekke ut direkte til deg c:\ stasjon. Hvis du gjør dette, Du kan åpne prosjektet og alle banene blir konsekvent.

Bruke dette i visual studio, du nød sannsynligvis å installere "Utvidelser for Windows WF".

Første opplasting inneholder bare én "dispatcher funksjon", "ToLower()". Legge til mer funksjonalitet, legge det til Execute-metoden som vist:

 beskyttet overstyre ActivityExecutionStatus
          Kjøre(ActivityExecutionContext executionContext)
        {

            streng functionToDispatch;
            functionToDispatch = Dette.DispatchFunction.ToLower();

            bytte (functionToDispatch)
            {
                saken "tolower()":
                    {
                        Dette.OutResult1 = Dette.InParam1.ToLower();
                        pause;
                    }

                standard:
                    {
                        Dette.OutResult1 = "Ukjent funksjon: [" + Dette.DispatchFunction + "].";
                        pause;
                    }
            }

            avkastning ActivityExecutionStatus.Stengt;
        } // ActivityExecutionStatus

    }

Deretter, bygge prosjektet på nytt og kopiere samlingen til GAC. Jeg forventer en iisreset ville være nødvendig.

Egendefinert handling for SPD-arbeidsflyt – få den <WorkflowInfo> koden rett til å unngå frustrasjon

En del av prosessen for å opprette en egendefinert handling for SharePoint Designer involverer lage en ".actions" fil.

Jeg har funnet og prøvde å bruke en eksempelmal som starter av som:

<?XML versjon="1.0" koding="UTF-8" ?>
<
WorkflowInfo xmlns="http://schemas.Microsoft.com/SharePoint/">
<
Handlinger Sekvensiell="deretter" Parallell="og">

Men, attributtet xmlns hindrer miljøet mitt fungerer. Mine handlinger vises ikke i SPD.

Løsningen er å fjerne attributtet xmlns, gjøre en iisreset og Lukk/re-open SPD.

Rask og enkel: Konfigurere MOSS å søke et bestemt dokumentbibliotek

Se oppdatere (JEG) under (11/24/07) på Hvordan du konfigurerer Microsoft Office SharePoint Server 2007 til indekserings- og nettverksmapper for kravlesøk for søk

Målsetting: Jeg vil utføre et søk som er begrenset til et bestemt dokumentbibliotek. I dette tilfellet, dokumentbiblioteket inneholder opplæringsdokumenter.

Trinn:

1. Spille inn URL-Adressen til dokumentbiblioteket.

2. Opprette et område:

Gå til Sentraladministrasjon.

Tilgang SSPEN.

Gå til "Søke innfatningene".

Bla til definisjonsområde og velg "Vis omfang".

Opprette et nytt omfang. Gi det et navn og nyttig beskrivelse.

3. Definere omfanget kravlesøkregler:

Legge til en regel som definerer dokumentbiblioteket for dette området.

Velg "web-adresse" for "Type omfangsregel".

Angi navnet på mappen (se #1 ovenfor).

Godta standardverdien for "Inkluder".

Vente på omfanget oppdatere (eller starte det manuelt).

4. Aktiver området i en områdesamling.

Gå til området der du vil bruke dette omfanget.

Legge til nye omfanget egnede vise gruppen eller gruppene.

5. Søk!

På dette punktet, du er ferdig. Forutsatt at omfanget er riktig definert, det vil være tilgjengelig i rullegardinlistene områder for enkel og avansert søk, og når du søker med at omfanget, du får resultatene du forventer.

Notater:

Jeg skrev dette blogginnlegget fordi etter enkle omfang installasjonsprogrammet dukket opp tørke med setninger som:

  • konfigurere omfang i MOSS
  • konfigurere søk omfang moss
  • områder i sharepoint 2007
  • områder i sharepoint
  • søke en dokumentet bibliotek moss
  • omfang primer moss

Du kan opprette et søkeomfang for en mappe, ikke bare for hele dokumentbiblioteket.

Et område kan deles over flere områdesamlinger (dermed, en "delt tjeneste").

Du kan opprette området på områdesamlingsnivå selv. Men, Jeg foretrekker å gå til Sentraladministrasjon fordi jeg kan starte kravlesøket fra der. Du kan ikke starte kravlesøket fra områdesamlingen.

OPPDATERINGEN (JEG) som 11/24/07:

Kai Shang satt sammen en stor post rett Hvordan du konfigurerer Microsoft Office SharePoint Server 2007 til indekserings- og nettverksmapper for kravlesøk for søk @ http://kaishenghoo.spaces.live.com/blog/cns!8A7458DB12CA5AC9!206.entry

Technorati Merkelapper: , ,