4. Ứng dụng xây dựng Tòa soạn báo điện tử
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.
Hệ thống Module Quản lý chủ đề tin Module Soạn nộp tin bài Module Xuất bản tin bài Module Danh sách tin bài đã xuất bản
Module Hủy xuất bản Module Chủ đề tin Module Tin tức Module Sự kiện đặc biệt
Trình diễn nội dung
Module Tin đọc nhiều nhất
Quản trị nội dung
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.
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:
http://localhost/dnn2005/Default.aspx?tabid=58&CategoryID =5
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
- 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.
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:
http://localhost/dnn2005/Default.aspx?tabid=58&Ne wID=124
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 [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:
http://localhost/dnn2005/Default.aspx?tabid=58&NewID =124
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ị.
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:
http://localhost/dnn2005/Default.aspx?tabid=58&NewID =124
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
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
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.
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
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”.
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.
- 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