Tìm hiểu mã nguồn mở Joomla và triển khai website giới thiệu Áo Cưới Tìm hiểu mã nguồn mở Joomla và triển khai website giới thiệu Áo Cưới Tìm hiểu mã nguồn mở Joomla và triển khai website giới thiệu Áo Cưới Tìm hiểu mã nguồn mở Joomla và triển khai website giới thiệu Áo Cưới
Trang 1NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Hưng Yên, ngày tháng năm 2013
Giáo viên hướng dẫn
Trang 2NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Hưng Yên, ngày tháng năm 2013
Giáo viên phản biện 1
Trang 3MỤC LỤC
LỜI CẢM ƠN 1
PHẦN I: MỞ ĐẦU 2
PHẦN 2 4
CHƯƠNG I: NGHIÊN CỨU TỔNG QUAN VỀ MÃ NGUỒN MỞ 4
1.1 Mã nguồn mở 4
1.2 Giới thiệu về ngôn ngữ lập trình PHP và hệ quản trị CSDL MySQL 6
1.3 Hệ quản trị nội dung joomla 9
CHƯƠNG 2: ỨNG DỤNG VÀ PHÁT TRIỂN ÁO CƯỚI 20
2.1 Giới thiệu về website áo cưới 20
2.2 Xác định chức năng hệ thống 20
2.3 Các chức năng của trang website 20
2.4 Các Module sử dụng trong website 23
CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH THỰC NGHIỆM 29
3.1 Yêu cầu hệ thống 29
3.2 Giới thiệu chương trình 30
3.3 Giao diện các trang của trang web 32
CHƯƠNG 4: BẢO MẬT CHO WEBSITE - UPLOAD VÀ CÀI ĐẶT TRANG WEB VỪA TẠO LÊN HOST 36
4.1 Bảo mật cho website 36
4.2 Upload và cài đặt website lên host 39
PHẦN 3 - KẾT LUẬN 45
Ý KIẾN CỦA GIẢNG VIÊN HƯỚNG DẪN 47
Trang 4DANH MỤC CÁC TỪ VIẾT TẮT
FOSS Free & Open Source Software
Trang 5LỜI CẢM ƠN
Đầu tiên, chúng em xin chân thành cảm ơn Ban giám hiệu, qúy thầy cô trường
ĐH Sư phạm kỹ thuật Hưng Yên, đặc biệt là thầy cô trong khoa Công Nghệ Thông Tin
đã tận tình giảng dạy và truyền đạt cho em những kiến thức quý báu trong những nămhọc vừa qua
Xin chân thành gửi lời cảm ơn đến thầy Lê Văn Vịnh giảng viên khoa Công
Nghệ Thông Tin đã tận tình hướng dẫn, giúp đỡ em trong quá trình định hướng,nghiên cứu và hoàn thiện đồ án này một cách tốt so với những gì đã đặt ra
Trong quá trình thực hiện đồ án, mặc dù đã có nhiều cố gắng tuy nhiên vẫn còn
có nhiều thiếu sót và hạn chế, kính mong các thầy (cô) và các bạn đóng góp ý kiến củamình để đồ án được hoàn thiện hơn
Hưng Yên, tháng 11 năm 2013
Sinh viên thực hiện
Nguyễn Văn Đàng Hoàng Chí Công
Trang 6PHẦN I: MỞ ĐẦU
1 Lý do chọn đề tài
Ngày nay, với sự bùng nổ của hệ thống mạng toàn cầu Internet và những lợi ích
vô cùng to lớn của nó mang lại đã thực sự thu hút và chinh phục con người Tận dụngnhững tính năng mạnh mẽ của Internet, những công nghệ mới về thông tin và truyềnthông, người ta đã xây dựng nên những hệ thống đặc biệt để mọi người có thể có thểứng dụng đưa vào đời sống thực tiễn, và điều đó thực sự sẽ làm thay đổi cuộc sốngcủa xã hội chúng ta theo chiều hướng tiện lợi hơn, văn minh hơn Cùng với việcInternet đang nhanh chóng lan rộng khắp toàn cầu thì WEBSITE thương mại sẽ trởthành công cụ chủ yếu và đắc lực cho việc kinh doanh mua bán trên phạm vi toàncầu.Các công ty, các doanh nghiệp có thể quảng cáo các sản phẩm, các dịch vụ củamình trên các WEBSITE Điều này sẽ giúp tăng doanh thu, tăng khách hàng và đặcbiệt là dễ dàng tìm các đối tác kinh doanh Và việc chi trả thanh toán trực tuyến rấtnhanh chóng và đơn giản thông qua các loại thẻ tín dụng Cho nên cần phải có nhữngcông nghệ mới để quản lý, quản trị WEBSITE, để đáp ứng những nhu cầu trên vì lý do
đó mà em chọn đề tài về Joomla quản lý trang web giới thiệu áo cưới Mục tiêu đề tài Xây dựng được một website “Website giới thiệu áo cưới” , tập trung vào việc phát
triển component và các module phục vụ một cách có hiệu quả cho người dùng
2 Phạm vi, đối tượng của đề tài
Website được xây dựng nhằm hỗ trợ cho các cá nhân, công ty, cơ quan, có nhucầu quản bá sản phẩm, cũng như quản lý trong việc đăng thông tin dịch vụdịch vụ Đốitượng phục phụ: Cá nhân, công ty, cửa hàng vừa và nhỏ Nhà quản trị website
3 Ý nghĩa thực tiển của đề tài
Có thể tra cứu, cập nhật, thống kê, báo cáo sản phẩm, nhà sản xuất, thông tin Ảnh viện
… Tạo một website thân thiện, nhanh và hiệu quả hơn trong việc quản lý, hay giớithiệu bằng thủ công Hoàn thành tốt đề tài thực tập cơ sở của tôi
Trang 7Đồ án bao gồm những nội dung chính sau:
PHẦN 1: MỞ ĐẦU
PHẦN 2: NỘI DUNG
CHƯƠNG I: NGHIÊN CỨU TỔNG QUAN VỀ MÃ NGUỒN MỞ
CHƯƠNG 2: ỨNG DỤNG VÀ PHÁT TRIỂN ÁO CƯỚI
CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH THỰC NGHIỆM
CHƯƠNG 4: BẢO MẬT CHO WEBSITE – UPLOAD VÀ CÀI ĐẶT TRANGWEB VỪA TẠO LÊN HOST
PHẦN 3: KẾT LUẬN
Trang 8PHẦN 2 CHƯƠNG I: NGHIÊN CỨU TỔNG QUAN VỀ MÃ NGUỒN MỞ
1.1 Mã nguồn mở
a Khái niệm
Phần mềm nguồn mở là phần mềm với mã nguồn được công bố và sử dụng mộtgiấy phép nguồn mở Giấy phép này cho phép bất cứ ai cũng có thể nghiên cứu, thayđổi và cải tiến phần mềm, và phân phối phần mềm ở dạng chưa thay đổi hoặc đã thayđổi
Năm 1998 một nhóm người chủ trương rằng thuật ngữ phần mềm tự do nên đượcthay thế bằng phần mềm nguồn mở vì thuật ngữ này ít mơ hồ hơn và dễ sử dụng hơncho giới doanh nghiệp
b Phần mềm OSS và FOSS
Chúng ta thường nghe nói tới các phần mềm nguồn mở OSS (Open SourceSoftware) Tuy nhiên còn một cụm từ thường được sử dụng khác là FOSS (Free &Open Source Software), có nghĩa là các phần mềm nguồn mở và tự do, dùng để chỉ cácphần mềm có giấy phép sử dụng theo kiểu GNU Những phần mềm này cho phépngười sử dụng quyền tự do chạy, quyền tự do sao chép, quyền tự do phân phối lại,nghiên cứu, thay đổi và cải tiến cho phù hợp với nhu cầu sử dụng của mình mà khôngcần phải tới sự cho phép, hoặc phải trả tiền, cho bất cứ cá nhân hoặc nhóm người nào Cụm từ tự do trong FOSS không ám chỉ sự miễn phí, mà chỉ nói về các quyền tự
do mà FOSS mang lại cho người sử dụng Cụm từ nguồn mở nhấn mạnh đến quyềncủa người sử dụng được nghiên cứu, thay đổi và cải tiến mã nguồn – có nghĩa là cảthiết kế chi tiết của các ứng dụng FOSS Các phần mềm tự do thường mang yếu tố mãnguồn mở và ngược lại, vì cả hai loại phần mềm này đều nằm trong cùng một tập hợpcác quyền tự do dành cho người sử dụng phần mềm và đã được Richard Stallman địnhnghĩa từ cuối những năm 1980
c Lợi ích và hạn chế
+) Lợi ích
Chi phí thấp: PMNM được dùng miễn phí về bản quyền và nếu có chi phí thì
cũng chỉ là chi phí cho đóng gói dịch vụvà dịch vụ cho sản phẩm Vì vậy, chi phí rấtthấp so với các phần mềm thương mại
Trang 9Độc lập: PMNM không bị lệ thuộc vào bất kỳ một nhà cung cấp nào Sự độc
lập này là rất quan trọng vì các cơ quan Nhà nước đều cần có những giải pháp chung,chuẩn hóa và không muốn phụ thuộc vào các dịch vụsở hữu riêng của các nhà cungcấp
Tính thích ứng và sáng tạo: Thực tế đã cho thấy rất ít chương trình có thể tồn
tại không cần thay đổi, nâng cấp trong một thời gian dài Vì thế, khả năng cho phép lậptrình viên xác định và sửa các lỗi cũng như thích ứng phần mềm với các yêu cầu mớiphát sinh là một vấn đề rất quan trọng Sự sẵn sàng có mã nguồn và có quyền thay đổichúng giúp cho công việc này dễ dàng hơn Việc có được mã nguồn cũng giúp nhữngnhà lập trình sáng tạo ra phần mềm riêng của mình, đặc biệt đối với thế hệ trẻ và cácdoanh nghiệp phục vụ các yêu cầu đa dạng của khách hàng
Chất lượng tin cậy: Nhiều phần mềm có chất lượng và độ tin cậy cao Các
PMNM khi đã hoàn thành thông thường sẽ được thử nghiệm, đánh giá, phát hiện lỗi vàhoàn thiện bổ sung bởi nhiều rất nhiều nhà phát triển khác nhau trên toàn thế giới vàcông việc này cũng không bị áp lực về thời gian Các nhà sản xuất phần mềm thươngmại lại thường công bố thời điểm ra đời của một phiên bản nào đó rồi sau đó buộc phảitung ra thị trường những dịch vụvẫn còn có lỗi để giữ đúng thời hạn đã công bố
Tính lâu dài: PMNM không có một chủ sở hữu duy nhất là lý do bảo đảm để
không ai có thể làm ngừng hoặc “giết chết” dịch vụnày Việc dịch vụbị ngừng hay bị
“giết chết” dễ dàng xảy ra đối với phần mềm thương mại như ở trong các trường hợpsau: công ty bị phá sản, hoặc sát nhập, hoặc bán lại cho một công ty khác, hoặc thayđổi chiến lược và phương hướng kinh doanh Do đó người sử dụng PMNM sẽ không
bị lo ngại xảy ra trường hợp bị bắt buộc chuyển sang giải pháp khác như đối với phầnmềm thương mại khi nhà cung cấp phần mềm thương mại quyết định ngừng hỗ trợ kỹthuật
Phát triển dễ dàng: Những dự án và phát triển phần mềm mới có thể được
thực hiện mà không cần phải xin phép ai trước khi triển khai Việc này phù hợp vớicác kỹ thuật phát triển mới: tạo ra giải pháp bằng cách tập hợp nhiều đối tượng đã có
mà không sợ rủi ro bị ngừng giữa chừng vì những hạn chế pháp lý và những qui định
về sở hữu trí tuệ đối với phần mềm
+) Hạn chế
Đa dạng và phức tạp : Cộng đồng mã nguồn mở đã phát triển nhiều ứng dụng
đa dạng với những chức năng tương tự nhau Điều này gây khó khăn cho những ngườimới sử dụng trong việc chọn lựa
Trang 10Sự dư thừa: Sự chia nhánh mã nguồn có thể dẫn đến sự lãng phí trong quá
trình phát triển nó Nếu các nguồn phát triển được kết hợp và tổ chức lại một cách tốthơn thì hiệu suất sẽ được nâng cao
Thiếu các ứng dụng: Vẫn còn những lĩnh vực vắng bóng các PMNM (VD: một trình biên soạn HTML như MS Frontpage)
Bất tiện: Mã nguồn mở thường chỉ tập trung vào các mã của nó mà ít chú ý đến
thiết kế giao diện và phát triển các tiện ích
Tính tương hỗ với các hệ thống phần mềm đóng: Các phần mềm nguồn mở,
nhất là khi cài trên máy để bàn, thường không hoàn toàn tương thích với phần mềmđóng
1.2 Giới thiệu về ngôn ngữ lập trình PHP và hệ quản trị CSDL MySQL
a Giới thiệu về ngôn ngữ lập trình PHP
Cái tên PHP ban đầu được viết tắt bởi cụm từ Personal Home Page và đượcphát triển từ năm 1994 bởi Rasmus Lerdorf Lúc đầu chỉ là bộ đặc tả Perl, được sửdụng để lưu dấu vết người dùng trên các web Sau đó Rasmus Lerdorf đã phát triểnPHP như là một máy đặc tả (Scripting engine) Vào giữa năm 1997, PHP đã phát triểnnhanh chóng trong sự yêu thích của nhiều người PHP đã không còn là một dự án cánhân của Rasmus Lerdorf và đã trở thành công nghệ web quan trọng Zeev Suraski vàAndi Gutmans đã hoàn thiện việc phân tích cú pháp cho ngôn ngữ để rồi tháng 6 năm
1998, PHP3 đã ra đời (phiên bản này có phần mở rộng là *.php3)
Cho đến tận thời điểm đó, PHP chưa 1 lần được phát triển chính thức, một yêucầu viết lại bộ đặc tả được đưa ra, ngay sau đó PHP4 ra đời (phiên bản này có phần
mở rộng không phải là *.php4 mà là *php) PHP4 nhanh hơn PHP3 rất nhiều PHPbây giờ được gọi là PHP Hypertext PreProcesor Tính đến thời điểm hiện thời, phiênbản PHP ổn định mới nhất là 5.3.5
b Tại sao phải sử dụng PHP
Như chúng ta đã biết, rất nhiều website được xây dựng bởi ngôn ngữ HTML(Hypertext Markup Language) Đây chỉ là những website tĩnh, nghĩa là chứng chỉchứa đựng một nội dung cụ thể với những dòng văn bản đơn thuần, hình ảnh và có thểđược hỗ trợ bởi ngôn ngữ JavaScript hoặc Java Apple Tuy nhiên, website cần đượccập nhật nội dung một cách linh hoạt dễ dàng, vì vậy nó cần tới cơ sở dữ liệu Cácwebsite như vậy được gọi là website động Bởi nội dung của chúng luôn thay đổi tuỳthuộc vào dữ liệu và người sử dụng PHP là ngôn ngữ đáp ứng được những yêu cầu
Trang 11trên Bằng cách chạy chương trình PHP trên máy chủ Web Sever, chúng ta có thể tạo
ra ứng dụng có sự tương tác với cơ sở dữ liệu
Chúng ta hãy xem xét cách hoạt động của những trang web được viết bằng ngônngữ HTML và PHP như thế nào:
Với các trang HTML
Khi có yêu cầu tới mọi trang web từ phía người sử dụng (browser) Web serverthực hiện ba bước sau:
Đọc yêu cầu từ phía browser
Tìm trang web trên server
Gởi trang web đó trở lại cho browser nếu tìm thấy
Hình 1.1 Hoạt động của website viết bằng HTML
Với các trang PHP
Khác với các trang HTML, khi một trang PHP được yêu cầu, web server phântích và thi hành các đoạn mã PHP để tạo ra trang HTML Điều này được thực hiệnbằng bốn bước sau:
Đọc yêu cầu từ phía browser
Tìm trang web trên server
Thực hiện các đoạn mã PHP trên trang web đó để sửa đổi nội dung củatrang
Gửi nội dung cho browser ở dạng HTML
Trang 12Hình 1.2 Hoạt động của website viết bằng PHP
Tóm lại, sự khác nhau giữa HTML và PHP là HTML không được thực hiện xử lýtrên máy chủ Web server còn các trang viết bằng mã PHP được thực hiện và xử lý trênmáy chủ Web server, do đó PHP linh động và mềm dẻo hơn
- PHP cung cấp một hệ thống thư viện phong phú và ngày càng phát triển
Do PHP ngay từ đầu được thiết kế nhằm mục đích xây dựng và phát triển các ứngdụng trên web nên PHP cung cấp rất nhiều hàm xây dựng sẵn giúp thực hiện các côngviệc rất dễ dàng: gửi, nhận mail, làm việc với cookie…
- PHP là một ngôn ngữ rất dễ dùng, dễ học và đơn giản hơn nhiều so với cácngôn ngữ khác như Perl, Java
- Đặc biệt, PHP là ngôn ngữ mã nguồn mở Có rất nhiều phần mềm website
mã nguồn mở được viết trên nền tảng của PHP như Joomla, Drupal, Nukeviet
c Các đặc điểm của MySQL:
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệuquan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL)
Trang 13MySQL là một phần mềm quản trị CSDL mã nguồn mở, miễn phí nằm trongnhóm LAMP (Linux - Apache -MySQL - PHP)
MySQL là một hệ quản trị nhỏ, bảo mật và rất dễ sử dụng Thường sử dụngcho các ứng dụng nhỏ và trung bình Nó được sử dụng cho các ứng dụng client-servervới máy chủ mạnh như UNIX, Windows, và đặc biệt là máy chủ UNIX
MySQL hỗ trợ các điểm vào là ANSI 92 và ODBC mức 0-2 SQL chuẩn.MySQL hỗ trợ nhiều ngôn ngữ cho việc thông báo lỗi như: Czec, Dutc,English, Estonia, Polish, Porugue, Spanish and Swedish Ngôn nữ được hỗ trợ mặcđịnh cho dữ liệu là ISO-8859-1(Latin1)
Ngôn ngữ lập trình được sử dụng để viết các hàm API để nhập cơ sở dữ liệuMySQL có thể là C, Perl, PHP
Cơ sở dữ liệu MySQL rất dễ quản lý và có tốc độ xử lý cao hơn tớ ba bốnlần so với các hệ quản trị cơ sở dữ liệu khác
MySQL không cho phép thực hiện các câu lệnh SQL select truy vấn con.MySQL không hỗ trợ Stored Procedures, Triggers, Transactions, ForeignKeys và Views như các hệ quản trị cơ sở dữ liệu khác
1.3 Hệ quản trị nội dung joomla
a Giới thiệu sơ lược về Joomla
+) Joomla! là gì?
Joomla! là một nền tảng mã nguồn mở được viết bằng ngôn ngữ PHP và sử dụng
cơ sở dữ liệu MySQL, cho phép người dùng có thể dễ dàng soạn thảo và xuất bản cácnội dung (bài viết, tài liệu ) của họ lên Internet hoặc Intranet
Joomla! giúp xây dựng và triển khai các website blog, website tin tức, websitebán hàng, website thương mại điện tử cho tới mạng cộng đồng, mạng xã hội trongmột thời gian ngắn và tiết kiệm nhiều công sức
Joomla! được phát âm theo tiếng Swahili như là jumla nghĩa là "đồng tâm hiệplực" Khẩu ngữ này khẳng định sự đoàn kết và quyết tâm của cộng đồng Joomla!
+)Tại sao sử dụng Joomla?
Joomla là mã nguồn mở và được cung cấp hoàn toàn miễn phí
Joomla là nền tảng mã nguồn mở được xây dựng và đóng góp bởi nhữngchuyên gia hàng đầu và những thành viên tích cực khác
Trang 14 Joomla! có một cộng đồng phát triển cũng như sử dụng rất lớn Điều đó cónghĩa là ngay khi bạn gặp vấn đề khó khăn, rất nhiều người tình nguyện sẵn sàng giúp
đỡ bạn
Joomla! giúp tiết kiệm thời gian và công sức thiết kế Website
Sử dụng Joomla rất dễ dàng và thân thiện đối với cả những người nghiệp dư vàcác chuyên gia
Joomla! cung cấp rất nhiều chức năng ở các lĩnh vực khác nhau thông qua cácthành phần mở rộng được phát triển bởi các hãng thứ ba, trong khi phần lớn trong sốchúng cũng đều có mã nguồn mở và miễn phí
Joomla! có một số lượng template (giao diện) khổng lồ, từ những giao diện ởmức đơn giản cho tới phức tạp
Joomla! có hàng trăm website cung cấp các tài liệu hướng dẫn sử dụng từ cơbản cho tới nâng cao Các hướng dẫn đều rõ ràng, dễ hiểu và có các minh họa bằnghình ảnh, video clip kèm theo
Tài liệu API dành cho lập trình viên, phát triển viên được cung cấp đầy đủ
Các hoạt động của Joomla! như triển lãm Joomla (Joomla Exhibition), hội thảoJoomla (Joomla Workshop), ngày hội Joomla (Joomla! Day) được tổ chức thường niên
ở các thành phố lớn của các nước như Úc, Mỹ, Anh, Pháp luôn thu hút đông đảo cácthành viên tham gia
+) Tình hình sử dụng Joomla! ở Việt Nam
Hình 1.3 Tình hình sử dụng Joomla! ở Việt Nam
Kể từ khi Joomla! 1.0 ra đời vào tháng 09/2005, có hàng nghìn thậm chí hàngchục nghìn website ở Việt Nam đã được xây dựng trên nền tảng Joomla! và con số nàyvẫn đang tiếp tục tăng không ngừng Nhiều người từng là quản trị viên của diễn đànJoomla Việt đầu tiên đã thành lập các công ty chuyên thiết kế website Joomla và đanggặt hái những thành công bước đầu Một vài người khác thậm chí đã vượt qua hàngtrăm công ty tên tuổi khác trên thế giới để trở thành công ty hàng đầu về cung cấp
Trang 15template, dịch vụ gia công cho Joomla! với doanh thu ước tính từ hàng tỷ cho tới hàngchục tỷ đồng mỗi năm.
So với các nền tảng mã nguồn mở từng gây tiếng vang ở Việt Nam như dòngnuke (PostNuke, phpNuke, NukeViet, DotNetNuke) hay Plone, Xoops thì Joomla!hiện là nền tảng phát triển nhanh nhất, được sử dụng nhiều nhất và có một cộng đồnglớn mạnh nhất
b Các giải thưởng mà Joomla! Đã đạt được
Hệ quản trị nội dung mã nguồn mở PHP tốt nhất do Packt Publishing trao tặngtháng 10/2007
Hệ quản trị nội dung mã nguồn mở tốt nhất do Packt Publishing công bố tháng11/2006
Dự án mã nguồn mở/ Linux tốt nhất tại triễn lãm LinuxWorld 2006 ở Anhtháng 10/2006
Dự án mã nguồn mở/ Linux tốt nhất tại triễn lãm LinuxWorld 2005 ở Anhtháng 10/2005
c Các Phiên Bản Của Joomla
Hiện tại Joomla có năm phiên bản chính:
Joomla 1.0.x: Phiên bản thế hệ 1 (được cộng đồng người sử dụng và các nhà
phát triển đánh giá rất ổn định) Phiên bản đầu tiên là phiên bản Joomla 1.0.0 (ngày25/9/2005) có nguồn gốc từ mambo 4.5.2.3 Phiên bản phát hành cuối cùng của
Joomla 1.0 là phiên bản Joomla 1.0.15 (ngày 22/2/2008)
Dòng phiên bản 1.5.x: Phiên bản thế hệ 2 (ổn định), đây là phiên bản cải
tiến từ phiên bản Joomla 1.0.x trong đó phần code được viết mới hoàn toàn, tuy nhiênvẫn giữ cách hành xử như phiên bản cũ Phiên bản Joomla 1.5.x được coi như Mambo4.6 Phiên bản Joomla 1.5 tiếp tục duy trì một giao diện look and feel (nhìn và cảmnhận) rất thuận tiện đối với người sử dụng Cả Joomla 1.5 và mambo 4.6 đều hỗ trợ đangôn ngữ Joomla sử dụng file định dạng “.ini” để lưu trữ các thông tin chuyển đổingôn ngữ, nó 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, phù hợp với ngôn ngữ Việt Nam Joomla 1.5 cũng bao gồm các đặc tính mớinhư:
Hỗ trợ các hình thức chứng thực LDAP, Gmail
Trang 16Hỗ trợ mô hình Client-Server hỗ trợ giao thức gọi hàm từ xa Xml-Rpc.
Hỗ trợ các trình điều khiển cớ sở dữ liệu dành cho MySQL 4.1+ (trên nềnPHP5) và tăng cường hỗ trợ cho MySQL 5, đồng thời nó cũng hỗ trợ các hệ quảntrị cơ sở dữ liệu khác
Phiên bản 1.6.x: Với một khoảng thời gian chuẩn bị xấp xỉ 3 năm, cuối cùng
Joomla phiên bản 1.6 cũng đã chính thức được ra mắt (ngày 11/01/2011) với các tínhnăng được chờ đợi từ rất lâu của cộng đồng Joomla như:
Quản lý truy xuất của người dùng (ACL)
Phân loại nội dung đa cấp thay vì chỉ có hai cấp như phiên bản trước
Quản lý và nâng cấp các thành phần mở rộng chỉ với vài cú nhấp chuột.Khả năng cài đặt một lúc nhiều loại thành phần mở rộng
Thư viện JForm mới giúp việc tạo và quản lý Form trong trang web dễ dànghơn, giúp tăng tốc trong việc phát triển các thành phần mở rộng trong Joomla
Và rất nhiều cải tiến khác giúp tăng tốc độ tải trang, cải thiện trải nghiệm chongười dùng, tối ưu hoá cho các bộ máy tìm kiếm.v.v
Phiên bản 1.7.x: Như dự đoán, Joomla! 1.6 chỉ là bước đệm để tiến tới
Joomla! 1.7, phiên bản thật sự được mọi người mong đợi với những tính năng mới vàhoàn thiện hơn
Các tính năng mới / New features – CMS
- Thêm hỗ trợ để đăng nhập API phản đối
- JToolBarHelper chức năng cho Lưu và Tạo mới và Lưu Sao chép
- Mod_custom với backgroundimages
- Cho phép preselection các loại trong com_content
- Thêm JFormRuleOptions quy tắc để xác nhận các loại = "danh sách" các thông số
- Hãy sao chép / di chuyển phù hợp giữa các thành phần
- Cập nhật TinyMCE phiên bản 3,4
- Các thông số mới cho các bộ chuyển đổi ngôn ngữ
- Dịch thuật các đội có thể bao gồm một tập tin css trong gói quản trị của họ
để thay đổi phông chữ được sử dụng trong cuối
- Ngôn ngữ quản lý hiển thị ngôn ngữ cài đặt trong các thẻ
(và một vài chi tiết được xem xét )
Trang 17 Phiên bản mới nhất 2.5.x : Phần mềm mã nguồn mở Joomla đã chính thức
phát hành bản thử nghiệm phiên bản Joomla 2.5 Đây là lần phát hành thứ 2 theo chu
kỳ 6 tháng kể từ khi phiên bản Joomla 1.6 được ra mắt vào tháng 1 năm 2011.Phiên bản 2.5 hiện đang trong giai đoạn thử nghiệm và tiếp tục hoàn thiện
d Kiến trúc Joomla
Hình 1.4 Kiến trúc Joomla
Joomla! 2.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ácthư 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 ứngdụng và chứa lớp JApplication Hiện tại tầng nà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
e Thành phần mở rộng của Joomla
Thành phần mở rộng (extensions) là gói cài đặt thêm để mở rộng chức năngngoài các chức năng cốt lõi của Joomla Trong Joomla, có năm loại thành phần mởrộng
Trang 18Hình 1.5 Menu quản lý các Component của Joomla
Các Component mặc định của Joomla
Trong phiên bản Joomla 2.5 có tất cả 11 component mặc định được cung cấpkèm theo Các component này được đặt trong thư mục [Joomla]/components và nằmtrong các thư mục con tương ứng với ký hiệu là "com_tên component"
Hình 1.6 Danh sách các component mặc định của Joomla 2.5
Danh sách các component và ý nghĩa của chúng:
+com_banners: Quản lý bảng quảng cáo (banner).
+com_contact: Quản lý các đầu mối liên hệ (contact).
+com_content: Quản lý và hiển thị bài viết (đây là component quan trọng nhất) +com_mailto: Quản lý chức năng gửi/nhận email.
+com_media: Quản lý các tệp đa phương tiện (video, flash, mp3, hình).
+com_newsfeeds: Quản lý việc lấy tin từ website khác.
Trang 19+com_poll: Cung cấp chức năng bình chọn.
+com_search: Cung cấp chức năng tìm kiếm.
+com_user: Quản lý thành viên.
+com_weblinks: Quản lý và hiển thị danh mục các website liên kết.
com_wrapper: Cho phép nhúng một trang web
+) Module
Joomla Module là một trong các thành phần mở rộng của Joomla, nó là một ứngdụng nhỏ (thường chỉ có vài file và phần lập trình cũng không nhiều) được sử dụngchủ yếu để lấy dữ liệu và hiển thị thông tin Module thường được dùng kết hợp kèmvới các component nhằm mở rộng, cũng như thể hiện rõ ràng hơn các chức năng củacomponent
Không giống như component, một module có thể được đặt ở bất kỳ vị trí nào trêntemplate hoặc vị trí do người dùng tự định nghĩa Ngoài ra một module có thể đượcnhân bản, nghĩa là cùng lúc có thể xuất hiện tại một vị trí hoặc các vị trí khác nhau
Vị trí của Module Joomla.
Vị trí của module (module position) là nơi mà module có thể được đặt vào đó.Mỗi vị trí đều được xác định thông qua một định danh duy nhất (một cái tên), chẳnghạn như: left, right, top, bottom, user1, user2 Tên và số lượng các vị trí này được quyđịnh bởi template Các template khác nhau thì số lượng vị trí module cũng như tên củachúng có thể khác nhau Ngoài ra, trong quá trình sử dụng người dùng cũng có thể tựđịnh nghĩa các vị trí mới sao cho phù hợp với yêu cầu của mình
Các Module mặc định của Joomla 2.5
Trong phiên bản Joomla 1.5 có tất cả 20 module mặc định được cung cấp kèmtheo Các module này được đặt trong thư mục [Joomla]/modules và nằm trong các thưmục con tương ứng với ký hiệu là "mod_tenmodules"
Trang 20Hình 1.8 Các module mặc định của Joomla1.5
Danh sách các Module Joomla được cung cấp theo mặc định.
+mod_archive: Module hiển thị các bài viết đã được đánh dấu "lưu trữ".
+mod_banners: Module hiển thị các quảng cáo.
+mod_breadcrumbs: Module hiển thị thanh điều hướng.
+mod_custom: Module hiển thị một đoạn mã HTML bất kỳ.
+mod_feed: Module hiển thị tin lấy từ các website khác.
+mod_footer: Module hiển thị dòng bản quyền ở cuối Website.
+mod_latestnews: Module hiển thị các bài viết mới nhất.
+mod_login: Module hiển thị form đăng nhập.
+mod_mainmenu: Module hiển thị menu điều khiển.
+mod_mostread: Moudle hiển thị các bài viết được đọc nhiều nhất.
+mod_newsflash: Module hiển thị tin vắn / tin nhanh.
+mod_poll: Module hiển thị bình chọn.
+mod_random_image: Module hiển thị ảnh ngẫu nhiên.
+mod_related_items: Module hiển thị các bài viết liên quan.
+mod_search: Module hiển thị form tìm kiếm.
+mod_sections: Module hiển thị danh sách các mục của Website.
+mod_stats: Module hiển thị các thông số thống kê của Website.
+mod_syndicate: Module cấp tin cho các website khác.
+mod_whoisonline: Module hiện danh tính và số người trực tuyến.
+mod_wrapper: Mudule hiển thị một trang web bất kỳ được nhúng vào website
Joomla
+) Plugin
Trang 21Là thành phần mở rộng cung cấp một số chức năng cộng thêm cho website.Plugins khác với module và component ở đặc điểm người quản trị không cần quản lý
nó thường xuyên
Hình 1.9 Menu quản lý Joomla Plugin từ trang quản trị
Các Plugin mặc định của Joomla:
Trong phiên bản Joomla 2.5 có tất cả 32 plugin mặc định được cung cấp kèmtheo Các module này được phân thành 8 loại khác nhau và đặt trong các thư mục contương ứng của thư mục [Joomla]/plugins
Hình 1.10 Danh sách 8 loại plugin mặc định của Joomla
Danh sách các loại plugin của Joomla:
+authentication: Các plugin chứng thực quyền hạn.
+content: Các plugin nội dung (bài viết).
+editors: Các plugin về trình soạn thảo.
+editors-xtd: Các plugin hỗ trợ, mở rộng tính năng cho trình soạn thảo.
Trang 22+search: Các plugin về tìm kiếm.
+system: Các plugin của hệ thống.
+user: Các plugin về người dùng.
+xmlrpc: Các plugin cho phép quản trị Joomla, viết bài từ các hệ thống khác +) Template
Joomla Template là một gói bao gồm các file PHP, HTML, CSS, JS(Javascript) và các tấm hình, ảnh, biểu tượng, video, flash kèm theo tạo nên giaodiện (bố cục và hình hài) của website Joomla
Hình 1.11 Quản lý Template Joomla từ trang quản trị
Các Template mặc định của Joomla:
Trong phiên bản Joomla 2.5 có 3 template được đóng gói sẵn kèm theo: JAPurity (Joomlart), Rhuk Milkyway (RocketTheme) và Beez (Angie Radtke/RobertDeutz) Trong đó JA Purity là template được thiết kế bởi Joomlart - công ty có xuất xứ
từ Việt Nam và là công ty hàng đầu về template Joomla hiện nay
Trang 23H ình 1.12 Template Beez, JA Purity và Rhuk Milkyway của Joomla
Đặc điểm của Template Joomla:
+Các template của Joomla đều có khả năng tùy biến cao thông qua cách sắp xếp
và đặt vị trí các module rất linh động
+Việc thiết kế Template Joomla khá dễ dàng, thậm chí chỉ cần vài giờ là có thểchuyển từ một template thuần HTML/CSS hay một template của một PORTAL/CMSkhác sang template Joomla
+Có thể dùng cùng lúc vài template khác nhau trên cùng website Chẳng hạn đốivới trang HOME gắn với template JA Purity, còn trang DOWNLOAD lại gắn vớitemplate Rhuk Milkyway
+Số lượng template Joomla free (template miễn phí) và template Joomlacommercial (template có phí) được cung cấp trên mạng internet hiện nay là một con sốrất lớn Có tới hàng nghìn thậm chí hàng chục nghìn template
+) Languages
Joomla là mã nguồn mở hỗ trợ đa ngôn ngữ, sử dụng file định dạng “.ini” để lưutrữ các thông tin chuyển đổi ngôn ngữ, nó hỗ trợ tất cả các ngôn ngữ có tập kí tự đượcbiểu diễn bằng bảng mã UTF-8 Bằng cách cài đặt một gói ngôn ngữ, có thể để quốc tếhóa Joomla sang các ngôn ngữ khác nhau
Trang 24CHƯƠNG 2: ỨNG DỤNG VÀ PHÁT TRIỂN ÁO CƯỚI
2.1 Giới thiệu về website áo cưới
Áo cưới “thiên đàng” được sáng lập bới Nguyễn văn Đàng Ảnh viện áo cướithành lập 2012 Đến với ảnh viện bạn sẽ nhận được những album ảnh cưới: đẹp, sangtrọng, tinh tế, độc đáo, cầu kỳ và rất giá trị Với nét độc đáo chỉ có thể Áo cưới “thiên
đàng” mới có Chúng tôi rất vui lòng được phục vụ các bạn trong ngày trọng đại của mình!.
2.2 Xác định chức năng hệ thống
Website sẽ được xây dựng trên nền tảng mã nguồn mở Joomla Đối với Joomla,phải tích hợp các component đảm nhận các tính năng website Nhìn chung, website cócác chức năng chính sau:
Chức năng quản lý mẫu sản phẩm:
Danh mục sản phẩm: Cho phép quản trị website quản lý thêm mới và xóa
bớt đi các loại dịch vụmà Ảnh viện có
Mẫu Sản phẩm: Cho phép quản trị website có thể đăng dịch vụ và quản lý
các dịch vụcủa Ảnh viện, người truy cập có thể xem trên website
Chức năng quản lý thành viên: Đảm nhiệm chức năng đăng ký thành viên.
Quản lý tài khoản đăng nhập, thông tin email cơ bản của thành viên Cho phép ngườiquản trị có thể thêm, xoá sửa thông tin thành viên Thành viên cũng có thể chỉnh sửathông tin của mình Chức năng này đã mặc định tích hợp trên Joomla với componentcom_users
Chức năng quản lý thêm bớt các ảnh viện liên kết: Đảm nhiệm việc quản
lý thêm bớt các nhà liên kết tới website
Chức năng giới thiệu video, abum: Cho phép hiển thị các album, video
2.3 Các chức năng của trang website
+) Chức năng quản lý mẫu sản phẩm
Chức năng này cho phép người quản trị phân loại và quản trị các loại danh mụcsản phẩm, sản phẩm, của ảnh viện cá nhân, hay những trang liên kết
+) Tính năng cơ bản cần phải cung cấp cho người quản trị:
Trang 25- Danh mục sản phẩm: Thêm và thay đổi được tên danh mục mục sảnphẩn, giới thiệu về danh mục dịch vụđó.
- Sản phẩm: Thêm bớt và thay đổi được thông tin chi tiết từng dịch vụ chotừng danh mục
Tính năng cơ bản cần phải cung cấp cho người dùng
- Xem được các danh mục sản phẩm, album, liên kết, các giới thiệu…
- Xem được thông tin chi tiết của từng mục
Hình 2.2 Giao diện trang quản lý danh mục
+) Chức năng quản lý chính
- Cho phép quản trị website có thể chỉnh sửa các thông tin về cửa hàng,hiển thị các đơn hàng, thêm, bớt các hình ảnh về sản phẩm, quản lý các danh mục
+) Tính năng cơ bản cần phải cung cấp cho người quản trị:
- Ảnh viện: Quản lý cấu hình thông tin của ảnh viện
- Quản lý liên kết, giới thiệu đến website
+) Tính năng cơ bản cần phải cung cấp cho người dùng
- Cho phép người dùng xem được hết các mục về ảnh viện