Razem w SharePoint

Jednym z zadań składników pakietu Small Business Server jest dostarczenie mechanizmów pozwalających zdefiniować wewnętrzny portal firmowy i udostępnić pewne elementy takiej witryny w Internecie. Mowa, oczywiście, o Windows SharePoint Services.

Jednym z zadań składników pakietu Small Business Server jest dostarczenie mechanizmów pozwalających zdefiniować wewnętrzny portal firmowy i udostępnić pewne elementy takiej witryny w Internecie. Mowa, oczywiście, o Windows SharePoint Services.

Oprócz dostępu do portalu serwer ma także predefiniowane mechanizmy pozwalające na zdalne administrowanie serwerem - np. łatwy dostęp do jego "pulpitu" (oczywiście po autoryzacji!), do raportów itp. Wszystkie te operacje można wykonać bez zestawienia łącza VPN - odpowiednia funkcja dostępna jest bezpośrednio, z poziomu Internet Explorera (choć, oczywiście, dodanie obsługi połączeń VPN do serwera SBS 2003 też nie stanowi problemu).

Założenia portalu

Instalacja modułów intranetowych.

Instalacja modułów intranetowych.

Standardowo rozumiany portal firmowy to miejsce, w którym zbierane i prezentowanie są informacje z różnych źródeł. Portal powinien być tak skonstruowany, aby warstwa prezentacji była oddzielona od warstwy danych i pozwalała użytkownikowi modyfikować sposób wyświetlania informacji (np. lista ze szczegółami lub zwarte zestawienie).

Ma to być witryna, w której każdy znajdzie potrzebne dane bez długiego szukania, a co najważniejsze - powinna się cieszyć taką renomą, że pracownicy najpierw zaczną szukać w niej informacji, a dopiero potem w innych miejscach. Oczywiście to opis wzorca, ale warto zawsze pamiętać o tych założeniach.

Coraz częściej jednak portal pełni dodatkowo funkcję platformy interaktywnej, pozwalając na pracę grupową, dlatego musi zawierać mechanizmy publikowania własnej treści, dyskusji, pewnego rodzaju obiegu dokumentów (np. zatwierdzenie przed publikacją). I oczywiście publikacja dokumentu nie może być za bardzo skomplikowana, bo wtedy wygodniej będzie zapisać go lokalnie czy przesłać jako załącznik zainteresowanym. Przyda się też zintegrowane forum (do dyskusji nad danym zagadnieniem). Najważniejsza jednak jest łatwość rozszerzania portalu, aby projektant mógł go "złożyć z klocków" realizujących różne zadania, a każdy użytkownik - dostosować sposób prezentacji do swoich potrzeb.

Witryna companyweb.

Witryna companyweb.

Tworzenie portalu to głównie praca organizacyjno-planistyczna (połączona z bardzo dokładną analizą procesów biznesowych w firmie), jakiej trudno oczekiwać od małych i średnich firm z uwagi na ograniczone zasoby i to, że spora część operacji wykonywanych w takiej firmie nie jest sformalizowana. W takiej sytuacji przyda się początkowy wzór - może nie pełnego portalu, ale witryny stanowiącej swego rodzaju portal współpracy dla całej firmy czy wydzielonych zespołów.

Do Windows Server 2003 można doinstalować Windows SharePoint Services (WSS), obecnie w wersji 2.0 (wersja 3.0 będzie dostępna razem z Office 12). Jest to specjalne rozszerzenie IIS (w pewnym sensie następca FrontPage Server Extension), które pozwala łatwo publikować zawartość na serwerze WWW, a jednocześnie jest "motorem" umożliwiającym konstruowanie dowolnych portali. WSS pozwala definiować układ strony i dostarcza podstawowe usługi portalowe.

