Những Website được lập nên rất nhiều, nhưng không phải bất kỳ ai cũng có khả năng lập trình web chính vì thế có rất nhiều bộ mã nguồn ra đời với mục đích giúp những người không chuyên có
Trang 1TRƯỜNG ĐẠI HỌC MỎ- ĐỊA CHẤT
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO BÀI TẬP LỚN MÔN: MÃ NGUỒN MỞ
ĐỀ TÀI: “ NGHIÊN CỨU PHÁT TRIỂN HỆ THỐNG
NGUYỄN THẾ LỘC 1-Nguyễn Bá Long
2-Nguyễn Văn Thể 3- Vũ Đức Vinh
Hà Nội-2012
Trang 2MỞ ĐẦU
Trong giai đoạn hiện nay, cùng với sự phát triển không ngừng của lĩnh vực công nghệ thông tin đặc biệt là lĩnh vực thiết kế website hiện đang là một lĩnh vực nóng và đang phát triển ngày càng lớn mạnh Những Website được lập nên rất nhiều, nhưng không phải bất
kỳ ai cũng có khả năng lập trình web chính vì thế có rất nhiều bộ mã nguồn ra đời với mục đích giúp những người không chuyên có thể tạo
ra trang web cho riêng họ Trong số đó Joomla là một hệ quản trị nội dung mã nguồn mở (tiếng Anh: Open Source Content Management Systems) là một trong bộ mã nguồn mạnh và đang được rất nhiều người sử dụng và phát triển
Thấy được khả năng phát triển của Joomla chúng tôi đã cùng nhau thực hiện một đề tài nhằm phục vụ và giúp đỡ những ai có nhu cầu tìm hiểu và tạo lập một trang website bằng bộ mã nguồn mở này
Trong đây chúng tôi xin giới thiệu về bộ mã nguồn mở Joomla, cách sử dụng và phát triển bộ mã nguồn mở trong việc tạo ra một trang web
Do kiến thức còn hạn hẹp rất mong nhận được sự đóng góp từ phía bạn đọc để chúng tôi có thể hoàn thiện hơn công trình của mình
Chân thành cảm ơn!
Tác giả
Trang 3PHẦN 1- GIỚI THIỆU VỀ JOOMLA
I-KHÁI NIỆM:
-Joomla là một hệ quản trị nội dung mã nguồn mở (Tếng Anh : Open Source Content Management Systems ; Tạm dịch là : Hệ thống quản trị nội dung mã nguồn mở)
- Joomla được viết bằng ngôn ngữ PHP và kết nối tới cơ sở dữ liệu MySQL , cho phép người sử dụng có thể dễ dàng xuất bản các nội dung của họ lên Internet hoặc Intranet
- Joomla có các đặc tính cơ bản là: bộ đệm trang (page caching) để tăng tốc độ hiển thị, lập chỉ mục, đọc tin RSS (RSS feeds), trang dùng để in, bản tin nhanh, blog, diễn đàn, bình chọn, lịch biểu, tìm kiếm trong Site và hỗ trợ đa ngôn ngữ
- Joomla được phát âm theo tiếng Swahili như là 'jumla' nghĩa là
"đồng tâm hiệp lực"
- Joomla được sử dụng ở khắp mọi nơi trên thế giới, từ những
website cá nhân cho tới những hệ thống website doanh nghiệp có tính phức tạp cao, cung cấp nhiều dịch vụ và ứng dụng Joomla có thể dễ dàng cài đặt, dễ dàng quản lý và có độ tin cậy cao
- Joomla có mã nguồn mở do đó việc sử dụng Joomla là hoàn toàn
miễn phí cho tất cả mọi người trên thế giới
II -ỨNG DỤNG
Trang 4- Joomla được ứng dụng rộng rãi trong nhiều lĩnh vực, các hướng phát triển chủ yếu :
Các cổng thông tin điện tử hoặc các website doanh nghiệp
(portal)
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 5III –VÀI NÉT VỀ LỊCH SỬ PHÁT TRIỂN
- Joomla là "sản phẩm anh em" với Mambo của tập đoàn Miro Software Solutions -Úc (hãng đang nắm giữ Mambo) với những người phát triển nòng cốt Ban đầu côngty Miro đã phát triển Mambo theo dạng ứng dụng mã nguồn đóng Đến tháng 4
năm2001, 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 Mambotheo cả giấy phép GPL
- Đến ngày 17 tháng 8 năm 2005, do sự tranh chấp về mặt pháp
lý cũng như mongmuốn vào sự phát triển của Mambo dựa trên quỹ tài trợ và sự hỗ trợ của cộng đồngnên toàn bộ đội phát triển nòng cốt của Mambo đã rời khỏi dự án trong khi đang làmviệ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
(Software Freedom LawCenter - SFLC), 20 thành viên nòng cốt
cũ của Mambo đã thành lập một tổ chức philợ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ọ 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
-Trong một thông báo của Eddie (người đứng đầu dự án) 2 tuần sau đó, các nhóm đãđược tổ chức lạ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 theo dõi đội Phát triển và đến ngày 16 tháng 9 thì họ cho ra đời Joomla 1.0
IV- CÁC DÒNG PHIÊN BẢN CỦA JOOMLA
Trang 6- Dòng phiên bản 1.0.x
+Phiên bản đầu tiên của Joomla là phiên bản Joomla1.0 (hay
Joomla! 1.0.0) có nguồn gốc từ Mambo 4.5.2.3 (đã bao gồm thêm nhiều bản vá bảo mật và sửa lỗi).Các phiên bản tiếp theo có dạng
1.0.x Điểmmạ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 (modul,component) thành phần nhúng (mambot),
giaodiện (template)
- Dòng phiên bản 1.5x
+Phiên bản Joomla! 1.5 là phiên bản cải tiến từ Joomla1.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ũ) Joomla 1.5 tiếp tục duy trì một giao diện người sử dụng đơn giản
(nhìn và cảm nhận -look and feel ) Joomla! 1.5 hỗ trợ đa ngôn ngữ bằng cách sử dụngfile định dạng ".ini" để lưu các thông tin chuyển đổi ngôn ngữ
+Joomla 1.5 hỗtrợ tất cả các ngôn ngữ có tập ký tự được biểu diễn bằng bảng mã UTF-8.Điểm mạnh của Joomla 1.5: Phần quản trị
Website có sử dụng công nghệ Web2.0, một số tính năng được cải tiến hơn so với Joomla 1.0.x
-Dòng phiên bản 2.5.x
+Phiên bản đầu tiên của dòng này lại bắt đầu từ phiên bản joomla
1.6.0 phát hành vào ngày 10 tháng 01 năm 2011 Nhưng chỉ trong vòng 6 tháng với 4 bản cập nhật liên tục tới phiên bản 1.6.4 vào ngày
27 tháng 06 năm 2011
Phiên bản 1.6.6 phát hành vào ngày 26 tháng 07 năm 2011 đã đánh
dấu sự kết thúc của dòng 1.6 và chỉ cập nhật vì lý do bảo mật dành cho các trang web không thể cập nhật lên phiên bản 1.7 vì lý do khách quan
+Theo đó, phiên bản 1.7.0 nhanh chóng được phát hành vào ngày 19 tháng 07 năm 2011 Đến lượt phiên bản 1.7 lại kết thúc chu kỳ sống ngắn ngủi vào ngày 24 tháng 02 năm 2012 tại phiên bản 1.7.5 và
nhường chỗ cho dòng phiên bản 2.5
Trang 7+Dòng phiên bản 2.5.0 được phát hành vào ngày 24 tháng 01 năm
2012 hứa hẹn một kỷ nguyên mới của Joomla với các tính năng cực
kỳ vượt trội như: tự động cập nhật qua nút bấm trong phần quản trị,
hỗ trợ seo mạnh hơn và đặc biệt phân quyền sâu hơn với từng nhóm thành viên
Phiên bản mới nhất hiện nay của dòng này là 2.5.6 được phát hành vào ngày 19 tháng 06 năm 2012
- Dòng phiên bản 3.0.x
+Đang ở giai đoạn Joomla3.0 Alpha-1 được phát hành vào ngày 12 tháng 07 năm 2012
Trang 8
V- KIẾN TRÚC CỦA JOOMLA
Kiến trúc của Joomla
Joomla 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ầng nàygồ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
Trang 9VI - CÁC GIẢI THƯỞNG DÀNH ĐƯỢC VÀ ĐỐI VỚI
NGƯỜI SỬ DỤNG CUỐI
VI.1- Các giải thưởng dành được
Tháng 10 năm 2007, Hệ quản trị nội dung mã nguồn mở PHP tốt nhất do Packt Publishing trao tặng
Tháng 11 năm 2006, Hệ quản trị nội dung mã nguồn mở tốt
nhất[11]
do Packt Publishing công bố
Tháng 10 năm 2006, Dự án mã nguồn mở/ Linux tốt nhất tại triển lãm LinuxWorld 2006 ở Anh
Tháng 10 năm 2005, Dự án mã nguồn mở/ Linux tốt nhất tại triển lãm LinuxWorld 2005 ở Anh
VI.2 – Đối với người sử dụng cuối
- Việc cài đặt Joomla! khá dễ dàng và nhanh chóng, thậm chí cả đối với những lậptrình viên nghiệp dư Joomla có một cộng đồng người
sử dụng và phát triển rất lớn và tăng trưởng không ngừng
- Các thành viên và các lập trình viên rất nhiệt tình và sẵn sàng tư vấn, giúp đỡ khi người sử dụng gặp khó khăn.Joomla cung cấp giao diện web trực quan do vậy khá dễ dàng để thêm một nộidung mới hay một mục mới, quản lý các phòng ban, danh mục nghề nghiệp, ảnh cácsản phẩm và tạo không giới hạn số phần, mục, chuyên mục cũng như các nội dungcủa Website
-Hiện tại ở Việt Nam chúng ta, cộng đồng Joomla đã và đang phát triển mạnh mẽ tại diễn đàn
Trang 10
PHẦN 2-MỘT SỐ KHÁI NIỆM TRONG JOOMLA
- Lần đầu tiên khi tiếp xúc với Joomla! nhiều người luôn cảm thấy rằng có điều gì đókhó hiểu ở Joomla! khiến cho việc tiếp cận với
nó thật khó khăn Đó chính là do cáckhái niệm và thuật ngữ khác lạ của Joomla!, mà thật ra nó cũng chẳng khác lạ gì mấyso với các hệ thống quản trị nội dung (CMS: Content management System) khác Phần này sẽ trình bày các khái niệm cơ bản trong Joomla!
I-FRONT- END VÀ BACK-END
I.1- Front-end
Front-end (tiền sảnh), còn được biết với tên gọi Public Front-end: phần giao diện phía ngoài, nơi tiếp xúc với mọi người sử dụng Bất
cứ ai cũng có thể trông thấy khigõ đúng đường dẫn URL vào trình duyệt.Front-end chứa 1 trang đặc biệt là FrontPage (homepage) - trang chủ
I.2 Back-end
- Back-end, còn được biết với tên gọi Public Back-end,
Administrator, Control Pane: phần dành cho người quản trị Những người bình thường không biết đường dẫn đểtruy cập, hoặc nếu có biết thì cũng phải qua bước kiểm tra tài khoản.Phần back-end được truy cập thông qua đường dẫn:http://your_domain/administrator
Trang 11II- CÁC THÀNH PHẦN MỞ RỘNG (EXTENSION)
II.1- Module
- Module là một trong 3 thành phần mở rộng chính của Joomla! Đó là một đoạn mãnhỏ thường được dùng để truy vấn các thông tin từ cơ sở
dữ liệu và hiển thị các kếtquả tìm được Nó có thể được nạp vào một
vị trí bất kỳ trên template (vị trí left, right,top, bottom hoặc vị trí do người dùng định nghĩa); có thể hiện trên tất cả các trangcủa Website hay một số trang được ấn định Khả năng tương tác giữa người sử dụngvà hệ thống thông qua module là hạn chế (chúng ta thường chỉ nhận thông tin trả về)
-Modules thường được dùng để hiển thị những thông tin khác nhau và/hoặc nhữngtính năng tương tác trong toàn bộ site Joomla của bạn Một Module có thể chứa hầunhư bất kì thứ gì từ những văn bản đơn giản, đến HTML, đến những ứng dụng hoàntoàn độc lập của các hãng thứ ba Những Module cũng có thể hiển thị nội dung tươngtác, như các poll (thăm dò ý kiến), những tagboard, tin mới nhất, tin khẩn và nhiều nữa
-Các Site Module khác với các Administrator Module bởi vì chúng hiển thị nhữngnội dung trong Front-end của site trong khi nhưng
Admini Module liên quan đến cáctác vụ và/hoặc những tính năng khác nhau của Administrative (hoặc Back-end) CácModule có thể được tạo bởi bạn (costom/user module) hay được tải về và cài đặt.Quản lý cac module luôn luôn lằm trong Administrator (Admin Seciton)
VàoModules \ Module Manager trên thanh Menu Ở đó bạn có thể cài đặt/tháo bỏ mộtmodule và chỉnh sửa nhứng cấy hình phổ biến như là: tên, những trang nó xuất hiện,vùng đặt nó, và cấp độ truy cập Từ
danh sách chọn module bạn muốn cấu hình
-Module Manager là bộ đầu tiên thiết đặt hiển thị số lượng chính xác module Tậncuối danh sách ban có thể thấy một chức năng tổ chức trang, nơi cho phép bạn điềuhướng đến bộ cài đặt kế tiếp của các
module trong danh sách Bạn cũng có thể cài đặtsố module được hiển thị trên một trang băng các chọn số trên hộp chọn đổ xuống trêngóc trên phải màn hình Ở đây bạn có thể tìm thấy một danh sách của tất
Trang 12cả bộ thiếtlập mặc đinh site module khi cài đặt Joomla Mỗi cái quy chiếu đến một loại module cụ thể được định từ trước Dưới những tiêu
đề danh sách cụ thể được hiển thị nhữngtrạng thái của nhưng Module được cài đặt trên hệ thống
-Những Module được xác đinh bằng môt kểu (ví dụ mod_mainmenu) Nhiều thểhiện của cùng một module có thẻ được tạo ra bằng cách chép môt loại module cụ thể,cho nó một tiêu đề khác và các thông số khác theo nhu cầu của bạn Bạn có thể tạomột module tùy thích với một loại “User” bằng cách click vào biểu tượng “New” Đâylà một mudule rất hữu dụng mà bạn thường tạo một Content (content này không liênquan gì đến các Section, Category hay Static Content Item) hay RSS feed Nó cũngđược dùng như một hộp văn bản hay môt
module ảnh hay thậm chí bao gồm code tùy biến
-Những Site Module sau được gói cùng với Joomla : Những tiêu đề
cho mỗi modulelà tiêu đề mặc định trong phiên bản Joomla Những tiêu đề này có thể được đổi tênhoặc dịch cho hợp với nhu cầu của bạn:
+ Archive – kho lưu
+ Latest News – tin mới
+ Login Form – biểu mẫu login
+ Main Menu – menu chính
+ Popular – ưa chuộng
+ Newsflash – tin khẩn
+ Who's Online – ai trong mạng
+ Polls – thăm dò ý kiến
+ Random Image – hình ảnh ngẫu nhiên
+ Related Items – mục liên quan
+ Syndicate – đăng tin
Trang 13+ Sections – phân loại
+ Statistics – thống kê
+ User (Custom & RSS Feeds)
+ Template Chooser – chọn template
+ Wrapper – trình bao bọc
Trang 14II.2-Component
- Các Component là những thành phần nội dung đặc biệt hay những ứng dụng.Joomla bao gồm một số nhân component và hỗ trợ khả năng
tự tăng cường tính năngvới component của các hãng thư ba Những component được gắn sẵn, cai bao gồmtrong Joomla, là một phần
của tính năng nhân Bạn sẽ tìm thấy những compnent củahãng thứ ba tại Joomla Forge cũng như tại rất nhiều nhà phát triển thứ ba và
nhữngsite cộng đồng Cấu hình và trợ giúp thêm thường được cung cấp với kèm với chínhcomponent Những component là mô phỏng tự nhiên, điềunày làm nó có khả năngtăng cường các chức năng của
Joomla trong bất kì hoàn cảnh nào Một component đặctrưng giống như Menu item Những visitor và/hay những user có thể thấy nội
dungcủa component bằng cách click vào liên kết của Menu item này
Nó thường được hiểnthị trong vùng nội dung chính của site
-Những component được bao gồm với Joomla là :
+ Banners – ô quảng cáo
+ Contacts – Liên hệ
+ Newsfeeds – điểm tin
+ Polls – thăm dò
+ Web Links – liên kết web
-Banner Component – Ô quảng cáo: Component này cho phép
bạn hiển thị những banner (hộp quản cáo) kế tiếp nhau trên site Nó cũng cho bạn một vài chức năng caocấp như quản lý những điểm nhấn
và những mã tùy thích
-Banner Manager – quản lý Banner: Trong phần này, bạn điều
khiển những banner thực sự Có những quảng cáo đồ họa hay thông
điệp xuất hiện tại phần địnhtrước trên site Joomla
Trang 15-Banner Client Manager – Quản lý Quảng cáo của Khách hàng:Phần này cho phép bạn cài đặt những trương mục cho những
khách hàng mà bạn đang dành cho họquyền được đạt banner vào
* CHÚ Ý : Những banner Flash có thể dụng được với Joomla
Banner Component
-Contact Manager Component – Quản lý Liên hệ : Contact
Manager componentcung cấp cho bạn khả năng quản lý một danh sách các liên hệ cho site của bạn Nhưngvisitor có thể tìm bạn hoặc những thông tin về tổ chức của bạn bao gồm tên, địa chỉthư, số điện thoại và số fax Họ có thể liên lạc với bạn hặc tổ chức của bạn bằng cáchđiền vào biểu mẫu liên hệ đơn giản và lick biểu tượng “Send” Bạn có thể có nhiềuhơn một contact item
- Newsfeed Component – (điểm tin): Newsfeed là cách dùng
chuntg tin tứcgiữa các site khác nhau Ngày càng nhiều những nhà cung cấp content chia sẻ một phần content của họ qua những RSS newsfeed Cách thức chia sẻ này có nghĩa là tạomột tin vắn giới thiệu theo nhà cung cấp muốn và thường có một liên kết đến websitecủa nhà cung cấp
- Newsflash Component – tin khẩn: Newsflash là một thông
điệp động đượchiển thị trên site của bạn Nó thường hiển thị trong một text box (hộp văn bản) để thuhút sự chú ý trên Frontpage của bạn Nó cho những visitor một mẩu tin nhỏ, nhưnhững tin quan trọng Bạn có thể có một hay nhiều Newsflash item
- Poll Component – thăm dò ý kiến : Component này cho phép
bạn quản lý và tạo các poll (cuộc thăm dò ý kiến) khác nhau cho
những visitor của bạn Những câu hỏi bạn hỏi có thể hữu dụng cho những thông tin có mục đích
- Web Links Component – liên kết Web: Web Links
component là một bộ sưu tậpnhững liên kết như những liên kết yêu thích, liên kết Joomla!, hoặc bất cứ gì mà bạnthích Component được thiết kế có khả năng đếm số lần click vào mỗi liên kết vànhững user
đã đăng kí có thể đệ trình những liên kết mới từ Front-end