Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00113 006988 11257843 na godz. na dobę w sumie
Microsoft Windows SharePoint Services 3.0 od środka - ebook/pdf
Microsoft Windows SharePoint Services 3.0 od środka - ebook/pdf
Autor: , Liczba stron:
Wydawca: Promise Język publikacji: polski
ISBN: 978-83-7541-284-0 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> programowanie
Porównaj ceny (książka, ebook, audiobook).

Techniki budowania wszechstronnych rozwiązań dla przedsiębiorstwa, przedstawione przez najlepszych ekspertów.
Zapoznaj się z wewnętrznymi mechanizmami platformy ­Windows SharePoint Services 3.0. Książka zawiera spostrzeżenia ekspertów, wskazówki zorientowane na zadania i rozbudowane przykłady kodu, ułatwiające tworzenie rozbudowanych aplikacji zarządzania dokumentami i treścią.

Dowiedz się, jak:
Budować strony aplikacji i witryn
Projektować i wdrażać elementy Web Part pozwalające na dostosowywanie i personalizację stron
Wykorzystać API Windows SharePoint do wdrożenia składników Microsoft ASP.NET AJAX
Wykorzystać XML oraz Collaborative Application Markup Language (CAML) do tworzenia twórczych elementów
Projektować i implementować niestandardowe biblioteki dokumentów
Posługiwać się platformą Windows Workflow Foundation do tworzenia rozwiązań automatyzujących procesy biznesowe
Tworzyć definicje witryn w celu łatwiejszego rozpowszechniania składników aplikacji
Implementować rozwiązania Code Access Security, Trust ­Levels, uwierzytelnianie i autoryzację

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Microsoft® Windows® SharePoint® 3.0 od środka Ted Pattison Daniel Larson ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Microsoft® Windows® SharePoint® 3.0 od środka Edycja polska Microsoft Press Original English language edition © 2007 by Daniel Larson and Ted Pattison Tytuł oryginału: Inside Microsoft® Windows® SharePoint® 3.0 Polish edition by APN PROMISE Sp. z o. o. Warszawa 2007 APN PROMISE Sp. z o. o., biuro: 00-108 Warszawa, ul. Zielna 39 tel. (022) 351 90 00, faks (022) 351 90 99 e-mail: mspress@promise.pl Wszystkie prawa zastrzeżone. Żadna część niniejszej książki nie może być powielana ani rozpowszechniana w jakiejkolwiek formie i w jakikolwiek sposób (elektroniczny, mechaniczny), włącznie z fotokopiowaniem, nagrywaniem na taśmy lub przy użyciu innych systemów bez pisemnej zgody wydawcy. Microsoft, Microsoft Press, Active Directory, Excel, InfoPath, IntelliSense, Internet Explorer, MSDN, Outlook, PowerPoint, SharePoint, SQL Server, Visual Basic, Visual Studio, Windows oraz Windows Server są zarejestrowanymi znakami towarowymi Microsoft Corporation. Wszystkie inne nazwy handlowe i towarowe występujące w niniejszej publikacji mogą być znakami towarowymi zastrzeżonymi lub nazwami zastrzeżonymi odpowiednich firm odnośnych właścicieli. Przykłady firm, produktów, osób i wydarzeń opisane w niniejszej książce są fikcyjne i nie odnoszą się do żadnych konkretnych firm, produktów, osób i wydarzeń. Ewentualne podobieństwo do jakiejkolwiek rzeczywistej firmy, organizacji, produktu, nazwy domeny, adresu poczty elektronicznej, logo, osoby, miejsca lub zdarzenia jest przypadkowe i niezamierzone. APN PROMISE Sp. z o. o. dołożyła wszelkich starań, aby zapewnić najwyższą jakość tej publikacji. Jednakże nikomu nie udziela się rękojmi ani gwarancji. APN PROMISE Sp. z o. o. nie jest w żadnym wypadku odpowiedzialna za jakiekolwiek szkody będące następstwem korzystania z informacji zawartych w niniejszej publikacji, nawet jeśli APN PROMISE została powiadomiona o możliwości wystąpienia szkód. ISBN: 978-83-7541-010-5. Przekład: Natalia Chounlamany, Andrzej Bańkowski Redakcja: Stefan Turalski, Marek Włodarz Korekta: Magdalena Kalina-Swoboda Skład i łamanie: Marek Włodarz ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Dla Annabelle, Daisy, Sophie i Amy. Jesteście jedynymi komponentami, które w mojej farmie będą zawsze działały w trybie z Pełnym zaufaniem i Bezwarunkową miłością. – Ted Pattison Dla Salliny. Jesteś moją pasją, moją inspiracją, moją muzą, i moją miłością. Dla naszego nienarodzonego dziecka. Jesteś obdarzone większą miłością niż można wyrazić słowami. – Daniel Larson ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Spis treści Spis treści v Podziękowania ............................................................................................................................... ix Przedmowa ................................................................................................................................... xiii Wstęp ............................................................................................................................................... xv 1 Wprowadzenie ........................................................................................................................... 1 Inicjowanie obsługi administracyjnej witryn ........................................................................... 1 Witryny i zbiory witryn ............................................................................................................ 5 Tworzenie zbioru witryn ......................................................................................................... 9 Dostosowywanie witryn ..............................................................................................................12 Strona Ustawienia Witryny ..................................................................................................12 Strona Utwórz ..........................................................................................................................13 Tworzenie list i bibliotek dokumentów .............................................................................14 Dostosowywanie i personalizacja witryn przy użyciu składników Web Part ..........15 WSS jako platforma programistyczna ....................................................................................16 Dostosowywanie konta programowanie ..........................................................................16 Możliwości rozwoju ................................................................................................................18 Wprowadzenie do funkcji .....................................................................................................20 Programowanie przy użyciu modelu obiektowego WSS ............................................21 Tworzenie pierwszej funkcji .......................................................................................................22 Dodawanie do funkcji procedury obsługi zdarzenia ...................................................27 Podsumowanie ..............................................................................................................................29 2 Architektura SharePoint .....................................................................................................31 Podstawy IIS i ASP.NET 2.0 ........................................................................................................31 Witryny sieci Web usług IIS a katalogi wirtualne ...........................................................31 Rozszerzenia ISAPI i filtry ISAPI ..........................................................................................33 Pule aplikacji a proces roboczy IIS .....................................................................................34 ASP.NET 2.0 Framework ..............................................................................................................36 Strony ASP.NET .......................................................................................................................37 Strony wzorcowe .....................................................................................................................38 Potok Żądań HTTP ..................................................................................................................40 Integracja technologii WSS z ASP.NET ....................................................................................42 Aplikacje sieci Web .................................................................................................................43 Katalogi wirtualne z aplikacji sieci Web ...........................................................................48 Strony witryn konta strony aplikacji ..................................................................................49 Tworzenie niestandardowych stron aplikacji ........................................................................51 Wykorzystywanie kodu schowanego na stronach aplikacji ........................................54 Wsparcie nawigacji z poziomu stron aplikacji ................................................................56 Stworzenie strony aplikacji wykorzystującej formant SPGridView ............................57 Zastrzeganie dostępu do stron aplikacji dla administratorów witryn ......................58 Dodanie niestandardowego elementu do menu kontekstowego ...........................59 Podsumowanie ..............................................................................................................................62 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== vi Spis treści 3 Strony i projekt ........................................................................................................................63 Podstawowe informacje na temat stron witryn ...................................................................63 Programowanie z użyciem obiektów SPFile ....................................................................64 Praca z szablonami stron ......................................................................................................67 Przetwarzanie w trybie bezpiecznym ................................................................................70 Projektowanie stron witryn przy użyciu formantów ...........................................................74 Konstruowanie stron z użyciem formantów niestandardowych ................................74 Konstruowanie stron z wykorzystanie formantów użytkownika ...............................76 Projektowanie stron składników Web Part .....................................................................79 Strony wzorcowe ..........................................................................................................................83 Strona wzorcowa default.master ........................................................................................84 Formanty delegowania .........................................................................................................87 Dostosowywanie strony default.master ............................................................................90 Tworzenie niestandardowego szablonu strony wzorcowej .........................................91 Stosowanie znaków firmowych w witrynach WSS przy użyciu plików CSS ..................95 Plik core.css ...............................................................................................................................95 Najlepsze praktyki stosowania znaków firmowych ......................................................97 Podsumowanie ..............................................................................................................................98 4 Składniki Web Part ...............................................................................................................99 Składniki Web Part .......................................................................................................................99 Wprowadzenie do składników Web Part ..................................................................... 100 Podstawy formantów sieci Web ....................................................................................... 102 Programowanie SharePoint kontra programowanie ASP.NET ............................... 105 Rozwijanie składników Web Part dla WSS 3.0 ............................................................. 106 Tworzenie funkcji do importowania składników Web Part ...................................... 109 Debugowanie składników Web Part .............................................................................. 111 Dostosowywanie i personalizacja .................................................................................... 112 Bloki składników Web Part ................................................................................................ 121 Czynności składnika Web Part ........................................................................................ 124 Połączenia składników Web Part .................................................................................... 125 Praca ze składnikami Web Part za pośrednictwem modelu witryny SharePoint .. 132 Podsumowanie ........................................................................................................................... 133 5 Składniki Web Part AJAX ............................................................................................... 135 Wprowadzenie ........................................................................................................................... 135 Budowanie bogatych aplikacji internetowych z wykorzystaniem ASP.NET AJAX ... 138 Zorientowany obiektowo kod JavaScript z ASP.NET AJAX ....................................... 139 Tworzenie komponentu JavaScript za pomocą ASP.NET AJAX ............................... 141 Budowanie składników Web Part AJAX dla usług WSS .................................................. 158 Składniki Web Part AJAX ................................................................................................... 159 Wprowadzenie do pakietu SharePoint AJAX Toolkit ................................................. 162 Wprowadzenie do SharePoint.Ajax.XmlComponent .................................................. 164 Budowanie biblioteki składników Web Part AJAX Litware ....................................... 169 Połączenia składników Web Part AJAX po stronie klienta ....................................... 174 Podsumowanie ........................................................................................................................... 176 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Spis treści vii 6 Listy i typy zawartości ...................................................................................................... 177 Listy i typy zawartości .............................................................................................................. 177 Dane z list WSS ..................................................................................................................... 177 Tworzenie niestandardowych elementów list .............................................................. 186 Definiowanie niestandardowych typów pól ................................................................. 192 Definiowanie elementów z wykorzystaniem typów zawartości ............................. 198 Typy zawartości w modelu obiektowym ....................................................................... 202 Definiowanie zawartości z wykorzystaniem schematów list .................................... 206 Tworzenie wystąpienia listy ............................................................................................... 210 Konfigurowanie list z wykorzystaniem źródeł danych RSS ...................................... 210 Odbiorniki zdarzeń ................................................................................................................... 212 Podsumowanie ........................................................................................................................... 218 7 Biblioteki dokumentów .................................................................................................. 219 Praca z bibliotekami dokumentów ....................................................................................... 219 Klasa SPDocumentLibrary ................................................................................................ 220 Dodawanie nowego pliku do biblioteki dokumentów .............................................. 223 Biblioteki formularzy oraz Microsoft Office InfoPath ...................................................... 231 Formaty plików Office Open XML ........................................................................................ 235 Zalety formatu pliku Office Open XML ......................................................................... 235 Generowanie pierwszego pliku .docx ............................................................................ 239 Generowanie plików .docx na serwerze ........................................................................ 242 Zapisywanie pliku .docx w bibliotece dokumentów .................................................. 244 Bliższe spotkanie z relacjami ............................................................................................. 246 Wiązanie danych z formantami zawartości Word ..................................................... 248 8 Przepływy pracy SharePoint ......................................................................................... 255 Windows Workflow Foundation ........................................................................................... 255 Programy reaktywne ........................................................................................................... 255 Architektura Windows Workflow Foundation ............................................................ 258 Tworzenie programów WF ............................................................................................... 261 Środowisko uruchomieniowe WF .................................................................................. 263 Przepływy pracy SharePoint .................................................................................................. 266 Cele projektowe przepływów pracy SharePoint ......................................................... 267 Podstawy przepływów pracy SharePoint ....................................................................... 268 Formularze wejściowe przepływów pracy .................................................................... 273 Tworzenie niestandardowych szablonów przepływów pracy ....................................... 274 Tworzenie szablonu przepływu pracy „Hello World” ................................................. 276 Tworzenie zadań i oczekiwanie na nie ........................................................................... 288 Integrowanie formularzy wejściowych przepływu pracy ............................................... 295 Instrukcja wykorzystania formularzy wejściowych przepływu pracy zatwierdzania ................................................................................................................... 297 Niestandardowe formularze skojarzenia ....................................................................... 297 Niestandardowe formularze inicjowania ....................................................................... 303 Niestandardowe formularze modyfikacji ...................................................................... 306 Implementacja niestandardowego formularza modyfikacji .................................... 307 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== viii Spis treści Niestandardowe formularze edycji zadań .................................................................... 310 Podsumowanie ........................................................................................................................... 313 9 Rozwiązania i instalacja ................................................................................................... 315 Wprowadzenie ........................................................................................................................... 315 Definicje witryn .......................................................................................................................... 315 Globalna definicja witryny ................................................................................................. 318 Tworzenie niestandardowej definicji witryny ............................................................... 318 Pliki szablonów sieci Web .................................................................................................. 324 Dodawanie dostawcy obsługi administracyjnej witryny ........................................... 326 Rozmieszczanie aplikacji za pośrednictwem funkcji ........................................................ 328 Zależności aktywacji funkcji .............................................................................................. 328 Zszywanie funkcji ................................................................................................................. 330 Globalizacja i lokalizacja usług WSS ................................................................................... 331 Lokalizacja za pomocą zasobów ...................................................................................... 332 Zasoby w plikach SharePoint XML .................................................................................. 335 Rozmieszczanie przy użyciu pakietów rozwiązań ............................................................ 336 Pakiet rozwiązania do instalowania funkcji .................................................................. 337 Pakiet rozwiązania do rozmieszczania składników Web Part .................................. 341 Pakiet rozwiązania do rozmieszczania definicji witryny ............................................ 345 Zmiany konfiguracji sieci Web ......................................................................................... 346 Pakiety językowe ....................................................................................................................... 351 Lokalizowanie definicji witryny ........................................................................................ 353 Podsumowanie ........................................................................................................................... 355 10 Zabezpieczanie aplikacji ................................................................................................. 357 Wprowadzenie ........................................................................................................................... 357 Poziomy zaufania a zabezpieczenia dostępu kodu ......................................................... 358 Rozwiązywanie problemów z zabezpieczeniami dostępu kodu ............................. 366 Uwierzytelnianie, autoryzacja i tożsamości ........................................................................ 367 Wykorzystanie uwierzytelniania przy użyciu formularzy .......................................... 368 Kontekst zabezpieczeń WSS kontra kontekst zabezpieczeń Windows ................. 369 Użytkownicy i grupy ........................................................................................................... 370 Tożsamości puli aplikacji .................................................................................................... 372 Konto systemowe SharePoint ........................................................................................... 373 Delegowanie danych uwierzytelniających użytkownika ........................................... 377 Personifikacja użytkownika przy użyciu tokenów użytkownika ................................... 378 Zabezpieczanie obiektów w usługach WSS .................................................................. 379 Prawa i poziomy uprawnień ............................................................................................. 381 Obsługa niepowodzeń autoryzacji za pomocą SPUtility .......................................... 384 Podsumowanie ........................................................................................................................... 385 Indeks ......................................................................................................................................... 387 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Podziękowania Podziękowania Teda Prawdopodobnie powinienem zacząć od samego początku. Mike Fitzmaurice (vel Fitz) zaprosił mnie do kampusu firmy Microsoft w Redmond w czerwcu w roku 2005. Przez telefon Fitz zdradził mi, że będę miał okazję zobaczyć ich „nowe dzieło”, które nadal znajdowało się w ściśle tajnym cyklu alfa. Gdy przyjechałem, Fitz poznał mnie z kilkoma menedżerami programu w zespole SharePoint, którzy, jak się później okazało, byli nie- ocenionymi źródłami informacji, gdy wraz z Danem prowadziliśmy prace badawcze pro- wadzące do napisania tej książki. Ze wszystkich pomocnych osób, które poświęciły czas na udzielanie odpowiedzi na nasze pytania, chcielibyśmy w szczególności podziękować Mikowi Ammerlaan, osobie która odpowiedziała na najwięcej naszych pytań i zna zasady działania Windows SharePoint Services wszerz i wzdłuż. Latem 2005 roku, wraz z grupą Microsoft Developer Platform Evangelism, rozpocząłem pracę nad projektem stworzenia i przeprowadzenia szkoleń dla programistów z zakresu technologii SharePoint 2007. Stałem się członkiem tego zespołu i podczas tworzenia slaj- dów i ćwiczeń praktycznych zaprzyjaźniłem się z legendarnym Patrickiem Tisseghem z firmy U2U. Chciałbym podziękować Mauricio Ordonez i Scottowi Burmester za umożliwie- nie mi współuczestniczenia w tym projekcie. Podziękowania należą się także moim współ- pracownikom m.in. Robowi Barker, Chrisowi Predeek, Dougowi Mahugh, Christin Boyd oraz Donowi Campbell – wszyscy oni pomogli mi w poznaniu usług Windows SharePoint Services i związanych z nimi technologii. Chciałbym także podziękować wszystkim osobom, które poświęciły swój czas na prze- glądanie niniejszej książki. David Robinson przeprowadził techniczną recenzję wszystkich rozdziałów i zaprezentował szereg interesujących spostrzeżeń. Miałem szczęście, gdyż roz- dział poświęcony przepływom pracy zaopiniowali czołowi eksperci z branży przemysłowej, tacy jak Eilene Hao, Dharma Shuklaa, Gabe Hall, Scot Hillier, Robert Bogue oraz Ken Getz. Los się do nas uśmiechnął i tak cenieni specjaliści jak Morgan Everett, Mark Collins oraz Stephen Terlecki dokonali dogłębnej i uwzględniającej ostatnie trendy recenzji tworzonego przez Dana rozdziału dotyczącego składników Web Part AJAX. Mam ogromny dług wdzięczności wobec społeczności MVP produktu SharePoint. Po pierwsze, chciałbym podkreślić, że Lawrence Liu i April Dalke wykonali kawał dobrej roboty w celu zintegrowania społeczności. Mamy prywatną listę dystrybucyjną, za pośred- nictwem której systematycznie dzielimy się swoimi doświadczeniami. Chciałbym także podziękować tym ekspertom SharePoint MVP, którzy regularnie nadsyłali posty i tak wiele mnie nauczyli. Zaliczają się do nich m.in. Adam Buenz, Amanda Murphy, Andrew Connell, Bob Fox, Bil Simser, Bill English, Bob Mixon, Carlos Segura Sanz, Cornelius J van Dyk, Darrin Bishop, Brad Smith, Dustin Miller, Eli Robillard, Erol Giraudy, Gary Bushey, Gšran Husman, Heather Solomon, Jan Tielens, Jason Medero, Joel Ward, John Holliday, Joris Poelmans, Kevin Laahs, Loke Kit Kai, Luis Du Solier Grinda, Mads Nissen, Mark Kruger, Matthew McDermott, Mei Ying Lim, Michael Greth, Michael Noel, Mike „the Enforcer” Walsh, Nick Swan, Renaud Comte, Robert Bogue, Shane Perran, Shane Young, Spencer Harbar, Stacy Draper, Stephane Cordonnier, Stephen Cummins, Steve Smith, Steven Collier, ix ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== x Podziękowania Todd Baginski, Todd Bleeker, Todd O. Klindt, Pierre Vivier-Merle, Woody Windischman oraz Xi Chen. Chciałbym również podziękować grupie wsparcia technicznego, zwanej również „paczką absolwentów DevelopMentor”. Zawsze z czułością będę wspominał czas spędzony w grupie DevelopMentor, w drugiej połowie lat 90., gdy guru był Don Box, COM’y stanowiły nadal uwielbianą technologię, a bańka internetowa rosła każdego dnia. Miałem ogromne szczęś- cie zaprzyjaźnić się i współpracować z prawdziwymi geniuszami, do których należą Don Box, Chris Sells, Tim Ewald, Brent Rector, John Lam, Ingo Rammer, Aaron Skonnard, Ian Griffiths, Keith Brown, Fritz Onion, Jon Flanders, Mike Woodring, Ted Neward, Andrew Gayter, Bob Beauchemin, Brian A. Randell, Brian Maso, Brock Allen, Cal Caldwell, Craig Andera, Dan Sullivan, Dan Weston, Daniel Sinclair, Dominick Baier, Doug Turnure, Dr. Joe Hummel, George Shepherd, Henk de Koning, Jason Masterman, Jason Whittington, Jim Wilson, Kent Tegels, Kevin Jones, Kirk Fertitta, Marcus Heege, Mark Taparauskas, Matt Milner, Niels Berglund, Scott Bloom, Simon Horrell, Steve Rodgers oraz Martin Gudgin. Wszyscy jesteśmy wdzięczni Craigowi Andera za to, że zgodził się przez pierwszych kilka lat utrzymywać serwer pocztowy z listą dystrybucyjną absolwentów DevelopMentor we własnej piwnicy, dzięki czemu grupa mogła dzielić się swoimi technicznymi spostrzeże- niami oraz unikalnym poczuciem humoru. Chciałbym podziękować także tym pracownikom Microsoft Press, którzy pomogli mi w opublikowaniu niniejszej książki. Szczęśliwy los zesłał mi Bena Ryan jako redaktora prowadzącego i Kathleen Atkins jako redaktora technicznego. Są to te same dwie osoby, z którymi współpracowałem w poprzednim tysiącleciu przy okazji publikacji w wydawni- ctwie Microsoft Press mojej pierwszej książki dotyczącej VB oraz COM w roku 1998. Na zakończenie chciałbym podziękować Danowi Larson, współwinnemu powstania tej książki. Dziękuję za chęć wejścia ze mną w spółkę i za pomoc w dostarczeniu książki w roku 2007. Dziękuję za wgłębianie się w schematy list, definicje witryn ustawienia zabez- pieczeń CAS oraz za znaczące poprawki w końcowym manuskrypcie. Szczególnie zaimpo- nowała mi twoja biegłość w integracji WSS z rozszerzeniami AJAX dla ASP.NET oraz umie- jętność opisania tej technologii bez korzystania z jakichkolwiek dodatkowych zasobów w tak krótkim czasie. Z całą pewnością zasłużyłeś na pseudonim „Kapitan AJAX”. Podziękowania Dana Chociaż większość moich podziękowań pokrywa się z podziękowaniami Teda, dużą część swojego doświadczenia zawdzięczam zespołom Microsoft Consulting i społeczności pro- gramistów z Denver w Colorado. Anthony Petro oraz Marcus Hass odegrali znaczącą rolę, udzielając mi wskazówek i dzieląc się dogłębną wiedzą dotyczącą platformy WSS, a także pierwszych, poważniejszych wdrożeń internetowych rozwiązań WSS oraz SharePoint Portal Server. Dzięki nim dowiedzieliśmy się wiele o tym, jak rozłożyć platformę WSS na podsta- wowe elementy i jak wykorzystać nowo zdobyte doświadczenia – wiele z tych zagadnień zostanie poruszonych w niniejszej książce. Chciałbym również podziękować zespołom Microsoft Consulting, z którymi miałem oka- zję współpracować, a w szczególności Scottowi Short. Scott nauczył mnie, jak powinny być pisane składniki SDK, z których później skorzystają programiści. Umiejętność ta okazała się bardzo pomocna i znalazła odzwierciedlenie w wielu moich projektach oraz zapewne także ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Podziękowania xi w tej książce. Scott nauczył mnie tworzenia szkieletów zamiast aplikacji i pracy z zespo- łami programistów w celu zapewnienia pomyślnej adaptacji technologii. Klienci, z którymi współpracowaliśmy przez lata, wnieśli swoje praktyczne doświad- czenia, na podstawie których zbudowana została ta książka. Chciałbym podziękować Davidowi Levstik, Davidowi Weinstein, Johnowi Daniels, Lei Yu, Jackowi Deverter i pozo- stałym klientom, z którymi miałem okazję pracować ostatnimi czasy. Społeczność programistów z Denver, do której należą Joe Mayo oraz Roy Ogborn, była bardzo pomocna, szczególnie podczas stawiania kolejnych kroków kariery. To jej zawdzię- czam większość wiedzy dotyczącej C#, ASP.NET i innych technologii firmy Microsoft i to waśnie tej społeczności chciałbym złożyć szczególne wyrazy wdzięczności. Bardzo pomogli mi również Chris Wallace i grupa użytkowników Visual Studio .NET z Denver oraz grupa użytkowników SharePoint Rocky Mountain, w tym Kris Syverstad i Matt Passannante, którym to zawdzięczam możliwość przeprowadzenia pierwszych dyskusji dotyczących technologii .NET i SharePoint. Chciałbym również podziękować mojemu zespołowi programistów w firmie NewsGator za przedstawienie wielu doświadczeń ze świata rzeczywistego oraz zaopiniowanie wzor- ców architektury AJAX zaprezentowanych w tej książce. Specjalne podziękowania kieruję do Lane Mohler, Briana Agnes, Sherstin Lauman, Darrina Long, Josha Aragon oraz Toma McIntyre. Jestem także ogromnie wdzięczny mojej żonie Sallinie za cierpliwość i wsparcie udzie- lone w czasie pracy nad tą książką. Sallino, bez ciebie nie zdołałbym jej napisać. Na zakończenie chciałbym podziękować Tedowi za wkład w moją część publikacji i za wspólną pracę nad niniejszą książką. Spędziliśmy wspaniały czas, tworząc razem tę książkę i sądzimy, że widać to na każdej z jej stron. Mamy nadzieję, że lektura tej książki dostarczy tyle przyjemności ile jej pisanie. ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Przedmowa Pojawienie się Teda Pattison na scenie technologii SharePoint w roku 2004 stanowiło wyjąt- kowo miły kamień milowy. Znany szkoleniowiec z poważnymi referencjami programi- stycznymi w technologii .NET docenił potencjał platformy Windows SharePoint Services. Ted zaczął publikować artykuły dotyczące produktów i technologii SharePoint w swojej kolumnie w magazynie MSDN. Tworzył materiały szkoleniowe. Prowadził szkolenia i wyso- kiej jakości prezentacje na konferencjach. Zauważyliśmy to. Ted jest jedną z osób, które zaangażowaliśmy do współpracy z naszym zespołem inżynier- skim już w bardzo wczesnej fazie cyklu rozwoju Windows SharePoint Services 3.0 w celu napisania wstępnej dokumentacji dla pierwszych użytkowników beta, która została później opublikowana w postaci artykułów SDK. Ted stworzył i dostarczał kursy dla klientów i partnerów wytypowanych do początkowych programów adaptacyjnych. Doświadczenia zdobyte podczas szkolenia wielu programistów pozwoliły mu uzyskać wyjątkowo dogłębny obraz ich potrzeb oraz tego, czego muszą się oni nauczyć, aby z powodzeniem wykorzy- stywać technologię SharePoint. A co najważniejsze, nie postrzegamy Teda jako „programisty SharePoint”. Ted jest pro- gramistą .NET, który odkrył, jak dołączyć technologię SharePoint do wachlarza swoich umiejętności i narzędzi. Wie, kiedy warto skorzystać ze stworzonej przez nas technologii oraz jak użyć jej w taki sposób, aby zharmonizować ją ze standardowymi praktykami pro- gramistycznymi wykorzystywanymi do rozwijania rozwiązań .NET, a w szczególności ASP. NET. Czas, jaki spędził on na przeprowadzaniu szkoleń w DevelopMentor oraz we własnej firmie, pogłębił jego umiejętności w zakresie objaśniania technologii i przekładania wiedzy na praktyczne działanie. Oprócz Patricka Tisseghem (twórcy książki Microsoft Press dotyczącej programowania w Microsoft Office SharePoint Server 2007 stanowiącej idealne uzupełnienie niniejszej pozycji), z którym Ted często podejmował współpracę, nie istnieją osoby, które spędziłyby więcej czasu myśląc, prowadząc szkolenia i mówiąc o programowaniu z wykorzystaniem produktów i technologii SharePoint. Daniel Larson jest idealnym współautorem dla Teda, ponieważ posiada komplemen- tarne doświadczenie. Dan jest zaangażowany w rozwój naszej technologii od pięciu lat i regularnie prowadzi blog na temat programowania w technologii SharePoint. Spędza czas z naszym zespołem inżynierskim, szukając sposobów na zintegrowanie najnowszych osiągnięć ASP.NET ze stronami dostarczanymi w witrynach SharePoint. Jest entuzjazstą technologii internetowych skierowanych do społeczności, takich jak RSS czy OPML. Ale co ważniejsze, Dan realizuje w praktyce głoszone przez siebie koncepcje. W firmie NewsGator zajmuje się tworzeniem aplikacji portalowych na światowym poziomie, wyko- rzystując produkty i technologie SharePoint zintegrowane z RSS, AJAX i siecią społeczną. Dan osobiście doświadczył, jakie rozwiązania sprawdzają się w praktyce i wie, jak z sukce- sem tworzyć wspaniałe produkty przy użyciu technologii SharePoint. Niniejsza książka zawiera wiele wartościowych informacji. Opisuje internetowy interfejs użytkownika, technologię magazynowania dokumentów i danych oraz gotowe do użycia w aplikacji funkcje, takie jak przepływy pracy czy typy zawartości. A co ważniejsze, pre- zentuje zalecenia dotyczące stylu organizowania projektów kodu, które znacznie podnoszą efektywność pisania, utrzymywania, rozmieszczania i uaktualniania kodu źródłowego. xiii ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== xiv Przedmowa Rozwijając usługi Windows SharePoint Services, w rzeczywistości tworzymy rozszerze- nia i elementy wykorzystywane przez istniejącą aplikację sieci Web. Ted i Dan zrozumieli tę zależność i dostosowali do tej rzeczywistości zaprezentowane przykłady i porady. Efekty są rewelacyjne. A zatem - miłej lektury! Derek Burney Dyrektor generalny Windows SharePoint Services Microsoft ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Wstęp Przyglądając się zmianom zachodzącym na platformie Windows, trudno nie zauważyć, że popularność produktu „SharePoint” stale rośnie. Technologie SharePoint oferują efektywne rozwiązania wykorzystywane podczas tworzenia witryn zespołów, usprawniając współ- pracę w środowisku bazującym na sieci LAN. Z drugiej strony technologie SharePoint ułatwiają zarządzanie zawartością witryn internetowych, które mogą być skalowane tak, aby obsłużyć nawet tysiące użytkowników w środowisku farmy sieci Web. I chociaż już wbudowana funkcjonalność technologii SharePoint stanowi ogromną wartość, można osiągnąć o wiele więcej, gdy potrafi się wykorzystać Windows SharePoint Services jako platformę programistyczną. Niniejsza książka ma za zadanie pomóc w projektowaniu i rozwijaniu niestandar- dowych rozwiązań biznesowych opartych na Windows SharePoint Services 3.0 (WSS). Naszym celem jest nauczenie czytelnika tworzenia, debugowania i instalowania podsta- wowych elementów wchodzących w skład platformy, takich jak funkcje, definicje witryn, szablony stron, składniki Web Part, schematy list, typy zawartości, programy obsługi zda- rzeń i szablony przepływów pracy. Gdy już włoży się trochę wysiłku i nauczy tworzenia tych elementów, możliwości budowania różnego typu aplikacji i rozwiązań na platformie Windows SharePoint Services są praktycznie nieograniczone. Ponadto pozyskane umie- jętności pozwolą na rozwijanie funkcjonalności dostępnej w programie Microsoft Office SharePoint Server 2007 (MOSS). Dla kogo jest ta książka Niniejsza książka została napisana z myślą o programistach, którym znane są platformy Visual Studio 2005, Microsoft .NET 2.0 Framework oraz ASP.NET. Przykłady kodu dołą- czone do tej książki zostały napisane w języku C#. Niniejsza publikacja dostarcza pro- gramistom i architektom pełnego przeglądu technologii Windows SharePoint Services 3.0 oraz prezentuje specjalistyczne porady dotyczące rozwijania aplikacji na tej platformie. Książka ta może przynieść korzyści zarówno programistom, którzy nie mieli wcześniej okazji wykorzystywać Windows SharePoint Services, jak i doświadczonym programistom WSS. Wymagania systemowe Do zbudowania i uruchomienia przykładów kodu dołączonych do niniejszej książki potrzebny będzie następujący sprzęt i oprogramowanie: ■ Microsoft Windows Server 2003 z Service Pack 1 lub Microsoft Windows Server 2003 R2 (instalacja natywna lub maszyna wirtualna) ■ Microsoft Windows SharePoint Services 3.0 ■ Microsoft Visual Studio 2005 Standard Edition lub Microsoft Visual Studio 2005 Professional Edition lub Microsoft Visual Studio 2005 Team Suite xv ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== xvi Wstęp ■ W przypadku instalacji natywnej zalecamy komputer z procesorem minimum 1 GHz Pentium i pamięcią RAM o rozmiarze przynajmniej 1 GB ■ W przypadku instalacji na maszynie wirtualnej Virtual PC zalecany jest komputer z pro- cesorem minimum 2 GHz Pentium i pamięcią RAM o rozmiarze przynajmniej 2 GB Przykłady kodu Wszystkie przykłady kodu omówione w niniejszej książce mogą zostać pobrane ze strony z materiałami pomocniczymi dla tej książki pod następującym adresem: http://www.microsoft.com/mspress/companion/9780735623200/ Wsparcie techniczne Dołożyliśmy wszelkich starań, aby zapewnić wysoką jakość tej książki i jej materiałów pomocniczych. Wydawnictwo Microsoft Press dostarcza wsparcia dla niniejszej książki za pośrednictwem następującej witryny: http://www.microsoft.com/learning/support/books/ Podstawowe aktualizacje i erratę znaleźć można pod adresem: http://www.TedPattison.net/InsideWSS Pytania i komentarze Komentarze, pytania lub pomysły dotyczące niniejszej książki oraz materiałów pomocni- czych lub pytania, na które odpowiedzi można nie znaleźć w podanych powyżej witry- nach, prosimy przesyłać do wydawnictwa Microsoft Press za pośrednictwem poczty e-mail na adres: mspinput@microsoft.com lub poczty tradycyjnej na adres: Microsoft Press Attn: Inside Microsoft® Windows® SharePoint® Services 3.0 Editor One Microsoft Way Redmond, WA 98052-6399 Pod żadnym z powyższych adresów nie jest udzielane wsparcie techniczne dla produktów firmy Microsoft. ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Rozdział 1 Wprowadzenie ■ Poznaj podstawowe zagadnienia i terminy dotyczące usług Windows SharePoint Services (WSS). ■ Poznaj podstawy inicjowania obsługi administracyjnej witryn. ■ Poznaj możliwości dostosowywania usług WSS do własnych potrzeb. ■ Zbadaj funkcje współpracy wbudowane w usługi WSS. ■ Poznaj możliwości rozwijania i rozszerzania usług WSS. Inicjowanie obsługi administracyjnej witryn Jeszcze dziesięć lat temu duża część firm dopiero poznawała sieć WWW i odkrywała moż- liwość dotarcia do konsumentów za pośrednictwem treści prezentowanej w postaci stron HTML. Większość firm stworzyła pojedynczą witrynę udostępnianą w Internecie, która spełniała wszystkie potrzeby związane z reklamowaniem produktów i usług. Od tamtej pory wiele się zmieniło. W dzisiejszych czasach firmy wykorzystują witryny sieci Web nie tylko jako metodę dotarcia do klientów, ale również w celu zapewniania dostawcom, pracownikom i zarządowi dostępu do aplikacji. Nierzadko duże korporacje tworzą setki lub nawet tysiące witryn sieci Web. Niektóre z nich wymagają na przykład stworzenia nowej witryny na potrzeby każdej nowej kampanii marketingowej lub nowo zatrudnionego pracownika. W świecie bez produktów i technologii SharePoint utrzymywanie i zarządzanie nieustan- nie tworzonymi witrynami sieci Web firmy może być drogie i pracochłonne. Przyjrzyjmy się na przykład, z czym wiąże się proces tworzenia witryny sieci Web zaprojektowanej z myślą o śledzeniu źródeł kontaktów i kontrahentów handlowych. Po pierwsze, proces ten wymaga, aby administrator baz danych stworzył na serwerze SQL Server lub w innym systemie zarządzania bazą danych nową bazę danych i tabele konieczne do przechowywania danych handlowych. Następnie, programista musi stworzyć witrynę ASP.NET wraz ze stronami sieci Web i wymaganym kodem służącym do wyświetla- nia i edycji tychże danych. Po przygotowaniu witryny ASP.NET do publikacji, administrator systemu musi skopiować pliki aplikacji ASP.NET na docelowy serwer sieci Web i skonfi- gurować Internetowe Usługi Informacyjne 6.0 (IIS) poprzez stworzenie nowego katalogu wirtualnego. Jeśli środowiskiem, w którym ma zostać zainstalowana aplikacja ASP.NET, jest farma sieci Web, wymagania wzrastają, ponieważ powyższe procedury administracyjne muszą zostać powielone na wszystkich serwerach frontonu sieci Web w farmie. Jak łatwo sobie wyobrazić, proces przygotowywania i uruchamiania nowej witryny sieci Web przy użyciu powyższego rozwiązania może ciągnąć się tygodniami, a nawet miesiącami – ze względu na konieczność skoordynowania działań administratora baz danych, programi- sty Web oraz administratora systemu. Usługi WSS zostały zaprojektowane tak, aby zwiększyć efektywność i przyspieszyć proces tworzenia witryn sieci Web. Programista WSS może tworzyć komponenty, które są następnie wykorzystywane do tworzenia witryn i obszarów roboczych. 1 ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== 2 Microsoft® Windows® SharePoint® Services 3.0 od środka Jądro usług WSS stanowi silnik służący do tworzenia i obsługi witryn. Architektura usług WSS została zaprojektowana w szczególności z myślą o środowisku farmy sieci Web. Dzięki usługom WSS dowolny członek działu IT może zainicjować obsługę administracyjną witryny (w uproszczeniu stworzyć witrynę) w czasie mniejszym niż jedna minuta, wprowa- dzając wymagane informacje za pomocą formularza z poziomu przeglądarki. Administrator baz danych nie musi tworzyć nowej bazy danych ani żadnych tabel. Programista ASP.NET nie musi tworzyć nowej witryny sieci Web. Administrator systemu nie musi kopiować żadnych plików ani konfigurować ustawień usług IIS na serwerze frontonu sieci Web. Silnik WSS do inicjowania obsługi administracyjnej witryn bazuje na zintegrowanym modelu składowania, który obejmuje wiele baz danych SQL Server służących do prze- chowywania zawartości i danych konfiguracyjnych. Instalując usługi WSS, można wybrać opcję wykorzystania serwera SQL Server 2005 lub SQL Server 2000. W przypadku pro- stych scenariuszy rozwoju i wdrożenia można wykorzystać również serwer SQL Express, co eliminuje konieczność wykupienia licencji na oprogramowanie SQL Server. Microsoft Office SharePoint Server 2007 Istotne jest zrozumienie różnicy pomiędzy usługami Windows SharePoint Services (WSS) a programem Microsoft Office SharePoint Server 2007 (MOSS). Zarówno WSS, jak i MOSS stanowią fragmenty oprogramowania stworzone przez zespół Microsoft Office. Jednak usługi WSS stanowią element systemu operacyjnego Windows Server 2003, natomiast MOSS to osobny produkt ze swoją własną licencją SKU. Usługi WSS należy postrzegać jako platformę wewnętrzną, a MOSS jako dodatkowy zestaw komponentów i usług, które wzbogacają tę platformę. Usługi WSS nie zawierają własnego modelu licencjonowania, ich wykorzystanie obejmuje licencja systemu Windows Server 2003. To sprawia, że zastosowanie apli- kacji zaprojektowanych i zbudowanych w oparciu o platformę WSS może być dla firm bardzo opłacalne. Natomiast program MOSS ma swój własny model licencjono- wania, który obejmuje licencje po stronie serwera i licencje dostępowe (CAL). Model licencjonowania MOSS jest dodatkowo podzielony na edycję Standard i Enterprise. Każde wdrożenie WSS opiera się na koncepcji farmy. Farma stanowi w uproszczeniu zbiór jednego lub więcej komputerów współpracujących ze sobą w celu dostarczenia funkcjonal- ności WSS do klientów. W najprostszym scenariuszu wdrożenia farma WSS składa się z poje- dynczego serwera, który pełni rolę zarówno serwera frontonu sieci Web, jak i serwera baz danych SQL Server. Bardziej skompilowana farma WSS składać się może z kilku serwerów frontonu sieci Web i dedykowanego serwera baz danych, jak pokazano na Rysunku 1-1. Każda farma WSS obejmuje jedną bazę danych SQL Server zwaną bazą danych konfigu- racji. Baza danych konfiguracji śledzi ważne informacje dotyczące całej farmy. Na przykład informacje, które serwery frontonu sieci Web są powiązane z farmą oraz którym użytkow- nikom nadane zostały uprawnienia administratora usług WSS na poziomie farmy. ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Rozdział 1: Wprowadzenie 3 Serwer sieci Web 1 Router http://www.litwareinc.com Serwer sieci Web 2 Serwer bazy danych Rysunek 1-1 Farma WSS dostarcza aplikacje sieci Web. Serwer sieci Web 3 Usługi WSS są zbudowane w oparciu o platformę Internetowych Usług Informacyjnych 6.0 (IIS). A w szczególności powierzają witrynom sieci Web obsługę przychodzących żądań HTTP. W związku z tym trzeba zrozumieć, czym tak naprawdę jest witryna sieci Web usług IIS. Witryna sieci Web usług IIS stanowi punkt wejścia w infrastrukturze serwera IIS. Na przykład, Domyślna Witryna Sieci Web tworzona automatycznie przez serwer IIS nasłu- chuje przychodzących żądań HTTP na porcie 80. Można tworzyć kolejne witryny sieci Web usług IIS, aby zapewnić dodatkowe punkty wejścia wykorzystujące inne numery portów, inne adresy IP lub inne nagłówki hosta. Istotną cechą charakterystyczną witryn sieci Web usług IIS jest to, że ich ustawienia zabezpieczeń są konfigurowane niezależnie od pozostałych witryn sieci Web usług IIS. Na przykład można skonfigurować Domyślną Witrynę Sieci Web jako upublicznioną witrynę, która dopuszcza wykorzystanie uwierzytelniania podstawowego i zezwala na anonimowy dostęp i równocześnie stworzyć drugą witrynę sieci Web wykorzystywaną w obrębie kor- poracyjnej sieci LAN na innym porcie np. 1000. Po stworzeniu na serwerze IIS witryny intranetowej można skonfigurować ją tak, aby wymagała ona zintegrowanego uwierzytel- niania systemu Windows i nie zezwalała na dostęp anonimowy. Jeśli witryna sieci Web usług IIS ma być wykorzystywana do obsługi witryn WSS, musi zostać specjalnie skonfigurowana. Z omówieniem technicznych szczegółów tej konfiguracji wstrzymamy się do kolejnego rozdziału. Teraz chcemy wprowadzić jedynie pewne najistot- niejsze pojęcia i terminy. Witryna sieci Web usług IIS, która została skonfigurowana specjalnie z myślą o urucha- mianiu witryn WSS, nazywana jest aplikacją sieci Web. Każda witryna WSS działa w kon- tekście określonej aplikacji sieci Web. Jest to istotne, ponieważ aplikacja sieci Web pełniąca rolę hosta dla witryny WSS odpowiada za pewne ważne aspekty środowiska WSS m.in. konfigurację zabezpieczeń uwierzytelniania użytkowników. Proces instalacji usług WSS obejmuje stworzenie i konfigurację aplikacji sieci Web o nazwie Administracja centralna programu SharePoint 3.0. Aplikacja Administracja Centralna Programu SharePoint 3.0 dostarcza strony, które pozwalają na realizowanie podstawowych zadań administratorskich, takich jak konwertowanie standardowej witryny sieci Web usług ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== 4 Microsoft® Windows® SharePoint® Services 3.0 od środka IIS na aplikację sieci Web usług WSS. Administracja Centralna Programu SharePoint umoż- liwia również stworzenie nowej witryny sieci Web usług IIS i zapewnia jej automatyczną konfigurację na potrzeby aplikacji sieci Web usług WSS, bez konieczności bezpośredniego wykorzystywania żadnego z narzędzi administracyjnych usług IIS. Aplikacje sieci Web kontra Serwery wirtualne W ostatniej wersji usług WSS zespół ds. produktu wykorzystywał termin serwer wirtualny (ang. virtual server) do opisania witryny sieci Web usług IIS, która została wzbogacona o funkcjonalność WSS. W aktualnej wersji usług WSS i jej dokumen- tacji pomocniczej termin serwer wirtualny został zastąpiony terminem aplikacja sieci Web – głównie po to, aby uniknąć nieprawidłowych skojarzeń z innym produk- tem firmy Microsoft o tej samej nazwie. Jednak programiści WSS powinni pamiętać, że nowy termin aplikacja sieci Web oraz poprzedni termin serwer wirtualny mogą być często używane zamiennie. Na przykład model obiektowy WSS zawiera klasę SPVirtualServer służącą do programowania obiektów aplikacji sieci Web. W typowej farmie WSS istnieje zazwyczaj kilka różnych aplikacji sieci Web. Administracja Centralna Programu SharePoint jest konfigurowana podczas instalacji jako osobna aplikacja sieci Web wykorzystywana przez usługi WSS. Potrzebna jest jedna lub więcej innych aplika- cji sieci Web do tworzenia i zarządzania witrynami, które będą dostępne dla użytkowników końcowych. Można, na przykład, skonfigurować Domyślną Witrynę Sieci Web jako aplikację sieci Web usług WSS, tak aby witryny WSS były udostępnianie za pośrednictwem standar- dowego portu 80 protokołu HTTP. Można również stworzyć w farmie dodatkowe aplikacje sieci Web, jak np. intranetową aplikację sieci Web na porcie 1000. Dane konfiguracyjne usług WSS dla całej farmy są przechowywane w bazie danych konfiguracji, a dane powią- zane z witrynami WSS są umieszczane w innego typu bazie danych, zwanej bazą danych zawartości. Podczas tworzenia nowej aplikacji sieci Web za pośrednictwem Administracji Centralnej Programu SharePoint 3.0, usługi WSS tworzą nową bazę danych zawartości. W prostym modelu wdrażania farma zawiera tylko jedną bazę danych zawartości dla każdej aplikacji sieci Web, jak pokazano na Rysunku 1-2. W scenariuszach wymagających wyż- szego poziomu zabezpieczeń lub bardziej szczegółowego planowania składowania można wykorzystywać bardziej zaawansowane procedury administracyjne w celu umieszczenia witryn znajdujących się w aplikacji sieci Web w wielu bazach danych zawartości. ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Rozdział 1: Wprowadzenie 5 Żądanie do aplikacji sieci Web #1 http://www.litwareinc.com Żądanie do aplikacji sieci Web #1 http://www.litwareinc.com/sites/Vendors Baza danych zawartości #1 Żądanie do aplikacji sieci Web #2 http://www.litwareinc.com:1000/sites/Sales Żądanie do aplikacji sieci Web #2 http://www.litwareinc.com:1000/sites/Accounting Baza danych zawartości #2 Rysunek 1-2 Farma WSS dostarcza aplikacje sieci Web przechowujące dane w bazach danych zawartości. Wskazówka Tworzone przez programistów oprogramowanie dla usług WSS nie może uzyski- wać bezpośredniego dostępu do bazy danych konfiguracji ani baz danych zawartości. Dlatego trzeba oprzeć się pokusie napisania na przykład kodu ADO.NET, który odczytuje lub zapisuje dane w tabelach wewnątrz tych baz danych. Zamiast tego należy wykorzystać w kodzie interfejsy programistyczne API usług WSS. Dzięki temu usługi WSS uruchomią kod systemowy, który będzie pośredniczył w uzyskaniu dostępu do bazy danych konfiguracji i/lub bazy danych zawartości. Witryny i zbiory witryn Warto zatrzymać się na chwilę, aby doprecyzować termin witryna WSS, który wykorzysty- wany był w przedstawionym do tej pory omówieniu. Po pierwsze, witryna WSS to pojemnik do przechowywania zawartości. Zawartość witryny jest przechowywana głównie w postaci list, bibliotek dokumentów i witryn podrzędnych. Po drugie, witryna stanowi jednostkę zabezpieczeń, której zawartość jest dostępna dla konfigurowalnego zbioru użytkowników. Witryna może definiować swój własny zbiór użytkowników lub dziedziczyć ustawienia z witryny nadrzędnej. Witryna może także zawierać konfigurowalny zestaw grup i upraw- nień, które definiują poziom dostępności poszczególnych użytkowników dla list i bibliotek dokumentów znajdujących się w witrynie. Należy zauważyć, że usługi WSS w rzeczywistości nie dokonują uwierzytelniania użyt- kowników, pozostawiają to serwerowi IIS i infrastrukturze dostawcy uwierzytelniania ASP. NET. Jednak przejmują przywództwo, gdy do głosu dochodzi autoryzacja. Usługi WSS dostarczają elementy interfejsu użytkownika oraz kod pomocniczy umożliwiający uprzy- wilejowanym użytkownikom konfigurowanie autoryzacji w odniesieniu do różnych ele- mentów witryn. Usługi WSS 3.0 wprowadzają także mechanizmy stosowania zabezpieczeń, które sprawiają, że polecenia i łącza do elementów witryny są pokazywane wyłącznie użyt- kownikom, którzy mają do nich autoryzowany dostęp. ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== 6 Microsoft® Windows® SharePoint® Services 3.0 od środka Po trzecie, witryna stanowi aplikację z rozszerzalnym, w pełni dostosowywalnym inter- fejsem użytkownika. Administrator witryny może tworzyć strony i dostosowywać ich układ oraz wygląd. Administrator witryny może także modyfikować strukturę nawigacyjną witryny przy użyciu przeglądarki. Witryna stanowi fundament dla wykorzystania technologii stron i składników Web Part firmy Microsoft. Administratorzy witryn mogą dostosowywać strony składników Web Part, dodając i konfigurując poszczególne składniki. Użytkownik może personalizować stronę składników Web Part, modyfikując, dodając i/lub usuwając składniki Web Part. Wszystkie dane dostosowań i personalizacji powiązane ze składnikami Web Part na stronie składni- ków Web Part są automatycznie składowane w bazie danych zawartości. Dla każdej witryny WSS musi zostać zainicjowana obsługa administracyjna w zakresie ist- niejącej aplikacji sieci Web. Jednak witryna nie może istnieć jako niezależna jednostka w apli- kacji sieci Web, każda witryna WSS musi być stworzona w zakresie zbioru witryn. Zbiór witryn stanowi pojemnik dla witryn WSS. Każdy zbiór witryn wymaga obecności witryny najwyż- szego poziomu. Poza wymaganą witryną najwyższego poziomu zbiór witryn może zawierać hierarchię witryn podrzędnych. Na Rysunku 1-3 zaprezentowane zostały różne, dozwolone zbiory witryn. Pierwszy zbiór witryn zawiera jedynie witrynę najwyższego poziomu. Drugi zbiór witryn zawiera jeden poziom witryn podrzędnych pod witryną najwyższego poziomu. Trzeci zbiór witryn zawiera bardziej złożoną hierarchię witryn podrzędnych. Aplikacja sieci Web http://www.litwareinc.com:1000 Zbiór witryn /sites/Operations Zbiór witryn /sites/Sales Zbiór witryn /sites/Accounting Witryna najwyższego poziomu Witryna najwyższego poziomu Witryna najwyższego poziomu Witryna podrzędna /East Witryna podrzędna /West Witryna podrzędna /Reports Witryna podrzędna /IRS_Forms Witryna podrzędna /2006_Q1 Witryna podrzędna /2006_Q2 Rysunek 1-3 Witryny znajdują się w zbiorze witryn. Każdy zbiór witryn musi zawierać witrynę najwyższego poziomu i może zawierać hierarchię witryn podrzędnych. Jedną z pierwszych wątpliwości, które pojawiają się, gdy firma rozpoczyna wykorzystywa- nie technologii WSS lub MOSS, jest sposób rozmieszczenia witryn w zbiorach witryn. Czy należy na przykład stworzyć jeden duży zbiór witryn z wieloma witrynami podrzędnymi, czy może lepiej stworzyć osobne zbiory witryn? Aby podjąć najtrafniejszą decyzję, należy rozważyć wszystkie związane z nią kwestie, które zostaną omówione w kilku kolejnych ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Rozdział 1: Wprowadzenie 7 akapitach. Trzeba zrozumieć wpływ rozmieszczenia witryn w zbiorach witryn na zakres przywilejów administracyjnych, granice zabezpieczeń, operacje tworzenia i przywracania kopii zapasowych oraz projekt witryny. Być może niektórzy czytelnicy zadają sobie pytanie, dlaczego architektura WSS wymaga istnienia specjalnego pojemnika do przechowywania witryn. Przede wszystkim zbiory witryn reprezentują zakres przywilejów administracyjnych. Użytkownik, któremu przypi- sana została rola administratora zbioru witryn, ma pełne administracyjne uprawnienia we wszystkich witrynach istniejących i tworzonych w przyszłości w tym zbiorze witryn. Łatwo sobie wyobrazić ciężar zarządzania witrynami w dużej korporacji, która obsługuje tysiące witryn rocznie. Obowiązek administrowania tymi wszystkimi stronami w rozsąd- nym czasie przekracza możliwości większości działów IT. Koncepcja zbioru witryn jest tak ważna, ponieważ umożliwia działowi IT przeniesienie tego obciążenia na działy biznesowe stanowiące właścicieli poszczególnych witryn. Weźmy pod uwagę następujący przykład. W wielu firmach wykorzystujących usługi WSS w dziale IT istnieje osoba odpowiedzialna za obsługę zbiorów witryn na żądanie jed- nego z działów biznesowych. W procesie tworzenia dział IT przypisuje jednemu lub kilku użytkownikom z działu biznesowego uprawnienia administratorskie na poziomie nowego zbioru witryn. Od tego momentu użytkownicy-administratorzy z działu biznesowego mogą dodawać użytkowników oraz tworzyć elementy witryny, takie jak listy czy biblioteki doku- mentów bez jakiejkolwiek pomocy działu IT. Mogą także dodawać witryny podrzędne do witryny najwyższego poziomu. To umożliwia im rozbudowywanie hierarchii witryn pod- rzędnych i konfigurowanie zabezpieczeń w sposób odpowiadający ich potrzebom. Klucz deszyfrujący WSS Programiści, którzy rozpoczynają pracę z usługami WSS, często czują się nieco zdez- orientowani w związku z inną terminologią wykorzystywaną w usługach WSS oraz w ich prekursorze – usługach SharePoint Team Services (STS) w wersji 1.0. Na przy- kład występujący w usługach WSS termin zbiór witryn (ang. site collection) stanowi odpowiednik znanego z STS terminu witryna (ang. site). Nowy termin WSS witryna (ang. site) stanowi odpowiednik starego terminu STS sieć Web (ang. Web). Nowy ter- min WSS witryna najwyższego poziomu (ang. top-level site) stanowi odpowiednik sta- rego terminu STS główna sieć Web (ang. root Web). Chociaż zespół WSS konsekwentnie wykorzystywał nową terminologię WSS w dokumentacji produktu, nadal istnieje sporo wystąpień terminu sieć Web zamiast oczekiwanego terminu witryna oraz terminu witryna zamiast oczekiwanego terminu zbiór witryn. Na starej terminologii STS bazują na przykład nazwy klas w modelu obiektowym WSS. W efekcie programując zbiór witryn, wykorzystuje się obiekt SPSite, a progra- mując witrynę obiekt SPWeb. Obiekt SPSite zawiera publiczną właściwość o nazwie RootWeb, która zwraca obiekt SPWeb reprezentujący witrynę najwyższego poziomu w zbiorze witryn. Gdy już rozpozna się potencjalne źródło rozbieżności, opanowanie różnych aspektów usług WSS staje się łatwiejsze. ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== 8 Microsoft® Windows® SharePoint® Services 3.0 od środka Drugim argumentem przemawiającym za wykorzystywaniem zbiorów witryn jest to, że stanowią one zakres dla członkostw i uwierzytelnień. Z założenia każdy zbiór witryn jest niezależny od innych zbiorów witryn pod względem zdefiniowanych grup zabezpieczeń, użytkowników dodanych w roli członków oraz autoryzacji wybranych użytkowników do wybranych operacji. Wyobraźmy sobie na przykład, że dział IT w firmie Litware posiada jeden zbiór witryn dla działu Sprzedaży i jeden dla działu Księgowości. Mimo iż użytkownicy w dziale Księgowości mają uprawnienia administratorskie w swoim zbiorze witryn, nie mogą oni w żaden sposób wpływać na konfigurację zabezpieczeń zbioru witryn Sprzedaży. Jest tak, ponieważ architektura WSS widzi każdy zbiór witryn jako jednostkę niezależną pod wzglę- dem konfiguracji zabezpieczeń. Trzecim powodem wykorzystania zbiorów witryn jest to, że zapewniają one wygodny zakres dla operacji wykonywania i przywracania kopii zapasowych. Można wykonać kopię zapasową zbioru witryn i w późniejszym czasie przywrócić ją z zachowaniem pełnej wier- ności. Przywracanie zbioru witryn może odbywać się w tej samej lokalizacji, w której wykonana została kopia zapasowa. Ewentualnie zbiór witryn może zostać przywrócony w innej lokalizacji, a nawet na innej farmie. Technika wykonywania kopii zapasowej zbioru witryn i przywracania jej w innej lokalizacji stanowi wsparcie dla strategii przenoszenia witryn WSS ze środowiska programistycznego do środowiska publikującego, a następnie do środowiska produkcyjnego. Narzędzie wiersza polecenia STSADM.EXE Usługi WSS są dostarczane wraz z przydatnym narzędziem wiersza poleceń o nazwie STSADM.EXE. To narzędzie umożliwia wydawanie komend z poziomu wiersza pole- ceń systemu Windows i tworzenie plików wsadowych realizujących zadania admi- nistracyjne, takie jak tworzenie zbiorów witryn oraz wykonywanie i przywracanie ich kopii zapasowych. Po uruchomieniu narzędzia z wiersza polecenia lub pliku wsadowego należy przekazać parametr –o wraz z jedną ze wspieranych operacji. Oto przykład instrukcji wiersza polecenia służącej do stworzenia nowego zbioru witryn pod określonym adresem URL. STSADM.EXE -o CreateSite -url http://localhost/sites/Sales -ownerlogin LitwareServer\BrianC -owneremail brianc@litwareinc.com -sitetemplate STS#0 W zaprezentowanym przykładzie w celu poprawienia czytelności wprowadzone zostały załamania linii między parametrami. Jednak w rzeczywistości uruchamiając narzędzie STSADM z wiersza polecenia lub pliku wsadowego, nie można wykorzy- stywać znaków końca linii. Należy pamiętać, że instalacja usług WSS powoduje dodanie narzędzia STSADM. EXE do katalogu systemowego WSS wewnątrz katalogu Windows Program Files. Aby móc wywoływać to narzędzie bezpośrednio z wiersza polecenia na stacji roboczej, należy dodać następującą ścieżkę do zmiennej systemowej Path. c:\program files\common files\microsoft shared\web server extensions\12\bin\ ##7#52#aSUZPUk1BVC1WaXJ0dWFsbw== Rozdział 1: Wprowadzenie 9 Pisząc plik wsadowy, należy również przyjąć założenie, że może być on uruchamiany na maszynie, na której nie zostały odpowiednio skonfigurowane zmienn
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Microsoft Windows SharePoint Services 3.0 od środka
Autor:
,

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: