Kategorija Arhiva: SharePoint Workflow

Stvaranje web-mjesta (SPWeb) putem SharePoint Designer Workflow

This blog entry is more of an "in the realm of the possible" ulazak vs. beton info.

We have a technical design that calls for us to create a site in a site collection via a manually launched workflow process. U osnovi, users enter data into a "new customer" prilagođeni popis i onda kada su završili i potvrđene proces unosa podataka, moramo stvoriti mjesto za tog kupca.

Ja sam veliki obožavatelj i deklarativne rada, kao i slaba Visual Studio programer tijekom rada, pa sam htjela da zadovolji zahtjev pomoću SharePoint Designer.

Planiram pisati o tome podrobnije (i nadamo prisutni na skupinu korisnika ili dva u narednoj godini), ali ovdje je cjelovito rješenje:

  • Stvaranje prilagođene akcije koja se integrira sa SPD.
  • Prilagođene akcije omogućuje SPD zazivati ​​web servis i proći ga niz XML.
  • Web servis smješta red u prilagođenom popisu i stvara novu stranicu po podacima za tog novog klijenta koriste prilagođenu web definiciju.
  • Web servis zatim ažurira prilagođeni popis s nekim informacijama kao što je link na novu stranicu.

Mi smo u obzir i ostale pristupe, such as event handlers and visual studio based workflow. The SPD approach gives our end users a little more control over the process. Granted, postoji puno C # koda u ovom rješenju, ali to je zamotan u deklarativnoj rada, tako da smo dobili neke od prednosti rada, dok deklarativne spaja na web-stvaranje usluga.

All we need now is an easy tool to automatically migrate SPD workflows around as easily as we can for visual studio workflows and we’ll really be cooking with gas 🙂 I understand that some folk are out there working on this problem and I hope they have some good success with it soon.

</kraj>

Pretplatite se na moj blog.

Technorati Tags: ,

Integracija SharePoint Designer Tijekovi rada s Web Services

Ive 'bio igranje okolo sa prilagođenim aktivnostima za SharePoint Designer za neko vrijeme (pogledajte ovdje za neke stvari detaljnije, ako da vas zanima).

U mom trenutnom projektu, we need to do some fairly heavy lifting and we want to use declarative SPD workflow to manage the associated business process.

Da ne duljimo, this is entirely possible. I extended my Codeplex project to invoke a "helper service" and now we can invoke a web service directly from an SPD workflow.

Evo potpis:

 javni niz Dispečer(
        Guid WebID, // Donosi runtime okruženja
        Guid SiteID, // Donosi runtime okruženja
        niz ListID, // Donosi RTE (ne znam zašto je to niz, ne GUID)
        int ListItemID, // Donosi RTE.
        niz XmlMessage) // Donesen od strane korisnika navedenu u SPD.

Ovo iskorištava činjenicu da možemo dobiti na važne informacije tijekom rada, kao mjestu, Popis ID, itd.. This is well documented in several places for those of you interested in creating your own custom actions. The idea is to extract the XML string as provided by the user to dispatch an appropriate procedure. Fun stuff!

Nažalost, to je očito u jednom smjeru do "Loosey gušče" anti-uzorak zemljišta, but it’s better than hitting a brick wall 🙂

Je li protiv uzorak ako to učiniti iako znate da je anti-uzorak?

I hope to wrap this inside Codeplex in the near future. If you’re interested in me doing so, daj mi džaku (e-mail ili ostavio komentar) and I’ll be that more enthusiastic about doing it 🙂

</kraj>

Pretplatite se na moj blog.

Technorati Tags: ,

SPD Workflow “Prikupljanje podataka od korisnika”: Izmjena generirani obrazac zadataka

I’m working on a project that uses five different SharePoint Designer work flows to handle some document approvals. SPD provides the "collect data from a user" akcija, tako da možemo brz korisnik za različite bitova informacija, kao što su to oni odobre, neki komentari i možda pitati što su imali za večeru druge noći.

The forms are perfectly functional. They are tied to a task list as a content type. Oni su 100% system-generated. This is their strength and weakness. If we can live with the default form, then we’re good to go. Međutim, we don’t have too much control over how SPD creates the form. If we don’t like that default behavior, moramo posegnuti za raznim trikovima kako bi dobili oko njega (na primjer, postavljanja prioriteta na zadatku).

