Kategoria: Archiwum: Przepływ pracy programu SharePoint

Tworzenie witryn (Sieci Web programu SharePoint) za pomocą przepływu pracy programu SharePoint Designer

Ten wpis blogu jest więcej "w dziedzinie możliwe," wpis vs. konkretne informacje.

Mamy projekt techniczny, który wzywa nas do utworzenia witryny w zbiorze witryn poprzez proces przepływu pracy ręcznie uruchomiła. Zasadniczo, wprowadzanie danych przez użytkowników do nowego klienta"" Lista niestandardowa i następnie kiedy zostały zakończone i sprawdzone procesu zapisu danych, musimy utworzyć witrynę dla tego klienta.

I 'm zarówno fanem big deklaracyjne przepływu pracy, jak również programista przepływu pracy słabe programu visual studio, tak I wanted to wymaganie przy użyciu programu SharePoint Designer.

Zaplanować do pisania o to bardziej szczegółowo (i mamy nadzieję, że obecnie do grupy użytkowników lub dwóch w nadchodzącym roku), ale tutaj jest całościowe rozwiązanie:

  • Utwórz niestandardową akcję, która integruje się z jednolitego dokumentu programowego.
  • Akcja niestandardowa pozwala SPD do wywołania usługi sieci web i przekazać je ciąg XML.
  • Usługa sieci Web lokalizuje wiersz na liście niestandardowe i tworzy nową witrynę według danych dla nowego klienta przy użyciu definicji witryny niestandardowej.
  • Usługa sieci Web następnie aktualizuje niestandardową listę z niektóre informacje takie jak łącze do nowej witryny.

Rozważaliśmy też inne podejścia, programy obsługi zdarzeń i przepływu pracy programu visual studio w oparciu. SPD podejście daje naszym użytkownikom trochę więcej kontroli nad procesem. Przyznane, istnieje wiele kod C# w tym roztworze, ale jest wlana deklaracyjne przepływu pracy, tak otrzymujemy niektóre z korzyści deklaracyjne przepływu pracy podczas podłączania do usługi tworzenia witryn.

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.

</koniec>

Subskrybowanie mój blog.

Technorati znaczniki: ,

Włączenie przepływów pracy programu SharePoint Designer z usług sieci Web

I zabawy z niestandardowych działań dla SharePoint Designer, za jakiś czas (patrz: tu niektóre szczegółowe rzeczy, Jeśli to Cię interesuje).

W bieżącym projekcie, musimy zrobić kilka dość podnoszenia ciężkich i chcemy używać deklaracyjne SPD przepływu pracy do zarządzania procesem związane biznesu.

Długa historia krótkiego, jest to całkowicie możliwe. Przedłużyłem mój projekt Codeplex do wywołania usługi pomocnicze"" i teraz możemy wywołać usługę sieci web bezpośrednio z SPD przepływu pracy.

Oto podpis:

 publiczne ciąg Dyspozytor(
        Identyfikator GUID WebID, // Przeszedł przez środowisko uruchomieniowe
        Identyfikator GUID SiteID, // Przeszedł przez środowisko uruchomieniowe
        ciąg ListID, // Przeszedł przez RTE (nie wiem, dlaczego jest to ciąg, nie identyfikator GUID)
        int ListItemID, // Przeszedł przez RTE.
        ciąg XmlMessage) // Przekazane przez użytkownika deklarowane w SPD.

To wykorzystuje fakt, że możemy uzyskać w pracy ważne informacje, jak witryny, Identyfikator listy, itp. Jest to dobrze udokumentowane w kilku miejscach, dla tych z was, które są zainteresowane w tworzeniu własnych akcji niestandardowych. Chodzi o to, aby wyodrębnić ciąg XML, jak przez użytkownika do wysłania odpowiedniej procedury. Zabawne rzeczy!

Niestety, Oczywiście jest to bilet w jedną stronę w dół do "Loosey Goosey" anty-wzór ziemia, but it’s better than hitting a brick wall 🙂

Jest to anty-wzór jeśli zrobisz to, nawet jeśli wiesz, że jest anty-wzór?

Mam nadzieję, że do zawijania to wewnątrz witrynie Codeplex w najbliższej przyszłości. Jeśli jesteś zainteresowany w mnie w ten sposób, daj mi grzebać (Adres e-mail lub Zostaw komentarz) and I’ll be that more enthusiastic about doing it 🙂

</koniec>

Subskrybowanie mój blog.

Technorati znaczniki: ,

SPD przepływu pracy “Zbieranie danych od użytkownika”: Zmodyfikować formularz wygenerowany zadania

Pracuję nad projektem, który używa pięciu różnych przepływów pracy programu SharePoint Designer do obsługi niektórych Akceptacje dokumentów. JDP stanowi "Zbierz dane od użytkownika" działania tak, że będziemy monitować użytkownika o różnych bitów informacji, takich jak, czy udzielają, Niektóre komentarze i może zapytać, co mieli na obiad drugiej w nocy.

Formularze są idealnie funkcjonalny. Są one powiązane z listy zadań jako typ zawartości. Są one 100% wygenerowane przez system. Jest to ich siła i słabość. Jeśli możemy żyć z domyślnego formularza, Następnie mamy iść. Jednakże, nie mamy zbyt wiele kontroli nad jak SPD tworzy formularz. Jeśli nie podoba nam się to domyślne zachowanie, Musimy uciekać się do różnych sztuczek, aby ominąć (na przykład, ustawienie priorytetu zadania).

Musiałem podać link na formularze te zadania, które otworzył właściwości widoku (DispForm.asxp) "odnośnych pozycji" w nowym oknie. Zapewnia to jednego kliknięcia dostęp do danych meta odnośnych pozycji. To, co mam na myśli:

obraz

Na szczęście, możemy to zrobić i nie jest to bardzo trudne. Ogólnie rzecz biorąc, odpal SPD, Przejdź do katalogu, że domy pliki przepływu pracy i otwarcia pliku ASPX, którą chcesz zmodyfikować. Są po prostu klasyczne instrukcje transformacji XSL i jeśli już spasował z itemstyle.xsl, Szukaj lub inne scenariusze XSL, będzie to dla Ciebie łatwe. W zasadzie, Okazało się łatwiej, ponieważ wygenerowany formularz jest nieco łatwiejsze do naśladowania w porównaniu do składnika web part wyszukiwania podstawowych wyników (lub koszmarne CWQP).

Oczywiście, Istnieje jeden głównych pułapki. SPD pracy Edytor oczekuje pełnej kontroli nad tym pliku. Jeśli modyfikujesz go, SPD szczęśliwie nadpisze twój zmiany dają prawo zestaw okoliczności. Zrobiłem dwa szybkie testy aby zobaczyć, jak źle to może dostać. Oboje zakładają, że już wykonane prawidłowy przepływ pracy SPD, który używa "Zbierz dane od użytkownika" krok.

Badania 1:

  • Modyfikowanie pliku ASPX ręcznie.
  • Badanie to (Sprawdź, czy zmiany zostały prawidłowo zapisane i nie psuje).
  • Otwórz przepływ pracy i dodać akcję niepowiązanych (jak "dziennika historii").
  • Zapisać przepływu pracy.

Wynik: W tym przypadku, SPD nie ponownie utworzyć formularz.

Badania 2:

  • Tak samo jak #1 z wyjątkiem bezpośrednio modyfikować "Zbierz dane od użytkownika" działania.

Wynik: Odtwarza postaci od podstaw, nadpisanych zmiany.

Uwagi końcowe:

  • Co najmniej dwie akcje SPD tworzenie form, jak to: "Zbierz dane od użytkownika" i "Przypisać do elementu". Oba te działania’ formularze można ręcznie modyfikować.
  • Był w stanie wygenerować mój link do dispform.aspx, ponieważ, w tym przypadku, element relate zawsze ma swoje ID osadzony w URL elementu powiązanego. Udało mi się go rozpakować, a następnie zbudować <href> w oparciu o przedstawienie funkcji dostępu do danych meta jednym kliknięciem. Jest mało prawdopodobne, że twój URL wynika zasada ta. Może być innych sposobów, aby uzyskać identyfikator powiązanego element, ale nie miałem do tego most, więc nie wiem, czy dostaje się po drugiej stronie przepaści.
  • Nie, ale nie byłby zaskoczony, jeśli istnieje jakiś plik szablonu w 12 ula, która wpływa na sposób SPD generuje formularze domyślne można zmodyfikować (Podobnie jak możemy modyfikować szablony alertów).

</koniec>

Subskrybowanie mój blog!

Roztwór (sortowane): Ustawianie priorytetu na zadanie przy użyciu programu SharePoint Designer

Mam scenariusza biznesowego like this:

  • Użytkownik wysyła dokument do biblioteki dokumentów.
  • Okręt wybiera typ zawartości i wprowadzi dane meta, w razie potrzeby. Jedno z pól danych meta jest flagą, "Pilne".
  • Powoduje to wygenerowanie SharePoint Designer przepływu pracy,, między innymi, używa "zbieranie danych od użytkownika" działania.

"Zbieranie danych od użytkownika" tworzy element na liście zadań żądanie zatwierdzenia dla tego dokumentu.

I I potrzebnych do utworzenia widoku listy zadań, które wykazało pilnych wniosków o zatwierdzenie.

Roztwór: Umieścić wyraz "PILNE:" w tytule tych zadań.

Wolał bym określić pole priorytet bezpośrednio. Jednakże, I był w stanie to zrobić z kilku powodów:

  1. Działania zbieranie danych nie zapewnia mechanizm aktualizacji żadnych pól z wyjątkiem tytuł (i te dodatkowe pola, dla których mają być zbierane dane).
  2. "Przypisywanie do ppkt" Akcja ma ten sam problem.
  3. Jest możliwe wstawienie elementu do listy (tj.. bezpośrednio wstawiać elementu do listy zadań) ale to nie blokowanie działania. Oznacza to, że przepływ pracy nie będzie czekać na użytkownika do wykonania tego zadania.

I uważane za kilka podejścia przed (na szczęście) Wiedząc, że możemy może po prostu umieścić "pilne" w tytule.

  1. Uruchamianie przepływu pracy na samej listy zadań, tak aby podczas tworzenia nowego zadania, Krzyż jakoś odniesienia z powrotem do dokumentu, który uruchomił przepływ pierwszy, wyciągnąć wartość flagi pilne i aktualizacja priorytet w razie potrzeby.
  2. Zrobić coś podobnego z odbiornika wydarzenie. Na tworzenie zadania, Zlokalizuj dokument skojarzony i priorytetu aktualizacji w razie potrzeby.
  3. Użyj opcji "Tworzenie elementu listy" działania w połączeniu z "Czekaj na pole Zmiana" działania i odbiornik zdarzenia. Jeśli tworzymy elementu listy, możemy określić wszystkie pola, które chcemy. Umożliwia aktualizację oryginalnego elementu, gdy użytkownik zakończy zadanie i "czekać na zmianę pola odbiornika wydarzenie" chcieliby być spełniony warunek działania i pracy chcieliby przystąpić. (Z jakiegoś powodu, I mniej lub bardziej rozliczane na podejście to przed podjęciem decyzji Real Estate do walk away na chwilę).

Istnieje systemu ceł zwrotnych do mojego roztworu (pomijając oczywiste fakt, że tylko tekst tytułu wskazuje pilności). Od "zbierać informacje zwrotne" akceptowane są tylko nazwy zakodowanego tytuł, Trzeba użyć dwóch różnych zbierać informacje zwrotne działania którego jedyną różnicą jest że trudno kodowane tytuł.

Ale, co najmniej jest rozwiązanie, które nie wymagają obiekty odbierające zdarzenia lub akcje niestandardowe SPD.

Jeśli ktoś rozwiązał to w sposób bardziej pomysłowych, daj mi znaæ.

</koniec>

Szybkie i łatwe: Automatycznie otworzyć formularz programu InfoPath z programu SharePoint Designer E-mail

AKTUALIZACJA: Madjur Ahuja wskazuje ten link z Grupa dyskusyjna dyskusji: http://msdn2.microsoft.com/en-us/library/ms772417.aspx. Jest to dość ostateczne.

===

Często chcemy, aby osadzić hiperłącza do formularzy programu InfoPath w e-maile wysyłane z przepływów pracy programu SharePoint Designer. Kiedy Użytkownicy otrzymują te e-maile, można kliknij na link w wiadomości e-mail i przejść bezpośrednio do formularza programu InfoPath.

