1.2.1 Các Portal công cộng Public Portal Các Portal loại này được thiết kế dành cho một lượng rất lớn người dùng dễ dàng truy cập vào các ứng dụng trên web web-based thông qua các liên k
Trang 1Mục lục
1 Khái niệm Portal 3
1.1 Khái niệm cổng thông tin tích hợp (portal) 3
1.2 Phân loại cổng thông tin 3
1.2.1 Các Portal công cộng (Public Portal) 3
1.2.2 Các Portal tác nghiệp (Enterprise Portal) 3
1.2.3 Các Portal Website 4
1.3 Các tính năng cơ bản của portal 4
1.4 Các dịch vụ mà hệ thống Portal có thể cung cấp 6
1.5 Sự khác nhau cơ bản của Portal và WebSite 7
2 Giới thiệu Dotnetnuke Portal (Giải pháp phát triển Website cộng nghệ mới) 9
2.1 Giới thiệu chung 9
2.1.1 Dotnetnuke là gì (DNN) ? 9
2.1.2 Nguồn gốc Dotnetnuke 11
2.1.3 Khả năng mở rộng 12
2.2 Cài đặt Dotnetnuke 12
2.2.1 Tải hệ thống DotNetNuke 12
2.2.2 Cài đặt 13
2.3 Trang cơ bản 22
2.3.1 Tổng quan về trang 22
2.3.2 Tạo trang cơ bản 24
2.3.3 Xóa trang 27
2.3.4 Phục hồi trang bị xóa 28
2.3.5 Phân quyền sử dụng trên trang 31
2.3.6 Di chuyển trang 32
2.4 Quản Lý WebSite 35
2.4.1 Thay đổi Skin của WebSite 35
2.4.2 Thay đổi logo của WebSite 41
2.4.3 Quản lý người dùng 43
2.4.4 Quản lý File 45
2.5 Quản lý Modules 47
2.5.1 Tổng quan về module 47
2.5.2 Thêm module vào trang 51
2.5.3 Di chuyển module 53
2.5.4 Xóa Module 56
2.5.5 Phục hồi module bị xóa 57
2.5.6 Phân quyền cho module 59
2.6 Một số module thường dung 62
2.6.1 Text/Html 62
2.6.2 Announcements (thông báo) 63
2.6.3 Link (liên kết) 66
2.6.4 Module Documents (tài liệu) 71
Trang 23.2 Xây dựng module 80
3.2.1 Cơ sở dữ liệu và thiết lập ban đầu 81
3.2.2 Tầng logic nghiệp vụ (Business Logic Layer - BLL) 83
3.2.3 Tầng truy cập dữ liệu (Data Access Layer - DAL) 85
3.2.4 Tầng giao diện (Presentation Layer) 86
3.2.5 Khai báo module với Dotnetnuke 87
4 Ứng dụng xây dựng Tòa soạn báo điện tử 91
4.1 Cách nhìn nhận về Tòa soạn báo điện tử 91
4.2 Mục tiêu đề tài 91
4.2.1 Tìm hiểu Bộ portal mã nguồn mở DotNetNuke 91
4.2.2 Xây dựng tòa soạn báo điện tử 92
4.3 Xây dựng hệ thống 93
4.3.1 Các chức năng chính của hệ thống 93
4.3.2 Xây dựng cơ sở dữ liệu 103
4.3.3 Xây dựng module và gắn vào Dotnetnuke 110
4.4 Giao diện chương trình 122
5 Tổng kết 128
Tài liệu tham khảo 130
Trang 3CHUYÊN ĐỀ TỐT NGHIỆP CÔNG NGHỆ NET
Portal và Dotnetnuke
1 Khái niệm Portal
1.1 Khái niệm cổng thông tin tích hợp (portal)
“Cổng thông tin điện tử tích hợp là điểm truy cập tập trung và duy nhất, tích hợp các kênh thông tin, các dịch vụ và ứng dụng, phân phối tới người sử dụng thông qua một phương thức thống nhất và đơn giản trên nền tảng Web”
1.2 Phân loại cổng thông tin
Có nhiều cách phân loại Portal, ở đây phân loại theo mục đích sử dụng cũng như quy mô thì có thể chia các Portal hiện có thành ba loại
1.2.1 Các Portal công cộng (Public Portal)
Các Portal loại này được thiết kế dành cho một lượng rất lớn người dùng dễ dàng truy cập vào các ứng dụng trên web (web-based) thông qua các liên kết và hộp tìm kiếm chỉ bằng một lần đăng nhập duy nhất Nổi tiếng nhất trong loại Portal này là các Portal: My Yahoo, AOL hay Excite Các Portal kiểu này hướng đến đại đa số người dùng, do vậy chúng thường tập trung vào khả năng cá nhân hóa (Personalization), đa ngôn ngữ, phát triển các tính năng phổ biến sao cho người dùng có thể sử dụng dễ dàng Khả năng quản lý số lượng người dùng rất lớn cũng như cho phép tìm kiếm nhanh thông tin từ một lượng dữ liệu khổng lồ là thế mạnh của loại portal này tuy nhiên vì phục vụ số đông nên chúng không dành cho các công việc nghiệp vụ cụ thể nào cả
1.2.2 Các Portal tác nghiệp (Enterprise Portal)
Trang 4phục vụ cho tác nghiệp, chuyên làm các công việc nghiệp vụ như: quản lý mạng lưới bán lẻ, ngân hàng, website bán hàng cỡ lớn hay quản lý tài nguyên công ty Do vậy, chúng được thiết kế rất tốt, thực hiện được các nghiệp vụ phức tạp, liên kết nhiều kiểu dữ liệu khác nhau
1.2.3 Các Portal Website
Các Portal kiểu này thường dùng để tạo ra các Website, chính xác hơn
là các Website có thể tùy biến (customizable website) Các Portal này cung cấp các tính năng rất cơ bản, giúp các nhà phát triển web có thể dễ dàng tạo
ra một website cho riêng mình Các Portal này hỗ trợ các tính năng cá nhân hoá và đa ngôn ngữ ở mức vừa phải, có thể thêm vào các mô đun tác nghiệp không quá phức tạp Để làm được điều này, các Portal được mở một phần hoặc hoàn toàn mã nguồn, để người dùng Portal (thường là quản trị Website)
có thể tự xây dựng các mô đun, tất nhiên là theo chuẩn của Portal, để tích hợp vào website của mình hoặc thậm chí đem bán cho các site khác có cùng nguồn gốc Các portal này tương đối đơn giản, chỉ sử dụng một vài cơ sở dữ liệu phổ biến, tuy nhiên cũng không kém phần linh động khi tuỳ biến giao diện cũng như thao tác nghiệp vụ
1.3 Các tính năng cơ bản của portal
Tuy có nhiều loại cổng thông tin khác nhau, cung cấp nhiều loại dịch
vụ và ứng dụng khác nhau, nhưng tất cả các loại cổng thông tin đều có chung một số tính năng cơ bản Các tính năng này là được sử dụng như là một tiêu chuẩn để phân biệt giữa cổng thông tin điện tử tích hợp với một website hoặc với một ứng dụng chạy trên nền tảng Web (web application) Các tính năng đó bao gồm:
Đăng nhập một lần (Single-Sign-On-SSO)
Để truy cập vào dữ liệu và dịch vụ khác nhau, người dùng chỉ cần đăng nhập một lần duy nhất Hệ thống Portal thực hiện điều này thông qua
Trang 5quá trình quản lý phiên (Session Management) Thông qua quá trình này, người dùng dễ dàng truy cập và thao tác dữ liệu, nhưng không phải lo lắng
gì về mặt an ninh bảo mật vì Portal đã dùng những công nghệ bảo mật an toàn nhất ngầm phía dưới một phiên làm việc từ khi người dùng đăng nhập đến khi đăng xuất
Khả năng cá nhân hoá (Customization hay Personalization)
Khi người dùng đăng ký với hệ thống, họ sẽ được cấp một tài khoản Mỗi tài khoản người dùng đăng nhập vào đều được cấp cho một “khung trời riêng”, họ có cảm giác như là một website của riêng mình, họ có thể tuỳ biến được giao diện tuỳ theo ý thích, thêm bớt các mô đun, hình ảnh… giống như post hay delete một bài viết của mình trên forum vậy Khả năng này còn thể hiện ở chỗ: nhà quản trị website có thể trực quan hoá các công việc thêm bớt, thay đổi vị trí các mô đun mà không động đến một dòng HTML hay mã nguồn của Website mình
Tích hợp nhiều loại thông tin (Content aggregation):
Cho phép xây dựng nội dung thông tin từ nhiều nguồn khác nhau cho nhiều đối tượng sử dụng Sự khác biệt giữa các nội dung thông tin sẽ được xác định qua các ngữ cảnh hoạt động của người dùng, ví dụ như đối với từng đối tượng sử dụng sau khi thông qua quá trình xác thực thì sẽ được cung cấp các thông tin khác nhau, hoặc nội dung thông tin sẽ được cung cấp khác nhau trong quá trình cá nhân hoá thông tin
Xuất bản thông tin (Content syndication):
Thu thập thông tin từ nhiều nguồn khác nhau, cung cấp cho người dùng thông qua các phương pháp hoặc giao thức (protocol) một cách thích hợp Một hệ thống xuất bản thông tin chuyên nghiệp phải có khả năng xuất
Trang 6(News Industry Text Format) và NewsXML Ngoài ra, các tiêu chuẩn dựa trên XML cũng phải được áp dụng để quản trị và hiển thị nội dung một cách thống nhất, xuyên suốt trong quá trình xuất bản thông tin Các tiêu chuẩn dựa trên XML này cho phép đưa ra giải pháp nhanh nhất để khai thác và sử dụng thông tin trên các Web site khác nhau thông qua quá trình thu thập và bóc tách thông tin với các định dạng đã được quy chuẩn
Hỗ trợ nhiều môi trường hiển thị thông tin (Multidevice support):
Cho phép hiển thị cùng một nội dung thông tin trên nhiều loại thiết bị khác nhau như: màn hình máy tính (PC), thiết bị di động (Mobile phone, Wireless phone, PDA), sử dụng để in hay cho bản fax… một cách tự động bằng cách xác định thiết bị hiển thị thông qua các thuộc tính khác nhau Ví dụ: cùng một nội dung đó, khi hiển thị trên màn hình máy tính thì sử dụng HTML, nhưng khi hệ thống xác định được thiết bị hiển thị là PDA hay mobile phone, hệ thống sẽ loại bỏ các ảnh có trong nội dung và tự động chuyển nội dung đó sang định dạng WML (Wireless Markup Language) để phù hợp cho việc hiển thị trên màn hình của thiết bị di động
Quản trị portal (Portal administration):
Xác định cách thức hiển thị thông tin cho người dùng cuối Tính năng này không chỉ đơn giản là thiết lập các giao diện người dùng với các chi tiết
đồ hoạ (look-and-feel), với tính năng này, người quản trị phải định nghĩa được các thành phần thông tin, các kênh tương tác với người sử dụng cuối, định nghĩa nhóm người dùng cùng với các quyền truy cập và sử dụng thông tin khác nhau
1.4 Các dịch vụ mà hệ thống Portal có thể cung cấp
Hệ thống Portal cần xây dựng cung cấp các nhóm dịch vụ như sau:
Các dịch vụ cơ bản: post bài định dạng HTML/Document, Danh sách
liên kết, Upload/Download Files, Thao tác ảnh…
Trang 7 Các dịch vụ cộng đồng ảo (Virtual community hay Collaboration)
Cộng đồng ảo là “một địa điểm ảo” trên internet mà các cá nhân hay
tổ chức có thể tập hợp để giúp đỡ, hợp tác với nhau mà ranh giới về vị trí địa
lý không còn có ý nghĩa
Cung cấp môi trường cộng tác (collaborative) thông qua việc quản lý
và khai thác thống nhất toàn diện các dịch vụ cơ bản như: Forum, Mail, Calendar, Task Management, Report Systems, Conferences, Discussion Groups, News Groups, v.v
Hỗ trợ tìm kiếm nhanh và mạnh theo nhiều tiêu chí: tiêu đề, ngày, từ khóa, phân loại… và trong toàn bộ nội dung trang Kết hợp với các trang tìm kiếm như Google, Yahoo, Vinaseek…
Các dịch vụ hiển thị tự động và đa kết nối
Có thể soạn trước các bài và cài đặt ngày giờ cho hiển thị lên trang báo, sẽ tạo ra tính năng online về nội dung, mà không tốn nhiều công sức Ngoài ra có thể tích hợp với các nguồn tin hay hệ thống dữ liệu khác
1.5 Sự khác nhau cơ bản của Portal và WebSite
Portal (cổng giao dịch điện tử) là một bước tiến hóa của website truyền thống Nó ra đời để giải quyết những vấn đề mà website truyền thống gặp phải Xây dựng hệ thống Portal thay vì Website bởi vì hệ thống Portal
có những ưu điểm hơn hẳn so với Website có cùng chức năng như sau:
- Là "siêu web site“, gọi tắt là Portal, đối với người dùng vẫn chỉ là sử
Trang 8đó là sự thay đổi thuật ngữ và quan niệm mới về triết lý phục vụ thay cho cách hiểu “tuyên truyền” thông qua web site như trước đây
- Các mô đun trong Portal có tính độc lập cao, hoạt động không ảnh
hưởng tới các mô đun khác
- Người dùng Portal có khả năng truy cập thông tin có được từ nhiều
nguồn dữ liệu khác nhau
- Người phát triển dựa theo các chuẩn có sẵn để tích hợp thêm các
mô đun tác nghiệp mới
Trang 92 Giới thiệu Dotnetnuke Portal (Giải pháp phát triển Website cộng nghệ mới)
2.1 Giới thiệu chung
b Các tính năng cơ bản của DotNetNuke portal:
Hệ thống quản lý nội dung trực quan:
- DNN portal quản lý nội dung theo menu tình huống, trên mỗi module sẽ có một menu tương ứng xuất hiện ngay tại một ICON bên trái Title của Module Người sử dụng sẽ dễ dàng tìm ra các chức năng điều khiển hay quản trị của module này một cách nhanh chóng tương ứng với quyền quản trị của mình
- Các module được hiển thị và phân bố trên giao diện portal dễ dàng nhờ vào các từ khoá định trước trên các vùng khác nhau của giao diện Chúng ta có thể di chuyển một module từ khu vực này sang khu vực khác bằng một lệnh trên menu tình huống hoặc dùng cách Drag and Drop (Kéo thả)
- Nội dung thông tin được soạn thảo trên công cụ được hỗ trợ với các
Trang 10- Cấu trúc site (Site Map) được quản lý một cách dễ dàng Người sử dụng có thể thêm một trang mới vào hệ thống và cho phép hoặc không cho phép xuất hiện trên Menu
Quản lý giao diện độc lập, linh hoạt
- Giao diện được phát triển riêng độc lập với chương trình, một nhà thiết kế giao diện cho Website có thể làm việc độc lập, chỉ cần một số tiêu chuẩn về giao diện phải tuân thủ, các nhà thiết kế không phải quan tâm nhiều đến vấn đề kỹ thuật của hệ thống, giao diện sau khi làm xong sẽ được tích hợp nhanh chóng vào hệ thống
- Hệ thống quản lý giao diện của DNN portal là một trong những ưu điểm nổi bật so với các Portal khác Do vậy DNN portal phù hợp cho các Website có yêu cầu giao diện cao và phục vụ công tác đối ngoại cho các doanh nghiệp, tổ chức…
Quản trị hệ thống với đầy đủ chức năng
- Quản lý phân quyền là một trong những chức năng quan trọng của Portal Hệ thống phân quyền của DNN Portal được cung cấp rất chặt chẽ, cho phép nhà quản trị có thể tạo ra nhiều nhóm quyền (role) khác nhau và sau đó phân công cho người dùng (user)
- Hệ thống phân quyền của các module có thể tích hợp và phân công thông qua các quyền đã tạo ra của hệ thống; do vậy việc phân quyền có thể thực hiện đến từng chức năng nhỏ của module
- Hệ thống cũng cung cấp sẵn công cụ quản lý thành viên
- DNN portal cung cấp công cụ quản lý File/ Folder qua giao diện Admin web với đầy đủ các chức năng như tạo thư mục, Upload, Download, Zip/Unzip cũng như việc phân quyền truy xuất vào hệ thống
Trang 11- Đối với việc quản lý các trang thông tin, hệ thống cũng cho phép
khôi phục dữ liệu đã xoá (recylce bin) Việc này làm giảm rủi ro trong quản
lý nội dung
- Ngoài ra trong việc quản trị hệ thống, giải pháp này còn cung cấp nhiều chức năng khác như: thống kê truy cập, quản lý nhật ký truy xuất, quản lý bộ nhớ đệm, thời khoá biểu vận hành của ứng dụng trên Portal, cơ chế cài đặt Module mới thuận tiện và khả năng quản lý nhiều Website thành
viên
An toàn và bảo mật
và chủ động tạo các quyền, nhóm quyền riêng cho từng phân hệ hoặc toàn
bộ website, do đó những thành viên phụ trách phần nào sẽ chỉ có quyền truy xuất thông tin vào phần đó
- Mức độ dữ liệu: Mã hoá dữ liệu (Password được mã hóa theo chuẩn
SHA1), Sử dụng SSL(Security Socket Layer) dành cho hệ thống thành viên,
đăng nhập
2.1.2 Nguồn gốc Dotnetnuke
Dotnetnuke được phát triển dựa trên cổng điện tử IBuySpy được Microsoft giới thiệu như là một ứng dụng mẫu dựa trên nền tảng NET Framework Dotnetnuke đã được phát triển qua nhiều phiên bản và hiện tại đang ở phiên bản 5.1 Từ phiên bản 4.5.5 trở về sau đòi hỏi NET Framework 2.0 trong khi các phiên bản trước đó sử dụng NET Framework 1.1.4
Một cài đặt (install) của Dotnetnuke có thể phục vụ nhiều trang web, mỗi trang có thể có giao diện và cộng đồng người sử dụng riêng biệt Phiên
Trang 122.1.3 Khả năng mở rộng
Dotnetnuke có một nhân cơ bản có thể mở rộng với các module để bổ xung các tính năng mới, giao diện của hệ thống có thể tùy biến nhờ vào kỹ thuật Skin
a Module
Có khoảng 10 module cơ bản được cung cấp cùng với bản Dotnetnuke Các module khác có thể download từ trang web của Dotnetnuke, trong đó có các module như: thương mại điện tử, album ảnh, blog, forum,… Các module
bổ xung khác cũng được cộng đồng nguồn mở và các công ty phần mềm thương mại cung cấp
Các module này có thể được cài đặt bổ xung dễ dàng bằng cách Upload chúng thông qua giao diện của trang quản trị
b Skin
Giao diện của Dotnetnuke được thiết kế với kiến trúc sử dụng Skin cho phép tách biệt nội dung và giao diện của hệ thống Kiến trúc này cho phép người thiết kế giao diện có thể làm việc độc lập với quá trình phát triển trong ASP.NET và chỉ đòi hỏi kiến thức về HTML cùng với các kiến thức
về Skin của Dotnetnuke Skin bao gồm một số file HTML cơ bản, trong đó
có các vị trí để đặt nội dung, menu và các tính năng khác Đồng thời cũng chứa các file ảnh, file javascript và file định dạng (stylesheet); tất cả thường được đóng gói trong một file ZIP Giống như module, skin có thể được upload và cài đặt tự động thông qua trang quản trị
2.2 Cài đặt Dotnetnuke
2.2.1 Tải hệ thống DotNetNuke
Chúng ta có thể tải về phiên bản mới nhất của hệ thống DotNetNuke tại địa chỉ http://www.dotnetnuke.com (Để tải về chúng ta phải đăng ký một tài khoản trên website này)
Trang 13Download bản DotNetNuke_04.08.02_Install.zip
2.2.2 Cài đặt
Có nhiều cách để dựng một framework Dotnetnuke, bạn có thể sử dụng một trong những phiên bản sau DotNetNuke_04.08.02_Install.zip, DotNetNuke_040802_Source.zip, hay DotNetNuke_04.08.02_StartKit.vsi
Trong tài liệu này tôi sử dụng DotNetNuke_04.08.02_StarterKit.vsi,
hệ quản trị cơ sở dữ liệu SQL Server 2005 và Visual Studio 2005
Bước 1: cài đặt DotNetNuke_04.08.02_StarterKit.vsi, click đúp vào
file Chọn “Next >”, hộp thoại thông báo lỗi xuất hiện
Chọn “Yes”
Trang 14 Bước 2: Tạo dự án để phát triển
- Mở Visual Studio 2005: File News Web Site
- Chọn ngôn ngữ phát triển là Visual Basic, chọn trong phần “My Templates” kiểu dự án “DotNetNuke Web Application Framework ”
- Điền tên dự án và đương dẫn lưu trữ
-Chọn “OK”, chương trình Visual Studio 2005 tự động sinh ra một dự
án
Trang 15 Bước 3: Tạo cơ sở dữ liệu
- Mở SQL Server 2005, tạo database
- Chúng ta có thể tạo một tài khoản trong SQL Server 2005 cho database của mình, trong tài liệu này chúng ta sử dụng tài khoản “sa” của SQL Server 2005
Bước 4: Thiết lập quyền hạn (Nếu đĩa cứng của chúng ta không sử
dụng cấu trúc NTFS mà sử dụng cấu trúc FAT32 hay cấu trúc khác thì có thể bỏ qua bước này)
- Cho phép process ASP.NET quyền read/write đối với thư mục trên
- Để thực hiện được điều này click chuột phải lên thư mục đặt DotNetNuke, chọn Properties và chọn tab Security
Lưu ý:
(*) Mô ̣t số hê ̣ thống, thường khi mới cài đă ̣t sẽ không có tab Security trên cửa sổ Properties Để hiển thi ̣ tab này:
- Mở khung Window Explorer (Click đúp vào My Computer)
- Chọn menu Tools -> Folder Option
- Chọn tab View
Simple File Sharing”
(*) Nếu trong khung “Group or user names” không có tài khoản ASP.NET thì thực hiện theo các bước sau:
Trang 16 Nhấn vào nút “Advanced…”
Bước 5: Cấu hình IIS (Internet Information Server)
Bạn vào Start -> Settings -> Control Panel -> Administrative Tools -> Internet Information Server, tạo một web site mới ( Ví dụ: dnn2005)
Sau khi tạo thành công:
- Click phải chuột vào Virtual Directory “dnn2005”, chọn Properties
Trang 17- Chọn mục “ASP.NET”, trong mục “ASP.NET version”, chọn
“2.0.50727”
Bước 6: Cấu hình file “web.config” cho việc cài đặt
Bạn vào file “web.config” nằm trong folder đã chọn trong “Bước 2”
- Tìm trong file đoạn
<connectionStrings>
<! Connection String for SQL Server 2005 Express >
<add name ="SiteSqlServer" connectionString ="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|Database.mdf;"
providerName ="System.Data.SqlClient" />
<! Connection String for SQL Server 2000/2005
<add name="SiteSqlServer" connectionString="Server=(local); Database=DotNetNuke;uid=;pwd=;"
providerName="System.Data.SqlClient" />
Trang 18<! Connection String for SQL Server 2005 Express - kept for backwards compatability - legacy modules >
<add key ="SiteSqlServer" value ="Data Source=.\SQLExpress;Integrated Security=True;User
Instance=True;AttachDBFilename=|DataDirectory|Database.mdf;"/>
<! Connection String for SQL Server 2000/2005 - kept for backwards compatability - legacy modules
<add key="SiteSqlServer" value="Server=(local);Database=DotNetNuke;uid=;pwd=;"/>
>
- Nếu bạn sử dụng SQL Server 2005 như tài liệu này thì đổi đoạn code trên như sau:
<connectionStrings>
<! Connection String for SQL Server 2005 Express
<add name="SiteSqlServer" connectionString="
Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|Database.mdf;"provide rName="System.Data.SqlClient" /> >
<! Connection String for SQL Server 2000/2005 >
<add name ="SiteSqlServer" connectionString =" Server=DAT_PHUONG\DAT_PHUONG;Database=dat6447;uid=sa;pwd
Trang 19<! Connection String for SQL Server 2000/2005 - kept for backwards compatability - legacy modules >
<add key ="SiteSqlServer"
value ="Server=DAT_PHUONG\DAT_PHUONG;Database=dnn2005;uid
=sa;pwd=sa;"/>
- Nếu dùng SQL Server Express, chúng ta không cần quan tâm đến việc cấu hình web.config nữa vì trong thư mục App_data đã có 1 file database rỗng
Bước 7: Hoàn tất quá trình cài đặt
Mở trình duyệt và browse đến http://localhost/dnn2005 Thực hiện cài đặt theo hướng dẫn Nếu không có vấn đề gì, link "Please click here to access your portal" hoặc “Finished (Go to site)” (tùy vào chế độ cài đặt) sẽ hiện ra, chúng ta chỉ cần click vào là truy cập được đến trang web của mình
Giao diện ban đầu
Chọn “Next”
Trang 20Chọn “Next” sau khi đã kiểm tra “Test Permissions”
Chọn “Next” sau khi đã “Test Database Connection”
Quá trình cài đặt
Trang 21Thiết lập thông tin cho host (Super User Account) – Tài khoản có quyền hạn cao nhất trong hệ thống
Xác lập thông tin cho Admin (Administrator Account) – Tài khoản có quyền hạn cao sau host, cao nhất trong portal
Quá trình cài đặt kết thúc
Chọn “Finished (Goto Site ), chúng ta sẽ đến giao diện ban đầu của hệ thống
Trang 22Chúng ta đã hoàn thành việc cài đặt Framework Dotnetnuke
2.3 Trang cơ bản
2.3.1 Tổng quan về trang
Trang là phần giao diện chứa nội dung mà người sử dụng nhìn thấy Thông thường mỗi trang tương ứng với một mục trên menu
Nội dung: Trang chứa những gì?
Chúng ta đưa thông tin vào trang bằng các Module Các module có khả năng hiển thị nội dung khác nhau Một trong những module thông thường nhất là module Text/HTML, cho phép hiển thị những đoạn HTML hay Text đơn giản nhất Thông tin được hiển thị trong module Text/HTML
Sự bảo mật: Ai có thể được nhìn thấy và thay đổi trang?
Trang 23Thông thường có 2 kiểu người cơ bản truy cập trang web của chúng
ta Kiểu người đầu tiên là họ chỉ muốn nhìn lướt qua và không bao giờ đăng
ký hoặc ít nhất là chưa bao giờ đăng nhập, họ được gọi là những người sử dụng không xác thực Những người sử dụng không xác thực là những người dùng ẩn danh
Kiểu người thứ 2 là người dùng có đăng nhập Để đăng nhập được họ phải đăng ký từ trước và họ được xem như là những người sử dụng có đăng
ký Nét riêng của những người sử dụng có đăng ký là họ có quyền xem, thay đổi nội dung mà những người sử dụng khác không làm được
Trang 242.3.2 Tạo trang cơ bản
Cách đơn giản nhất để tạo một trang mới trên website của chúng ta là dùng nút Add ở những phần chức năng trang của Control Panel (nằm ở đầu trang)
Các bước tạo trang
Bước 1:
Click chuột vào nút Add trên Control Panel Trang tiếp theo nó sẽ chỉ
rõ cho chúng ta cách thiết lập một trang mới
Trang 25Check vào nội dung cần sao chép nếu như muốn Module ở trang mới
cũng “mirror” với module của trang được sao chép
Bước 4:
Nhập vào ngày bắt đầu hoặc ngày kết thúc cho hoạt động của trang
Trang 26 Bước 5:
Dạng đường link mặc định cho trang là None, những trang này thường không có đường link Chúng ta có thể chọn nhiều dạng đường liên kết khác nhau vì thế mục menu cũng được chạy khác nhau Chúng ta sẽ nhìn thấy các dạng ngắn gọn ở bên dưới
Chỉ rõ dạng trang link Thiết lập trang sẽ được cập nhật và sẽ cung cấp một hộp danh sách các trang rơi xuống trong website Menu được tạo bởi các trang thiết lập sẽ mở ra ngay tại trang này thay vì mở sang trang mới
Chỉ định rõ dạng đường link tập tin Thiết lập trang sẽ được cập nhật
và tìm kiếm một hộp danh sách rơi xuống chỉ rõ danh mục và tên tập tin trên
Trang 27website Menu sẽ được tạo bởi các trang thiết lập sẽ mở ra tập tin này thay vì
Các bước xóa trang trong Page Settíngs
Bước 1:
Đến phần Page Settings cho dạng trang, di chuyển xuống phần Menu Admin và chọn mục Pages
Trang 28 Bước 2:
Chọn mục Page từ danh sách và click vào nút Edit Nút Edit này nhìn như cây bút chì màu xanh Chúng ta sẽ được đưa tới phần Page Settings cho trang được chọn
Bước 3: Ở giữa phần Page Settings, click vào nút Delete
Bước 4:
Click OK xác định trang muốn xóa Sau khi xóa trang xong chúng ta
sẽ quay về danh sách Pages
2.3.4 Phục hồi trang bị xóa
Thùng rác là nơi chứa trang (và module) đã xóa Chúng ta có thể phục hồi lại chúng từ thùng rác
Trang 29Di chuyển xuống menu Admin và chọn vào Recycle Bin
Các bước phục hồi trang bị xóa
Trang 30Các bước để xóa trang(vĩnh viễn)
Bước1: Click vào nút Empty Recycle Bin nằm ở giữa trang
Bước 2:
Click OK để xác định muốn xóa tất cả các trang và Module trong thùng rác Chúng sẽ di chuyển khỏi thùng rác và bị xóa vĩnh viễn
Trang 31Sau đó thì thùng rác sẽ trống rỗng
2.3.5 Phân quyền sử dụng trên trang
Trang có thể có những người xem ẩn danh hoặc một nhóm người sử dụng có đăng ký Nếu như người dùng truy cập không có quyền để xem trang đó (hoặc không đăng nhập vào được), thì nó sẽ không xuất hiện trên mục menu mà họ chọn
Các bước thực hiện: Chỉ dành cho người sử dụng có đăng ký:
Bắt đầu tạo một trang mới như đã được hướng dẫn trong cách tạo trang cơ bản Tuy nhiên, thay vì cho phép mọi người đều được xem trang web kể cả người ẩn danh, chúng ta sẽ thay đổi chỉ cho người sử dụng có đăng ký được thấy
Trang 32Bây giờ, khi những người truy cập ẩn danh đến website, họ sẽ thấy Menu mà không bao gồm những trang đã được đã phân quyền sử dụng trang! Người sử dụng phải đăng ký và sau đó đăng nhập vào thì họ mới có
thể thấy và xem những trang đó
vì để trống)
Bước 2: Trong Page Management page, di chuyển xuống Parent Page setting
Bước 3: Click vào danh sách rơi xuống và chọn trang mà mục menu
sẽ xuất hiện ở phía dưới
Bước 4:
Trang 33Khi hoàn thành xong những bước trên, di chuyển vào giữa trang và click vàoUpdate để lưu lại sự thay đổi!
Các bước thực hiện: trang trong Menu Admin
Đây là cách phù hợp nhất khi chúng ta muốn di chuyển nhiều trang Danh sách các trang thể hiện hết tất cả các trang của chúng ta thành một danh sách, với sự thụt dòng để minh họa cho trang gốc của trang khác
Trang 352.4 Quản Lý WebSite
2.4.1 Thay đổi Skin của WebSite
“Skin” là phương thức dùng để mô tả cách hiển thị và cách bố trí các trang trên website Chúng ta có thể thay đổi chúng với một vài nhấp chuột đơn giản!
Một Skin có thể rất đơn giản hoặc phức tạp Nó có thể cung cấp Menu nằm dọc hay nằm ngang, cung cấp những dạng khác nhau của Container (như skin cho Module), cung cấp các cách bố trí khác nhau, v v Đó là tùy theo skin của người thiết kế
Ở đây có một số ví dụ về Skin Nhiều skin có thể lấy từ nguồn khác nhau (cả miễn phí lẫn bán) Skin của website có thể được thiết kế tùy thích
Trang 36Các bước thay đổi skin
Skin của website được quản lý, thay đổi bởi Admin
Bước 1: Chọn Skin từ menu Admin
Bước 2: Chọn trong phần Skin để xem những skin đã tồn tại
Bước 3:
Chọn xem chúng ta muốn áp dụng Skin này cho public Portal hay chỉ
ở phẩn Admin của website.
Bước 4:
Chọn Skin cho trang web và nhấp Apply
Trang 37Skin của website đã được thay đổi (như minh họa bên dưới) Chúng ta cũng có thể thiết đặc mặc định Container khiến cho skin đẹp hơn (chú ý container xanh vẫn là mặc định như bên dưới)
Các bước để thay đổi container mặc định
Trang 38Quản lý Container trên trang web cũng giống như trên Skin Tương tự như skin, các thiết lập được áp dụng trên toàn bộ website và tới tất cả các Module mới mà chúng ta đã sử dụng
Chúng ta sẽ lập lại bước 1, 2, và 3 như ở trên và chọn Container (thay vì Skin)
Bước 1: Chọn Skin từ menu Admin
Trang 39Website bây giờ đã được thay đổi Container mặc định (như minh họa
ở bên dưới) Chúng ta đã thay đổi xong cả Skin và container
Các bước thay đổi skin/container cho trang đơn
Có thể chỉ rõ sự khác nhau của Skin và Container mặc định cho một trang cá nhân của website Chú ý rằng nếu chúng ta thay đổi skin hoặc container tại trang đó, thì những thiết lập mặc định sẽ không ảnh hướng đến trang ta đang thay đổi
Khi thay đổi Container cho một trang đơn thì nó đuợc áp dụng mặc định lên bất cứ Module nào được thêm vào ở trang đó
Bước 1: Thông qua trang muốn thay đổi Skin hoặc Container mặc định
Bước2: Chọn Setting từ Page Functions của Control Pane
Bước 3:
Trên trang Page Management, mở rộng nhóm các thiết lập nâng cao Cuốn tới phần thiết lập Page Skin và Page Container ở phần Appearance