Khái niệm về CMS CMS Content Management System - hệ quản trị nội dung hay còn được gọi là hệ thống quản lý nội dung là phần mềm để tổ chức và tạo môi trườngcộng tác thuận lợi nhằm mục đ
Trang 1
LỜI CẢM ƠN
Để hoàn thành đồ án tốt nghiệp này, ngoài cố gắng và nỗ lực của bản thân, những kiến thức đã học được ở trường, cùng với sự hướng dẫn và chỉ bảo
tận tình của thầy giáo Nguyễn Mạnh Tuấn em đã hoàn thành chương trình này.
Trước hết em xin chân thành cảm ơn thầy giáo Nguyễn Mạnh Tuấn
Giảng viên môn Công Nghệ Phần Mềm - Khoa Công Nghệ Thông Tin – Đại học Bách Khoa Hà Nội, người đã tận tình chỉ bảo em trong suốt thời gian thực hiện Xin được cảm ơn sự giúp đỡ, chỉ bảo của các anh chị đi trước và bạn bè cùng khóa.
Dù đã cố gắng hết sức song do thời gian có hạn, khả năng lập trình non yếu, kinh nghiệm thực tế chưa có nên đồ án tốt nghiệp của em có nhiều thiếu sót Kính mong thầy giáo hết sức thông cảm và đưa ra những chỉ dẫn quí báu để
đồ án tốt nghiệp của em được hoàn thiện hơn
Em xin chân thành cảm ơn!
Hà Nội, Ngày 24/10/2009
Sinh Viên Trần Anh Thảo
Trang 2LỜI MỞ ĐẦU
Ngày nay Công nghệ thông tin giữ một vai trò rất quan trọng trong đời sống kinh tế, xã hội của nhiều quốc gia trên thế giới trong đó có Việt Nam Đặc biệt là việc ứng dụng Công nghệ thông tin và mạng internet vào ứng dụng mua bán trực tuyến Việc ứng dụng tin học và internet vào kinh doanh sẽ giúp cho quá trình buôn bán đạt hiệu quả cao, tiết kiệm được thời gian, công sức của người mua cũng như người bán.
Sau khi được giao đề tài này em đã khảo sát, tìm hiều việc ứng dụng mạng internet trong mua bán trực tuyến và nhận thấy rằng việc ứng dụng đã rất nhiều
và đa dạng Chứng tỏ ứng dụng này đã rất hiệu quả và sử dụng rộng rãi.
Em hy vọng sau khi ứng dụng được đưa vào thực tiễn sẽ là công cụ đắc lực cho người dùng Tuy nhiên do thời gian có hạn và khả năng còn non yếu nên không tránh khỏi sai sót.
Em xin được cảm ơn Thầy hướng dẫn Nguyễn Mạnh Tuấn đã giúp đỡ em
thực hiện đề tài này.
MỤC LỤC
Trang 3LỜI CẢM ƠN 1
LỜI MỞ ĐẦU 2
CHƯƠNG I – CƠ SỞ LÝ THUYẾT 5
A GIỚI THIỆU VỀ CMS VÀ CÁC THÀNH PHẦN CỦA CMS 5
1 Khái niệm về CMS 5
1.1 Các tính năng cơ bản 5
1.2 Đặc điểm của CMS 6
1.3 Phân loại 6
2 Các thành phần của CMS 6
2.1 Ứng dụng quản lý nội dung – CMA 6
2.2 Ứng dụng mô tả nội dung – MMA 7
2.3 Ứng dụng phân phối nội dung – CDA 7
3 Cấu trúc của CMS 7
3.1 Hệ thống thu nhập thông tin 8
3.2 Hệ thống quản trị : 8
3.3 Hệ thống quảng bá nội dung : 8
B HỆ QUẢN TRỊ NỘI DUNG JOOMLA V1.5.X 9
1 Tổng quan 9
1.1 Ứng dụng của Joomla 9
1.2 Lịch sử Joomla 10
1.3 Các phiên bản 11
1.4 Kiến trúc Joomla 12
2 Hướng dẫn setup & config Joomla 1.5 12
CHƯƠNG II – PHÂN TÍCH VÀ ĐẶC TẢ YÊU CẦU 18
1 Phân tích hiện trạng 19
Trang 42 Phân tích yêu cầu 19
2.1 Yêu cầu chức năng 19
2.2. Yêu cầu phần cứng, phần mềm và các yêu cầu khác 20
3 Phân tích 20
3.1 Sơ đồ phân cấp chức năng 20
3.2 Sơ đồ phân rã chức năng quản lý hoa 21
3.3 Sơ đồ phân rã chức năng quản lý khách hàng 22
3.4 Sơ đồ phân rã chức năng quản lý mua bán 23
3.5 Sơ đồ chức năng quản lý thông tin 23
4 Mô hình dữ liệu 23
5 Phân tích cấu trúc dữ liệu 26
5.1 Thêm loại hoa 26
6 Cấu trúc dữ liệu thành viên 30
7 Giải thuật 33
7.1 Thêm/sửa loại hoa 33
7.2 Thêm/ sửa hoa 34
7.3 Mua hoa 34
CHƯƠNG IV- Giao diện website 36
CHƯƠNG V- ĐÁNH GIÁ VÀ HƯỚNG PHÁT TRIỂN 37
4.1 Kết quả đạt được 37
4.2 Hạn chế 37
4.3 Hướng phát triển 37
TÀI LIỆU THAM KHẢO 38
Trang 5CHƯƠNG I – CƠ SỞ LÝ THUYẾT
A GIỚI THIỆU VỀ CMS VÀ CÁC THÀNH PHẦN CỦA CMS
1 Khái niệm về CMS
CMS (Content Management System ) - hệ quản trị nội dung hay còn được
gọi là hệ thống quản lý nội dung là phần mềm để tổ chức và tạo môi trườngcộng tác thuận lợi nhằm mục đích xây dựng một hệ thống tài liệu và các loạinội dung khác một cách thống nhất Nó cung cấp cho người dùng các khảnăng để duy trì, thay đổi, cập nhật các nội dung của trang web bao gồm vănbản và hình ảnh với sự phân quyền chặt chẽ, linh hoạt thích hợp cho từngmục đích sử dụng đơn giản hay phức tạp
1.1 Các tính năng cơ bản
- Chuẩn giao diện cho việc tạo, chỉnh sửa, phê duyệt, trển khai
(Creating, Editing, Approving, Deploying)
- Kho lưu trữ chung (Common Repository)
- Quản lý phiên bản, lưu vết và quay lui (Version Control, Tracking,
Rollback)
- Luồng công việc (WorkFlow)
- Tạo trang động (Dynamic Page Generation)
- Cá nhân hóa (Personalization)
- Quản lý Cache (Cache Management)
- Chuyển đổi nội dung (Content Conversion)
- Tích hợp tìm kiếm (Search Integration)
- Giám sát, phân tích, báo cáo nội dung và WebSite hit
- Đảm bảo tin tức và bài viết luôn mới, cập nhật liên tục với giao diện
chuyên nghiệp
- Phân quyền chặt chẽ.
- Định hướng tin, bài viết vào một hoặc nhiều nhóm tin thích hợp.
- Thiết kế các thiết lập riêng cho từng module giúp việc hiển thị linh
động, tùy theo mục đích của người sử dung (cho phép hiển thị hìnhảnh hoặc không, hiển thị bao nhiêu tin )
Trang 61.2 Đặc điểm của CMS
- Phê chuẩn việc tạo hoặc thay đổi nội dung trực tuyến.
- Chế độ Soạn thảo "Nhìn là biết" WYSIWYG.
- Quản lý người dung.
- Tìm kiếm và lập chỉ mục.
- Lưu trữ
- Tùy biến giao diện
- Quản lý ảnh và các liên kết (URL) 1.3 Phân loại
Có nhiều kiểu CMS:
- W-CMS (Web CMS)
- E-CMS (Enterprise CMS)
- T-CMS (Transactional CMS): Hỗ trợ việc quản lý các giao
dịch thương mại điện tử
- P-CMS (Publications CMS): Hỗ trợ việc quản lý các loại ấn phẩm
trực tuyến (sổ tay, sách, trợ giúp, tham khảo )
- L-CMS/LCMS (Learning CMS): Hỗ trợ việc quản lý đào tạo dựa trên
nền Web
- BCMS(Billing CMS): Hỗ trợ việc quản lý Thu chi dựa trên nền Web.
2 Các thành phần của CMS
2.1 Ứng dụng quản lý nội dung – CMA
Ứng dụng quản lý nội dung CMA quản lý vòng đời đầy đủ của các thànhphần nội dung, từ khi bắt đầu đến khi xóa bỏ chúng CMA có các chứcnăng sau: Approval, Design, Authoring, Editing, Layout, Testing,Staging, Deployment, Maintenance, Archival, Removal
2.2 Ứng dụng mô tả nội dung – MMA
Trang 7Mục tiêu của siêu dữ liệu là cung cấp giao diện (interface) đơn giản, ổnđịnh, thân thiện với người dùng cho một Website Vì thế dù là Website
có hỗ trợ hoặc có chứa các thành phần gì như ảnh, âm thanh, video, hay
và form thì MMA chỉ là sự kết hợp của các thành phần: Templates,Scripts, Programs, Runtime Dependencies
2.3 Ứng dụng phân phối nội dung – CDA
Công việc của ứng dụng phân phối nội dung CDA là đưa các thực thểnội dung ra ngoài hệ thống nơi lưu trữ của “Quản trị nội dung” và hiểnthị chúng bằngcách sử dụng hệ thống MMA ra trang web
3 Cấu trúc của CMS
Về mặt cấu trúc cms được chia làm 3 lớp :
- Hệ thống thu nhập thông tin : có thể là nhập do người sử dụng, lưu
trữ ở database, crawl từ các website khác
- Hệ thống quản trị : mà trung tâm của nó là metatorial framework.
- Hệ thống quản bá thông tin : Phần này có thể là một website hay bất
cứ dạng quản bá nào khác ex : in ra giấy,sao ra đĩa Một hình thứcbất kỳ nào đó
Trang 83.1 Hệ thống thu nhập thông tin
Gồm chức năng sau đây :
Tạo nội dung: thiết kế nội dung, soạn thảo nội dung.
Trộn nội dung: kết hợp chúng với nhau Chuyển đổi nội dung: chuyển đổi giứa các dạng nội dung Sửa chữa nội
dung và cấu trúc chúng
3.2 Hệ thống quản trị :
- Lưu trữ : Nội dung được lưu trữ dưới một dạng thức có thể dễ dàng
quản lý ví dụ tống vào database hoặc xml
- Tìm kiếm
- Cập nhật
- Kết nối tới các hệ thống dữ liệu enterprise Chia sẻ với các hệt thống
này hoặc luộc nội dung của chúng
3.3 Hệ thống quảng bá nội dung :
- Lựa chọn thành phần: nhận dạng các thành phần nội dung thuộc về
một trang
- Quản lý sự phụ thuộc : xử lý một "luật" nào đó mà thông tin tạo nên
một trang ví dụ trường pageid của thành phần bằng id của trang đượctạo
- Tạo trang : Tổng hợp các thành phần nội dung để tạo nên một trang
hoàn chỉnh
- Quảng bá : Công việc cuối cùng của hệ thống quẳng nó lên website
cho thiên hạ nghía hoặc in ra đem bán kiếm tiền
Trang 9B HỆ QUẢN TRỊ NỘI DUNG JOOMLA V1.5.X
Joomla! có mã nguồn mở do đó việc sử dụng Joomla! là hoàn toàn miễnphí cho tất cả mọi người trên thế giới
1.1 Ứng dụng của Joomla
- Các cổng thông tin điện tử hoặc các website doanh nghiệp
- Thương mại điện tử trực tuyến
- Báo điện tử, tạp chí điện tử
- Website của các doanh nghiệp vừa và nhỏ
- Website của các cơ quan, tổ chức phi chính phủ
- Website các trường học
- Website của gia đình hay cá nhân
Trang 101.2 Lịch sử Joomla
Joomla! là "sản phẩm anh em" với Mambo giữa tập đoàn Mirocủa Úc (hãng đang nắm giữ Mambo), với phần đông những người pháttriển nòng cốt
Ban đầu công ty Miro của Úc (tiếng Anh: Miro Software Solutions) đãphát triển Mambo theo dạng ứng dụng mã nguồn đóng Đếntháng
4 năm 2001, công ty đã thông qua một chính sách bản quyền kép, nghĩa
là phát hành Mambo theo cả giấy phép GPL
Mọi thứ vẫn tiến triển bình thường cho đến trước khi xảy ra tranh chấp
về mặt pháp lý vào năm 2003 Vụ việc dẫn tới ý tưởng Mambo cần phảiđược bảo vệ bởi một tổ chức phi lợi nhuận Nhưng những nhà phát triểnkhông hài lòng về cơ cấu của Quỹ tài trợ Mambo Andrew Eddie, ngườilãnh đạo nhóm phát triển, trong một lá thư gửi cộng đồng, đã chia sẻnhững lo lắng của mình về Quỹ tài trợ Mambo và mối quan hệ của nó tớicộng đồng Ông viết: " Chúng tôi cho rằng tương lai của Mambo nênđược quản lý, điều chỉnh bởi những yêu cầu của người sử dụng và khảnăng của những nhà phát triển Trong khi đó, Quỹ tài trợ Mambo lạiđược thiết kế nhằm trao quyền điều khiển cho Miro, một thiết kế ngăncản sự hợp tác giữa Quỹ tài trợ và cộng đồng " Bởi vậy vào ngày 17tháng 8 năm 2005, toàn bộ đội phát triển nòng cốt của Mambo đã rờikhỏi dự án trong khi đang làm việc với phiên bản 4.5.3
Nhờ sự trợ giúp của Trung tâm Luật Tự do Phần mềm (SoftwareFreedom Law Center - SFLC), 20 thành viên nòng cốt cũ của Mambo đãthành lập một tổ chức phi lợi nhuận khác lấy tên là Open Source Matters,
để hỗ trợ về mặt tổ chức, pháp lý và kinh phí cho dự án mã nguồn mởcòn chưa được đặt tên của họ Cùng lúc đó, nhóm phát triển cũng lậpmột website lấy tênOpenSourceMatters để phân phối thông tin tới nhữngngười sử dụng, những người phát triển, những người thiết kế và cộngđồng Joomla nói chung Người đứng đầu dự án chính là Andrew Eddie,còn được biết đến với tên gọi "Sếp trưởng"
Ngay ngày hôm sau, 1000 người đã gia nhập diễn đàn OpenSourceMatters, hầu hết các bài viết cho diễn đàn đều khuyến khích
và đồng tình với hành động của Nhóm Phát triển Tin trên đã nhanh chóng được đăng tải trên các tạp
chí newsforge.com, eweek.com và ZDnet.com
Trang 11Trong một thông báo của Eddie 2 tuần sau đó, các nhóm đã được tổ chứclại và cộng đồng Joomla! tiếp tục tăng trưởng Tới ngày 1 tháng 9 năm
2005 tên mới của dự án đã được thông báo cho khoảng 3000 người theodõi đội Phát triển và đến ngày 16 tháng 9 thì họ cho ra đời Joomla! 1.0
Các phiên bản tiếp theo có dạng 1.0.xĐiểm mạnh của Joomla! 1.0.x: Có một số lượng rất lớn các thành phần
mở rộng (module/component); thành phần nhúng (mambot); giao diện(template)
Dòng phiên bản 1.5.x
Phiên bản Joomla! 1.5[6] là phiên bản cải tiến từ Joomla! 1.0.x(phần mã được viết lại hoàn toàn, tuy nhiên vẫn giữ cách hành xử nhưcũ) được coi như Mambo 4.6 Joomla! 1.5 tiếp tục duy trì một giao diệnngười sử dụng đơn giản (nhìn và cảm nhận - look and feel)
Cả Joomla! 1.5 và Mambo 4.6 đều hỗ trợ đa ngôn ngữ Joomla! thì sửdụng file định dạng ".ini" để lưu các thông tin chuyển đổi ngôn ngữ, còn
Trang 12Mambo thì sử dụng file định dạng ".gettext" Joomla 1.5 hỗ trợ tất cả cácngôn ngữ có tập ký tự được biểu diễn bằng bảng mã UTF-8.
Joomla! 1.5 cũng bao gồm các đặc tính mới như các mô hìnhchứng thực (LDAP, Gmail ), hỗ trợ mô hình khách-chủ[7] xml-rpc Nócũng hỗ trợ các trình điều khiển cơ sở dữ liệu dành cho MySQL 4.1+(trên nền PHP 5) và tăng cường hỗ trợ cho MySQL 5, cũng như hỗ trợcác loại cơ sở dữ liệu khác
Điểm mạnh của Joomla! 1.5: Phần quản trị Website có sử dụngcông nghệ Web 2.0, một số tính năng được cải tiến hơn so với Joomla1.0.x
1.4 Kiến trúc Joomla
Joomla! 1.5 gồm có 3 tầng hệ thống Tầng dưới cùng là mức nền tảng,chứa các thư viện và các plugin (còn được biết với tên gọi mambot).Tầng thứ hai là mức ứng dụng và chứa lớp JApplication Hiện tại tầngnày gồm 3 lớp con: JInstallation, JAdministrator và JSite Tầng thứ ba làmức mở rộng Tại tầng này có các thành phần (component), môđun(module) và giao diện (template) được thực thi và thể hiện
2 Hướng dẫn setup & config Joomla 1.5
Upload Joomla lên server
Upload gói cài đặt Joomla! (file Joomla_1.5 zip) vừa download lênServer và giải nén vào thư mục gốc chứa Website của bạn (hoặc một thư
mục con của nó, chẳng hạn joomla).
Thư mục gốc chứa Web thường có tên là:
htdocs, public_html, www, wwwroot
Trang 13C:\Program Files\xampp\htdocs\
Bạn có thể Upload Joomla! lên server bằng một số cách sau:
Copy trực tiếp (nếu cài trên máy của bạn)
Sử dụng công cụ quản lý file (File Manager) mà HOSTING cung
cấp thông qua Cpanel hoặc Direct Admin hoặc Plesk.
Hay công cụ FTP: Filezilla (miễn phí), WS_FTP, Total
commander, Net2FTP (miễn phí)
Bước 1: Chọn ngôn ngữ cài đặt
Mở trình duyệt và gõ vào địa chỉ Website của bạn
Nếu bạn giải nén bộ cài đặt vào thư mục gốc thì gõ: http://yoursite/VD: http:// yoursite.com/
Trang 14Bước 2: Kiểm tra cấu hình hệ thống
Để có thể cài đặt và sử dụng Joomla!, máy chủ của bạn phải đáp ứng một
số yêu cầu Joomla! sẽ kiểm tra các giá trị này Nếu chúng có màu
xanh thì OK Còn nếu các giá trị kiểm tra có màu đỏ thì bạn cần yêu cầu
bộ phận Hỗ trợ kỹ thuật của Server giúp đỡ Tất nhiên, bạn vẫn có thểtiếp tục cài đặt nhưng có thể một số chức năng sẽ không hoạt động
Trang 15Bước 3: Thông tin bản quyền
Bạn nên dành một chút thời gian để đọc các thông tin này
Trang 16Bước 4: Thiết lập các thông số để kết nối tới Cơ sở dữ liệu
Trước khi thực hiện bước này bạn cần có một database để chứa dữ liệuJoomla!
Hostname: Thường là giá trị "localhost" (chỉ điền giá trị khác nếu như
Database Server và Web Server nằm ở 2 nơi khác nhau, hoặc Hostingcủa bạn cung cấp như vậy)
User name: Tên tài khoản gắn với database chứa Joomla của bạn (Nếu
làm trên localhost bạn có thể dùng tài khoản có tên là root).
Password: Mật khẩu của tài khoản trên (Nếu dùng tài khoản root, bạn
có thể để trống ô này)
Availbe Collations (nếu có): Bạn nên chọn là "utf8_general_ci"
Database Name: Tên cơ sở dữ liệu sẽ chứa Joomla của bạn
Trang 17Chú ý mục "Table Prefix", để tránh bị tấn công "SQL Injection" bạn
nên thay tiền tố "jos_" bằng một chuỗi ký tự khác, chẳng hạn "aroaniv_"
Bước 5: Thiết lập các thông số FTP
- Nếu đang cài đặt trên LOCALHOST, bạn có thể bỏ qua bước này
- Nếu Host của bạn không hỗ trợ, bạn cũng không cần quan tâm
- Nếu Host của bạn hỗ trợ, bạn cần chú ý các thông số sau:
FTP User: Tên tài khoản FTP - tài khoản dùng để quản lý các thư mục
và file trên Host
FTP Password: Mật khẩu tương ứng.
Auto Find Path: Tự động tìm đường dẫn tới nơi chứa Web của bạn FTP Host: Địa chỉ HOST chứa website Joomla, bạn có thể sử dụng địa
chỉ IP của HOST
FTP Port: Cổng của dịch vụ FTP, theo mặc định là 21
Nên dùng chính tài khoản mà bạn đã sử dụng để Upload bộ cài đặtJoomla lên HOST
Bước 6: Thiết lập cấu hình site Joomla của bạn Site name: tên site của bạn.
VD: VnExpress, Hosting Việt Nam, ThanhNienOnline
Trang 18Your Email: địa chỉ email của bạn
VD: admin@email.com
Admin Password: Mật khẩu để quản trị Joomla
Các thông số trên sau này đều có thể thay đổi dễ dàng nên bạn không cầnbận tâm lắm Chỉ cần nhớ mật khẩu là đủ
Install Defaul Sample Data: Cài đặt dữ liệu mẫu Bạn nên nhấn nút này
để Joomla tạo mẫu cho bạn một trang web đơn giản
- Để xem Website của bạn: Nhấn vào nút Site
- Để quản trị Website: Nhấn vào nút Admin Đường dẫn sẽ có dạng
như sau:
http://yoursite.com/administrator/ hoặchttp:// yoursite.com/joomla/administrator hoặc
Trang 19http://localhost/administrator/ (nếu cài trực tiếp trên máy của bạn)
CHƯƠNG II – PHÂN TÍCH VÀ ĐẶC TẢ YÊU CẦU
1 Phân tích hiện trạng
Dựa trên nhu cầu cần xây dựng 1 hệ thống quản lý bán hoa trực tuyếnvới các chức năng cơ bản của shop online, cùng với các yêu cầu vềkhả năng quản lý mềm dẻo, dễ sử dụng, thời gian phát triển nhanh vàgiảm thiểu chi phí phát triển Để thỏa mãn các yêu cầu trên, việc pháttriển website bằng hệ thống mã nguồn mở, cụ thể là hệ thống CMSJoomla sử dụng Component Virtuemart được xem là khả thi với các
ưu điểm sau đây:
- Thời gian phát triển nhanh
- Dễ sử dụng và bảo trì
- Chi phí phát triển thấp
- Hiệu quả quản lý cao
2 Phân tích yêu cầu
2.1 Yêu cầu chức năng
Website bán hoa trực tuyến phải có các chức năng quan trọng sau đây:
2.1.1 Chức năng quản lý hoa
- Tạo mới và cập nhật loại sản phẩm ( loại hoa)
- Thêm mới và cập nhật sản phẩm (hoa)
2.1.2 Chức năng quản lý khách hàng
- Quản lý các thông tin về khách hàng như:
+ Thông tin cá nhân+ Địa chỉ liên lạc+ Địa chỉ vận chuyển+ Tài khoản ngân hàng+ Danh sách hóa đơn