Ten potwór URL budowlane prace dla mnie:

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&Urządzenie źródłowe = http % 3A % 2F % 2Fserver % 2Ecorp % 2Edomain % 2Ecom % 2Fsites % 2Fdepartments % 2FTechnical % 2520Services % 2FInformationTechnology % 2FHelpDesk % 2FREC % 2520REM % 2520RED % 2520Forms % 2FForms % 2FAllItems % 2Easpx&DefaultItemOpen = 1

Zastąp tekst pogrubiony czerwony nazwa formularza, jak pokazano na poniższym zrzucie ekranu:

obraz

Należy zauważyć, że istnieje wiele ścieżki zakodowane w ten URL, a także składnik zakodowanych w adresach URL. Jeśli jest to zbyt trudne do przetłumaczenia do konkretnej sytuacji, Spróbuj na alerty dla biblioteki formularzy. Formie i kiedy otrzymasz e-maila, Wyświetlanie źródła wiadomości e-mail i zobaczysz wszystko, czego potrzebujesz do.

Bystry czytelnicy mogą zauważyć, że powyższe poczta elektroniczna ciało również pokazuje link, który bezpośrednio uzyskuje dostęp do zadania za pośrednictwem przefiltrowany widok. Mam zamiar wyjaśnić, że bardziej szczegółowo w przyszłości post.

</koniec>

MOSS M≤wi│a “Odmowa dostępu” Aby edytować zadania przepływu pracy, Ale tak naprawdę występuje dostępu

Zastosowałem przepływu pracy za pomocą SharePoint Designer w miejscu, które jest głównie tylko do odczytu "NT_AUTHORITYAuthenticated użytkowników" (tj.. Wszyscy). Istnieje biblioteka formularzy dla formularza programu InfoPath. Tam jest lista zadań związane pracy jak również tak, że kiedy przepływ pracy działa, to przypisywanie zadań do ludzi.

Złamię uprawnienia do listy biblioteki i zadania formy, tak że każdy uwierzytelniony użytkownik może utworzyć formularze i aktualizacji powierzonych im zadań.

Test z mojego konta testowego niski przywileje.

Można wypełnić i zapisywać formularz do biblioteki? –> TAK

Można uzyskać dostęp zadanie od poczta elektroniczna ogniwo? –> TAK

Widać Edytuj łącza do zadania przepływu pracy –> TAK

Może mi kliknij na ten link? –> NR … Odmowa uprawnień.

Dlaczego widać link Edytuj, który odmawia mi uprawnienia, gdy klikam na to? To jest, nie jak to ma działać…

I przejść przez konfigurację zabezpieczeń ponownie, bardzo ściśle. To jeszcze raz. Uważam, że usuwanie ten post bo oczywiście nie wiem nic na temat bezpieczeństwa.

Wreszcie, I Szukaj Internets. Uważam, że to mało prawdopodobne wątku forum MSDN: http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=1838253&SiteID=17

Plakaty wydają się być sugerując, że prosta czynność wywozu przepływu pracy do talerza dysku rozwiąże problem zabezpieczenia MOSS? Trudno mi uwierzyć, że po prostu wpisane że. Przypomina mi o odcinek South Park o 9/11 spisek, gdzie Stan zmierza nasza Preznit, "Naprawdę?" w kółko.

Tak, nic do stracenia, Chcę odpalić SPD, Kliknij prawym przyciskiem myszy na przepływ i zapisać go na mój c:\ jazdy. To byłoby c:\ jazdy na moim laptopie. Ja jestem patrząc przez ramię caly czas tak, że nikt nie zapyta mnie, "Dlaczego masz oszczędności przepływu pracy do laptopa?"

Niezwykle, to rozwiązuje mój problem. Można edytować zadania.

Niniejszym mianować, to jest najbardziej dziwaczne rozwiązania przepływu pracy z 2007.

</koniec>

Programu SharePoint Designer, Bieżący element “Zakodowany bezwzględny adres URL” i HTTPS

Często chcemy wysłać wiadomość e-mail, która zawiera hiperłącze do przedmiotu lub dokumentu, który uruchamia przepływ pracy. Możemy użyć bieżącego elementu "zakodowany bezwzględny adres URL" w tym celu. Jednakże, wydaje się zawsze używać "http" adres URL protokołu. Jeśli witryna działa na HTTPS, a następnie nie będzie działać dla Ciebie.

obraz

Ile wiem, tam jest nie o rozwiązanie tego problemu. Jeśli ty potrzebować wobec używać HTTPS, Brak out of opcji okna.

Aby rozwiązać problem, utworzyć akcję niestandardową, która zawiera funkcję Zastąp ciąg do korzystania w swojej pracy. Alternatywnie, Użyj 3 narzędzia firmy takie jak pakiet doskonałą tutaj: http://www.codeplex.com/spdwfextensions 🙂

</koniec>

Wysyła Email programu SharePoint Designer ???? w wiadomości E-mail

Od czasu do czasu zapytać użytkowników forum: Dlaczego SharePoint Designer ma umieścić ???? na mój e-mail zamiast wartości pola?

Powodem, że dzieje się tak dlatego, zmiennej, do której odnoszą się ma wartość null.

To może się zdarzyć, ponieważ użytkownik próbuje odwołać pola z "bieżącego elementu" ale nigdy nie wprowadzone przez użytkownika wartość w tym polu formularza.

<koniec />

Porównaj / Badanie puste dat w przepływie pracy programu SharePoint Designer

Scenariusz: W przepływie pracy programu SharePoint Designer, trzeba ustalić, czy pola Data jest pusty.

Problemu: SPD nie umożliwiają bezpośrednie porównywanie dat do niczego innego niż data. Nie można utworzyć warunek takiego: "If [DateField] równa się puste".

Roztwór: Konwertowanie daty na ciąg. Umożliwia określenie, jeśli data jest puste ciąg porównania.

Zrzutów ekranu:

Na poniższej ilustracji Pokaż jak to zrobić. W tym scenariuszu, pole elementu, "Pozwoleniach środowiskowych:Pierwsza data przypomnienia zezwolenie", został złożony i przepływu pracy pożary w odpowiedzi.

obraz

obraz

Notatki:

Kiedy próbuję to, Byłem mile zaskoczony dowiedzieć się, że to działa. Obawiałem się, że SharePoint Designer może uniemożliwić przypisania ciąg (Zmienna:StringReminderDateDate) ale on pozwalała na jego.

Byłem również zainteresowanych, że pozwalającego, wartość może być null i albo blow up WF w środowisku wykonawczym lub może podnieść temperatury globalnej 1/2 stopień, Jednak te obawy były nieuzasadnione.

</koniec>

Niestandardowej akcji przepływu pracy programu SharePoint Designer — Obserwacji o <Projektant FieldBind typ =”StringBuilder” … />

Tylko szybkie obserwacji, że jest bardzo istotna różnica między te dwie definicje:

<Pole FieldBind = "InParam1" DesignerType = "StringBuilder" ID = "2" Tekst = "Parametr wejściowy #1" />

kontra:

<Pole FieldBind = "InParam1" ID = "2" Tekst = "Parametr wejściowy #1" />

Pierwszy pokazuje, jak to w SPD:

obraz

podczas gdy te ostatnie pokazuje, jak to:

obraz

Nie jestem pewien, na ile pomocne są te zrzuty ekranu, ale włożyłem wysiłek, aby je zrobić, więc musisz je obejrzeć 🙂

Jest to spostrzeżenie: StringBuilder pozwala zbudować ciąg (Oczywiście) przez zmieszanie literały ciągów znaków i przepływu danych (za pomocą "Dodaj odnośnik" przycisk w lewym dolnym rogu). Kiedy używasz przycisku Dodaj odnośnik, Wstawia token w formie"[%tokeny %]". Kiedy SharePoint wywołuje swoje niestandardowe działania, (Kod C# w moim przypadku), SharePoint przekazuje tokenu, sam, nie wartość tokena. Jeśli używasz projektant domyślny typ (Drugi typ), SharePoint rozszerza token i przechodzi rzeczywista wartość tokenu do działania.

StringBuilder = źle, Domyślnie projektant typ = dobry.

Oczywiście, to nie chodzi mi o naprawdę. Po prostu nie spróbować i przekazać parametr niestandardowe działania, gdy projektant wpisz = StringBuilder. Użyj domyślny typ projektant i łańcuch StringBuilder Aby go do przodu jeśli trzeba budować złożone ciągi w pracy (który nawiasem mówiąc jest dokładnie, co się robi aby utworzyć dynamiczne przedmiotem działania e-mail, ale to temat na inny wpis w blogu, Har har).

<koniec />