Tìm hiểu hệ thống mã mở DotNetNuke và ứng dụng xây dựng trên nền DotNetNuke

130 1.1K 7
Tìm hiểu hệ thống mã mở DotNetNuke và ứng dụng xây dựng trên nền DotNetNuke

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Giới thiệu Portal và Dotnetnuke Nguyễn Tất Đạt – A06447 1 Mục lục 1. Khái niệm Portal 3 1.1 Khái niệm cổng thông tin tích hợp (portal) 3 1.2 Phân loại cổng thông tin 3 1.2.1 Các Portal công cộng (Public Portal) 3 1.2.2 Các Portal tác nghiệp (Enterprise Portal) 3 1.2.3 Các Portal Website 4 1.3 Các tính năng cơ bản của portal 4 1.4 Các dịch vụ mà hệ thống Portal có thể cung cấp 6 1.5 Sự khác nhau cơ bản của Portal và WebSite 7 2. Giới thiệu Dotnetnuke Portal (Giải pháp phát triển Website cộng nghệ mới) 9 2.1 Giới thiệu chung 9 2.1.1 Dotnetnuke là gì (DNN) ? 9 2.1.2 Nguồn gốc Dotnetnuke 11 2.1.3 Khả năng mở rộng 12 2.2 Cài đặt Dotnetnuke 12 2.2.1 Tải hệ thống DotNetNuke 12 2.2.2 Cài đặt 13 2.3 Trang cơ bản 22 2.3.1 Tổng quan về trang 22 2.3.2 Tạo trang cơ bản 24 2.3.3 Xóa trang 27 2.3.4 Phục hồi trang bị xóa 28 2.3.5 Phân quyền sử dụng trên trang 31 2.3.6 Di chuyển trang 32 2.4 Quản Lý WebSite 35 2.4.1 Thay đổi Skin của WebSite 35 2.4.2 Thay đổi logo của WebSite 41 2.4.3 Quản lý người dùng 43 2.4.4 Quản lý File 45 2.5 Quản lý Modules 47 2.5.1 Tổng quan về module 47 2.5.2 Thêm module vào trang 51 2.5.3 Di chuyển module 53 2.5.4 Xóa Module 56 2.5.5 Phục hồi module bị xóa 57 2.5.6 Phân quyền cho module 59 2.6 Một số module thường dung 62 2.6.1 Text/Html 62 2.6.2 Announcements (thông báo) 63 2.6.3 Link (liên kết) 66 2.6.4 Module Documents (tài liệu) 71 2.6.5 Events (sự kiện) 75 3 Kiến trúc Module của Dotnetnuke 78 3.1 Định nghĩa 78 Giới thiệu Portal và Dotnetnuke Nguyễn Tất Đạt – A06447 2 3.2 Xây dựng module 80 3.2.1 Cơ sở dữ liệu và thiết lập ban đầu 81 3.2.2 Tầng logic nghiệp vụ (Business Logic Layer - BLL) 83 3.2.3 Tầng truy cập dữ liệu (Data Access Layer - DAL) 85 3.2.4 Tầng giao diện (Presentation Layer) 86 3.2.5 Khai báo module với Dotnetnuke 87 4. Ứng dụng xây dựng Tòa soạn báo điện tử 91 4.1 Cách nhìn nhận về Tòa soạn báo điện tử 91 4.2 Mục tiêu đề tài 91 4.2.1 Tìm hiểu Bộ portal mã nguồn mở DotNetNuke 91 4.2.2 Xây dựng tòa soạn báo điện tử 92 4.3 Xây dựng hệ thống 93 4.3.1 Các chức năng chính của hệ thống 93 4.3.2 Xây dựng cơ sở dữ liệu 103 4.3.3 Xây dựng module và gắn vào Dotnetnuke 110 4.4 Giao diện chương trình 122 5. Tổng kết 128 Tài liệu tham khảo 130 Giới thiệu Portal và Dotnetnuke Nguyễn Tất Đạt – A06447 3 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, Giới thiệu Portal và Dotnetnuke Nguyễn Tất Đạt – A06447 4 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 Giới thiệu Portal và Dotnetnuke Nguyễn Tất Đạt – A06447 5 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 Giới thiệu Portal và Dotnetnuke Nguyễn Tất Đạt – A06447 6 (News Industry Text Format) và NewsXML. Ngoài ra, các tiêu chuẩn dựa trên XML cũng phải được áp dụng để quản trị và hiển thị nội dung một cách thống nhất, xuyên suốt trong quá trình xuất bản thông tin. Các tiêu chuẩn dựa trên XML này cho phép đưa ra giải pháp nhanh nhất để khai thác và sử dụng thông tin trên các Web site khác nhau thông qua quá trình thu thập và bóc tách thông tin với các định dạng đã được quy chuẩn.  Hỗ trợ nhiều môi trường hiển thị thông tin (Multidevice support): Cho phép hiển thị cùng một nội dung thông tin trên nhiều loại thiết bị khác nhau như: màn hình máy tính (PC), thiết bị di động (Mobile phone, Wireless phone, PDA), sử dụng để in hay cho bản fax…. một cách tự động bằng cách xác định thiết bị hiển thị thông qua các thuộc tính khác nhau. Ví dụ: cùng một nội dung đó, khi hiển thị trên màn hình máy tính thì sử dụng HTML, nhưng khi hệ thống xác định được thiết bị hiển thị là PDA hay mobile phone, hệ thống sẽ loại bỏ các ảnh có trong nội dung và tự động chuyển nội dung đó sang định dạng WML (Wireless Markup Language) để phù hợp cho việc hiển thị trên màn hình của thiết bị di động.  Quản trị portal (Portal administration): Xác định cách thức hiển thị thông tin cho người dùng cuối. Tính năng này không chỉ đơn giản là thiết lập các giao diện người dùng với các chi tiết đồ hoạ (look-and-feel), với tính năng này, người quản trị phải định nghĩa được các thành phần thông tin, các kênh tương tác với người sử dụng cuối, định nghĩa nhóm người dùng cùng với các quyền truy cập và sử dụng thông tin khác nhau. 1.4 Các dịch vụ mà hệ thống Portal có thể cung cấp Hệ thống Portal cần xây dựng cung cấp các nhóm dịch vụ như sau:  Các dịch vụ cơ bản: post bài định dạng HTML/Document, Danh sách liên kết, Upload/Download Files, Thao tác ảnh… Giới thiệu Portal và Dotnetnuke Nguyễn Tất Đạt – A06447 7  Các dịch vụ cộng đồng ảo (Virtual community hay Collaboration) Cộng đồng ảo là “một địa điểm ảo” trên internet mà các cá nhân hay tổ chức có thể tập hợp để giúp đỡ, hợp tác với nhau mà ranh giới về vị trí địa lý không còn có ý nghĩa. Cung cấp môi trường cộng tác (collaborative) thông qua việc quản lý và khai thác thống nhất toàn diện các dịch vụ cơ bản như: Forum, Mail, Calendar, Task Management, Report Systems, Conferences, Discussion Groups, News Groups, v.v  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 Giới thiệu Portal và Dotnetnuke Nguyễn Tất Đạt – A06447 8 đó là sự thay đổi thuật ngữ và quan niệm mới về triết lý phục vụ thay cho cách hiểu “tuyên truyền” thông qua web site như trước đây. - Các mô đun trong Portal có tính độc lập cao, hoạt động không ảnh hưởng tới các mô đun khác. - Người dùng Portal có khả năng truy cập thông tin có được từ nhiều nguồn dữ liệu khác nhau. - Người phát triển dựa theo các chuẩn có sẵn để tích hợp thêm các mô đun tác nghiệp mới. Giới thiệu Portal và Dotnetnuke Nguyễn Tất Đạt – A06447 9 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… Giới thiệu Portal và Dotnetnuke Nguyễn Tất Đạt – A06447 10 - Cấu trúc site (Site Map) được quản lý một cách dễ dàng. Người sử dụng có thể thêm một trang mới vào hệ thống và cho phép hoặc không cho phép xuất hiện trên Menu.  Quản lý giao diện độc lập, linh hoạt - Giao diện được phát triển riêng độc lập với chương trình, một nhà thiết kế giao diện cho Website có thể làm việc độc lập, chỉ cần một số tiêu chuẩn về giao diện phải tuân thủ, các nhà thiết kế không phải quan tâm nhiều đến vấn đề kỹ thuật của hệ thống, giao diện sau khi làm xong sẽ được tích hợp nhanh chóng vào hệ thống. - Hệ thống quản lý giao diện của DNN portal là một trong những ưu điểm nổi bật so với các Portal khác. Do vậy DNN portal phù hợp cho các Website có yêu cầu giao diện cao và phục vụ công tác đối ngoại cho các doanh nghiệp, tổ chức…  Quản trị hệ thống với đầy đủ chức năng - Quản lý phân quyền là một trong những chức năng quan trọng của Portal. Hệ thống phân quyền của DNN Portal được cung cấp rất chặt chẽ, cho phép nhà quản trị có thể tạo ra nhiều nhóm quyền (role) khác nhau và sau đó phân công cho người dùng (user). - Hệ thống phân quyền của các module có thể tích hợp và phân công thông qua các quyền đã tạo ra của hệ thống; do vậy việc phân quyền có thể thực hiện đến từng chức năng nhỏ của module. - Hệ thống cũng cung cấp sẵn công cụ quản lý thành viên. - DNN portal cung cấp công cụ quản lý File/ Folder qua giao diện Admin web với đầy đủ các chức năng như tạo thư mục, Upload, Download, Zip/Unzip cũng như việc phân quyền truy xuất vào hệ thống. [...]... thiệu Portal và Dotnetnuke 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... 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... file javascript và file định dạng (stylesheet); tất cả thường được đóng gói trong một file ZIP Giống như module, skin có thể được upload và cài đặt tự động thông qua trang quản trị 2.2 Cài đặt Dotnetnuke 2.2.1 Tải hệ thống DotNetNuke Chúng ta có thể tải về phiên bản mới nhất của hệ thống DotNetNuke tại địa chỉ http://www .dotnetnuke. com (Để tải về chúng ta phải đăng ký một tài khoản trên website này)... 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...Giới thiệu Portal và Dotnetnuke - Đố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ế... 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 - 26 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... của hệ thống - 21 Nguyễn Tất Đạt – A06447 Giới thiệu Portal và Dotnetnuke 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... 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ữ - 11 Nguyễn Tất Đạt – A06447 Giới thiệu Portal và Dotnetnuke 2.1.3 Khả năng mở rộng Dotnetnuke có một nhân cơ bản có thể mở rộng với các module để bổ xung các tính năng mới, giao diện của hệ. .. 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. .. đượ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”

Ngày đăng: 18/10/2014, 09:43

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan