trang 1 | trang  2 | trang 3 | trang 4

F.  Bổ sung cải tiến (MOD)

Hiện nay Forum PhpBB được rất nhiều lập trình viên trên thế giới viết cải tiến và bổ sung chức năng, cho đến nay chúng tôi đã sưu tầm được gần 300 Mod. Các bạn có thể tải các Mod này trong Diễn đàn PCLEHOAN – www.weblh.info/forum/ hay tại các địa chỉ sau: http://www.forumimages.com/ - http://smartor.is-root.com/ - http://www.phpbb.com/ - http://www.phpbb2-users.de/ - http://mods.db9.dk/ - http://www.phpbbhacks.com/ .

Khi cài đặt các Mod bổ sung chúng ta bắt buộc phải sửa chữa file nguồn và theo cấu trúc đã phân tích trong phần trước, ta có thể tạm chia ra sửa mã mềm và sửa mã cứng.

- Sửa mã mềm tức là sửa nội dung file mà trong cấu trúc cho phép sửa, việc sửa đổi không can thiệp đến phần CSDL, thí dụ: sửa các file .tpl, file ngôn ngữ, .css, ...

- Sửa mã cứng tức là sửa nội dung các file thuộc lớp trung gian, việc sửa đổi có ảnh hưởng đến phần truy xuất CSDL, thí dụ các file .php

- Khi thay đổi giao diện, thay đổi hình thức trình bày, chủ yếu là ta tác động vào mã mềm (những file .tpl), nếu có sai sót cũng dể tìm lỗi và ít khi làm Forum ngưng hoạt động.

- Khi bổ sung Mod ta thường phải tác động vào nhiều file, cả phần nhân CSDL, cả mã mềm và mã cứng do đó chỉ cần ta có sai sót trong lúc sửa mã cứng là forum sẽ chạy... lạng quạng ngay.

1.    Một số chú ý khi sửa đổi file nguồn và bổ sung CSDL:

1/ Luôn luôn backup file cần sửa đổi để dự phòng trường hợp việc sửa đổi thất bại.

2/ Nên thực hiện trên máy cá nhân trước, khi nào hài lòng mới upload lên mạng.

3/ Các hướng dẫn trong Mod được viết chung cho mọi người và căn cứ vào các file nguồn của bộ gốc, trên thực tế có thể khác với file nguồn của ta nhất là khi ta đã tự bổ sung, thay đổi file nguồn của mình. Ta cần cẩn thận đọc kỹ hướng dẫn thay đổi mã nguồn của Mod, so sánh đối chiếu với mã nguồn thực tế của mình, để không làm mất những sửa đổi đã có.

Thí dụ: Hướng dẫn trong Mod như sau

#-----[ FIND ]------------------------------------------

$sql = "SELECT username, user_id, user_viewemail, user_posts, user_regdate, user_from, user_website, user_email, user_icq, user_aim, user_yim, user_msnm, user_avatar, user_avatar_type, user_allowavatar

#-----[ REPLACE WITH ]------------------------------------------

$sql = "SELECT username, user_id, user_viewemail, user_posts, user_regdate, user_from, user_website, user_email, user_icq, user_aim, user_yim, user_msnm, user_avatar, user_avatar_type, user_level, user_allowavatar

Đây là dựa trên mã nguồn của bộ gốc, thực tế của ta có thể không giống vì đã bổ sung các mod khác trước đây. Thí dụ:

$sql = "SELECT username, user_gender, user_allow_viewonline, user_id, user_realname, user_viewemail, user_posts, user_regdate, user_from, user_from_flag, user_website, user_email, user_icq, user_aim, user_yim, user_msnm, user_avatar, user_avatar_type, user_allowavatar, user_points

Nếu ta hấp tấp làm y hướng dẫn thì những mã bổ sung trước đây sẽ bị mất hết - những đoạn in nghiêng.

Ta đọc kỹ 2 dòng mã trên sẽ thấy thực chất chỉ cần bổ sung mục user_level vào phần cuối của dòng mã chứ không cần phải thay đổi tất cả đoạn mã.

Tình trạng nầy gần như luôn luôn có trong việc bổ sung Mod, do đó các bạn nên đặc biệt chú ý đọc kỹ mã nguồn trước khi sửa đổi.

4/ Đối với các Mod yêu cầu tạo CSDL bạn luôn luôn phải tạo CSDL trước khi thực hiện thay đổi file nguồn, vì các thay đổi chỉ chạy khi đã có CSDL.

5/ Khi bổ sung nhiều Mod, các Mod có thể va chạm với nhau do đó ta cần chạy thử và lưu các file hướng dẫn, backup một thời gian để dự phòng.

6/ Khi bổ sung Mod phức tạp - nhiều thành phần, cần thiết phải chạy thử ngay sau khi thay đổi từng thành phần một để có thể phát hiện ngay khi có lỗi xẩy ra, như vậy đở mất thời gian hơn là làm toàn bộ rồi phải kiểm tra lại từ đầu do không biết lỗi ở đâu.

7/ Đối với những người tự học, khi thay đổi mã nguồn cần quan tâm chặt chẻ đến từng dấu chấm, dấu phẩy vì chúng là 1 thành phần không thể thiếu hay dư của mã nguồn.

2.    Bổ sung CSDL

Đối với những người chưa có kinh nghiệm thì có lẻ đây là phần việc khó thực hiện nhất vì trong các hướng dẫn tác giả Mod không nói gì về cách bổ sung CSDL. Điều nầy cũng dể hiểu vì tác giả mặc nhiên cho rằng những người sử dụng Mod phải biết cách quản lý CSDL.

a)  Sử dụng PhpMyAdmin

* Bạn chạy PhpMyAdmin --> chọn CSDL của Forum rồi nhập dòng CSDL cần bổ sung theo hướng dẫn của Mod vào ô "Run SQL query/queries on database forum" --> Bấm nút Go để tiến hành bổ sung --> Sẽ xuất hiện thông báo cho biết đã bổ sung thành công hay có lỗi về cái gì. Chú ý: Mỗi dòng mã nên chấm dứt bằng 1 dấu chấm phẩy để ngăn cách với dòng mã khác.

--> Bấm nút Go để tiến hành bổ sung --> Sẽ xuất hiện thông báo cho biết đã bổ sung thành công hay có lỗi về cái gì.

* Trong trường hợp bạn có nhiều dòng mã CSDL cần bổ sung, bạn có thể gom chúng vào cùng 1 file có tên mở rộng là .sql rồi trong PhpMyAdmin thay vì bạn nhập mã vào ô "Run SQL query/queries on database forum", bạn hãy bấm nút Browse trong mục "Location of the textfile" để nhập file SQL vào rồi bấm nút Go. Chương trình sẽ tự động đọc từng dòng mã rồi bổ sung vào CSDL cho bạn.

b)  Sử dụng Admin Control Panel của Forum

a- Tạo file SQL chứa các dòng mã cần bổ sung như hướng dẫn trên.

b- Chạy Forum --> mở Admin CP - chọn Restore Database --> Bấm nút Browse để nhập tên file SQL --> bấm nút Start Restore.

c)   Sử dụng MySQL

a- Tạo file SQL chứa các dòng mã cần bổ sung như hướng dẫn trên.

b- Chạy Windows Commander (bạn cũng có thể mở cửa sổ Dos hay chạy NC tuỳ ý) --> mở thư mục MySql/Bin trên ổ cứng --> chép file SQL đã tạo vào thư mục nầy --> đánh lịnh 'mysql forum < filename.sql' (không có dấu nháy) vào ô nhập lịnh Dos ở phía dưới cửa sổ.

Chú ý: 'forum' là tên CSDL ta đã đặt khi cài đặt forum. 'filename.sql' là thí dụ tên file SQL ta đã tạo.

d)  Sử dụng file .PHP để bổ sung tự động

Có một số Mod tác gỉa cẩn thận viết sẳn 1 file .php để bổ sung CSDL tự động, bạn chỉ cần chép file nầy vào thư mục của Forum rồi dùng trình duyệt chạy file nầy là xong.

Thí dụ: Mod Calendar có file cal-install.php để bổ sung CSDL tự động --> bạn chép file nầy vào thư mục Forum --> Chạy IE gõ địa chỉ http://www.domain.com/forum/cal-install.php --> Sau khi chạy file nầy sẽ thông báo kết quả bổ sung CSDL.

Chú ý: Sau khi bổ sung CSDL xong các bạn nên xoá file bổ sung tự động để tránh việc vô tình chạy lại lần nửa.

3.    Các Mod cần thiết

Sau đây là các Mod cần thiết cho việc quản lý và sử dụng Forum:

- Chống Bomb đăng ký: Mod này bổ sung chức năng yêu cầu người đăng ký nhập lại 5 ký tự ngẫu nhiên để ngăn ngừa tình trạng có người dùng chương trình tự động đăng ký dồn dập làm đường truyền quá tải.

- Gởi kèm file: Cho phép gởi kèm file theo bài viết. Người quản trị có thể phân quyền cho Khách, Thành viên, Người điều hành hay Người quản trị được phép gởi kèm hay tải file. Có thể giới hạn số lượng và dung lượng file gởi kèm theo 1 bài viết. Cho phép quy định cụ thể từng Diễn đàn chuyên đề được gởi kèm file. Ngoài ra còn có thể quy định từng loại file được phép hay không được phép gởi kèm.

- Xoá các Account không hoạt động: Bổ sung chức năng vào Bảng điều khiển của người quản trị, cho phép xoá các account không hiệu lực do khai báo sai khi đăng ký, xoá các account không truy cập hay không gởi bài trong 1 khoảng thời gian quy định. Điều này nhằm tránh việc lưu trử các thông tin về thành viên “ảo” trong CSDL

- Xoá toàn bộ bài viết của 1 thành viên bất kỳ: Cho phép người quản trị xoá tất cả bài viết của thành viên trong 1 diễn đàn chuyên đề hay toàn bộ các diễn đàn. Giúp người QT dể dàng trong việc xoá các Spam quấy rối.

- Thành viên tự xoá account của mình: Bổ sung mục chọn vào phần khai báo lý lịch để thành viên có quyền tự xoá account của mình khi không thích tham gia nửa.

Đây chỉ là một vài Mod trong kho tàng Mod của PhpBB2. Có thể nói PhpBB là forum được quan tâm phát triển mạnh nhất và phong phú chức năng nhất hiện nay.

B.  Kinh nghiệm của người viết

Với đường truyền chậm chạp của VIỆT NAM hiện nay, các bạn nên lựa chọn kỷ khi sử dụng các Mod có bổ sung CSDL vì chúng sẽ làm suy giảm tốc độ truy xuất trang theo tỷ lệ thuận – càng cài nhiều Mod loại này tốc độ Diễn đàn càng chậm.

trang 1 | trang  2 | trang 3 | trang 4


PcLeHoan 1996 - 2002
Mirror : http://www.pclehoan.com
Mirror : http://www.lehoanpc.net

Mirror : http://www.ktlehoan.com