Tổng quan về sharepoint 2007
Trang 1Phần 1 Tổng quan về SharePoint 2007
Phạm Tuấn Anh
Đỗ Bá Đức Đặng Sơn Lâm
Bài viết này tập trung vào việc xem xét những thành phần quan trọng nhất của Windows SharePoint Service 3.0 và Office SharePoint Server 2007 – những nền tảng mà các lập trình viên sử dụng để tạo ra các ứng dụng hợp tác
hỗ trợ giải pháp nghiệp vụ thông minh, workflow, tính toán dữ liệu, không gian làm việc nhóm, quản lý vòng đời văn bản, quản trị nội dung, khám phá tri thức và quản trị dự án
I Tổng quan về kiến trúc
Phần dưới đây mô tả những thành phần chính của MOSS 2007, cách thức chúng liên hệ với nhau và với platform, các dịch vụ cộng tác mà Window SharePoint Services 3.0 cung cấp
Hình dưới đây minh họa kiến trúc bậc cao của MOSS
Trang 2Các dịch vụ Windows SharePoint Services Các dịch vụ cơ sở dữ liệu và hệ điều hành
((| UX: user experience; LOB: line of business; Biz = business; BI= business intelligence; KPI= key performance indicator; Metadata = data about data; SSO= single sign on; SOAP= simple object access protocol; OM~ Open Modeller)
Các dịch vụ cơ sở dữ liệu và hệ điều hành
MOSS xây dựng trên công nghệ và các dịch vụ của MSWindows Server
2003 SP1 và SQL Server 2005 (cũng như SQL server 2000)
Các dịch vụ nền tảng chạy trên hệ điều hành:
• Microsoft NET 2.0 Framework, gồm:
• ASP.NET 2.0 master pages, content pages, và Web Parts
• Các mô hình cung cấp dịch vụ linh động (pluggable) phục vụ cho cá nhân hóa, quản lý thành viên, khả năng kiểm soát và bảo mật được nâng cao (User and group, Active directory ??)
Trang 3• Dịch vụ truy cập cơ sở dữ liệu (SQL Server).
• Internet Information Services
• Windows Workflow Foundation
• Windows desktop indexing and search services
• SQL Server là hệ quản trị cơ sở dữ liệu sử dụng cho việc lưu trữ mọi nội dung, dữ liệu và thông tin cấu hình của MOSS MS khuyến cáo nên dùng SQL Server 2005 và SQL Server 2005 Express được cài mặc định; tuy nhiên SQL server 2000 có thể dùng thay vào đó được
Windows SharePoint Services
(Được nghiên cứu sâu hơn ở phần sau)
Windows SharePoint Services 3.0 (version 3) xây dựng trên các dịch vụ
hệ điều hành và cơ sở dữ liệu để hỗ trợ những điều kiện cần thiết cho từ 1 trang làm việc nhóm đến 1 portal của doanh nghiệp với hơn 100.000 nhân viên (như Office SharePoint Portal Server 2007), hoặc một portal cộng tác trên Internet với cả triệu người dùng
Dịch vụ nền tảng Windows SharePoint Services cung cấp những cải tiến bảo mật, các tính năng tin cậy, có thể co giãn và hiệu năng cao như sau:
• Storage (Lưu trữ)
• Management (Quản lý)
• Deployment (Triển khai)
• Site Model (Tạo mô hình site)
• Extensibility (Khả năng mở rộng)
Thêm vào đó WSS (một phần của WinServer 2k3) được bổ sung những tính năng cộng tác sau:
• Document collaboration
• Wikis and Blogs
• Really Simple Syndication (RSS) support
• Discussions
• Project task management
• Contacts, Calendars, and Tasks
• E-mail integration
• Tích hợp với các phần mềm khách của hệ thống Microsoft Office 2007
Trang 4• Hỗ trợ offline cho các danh sách và thư viện văn bản của SharePoint nhờ sử dụng Office Outlook 2007 như một phần mềm khách offline.
Trang 5mô hình cung cấp dịch vụ mới.
Shared Services chứa hầu hết tất cả các dịch vụ có thể được sử dụng bởi nhiều ứng dụng trong MOSS:
• Full-text and property indexing and search services
• Business Data Catalog
• Notification service for generating alerts
• User profile store
Trang 6các website hiện có trên Internet và các portal riêng lẻ khác Hơn nữa, nó hỗ trợ liên kết giữa nhiều người trong cùng tổ chức có thể chia sẻ kinh nghiệm, tri thức, nâng cao năng suất làm việc nhóm.
Portal site templates
(N) Các mẫu site dựng sẵn được cung cấp nhằm tăng tốc việc tạo, tùy biến, triển khai và quản lý các portal riêng lẻ, các portal lớn trong
nội bộ tổ chức, và liên kết với các website có sẵn trên internet.
Site Manager (N) Site Manager thay thể cho trang quản trị Portal Site Map, nó là
công cụ nền web hỗ trợ kéo thả phục vụ cho việc duyệt các trang SharePoint, kiểm soát bảo mật truy cập và các chuẩn cảm quan (look and feel) thông thường.
Site Manager hợp nhất các tác vụ quản trị site cho các portal và website, chứa đựng việc quản lý các phạm vi, các trang, việc lên danh sách, danh sách các trang SharePoint và các thành phần của nó.
Site Manager hỗ trợ việc tạo, edit, tổ chức lại và xóa bỏ các phạm
vi dưới góc nhìn quan hệ giữa các trang.
My Site Personal Sites
(E) Các trang My Site Personal có một vài điểm đã được cải tiến như sau:
1 Mạng xã hội
2 Các thành phần điều khiển riêng tư
3 Các trang SharePoint và các Document Webpart có khả năng cuộn
4 Các webpart dành cho cộng sự và thành viên
Mạng xã hội – Social
Networking (N) MOSS 2007 có một chức năng bổ sung giúp đơn giản hóa việc kết nối với mạng xã hội giữa các nhân viên.
Các trang My Site được public có thể chứa đựng các webpart mạng
xã hội, trong đó sử dụng các thông tin về tổ chức, cộng đồng và giao tiếp điện tử của mỗi người Điều này có thể hỗ trợ mỗi người nhận biết các cộng sự của mình với những sở thích phổ biến và mang lại hiệu quả tìm kiếm cao hơn.
Hơn nữa, mạng xã hội giúp thiết lập các liên kết cá nhân bằng cách tìm những người cùng nghề nghiệp, chuyên ngành, cùng nhóm làm việc, cùng là thành viên của một trang SharePoint hoặc
có cùng vai trò quản lý.
Mạng xã hội cung cấp tùy chọn thông tin cá nhân thông qua MS Active Directory, các ứng dụng LOB, email hoặc các dạng giao tiếp điện tử khác.
Privacy Controls (E) Privacy Controls (các điều khiển riêng tư) được sử dụng để điều
khiển các thông tin hiện hữu trong trang My Site được public Sự cho phép hay không cho phép hiển thị các nội dung public trên một trang cá nhân My Site có ở “My Manager”, “My Workgroup”,
“My colleagues” và “Everyone”.
Webpart chứa các document cuộn được liệt kê các văn bản ta đã xuất bản trên một tập hợp các trang SharePoint.
Webpart này đồng thời hỗ trợ thêm những khả năng truy vấn và lọc văn bản chứa đựng trong một tập các trang SharePoint.
Trang 7Các Web part cho cộng
sự và thành viên (N) Các Web part mới cho cộng sự và thành viên liệt kê những người bạn biết, hoặc những người có chung mối quan tâm với bạn, và
những người thuộc về các danh sách và nhóm phân phối chung.
Thư mục site (E) Một chức năng quan trọng và mới ở Site Directory là nút “Dò tìm
các link lỗi”, chỉ ra các link đến các nội dung ngoài đã bị xóa hoặc thay đổi.
Xuất hiện và giao tiếp
trong thời gian thực
(E)
Biểu tượng thẻ thông minh “xuất hiện trong thời gian thực” hiển thị
ở hầu hết mọi nơi mà tên một người xuất hiện trong Office SharePoint Server, thể hiện rằng trong thời gian thực một người đang online, có thể gọi điện thảo luận, trao đổi thông điệp tức thì, hoặc đàm thoại video hai chiều
Dịch vụ thông báo (E) MOSS 2007 nâng cấp một vài chức năng của dịch vụ thông báo:
• Các điều kiện lọc có thể phát đi nhiều thông báo phù hợp hơn cho người dùng
• Một nền tảng có thể mở rộng gửi các email tùy biến được cho người dùng.
• Người dùng tham gia vào một workflow tự động nhận thông báo bằng email mà không cần đăng ký thêm để các thông báo trong workflow.
• Người dùng có thể gửi nội dung một một đối tượng đã được sửa đổi trong một SharePoint list hoặc document library dựa vào những chi tiết đã được thay đổi.
Bản ghi người dùng
(user profile) (E)
Bản ghi người dùng đã được nâng cấp đáng kể với những tính năng sau:
• Lưu trữ bản ghi cá nhân
• Đồng bộ hóa bản ghi cá nhân
• Import thư mục bản ghi cá nhân Hơn nữa, ngoài việc định nghĩa người dùng sử dụng các thuộc tính trong Active Directory, ta có thể sử dụng thêm các thuộc tính đã được import từ các ứng dụng LOB (lines of business) như quản lý nhân lực (human resources-HR) hay giải pháp tự động hóa dịch vụ chuyên nghiệp (professional services automation solution - PSA) Thông tin trong bản ghi người dùng cũng có thể được sử dụng bởi dịch vụ thông báo (Notification Service) để đạt được thông báo mong muốn, hoặc bởi mạng xã hội để suy ra những mối quan tâm chung và các thuộc tính khác, hoặc bởi Web part cho thành viên và đồng sự để biểu diễn danh sách phân loại và thông tin thành viên nhóm.
Kho bản ghi cá nhân
(Profile Store - E) Profile Store đã được nâng cấp ở:• Các thuộc tính đa trị dựa trên một nguyên tắc phân loại
hoặc một danh sách các giá trị của MOSS.
• Các điều khiển an ninh cấp thuộc tính (Property-level security) sử dụng bởi người dùng và nhóm
• Các bảng liệt kê mở hoặc đóng
• Các phần mở rộng của thuộc tính tùy trang - per-site property extensions (kho thuộc tính đã được tổ chức, tập hợp lại)
Đồng bộ hóa bản ghi
cá nhân (Profile
Profile Synchronization hỗ trợ cho các tính năng mở rộng của Profile Store với khả năng mở rộng và hiệu năng được nâng cao.
Trang 8Synchronization) (E)
Profile Directory
Import (E) PDI hỗ trợ cho các tính năng mở rộng của Profile Store với khả năng mở trộng và hiệu năng được nâng cao
Hướng người dùng (E) Các trang Web part, các Web part và những nội dung có thể được
đặt vào các danh sách phân bổ hay các nhóm bổ sung cho người
sử dụng SharePoint ( Ngoài người dùng còn thêm vào… ??) Người sử dụng MOSS được hỗ trợ bởi một tập hợp lớn hơn các thuộc tính có sẵn trong Profile store.
Hỗ trợ thiết bị di động
(N) Theo mặc định, mọi Office SharePoint portal, trang nhóm (team site) và các trang danh sách (list pages) được hiển thị trên các
thiết bị di động của quốc tế lẫn Bắc Mỹ (bao gồm cả điện thoại di động có thể lướt web) nhờ sử dụng định dạng văn bản đã được đơn giản hóa.
o Quản trị nội dung (Content management)
Các tính năng quản trị nội dung mới và nổi bật trong MOSS có thể chia thành 3 nhóm chính:
• Quản lý văn bản, tài liệu
• Quản lý hồ sơ
• Quản lý nội dung web
MOSS cung cấp các chức năng quản lý văn bản quan trọng như: xác định phiên bản chính và phiên bản phụ, khóa vào/ra văn bản, diễn tả phong phú các siêu dữ liệu, workflow, các cơ chế dựa trên kiểu nội dung, việc kiểm tra sổ sách và các điều khiển dựa trên quyền truy cập trong thư viện văn bản, thư mục và các mức độ văn bản riêng biệt
MOSS xây dựng những khả năng này để soạn thảo, xử lý văn bản nghiệp vụ, quản lý nội dung web và xuất bản, quản lý bản ghi, quản lý cơ chế
và hỗ trợ xuất bản đa ngữ
Quản lý văn bản
Với component quản trị văn bản mới của MOSS 2007, các sản phẩm công nghệ của SharePoint không chỉ còn là một nền tảng để phối hợp văn bản, mà trở thành một giải pháp toàn diện để quản lý các văn bản nghiệp vụ
Các thư viện tài liệu đã được nâng cấp trong Windows SharePoint Services cung cấp cơ sở cho những tính năng quản trị văn bản được liệt kê dưới đây:
Trang 9Miền chức năng Các tính năng
Workflow của tài liệu
nghiệp vụ
Enhanced
Việc xử lý văn bản nghiệp vụ là tập hợp của các ứng dụng workflow bao hàm trong MOSS 2007:
• Kiểm duyệt văn bản
• Phê chuẩn văn bản
• Tập hợp chữ ký
• Phê chuẩn văn bản tiếng Đông Á
• Theo dõi phát hành
• Tùy chọn lộ trình kiểm duyệt và phê chuẩn
Các mẫu trang quản
lý văn bản
New
MOSS chứa các mẫu trang đã được nâng cấp có thể sử dụng ngay mà không cần chỉnh sửa gì :
• Mẫu Managed Document Library
• Mẫu Divisional Library
• Mẫu Translation Library
Mẫu trang Managed
Document Library
New
Managed document libraries là các trang quản lý văn bản cỡ lớn có khả năng lưu trữ các văn bản cho toàn tổ chức Với thư viện document đã được quản lý, mọi đơn vị nghiệp vụ có thể tổ chức và phân loại thông tin một cách hợp lý.
Mẫy trang Divisional
Library
New
Các tính năng chính của mẫu trang này gồm:
• Managed document libraries
• Dashboards, KPIs, và các báo cáo khác
Mẫu trang
Translation Library
New
Mẫu trang Translation Library rất có giá trị cho các tổ chức đa quốc gia
và đa khu vực có nhu cầu biên dịch văn bản thành nhiều ngôn ngữ Translation library tích hợp các tiến trình workflow tùy biến được với tính năng quản lý văn bản của MOSS nhằm giúp đỡ các dịch giả quản lý nhiều bản dịch của một văn bản.
• Document Information Panel
• Document Action Bar
Document Action Bar
New
Document Action Bar trong các ứng dụng thuộc hệ thống Office 2007 cho người sử dụng biết văn bản hiện tại bị kiểm soát bởi cơ chế nghiệp
vụ hay workflow nào và hoạt động nào là hoạt động cần phải thực hiện
Ví dụ “Không được phát tán ra ngoài công ty” hoặc “Bạn có một nhiệm
vụ được giao”.
Trang 10Quản lý hồ sơ (Records Management)
Mỗi tổ chức dù là bí mật, có thương hiệu công khai hay phi lợi nhuận đề cần một cách tiếp cận có kỷ luật đối với việc quản lý hồ sơ Quản lý hồ sơ tốt
hỗ trợ đắc lực cho việc quản lý thông tin của tổ chức, văn bản pháp lý và việc điều chỉnh nội bộ,
Quản lý hồ sơ là quá trình sưu tập, quản lý và bố trí hồ sơ tập thể (những thông tin quan trọng cho quá trình phát triển, thông tin nội bộ hay các văn bản pháp luật của một công ty) một cách hợp lý và đồng bộ dựa trên chính sách của công ty Các chính sách này được xây dựng bởi đặc thù nghiệp
vụ của tổ chức, những nguy cơ pháp luật mà nó phải đổi mặt và những điều luật chi phối nó
MOSS đưa ra một tập hợp các tíh năng mới để thiết lập và hỗ trợ những khả năng quản lý hồ sơ chuẩn cho mọi tổ chức
Miền chức năng Các tính năng
Policy and Auditing
(Chính sách và kiểm
soát)
New
Chức năng Policy and Auditing gồm:
• Kế hoạch duy trì và hoàn tất văn bản dựa theo kiểu nội dung và chính sách-cơ chế.
• Kiểm soát và báo cáo về các hoạt động theo cơ chế.
• Hỗ trợ gán nhãn và đánh mã vạch văn bản mà không cần thay đổi văn bản về mặt vật lý.
• Windows Rights Management Services (RMS – Dịch vụ quản lý bản quyền windows) tích hợp sẵn.
Records Repository
(Kho hồ sơ)
New
Cốt lõi của việc triển khai quản lý hồ sơ trong MOSS là một kho chứa
an toàn, hiệu quả, có khả năng mở rộng và được xây dựng trên Windows SharePoint Services.
Records Repository trong Office SharePoint Server 2007 chứa đựng một vài tính năng chủ yêu sau:
• Mẫu trang Records Repository chuyên dụng
• Khả năng lưu trữ hồ sơ giúp đảm bảo tính nguyên vẹn của các tệp lưu trữ trong kho.
• Các cơ chế quản lý thông tin bắt buộc việc gán nhãn, kiểm duyệt và hoàn tất hồ sơ phải hợp lý và đồng bộ.
• Các khả năng lưu trữ giúp các lập trình viên, luật sư hay người quản
lý hồ sơ áp dụng nhiều khoang lưu trữ để vô hiệu các chính sách
Trang 11Miền chức năng Các tính năng
lưu trữ trên các đối tượng nhằm đảm bảo chúng không bị thay đổi trước mọi điều tra, truy vấn, rà soát.
• Giao diện tập hợp hồ sơ giúp con người hay hệ thống tự động dễ dàng đưa một nội dung vào kho hồ sơ – hỗ trợ truy cập write-only
mà không đòi hỏi truy cập trực tiếp vào các hồ sơ trong kho.
• Định hướng hồ sơ giúp tự động định hướng các nội dung vào những
vị trí thích hợp trong hệ thống quản lý hồ sơ dựa vào kiểu nội dung của nó.
• Khả năng mở rộng cho các giải pháp đòi hỏi những tính năng bổ sung có sẵn trong MOSS 2007.
E-mail Content as
Records (Nội dung
email xem như hồ sơ)
New
Chức năng quản lý hồ sơ trong Office SharePoint Server 2007 cung cấp khả năng quản lý nội dung email qua MSOutLook 2007, MS Exchange Server và MOSS 2007 một cách hiệu quả, tập trung vào 2 điểm:
• Thư mục mail được kiểm soát
• Cơ chế quản lý email
Managed Mail Folders
rõ ràng, người dùng có thể đọc email trong các thư mục được phân Các thư mục này có thể được triển khai cho từng người tùy theo vai trò của họ trong tổ chức, do đó với những người có cùng chức phận trong
Đằng sau mỗi thư mục mail được quản lý là một tập hợp các quy tắc và
cơ chế quản lý mail Các cơ chế có thể được áp dụng cho mọi thư mục mail như Inbox, Drafts hay Sent và một cơ chế mặc định có thể được
áp dụng cho các thư mục khác không được đặt tên riêng.
Phát biểu về cơ chế xuất hiện ở trên mỗi khung nhìn thư mục trong Outlook 2007 và MS Outlook Web Access Những phát biểu cung cấp cho người quản lý hồ sơ, nhân viên và lập trình viên các cơ chế phù hợp, dễ hiểu đối với họ.
Quản lý nội dung Web
Một mục tiêu chính của MOSS là tích hợp đầy đủ với chức năng của Microsoft Content Management Server 2002 Ngoài ra còn là sự nâng cấp
Trang 12chức năng quản lý nội dung web cả về portal, search, document, cộng tác và quản lý hồ sơ.
Miền tính năng Các tính năng
Tính năng chính của các mẫu portal cho doanh nghiệp hoặc chi nhánh gồm có:
• Managed document libraries
• Dashboards, KPIs, and reports
• Team and project collaboration sites
• Products and services descriptions
Các portal ứng dụng là các trang SharePoint cùng nhau tạo thành
bộ công cụ và thông tin liên quan đến một LOB riêng biệt như HR, ERP, enterprise resource planning (ERP), customer relationship management (CRM), hay professional services automation (PSA) Mẫu portal ứng dụng chứa đựng các tính năng cho:
• Tìm kiếm thông tinh trong các ứng dụng LOB
• Bảo mật, các truy cập đã phân quyền tới mọi dữ liệu và nội dung của hệ thống.
• Khả năng dễ dàng và nhanh chóng phân tích, báo cáo và tổng két dữ liệu từ một ứng dụng LOB.
Roll-up Portal Site
Template
New
Các mẫu roll-up portal được sử dụng để hợp nhất dữ liệu và nội dung từ một vài ứng dụng hay địa chỉ khác nhau để diễn tả chúng trong một định dạng tích hợp dễ hiểu.
Trang 13Miền tính năng Các tính năng
Mẫu roll-up portal site chứa đựng một tính năng hợp nhất thông tin từ:
• Search
• Global site directory
• Personalization and My Site personal sites
• Knowledge and expertise found anywhere in the organization
Authoring and Approval
Enhanced
Web content management chứa các công cụ, workflow, và các dịch
vụ quản lý thông tin đầu cuối trong tiến trình kiểm soát và phê duyệt tài liệu, bao gồm:
WYSIWYG Web Content
Editor
Enhanced
Việc soạn thảo trên nền web đã được mở rộng về giao diện người dùng với nhiều lệnh và chỉ thị trạng thái hơn Chẳng những có thể soạn thảo nội dung vào một form, người sọan còn có thể bổ sung nhiều nội dung phong phú khác nhờ những tính năng có sẵn trên nền web Hệ soạn thảo hỗ trợ CSS với các định dạng, bảng, các chuẩn ngữ pháp tùy chọn, ngoài ra còn tích hợp với những công cụ chọn ảnh và link đã dựng sẵn.
Trang 14Nghiên cứu sâu hơn về Windows SharePoint
Services 3.0 (WSS 3.0)
WSS 3.0 là một thành phần bổ sung miễn phí của Windows Server
2003, là một công cụ tạo site linh hoạt giúp giải quyết vấn đề tạo lập và quản
lý hàng nghìn trang web với hàng chục ngàn người truy cập Nhờ sự linh hoạt của mình, WSS 3.0 có thể được hiểu như một môi trường sản sinh ra các trang web chạy trên một web server và có sự tham gia của MS SQL server với vai trò lưu trữ dữ liệu
Cũng như các phiên bản trước, WSS hỗ trợ các tính năng cộng tác ngoài giúp người dùng dễ dàng thiết kế các website, ví dụ như Shared Carlendars, Contact Lists hay Document Libraries Tuy nhiên ở khía cạnh lập trình viên, WSS 3.0 là một nền tảng phát triển được trang bị đầy đủ, bổ sung những sức mạnh đáng nể trên nền ASP.net
WSS đơn giản hóa việc tạo và lưu trữ trang, các danh dách và thư viện tài liệu, cho thấy rõ ở đâu và làm thế nào để lưu trữ các trang, hơn nữa lại có thể thay đổi những sản phẩm tạo sẵn nhờ thao tác của người dùng hay chỉnh sửa mã nguồn thông qua giao diện chạy trên trình duyệt Nó còn lược bỏ nhiều thao tác buồn tẻ bắt buộc phải có trong lập trình ASP thông thường nhờ
bổ sung các thành phần giao diện giúp người dùng thêm, xem và sửa nội dung
ASP.NET 2.0 giới thiệu một kiểu thành phần plugin gọi là công cụ cung cấp đường dẫn ảo Một lập trình viên có thể viết các thành phần tùy biến để nhận trang aspx từ bất kỳ đường dẫn nào bao gồm cả trong dữ liệu SQL server Khi bộ cung cấp đường dẫn ảo nhận được một trang aspx, nó có thể
để yên cho ASP.NET hướng dẫn việc phân tích hay biên dịch cần thiết ASP.NET còn mang đến cho bộ cung cấp đường dẫn ảo một sự thỏa thuận điều khiển tốt về cách thức phân tích trang aspx và quyết định chúng có thể được biên dịch và chạy trong một môi trường không biên dịch được hay không
Trang 15Đội phát triển WSS 3.0 đã viết riêng một bộ cung cấp đường dẫn ảo mang tên SPVirtualPathProvider SPVirtalPathProvider (SPVPP) có thể lấy các trang aspx từ SQL server và sau đó để cho bộ phân tích trang aspx xử lý Điều này có nghĩa đội phát triển WSS đã không bị đòi hỏi phải cải tiến bộ phân tích trang .aspx, cũng có nghĩa WSS 3.0 không phải nhức đầu về chuyện giảm bớt tập hợp tính năng phân tích trang và cứ thế làm như với WSS 2.0.
Cách thức WSS tích hợp với ASP.net đã được thiết kế lại hoàn toàn Đầu tiên WSS được xây dựng trên ASP.net 2.0 (mạnh hơn đáng kể so với ASP.net 1.1) Hơn nữa, sự tích hợp được thay đổi thành việc định hướng các request qua ASP.NET runtime trước khi đến WSS Đội phát triển WSS đã thực hiện điều này bằng cách loại bỏ ISAPI filter và bổ sung HttpModule cùng với HttpHandler đã đăng ký trước với ASP.net nhờ sử dụng những mục Web.config chuẩn Điều này có nghĩa các HTTP request đến luôn luôn truy cập vào ASP.net runtime environment và được khởi tạo đầy đủ trong ngữ cảnh của ASP.net trước khi được forward đến mã nguồn viết bởi WSS để thực hiện một xử lý đặc thù của WSS
Cũng cần phải lưu ý rằng khi mở rộng một trang web trên IIS thành một ứng dụng web của WSS, WSS 3.0 bổ sung một sơ đồ ứng dụng thay thế vào IIS metabase Sơ đồ ứng dụng thay thế này phục vụ cho việc định hướng các HTTP request đến ASP.net Runtime tùy vào phần mở rộng, nó cần thiết cho
Trang 16việc forward một request đến kiểu file bất kỳ (PDF, DOC, DOCX) đến ASP.net, cuối cùng là forward đến WSS để xử lý.
Một phần quan trọng khác của kiến trúc mới là phải làm việc với cách thức phân tích và biên dịch một trang .aspx Bộ phân tích cú pháp của trang aspx trong ASP.net 1.1 chỉ làm việc với những trang aspx nằm ở hệ thống file cục bộ Tuy nhiên, kiến trúc WSS dựa trên lưu trữ các trang aspx trong cơ sở dữ liệu SQL server Vì WSS 2.0 dựa trên ASP.net 1.1 nên đội phát triển WSS phải tạo riêng một bộ phân tích trang aspx riêng Thật không hay
là bộ phân tích aspx trong WSS 2.0 không hỗ trợ nhiều tính năng như bộ phân tích aspx của ASP.NET
ASP.NET 2.0 giới thiệu một kiểu thành phần plugin gọi là công cụ cung cấp đường dẫn ảo Một lập trình viên có thể viết các thành phần tùy biến để nhận trang aspx từ bất kỳ đường dẫn nào bao gồm cả trong dữ liệu SQL server Khi bộ cung cấp đường dẫn ảo nhận được một trang aspx, nó có thể
để yên cho ASP.NET hướng dẫn việc phân tích hay biên dịch cần thiết ASP.NET còn mang đến cho bộ cung cấp đường dẫn ảo một sự thỏa thuận điều khiển tốt về cách thức phân tích trang aspx và quyết định chúng có thể được biên dịch và chạy trong một môi trường không biên dịch được hay không
Đội phát triển WSS 3.0 đã viết riêng một bộ cung cấp đường dẫn ảo mang tên SPVirtualPathProvider SPVirtalPathProvider (SPVPP) có thể lấy các trang aspx từ SQL server và sau đó để cho bộ phân tích trang aspx xử lý Điều này có nghĩa đội phát triển WSS đã không bị đòi hỏi phải cải tiến bộ phân tích trang .aspx, cũng có nghĩa WSS 3.0 không phải nhức đầu về chuyện giảm bớt tập hợp tính năng phân tích trang và cứ thế làm như với WSS 2.0
Trang 17Trong kiến trúc của WSS 2.0 có 2 khái niệm “ghosting” và “unghosting” Page Ghosting là một chức năng cho phép web server lưu trữ một mẫu trang aspx trên hệ thống tệp cục bộ của nó và chia sẻ mẫu này qua nhiều site Page Ghosting mang lại lợi ích về hiệu năng vì WSS có thể tạo hàng ngàn trang sử dụng chung một template trên hệ thống tệp cục bộ và được nạp vào bộ nhớ chỉ một lần.
WSS 2.0 giúp việc tùy biến của người dùng trở nên thuận tiện nhờ các công cụ như Front Page 2003 Khi người dùng thay đổi một mẫu trang và ghi lại những thay đổi đó, thì một phiên bản mới của trang sẽ được lưu trong SQL Server Trong WSS 2, việc này được xem như là “page unghosting”
WSS 3.0 vẫn hỗ trợ các mẫu trang nằm trên web server cũng như các phiên bản đã tùy biến của chúng được lưu trữ trong SQL Server Tuy nhiên đội dự án WSS 3.0 không còn dùng khái niệm ghosting và unghosting nữa vì chúng khó dịch sang khác ngôn ngữ khác, thay vào đó là các khái niệm
“uncustomized page” (mẫu trang được sử dụng trực tiếp trên hệ thống file cục bộ của webserver) và “customized page” (phiên bản đã chỉnh sửa của mẫu trang đã được ghi vào cơ sở dữ liệu cho một trang riêng biệt)
Trang 18Một sự thay đổi khác là phiên bản mới của FrontPage 2003 được xuất hiện dưới cái tên mới: Microsoft Office SharePoint Designer 2007 (MOSD) MOSD cũng hướng người dùng hơn là lập trình viên Nhưng dù sao thì đối với mỗi lập trình viên, có nó vẫn hơn không!!!
MOSD cung cấp hệ soạn thảo và bộ thiết kế WYSIWYG để tùy biến các trang aspx trong các site WSS 3.0 Ta còn có thể tạo ra các trang mới trong một site WSS 3.0 mà không có một mẫu tương ứng nào trên Web server MOSD 2007 hỗ trợ tạo list và document library, thậm chí cung cấp một giao diện mới giúp tạo ra các workflow mong muốn trong site WSS 3.0
• Làm việc với Master Page
Một trong những nét buồn tẻ nhất trong WSS 2.0 là tạo ra một dạng cảm quan (look and feel) nhất quán giữa các trang Nguyên nhân là do ASP.net 1.1 không cung cấp bất kỳ công nghệ dựng mẫu trang nào có thể sử dụng trên nhiều trang trong WSS 2.0 site Vì thế mà các lập trình viên và người thiết kế đã sắp xếp lại để cắt/dán các mẫu trình bày HTML từ trang này sang trang khác, rất khó để tùy biến và bảo trì một site có những yêu cầu trình bày khác so với những gì sẵn có bằng WSS 2.0 site chuẩn
ASP.NET 2.0 mang đến một tính năng tạo mẫu trang rất mạnh gọi là master page Nó chính là một mẫu cho phép định nghĩa một định dạng trình bày trang cho cả site có những thành phần như banner, các điều khiển trình duyệt (navigation control) và menu Các trang link đến master page gọi là content page
Điểm chính yếu là mỗi content page liên kết đến master page để thu được layout chia sẻ, rồi mở rộng master page bằng cách bổ sung các nội dung tùy biến vào các điểm giữ chỗ đã đặt tên có thể thay thế được (replaceable named placeholder)
WSS 3.0 được thiết kế từ dưới lên để bao trùm cấu trúc master page của ASP.NET 2.0 Mỗi site WSS 3.0 được tạo ra từ một danh mục đặc biệt gọi
là Master Page Gallery chứa đựng một master page với tên gọi
Trang 19default.master Master page này định nghĩa một cách trình bày chung cho mọi trang chủ của site (default.aspx) cũng như mọi trang chuẩn của WSS 3.0 liên kết với các list và document library (ví dụ: allItem.aspx, newItem.aspx) Dạng trình bày của master page chứa đựng các menu và điều khiển trình duyệt chuẩn của WSS
Sự định nghĩa về default.master bao hàm một vài điểm giữ chỗ đã được
PlaceHolderLeftNavigation Điều này giúp tạo các content page thuộc site (có cùng định dạng trình bày) trở nên tương đối đơn giản Đoạn mã dưới đây chỉ
rõ việc tạo một content site là dễ dàng đến thế nào:
<%@ Page language=”C#” MasterPageFile=”~masterurl/default.master” %>
<asp: Content ContentPlaceHolderId=”PlaceHolderMain” runat=”server”>
<h3>Welcome to customization with WSS V3 </h3>
Trang được tạo ra quá đơn giản, hơn nhiều so với WSS 2!!
</asp:Content>
Việc định nghĩa content page thể hiện trong code không thể nào đơn giản hơn Nó chỉ làm một việc đơn giản là thêm một đoạn HTML cực ngắn trong PlaceHolderMain, nhưng đủ để tạo một dạng trình bày trang WSS chuẩn với biểu tượng, menu và các thanh navigation Khi biết cách sử dụng tập các placeHolder được định nghĩa trong default.master, ta có thể dễ dàng đổi chỗ các thành phần chuẩn của WSS như menu và navigation bar hay thay thế chúng bằng những ASP.NET control hay Webpart của riêng mình Điều này là thực hiện được ở phạm vi một site, một site collection hay lớn hơn thế
Master page và content page được lưu trữ và nạp lên cùng dựa trên những nguyên lý của mẫu trang và tùy biến trang (đã thảo luận) Có các mẫu trang cho master page và content page nằm trong hệ thống file cục bộ của webserver Mỗi site ban đầu sử dụng phiên bản chưa tùy biến của mẫu master page và content page Tuy nhiên, khi người sử dụng tùy biến và lưu trữ lại sự thay đổi nhờ MOSD 2007, thì phiên bản đã chỉnh sửa được lưu lại trong cơ sở dữ liệu của SQL server
Ta có thể tùy chọn chỉ mình master page mà không quan tâm đến các content page hoặc ngược lại, thậm chí thay đổi cả hai, nhưng rồi cuối cùng
Trang 20muốn hủy bỏ mọi sự thay đổi, thì cả giao diện trên Browser của WSS 3.0 lẫn MOSD 2007 đều hõ trợ các menu đơn giản để xóa bỏ dấu vết trên cơ sở dữ liệu của SQL server và khôi phục lại mẫu trang ban đầu.
Lưu ý rằng mỗi site có Master Page Gallery chứa default.master và thuộc tính Master-Url của riêng nó, nên không phải các site trong site collection đều tự động sử dụng cùng một master page Tuy nhiên, khá đơn giản để viết một vài mã lệnh có sử dụng đệ quy ngược với mô hình đối tượng của WSS 3.0 để đồng bộ hóa một site ngoài cùng (top-level) và các site con trong một site collection để sử dụng chung một master page
• Các Web Part trong WSS 3.0
Một trong những cách làm phổ biến nhất của các lập trình viên khi mở rộng các site của WSS 2.0 là tao ra những web part mong muốn Ưu điểm của Web part là có thể bổ sung được nhiều tùy chọn cá nhân của người dùng
Vì tính phổ dụng của Web part trong WSS 2.0, Microsoft đã quyết định
hỗ trợ thêm cho khả năng phát triển các Web part mong muốn vào ASP.NET 2.0 Chiến lược hướng tới một lực lượng đông đảo người sử dụng là lập trình viên đã hoàn tất bằng việc tạo ra một cấu trúc bên trong mới mẻ của Web part cho ASP.NET 2.0, cái chưa từng có ở WSS 2.0
Do đó hiện nay có hai kiểu Web part khác nhau:
• Kiểu cũ (kiểu WSS) phụ thuộc vào Microsoft.SharePoint.dll và phải kế thừa từ lớp cơ sở WebPart định nghĩa bởi đội dự án WSS 2.0 trong namespace Microsoft.SharePoint.WebPartPages
• Kiểu mới (kiểu ASP) phụ thuộc vào System.Web.dll và phải kế thừa từ một lớp cơ sở khác cũng mang tên WebPart định nghĩa bởi đội dự án ASP.NET 2.0 trong namespace System.Web.UI.WebControls.WebParts
WSS 3.0 cần phải được thiết kế với mục tiêu chạy được cả Web part kiểu cũ và Web part kiểu mới Điều này đã thực hiện được với việc xây dựng các hỗ trợ của WSS 3.0 cho Web part bên trên hạ tầng Web part của ASP.NET, sau đó tạo ra các thay đổi cho Microsoft.SharePoint.dll sao cho các