Chương 1 Giới thiệu đề tài Bùi Vĩnh Phú 7 Đặng Đình Vương Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA Một cách đơn giản nhất, CMS là một hệ thống hỗ trợ người sử dụng trong việc tạo ra các trang web, quản lý nội dung các trang web. Sau cùng, các trang web sẽ được xuất bản để phân phối đến mọi người. Cả quy trình từ lúc tạo ra nội dung trang web, quản lý nội dung được tạo ra và sau cùng phân phối nội dung này đều hoàn toàn tự động. Hình vẽ sau sẽ mô tả cho quy trình tự động này.
Hình 1: Hệ CMS quản lý tự động nội dung trang web Luận văn này được thực hiện trong quá trình thực tập của chúng tôi tại công ty phần mềm Tường Minh (TMA). Khi luận văn bắt đầu thì hệ thống thống tin (intranet) của công ty đang được xây dựng lại. Việc xây dựng này dựa trên các chuẩn mở và các công nghệ, giải pháp mã nguồn mở. Bùi Vĩnh Phú 8 Đặng Đình Vương Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA Hình 2: Giao diện hệ thống intranet của công ty TMA Hệ thống Intranet của công ty TMA hỗ trợ các công cụ, các chức năng như sau: • Quản lý nhân sự • Quản lý năng lực của nhân viên • Quản lý tuyển dụng • Quản lý thông tin các dự án • Hệ quản lý tài liệu • Tìm kiếm thông tin • Hệ thống bảo mật • Các sự kiện nội bộ của công ty • … Bùi Vĩnh Phú 9 Đặng Đình Vương Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA Hệ thống thông tin này nếu được nhìn dưới góc độ của người phát triển sẽ bao gồm các thành phần như sau: Employee Project DMS HR Contact Information Cung cấp CMS Các ứng dụng Reporting Engine Search Engine Recruitment PA Event Authentifi- Cung cấp cation Các dịch vụ Scheduling System Workflow Engine HR Recruitment Search Các thành Cung cấp phần phi chức Các thành phần chức năng năng Portal được xây dựng dựa trên Liferay Hình 3: Hệ thống thông tin hiện tại của công ty TMA Hệ thống thông tin này bao gồm các ứng dụng, các dịch vụ dùng để hỗ trợ hoạt động cho các ứng dụng.
Ngoài ra, còn có các thành phần chức năng dùng để cung cấp Bùi Vĩnh Phú 10 Đặng Đình Vương Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA các chức năng cho các dịch vụ. Các thành phần phi chức năng dùng để hỗ trợ hoạt động cho các ứng dụng, các dịch vụ và các thành phần chức năng. Hệ CMS cần xây dựng cho công ty TMA sẽ thuộc nhóm các thành phần phi chức năng như trên hình vẽ trên đã minh hoạ. Mục đích chính của đề tài này là xây dựng và tích hợp CMS module vào trong hệ thống intranet của công ty TMA.
Để thực hiện điều này, chúng tôi đã thực hiện 3 công việc chính như sau: • Nghiên cứu về CMS. • Tìm hiểu và so sánh các giải pháp xây dựng CMS để chọn ra giải pháp thích hợp nhất với yêu cầu công ty. • Tích hợp giải pháp đã chọn vào trong hệ thống intranet của công ty. Chúng tôi thực hiện đề tài này ngoài mong muốn bảo vệ thành công khoá luận của mình, còn muốn qua đó học hỏi thêm nhiều kiến thức và kinh nghiệm trong việc phát triển một hệ CMS, một lãnh vực mới mẻ và đầy tiềm năng.
Bùi Vĩnh Phú 11 Đặng Đình Vương Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA TỔNG QUAN Bùi Vĩnh Phú 12 Đặng Đình Vương Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA Chương 2 Tổng quan về sự phát triển của các hệ CMS Bùi Vĩnh Phú 13 Đặng Đình Vương Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA Xây dựng hệ thống CMS là một lãnh vực chỉ mới xuất hiện trong 6 năm gần đây. Công ty Microsoft chỉ mới tham gia lãnh vực này vào năm 2002. Ở Việt Nam, số lượng các công ty xây dựng và sử dụng các hệ CMS vẫn rất giới hạn do đây vẫn còn là lãnh vực quá mới mẻ ở nước ta. Tuy chỉ mới xuất hiện gần đây nhưng lãnh vực này cũng đạt được một số kết quả khả quan.
Các công nghệ và các tiêu chuẩn đã được đề ra để phát triển các hệ CMS. Đa phần các công ty phát triển các hệ CMS đều với mục đích kinh doanh. Bên cạnh đó cũng có những công ty, tổ chức và cá nhân cung cấp các giải pháp CMS của họ dưới dạng mã nguồn mở hay miễn phí. Các công nghệ sử dụng cho việc phát triển các hệ CMS cũng rất đa dạng.
Sự đa dạng này có thể thấy rõ qua thống kê sau đây: • Java: CMS Genie, CMS Master, Cofax, Contelligent, Daisy, Eplica, imCMS, Jahia, jNetPublish, Magnolia, NetPotential CM… • Java Script: CMS Master, Complete Site Manager, Contelligent, e107, eazyCMS, Magnolia, NetPotential CMS, Open CMS… • PHP: Acuity CMS, AGPCMS, Aiyoota!-CMS, Back-End CMS, BxCMS, Caravel, CathDesign CMS, Complete Site Manager, dotWidget CMS, e107, eazyCMS, EGOCMS, fly CMS, Jaws, Mambo, Komodo CMS, OpenPHPNuke, PostNuke… • C++: Lighthouse, Manila… • ASP: Acuity CMS, Baseline CMS… • Cold Fusion: AssetNow, EasyConsole CMS… • ASP.net, Composite CMS, contentXXL - ASP.NET CMS, DotNetNuke, Dozing Dogs ASP.NET CMS, Dynamicweb… Bùi Vĩnh Phú 14 Đặng Đình Vương Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA • VB.net, contentXXL - ASP.NET CMS, Dozing Dogs ASP.NET CMS… • C#: AxCMS.net, contentXXL - ASP.NET CMS, Dozing Dogs ASP.NET CMS, Rainbow… • Python: Easy Publisher… Một số hệ CMS được xây dựng như là một thành phần của portal. Số còn lại được phát triển dưới dạng một ứng dụng hoạt động độc lập. Ngoài 2 dạng CMS vừa nêu thì việc sử dụng một hệ CMS độc lập để tích hợp vào một portal có sẵn vẫn rất mới mẻ. Do đó, các tài liệu về công việc này rất giới hạn và số lượng các người phát triển am tường về lãnh vực này cũng rất hiếm.
Thật vậy, trong quá trình thực hiện đề tài, khi chúng tôi gặp các vấn đề và đem các vấn đề này để hỏi các lập trình viên chuyên phát triển các hệ CMS thì họ cũng không có câu trả lời xác đáng cho các vấn đề chúng tôi đã gặp phải. Bùi Vĩnh Phú 15 Đặng Đình Vương Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA NGHIÊN CỨU Bùi Vĩnh Phú 16 Đặng Đình Vương Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA Chương 3 Nhu cầu sử dụng hệ CMS trong các tổ chức Bùi Vĩnh Phú 17 Đặng Đình Vương Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA 1. Nhu cầu hiện tại 1.1 Tình hình các web site của các tổ chức ở Việt Nam Ở Việt Nam, theo đà phát triển của kinh tế, số lượng các doanh nghiệp và các tổ chức xuất hiện này càng nhiều. Các tổ chức này đều có nhu cầu cung cấp thông tin cho khách hàng của mình.
Do đó, việc tạo ra các web site cho các tổ chức này là tối cần thiết. Tuy nhiên, nội dung các web site của Việt Nam đa số còn sơ sài và không đáp ứng được nhu cầu của khách hàng. Một trong các lý do chính của tình trạng này là sự thiếu cập nhật thông tin lên các web site. Nhưng nguyên nhân sâu xa về mặt kỹ thuật là thiếu các phần mềm dùng để cập nhật và quản lý nội dung các web site.2 Nhu cầu cập nhật và quản lý nội dung 1.1 Nhu cầu của các doanh nghiệp Để cập nhật thông tin cho các trang web trong doanh nghiệp, người ta cần phải thu thập các thông tin từ nhiều nguồn khác nhau.
Sau đó, các thông tin này sẽ được chuyển cho nhóm phụ trách về web site của doanh nghiệp đó để cập nhật lên web site của họ. Hình vẽ sau sẽ minh họa cho quy trình cập nhật thông tin này Bùi Vĩnh Phú 18 Đặng Đình Vương Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA Hình 4: Quy trình cập nhật thông tin trong doanh nghiệp Với một hệ CMS, doanh nghiệp không cần phải có nhóm phụ trách web bởi vì mọi thao tác cập nhật thông tin đều được làm một cách tự động. Ngoài ra, thời gian cập nhật nội dung cũng được giảm thiểu một cách đáng kể. Hình vẽ sau sẽ minh họa cho quy trình cập nhật thông tin trong doanh nghiệp khi sử dụng một hệ CMS.
Hình 5: Quy trình cập nhật thông tin trong doanh nghiệp khi sử dụng CMS Bùi Vĩnh Phú 19 Đặng Đình Vương Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA 1.2 Nhu cầu của các tờ báo điện tử Trong các toà soạn báo điện tử, để cập nhật thông tin thường xuyên, các phóng viên và các nhà báo phải tập hợp thông tin từ nhiều nguồn khác nhau. Sau đó, các thông tin này phải chờ sự kiểm duyệt. Các thông tin sau khi được kiểm duyệt sẽ chuyển cho đội ngũ làm web của toà soạn để cập nhật lên web site của báo điện tử. Hình 6: Quy trình cập nhật thông tin trong một tờ báo địên tử Nếu sử dụng một hệ CMS trong toà soạn của mình, toàn soạn báo có thể giảm đi một số bước trong quy trình cập nhật thông tin của họ.
Do đó, họ có thể giảm thiểu thời gian và công sức làm công việc này. Bởi vì khi đã sử dụng hệ CMS thì họ không cần phải có đội ngũ làm web cho toàn soạn và các biên tập viên có thể duyệt các thông tin này bằng cách sử dụng hệ CMS. Ngoài ra, hệ CMS còn có thể giúp các phóng viên và các nhà báo trong việc thu thập thông tin. Bùi Vĩnh Phú 20 Đặng Đình Vương Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA Hình vẽ sau sẽ minh hoạ quy trình cập nhật thông tin trong một toà soạn báo có sử dụng hệ CMS Hình 7: Quy trình cập nhật thông tin trong toà soạn báo điện tử có sử dụng hệ CMS 1.3 Nhu cầu trong các hệ thống thông tin của các công ty Trong các hệ thống thông tin của các công ty, người ta phân thành các phòng ban và các dự án.
Các phòng ban và các dự án này có nhiệm vụ phải cung cấp thông tin cho nhóm làm web của công ty. Sau đó, thông tin này mới được cập nhật lên hệ thống Intranet. Bùi Vĩnh Phú 21 Đặng Đình Vương Phát triển CMS module cho hệ thống Intranet cuả Công ty TMA Quy trình cập nhật thông tin này được minh hoạ bằng hình vẽ dưới đây. Hình 8: Quy trình cập nhật thông tin trong một hệ thống thông tin Trong quy trình này, các phòng ban và các dự án sở hữu thông tin riêng của họ.