Tài liệu Đề tài Giới thiệu Portal và Dotnetnuke: Mục lục
CHUYÊ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 ...
130 trang |
Chia sẻ: hunglv | Lượt xem: 1751 | Lượt tải: 1
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Giới thiệu Portal và Dotnetnuke, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Mục lục
CHUYÊ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)
Các Portal loại này quản lý số lượng người dùng không nhiều bằng Portal công cộng. Các Portal loại này chuyên dùng cho các doanh nghiệp, phụ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 quá 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 bản thông tin với các định dạng đã được quy chuẩn, ví dụ như RDF (Resource Description Format), RSS (Realy Simple Syndication), NITF (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…
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...
Các dịch vụ cung cấp thông tin: Thông báo, bản tin…
Các dịch vụ tìm kiếm:
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.
Các dịch vụ trợ giúp người dung: thông tin cá nhân, Lịch biểu…
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ử dụng trang web thông qua trình duyệt (tức là web browser), nhưng đằng sau đó 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.
2. 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
2.1.1 Dotnetnuke là gì (DNN) ?
a. Khái niệm:
DotNetNuke là một hệ thống quản lý nội dung mã nguồn mở viết bằng ngôn ngữ lập trình VB.NET trên nền tảng ASP.NET, hệ quản trị cơ sở dữ liệu có thể là MS SQL server hoặc Oracle, tùy biến dựa trên Skin và Module. DNN được đánh giá là hệ thống quản trị nội dung mã nguồn mở .NET phát triển mạnh nhất hiện nay với số lượng thành viên đông đảo và phát triển rất nhanh trên khắp thế giới.
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 công cụ thuận tiện và hiện đại nhất: với khả năng chèn Flash file, Movie, … điều chỉnh các thuộc tính của đối tượng, làm sạch code…
- 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.
- Đố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
- Mức độ người dùng: Hệ thống được quản lý phân quyền tập trung 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 bản hiện tại cho phép chức năng đa ngôn ngữ.
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ị.
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ỉ (Để tải về chúng ta phải đăng ký một tài khoản trên website này).
Download 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”
Chọn “Finish”, lúc này quá trình cài đặt tự động được thực hiện.
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.
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. + Đối với IIS5 (Win 2000, XP) tài khoản này tên là ASPNET. + Đối với IIS 6 (Win 2003) tài khoản này là NETWOR SERVICE.
- Để 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 thị tab này: - Mở khung Window Explorer (Click đúp vào My Computer).
- Chọn menu Tools -> Folder Option.
- Chọn tab View.
- Kéo danh sách xuống dưới cùng và bỏ chọn (uncheck) mục “Use 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:
Chọn tab “Seccurity”.
Nhấn vào nút “Add”
Nhấn vào nút “Advanced…”
Chọn tài khoản “ASP.NET”, sau đó chọn Ok
Chọn tài khoản ASP.NET và check vào “Full Control”
Chọn OK.
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
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
<!-- Connection String for SQL Server 2000/2005
<add name="SiteSqlServer" connectionString="Server=(local); Database=DotNetNuke;uid=;pwd=;"
providerName="System.Data.SqlClient" />
-->
<!-- Connection String for SQL Server 2000/2005 - kept for backwards compatability - legacy modules
-->
- 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:
<!-- 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" />-->
<add name="SiteSqlServer" connectionString=" Server=DAT_PHUONG\DAT_PHUONG;Database=dat6447;uid=sa;pwd=sa;"
providerName="System.Data.SqlClient" />
<!-- Connection String for SQL Server 2005 Express - kept for backwards compatability - legacy modules
-->
- 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 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”
Chọn “Next” sau khi đã kiểm tra “Test Permissions”
Chọn “Next” sau khi đã “Test Database Connection”
Quá trình cài đặt
Thiế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.
Chú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?
Thô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.
Hình thức của trang
Giao diện của trang phụ thuộc vào từng kiểu Skin mà người quản trị chọn. Mỗi “Skin” là một cách thể hiện, bố trí trang web của chúng ta. Skin có thể đơn giản hoặc phức tạp. Có một vài skin được minh họa dưới đây.
2.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.
Bước 2:
Nếu như muốn trang mới có cùng module với trang khác, có thể chỉ định trang muốn sao chép Module ở phần Copy Module From. Trọn trang từ hộp danh sách rơi xuống.
Bước 3:
Check 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 web.
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 website. Menu sẽ được tạo bởi các trang thiết lập sẽ mở ra tập tin này thay vì mở ra một trang truyền thống.
Bước 6:
Khi hoàn thành xong các bước trên, chúng ta di chuyển vào giữa trang click vào nút Update để lưu lại những sự thay đổi.
2.3.3 Xóa trang
Có 2 cách xóa trang từ website. Cách đơn giản nhất là để xóa trang là dùng nút Delete ở trên phần chức năng trang của Control Panel (nằm ở đầu trang)
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.
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.
Di 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
Bước 1:
Chọn trang muốn Restore. Trong thùng rác chứa danh sách bao gồm tất cả những trang đã xóa từ trước.
Bước 2:
Click vào nút Restore. Trang sẽ được di chuyển từ danh sách các trang ở thùng rác vào mục menu.
Các bước để xóa trang(vĩnh viễn)
Bước 1:
Chọn trang muốn xóa vĩnh viễn. Trong thùng rác sẽ có danh sách bao gồm tất cả các trang đã xóa từ trước.
Bước 2: Click nút Delete trên phần Pages.
Bước 3:
Click OK để xác định là sẽ xóa. Trang sẽ di chuyển khỏi danh sách các trang của thùng rác và sẽ bị xóa vĩnh viễn.
Các bước để làm thùng rác trống
Nếu như thùng rác có quá nhiều rác, chúng ta muốn thùng rác trống để sau này dễ dàng sử dụng. Làm trống thùng rác sẽ xóa vĩnh viễn các trang và Module ở trong đó.
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.
Sau đó 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.
Bước 1:
Thông qua trang mới, Click vào Settings trong phần chức năng trang của Control Panel (ở góc phải phía dưới của trang)
Bước 2: Di chuyển xuống phần Permissions
Bước 3:
Check vào Resgister Users ở phía dưới của View Page permission. Không check vào bất cứ nhóm nào khác (lưu ý là quan trị viên luôn luôn có View Page permission).
Bâ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 đó.
2.3.6 Di chuyển trang
Cách đơn giản nhất là di chuyển từng trang trong trang thiết lập.
Bước 1:
Bắt đầu từ trang muốn di chuyển. Click vào nút Setting trên Control Panel. Trang tiếp theo mà chúng ta thấy là trang tương tự như lúc điền vào khi tạo trang mới, ngoại trừ là nó sẽ đưa ra tất cả các thiết lập của trang (thay 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:
Khi 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.
Bước 1:
Di chuyển xuống menu Admin và chọn menu trang. Chúng ta sẽ được đưa ra danh sách các trang và điều khiển những trang muốn di chuyển.
Bước 2:
Thay đổi thứ tự của Menu, đơn giản là chọn một và di chuyển chúng lên hoặc xuống danh sách bằng cách nhấp vào các mũi tên phù hợp.
Ví dụ
Menu sau đó
Bước 3:
Thay đổi lồng Menu, đơn giản là chọn một và di chuyển sang phải hoặc trái trong danh sách theo mũi tên thích hợp.
Ví dụ
Menu sau đó
Những sự thay đổi của chúng ta sẽ được lưu lại ngay lập tức.
2.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.
Cá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.
Skin 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
Quả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
Bước 2:
Chọn bộ sưu tập Skin hoặc Container muốn xem từ hộp danh sách rơi xuống ở đầu trang.
Bước 3:
Ở giữa trang chứa các Container mà hệ thống đang có. Chúng ta chỉ nên chọn áp dụng vào puclic Portal hoặc phần Admin trên website.
Bước 4:
Chọn Container chúng ta thích và nhấp vào Apply.
Website 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.
Bước 4:
Chọn Skin hoăc Container mặc định cho trang.
Bước 5:
Di chuyển vào giữa trang rồi nhấp vào Update để lưu lại những gì đã thay đổi!
2.4.2 Thay đổi logo của WebSite
Trước khi bắt đầu, điều quan trọng là chúng ta phải hiểu Logo được hiển thị như là một phần của Skin. Nếu skin không hỗ trợ hiển thị cho logo, thì sau khi chúng ta thay đổi logo thì nó cũng sẽ không có hiệu quả! Nhưng hầu hết các skin mặc định có thể thực hiện điều này.
Đây là một ví dụ của Skin với phần Logo được làm nổi bật.
Đây là ví dụ của Skin không có hiển thị Logo.
Các bước thực hiện việc thay đổi logo của bạn
Bước 1: Chọn Site Setting từ menu Admin.
Bước 2: Trên trang Site Settings, di chuyển xuống phần Appearance và tìm phần thiết lập Logo.
Bước 3:
Nếu như chúng ta đã tải tập tin Logo lên, đơn giản là chọn danh mục (vị trí tập tin) có nội dung của logo từ hộp danh sách rơi xuống.
Nếu như cần tải lên một file mới, chúng ta có thể nhấp vào Upload New File và sau đó chọn file nằm ở trên máy Client để tải lên.
Bước 4: Nhấp vào Update ở giữa trang để lưu lại những thay đổi. Logo mới bây giờ sẽ thay thế logo cũ.
2.4.3 Quản lý người dùng
Quản lý người sử dụng website
Ai là Users trên website của chúng ta? Thuật ngữ “User” được áp dụng cho bất kỳ người nào truy cập vào website . Nhưng có hai kiểu cơ bản để chỉ những người vào truy cập website.
Kiểu người đầu tiên là người chỉ nhìn lướt xung quanh và không bao giờ đăng ký hoặc ít nhất là chưa bao giờ nhập vào hệ thống, những người đó gọi là người sử dụng không xác thực. Người sử dụng không xác thực là ẩn danh.
Kiểu người thứ hai là người có đăng nhập vào. Để đăng nhập vào thì họ phải đăng ký từ trước và vì thế họ được đề cập tới như là những người sử dụng có đăng ký. Để nhận ra những người sử dụng có đăng ký đó là họ được biết và đuợc quyền để xem hoặc thay đổi cái gì đó mà người sử dụng khác không thể làm được.
Các bước thực hiện thiết lập quyền cho người sử dụng.
Bước 1: Chọn Site setting từ menu Admin
Bước 2: Trên trang Site settings. Di chuyển xuống phần Advanced settings và tìm phần thiết lập User Registration.
Bước 3: Chọn một trong những hộp Option bằng cách nhấp vào nút thích hợp:
None: mặc định ai cũng có thể nhìn thấy
Private: Dù là người sử dụng có đăng ký cũng không nhìn thấy nội dung nếu người quản trị không cho phép
Public: Những người đã đăng ký tự động được cho phép nhìn thấy nội dung.
Verified: Người sử dụng đã đăng ký sẽ nhận được một email để xác nhận lại việc đã đăng ký.
Bước 4: Nhấp vào Update ở giữa trang để lưu lại những thay đổi. Việc thiết lập bây giờ đã có hiệu lực.
Các bước để quản lý người sử dụng:
Bước 1: Chọn User Accounts từ menu Admin.
Từ trang User Account chúng ta có thể tìm thấy người sử dụng đang dùng bằng cách tra cứu Username hoặc địa chỉ email hoặc có thể tìm danh sách người sử dụng theo alpha. Danh sách này nhanh chóng đưa cho chúng ta thông tin người sử dụng bao gồm cả những người có hoặc không cho phép.
Bước 2: Nhấp vào biểu tượng cây bút chì kế bên Username để mở trang Edit User Account của người sử dụng.
Từ trang này có một số chức năng để thiết lập quyền hạn cho người sử dụng.
Bước 3: Nhấp vào Update ở giữa trang để lưu lại những thay đổi.
2.4.4 Quản lý File
Dotnetnuke 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 đến từng User.
Các bước thực hiện tải tập tin lên với phần File Manager
Bước 1: Chọn File Manager từ menu Admin
Nó sẽ mở ra trang File Manager.
Bước 2: Tạo một Folder để tải tập lên.
Nhấp vào Folder hiện tại là nơi mà chúng ta muốn tạo thư mục mới (thí dụ “Portal Root”). Đưa con trỏ vào mục nhập của Folder mới và nhấp vào nút Add Folder.
Bước 3:
Chọn Folder chúng ta muốn tại tập tin lên và sau đó nhấp vào nút Upload File.
Bước 4:
Nhấp vào nút Browse và chọn tập tin cần tải lên. Sau đó nhấp vào nút Add và lưu lại chúng trong danh sách (chúng ta có thể tải lên nhiều file một lúc). Sau khi đã chọn tất cả các tập tin, nhấp vào Upload New File đề di chuyển tập tin lên website.
2.5 Quản lý Modules
2.5.1 Tổng quan về module
Website được tạo từ 1 hoặc nhiều trang. Trên mỗi trang bao gồm một số module chứa nội dung để hiện thị thông tin cho người truy cập vào xem. Đó chính là vai trò của Modules. Modules có thể đơn giản là một đoạn văn bản hoặc hình ảnh, hoặc có thể phức tạp như để tính phí bảo hiểm hoặc thiết thực là nói chuyện trực tuyến…
Module được đặt ở đâu?
Module được đặt trong các phần cố định được tạo sẵn dựa vào Skin của trang. Với mỗi loại Skin chúng ta có những vùng đặt module khác nhau.
Modules
Module có những dạng nào?
Có nhiều loại module dùng được từ nhiều nguồn khác nhau (cả miễn phí, mua, hoặc do chúng ta tạo ra).
Account Login cho phép người sử dụng đăng nhập vào portal.
Announcements của nhà sản xuất là danh sách của các đoạn văn bản thông báo bao gồm tiêu đề và hướng dẫn ngắn gọn.
Banner cung cấp cho website những quảng cáo lặt vặt. Chúng ta có thể chọn số lượng banner hiển thị cũng như là dạng banner.
Blog weblog cho quyền người truy cập sử dụng blog.
Contacts hiển thị nội dung thông tin cho một nhóm người như là một nhóm đề án.
Discussion danh sách một nhóm thông điệp được gửi lên cho một chủ đề cụ thể.
Document hiển thị danh sách các tài liệu, bao gồm các đường liên kết được duyệt qua hay tải về.
Events hiển thị danh sách các sự kiện được đưa lên, bao gồm thời gian và vị trí.
FAQs cho phép quản lý danh sách các câu hỏi thường xuyên và những câu trả lời.
Feedback cho phép những người truy cập gởi những thông điệp đến quản trị viên của website.
Forum là nơi quản lý thảo luận và đáp lại của các chủ đề.
Gallery hiển thị các album đồ họa và các tập tin đa phương tiện.
IFrame là nét đặc biệt của phần duyệt internet Explorer nó cho phép hiển thị nội dung từ trang web khác trong module do chúng ta tạo ra.
Image hiển thỉ những image chỉ định.
Links hiển thị danh sách của các đường siêu liên kết đến bất cứ trang nào, image hoặc là một file nào trên website của chúng ta, hoặc đến một tập tin, image hoặc là một trang của website khác.
New Feed (RSS) hiển thị những thông tin mới được cung cấp trên trang. Nó cung cấp cho người truy cập cập nhật được những thông tin mới nhất, những thông tin của đề tài trên bất cứ lãnh vực nào của chủ đề.
Text/HTML cho phép thiết kế nội dung của một đoạn văn bản, hoặc thêm html. Bao gồm hình ảnh của tất cả image đã có trên website.
Tài khoản của người sử dụng module cho phép người đăng ký sử dụng thêm, sửa chữa và cập nhật thêm những thông tin chi tiết vào User Account. Các dịch vụ của hội viên sẽ được quản lý tại đây.
User Defined Table cho phép tạo bảng dữ liệu tùy thích cho việc quản lý danh sách các thông tin. Những dữ liệu được sắp xếp theo thứ tự A-Z hoặc Z-A khi click vào tiêu đề từng cột.
XML/XSL hiển thị kết quả của sự chuyển đổi XML/XSL. Các tập tin XML và XSL được nhận dạng bởi đường dẫn UNC trong đặc tính xmlsrc và xslsrc của module.
Ai là người có thể nhìn thấy và thay đổi Module?
Thiết lập sự bảo mật cho Module cũng giống như của trang. Chúng ta có thể thiết lập quyền hạn khác nhau với từng nhóm người sử dụng trong việc xem, sửa, tạo mới nội dung trên những module chỉ định.
Module có sự lựa chọn đặc biệt là “Inherit View permissions from Page”. Những module được thiết lập với tùy chọn này thì người sử dụng được thừa kế quyền theo quyền của trang chứa module.
2.5.2 Thêm module vào trang
Dùng control panel để thêm module vào trang
Cách thêm module vào trang này chỉ đòi hỏi 2 bước.
Bước 1: Chọn Module từ hộp danh sách rơi xuống.
Bước 2: Click vào nút Add trên control Panel.
Module sẽ được thêm vào trang với những thiết lập mặc định (được hiển thị trong control panel). Chúng ta có thể thay đổi các thiết lập khác trong control panel trước khi thêm module lên trang.
Bước 1: Chọn Module từ hộp danh sách rơi xuống.
Bước 2: Đặt con trỏ chuột vào vùng tiêu đề và đánh tên của Module vào. Tên này sẽ xuất hiện trong phần tiêu đề của module container khi module được thêm vào trang.
Bước 3: Chọn Visibility của trang từ hộp danh sách rơi xuống. Ở đây chỉ có 2 sự lựa chọn.
Same As Page có nghĩa là Module được hiển thị ở bất cứ trang nào thì người truy cập cũng có thể thấy trang đó. Nếu trang đó đã được hiển thị rộng rãi thì module đó cũng sẽ hiển thị ngay lập tức.
Nếu chọn Page Editors Only thì module này chỉ được nhìn thấy với người có quyền sửa. Tình trạng hiển thị có thể bị thay đổi trong Module settings khi nó đã sẵn sàng.
Bước 4: Chọn vị trí mà bạn sẽ thêm Module vào.
Bước 5: Chọn nơi muốn chèn module vào (ở trên đầu hay là cuối).
Bước 6: Chọn cách mà nội dung sắp xếp trong module (trái, giữa, phải). Một vài container không cho phép sắp xếp.
Bước 7: Chọn Add New Module (mặc định) hoặc Add Existing Module.
Bước 8: Click vào nút Add trên Control Panel.
2.5.3 Di chuyển module
Chúng ta có thể di chuyển module từ vị trí này sang vị trí khác ở trên trang, có thể sẽ thay đổi thứ tự giữa các module trên cùng vùng, hoặc di chuyển module từ trang này sang trang khác.
Có 2 cách khác nhau để di chuyển module: Module Actions Menu hoặc Drag&Drop.
Các bước thực hiện việc di chuyển module trong Module Actions Menu:
Hầu như trong bất cứ module Container nào cũng sẵn có Module Actions Menu. Chúng ta có thể sử dụng chức năng này để thay đổi vị trí của hai module Text/HTML trên trang.
Bước 1: Đưa con chuột vào Module Action Menu và cuộn xuống mục menu Move. Lệnh “Move to” luôn luôn hiện diện và có thể khác với skin khác.
Bước 2: Chọn mục Menu để nhận biết nơi muốn di chuyển Module đến đó.
Các bước để thực hiện việc di chuyển bằng Drag& Drop:
Hầu như trong bất cứ module nào cũng sẵn có Drag&Drop nơi mà tiêu đề được hiển thị. Chúng ta sử dụng Drag&Drop để thay đổi vị trí của 2 module Text/HTML trên trang.
Bước 1: Nhấp chuột trái và giữ chuột ở dưới Title của module. Chúng ta sẽ thấy module được lộ ra xung quanh nó có đường viền ngoài. Đường viền ngoài chỉ rằng module sẵn sàng được di chuyển sang vị trí mới.
Bước 2: Giữ nút chuột trái, di chuyển Module sang ô cửa khác.
Bước 3: Bỏ chuột ra khi ô cửa sáng lên. Ô cửa sẽ refresh lại và Module sẽ ở vị trí mới.
Các bước để thực hiện việc di chuyển sang trang khác:
Di chuyển Module từ trang này sang trang khác thì phải làm trong trang Module Settings.
Bước 1: Trỏ con chuột vào Module Actions Menu và di chuyển vào mục thiết lập. Chọn Module Settings
Bước 2: Trên trang Module Settings, di chuyển xuống phần Advanced Settings.
Bước 3: Chọn trang từ hộp danh sách rơi xuống của Move to page để di chuyển Module.
Bước 4: Click vào update ở giữa trang Module Settings để di chuyển module sang trang mới (và để lưu lại các thay đổi này).
2.5.4 Xóa Module
Khi một Module không cần thiết nữa chúng ta có thể xóa chúng.
Các bước thực hiện trong Module Actions Menu:
Bước 1: Trỏ con chuột xuống Module Actions Menu và di chuyển xuống mục Delete và click chuột trái.
Bước 2: Click vào OK để xác nhận sự xóa module.
Các bước thực hiện trong module setting page:
Bạn có thể xóa Module trong trang Module Settings.
Bước 1: Trỏ con chuột xuống Module Actions Menu và di chuyển xuống mục thiết lập. Chọn Module Settings rồi click vào đó.
Bước 2: Di chuyển vào giữa trang Module Settings và nhấp vào nút Delete.
Bước 3: Click vào OK để xác định là xóa module.
2.5.5 Phục hồi module bị xóa
Thùng rác là nơi mà các Module (và Trang) sẽ nằm ở đó khi bị xóa. Chúng ta có thể phục hồi từ thùng rác cho đến khi thùng rác trống. Phục hồi lại các module bị xóa cũng tương tự như phục hồi trang bị xóa.
Di chuyển chuột xuống menu Admin và chọn Recycle Bin.
Các bước phục hồi module:
Bước 1: Chọn Module muốn Restore. Nội dung của danh sách đó là tất cả những module đã bị xóa từ lúc trước.
Bước 2: Chọn Page từ hộp danh sách rơi xuống nơi mà chúng ta muốn Module sẽ được hoàn lại. Module thêm vào sẽ được chỉ định vào nội dung của ô cửa mặc định.
Bước 3: Click vào nút Restore. Module sẽ được di chuyển khỏi danh sách các module của thừng rác (và nó sẽ ở tại nơi mà Trang đã chị định).
Các bước xóa trang (vĩnh viễn):
Bước 1: Chọn Module mà muốn xóa đi vĩnh viễn. Nội dung của danh sách là những module mà đã xóa từ lúc trước.
Bước 2: Click vào nút Delete trên phần Module.
Bước 3: Click vào OK để xác định xóa. Module sẽ di chuyển khỏi danh sách các module của thùng rác và bị xóa đi vĩnh viễn.
Các bước để làm trống thùng rác:
Nếu thùng rác chứa quá nhiều rác, chúng ta có thể xóa toàn bộ những gì đang chứa, nghĩa là tất cả Trang và Module ở trong đó sẽ bị xóa vĩnh viễn.
Bước 1: Click vào Empty Recycle Bin nằm ở giữa trang.
Bước 2: Click vào OK để xác định là xóa hết tất cá các Trang và Module trong thùng rác. Chúng sẽ được di chuyển từ danh sách các trang và module trong thùng rác và bị xóa đi vĩnh viễn.
Sau đó thùng rác sẽ xuất hiện trống rỗng.
2.5.6 Phân quyền cho module
Người quản trị có thể thiết lập quyền hạn cho từng module với những nhóm người truy cập khác nhau.
Trang này danh cho những người truy cập ẩn danh:
Và nó sẽ như thế này sau khi họ đăng nhập vào… Đó là do việc thực hiện Module Permission.
Các bước thực hiện việc thiết lập Module Permissions
Bước 1: Click biểu tượng thiết lập Module hoặc chọn thiết lập từ menu Module Action.
Mặc định ô được Check vào thể hiện người sử dụng Unauthenticated thấy module.
Bước 2: Bỏ chọn mục “Unauthenticated”, chọn quyền hạn cho từng nhóm người tồn tại trong thệ thống.
Click vào Update ở giữa trang để lưu lại những thay đổi của bạn.
Thông tin thêm:
Có bốn cách khác nhau để đưa ra đánh giá về Module trên website. Ai là người có thể thấy, hoặc thay đổi nội dung của module?
(1)Administrators: chỉ có người sử dụng này mới có toàn quyền quản lý, thực hiện bất kỳ thay đổi nào lên module. Khi mà một Module chỉ hiển thị cho quản trị viên của website thấy, nó sẽ có viền đỏ để báo hiệu.
(2)Unauthenticated Users: tất cả những người truy cập đều có thể thấy module. “Không xác thực” có nghĩa là những người sử dụng này không đăng nhập và có thể họ cũng không đăng ký như là người sử dụng của website. Bạn muốn bất kỳ ai cũng có thể thấy được nội dung của module.
(3) Registered Users: người sử dụng này đã điền vào mẫu đăng ký trên website và bây giờ họ sử dụng tên và password để đăng nhập vào hệ thống.
(4) Nhóm người sử dụng tùy thích: đó là những người đăng ký sử dụng và được đặt trong một nhóm đặc biệt.
2.6 Một số module thường dung
2.6.1 Text/Html
Module Text/Html cung cấp một trình soạn thảo WYSIWYG để tạo ra một nội dung của chính bạn bằng HTML hoặc là một văn bản thuần túy. Giao diện module tương tự như một trình biên tập document phổ biến và rất dễ làm.
Thêm module Text/HTML vào trang.
Các bước để soạn thảo văn bản(đơn giản)
Module ban đầu được tạo ra không có nội dung. Nó chỉ hiển thị một Container trống, với Title và Action Buttons.
Bước 1: Nhấp vào nút Edit Text (hoặc chọn Edit text từ Module Actions Menu).
Trên trang Edit Text/HTML được hiện thị. Nó cung cấp cho chúng ta giao diện với những chức năng sử lý nhất. (WYSIWYG = “ What you see is what you get”).
2.6.2 Announcements (thông báo)
Module thông báo đưa ra một danh sách các đoạn thông báo đơn giản bao gồm tiêu đề và những hướng dẫn ngắn gọn. Nó rất thuận tiện để những người truy cập website nhận biết được các mục quan tâm khi có liên kết những thông tin thêm vào.
Các bước để thêm thông báo mới:
Module lúc ban đầu không có nội dung gì. Nó chỉ hiển thị một Container trống, với Title và Action Buttons.
Bước 1: Nhấp vào Add New Announcement (hoặc chọn Add New Announcement từ Module Actions Menu).
Trên trang Edit Announcements điền vào trình văn bản WYSIWYG như lúc sử dụng module Text/HTML.
Bước 2: Đặt con trỏ chuột vào vùng Title và nhập vào đó một câu lệnh ngắn gọn để tóm tắt thông báo.
Bước 3: Đặt con trỏ chuột vào phần mô tả và dùng những tính năng của trình văn bản WYSIWYG để tạo ra phần nội dung cho thông báo.
Bước 4: Chọn dạng liên kết cho thông báo và hoàn thành những thông tin thích hợp. Chúng ta có thể chỉ rõ đường liên kết đến website khác, trang của website hoặc đến một tập tin trên website (như là hinh ảnh hoặc tài liệu PDF).
Bước 5: Chọn đường liên kết từ những hộp tùy chọn có sẵn.
Nếu như chọn Tracking, chúng ta sẽ có thể kiểm tra đường liên kết này được click vào bao nhiều lần. Nếu chọn Logging, hệ thống sẽ tự động lưu lại thông tin của những ai đã click vào đuờng liên kết này (Nếu người sử dụng đăng nhập vào hệ thống). Và nếu chọn New Window, đường link sẽ hiển thị trên trình duyệt mới.
Bước 6: Chỉ rõ ngày mà thông báo ngừng không hiển thị nữa, sử dụng Calendar để chọn ngày.
Bước 7: Bao gồm View Order để sắp xếp lại thông báo.
Bước 8: Chọn Update để lưu lại những thay đổi.
2.6.3 Link (liên kết)
Module liên kết hiển thị danh sách của những đường siêu liên kết đến được bất cứ trang nào, hình ảnh hoặc tập tin trên website; hoặc là một tập tin, hình ảnh hoặc một trang nào đó ở website khác.
Thêm một module liên kết mới vào trang.
Các bước để thêm một đường liên kết mới:
Module được tạo ra lúc ban đầu không có nội dung. Chỉ hiển thị một Container trống với Title và Action Buttons.
Bước 1: Nhấp vào Add Link (hoặc chọn Add Link từ Module Actions Menu).
Bước 2: Đặt con trỏ chuột vào vùng Title và nhập vào đó một nhóm từ ngắn cho đoạn văn bản liên kết.
Bước 3: Chọn Link Type cho đường liên kết, hoàn thành những thông tin thích hợp.
Bước 4: Chọn từ những lựa chọn sẳn có cho đường liên kết.
Nếu chọn Tracking, chúng ta sẽ kiểm tra được đường liên kết đó được click vào bao nhiêu lần. Nếu Logging hệ thống sẽ lưu lại những ai đã click vào đường liên kết đó (nếu như người truy cập có đăng nhập vào). Và nếu chọn New Window, đường link sẽ được mở trên một cửa sổ trình duyệt mới.
Bước 5: Chỉ rõ phần mô tả cho đường liên kêt.
Bước 6: Bao gồm cả phần View Order cho phần sắp xếp các đường liên kết của bạn. Theo mặc định, chúng sẽ được sắp xếp như lúc được tạo ra.
Bước 7: Chọn “Update” để lưu lại những thay đổi.
Các bước để hiển thị hộp lựa chọn:
Module liên kết có một vài Display Option mà chúng ta có thể thay đổi cách hiển thị.
Bước 1: Nhấp vào nút Settings (hoặc chọn Settings từ Module Action Menu).
Or
Bước 2: Trên trang Module Settings, di chuyển xuống Links Settings và nhấp vào nút để mở rộng đoạn đó ra. Nó sẽ cho chúng ta những hộp lựa chọn sẵn có của module liên kết.
Bước 3: Chọn Dropdown như là Control Type và sau đó nhấp vào Update ở giữa trang. Đây là thay đổi kiểu đường liên kết bằng lựa chọn từ hộp rơi xuống và nút go (như minh họa bên dưới).
Bước 4: Chọn Horizontal như là List Display Format và sau đó nhấp vào Update ở giữa trang. Đây là sự thay đổi đường liên kết để cho nó hiển thị ngang (như minh họa bên dưới).
Bước 5: Chọn Yes cho phần Display Info Link và sau đó nhấp vào Update ở giữa trang. Đây là sự thay đổi cách hiển thị của phần mô tả. Phần mô tả bình thường hiển thị như là một “chú giải công cụ”. Một chú giải công cụ được hiển thi khi con chuột trỏ vào đường liên kết.
[Display Link Info = No]
Sự mô tả được hiển thị như là một sự lựa chọn với nhiều đường liên kết… là cái mà (khi nhấp vào) thì nó hiển thị sự mô tả ở trên trang.
[Display Link Info = Yes]
2.6.4 Module Documents (tài liệu)
Module tài liệu hiển thị ra một danh sách các tài liệu, bao gồm cả đường liên kết để người truy cập website duyệt hoặc tải chúng về.
Thêm một module tài liệu mới vào trang.
Các bước để thêm module tài liệu:
Bước 1: Nhấp vào Add New Documet (hoặc chọn Add New Document từ Module Actions Menu).
Trên trang Edit Document có hai vùng mà chúng ta cần phải điền vào như là phần kiểm soát Link Type và hộp lựa chọn.
Bước 2: Đặt con trỏ chuột vào vùng Title và nhập vào đó một ngữ ngắn để làm tên tài liệu. Ngữ này sẽ được nhìn thấy bởi người truy cập website và là mô tả nội dung của tập tin.
Bước 3: Chọn Link Type cho tài liệu và hoàn thành những thông tin thích hợp. File Link Type là mặc định và chúng ta có thể chọn tập tin từ danh sách các thư mục ở trong hộp rơi xuống của File Location, có thể chỉ định tài liệu nằm ở chỗ khác bằng cách chọn URL Link Type và chỉ rõ địa chỉ internet của tập tin.
Bước 4: Chọn từ những lựa chọn sẵn có cho đuờng liên kết.
Nếu chọn Tracking, chúng ta sẽ kiểm tra được đường liên kết đó được click vào bao nhiêu lần. Nếu chọn Logging hệ thống sẽ tự động lưu lại thông tin của người click vào đuờng liên kết đo (nếu như người truy cập có đăng nhập vào). Và nếu chọn New Window, đường link sẽ được mởi trong một cửa sổ trình duyệt mới.
Bước 5: Chỉ định Category cho tài liệu. Phạm trù này đơn giản là cung cấp chủ đề cho các tài liệu hoặc mục đích tương tự nhau.
Bước 6: Chọn “Update” để lưu lại những thay đổi.
Các bước để hiệu chỉnh tài liệu:
Hiệu chỉnh lại các thuộc tính của tài liệu hiện tại được làm như là thêm một tài liệu mới. Chỉ có khác biệt là ở chỗ làm sao chúng ta đến được những thuộc tính đó. Mỗi tài liệu là một danh sách các mục với nút Edit (cây bút chì) ở kế bên.
Bước 1: Nhấp vào nút Edit bên cạnh tài liệu để thay đổi chúng.
Bước 2: Thay đổi các lệnh thiết lập và nhấp vào Update ở giữa trang để lưu lại những thay đổi.
Chúng ta nên quan tâm tới một vài thông tin mà nó nằm ngay giữa trang Edit Document.
URL: cho biết phần URL mở rộng để đến thẳng tài liệu.
Tracking URL: đây là sự khác biệt trong chúng vì số lượng nhấp vào để tăng lên trước khi đến tài liệu (nếu chọn chức năng “track”).
Clicks: số lần tài liệu được tài về.
Last Click: Ngày và thời gian của lần tải cuối cùng của tài liệu.
2.6.5 Events (sự kiện)
Module sự kiện hiển thị danh sách những sự kiện sắp tới, bao gồm ngày, thời gian và sự mô tả. Sự kiện có thể được thiết lập hoàn trả trong lịch biểu hoặc danh sách định dạng.
Thêm module sự kiện mới vào trang.
Các bước để thêm sựkiện mới:
Bước 1: Nhấp vào Add New Event nằm ở giữa trang (hoặc chọn Add New vent từ Module Actions Menu).
Bước 2: Đặt con trỏ chuột vào vùng Title và nhập vào đó một ngữ ngắn cho đoạn văn bản sự kiện. Nó có giá trị là sẽ hiển thị lên lịch biểu (hoặc trong list view).
Bước 3: Đặt con trỏchuột vào rich text editor và nhập vào đó mô tả cho sự kiện. Đoạn mô tả này sẽđược hiển thị ở phía dưới tiêu đề.
Bước 4: Chọn Image dùng trong lịch biểu (hoặc tải lên một sự kiện mới). Nếu chúng ta muốn dùng hình ảnh, thì bảo đảm rằng nó thích ứng với kích cỡ của event… hình ảnh sẽ được hiển thị bên trong hộp ngày (trên lịch biểu) hoặc bên cạnh lối vào đó (trong list view).
Bước 5: Chọn “Update” để lưu lại những thay đổi.
3 Kiến trúc Module của Dotnetnuke
3.1 Định nghĩa
Module là gì?
Modules cung cấp cho người phát triển khả năng mở rộng thêm chức năng của DotNetNuke. DotNetNuke cung cấp nền tảng có thể lắp thêm và được mở rộng bởi phát triển modules. Modules có thể được phát triển bằng bất cứ ngôn ngữ .NET nào, thậm chí DNN được phát triển bằng VB.NET, người phát triển C# vẫn tạo module và lắp vào lõi nền của DNN. Nền tảng có thể lắp thêm này được hoàn chỉnh bởi việc tạo ra module riêng đã biên dịch, chúng thực hiện và sử dụng những giao diện cụ thể đối với DNN. Một khi module đã được biên dịch thì chỉ cần tạo giao diện người sử dụng (UI) dưới dạng tệp ascx mà cho phép người sử dụng tương tác với module đó.
Hộp chứa của Module (Module Containers)
Module containers cung cấp nhiều tính năng cho người phát triển. Ngoài việc cho phép giao tiếp với nền tảng lõi DNN, module containers còn cung cấp:
Cơ chế bảo mật: Chúng ta có thể định nghĩa quyền xem và sửa cho các module. DNN sẽ quản lý việc kiểm tra bảo mật của module. Chúng ta không cần phải viết riêng cơ chế bảo mật của mình mà dùng sự bảo mật dựa trên vai trò được cung cấp bởi nền tảng của DNN.
Xem và cảm nhận: Module container có thể được tùy biến với nhiều cách xem khác nhau, hơn nữa module container còn cung cấp khả năng đặt module trong trang của DNN. Nó còn cho phép người sử dụng tùy biến hiển thị của module, ví dụ như chế độ phóng to và thu nhỏ.
Lưu giấu: Là một cơ chế tăng tốc, chúng ta có thể định nghĩa việc lưu giấu ở mức container. Điều này cho phép các modules không cần phải cập nhật cho mỗi yêu cầu để có được nội dung được ẩn, do đó đem lại sự cải thiện tốc độ.
Kiến trúc nền tảng của Dotnetnuke
Các module của Dotnetnuke được phát triển dựa trên mô hình 3 lớp
Tầng giao diện (Presentation Layer): là những gì chúng ta nhìn thấy, tác động vào trên bề mặt của trang Web, hay đó là sự giao tiếp giữa người sử dụng và trang web. Được xây dựng từ các User Controls (.ascx).
Tầng logic nghiệp vụ (Business Logic Layer - BLL): là tầng cung cấp/sử lý dữ liệu cho giao diện người sử dụng (tầng giao diện). Đây là nơi mà chúng ta xây dựng các đoạn mã xử lý các hàm, các yêu cầu nghiệp vụ.
Tầng truy cập dữ liệu (Data Access Layer - DAL): là tầng tương tác trực tiếp đến cơ sở dữ liệu, thực hiện một mục đích cụ thể lên dữ liệu mà tầng BLL đưa ra như xử lý các hàm, các yêu cầu liên quan đến việc trích dẫn, cập nhật và xóa nội dung trong cơ sở dữ liệu.
Những module được Dotnetnuke cung cấp cũng như của bản thân chúng ta xây dựng đều phải dựa vào kiến trúc 3 tầng này, vì đây là kiến trúc nền tảng mà Dotnetnuke đã đưa ra.
Mô hình đối tượng của Dotnetnuke
3.2 Xây dựng module
Bây giờ chúng ta sẽ xây dựng một module có chức năng hiển thị thông tin lấy từ cơ sở dữ liệu như sau:
3.2.1 Cơ sở dữ liệu và thiết lập ban đầu
Vào Sql Server tạo một bảng có cấu trúc như sau:
Name: dnn_MyNews_Categories
Tạo Store Procedure: MyNews_GetCategories
Vào Visual Studio 2008 tạo module
Visual Studio 2008 sẽ tự động tạo module với cấu trúc thư mục của Dotnetnuke:
Đổi tên 2 thư mục ModuleName trong App_Code, DesktopModules thành Menu Left.
Trong App_Code chúng ta có:
MenuLeftInfo.vb (Info Object)
MenuLeftController.vb (Controller Object)
DataProvider.vb (DataProvider Object)
SqlDataProvider.vb (SqlDataProvider Object)
Trong DesktopModules chứa phần giao diện:
ViewMenuLeft.ascx: đây là phần giao diện của Module
EditMenuLeft.ascx: giao diện sửa chữa của Module
Settings.ascx: phần thiết lập ban đầu của Module
3.2.2 Tầng logic nghiệp vụ (Business Logic Layer - BLL)
DataProvider.vb là lớp mà tầng giao diện sử dụng để lấy dữ liệu từ database.
Module mà chúng ta đang xây dựng chỉ với mục đích lấy dữ liệu từ database, thêm vào đoạn mã sau:
Public MustOverride Function MyModule_MyNews_GetCategries() As _ IDataReader
Chú ý từ khóa “MustOverride”, vì DataProvider là lớp ảo, nó chỉ cung cấp giao diện cho tầng giao diện sử dụng nên tất cả các phưong thức mà nó có đều phải được nạp chồng trong lớp SqlDataProvider ở tầng DAL (tầng truy cập cơ sở dữ liệu thực sự).
MenuLeftController.vb: thêm đoạn mã sau
MenuLeftInfo.vb: bạn thêm đoạn mã sau
3.2.3 Tầng truy cập dữ liệu (Data Access Layer - DAL)
SqlDataProvider.vb là lớp tương tác trực tiếp với cơ sở dữ liệu của chúng ta.
Module mà chúng ta đang xây dựng chỉ với mục đích lấy dữ liệu từ database, thêm đoạn mã vào sau “public Methods”:
Public Overrides Function MyModule_MyNews_GetCategries() As _ System.Data.IDataReader
Return CType(SqlHelper.ExecuteReader(ConnectionString, _ "MyNews_GetCategories"), IDataReader)
End Function
Đây là hàm thực hiện Store Procedure: MyNews_GetCategories trong cơ sở dữ liệu mà chúng ta đã tạo từ trước. Hàm trả về là một tập hợp các bản ghi có trong bảng dnn_MyNews_Categories.
Từ khóa “Overrides” thể hiện đây là phương thức nạp chồng cho phương thức đã được khai báo trong DataProvider nằm trên tầng logic nghiệp vụ (BLL).
3.2.4 Tầng giao diện (Presentation Layer)
Mở file MenuLeftView.ascx trong DesktopModules thêm vào đoạn mã:
<a href='<%#NavigateURL(TabId, "",
"CategoryID=" & DataBinder.Eval(Container.DataItem, "CategoryID"),"Page=1").ToString() %>'
class="navbar" >
Mở file MenuLeftView.ascx.vb trong DesktopModules, tìm hàm Page_Load và thêm vào đoạn mã:
Try
Dim objCategoriesController As New MenuLeftController
Dim myListCategoriesInfo As List(Of MenuLeftInfo)
myListCategoriesInfo = objCategoriesController.MyModule_MyNews_GetCoffeeShops()
dlCatagoryList.DataSource = myListCategoriesInfo
dlCatagoryList.DataBind()
Catch exc As Exception 'Module failed to load
ProcessModuleLoadException(Me, exc)
End Try
3.2.5 Khai báo module với Dotnetnuke
Sau khi biên dịch chương trình, nếu không xảy ra lỗi, hãy vào địa chỉ trang web của mình với tài khoản Host.
Đăng ký sự tồn tại của module vừa tạo ra với Dotnetnuke,
Chọn
Điền thông tin của module
Sau đấy chọn Create ở dưới màn hình
Điền vào “New Definition”, chọn “Add Definition”
Trên giao diện chúng ta sẽ thấy
Chọn “Add Control”, hãy điền nội dung của Module, rồi chọn Update
Module đã được thêm vào, chúng ta sẽ thấy :
Bây giờ module MenuLeft có thể thêm vào bất cứ đâu mà chúng ta muốn:
4. Ứng dụng xây dựng Tòa soạn báo điện tử
4.1 Cách nhìn nhận về Tòa soạn báo điện tử
Ngày nay, trong sự phát triển mạnh mẽ của khoa học kỹ thuật, nhu cầu cập nhật thông tin của con người cũng ngày càng nâng cao. Có thông tin thì con người mới có thể tiếp cận, nắm bắt và hiểu biết được sự thay đổi của thế giới xung quanh. Nhưng việc cung cấp thông tin như thế nào và cung cấp ra làm sao mới là vấn đề cần đặt ra cho những người làm công nghệ thông tin như chúng ta.
Vậy “Báo điện tử là gì ?”. Đó là một trang web được thiết kế và ứng dụng trên nền Internet. Trong đó, việc xử lý thông tin được thực hiện tại máy chủ và trả về cho độc giả kết quả xử lý thông qua trình duyệt Web như Internet Explorer, FireFox. Việc này rất tiện lợi vì độc giả có thể truy cập được tin tức ở bất kỳ đâu không phụ thuộc vào môi trường làm việc miễn là máy tính của họ có kết nối Internet và cài đặt trình duyệt web.
Được xem là sự hội tụ của cả 3 loại hình báo chí đi trước là báo nói, báo in và báo hình, báo điện tử đã thu hút được một lượng độc giả nhanh chóng đáng kể ngay từ khi mới ra đời. Nó chia sẻ số lượng độc giả với các loại hình báo chí khác… Cùng với sự phát triển của Internet và máy tính, loại hình báo chí này đã, đang và sẽ trở thành loại báo được nhiều người đọc nhất.
4.2 Mục tiêu đề tài
4.2.1 Tìm hiểu Bộ portal mã nguồn mở DotNetNuke
Tìm hiểu kiến trúc DotNetNuke. Trong đó, tập trung vào các phần sau :
a. Kiến trúc 3 lớp – Việc tìm hiểu kiến trúc này giúp khai thác những thế
mạnh có sẵn của DotNetNuke làm nền tảng cho sự phát triển sau này của
ứng dụng.
b. Tính đóng gói – Tính đóng gói cho phép mở rộng ứng dụng theo nhiều
hướng khác nhau một cách dễ dàng.
c. Kiến trúc đa cổng (multi portal) – Đây chính là kiến trúc quan trọng cho
việc triển khai ứng dụng trên phạm vi rộng.
- Tìm hiểu cách sử dụng các module mà DotNetNuke hỗ trợ, xây dựng nhiều
module mới phục vụ yêu cầu của nhiều đơn vị.
- Đánh giá ưu điểm và tiềm năng phát triển lâu dài của DotNetNuke
4.2.2 Xây dựng tòa soạn báo điện tử
- Xây dựng một tòa soạn báo điện tử có những tính năng sau :
a. Vận hành một dây chuyền sản xuất tin bài gồm các khâu : viết bài, kiểm
duyệt bài và đăng bài.
b. Đưa lên trang chính thức các bài viết đã qua kiểm duyệt, cung cấp một
lượng tin được cập nhất thường xuyên cho độc giả sử dụng mạng Internet
(hoặc mạng nội bộ).
c. Có khả năng biến đổi dễ dàng, đáp ứng đuợc yêu cầu của nhiều loại hình
đơn vị (không chỉ gói gọn trong các đơn vị hoạt động về báo chí).
- Xây dựng công cụ hỗ trợ cho việc thu thập tin tức từ các trang báo điện tử khác nhằm làm phong phú thêm lượng tin bài của tòa soạn. (Tương lai)
4.3 Xây dựng hệ thống
4.3.1 Các chức năng chính của hệ thống
a. Đăng nhập hệ thống
Phóng viên
Biên tập viên
b. Sản xuất nội dung
Phóng viên
Soạn nộp tin bài
Hiển thị danh sách tin bài cá nhân
Biên tập viên
Hiển thị danh sách tin bài cá nhân
Soạn nộp tin bài cá nhân
Chủ đề tin bài
Xuất bản tin bài
Danh sách tin bài đã xuất bản
Danh sách tin bài đã hủy xuất bản
Danh sách tin bài không dùng
Quy trình đưa bản tin lên Web
4.3.2 Xây dựng cơ sở dữ liệu
Hệ thống được xây dựng dựa trên bộ khung có sẵn của Dotnetnuke vì thế quá trình thiết kế database cũng được giảm thiểu rất nhiều. Những người phát triển ứng dụng Web trên nền tảng Dotnetnuke sẽ không mất nhiều thời gian vào việc thiết kế DataBase mà chỉ phải xây dựng thêm bảng dữ liệu phục vụ cho những module của mình.
Thành phần cơ sở của Dotnetnuke
Nội dung tin bài của hệ thống
Bảng “Chủ đề” tin (dnn_MyNews_Categories)
Ý nghĩa bảng:
Tòa soạn báo có nhiều kênh thông tin (chủ đề) như: văn hóa, xã hội, pháp luật,…
Bảng mô tả các thuộc tính
STT
Thuộc tính
Kiểu dữ liệu
Null
Diễn giải
1
CategoryID
Int
0
ID của chủ đề, tự động tăng
2
CategoryName
Nvarchar
0
Tên của chủ đề
3
CategoryNoiDung
Nvarchar
1
Nội dung của chủ đề
4
UserIDCreated
Int
0
ID của người tạo ra chủ đề
5
NgayTao
DateTime
0
Ngày tạo chủ đề
6
NgayCapNhat
DateTime
1
Ngày sửa chữa nội dung
Bảng “Tin bài” (dnn_MyNews_News)
Ý nghĩa bảng:
Chứa nội dung những tin bài tồn tại trong hệ thống
Bảng mô tả các thuộc tính
STT
Thuộc tính
Kiểu dữ liệu
Null
Diễn giải
1
NewID
Int
0
ID của từng tin bài, tự động tăng
2
CategoryID
Int
0
ID chủ đề của tin bài
3
TieuDe
Nvarchar
0
Tiêu đề của tin bài
4
TomTat
Nvarchar
0
Tóm tắt của tin bài
5
NoiDung
Ntext
0
Nội dung của tin bài
6
Anh
Nvarchar
1
Đường dẫn ảnh đại diện của tin bài
7
TinDB
Bit
1
=1: thể hiện đây là tin bài đặc biệt
=0: tin bài bình thường
8
TinMoi
Bit
1
=1: thể hiện đây là tin bài mới nhất
=0: tin bài bình thường
9
Diem
Int
1
Điểm của tin bài, nằm trong khoảng [0,100]
10
SLTruyCap
Int
1
Số lần tin bài xem
11
UserIDCreated
Int
0
ID của người tạo tin bài
12
NgayTao
Datetime
0
Ngày phóng viên tạo tin bài
13
UserIDModify
Int
1
ID của người sửa tin bài
14
NgayCapNhat
Datetime
1
Ngày sửa tin bài
15
NopBai
Bit
0
=0: tin bài chưa nộp
=1: tin bài đã được nộp
16
ThamDinh
Bit
0
=0: tin bài chưa được thẩm định (chưa được xuất bản lên Web)
=1: tin bài đã được thẩm định (đã xuất bản lên Web)
17
KhongDung
Bit
1
=0: tin bài được sử dụng
=1: tin bài không được sử dụng
18
LyDoKhongDung
Nvarchar
1
Lý do không dùng tin bài
19
HuyXuatBan
Bit
1
=0: tin bài được sử dụng
=1: tin bài bị hủy xuất bản
Bảng “Ý kiến” (dnn_MyNews_YKien)
Ý nghĩa bảng:
Chứa ý kiến của độc giả về nội dung tin bài đã xuất bản
Bảng mô tả các thuộc tính
STT
Thuộc tính
Kiểu dữ liệu
Null
Diễn giải
1
YKienID
Int
0
ID ý kiến của độc giả, tự động tăng
2
Email
Nvarchar
0
Địa chỉ Email của độc giả
3
IPClient
Narchar
0
Địa chỉ IP của độc giả khi gửi ý kiến
4
NoiDung
Ntext
0
Nội dung ý kiến về tin bài
5
NewID
Int
0
ID tin bài được gửi ý kiến
6
NgayGui
DateTime
0
Ngày độc giả gửi ý kiến
4.3.3 Xây dựng module và gắn vào Dotnetnuke
Trong quá trình tìm hiểu phần cơ sở của Dotnetnuke và thiết kế hệ thống, chúng tôi đã xây dựng những module phục vụ việc trình diễn, sản xuất, thẩm định nội dung tin bài thông qua môi trường Web.
Module “Chủ đề”: danh sách chủ đề tin bài của hệ thống.
Database: lấy dữ liệu trong bảng [dnn_MyNews_Categories]
Trường [CategoryName]: thể hiện tên các chủ đề người dùng nhìn thấy.
Trường [CategoryID]: số định danh của chủ đề.
Chức năng: Khi người dùng chọn một chủ đề tin bất kỳ, cặp giá trị CategoryID=value tương ứng được đưa lên URL để các module khác sử dụng.
Thành phần trên giao diện
Giao diện
Hoạt động
Control: DataList
Mỗi thành phần (item) của DataList là một Hyperlink, với Text là tên của chủ đề.
Mỗi khi một chủ đề được chọn, URL được thay đổi:
Dựa vào cặp giá trị CategoryID=value, mà module thể hiện danh sách tin bài theo chủ đề biết được cần load chủ đề nào .
Module “Tin tức” thể hiện
danh sách tin bài mới nhất của tất cả các chủ đề tin
danh sách tin của từng chủ đề tin
nội dung cụ thể của tin bài
Database: lấy dữ liệu trong bảng [dnn_MyNews_News]
Trường [NewID]: số định danh của một tin bài cụ thể
Trường [CategoryID]: số định danh của chủ đề tin bài
Trường [TieuDe]: tiêu đề của tin bài
Trường [TomTat]: tóm tắt của tin bài
Trường [NoiDung]: nội dung của tin bài
Trường [Anh]: chuỗi địa chỉ của ảnh đại diện của tin bài
Chức năng:
dựa vào cặp giá trị CategoryID=value có trên chuỗi URL, module load những tin bài mới nhất nằm trong chủ đề.
nếu không có cặp giá trị CategoryID=value, load toàn bộ tin bài mới nhất của tất cả các chủ đề.
khi phần một tin bài được chọn để xem nội dung, cặp giá trị NewID=value được hiện thị trên chuỗi URL, dựa vào cặp giá trị này nội dung tin bài sẽ được hiện thị.
Thành phần trên giao diện
Giao diện
Hoạt động
Control: DataList có cấu trúc
Chủ đề của tin (1)
Tiêu đề tin (2)
Ảnh đại diện nếu có
(3)
Tiêu đề tóm tắt (4)
. Tin 1 (5)
. Tin 2 (6)
. Tin 3 (7)
Mỗi thành phần (item) của DataList là một bảng có cấu trúc như trên.
(1): control Hyperlink thể hiện chủ đề của bản tin, khi được chọn, hệ thống sẽ hiển thị danh sách tin bài của chủ đề này.
(2): control Hyperlink thể hiện tiêu đề của bản tin, khi được chọn hệ thống sẽ hiện thị nội dung chi tiết của tin bài.
(3): control Image thể hiện ảnh đại diện tin bài.
(4): phần nội dung tóm tắt của tin bài.
(5),(6),(7): 3 control Hyperlink thể hiện 3 tin bài tiếp theo của chủ đề.
Mỗi khi (2), (3), (5), (6), (7) được chọn, chuỗi URL được thay đổi:
Dựa vào cặp tham số NewID=value, hệ thống load nội dung tin bài được yêu cầu.
Nội dung chi tiết của tin bài
Tiêu đề tin (1)
Ảnh đại diện nếu có
(2)
Tiêu đề tóm tắt (3)
Nội dung tin bài (4)
(1): nội dung tiêu đề tin
(2): control Image thể hiện ảnh đại diện của tin
(3): tiêu đề tóm tắt của bản tin
(4): nội dung của tin bài
Module “Sự kiện đặc biệt”: danh sách những tin bài đặc biệt
Database: lấy dữ liệu trong bảng [dnn_MyNews_News]
Trường [NewID]: số định danh của một tin bài cụ thể
Trường [TieuDe]: tiêu đề của tin bài
Trường [TinDB]: những tin có trường TinDB =1 mới được load trong module này.
Chức năng: trong quá trình thẩm định, những tin bài được biên tập viên đánh dấu là tin đặc biệt, hệ thống sẽ cập nhật vào database trương TinDB=1, để phân biệt với các tin bài bình thường (TinDB=0).
Thành phần trên giao diện
Giao diện
Hoạt động
Control: DataList
Mỗi thành phần (item) của DataList là một Hyperlink, với Text là tiêu đề một bản tin.
Mỗi khi một tin bài được chọn, URL được thay đổi:
Dựa vào cặp tham số NewID=value, hệ thống load nội dung tin bài được yêu cầu.
Module “Tin đọc nhiều nhất”: danh sách những tin được truy cập nhiều nhất.
Database: lấy dữ liệu trong bảng [dnn_MyNews_News]
Trường [NewID]: số định danh của một tin bài cụ thể
Trường [TieuDe]: tiêu đề của tin bài
Trường [SLTruyCap]: số lần truy cập của tin bài
Chức năng: khi nội dung của một tin bài được hiển thị, hệ thống tự động tăng trường SLTruyCap lên 1. Module này sẽ tìm duyệt, lấy ra những tin có số lần truy cập nhiều nhất để hiện thị.
Thành phần trên giao diện
Giao diện
Hoạt động
Control: DataList
Mỗi thành phần (item) của DataList là một Hyperlink, với Text là tiêu đề một bản tin.
Mỗi khi một tin bài được chọn, URL được thay đổi:
Dựa vào cặp tham số NewID=value, hệ thống load nội dung tin bài được yêu cầu.
Module “Quản lý chủ đề”: bao gồm những chức năng tạo mới, sửa xóa chủ đề của hệ thống.
Database: lấy dữ liệu trong bảng [dnn_MyNews_Categories]
Trường [CategoryName]: thể hiện tên các chủ đề người dùng nhìn thấy.
Trường [CategoryID]: số định danh của chủ đề
Trường [NoiDung]: nội dung của chủ đề
Chức năng
Tạo chủ đề mới: cung cấp giao diện tạo một chủ đề mới.
Sửa chủ đề: cung cấp giao diện sửa nội dung chủ đề đã tồn tại
Thành phần trên giao diện
Giao diện
Hoạt động
Tạo mới một chủ đề:
TextBox: tên của chủ đề
TextBox: nội dung của chủ đề
Button: thêm mới một chủ đề
Khi thêm mới một chủ đề, hệ thống tạo mới một bản ghi trong bảng dnn_MyNews_Categories, với dữ liệu lấy từ 2 TextBox tên và nội dung chủ đề
Giao diện
Hoạt động
Sửa / Xóa chủ đề
Control: GridView, với mỗi dòng là một chủ đề
Chức năng “Sửa”: khi được chọn, hệ thống chuyển sang giao diện:
Người sử dụng chọn “OK” để lưu lại nội dung đã sửa, chọn “Hủy Bỏ” để quay về trạng thái ban đầu.
Chức năng “Xóa”: khi chọn chức năng này, hệ thống đưa ra hộp thoại hỏi có chắc chắn muốn xóa chủ đề.
Module “Soạn, nộp tin bài”: cung cấp chức năng để người sử dụng tạo tin bài mới, gửi nộp những tin bài đã viết xong.
Database: lấy dữ liệu trong bảng [dnn_MyNews_News]
Trường [NewID]: số định danh của một tin bài cụ thể
Trường [UserIDCreated]: số định danh của tác giả bài viết
Trường [NopBai]: thể hiện tin bài đã được nộp hay chưa
Chức năng
Tạo bài mới: cung cấp giao diện để tạo một tin bài mới, người sử dụng có thể lưu lại để có thể chỉnh sửa ở lần sau hoặc gửi nộp bài luôn.
Gửi nộp: hệ thống hiển thị danh sách tin bài chưa nộp để người sử dụng chỉnh sửa, gửi nộp lên mức trên.
Thành phần trên giao diện
Giao diện
Hoạt động
Xem danh sách tin bài cá nhân
Control: GridView, mỗi dòng là một tin bài
Nộp bài: với những tin bài đã viết xong, người đứng tên bài viết chọn vào CheckBox, sau đấy click vào “Nộp bài”
Xóa bài: chọn “Xóa” để hủy những tin bài không dùng đến
Sửa: người đứng tên bài chọn “Sửa” hoặc click vào tiêu đề bài viết để sửa.
Thêm mới: khi muốn tạo bài viết mới chọn “Thêm mới”.
Giao diện
Hoạt động
Tạo / Sửa bài viết
Khi chọn tạo / sửa bài viết hệ thống hiển thị giao diện để người sử dụng thêm / thay đổi nội dung bài viết.
DropDownList: các chủ đề tồn tại trong hệ thống
TextBox: Nội dung tiêu đề của tin bài
TextBox: Nội dung tóm tắt của tin bài
Image: Ảnh đại diện của tin bài, người sử dụng chọn “Browre…” để “Upload” ảnh lên server
TextEditor: Nội dung của tin bài, với control này, người sử dụng có thể thực hiện các chức năng chỉnh sửa như đang làm việc với chương Microsoft Office.
Button: cập nhật / tạo mới tin bài
Module “Xuất bản tin bài”: danh sách tin bài chờ thẩm định để đưa lên Web.
Database: lấy dữ liệu trong bảng [dnn_MyNews_News]
Trường [NewID]: số định danh của một tin bài cụ thể.
Trường [ThamDinh]: thể hiện tin bài đã được xuất bản hay chưa.
Trường [NgayTao]: ngày tin bài được tạo ra trong hệ thống.
Chức năng: những tin bài sau khi được phóng viên nộp được biên tập viên thẩm định, xuất bản lên Web.
Thành phần trên giao diện
Giao diện
Hoạt động
Xuất bản tin bài
Control: GridView, mỗi dòng là một tin bài. Control này chứa tất cả các tin bài đang chờ thẩm định để được xuất bản lên Web.
Những bài viết sau khi được “chấm điểm” mới được xuất bản.
Người có quyền “Xuất bản” nhập điểm cho tin bài, sau đấy chọn “Cập nhật” để lưu lại nội dung.
Khi muốn xuất bản tin bài, người sử dụng chọn vào Check Box “Xuất bản”, sau đấy chọn “Xuất bản” tin bài.
Nếu muốn tin bài được hiển thị trong phần “Sự kiện trong ngày” thì chọn vào CheckBox “TinDB”.
Nếu không muốn sử dụng tin bài nào, người sử dụng chọn Hyperlink “Khong dùng”. Tin bài sẽ được đưa đến trạng thái tin không dùng.
Giao diện
Hoạt động
Sửa bài viết
Người sử dụng chọn “Sửa” để thay đổi nội dung tin bài.
DropDownList: các chủ đề tồn tại trong hệ thống
TextBox: Nội dung tiêu đề của tin bài
TextBox: Nội dung tóm tắt của tin bài
Image: Ảnh đại diện của tin bài, người sử dụng chọn “Browre…” để “Upload” ảnh lên server
TextEditor: Nội dung của tin bài, với control này, người sử dụng có thể thực hiện các chức năng chỉnh sửa như đang làm việc với chương Microsoft Office.
Button: cập nhật nội dung tin bài
Module “Danh sách tin bài đã xuất bản”: danh sách của tất cả các tin bài đã được xuất bản.
Database: lấy dữ liệu trong bảng [dnn_MyNews_News]
Trường [NewID]: số định danh của một tin bài cụ thể
Trường [TieuDe]: tiêu đề của tin bài đã xuất bản
Trường [TenTacGia]: tên tác giả bài viết
Chức năng: hiển thị danh sách của tất cả các tin bài đã được xuất bản.
Thành phần trên giao diện
Giao diện
Hoạt động
Xem danh sách tin bài đã xuất bản theo chủ đề.
Control: GridView, mỗi dòng là một tin bài. Control này chứa tất cả các tin bài đã xuất bản lên Web.
Chọn chủ đề từ dropdownlist chủ đề, sau đấy click vào “Tìm kiếm”, hệ thống sẽ load tất cả tin bài đã xuất bản lên web trong chủ đề đã chọn.
Muốn sửa nội dung của tin bài chọn vào tiêu đề của tin bài hoặc biểu tượng “Xem”.
Muốn hủy xuất bản: xóa bỏ những tin bài đã được đưa lên web ta chọn biểu tượng “Hủy XB”.
Giao diện
Hoạt động
Sửa bài viết
Người sử dụng chọn “Sửa” để thay đổi nội dung tin bài.
DropDownList: các chủ đề tồn tại trong hệ thống
TextBox: Nội dung tiêu đề của tin bài
TextBox: Nội dung tóm tắt của tin bài
Image: Ảnh đại diện của tin bài, người sử dụng chọn “Browre…” để “Upload” ảnh lên server
TextEditor: Nội dung của tin bài, với control này, người sử dụng có thể thực hiện các chức năng chỉnh sửa như đang làm việc với chương Microsoft Office.
Button: cập nhật nội dung tin bài
4.4 Giao diện chương trình
Soạn nộp tin bài
Danh sách tin bài cá nhân
Biên tập viên
Soạn nộp tin bài
Danh sách tin bài cá nhân
Chủ đề
Xuất bản tin bài
Danh sách tin bài đã xuất bản
Danh sách tin bài hủy xuất bản
Danh sách tin bài không dùng
5. Tổng kết
Qua quá trình thực hiện chuyên đề tốt nghiệp, chúng tôi đã thu thập được rất nhiều kiến thức bổ ích về Dotnetnuke cũng như công nghệ .NET. Với quĩ thời gian có hạn của một chuyên đề tốt nghiệp, chúng tôi đã xây dựng một tòa soạn Báo điện tử đáp ứng được những chức năng cơ bản nhất mà nó cần phải có. Các chức năng nâng cao, phục vụ cho việc quản trị cũng như nâng cấp chương trình đòi hỏi nhiều thời gian và kĩ thuật đang được chúng tôi tìm hiểu và sẽ hoàn thành trong thời gian tới. Sau đây là những thành quả mà chúng tôi thu được trong quá trình thực hiện và những định hướng phát triển trong tương lai.
Về mặt lý thuyết
Hiểu rõ các tính năng, cách thức hoạt động của Dotnetnuke.
Nắm rõ được trình hoạt động của tòa soạn báo điện tử hiện đại.
Nâng cao khả năng làm việc theo nhóm, khả năng tìm kiếm tài liệu, khả năng tiếp cận công nghệ mới.
Về mặt thực nghiệm
Xây dựng các chức năng cơ bản cần có của một tòa soạn báo điện tử.
Tạo sự an toàn, bảo mật cho người sử dụng khi sử dụng các chức năng của hệ thống trong việc quản lý nội dung cá nhân, thông tin bài viết…
Thể hiện khá đầy đủ các tính năng của Dotnetnuke trong chương trình.
Hệ thống có khả năng thay đổi toàn bộ giao diện một cách nhanh chóng.
Quản lý chặt chẽ quyền hạn của từng nhóm người sử dụng.
Việt hóa gần như toàn bộ nội dung của Dotnetnuke.
Hạn chế
Hệ thống phát triển dựa trên nền tảng đã có do cộng đồng Dotnetnuke xây dựng, vì thế trong bước đầu tìm hiểu chúng tôi đã gặp rất nhiều khó khăn để nắm bắt về kiến trúc tổng quan, cơ sở dữ liệu, tùy biến nội dung của Dotnetnuke.
Quy trình vận hành của tòa soạn báo điện tử mới chỉ được thử nghiệp trên máy cá nhân, mạng Lan nội bộ với số lượng máy tính rất nhỏ. Chính vì vậy, chúng tôi chưa có những đánh giá chính xác về sự đúng đắn của hệ thống nếu được đưa vào sử dụng thực tế.
Hướng phát triển
Xây dựng thêm nhiều module phục vụ cho nhiều loại hình đơn vị khác nhau.
Nâng cấp các tính năng phù hợp với yêu cầu thực tế.
Nâng cấp hệ thống lên những phiên bản mới nhất của Dotnetnuke nhằm tận dụng các tính năng của Dotnetnuke.
Triển khai hệ thống thành hệ thống phân tán nhằm đáp ứng được yêu cầu của các đơn vị hoạt động trên phạm vi lớn.
Trong tương lai, chúng tôi sẽ phát triển hệ thống trở thành một Content Provider cung cấp nội dung cho dịch vụ nhắn tin SMS qua đầu số của mạng điện thoại di động.
Tài liệu tham khảo
Ebook:
Professional DotNetNuke ASP.NET Portals
Packt.Publishing.Building.Websites.with.VB.NET.and.DotNetNuke.4.Oct.2006.pdf
Các file đính kèm theo tài liệu này:
- Chuyn 2737873 t7889t nghi7879p DotNetNuke.doc