Kategoriarkiv: SharePoint-arbeidsflyt

Tidlig arbeidsflyt aktivisering — En ikke-medisinsk-løsning

OPPDATERINGEN: Se denne MSDN-diskusjon, spesielt den siste posten: http://forums.microsoft.com/MSDN/showpost.aspx?postid=2631057&siteid=1. Den beskriver en tilstand som kan kort krets hele greia. Kort sagt, Det kan være så enkelt som å gjøre minst ett av feltene obligatorisk.

Jeg har et dokumentbibliotek som støtter åtte innholdstyper.

Jeg har en SharePoint Designer arbeidsflyt som ønsker å beregne og tilordne en "påminnelsesdato" trekke 30 dager fra en annen kolonne, "forfallsdato". Dette bør bare skje for en av innholdstyper, "Forsikring". Virksomhetens mål er å produsere en KPI som viser to kategorier for forsikring dokumenter: "ferd med å utløpe" og "utløpt." (Du kan lese mer om denne typen KPI og mer betydelig drill-down her).

Jeg har konfigurert arbeidsflyten brann når et nytt element opprettes og når et element endres. Tanken er at når en forsikring dokumentet lastes, vi beregne en "Advarsel dato" basert på utløpsdatoen. Et par visninger fungerer i forbindelse med en ytelsesindikatorliste å utheve disse betingelsene når brukere rammet deres hjemmeside.

Denne strategien fungerer ikke når jeg laste opp et dokument.

Jeg laste opp dokumentet og jeg presenterte med meta data oppføring skjermen. På dette punktet, Jeg er allerede i trøbbel. SharePoint har allerede, for tidlig fra mitt perspektiv, starter arbeidsflyten. Jeg har ikke hatt en sjanse til å plukke riktig innholdstype eller tilordne en forfallsdato. På samme tid, arbeidsflyten, aktiveres ikke når jeg trykke Send-knappen på denne tiden. Det er noen innebygd logikk som "tror" som først sende er en del av det "opprette" hendelse. Så … min arbeidsflyt har avfyrt og når det utføres, Det ble vedtatt standard meta dataverdier.

Beste arbeidet rundt jeg vet om er å sette inn en "pause før" -aktivitet i arbeidsflyten. Jeg har arbeidsflyt pause for 1 minutt. Mens det er pause, Jeg velge den riktige innholdstypen, Angi metadata og sende. Pause fullført og fortsetter arbeidsflyten etter behov. (Merk at det i mitt miljø, timer arbeidsflytaktiviteter fra SPD fungerer ikke ut av boksen. Du kan ha samme problemer. Se her for mer informasjon).

Jeg liker ikke "magiske forsinkelse" arbeid rundt. Hva skjer hvis du laster opp et dokument og telefonen ringer og påfølgende samtalen outlasts pause? Jeg kan gjøre pause lenger, men jeg fortsatt liker ikke det.

Jeg skrev om dette på MSDN-foraene her: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2430725&SiteID=1

Rask og enkel: Send en epost med innebygde hyperkoblingen fra SharePoint Designer arbeidsflyt

En eller to ganger måneden, noen legger ut et spørsmål på forumet: "Hvordan inkluderer jeg hyperkoblinger til URL-er som er klikkbare fra en e-post for SharePoint Designer?"

Presentert uten ytterligere kommentar: (Vel, faktisk er det ytterligere kommentar etter bildet):

bilde

Becky Isserman følger opp med en nyttig forklaring på hvordan du bygger inn en kobling til et element i e-posten: http://www.sharepointblogs.com/mosslover/archive/2007/11/20/addition-to-paul-galvin-s-post-about-sending-an-e-mail-with-hyperlinks-in-spd.aspx

Technorati Merkelapper: , ,

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.

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.

SharePoint Designer, “Samle inn Data fra bruker” og ved hjelp av disse resultatene.

Bruke "samle Data fra brukeren" å opprette og tilordne en oppgave til en bruker som ber dem for data. Blant annet, Jeg har brukt den til å be en bruker til å godkjenne eller avvise en forespørsel og inn noen kommentarer.

Denne handlingen tar form av:

Samle data fra Denne brukeren (Utdata til Variabel: collect1)

Å klikke på data trekker opp en serie dialogbokser der du kan angi hvilke data du bør gi når ferdig og Denne brukeren er åpenbart.

Output del (Variabel: collect1) lagrer IDen til oppgaven. Du bruker dette i arbeidsflyten for å trekke brukerens faktiske svar via den "Sammenlign alle datakilder" tilstand.

Denne betingelsen vises som

Hvis feltet er lik verdi

Klikk på feltet og deretter f(x) ikonet og det trekker opp en annen dialogboks. Bruk denne generalisert dialogboksen til å fortelle SPD to ting;

1. Hva er listen og kolonnen som inneholder verdien du vil sammenligne.

2. Hvordan bør arbeidsflytmotoren finne bestemte raden i listen?

Dette:

  1. Endre "kilde" dropdown å peke på riktig oppgavelisten. Merk at dialogboksen utvides til å vise en "Finn the listeelement" delen.
  2. I Oppslagsdetaljer feltet rullegardinlisten, Velg navnet på feltet som inneholder verdien du vil (Dette tilordner til hva du heter i dialogboksen samle inn data fra over).
  3. I "Søk listeelementet" delen, Velg "oppgaver:ID" i rullegardinlisten for feltet.
  4. I verdifeltet, Klikk på f(x). Enda en dialogboksen åpnes.
  5. Endre kilden "arbeidsflyt Data"
  6. Velg arbeidsflytvariabelen som passer til "Output til variabelen" fra handlingen innsamling av data.
  7. Klikk OK/OK og du er ferdig.

Det ser slik ut for meg:

bilde

På dette punktet, Du kan nå bruke denne verdien i arbeidsflyten som kreves.

Flere merknader:

Som en kort side, Jeg lage alltid en passende navnet arbeidsflytvariabel av typen "listeelement-IDen" og bruk som for den automatisk genererte "collect1".

Denne "sammenligne en datakilde" dialogboksen brukes på flere forskjellige steder i SPD og er vel verdt å mestre.

== slutten

Technorati Merkelapper: