W poprzednim artykule pisałem na temat przepływów pracy w SharePoint - sposobów ich uruchamiania w witrynach portalu, gotowych przepływów pracy dostępnych w WSS i MOSS oraz różnicach pomiędzy przepływami pracy stworzonymi w programie SharePoint Designer oraz programistycznych, tworzonych w Visual Studio.
W tym artykule spróbuję zademonstrować wartość stosowania przepływów pracy w witrynach SharePoint na przykładzie obiegu zapytania ofertowego. Na ogół zwłoka w odpowiedzi na zapytanie, lub brak odpowiedzi prowadzą do strat - zmarnowanej pracy osób przygotowujących odpowiedź, która nie została wysłana, utraty wiarygodności w oczach zlekceważonego kontrahenta itp. Pokażę jak przepływy pracy zastosowane w witrynach SharePoint pomogą zapobiegać takim sytuacjom.
Struktura witryny:
- Biblioteka dokumentów "Sprawy bieżące"
- Typ zawartości "Zapytanie ofertowe"
- Typ zawartości "Oferta własna"
Zastosowane komponenty:
Przepływ pracy "Zatwierdzenie" dostępny w Office SharePoint Server z Std. CAL
Przepływ pracy "Generic Workflow" dostępny w Document Management Suite dla SharePoint
Kolumna "Enterprise Lookup" dostępna w Document Management Suite dla SharePoint
Komponenty składowe Document Management Suite mogą być zastąpione innymi rozwiązaniami, np. zwykłą kolumną odnośnika (Lookup), a jako przepływu pracy można użyć np. Nintex Workflow. Przepływy pracy programu SharePoint Designer nie mogą zostać zastosowane z uwagi na fakt, że nie można ich podpiąć do typu zawartości, a jedynie do całej biblioteki dokumentów, co w warunkach produkcyjnych mogłoby być nieakceptowalne z powodów wydajnościowych i niezawodnościowych.
Koncepcja
W bibliotekach dokumentów programu SharePoint mogą być umieszczane dokumenty różnego typu, np. zapytanie ofertowe, oferta, pismo przychodzące itd. Każdy z tych dokumentów ma właściwe sobie atrybuty, proces obiegu, czy ewentualny szablon dokumentu (jeśli jest dokumentem wytwarzanym, a nie przychodzącym). Jest tak, ponieważ do bibliotek dokumentów SharePoint możemy "podpiąć" różne typy zawartości (ang. content types), dzięki którym dokument typu "Umowa" może mieć inne atrybuty, przepływy pracy i szablon dokumentu, niż dokument typu "Zapytanie ofertowe".
W naszym przypadku w bibliotece dokumentów "Sprawy bieżące" utworzymy dwa typy zawartości: "Zapytanie ofertowe" oraz "Oferta własna". Z zapytaniem ofertowym skojarzymy przepływ pracy oparty o Generic Workflow, który pozwaloli nam opisać dokument przychodzący, natomiast z ofertą własną skojarzymy wbudowany w MOSS przepływ pracy Zatwierdzanie.
W celu obsługi zapytania ofertowego, jego workflow przydzieli kolejno zadania:
- "Wstępne oszacowanie zapytania ofertowego" - podjęcie decyzji o przekazaniu zapytania do obsługi;
- "Przygotowanie oferty" - podpięcie dokumentu oferty do zapytania ofertowego oraz przekazanie do druku i podpisania;
- "Przesłanie oferty" - zadanie przypominające o konieczności przesłania oferty do klienta, kończy obsługę zapytania ofertowego;
Zatwierdzanie oferty nie jest częścią procesu obsługi zapytania ofertowego, ale raczej samego dokumentu oferty własnej. Dostępny z pudełka w MOSS przepływ pracy Zatwierdzenia przydzieli kolejno dwa zadania zatwierdzenia oferty: kierownikowi projektu oraz dyrektorowi działu produkcji.
Przygotowanie
Zaczynamy od włączenia w ustawieniach witryny funkcji zbioru witryn zawierających przepływy pracy, których będziemy potrzebować do obsługi dokumentów.
Następnie udajemy się do galerii typów zawartości witryny (Ustawienia witryny | Typy zawartości) i tworzymy dwa typy zawartości: Zapytanie ofertowe oraz Oferta własna. Do każdego z utworzonych typów zawartości tworzymy kolumny. Na zrzucie ekranu poniżej przedstawiłem przykładowe kolumny Oferty własnej - dla wykonalności scenariusza ważne jest, aby był tam odnośnik do zapytania ofertowego, pozostałe kolumny są opcjonalne.
Tak utworzone typy zawartości mogą być wykorzystane w wielu bibliotekach dokumentów w witrynie. Tworzymy bibliotekę dokumentów Sprawy bieżące i włączamy w niej obsługę typów zawartości (Ustawienia biblioteki | Ustawienia zaawansowane), a następnie dodajemy utworzone wcześniej typy zawartości.
Konfiguracja workflow
Z każdym z utworzonych wcześniej typów zawartości możemy skojarzyć przepływ pracy, przy czym możemy to zrobić z poziomu listy, albo z poziomu galerii typów witryny. Jeśli przypisanie przepływu pracy do typu zawartości zostanie zrealizowane z poziomu biblioteki dokumentów, przepływ pracy będzie działał tylko w tej bibliotece, niezależnie od typu zawartości dokumentu. Podpięcie przepływu pracy do typu zawartości w ustawieniach witryny powoduje, że będzie on uruchamiany dla tego typu zawartości oraz typów po nim dziedziczących, niezależnie od biblioteki dokumentów w której zostaną umieszczone. Można także podpiąć przepływ pracy do konkretnego typu zawartości w bibliotece dokumentów. W naszym scenariuszu, przepływy pracy podepniemy do lokalnych typów zawartości biblioteki Sprawy bieżące, jak na zrzucie ekranu obok.
Po wybraniu opcji "Ustawienia przepływu pracy" zobaczymy listę wszystkich przepływów pracy skojarzonych z bieżącym typem zawartości oraz mamy możliwość dodania przepływu pracy. Jeśli w bieżącej bibliotece dokumentów dla elementów tego typu będą istniały przepływy pracy w toku, to na tej stronie będziemy mogli sprawdzić liczbę uruchomionych przepływów oraz ewentualnie usunąć przepływy pracy.
Formularz dodawania przepływu pracy pozwala nam wybrać:
- szablon przepływu,
- nazwę, którą chcemy nadać przepływowi pracy (taki sam tytuł będzie miała kolumna wyświetlająca status przepływu pracy na liście),
- listę zadań, na której przepływ pracy powinien umieszczać swoje zadania,
- listę historii przepływu pracy,
- warunki uruchomienia przepływu pracy.
W następnym kroku otwiera się formularz konfiguracyjny specyficzny dla wybranego z listy szablonu przepływu pracy. Niektóre przepływy pracy mogą nie mieć konfiguracji. W naszym scenariuszu zastosujemy przepływ pracy IT-Dev Generic Workflow, którego formularz konfiguracji pozwala zdefiniować kroki przepływu pracy i ustalić ich kolejność.
Klikając ikonę edycji poszczególnych kroków możemy ustalić jaki tytuł i treść będzie miało zadanie przydzielone przez workflow oraz ustalić dodatkowe parametry zadania, w tym wykonawcę, wygląd formularza zadania oraz ewentualne akcje zatwierdzania.


W pierwszym kroku workflow, polegającym na wstępnym oszacowaniu oferty, pozwalamy użytkownikowi uzupełnić niektóre atrybuty dokumentu, natomiast inne, takie jak data oferty, czy termin odpowiedzi przedstawiamy tylko do odczytu. Definiujemy także akcje zatwierdzania: w pozytywnym scenariuszu "Ofertowanie" przechodzimy do następnego kroku przepływu pracy, a w negatywnem "Odrzucenie" usuwamy dokument. W ten sam sposób konfigurujemy dalsze kroki workflow.
Analogicznie musimy zdefiniować przepływ pracy dla typu zawartości oferta. Tym razem jednak zastosujemy wbudowany w MOSS workflow Zatwierdzenie. Aktywacja funkcji zbioru witryn zawierającej ten przepływ pracy powoduje jego podpięcie do wszystkich typów zawartości w bibliotekach dokumentów. Jeśli jednak typ zawartości został utworzony już po aktywacji funkcji z przepływem pracy Zatwierdzenie, musimy dodać ten workflow do typu zawartości analogicznie jak w przypadku Generic Workflow dla Zapytania ofertowego.
Workflow w działaniu
Po skonfigurowaniu obu workflow, każde umieszczenie dokumentu typu Zapytanie ofertowe spowoduje automatyczne uruchomienie przepływu pracy obsługi zapytania. Pierwsze zadanie "Wstępne oszacowanie" daje możliwość przekazania zapytania do procesu ofertowania lub usunięcia, pozwalając na uzupełnienie wybranych atrybutów dokumentu. W przypadku decyzji pozytywnej, workflow przydziela zadanie przygotowania oferty osobie wskazanej na formularzu.

Przygotowanie oferty polega na utworzeniu dokumentu, któremu w momencie zapisywania należy przypisać typ zawartości "Oferta własna". Spowoduje to wyświetlenie panelu informacyjnego, na którym można uzupełnić atrybuty dokumentu.
Kiedy dokument jest gotowy i zapisany w bibliotece, należy uruchomić na nim workflow "Zatwierdzenie". Można to zrobić za pomocą menu dokumentu w bibliotece dokumentów, albo bezpośrednio w programie Word, jeśli posiadamy Office 2007 w wersji Professional Plus. Niezależnie od sposobu uruchomienia workflow, można ustawić parametry startowe przepływu pracy i uruchomić go w celu przydzielenia kolejnych zadań zatwierdzenia dokumentu.

Podsumowanie
SharePoint 2007 posiada wbudowaną platformę workflow, za pomocą której możemy tworzyć dynamiczne witryny obiegu dokumentów, w których przepływy pracy przypominają o kolejnych krokach procesów obsługi dokumentów, usprawniając komunikację i oszczędzając czas. Dzięki rozszerzalności i otwartości platformy, można ją wzbogacać o dodatkowe przepływy pracy dedykowane do wsparcia konkretnych procesów, lub generyczne - pozwalające się skonfigurować do różnych zastosowań.
W czwartek 19 lutego 2009 r. we Wrocławiu, na konferencji z cyklu Roadshow MOST 2009 organizowanej przez Microsoft, poprowadzę wystąpienie poświęcone wsparciu pracy grupowej przez Office 2007 oraz zaprezentuję rozwiązania IT-Dev związane z workflow i obiegiem dokumentów. Serdecznie zapraszam.