Elektroniczny obieg dokumentów na platformie SharePoint


Rozszerzalność SharePoint'a

Oct-292008

Czy funkcjonalność SharePoint'a 2007 można rozszerzać ?

Technologia SharePoint posiada modułową budowę, za pomocą której może być rozbudowywana w systematyczny i uregulowany sposób o nową funkcjonalność za pomocą modułów zwanych funkcjami (features). Funkcje mogą wpływać na różne obszary SharePoint'a, np. na pojedynczą witrynę, kolekcję witryn, czy całą farmę, a podstawowymi operacjami, jakie się wykonuje na funkcjach, w portalu lub za pomocą linii poleceń, to instalacja, deinstalacja, aktywacja i deaktywacja.

Piszę o tym dlatego, że to właśnie poprzez funkcje SharePoint udostępnia szablony witryn (np. obszar roboczy dokumentu), szablony list (lista zadań, biblioteka slajdów), zapewniając spójne i powtarzalne zachowanie elementów składowych portalu w różnych witrynach, a nawet pomiędzy różnymi instalacjami SharePoint'a. Różne funkcje mogą być włączane i wyłączane niezależnie od siebie, wprowadzając lub wycofując z witryn związaną ze sobą funkcjonalność.

Wystarczy aktywować funkcję kolekcji witryn "Trójstanowy przepływ pracy", aby we wszystkich bibliotekach móc włączyć ten workflow, albo deaktywować funkcję witryny "Listy współpracy zespołowej" aby z menu [ Akcje witryny / Utwórz ] zniknęły opcje "Biblioteka dokumentów", czy "Śledzenie problemów".

Szablony witryn, takich jak Portal Publikacyjny, czy Centrum Raportów, automatycznie aktywują w sobie wybrane funkcje i w ten sposób udostępniają inną funkcjonalność, niż np. szablon Witryny zespołu, lub Blog.

Jakie elementy mogą zawierać funkcje?

Funkcje mogą definiować elementy składowe architektury SharePoint'a, takie jak:

  • szablon witryny,
  • typ zawartości,
  • przepływ pracy,
  • szablon listy,
  • instancja listy,
  • niestandardowa aktywność (element menu),
  • składnik Web Part, moduł (np. szablon dokumentu lub strona składników webpart).

Tych elementów jest znacznie więcej, ale nie wszystkie "objawiają" się użytkownikom w tak oczywisty sposób, że łatwo domyślić się, do czego służą, więc nie będę się rozpisywał na ten temat. Patrząc jednak na powyższą listę łatwo zauważyć, że elementy, które zazwyczaj się "wyklikuje" tworząc portal SharePoint (typy zawartości i listy), można do niego wprowadzić aktywując funkcję. Jeśli tą funkcję aktywujemy w kilkunastu witrynach, w każdej z nich otrzymamy dokładnie ten sam efekt - te same listy z typami zawartości, te same akcje w menu, tak samo skonfigurowane przepływy pracy i zdarzenia skojarzone z listami albo typami zawartości.

Z punktu widzenia dostawcy funkcjonalności SharePoint tworzenie funkcji jest przedsięwzięciem wymagającym większych kompetencji, a przez to bardziej kosztownym, niż wyklikanie portalu. Wynika to ze sposobu reprezentacji - są to pliki XML, często dość złożone, do których Microsoft nie udostępnił na razie narzędzi pozwalających w łatwy sposób je przygotować. Dla uświadomienia jak złożona może być definicja funkcji, polecam obejrzeć definicję "Biblioteki dokumentów", której najważniejsza część znajduje się w pliku:

C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\DocumentLibrary\DocLib\schema.xml

Aby ułatwić sobie budowę funkcji SharePoint definiujących elementy struktury portalu, stworzyliśmy SharePoint DSL Toolkit for Visual Studio, graficzny edytor dla Visual Studio, oparty o Microsoft Domain Specific Languages Framework. Umożliwia on kolejno na:

  • stworzenie graficznej reprezentacji struktury portalu,
  • weryfikację poprawności modelu,
  • wygenerowanie plików XML składających się na definicję funkcji,
  • przygotowanie "paczki instalacyjnej" z funkcjami, tzw. solucji,
  • automatyczną instalację solucji w portalu.

Alternatywnym podejściem jest zastosowanie narzędzia SharePoint Solution Generator, pozwalającego utworzyć projekt Visual Studio zawierający definicje funkcji SharePoint poprzez podłączenie się do istniejącej witryny SharePoint i ściągnięcie z niej wybranych elementów. Takie podejście nie ułatwia modyfikacji plików XML - trzeba zmierzyć się z dużą ilością informacji w mało przyjaznym formacie, ale pozwala "wyklikać" w środowisku deweloperskim strukturę portalu, a następnie przekazać ją na środowisko testowe lub produkcyjne w powtarzalny sposób, co w przypadku systemów krytycznych dla przedsiębiorstwa jest często jedynym podejściem akceptowanym przez administratora.
Narzędzie wchodzi w skład pakietu Visual Studio 2005 extensions for WSS 3.0, version 1.1

Podsumowanie

Chcąc wdrożyć rozwiązanie na bazie technologii SharePoint warto zastanowić się czy będziemy chcieli je w przyszłości modyfikować, rozwijać albo powielać w więcej niż jednej witrynie portalu. Jeśli odpowiedź na choć jedno z tych pytań jest twierdząca, warto rozwiązanie to wykonać lub zamówić w postaci funkcji (feature) instalowanej poprzez paczkę, zwaną solucją.

W ten sposób aktywując funkcję możemy natychmiastowo uzyskać zawartą w niej funkcjonalność w miejscu aktywacji (witryna, kolekcja witryn, aplikacja lub cała farma), a deaktywując funkcję wyłączamy funkcjonalność, którą zawierała.

Takie podejście podnosi stabilność portalu, ułatwia administrację oraz umożliwia szybkie powielanie tej samej funkcjonalności w różnych witrynach portalu.

 
Posted by Tomasz Szałaj | 0 Comments | Trackback Url | Bookmark with:        
Tags: Administracja, Funkcjonalność

Links to this Post

Comments

Name:
URL:
Email:
Comments:

Wpisz tekst z obrazka