Morao sam dati link na tim radnim obrascima koji je otvorio se pogled svojstva (dispform.asxp) of the "related item" in a new window. This provides one-click access to the meta data of the related item. This is what I mean:

slika

Srećom, we can do that and it’s not very hard. Broadly speaking, ložiti SPD, navigate to the directory that houses the workflow files and open the ASPX file you want to modify. These are just classic XSL transform instructions and if you’ve mucked about with itemstyle.xsl, Traženje ili drugih XSL scenarija, this will be easy for you. Zapravo, Otkrio sam da se općenito lakše jer generira oblik je nešto lakše pratiti odnosu na temeljne rezultata pretraživanja web-dijela (ili noćne more CWQP).

Naravno, there is one major pitfall. SPD’s workflow editor expects full control over that file. If you modify it, SPD will happily overwrite your changes give the right set of circumstances. I did two quick tests to see how bad this could get. They both presuppose that you’ve crafted a valid SPD workflow that uses the "collect data from a user" korak.

Test 1:

  • Izmjena ASPX datoteku rukom.
  • Testirajte ga (provjeriti da vaše promjene su spremljene ispravno i ne razbiti ništa).
  • Otvoriti tijek rada i dodati nepovezanih akciju (such as "log to history").
  • Spremi tijek rada.

Rezultirati: U tom slučaju, SPD nije ponovno stvoriti oblik.

Test 2:

  • Učiniti isto kao #1 except directly modify the "collect data from a user" akcija.

Rezultirati: Ovo ponovno stvara obrazac ispočetka, tijekom pisanja-promjena.

Završne napomene:

  • Najmanje dva SPD akcije stvoriti obrasce kao što je ovaj: "Collect Data From a User" and "Assign To Do Item". Both of these actions’ obrasci mogu se mijenjati ručno.
  • Bio sam u mogućnosti generirati svoju vezu, jer dispform.aspx, u ovom slučaju, the relate item always has its ID embedded in the related item’s URL. I was able to extract it and then build an <href> based on it to provide the one-click meta data access feature. It’s unlikely that your URL follows this rule. There may be other ways to get the ID of the related item but I have not had to cross that bridge, tako da ne znam da li dobiva na drugu stranu ponora.
  • Nisam istragu, ali ne bih se iznenadio ako postoji neka vrsta datoteke predloška u 12 košnica koje sam mogao utjecati na to kako se mijenjati SPD stvara zadane obrasce (baš kao što možemo mijenjati predložaka upozorenja).

</kraj>

Pretplatite se na moj blog!

Technorati Tags: ,

Otopina (vrsta): Postavite prioritet zadatka pomoću SharePoint Designer

Imam poslovni scenarij kao što je ovaj:

  • Korisnik slike dokumenta u biblioteku dokumenata.
  • Ona odabire vrstu sadržaja i ulazi u meta podatke prema potrebi. Jedno od područja meta podataka je zastava, "Urgent".
  • To pokreće tijek rada SharePoint Designer da, između ostalog, uses the "Collect Data from a User" akcija.

"Collect Data from a User" stvara stavku u popisu zadataka traži odobrenje za taj dokument.

Morao sam stvoriti pogled na popis zadataka koji je pokazao hitnih zahtjeva za odobrenje.

Otopina: Put the word "URGENT:" into the title of these tasks.

I would have preferred to specify the priority field directly. Međutim, Bio sam u mogućnosti to učiniti za nekoliko razloga:

  1. Prikupiti podaci akcija ne pružaju mehanizam za ažuriranje bilo koje polje, osim naslova (i one dodatne stavke za koje želite da prikupljamo podatke).
  2. The "assign a to do item" akcija ima isti problem.
  3. Moguće je umetanje stavke u popisu (i.e. umetanje stavke u popisu zadataka izravno) but this not a blocking action. That means that the workflow will not wait for the user to complete that task.

Smatrao sam nekoliko pristupa prije (srećom) realizing we could just put "urgent" u naslovu.

  1. Početak tijeka rada na popisu zadataka sama, tako da kada novi zadatak je stvorio, to nekako prijeći reference natrag u dokumentu koji je započeo prvi radni tijek, pull out the urgent flag value and update priority as needed.
  2. Do something similar with an event receiver. On create of the task, pronađite pripadajući dokument i ažurirati prioritet po potrebi.
  3. Use the "create list item" action in conjunction with the "wait for field change" action and an event receiver. If we create a list item, we can specify all the fields we want. Use an event receiver to update the original item when the user completes the task and the "wait for field change" action’s condition would be met and the workflow would proceed. (Iz nekog razloga, Imao sam više ili manje naselili na ovom pristupu prije mudro odluči otići na neko vrijeme).

Tu je nedostatak moje rješenje (osim očitih činjenica da je samo tekst pod naslovom ukazuje hitnost). Since "collect feedback" prihvaća samo tvrdi kodirani naslov imena, I need to use two different collect feedback actions whose only difference is that hard coded title.

Ali, barem postoji rješenje koje ne zahtijeva događaja prijemnike ili prilagođene SPD akcije.

Ako je netko riješio ovaj u više pametan način, javite mi.

</kraj>

Brzo i jednostavno: Automatski otvoriti InfoPath obrazac iz SharePoint Designer Oglašivača

UPDATE: Madjur Ahuja ističe ovaj link od grupa raspravu: http://msdn2.microsoft.com/en-us/library/ms772417.aspx. It’s pretty definitive.

===

We often want to embed hyperlinks to InfoPath forms in emails sent from SharePoint Designer workflows. When users receive these emails, oni mogu kliknuti na link s e-pošte i otići izravno na InfoPath obrasca.

Ova građevina čudovište URL radi za mene:

http://server/sites/departments/Technical Services/InformationTechnology/HelpDesk/_layouts/FormServer.aspx?XmlLocation=/sites/departments/Technical Services/InformationTechnology/HelpDesk/REC REM RED Forms/REC2007-12-18T11_33_48.xml&Source=http://server.corp.domain.com/sites/departments/Technical%20Services/InformationTechnology/HelpDesk/REC%20REM%20RED%20Forms/Forms/AllItems.aspx&DefaultItemOpen = 1

Zamijenite podebljane crveni tekst s imenom obliku, kao što je prikazano u sljedećoj slici:

slika

Imajte na umu da postoji mnogo hard-kodirane u tom putu URL, as well as a URL-encoded component. If this is too hard to translate to your specific situation, try turning on alerts for the form library. Post a form and when you get the email, vidjeti izvor e-pošte i vidjet ćete sve što je potrebno uključiti.

Astute readers may notice that the above email body also shows a link that directly accesses the task via a filtered view. I plan to explain that in greater detail in a future post.

</kraj>

Technorati Tags:

MOSS mi govori “Pristup odbijen” Uređivanje zadatka tijeka rada, Ali ja stvarno nemaju pristup

Sam provodi tijek rada koristeći SharePoint Designer u mjestu koje je uglavnom za čitanje samo na "NT_AUTHORITY Potvrđeni korisnika" (i.e. svako). There is a forms library for an InfoPath form. There is an associated workflow tasks list as well so that when the workflow operates, može dodijeliti zadatke osobama.

Sam razbiti dopuštenje za oblika knjižnice i popis zadataka tako da bilo ovjerena korisnik može kreirati i ažurirati svoje oblike dodijeljene zadatke.

I test with my low-privileges test account.

Mogu ispuniti i spremite obrazac za knjižnicu? –> DA

Mogu li pristupiti zadatak iz e-mail vezu? –> DA

Mogu li vidjeli vezu Uredi zadatka tijeka rada –> DA

Mogu kliknuti na taj link? –> NO … Dopuštenje odbijen.

Zašto ne mogu vidjeti link uredi poriče da mi dozvolu, kada sam kliknite na njega? That’s not how it’s supposed to work…

Sam proći kroz sigurnosne konfiguracije ponovno, very closely. I do it again. Smatram brisanja ovaj post jer ja očito ne znam ništa o sigurnosti.

Konačno, I search the Internets. I find this highly unlikely MSDN forum thread: http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=1838253&SiteID=17

Plakati čini se da sugerira da je jednostavan čin izvoz tijek rada pogona pladnju će popraviti problem Moss sigurnost? I can hardly believe I just typed that. I’m reminded of the South Park episode about the 9/11 zavjera u kojima se traže naše Stan Preznit, "Stvarno?" over and over again.

Tako, ništa za izgubiti, I vatra se SPD, desnom tipkom miša na tijek i spremite ga na moj st.:\ drive. That would be the c:\ drive on my laptop. I’m looking over my shoulder the whole time so that no one will ask me, "Zašto se spremate da je tijek rada vašem prijenosnom računalu?"

Nevjerojatno, that solves my problem. I can edit the task.

Ovime nominirati da je to najbizarnijim Workflow Zaobilazno rješenje je 2007.

</kraj>

Technorati Tags:

SharePoint Designer, Trenutni stavke “Apsolutni URL kodirana” i HTTPS

We often want to send an email that includes a hyperlink to the item or document that triggered the workflow. We can use current item’s "Encoded Absolute URL" for this purpose. Međutim, to uvijek izgleda kao da koristite "http" for the URL protocol. If your site runs on HTTPS then it will not work for you.

slika

Koliko ja znam, there is no out of the box solution to this problem. If you need to use HTTPS, nemate out of the box opcije.

Da biste ga riješiti, create a custom action that provides a string replace function to use in your workflow. Alternatively, koristiti 3. alat strana kao što je odličan paket ovdje: http://www.codeplex.com/spdwfextensions 🙂

</kraj>

Technorati Tags: ,

SharePoint Designer E-mail šalje ???? u e-poštu

Forum korisnici povremeno pitati: Zašto SharePoint Designer staviti ???? u moj e-mail, umjesto polja vrijednosti?

Jedan od razloga se to dogodi, jer je varijabla u koju se odnose null.

To se može dogoditi, jer se pokušava referencirati polje iz "tekuće stavke" ali korisnik nije ušao u tu vrijednost polja obrasca.

<kraj />

Technorati Tags:

Usporedi / Test za prazne Datumi u programu SharePoint Designer Workflow

Scenario: U tijeku rada SharePoint Designer, you need to determine if a date field is blank.

Problem: SPD does not provide a direct method for comparing dates to anything other than a date. You cannot create a condition like this: "Ako [DateField] jednako prazna ".

Otopina: Convert the date to a string. Use string comparison to determine if the date is blank.

Screen Shots:

The following screen shots show how to do this. U ovom scenariju, a field on an item, "Environmental Permits:First Permit Reminder Date", is submitted and the workflow fires in response.

slika

slika

Bilješke:

When I tried this, I was pleasantly surprised to learn that it works. I was worried that SharePoint Designer might disallow the string assignment (Varijabla:StringReminderDateDate) but it did allow it.

I was also concerned that allowing it, the value might be null and either blow up the WF at runtime or maybe raise the global temperature 1/2 a degree, but those concerns were unfounded.

</kraj>

Technorati Tags:

SharePoint Designer Workflow Custom Akcija — Promatranje O <Područje Kravata Dizajner Type =”StringBuilder” … />

Just a quick Ustanovljeno je da postoji vrlo važna razlika između ove dvije definicije:

<FieldBind Field="InParam1" DesignerType="StringBuilder" Id="2" Text="Input parameter #1"/>

protiv:

<FieldBind Field="InParam1" Id="2" Text="Input parameter #1"/>

Prvi pokazuje kao što je ovaj u SPD:

slika

dok je potonji pokazuje kao što je ovaj:

slika

I’m not sure how helpful these screen shots are but I put in the effort to make them so you have to view them 🙂

Promatranje je to: StringBuilder omogućiti da izgrade niz (očito) Zajedno string literali miješanjem podataka i workflow (via the "Add Lookup" Gumb u-donjem lijevom kutu). When you use the Add Lookup button, it inserts a token in the form "[%tokena%]". When SharePoint invokes your custom action, (C # koda u mom slučaju), SharePoint prolazi-token sama, not the value of the token. If you use the default designer type (-I drugi tip), Proširi SharePoint i položi-token-token za stvarne vrijednosti svog djelovanja.

StringBuilder = LOŠE, Zadana dizajnerica putovanja = DOBRO.

Naravno, that’s not what I really mean. Just don’t try and pass a parameter to your custom action when the designer type = StringBuilder. Use the default designer type and chain a StringBuilder to it up front if you need to build complex strings in your workflow (koji usput rečeno je točno ono što čovjek čini stvoriti dinamičnu temu za e-akcije, ali to je tema za neki drugi blog stupanja, Har Har).

<kraj />