LỜI CẢM ƠN
Trước tiên em gửi lời cảm ơn chân thành tới các thầy cô giáo trong khoa
Công nghệ thông tin trường Đại học Công nghệ thông tin và truyền thông nói
chung, bộ môn mạng và truyền thông nói riêng đã tận tình truyền đạt, giảng dạy
cho em những kiến thức, kinh nghiệm quý báu trong suốt các năm học tập và rèn
luyện tại trường.
Đặc biệt em xin gửi lời cảm ơn đến thầy giáo Lê Khánh Dương đã tận tình
hướng dẫn, trực tiếp chỉ bảo em trong suốt thời gian làm đồ án tốt nghiệp. Trong
thời gian làm việc với thầy, em không những tiếp thu thêm nhiều kiến thức bổ
ích mà còn học được tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm túc,
hiệu quả. Đây là những điều rất cần thiết cho em trong quá trình học tập và công
tác sau này.
Sau cùng em xin gửi lời cảm ơn chân thành tới gia đình, các anh chị, bạn
bè đã động viên, đóng góp ý kiến và giúp đỡ em trong quá trình học tâp, nghiên
cứu và hoàn thành đề tài này.
Thái Nguyên, tháng 06 năm 2012
Sinh viên
Hoàng Văn Tự
1
LỜI CAM ĐOAN
Em xin cam đoan:
Những nội dung trong đồ án này là do bản thân em thực hiện dưới sự
hướng dẫn trực tiếp của thầy giáo hướng dẫn : ThS. Lê Khánh Dương.
Mọi tham khảo dùng trong đồ án đều được trích dẫn rõ ràng tên tác giả, tên
công trình, thời gian, địa điểm công bố.
Mọi sao chép không hợp lệ hoặc có bất kì thông tin sai lệch nào, em xin chịu
hoàn toàn trách nhiệm trước Hội Đồng.
Sinh viên
Hoàng Văn Tự
2
MỤC LỤC
LỜI CẢM ƠN................................................................................................................1
LỜI CAM ĐOAN...........................................................................................................2
MỤC LỤC......................................................................................................................3
DANH MỤC HÌNH ẢNH..............................................................................................5
DANH MỤC BẢNG......................................................................................................5
THUẬT NGỮ VIẾT TẮT..............................................................................................6
LỜI NÓI ĐẦU................................................................................................................7
CHƯƠNG 1..................................................................................................................10
CƠ SỞ LÝ THUYẾT..................................................................................................10
1.1. Tổng quan về cổng thông tin – Portal................................................................10
1.1.1. Khái niệm Portal........................................................................................10
1.1.2. Các chức năng cơ bản của Portal...............................................................13
1.1.3. Phân loại Portal..........................................................................................15
1.1.4. Các bước xây dựng Portal..........................................................................16
1.2. Giới thiệu về Joomla..........................................................................................18
1.2.1. Lịch sử hình thành và phát triển của Joomla..............................................18
1.2.2. Các phiên bản của Joomla..........................................................................19
1.2.3. Đặc điểm của Joomla.................................................................................19
1.2.4. Thành phần của Joomla..............................................................................21
1.2.5. Các nhóm người sử dụng và quyền truy cập..............................................21
1.3. Giới thiệu về ngôn ngữ sử dụng.........................................................................28
1.3.1. Ngôn ngữ lập trình PHP.............................................................................28
1.3.2. Hệ quản trị cơ sở dữ liệu MySQL..............................................................29
1.3.3. Giới thiệu ngôn ngữ UML.........................................................................30
CHƯƠNG 2..................................................................................................................32
PHÂN TÍCH THIẾT KẾ HỆ THỐNG.........................................................................32
2.1. Khảo sát hệ thống..............................................................................................32
2.1.1. Giới thiệu trường Đại học Nông – Lâm Bắc Giang...................................32
2.1.2. Mô tả hệ thống hiện hành ..........................................................................33
2.1.3. Đánh giá hiện trạng hệ thống.....................................................................33
2.1.4. Phương hướng giải quyết...........................................................................34
2.2. Phân tích thiết kế hệ thống.................................................................................35
2.2.1. Yêu cầu hệ thống........................................................................................35
2.2.2. Biểu đồ USER CASE.................................................................................37
2.2.3. Đặc tả chi tiết từng ca sử dụng...................................................................39
2.2.4. Biểu đồ lớp.................................................................................................64
2.2.5. Chi tiết các bảng dữ liệu.............................................................................65
CHƯƠNG 3..................................................................................................................68
XÂY DỰNG VÀ PHÁT TRIỂN HỆ THỐNG............................................................68
3.1. Kiến trúc Website..............................................................................................68
3.1.1. Thành phần Website...................................................................................68
3.1.2. Bố cục Website..........................................................................................69
3.2. Xây dựng Website..............................................................................................70
3.2.1. Tạo danh mục Menu...................................................................................70
3.2.2. Tạo tin bài cho Website..............................................................................71
3.2.3. Tạo Module Custom HTML .....................................................................72
3
3.3. Các giao diện chính của Website.......................................................................74
KẾT LUẬN..................................................................................................................77
TÀI LIỆU THAM KHẢO............................................................................................78
4
DANH MỤC HÌNH ẢNH
DANH MỤC BẢNG
Bảng 1.1: So sánh Portal với Website thông thường....Error: Reference source
not found
Bảng 1.2: Các mức sử dụng của front-end user......Error: Reference source not
found
Bảng 1.3: Các mức sử dụng của back-end users....Error: Reference source not
found
Bảng 2.1: Luồng sự kiện chính của chức năng xem thông tin........................39
Bảng 2.2: Luồng sự kiện chính của chức năng tìm kiếm thông tin.................40
Bảng 2.3: Luồng sự kiện chính của chức năng gửi câu hỏi / ý kiến..........Error:
Reference source not found
Bảng 2.4: Luồng sự kiện chính của chức năng đăng ký thành viên..........Error:
Reference source not found
Bảng 2.5: Luồng sự kiện chức năng đăng nhập user case thành viên………44
Bảng 2.6: Luồng sự kiện chính của chức năng cập nhật thông tin............Error:
Reference source not found
Bảng 2.7: Luồng sự kiện chính của tình huống ca sử dụng đăng nhập.....Error:
Reference source not found
Bảng 2.8: Luồng sự kiện chính của ca sử dụng quản lý thành viên................50
Bảng 2.9: Luồng sự kiện chính của ca sử dụng quản lý bài viết...............Error:
Reference source not found
5
Bảng 2.10: Luồng sư kiện chính của ca sử dụng quản lý nhóm tin...........Error:
Reference source not found
Bảng 2.11: Luồng sự kiện chính của ca sử dụng quản lý chủ đề...............Error:
Reference source not found
Bảng 2.12: Luồng sự kiện chính của ca sử dụng quản lý liên kết.............Error:
Reference source not found
THUẬT NGỮ VIẾT TẮT
Từ viết
tắt
B2B
Nghĩa tiếng Anh
Business To Business
G2G
Government To Government
CMS
PHP
GPL
CMA
Content Management System
Hypertext Preprocessor
General Public License
Content Management
Application
Metacontent Management
Application
MMA
Nghĩa tiếng Việt
Mối quan hệ tương tác thông tin
hai chiều giữa các doanh nghiệp
Mối quan hệ tương tác thông tin
hai chiều giữa các cơ quan hành
chính nhà nước
Hệ thống quản trị nội dung
Ngôn ngữ lập trình kịch bản
Giấy phép nguồn mở
Trình ứng dụng quản lý nội dung
Trình ứng dụng quản lý siêu nội
dung
6
CDA
Content Delivery Application
HTML
UML
ISO
Hypertext Markup Language
Unified Modeling Language
International Organization for
Standardization
Trình ứng dụng phân phối nội
dung
Ngôn ngữ liên kết siêu văn bản
Ngôn ngữ mô hình hợp nhất
Tổ chứ quốc tế về tiêu chuẩn hóa
LỜI NÓI ĐẦU
Ngày nay, khái niệm website và Cổng thông tin điện tử đã trở lên phổ biến
bởi hầu như bất kỳ một tổ chức nào cũng đều có hệ thống website riêng, vừa là
kênh cung cấp thông tin tới người đọc nhưng cũng vừa là kênh để tác nghiệp rất
hiệu quả. Đối với các đơn vị giáo dục như Sở giáo dục, phòng giáo dục hay các
trường Đại học, Cao đẳng, THPT,… thì hệ thống website/ Cổng thông tin điện tử
càng trở lên quan trọng và thiết thực. Nó giúp cho công tác quản lý, điều hành và
công tác thông tin nói chung tới học sinh, sinh viên, các đơn vị trực thuộc,…
được nhanh chóng và hiệu quả hơn gấp nhiều lần phương thức truyền thống.
Ngoài ra, hệ thống website thông tin còn giúp cho các đơn vị tạo dựng được môi
trường học tập nghiên cứu phong phú và tiện lợi. Các giáo viên có thể trao đổi
những sáng kiến, kinh nghiệm, các tài liệu điện tử,… Sinh viên có thể truy cập
nhanh chóng các nguồn tài nguyên học tập bổ ích; phụ huynh sinh viên cũng có
7
thể theo dõi được các hoạt động của Nhà trường cũng như kết quả học tập, rèn
luyện của con em mình,…
Trường Đại học Nông – Lâm Bắc Giang có chức năng và nhiệm vụ là đào tạo
bồi dưỡng đội ngũ cán bộ kỹ thuật có trình độ Đại học, Cao đẳng, kỹ thuật viên
trung học và công nhân nghề về kinh tế, kỹ thuật trong lĩnh vực nông lâm nghiệp
đáp ứng trong sự nghiệp phát triển nông nghiệp nông thôn góp phần tích cực cho
sự nghiệp công nghiệp hóa, hiện đại hóa đất nước. Bên cạnh đó nhà trường còn
có nhiệm vụ nghiên cứu và ứng dụng những tiến bộ khoa học kỹ thuật phục vụ
hoạt động đào tạo và đáp ứng yêu cầu phát triển của ngành. Do đó, việc xây
dựng, nghiên cứu thiết kế và tổ chức dữ liệu trên Cổng thông tin trường Đại học
Nông – Lâm Bắc Giang để phục vụ cho công tác quản lý, chỉ đạo chuyên môn là
việc làm cần thiết, góp phần vào việc đổi mới, nâng cao chất lượng giáo dục
chung của toàn trường.
Xuất phát từ nhu cầu trên và được sự định hướng, chỉ dẫn của Thạc sĩ Lê
Khánh Dương, em đã chọn đề tài : “Xây dựng Cổng thông tin điện tử Trường
Đại Học Nông - Lâm Bắc Giang”.
Về kết cấu của đồ án, ngoài phần mở đầu, và tài liệu tham khảo, đồ án được
trình bày trong 3 chương:
Chương 1 : Cơ sở lý thuyết.
Chương 2 : Phân tích thiết kế hệ thống.
Chương 3 : Xây dựng và phát triển hệ thống.
Do còn hạn chế về kiến thức và năng lực nên đồ án không tránh khỏi thiếu
sót. Mong được sự góp ý của thầy cô và bạn bè.
Em xin chân thành cảm ơn Thạc sĩ Lê Khánh Dương, đã hướng dẫn em về
chuyên môn, phương pháp làm việc để em có thể xây dựng và hoàn thành nội
dung đồ án theo đúng kế hoạch. Qua đây, em cũng xin gửi lời cảm ơn chân thành
tới các thầy, các cô trong khoa Công nghệ thông tin - trường Đại học Công nghệ
thông tin và truyền thông đã giúp đỡ, tạo điều kiện để em có thể hoàn thành tốt
đồ án này.
Thái Nguyên, tháng 06 năm 2012
Sinh viên thực hiện
8
Hoàng Văn Tự
9
CHƯƠNG 1
CƠ SỞ LÝ THUYẾT
1.1. Tổng quan về cổng thông tin – Portal
1.1.1. Khái niệm Portal
Định nghĩa Portal
Thuật ngữ “Cổng thông tin - Portal” xuất hiện từ năm 1998, thuật ngữ này
còn có nhiều vấn đề cần phải tiếp tục bàn bạc, trao đổi. Do vậy, cho đến thời
điểm hiện nay vẫn chưa đưa ra được một định nghĩa hoàn chỉnh và thống nhất.
Sau đây là một số khái niệm về Portal thường được sử dụng hiện nay :
- Portal là giao diện dựa trên nền web được tích hợp và cá nhân hóa tới các
thông tin, ứng dụng và các dịch vụ hợp tác.
- Portal như là một cổng tới các trang web, cho phép một khối lượng lớn các
thông tin sẵn có trên Internet và các ứng dụng được tích hợp, được tuỳ biến, được
cá nhân hóa theo mục đích của người sử dụng.
- Portal là điểm đích truy cập trên Internet mà qua đó người dùng có thể khai
thác mọi dịch vụ cần thiết và “tất cả đều trong một”.
- Portal là một giao diện web đơn, nó cung cấp truy cập cá nhân tới thông
tin, các ứng dụng, xử lý thương mại và nhiều hơn nữa. Với công nghệ Portal, các
tổ chức có thể giảm cường độ, nhưng lại tăng giá trị lao động và đặc biệt còn làm
tăng giá trị các sản phẩm. Các tổ chức có thể tích hợp thông tin trong phạm vi
môi trường làm việc, các ứng dụng dịch vụ hoặc sử dụng giao diện đơn lẻ.
- Portal là một giao diện dựa trên nền Web, tích hợp các thông tin và dịch vụ
có thể có. Nó cho phép khai báo, cá biệt hóa thông tin và dịch vụ, cho phép quản
trị nội dung và hỗ trợ một chuẩn về một nội dung và giao diện hiển thị. Nó cung
cấp cho người dùng một điểm truy cập cá nhân, bảo mật tương tác với nhiều loại
thông tin, dữ liệu và các dịch vụ rộng rãi đa dạng ở mọi lúc mọi nơi nhờ sử dụng
một thiết bị truy cập Web .
10
Hình 1.1: Hình ảnh một Portal
Để làm rõ bản chất của Portal chúng ta đưa ra bảng so sánh giữa Portal với
một Website thông thường sau đây.
So sánh Portal với Website thông thường
Bảng 1.1: So sánh Portal với Website thông thường
Portal
+ Portal hỗ trợ khả năng đăng nhập một
Website thông thường
Một website thông thường
lần tới tất cả các tài nguyên được liên kết không có được khả năng đăng
với Portal. Nghĩa là, người dùng chỉ cần nhập một lần.
một lần đăng nhập là có thể vào và sử dụng
tất cả các ứng dụng đã được tích hợp trong
Portal đó mà người dùng này có quyền.
+ Portal hỗ trợ khả năng cá nhân hóa
theo người sử dụng.
Thường không hỗ trợ, nếu có
chỉ ở mức độ rất nhỏ, không
Đây là một trong những khả năng quan phải là đặc điểm nổi bật.
trọng của Portal, giúp nó phân biệt với một
website thông thường. Portal cá nhân hóa
nội dung hiển thị, thông thường đây là sự
lựa chọn một cách tự động dựa trên các
quy tắc tác nghiệp, chẳng hạn như vai trò
của người sử dụng trong một tổ chức. Ví
11
dụ khi một người mua hàng đăng nhập vào
hệ thống, Portal sẽ hiện ra một danh sách
các sản phẩm mới. Hoặc nếu cần quan tâm
đến các lĩnh vực khảo cổ thì Portal có thể
cung cấp các thông tin bảng danh sách các
đồ cổ.
+ Khả năng tùy biến.
Một vài Website thông
Đây là một khả năng tiêu biểu của một thường có nhưng chỉ dừng lại ở
Portal.
mức độ dựng sẵn, người dùng
Ví dụ một giao diện Portal có mục chỉ có thể lựa chọn một vài giao
thông tin thời tiết, chúng ta có thể bỏ phần diện đã có, mà không tự mình
thông tin này đi nếu chúng ta không quan thay đổi từng mục một cách tùy
tâm đến nó. Hoặc chúng ta có thể thay đổi ý.
cách hiển thị của Portal. Ví dụ như thay vì
hiển thị bằng font chữ màu xác định chúng
ta có thể thay nó bằng chữ màu đỏ, hay có
thể tự thay đổi giao diện của Portal nếu
mặc định chức năng A được đặt sau chức
năng B, nếu không thích chúng ta có thể
thay đổi lại thứ tự hiển thị này. Đặc tính
này tương tự như màn hình desktop của
chúng ta.
+ Liên kết truy cập tới hàng trăm kiểu
Chỉ sử dụng các liên kết để
dữ liệu, kho dữ liệu, kể cả dữ liệu tổng tới các site khác nhưng nội dung
hợp hay đã phân loại.
chủ yếu vẫn chỉ tập trung trong
Portal nó có khả năng liên kết tới tài trang đó.
nguyên dữ liệu rộng lớn, gồm nhiều kiểu
dữ liệu từ dữ liệu thông thường đến siêu dữ
liệu.
12
+ Portal hỗ trợ rất tốt khả năng liên kết
Hầu hết không hỗ trợ
và hợp tác người dùng.
Portal không chỉ liên kết chúng ta với
những gì chúng ta cần mà còn liên kết với
những người mà chúng ta cần. Khả năng
liên kết này được thực hiện bởi các dịch vụ
hợp tác.
1.1.2. Các chức năng cơ bản của Portal
Chức năng tìm kiếm (Search function)
Chức năng tìm kiếm là dịch vụ đầu tiên cần phải có của tất cả các Portal. Sau
khi người sử dụng mô tả loại thông tin mà mình cần thông qua các từ khoá hoặc
tổ hợp các từ khoá, dịch vụ này sẽ tự động thực hiện tìm kiếm thông tin trên các
Website có trên Internet và trả lại kết quả cho người dùng. Thời gian thực hiện
của dịch vụ tìm kiếm này rất nhanh, do vậy rất tiện lợi cho người dùng.
Dịch vụ thư mục (Directory service)
Đối với những người dùng không muốn tìm kiếm thông tin qua các từ khoá,
họ có nhu cầu tìm kiếm thông tin theo một chủ đề, lĩnh vực nào đó, thì có thể sử
dụng dịch vụ thư mục phân loại thông tin. Dịch vụ thư mục là dịch vụ thực hiện
phân loại và sắp xếp thông tin trên các website theo chủ đề có thể có nhiều chủ
đề con trong một chủ đề và có thể tiếp tục phân tách xuống các mức thấp hơn.
Ứng dụng trực tuyến (Online desktop application)
Bao gồm các ứng dụng phổ biến nhất của Internet, hiện nay có các ứng dụng
điển hình như :
- Thư điện tử - Emai l: Các Portal lớn như Yahoo, Excite, v.v… thường cung
cấp các tài khoản điện tử (Email account) miễn phí cho người dùng. Dịch vụ này
rất có ý nghĩa vì người dùng có thể nhận/gửi email tại bất cứ địa điểm nào trên
thế giới có kết nối Internet.
- Lịch cá nhân – Calendar : Một số Portal cung cấp dịch vụ “lịch cá nhân calendar” miễn phí cho người dùng. Dịch vụ này giúp người sử dụng có thể sử
dụng lịch cá nhân mọi nơi trên Internet.
13
- Hội thoại trực tuyến – Online Chat : Dịch vụ này cho phép nhóm người
dùng hội thoại trực tuyến với nhau thông qua môi trường Internet, không phụ
thuộc vào khoảng cách địa lý giữa họ (phổ biến nhất hiện nay là Yahoo
Messenger). Có thể liệt kê nhiều loại dịch vụ trực tuyến khác như dịch vụ hỗ trợ
kỹ thuật trực tuyến giữa các nhà sản xuất với khách hàng của mình…
- Các dịch vụ khác: Một trong những dịch vụ hấp dẫn người sử dụng là bưu
thiếp điện tử. Thay vì gửi bưu thiếp qua đường bưu điện thông thường, ngày nay
người sử dụng có thể gửi bưu thiếp chức mừng người thân của mình thông qua
mạng Internet.
Cá nhân hoá các dịch vụ (Personalization or Customization)
Cá nhân hoá là dịch vụ đặc trưng quan trọng của Portal. Trên cơ sở các thông
tin của từng khách hàng cụ thể, nhà cung cấp có thể tạo ra các dịch vụ mang tính
định hướng cá nhân, phù hợp với yêu cầu, sở thích của từng khách hàng riêng
biệt của mình. Thông qua đó các nhà cung cấp có khả năng tăng cường mối quan
hệ với khách hàng, duy trì được sự tín nhiệm của khách hàng đối với nhà cung
cấp.
Cá nhân hoá các dịch vụ được tiến hành thông qua dữ liệu thông tin cá nhân
về khách hàng (customer profiles). Dữ liệu này chứa các thông tin mang tính cá
nhân như nghề nghiệp, thói quen, sở thích v.v… từ những thông tin cá nhân này,
các nhà cung cấp có khả năng giới hạn cung cấp các thông tin và các dịch vụ mà
khách hàng thực sự quan tâm muốn có. Có nghĩa là tránh được việc cung cấp các
thông tin và dịch vụ không cần thiết có thể sẽ gây khó chịu cho khách hàng, và
thậm chí dẫn đến quyết định ngừng sử dụng dịch vụ của nhà cung cấp.
Cộng đồng ảo (Virtual community or Collaboration)
Cộng đồng ảo là “một địa điểm ảo” trên Internet mà các cá nhân, các doanh
nghiệp có thể “tập hợp” để giúp đỡ, hợp tác với nhau trong các hoạt động thương
mại. Nói một cách khác “cộng đồng ảo” mang lại cơ hội hợp tác cho các cá nhân,
tổ chức doanh nghiệp mà ranh giới địa lý không còn có ý nghĩa. Sau đây là một
số ví dụ về cộng đồng ảo:
14
- Hội thoại trực tuyến – Online chat: Thông qua dịch vụ này người ta có thể
triển khai các hội nghị mà không cần phải tập trung toàn bộ cán bộ công nhân
viên ở các địa phương trong phạm vi cả nước về một địa điểm cụ thể nào đó.
- Hỗ trợ trực tuyến - Online support : Tại đây khách hàng có thể nhận được
trực tiếp các hỗ trợ, tư vấn của các nhà sản xuất về sản phẩm mà khách hàng đã
lựa chọn.
Một điểm tích hợp thông tin duy nhất (Comporate Portal)
Đặc trưng này cho phép đơn vị cung cấp cho người sử dụng dùng một điểm
truy nhập duy nhất để thu thập và xử lý thông tin từ các nguồn khác nhau, hoặc
sử dụng các ứng dụng để khai thác kho tài nguyên thông tin chung. Như chúng ta
đã biết, có rất nhiều thông tin hàng ngày cần phải được xử lý và chuyển đến
người dùng dưới nhiều nguồn khác nhau, ví dụ như e-mail, tin tức, tài liệu, báo
cáo, các bài báo, audio và các video files, v.v… sẽ rất khó khăn cho người dùng
nếu các thông tin này được xử lý một cách riêng rẽ; Comporate Portal cho phép
sử dụng các công cụ tích hợp để xử lý các nguồn thông tin này, do vậy khả năng
xử lý các thông tin của người dùng sẽ được nâng cao.
Kênh thông tin (Channel)
Portal cũng cho phép xây dựng các liên kết (connector) tới các ứng dụng
hoặc Portal khác. Một Portal khác hoặc một Website thông thường khác có thể
cung cấp nội dung thông tin của mình trong kênh thông tin của Portal. Kênh
thông tin là đặc tính rất mới của Portal, cho phép xây dựng các dịch vụ truy cập,
xử lý các thông tin nằm bên trong mạng Intranet của một tổ chức, và sau đó tổ
chức hiển thị kết quả xử lý tin trên kênh thông tin của Portal.
1.1.3. Phân loại Portal
Việc phân loại Portal có thể có nhiều cách khác nhau. Nếu căn cứ vào đặc
trưng của Portal người ta chia Portal thành các loại như sau :
Consumer Portal
Cung cấp nhiều lựa chọn cho việc tìm kiếm, chuyển, Email, tự sửa khuôn
dạng, lựa chọn tin tức, calendar, quản lý địa chỉ liên hệ, các cuộc hẹn, các lưu ý,
chú thích, các địa chỉ website, real-time chat và các chức năng Intranet, v.v…
15
Vertical Portal
Chuyên cung cấp các thông tin và dịch vụ cho một lĩnh vực chuyên môn,
khoa học, kinh tế cụ thể nào (mang tính chuyên ngành).
Horizontal Portal
Nội dung bao trùm nhiều chủ đề (mang tính diện rộng), phục vụ các mối
quan tâm khác nhau, hỗ trợ bằng các chức năng dịch vụ phong phú, phục vụ cộng
đồng, phục vụ tổ chức hành chính.
Hình 1.2: Cơ sở Portal theo chiều ngang.
Enterprise Portal
Cung cấp các dịch vụ truy xuất thông tin từ mọi nguồn tài nguyên thông tin
trong mạng Intranet của một tổ chức qua một cổng truy cập duy nhất.
B2B Portal
Cung cấp các dịch vụ định hướng theo mối quan hệ tương tác thông tin hai
chiều giữa các doanh nghiệp (B2B) trong môi trường thương mại điện tử.
G2G Portal
Cung cấp các dịch vụ hành chính công theo mối quan hệ tương tác thông tin
hai chiều giữa các cơ quan hành chính nhà nước (G2G) trong môi trường trao đổi
thông tin điện tử.
1.1.4. Các bước xây dựng Portal
Lập kế hoạch
Đây là giai đoạn xây dựng giải pháp tổng thể, đáp ứng nhu cầu quản lý và
chiến lược của khách hàng. Kế hoạch tổng thể bao gồm: phạm vi của dự án, các
mục tiêu chiến lược của khách hàng và hiện trạng của hệ thống bao gồm cả các
mối quan hệ thông tin nội bộ với bên ngoài.
16
Thiết kế tổng thể
Thiết kế tổng thể là giai đoạn xây dựng kiến trúc ứng dụng cho phép chuyển
hoá từ các yêu cầu nghiệp vụ sang ứng dụng Portal. Cũng như các phần mềm ứng
dụng, kiến trúc ứng dụng bao gồm mô hình chức năng và mô hình hoạt động. Mô
hình chức năng là toàn bộ các chức năng nghiệp vụ của hệ thống, mô tả cấu trúc,
phân cấp các thành phần của hệ thống, các trao đổi thông tin và các giao diện
giữa các thành phần của hệ thống. Mô hình hoạt động mô tả kiến trúc phần cứng
(hạ tầng phần cứng, phương thức tổ chức mạng), kiến trúc phần mềm và các
thành phần dữ liệu, các ràng buộc (tốc độ xử lý, mức độ bảo mật,…) và phần
quản trị hệ thống (lập kế hoạch nguồn lực, chuyển giao hệ thống, sao lưu, khôi
phục).
Kiến trúc ứng dụng cũng phải chỉ rõ mức độ đáp ứng của các giải pháp đối
với chiến lược kinh doanh và phương thức đạt được yêu cầu đó.
Phát triển Portal
Phát triển là giai đoạn cài đặt giải pháp đã được xây dựng ở các bước trên,
bao gồm: thiết kế, lập trình, kiểm tra, cài đặt sử dụng hệ thống Portal. Các phân
tích viên thông thường tham gia vào giai đoạn này với vai trò kiểm soát viên để
đảm bảo cho hệ thống đáp ứng được yêu cầu của người dùng.
Các giai đoạn hình thành và phát triển Portal được thể hiện qua sơ đồ sau :
Hình 1.3: Các giai đoạn của lộ trình xây dựng và triển khai Portal
17
1.2. Giới thiệu về Joomla
Joomla! là một hệ 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.
1.2.1. Lịch sử hình thành và phát triển của Joomla
Joomla! là sản phẩm anh em với Mambo giữa tập đoàn Miro của Úc (hãng
đang nắm giữ Mambo), với phần đông những người phát triển nòng cốt. Mambo
thực chất cũng là một CMS dựa trên nền web nhưng là sản phẩm nguồn đóng.
Ban đầu công ty “Các giải pháp phần mềm Miro” của Úc (Miro Software
Solutions) đã phát triển Mambo theo dạng ứng dụng mã nguồn đóng. Đến thá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.
Nhờ sự trợ giúp của Trung tâm Luật Tự do Phần mềm, 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à: Những
vấn đề Mã nguồn mở (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ập một Website lấy tên Open Source Matters để phân phối
thông tin tới những ngườ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 Open Source Matters, 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 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/9/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/9 thì họ cho ra đời Joomla! 1.0.
18
Hình 1.4: Lịch sử hình thành phát triển Joomla! ứng với các phiên bản
1.2.2. Các phiên bản của Joomla
Hiện Joomla! có 2 dòng phiên bản chính :
- Joomla! 1.0.x: Phiên bản phát hành.
• Phiên bản phát hành đầu tiên: Joomla! 1.0.0 (ngày 15 tháng 9 năm
2005).
• Phiên bản phát hành mới nhất: Joomla! 1.0.12 (ngày 25 tháng 12 năm
2006).
- Joomla! 1.5.x: Phiên bản phát triển.
• Phiên bản phát triển mới nhất: Joomla! 1.5.8 (ngày 2 tháng 7 năm
2008).
Điểm mạnh của Joomla! 1.5.x: Phần quản trị Website có sử dụng công nghệ
Web 2.0, một số tính năng được cải tiến hơn so với Joomla! 1.0.x
1.2.3. Đặc điểm của Joomla
Là một CMS dựa trên nền web, Joomla! có rất nhiều đặc điểm nổi bật, giúp
nó chiếm được sự quan tâm đặc biệt của nhiều người sử dụng trên toàn thế giới,
phân biệt nó với các CMS dựa trên nền web khác (ví dụ như Mambo).
Trước tiên, Joomla! được thiết kế sao cho đơn giản, dễ cài đặt, dễ sử dụng.
Thậm chí một người là lập trình viên cũng có thể dễ dàng cài đặt Joomla!. Phần
hỗ trợ cho Joomla! cũng rất tốt. Các trợ giúp về quá trình cài đặt và sử dụng
Joomla! đều có trong trang .
19
Joomla! dễ sử dụng tới mức, một khi đã được cài đặt và vận hành thành công,
thì một người (không nhất thiết phải hiểu biết về CMS, về lập trình…) vẫn có thể
thêm và chỉnh sửa nội dung, tải và thêm vào các hình ảnh, và quản trị những dữ
liệu quan trọng. Thậm chí, các nhà phát triển Joomla! đã tuyên bố rằng “bất kỳ ai
chỉ cần với kỹ năng xử lý văn bản cơ bản cũng đều có thể quản trị được một
Website Joomla!”. Và điều này đã được kiểm chứng với việc Joomla! chiếm giữ
vị trí số một trong số các CMS nguồn mở hiện nay.
Tất cả các công việc quản trị, tạo mới thông tin… đều được thực hiện qua
giao diện trình duyệt đơn giản. Người sử dụng có thể tạo nhiều khoản mục thông
tin với số lượng không hạn chế. Với Joomla!, người sử dụng có thể cập nhật
thông tin ở bất cứ nơi nào có kết nối Internet.
Không những thế, với nhiều người, sự hấp dẫn và sức mạnh thực sự của
Joomla! không chỉ nằm ở tính dễ dàng và tiện dụng khi quản lý thông tin; mà còn
nằm ở khả năng mở rộng gần như vô hạn của Joomla!. Tất cả đều có thể được tải
về và cài đặt tích hợp vào hệ thống tại địa chỉ Sau
đây là một số thành phần mở rộng tiêu biểu:
- Bộ xây dựng form hiển thị động – Dynamic form builder.
- Trình quản lý tài liệu – Document Management: quản lý các tài liệu điện tử.
- Trình quản lý đa phương tiện: quản lý ảnh, video, …
- Những mô tơ giỏ hàng xây dựng sẵn: phục vụ cho Website thương mại điện
tử.
- Trình quản lý hệ thống các banner quảng cáo trên Website.
- Chương trình lịch làm việc: theo dõi lịch công tác trực tiếp trên web.
- Hệ thống viết Blog trên Website…..
- Cũng do đặc điểm là mã nguồn mở nên Joomla! cho phép các nhà phát triển
ứng dụng dễ dàng xây dựng các phần mở rộng của riêng mình, theo nhu cầu của
mình, sau đó tích hợp vào CMS Joomla!.
- Các hệ thống thương mại điện tử tích hợp.
- Các hệ điều khiển xuất nhập kho hàng.
- Các công cụ làm báo cáo dữ liệu.
20
- Hệ thống đặt chỗ và đặt vé.
Tóm lại, nếu so sánh giữa các CMS dựa trên nền web hiện nay, thì Joomla!
đang được sử dụng rộng rãi nhất nhờ những ưu điểm nổi trội của nó. Tất nhiên
Joomla! không thể đáp ứng được hết mọi nhu cầu đặt ra, nhưng có thể nói,
Joomla! là giải pháp hoàn hảo cho mọi ứng dụng web hiện nay.
1.2.4. Thành phần của Joomla
Joomla! gồm 4 phần chính:
•
•
•
•
Thành phần lưu trữ nội dung.
Ứng dụng quản trị nội dụng CMA.
Ứng dụng quản trị siêu dữ liệu MMA.
Ứng dụng phân phối dữ liệu CDA.
Tuy nhiên, các đặc tả kiến trúc chi tiết, cụ thể không được công bố rộng rãi
đối với các phiên bản 1.0.x. Chỉ đến phiên bản Joomla! 1.5.x, các nhà phát triển
mới mô tả Joomla! là hệ thống bao gồm ba tầng như sau:
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à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.
Hình 1.5: Kiến trúc phân tầng của Joomla! 1.5
1.2.5. Các nhóm người sử dụng và quyền truy cập
Joomla! có thể được chia thành hai loại:
• Khách – Guest: chỉ đơn giản là những người ghé thăm Website Joomla!
qua trình duyệt.
21
• Người sử dụng có đăng ký: là những người có tương tác với Website, thực
hiện quá trình đăng ký để có được tên truy cập (user name) và mật khẩu
(password). Hai thông số này cho phép người sử dụng đăng nhập vào
Website, và được cấp những quyền mà khách không có. Những người sử
dụng có đăng ký được chia thành hai nhóm:
- Người sử dụng phía Front-end (front-end users).
- Người sử dụng phía Back-end (back-end users).
a) Người sử dụng phía Front-end
Người sử dụng phía front-end có một số quyền thêm so với khách. Đó có thể
là khả năng tạo và xuất bản nội dung lên Website. Có thể hiểu nhóm người này
mục đích chính của họ là cung cấp nội dung cho Website, chứ không phải là
quản trị Website hoặc thay đổi thiết kế của chúng. Nhóm người này có thể tạo ra
nội dung mới thông qua giao diện web, sử dụng các trình soạn thảo WYSIWYG
mà không cần phải có hiểu biết về mã HTML. Với nhóm người này, nhà quản trị
Website có thể phân làm bốn mức:
•
•
•
•
Registered User.
Author (tác giả).
Editor (biên tập).
Publisher (nhà xuất bản).
Bảng sau đây trình bày cụ thể khả năng và quyền truy cập của từng mức sử
dụng này.
Bảng 1.2: Các mức sử dụng của front-end user
Mức sử dụng
Registered
User
Mô tả
- Không có khả năng tạo, chỉnh sửa hoặc xuất bản
nội dung lên Website Joomla!. Họ chỉ có thể gửi các
liên kết Web (Web links) để xuất bản và có thể được
truy cập tới những nội dung giới hạn (không thể truy
Author
cập được bởi khách).
- Author có thể tạo ra nội dung của riêng họ, đặc tả
một vài khía cạnh nào đó về cách thức hiển thị thông
Editor
tin, chỉ ra ngày mà nội dung của họ sẽ được xuất bản.
- Editor (biên tập) cũng có các khả năng như
22
Author, ngoài ra, họ còn có khả năng chỉnh sửa nội
Publisher
dung của các tác giả khác.
- Publisher có các khả năng của Author và Editor,
thêm vào đó, họ còn có khả năng xuất bản thông tin.
b) Người sử dụng phía Back-end
Những người sử dụng phía back-end bao gồm các mức sau:
• Manager: nhà quản lý.
• Administrator: người quản trị.
• Super Administrator: người “siêu quản trị”.
Các mức này được gọi chung là những nhà quản trị Website, tuy nhiên, họ
vẫn có thể truy cập vào hệ thống qua giao diện phía front-end. Cũng giống như
với người sử dụng phía front-end, người sử dụng phía back-end cũng có những
quyền khác nhau.
Bảng 1.3: Các mức sử dụng của back-end user
Mức sử dụng
Manager
Mô tả
- Manager có các quyền giống như Publisher,
nhưng có khả năng truy cập vào giao diện quản trị
(Administrator’s panel).
- Manager có quyền truy cập tới tất cả nội dung
gắn với các điều khiển trong giao diện quản trị
nhưng không có khả năng:
- Thay đổi templalate
- Sửa đổi cách bố trí trang web (layout)
Administrator
- Thêm hoặc gỡ bỡ các mở rộng cho hệ thống
- Administrator có phạm vi truy cập lớn hơn so
với manager. Ngoài các quyền như Manager,
Administrator có thể:
+ Thêm hoặc gỡ bỏ các mở rộng (extensions)
+ Thay đổi template
+ Thay đổi layout
+Thay đổi thông tin người sử dụng (user profile)
23
có mức bằng họ hoặc dưới họ.
- Những điều mà Administrator không làm được
là chỉnh sửa thông tin của Super Administrator hoặc
thay đổi thông tin cấu hình (global characteristic)
của hệ thống.
- Thông tin về các “Super Administrator” không
hiển thị ra trong màn hình “User Manager” khi
người sử dụng đăng nhập vào dưới vai trò
Super
Administrator.
- Super Administrator có sức mạnh tương tự như
Administrator
người sử dụng “root” trong hệ thống Linux, và có
khả năng vô hạn trong việc thực hiện tất cả các chức
năng quản trị trong Joomla!. Chỉ có Super
Administrator mới có quyền tạo ra user mới với mức
sử dụng cũng là Super Administrator, hoặc gán
quyền Super Administrator cho người sử dụng sẵn
có.
Chỉ có một người sử dụng tồn tại sẵn ngay sau khi cài đặt Joomla!, đó là một
Super Administrator với tên truy cập là ‘admin’. Có để tạo thêm người sử dụng
với các vai trò khác nhau, gồm:
- Đăng ký người sử dụng mới qua form đăng ký phía front-end (Login-form)
của hệ thống.
- Super Administrator (hoặc Administrator) tạo ra người sử dụng mới trong
giao diện User Manager phía back-end.
c) Các chức năng cơ bản của Joomla! truy xuất qua front-end
Khi một người sử dụng đăng nhập vào hệ thống Website thành công, một hệ
thống menu có tên là User Menu sẽ hiện ra. Dù cho mức sử dụng như thế nào
(registered, author, publisher, hoặc editor) thì chỉ có cùng một menu hiện ra. Tuy
nhiên, các chức năng sẵn có trên user menu sẽ thay đổi tùy theo mức sử dụng.
24
Trong Joomla!, việc quản trị nội dung có ba công việc chính: Tạo, gửi
(Submission) nội dung mới tới hệ thống và chỉnh sửa nội dung nếu cần thiết.
- Xuất bản nội dung: Thường thì Author đảm nhiệm việc tạo ra nội dung,
editor thực hiện việc chỉnh sửa nội dung, còn Publisher sẽ xuất bản nội dung.
Một cách mặc định, khi đăng ký người sử dụng qua front-end, vai trò Registered
User sẽ được gán. Để có thể thay đổi sang các vai trò khác, administrator (hoặc
super administrator) phải sửa đổi mức sử dụng này.
- Gửi nội dung mới: Có ba khu vực chính trong giao diện này:
Phần 1: Là tiêu đề của bản tin, và thể loại của bản tin.
Phần 2: Là bộ soạn thảo WYSIWYG để Author nhập thông tin. Bộ soạn thảo
này có tên là TinyMCE, gồm rất nhiều các đặc tính của một chương trình soạn
thảo HTML. Với công cụ này, người sử dụng có thể:
•
•
•
•
•
Chọn font, kích cỡ, và màu chữ
Đánh số, danh sách các khoản mục
Căn lề
Chèn các siêu liên kết
Tạo bảng
Phần cuối cùng : dùng để soạn thảo các ảnh gắn với tin, thiết lập ngày xuất
bản, và nhập vào metadata (siêu dữ liệu) cho nội dung này.
- Chỉnh sửa nội dung: Trong Joomla!, Author có thể chỉnh sửa nội dung của
mình sau khi nó đã được xuất bản. Thêm vào đó, Editor và Publisher cũng có thể
chỉnh sửa nội dung của bất kỳ author nào. Quá trình chỉnh sửa cũng được thực
hiện thông qua giao diện giống như quá trình tạo mới nội dung.
- Xuất bản nội dung: Publisher ngoài các quyền của Author và Editor còn
có thêm quyền nữa đó là xuất bản thông tin lên Website. Quá trình xuất bản bao
gồm hai việc:
Thay đổi trạng thái của nội dung (chuyển từ unpublished published). Chỉ
có những nội dung có trạng thái published mới có thể được truy cập qua phía
front-end.
Ấn định thời gian (từ khi bắt đầu đến khi kết thúc) mà một bản tin có thể truy
cập được qua phía front-end. Nếu nằm ngoài khoảng thời gian này, thì mặc dù
trạng thái của bản tin vẫn là published (được xuất bản), nhưng tin sẽ không thể
25