Warto podkreślić różnice pomiędzy WSS a pełnym SharePoint Portal Server 2003. Oba oparto na tym samym zestawie usług, ale SPS jest przeznaczony do dużych instalacji, pozwala na tworzenie klastrów, obsługuje load balancing itp. - natomiast "pod spodem" są tak naprawdę usługi WSS. Równocześnie w SPS pojawia się kilka dodatkowych mechanizmów dla projektanta, przydatnych w rozbudowanych portalach. SPS pozwala np. zdefiniować wyszukiwanie obejmujące różne zasoby i różne portale (w WSS albo wyszukiwania nie ma, albo jest tylko prosty mechanizm po zainstalowaniu SQL Server i odblokowaniu wyszukiwania pełnotekstowego). W SPS można także definiować portale tematyczne, łączące informacje z innych obszarów tego samego portalu. Dokument może się pojawiać w różnych miejscach, a nie jest, jak w WSS, przypisany do określonej podstrony. Podsumowując: WSS przeznaczony jest do witryn zespołowych, w których pracuje się nad jakimś zagadnieniem, natomiast SPS to skalowalny portal klasy enterprise.

Instalacja

Konsola administracyjna pozwala też zarządzać usługami Windows SharePoint Services.

Konsola administracyjna pozwala też zarządzać usługami Windows SharePoint Services.

Windows SharePoint Services są także częścią instalacji Small Business Server 2003 (zarówno wersji standard, jak i Premium). Oprócz samej usługi automatycznie instalowany jest predefiniowany portal z wzorcową witryną intranetową do małej firmy. Aby go zainstalować, wybierając składniki SBS, trzeba zaznaczyć opcję Intranet (domyślnie jest zaznaczona). Co prawda, można samodzielnie zainstalować i konfigurować Windows SharePoint Services, ale gotowy wzorzec na pewno przyspieszy wdrożenie i rozpoczęcie pracy.

Po zainstalowaniu SBS od razu dostępny jest alias companyweb, pod którym zainstalowany jest przykładowy portal z początkową zawartością.

Podstawy

Podstawą działania portalu WSS są tzw. Web Parts, elementy, z których jest budowany. Prezentują informacje z wybranych źródeł i pozwalają na pewną interakcję użytkownikowi. Formalnie przypominają kontrolki z języka programowania, ale funkcjonują jako "cegiełki", które także użytkownik może zmieniać czy dostosowywać. Na przykład niemal każda kontrolka może być "zwinięta" tak, żeby widoczny był tylko tytuł, kilka prezentuje zawartość na cztery sposoby itp.

Web Parts można konfigurować za pośrednictwem przeglądarki internetowej. Innymi słowy, projektant portalu (dysponujący największymi uprawnieniami) może używać tylko Internet Explorera, aby określić wygląd strony intranetowej - specjalne okna pozwolą mu dodać nowy element Web Parts, skonfigurować istniejący itp. Ale jeżeli zmian jest dużo czy też potrzeba dostępu do zaawansowanych ustawień, wygodniej użyć FrontPage 2003, który znacznie upraszcza tworzenie struktury nawigacyjnej i dostosowanie poszczególnych stron.

Podstawową rolą składników Web Parts jest pobranie informacji z jakiegoś źródła i wyrenderowanie ich w postaci HTML. Równocześnie WSS zapewnia mechanizmy pozwalające na personalizację ustawień - automatycznie "pamięta" użytkownika, zapisuje te opcje, które wybrał itp. Obsługiwane jest też buforowanie, żeby zminimalizować obciążenie serwera bazodanowego. Składniki Web Parts można łączyć ze sobą, np. jeden będzie źródłem danych, a drugi będzie z tego źródła korzystał i prezentował dane na ekranie.

Standardowo dostępne są m.in. następujące kontrolki Web Parts:

Anonsy - pozwala publikować ogłoszenia.

Członkowie - pokazuje listę użytkowników witryny.

Dokumenty ogólne/dokumenty zarchiwizowane/Prezentacje - listy dokumentów różnych typów.

