Professional Documents
Culture Documents
Mục lục
1. Khái niệm Portal..............................................................................................................2
2. Giới thiệu Dotnetnuke Portal (Giải pháp phát triển Website cộng nghệ mới).................7
3 Kiến trúc Module của Dotnetnuke..................................................................................76
4. Ứng dụng xây dựng Tòa soạn báo điện tử.....................................................................90
5. Tổng kết.......................................................................................................................127
Tài liệu tham khảo...........................................................................................................129
------------------------------------------------------------------------------------------------------- 1
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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
------------------------------------------------------------------------------------------------------- 3
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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
------------------------------------------------------------------------------------------------------- 4
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
(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…
------------------------------------------------------------------------------------------------------- 5
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
- 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.
------------------------------------------------------------------------------------------------------- 7
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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.
------------------------------------------------------------------------------------------------------- 9
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 10
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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ỉ 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).
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.
------------------------------------------------------------------------------------------------------- 11
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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
------------------------------------------------------------------------------------------------------- 12
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
-Chọn “OK”, chương trình Visual Studio 2005 tự động sinh ra một dự
án.
------------------------------------------------------------------------------------------------------- 13
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
• 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
------------------------------------------------------------------------------------------------------- 14
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
Bạn vào Start -> Settings -> Control Panel -> Administrative Tools ->
Internet Information Server, tạo một web site mới ( Ví dụ: dnn2005)
“2.0.50727”.
• Bước 6: Cấu hình file “web.config” cho việc cài đặt
------------------------------------------------------------------------------------------------------- 15
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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" />
-->
</connectionStrings>
<appSettings>
<!-- 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="
------------------------------------------------------------------------------------------------------- 16
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
</connectionStrings>
<appSettings>
<!-- 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=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
------------------------------------------------------------------------------------------------------- 17
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
Chọn “Next”
------------------------------------------------------------------------------------------------------- 18
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 19
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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.
------------------------------------------------------------------------------------------------------- 20
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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
------------------------------------------------------------------------------------------------------- 21
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 22
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
• 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.
------------------------------------------------------------------------------------------------------- 23
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
• 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
------------------------------------------------------------------------------------------------------- 24
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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.
------------------------------------------------------------------------------------------------------- 25
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
• 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 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.
------------------------------------------------------------------------------------------------------- 27
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
• 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.
------------------------------------------------------------------------------------------------------- 28
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 29
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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 4:
------------------------------------------------------------------------------------------------------- 30
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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.
------------------------------------------------------------------------------------------------------- 31
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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.
------------------------------------------------------------------------------------------------------- 32
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 33
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
• 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.
------------------------------------------------------------------------------------------------------- 34
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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).
------------------------------------------------------------------------------------------------------- 35
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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.
------------------------------------------------------------------------------------------------------- 36
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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.
------------------------------------------------------------------------------------------------------- 37
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
• 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!
------------------------------------------------------------------------------------------------------- 38
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 39
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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.
------------------------------------------------------------------------------------------------------- 40
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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ũ.
------------------------------------------------------------------------------------------------------- 41
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
đượ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
------------------------------------------------------------------------------------------------------- 42
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
• 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
------------------------------------------------------------------------------------------------------- 43
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
• 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.
------------------------------------------------------------------------------------------------------- 44
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
• 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
------------------------------------------------------------------------------------------------------- 45
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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.
------------------------------------------------------------------------------------------------------- 46
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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.
------------------------------------------------------------------------------------------------------- 47
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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.
------------------------------------------------------------------------------------------------------- 48
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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.
------------------------------------------------------------------------------------------------------- 49
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
• 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.
------------------------------------------------------------------------------------------------------- 50
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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.
------------------------------------------------------------------------------------------------------- 51
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
• 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.
------------------------------------------------------------------------------------------------------- 52
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 53
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
• 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.
------------------------------------------------------------------------------------------------------- 54
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
• 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).
------------------------------------------------------------------------------------------------------- 55
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 56
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
• 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.
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.
------------------------------------------------------------------------------------------------------- 57
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 58
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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.
------------------------------------------------------------------------------------------------------- 59
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
(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.
------------------------------------------------------------------------------------------------------- 60
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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”).
------------------------------------------------------------------------------------------------------- 61
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 62
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
• 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).
------------------------------------------------------------------------------------------------------- 63
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
• 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.
------------------------------------------------------------------------------------------------------- 64
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
• 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.
------------------------------------------------------------------------------------------------------- 65
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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.
------------------------------------------------------------------------------------------------------- 66
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
Or
------------------------------------------------------------------------------------------------------- 67
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 68
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
• 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]
------------------------------------------------------------------------------------------------------- 69
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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.
------------------------------------------------------------------------------------------------------- 70
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
• 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.
------------------------------------------------------------------------------------------------------- 71
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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 1: Nhấp vào nút Edit bên cạnh tài liệu để thay đổi chúng.
------------------------------------------------------------------------------------------------------- 72
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
• 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.
------------------------------------------------------------------------------------------------------- 73
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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).
------------------------------------------------------------------------------------------------------- 74
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
• 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).
------------------------------------------------------------------------------------------------------- 75
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 76
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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
------------------------------------------------------------------------------------------------------- 77
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và 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ữ
------------------------------------------------------------------------------------------------------- 78
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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
------------------------------------------------------------------------------------------------------- 79
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 80
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
Visual Studio 2008 sẽ tự động tạo module với cấu trúc thư mục của
Dotnetnuke:
------------------------------------------------------------------------------------------------------- 81
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 82
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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
------------------------------------------------------------------------------------------------------- 83
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 84
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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ã: <table border="0" cellpadding="0" cellspacing="0" width="125px" >
<tr>
<td valign="top" align="center">
<asp:DataList ID="dlCatagoryList" runat="server" >
<ItemTemplate>
<table border="0" cellpadding="0" cellspacing="0" width="125px" >
<tr>
<td class="navbar" id="tdCot" >
<a href='<%#NavigateURL(TabId, "",
"CategoryID=" & DataBinder.Eval(Container.DataItem,
"CategoryID"),"Page=1").ToString() %>'
class="navbar" ><%#DataBinder.Eval(Container.DataItem, "CategoryName")
%></a>
------------------------------------------------------------------------------------------------------- 85
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
</td>
</tr>
</table>
• 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
------------------------------------------------------------------------------------------------------- 86
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 87
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
Chọn “Add Control”, hãy điền nội dung của Module, rồi chọn Update
------------------------------------------------------------------------------------------------------- 88
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
Bây giờ module MenuLeft có thể thêm vào bất cứ đâu mà chúng ta
muốn:
------------------------------------------------------------------------------------------------------- 89
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 90
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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)
------------------------------------------------------------------------------------------------------- 91
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
False
Kiểm tra
True
------------------------------------------------------------------------------------------------------- 92
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
S o ạ n nộ p tin b à i
D a nh sách tin b à i
cá n hâ n
C h ủ đ ề tin
F a lse
D a nh sách tin b à i
đã xu ấ t b ả n
D a nh sách tin b à i
kh ô ng d ùn g
D a nh sách tin b à i
h ủ y xu ất b ả n
------------------------------------------------------------------------------------------------------- 93
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
Chọn
Thêm bài viết mới Sửa bài Xóa bài Nộp bài
Nhập thông tin Thay đổi thông tin Chọn bài cần xóa Chọn bài cần nộp
False False Hệ thống yêu cầu False Hệ thống yêu cầu False
Yêu cầu xác nhận Yêu cầu xác nhận
xác nhận xóa xác nhận nộp
Database
------------------------------------------------------------------------------------------------------- 94
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
Database
------------------------------------------------------------------------------------------------------- 95
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
Database
------------------------------------------------------------------------------------------------------- 96
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
Chọn
Thêm bài viết mới Sửa bài Xóa bài Nộp bài
Nhập thông tin Thay đổi thông tin Chọn bài cần xóa Chọn bài cần nộp
False False Hệ thống yêu cầu False Hệ thống yêu cầu False
Yêu cầu xác nhận Yêu cầu xác nhận
xác nhận xóa xác nhận nộp
Database
------------------------------------------------------------------------------------------------------- 97
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
Chủ đề tin
Chọn
Nhập thông tin Thay đổi thông tin Chọn bài cần xóa
Database
Chọn
Chọn Chọn
True True
Database
True
------------------------------------------------------------------------------------------------------- 100
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
Chọn
True
------------------------------------------------------------------------------------------------------- 101
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
Chọn
True
Hệ thống sử dụng
lại tin bài
Database
------------------------------------------------------------------------------------------------------- 102
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
Xuất bản
Soạn nộp tin bài Nộp bài Xuất bản tin bài
Lưu giữ
Không dùng Tái sử dụng
------------------------------------------------------------------------------------------------------- 103
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 104
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 105
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 106
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 107
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 108
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 109
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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
------------------------------------------------------------------------------------------------------- 110
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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 .
------------------------------------------------------------------------------------------------------- 111
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
- 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ó Tiêu đề tóm tắt
(3) (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:
------------------------------------------------------------------------------------------------------- 112
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
http://localhost/dnn2005/Default.aspx?
tabid=58&NewID=124
(2)
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
------------------------------------------------------------------------------------------------------- 113
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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ị.
• 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.
------------------------------------------------------------------------------------------------------- 114
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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
------------------------------------------------------------------------------------------------------- 115
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
Giao diện
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
------------------------------------------------------------------------------------------------------- 116
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
- 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
------------------------------------------------------------------------------------------------------- 117
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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
------------------------------------------------------------------------------------------------------- 118
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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
Module “Danh sách tin bài đã xuất bản”: danh sách của tất cả các tin
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.
------------------------------------------------------------------------------------------------------- 120
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 121
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 122
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 123
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
Chủ đề
------------------------------------------------------------------------------------------------------- 124
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 125
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 126
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
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.
------------------------------------------------------------------------------------------------------- 127
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
Nâng cao khả năng làm việc theo nhóm, khả năng tìm kiếm tài liệu,
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ế.
------------------------------------------------------------------------------------------------------- 128
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
Nâng cấp hệ thống lên những phiên bản mới nhất của Dotnetnuke
Ebook:
Professional DotNetNuke ASP.NET Portals
Packt.Publishing.Building.Websites.with.VB.NET.and.DotNetNuke.4.Oct.2
006.pdf
------------------------------------------------------------------------------------------------------- 129
Nguyễn Tất Đạt – A06447
Giới thiệu Portal và Dotnetnuke
------------------------------------------------------------------------------------------------------- 130
Nguyễn Tất Đạt – A06447