Fotografie firmowe/galerie - pojemniki do pokazywania zdjęć.

Kalendarz/Kalendarz wakacji - różne kontrolki przeznaczone do pokazywania kalendarza określonego użytkownika albo grupy; są też synchronizowane z serwerem Exchange lub Outlookiem. Na przykład pracownik może pobrać listę spotkań bezpośrednio z portalu. Web Parts mogą pokazywać albo listę zdarzeń, albo - kalendarz.

Łącza - biblioteka odsyłaczy. Mogą to być odsyłacze albo na inne strony WWW, albo do innych elementów portalu WSS (np. obszarów roboczych wybranych dokumentów).

Dyskusja ogólna - forum, które może być związane z obszarem roboczym.

Punkt pomocy - lista, na której zgłasza się problemy i przypisuje je określonemu pracownikowi. Pozwala też śledzić postęp w rozwiązywaniu zadań, generować raporty (a raczej - pozwala związywać ze sobą inne kontrolki Web Parts, które będą agregowały wyniki).

Projekty - lista, na której definiuje się foldery poszczególnych projektów i potem w podfolderach tworzy właściwe dokumenty.

Dodawanie kolumny do listy Windows SharePoint Services.

Dodawanie kolumny do listy Windows SharePoint Services.

Są także składniki do transformacji XML lub takie, które mogą pobrać informacje z innej strony, przekształcić je i zaprezentować w naszym portalu WSS. Można też budować własne Web Parts na podstawie innych składników Web Parts (pewnego rodzaju agregacja).

Kontrolki Web Parts pozwalają także na edycję - bezpośrednio w portalu albo w zewnętrznym programie (Word itp). Pozwala to zdefiniować, co będzie się działo w momencie, gdy dokument jest publikowany w witrynie. Można określić, że nowa zawartość będzie dostępna od razu, albo wskazać, kto ma ją zatwierdzić przed publikacją.

Oczywiście to jest skrócona lista Web Parts. W wielu witrynach są dodatkowe składniki (też bezpłatne), które np. publikują informacje pobierane z różnych specjalizowanych serwerów, oferują rozbudowane sposoby prezentacji i wizualizacji, czy pozwalają na bardziej zaawansowaną edycję treści. Sporo firm wyspecjalizowało się w produkcji Web Parts, ale można pisać je samodzielnie. Do Visual Studio 2003 są w Internecie odpowiednie wzorce, a w VS 2005 stanowią one częścią pakietu (dodatkowe kontrolki ułatwiające budowę takich komponentów).

Listy - koncepcja i podstawy

Podstawowym mechanizmem przechowywania danych w WSS są listy, czyli swego rodzaju wirtualna tabela danych i metadanych. Lista może zawierać dowolnie wiele pól, pola mogą mieć reguły (np. - określone formatowanie czy typ przechowywanej wartości). Są listy ogłoszeń, arkuszy, plików, kalendarz, ankiety itp. - wszystko to jest realizowane jako odpowiednie dostosowanie podstawowego mechanizmu. Lista jest źródłem danych dla innych kontrolek.

Ankieta to szczególny przypadek formularza, który zawiera zdefiniowany ciąg pytań i odpowiedzi zapisuje na określonej liście. W ten sposób łatwo zebrać opinie pracowników na dany temat albo np. zorganizować głosowanie, która wersja układu dokumentu bardziej im się podoba.

Lista może być źródłem nie tylko dla portalu czy innych Web Parts. Właściwie można zdefiniować listę np. budynków, a potem pobrać ją do arkusza Excela (jakby to była baza danych). Dla programistów jest bogate API w .NET do pracy z listami (można wyliczać elementy, pobierać listę pól/metadanych itp). Można też komunikować się z listą za pośrednictwem usługi WWW - http: //<adres>/_vti_bin/Lists.asmx. Jak widać, takie informacje dadzą się wykorzystać w dowolnym systemie.


Zobacz również