Hướng dẫn nâng cấp từ NukeViet 3.4 lên NukeViet 4

Thứ năm - 02/07/2015 11:50
Để nâng cấp module từ NukeViet 3.4 lên NukeViet 4 bạn có thể sử dụng module nâng cấp. Module c43to40 đã được phát hành miễn phí tại github.

Bộ công cụ này cho phép nâng cấp module, chuyển đổi CSDL của các module hệ thống từ phiên bản NukeViet 3.4 lên NukeViet 4.0.

- Link download file Zip: https://github.com/nukeviet/module_c34to40/archive/master.zip
- Khi tải code từ github, cấu trúc thư mục không giống với các gói module của NukeViet, nên bạn cầu giải nén và cài đặt bằng tay.
- Bạn cần cài module này lên site sử dụng NukeViet 4 (Nên dùng trên localhost), sau đó truy cập module (bên ngoài site) để sử dụng.

1. Hướng dẫn nâng cấp module NukeViet 3 lên NukeViet 4

Bạn cần hiểu rõ, bản chất của công cụ này không hỗ trợ nâng cấp tự động 100%, mà bạn cần phải can thiệp bằng kiến thức của mình, ở những nơi mà công cụ không thể xử lý tự động theo các gợi ý sau khi hoàn tất việc nâng cấp.

1. Cần kiểm tra lại tất cả các chỗ dùng SQL có câu lệnh: INSERT, UPDATE, DELETE: nếu câu lệnh nào cần xác định số kết quả trả về thì nên thay bằng thương thức PDO::exec
2. Kiểm tra lại tất cả các chỗ có //$xxx->closeCursor(); và thay thế đúng bằng $result->closeCursor(); tùy theo các đoạn code viết bên trên.
3. Kiểm tra lại tất cả các chỗ có $db->sql_affectedrows(); Nếu trên đó có câu lệnh $db->query( $sql ); thì hãy xóa dòng $db->query( $sql ); và sửa  $db->sql_affectedrows() thành $db->exec( $sql );
4.  Không sử dụng SQL REPLACE, bởi Oracle không hỗ trợ REPLACE
5.  Sử dụng PDOStatement::rowCount để đếm số kết quả trả về.
6.  Nên thay thế  UNIX_TIMESTAMP() bằng biến NV_CURRENTTIME trong PHP.
7.  Để module chạy được trên các loại CSDL khác cần bỏ dầu nháy ` trong các đoạn truy vấn CSDL.
8. Chức năng phân quyền đã thay đổi, cụ thể không còn hàm nv_set_allow mà thay vào đó là hàm nv_user_in_groups, cần xóa các trường who_view nếu có.
9. Chú ý đường dẫn trong admin. Ở phiên bản mới đã được thêm vào biến lang.
10. Tìm và thay thế các đoạn javascript sử dụng nv_ajax thay bằng ajax của jquery.

Sau khi cài đặt module:
- Copy module nukeviet 3.4 đã giải nén vào thư mục tmp/module-convert (Cần tạo thư mục nếu chưa tồn tại). Nếu trên linux, bạn cần phân quyền ghi cho tất cả các tập tin trong thư mục này, bởi quá trình xử lý sẽ can thiệp đến nội dung tập tin.
Ví dụ: Tôi nâng cấp module music, thì khi đó phải tồn tại file: tmp/module-convert/modules/music/version.php

- Truy cập vào địa chỉ http:/domain/c34to40/. Hệ thống sẽ tiếp tục quá trình tự động nâng cấp trong một khoảng thời gian ngắn, sau khi hoàn thành, màn hình sẽ hiển thị kết quả thay đổi.

Các công việc sau khi nâng cấp:
- Cài mới module, kiểm tra lại toàn bộ chức năng.
- Nếu phát hiện lỗi, xem lại 10 ghi chú bên trên và tiến hành kiểm tra, sửa đổi thủ công.
- Kiểm tra cho đến khi không còn lỗi.

2. Hướng dẫn nâng cấp hệ thống từ NukeViet 3 lên NukeViet 4

Ở phiên bản NukeViet 4, nhân hệ thống thay đổi đáng kể so với NukeViet 3, vậy nên BQT khuyến khích người dùng thay mới hoàn toàn code, không hỗ trợ nâng cấp module mà chỉ hỗ trợ chuyển đỗi dữ liệu các module hệ thống.

Lưu ý trước khi thực hiện:
- Cài đặt NukeViet 4 (phiên bản mới nhất) và đăng nhập quản trị tối cao.
- Import các bảng dữ liệu module NukeViet 3 vào CSDL chứa các bảng của NukeViet 4
- Mở modules/c34to40/function.php. Tìm đến dòng define( 'NV3_PREFIX', 'nv3' ); và thay ‘nv3’ bằng tiếp đầu tố bảng dữ liệu NukeViet 3 của bạn.


2.1. Nâng cấp dữ liệu module Users (Tài khoản)

- Xóa hết tất cả tài khoản thành viên (nếu có), chỉ dữ lại tài khoản quản trị tối cao.
- Truy cập đường dẫn http:/domain/c34to40/users/
- Chọn module muốn nâng cấp (users), sau đó nhấn “Thực hiện nâng cấp”
- Đợi đến khi nhận được thông báo thành công.
 

2.2. Nâng cấp dữ liệu module News (Tin tức)

- Xóa hết tất cả dữ liệu module news hoặc module ảo của news (nếu có) (Có thể thực hiện thao tác “Cài lại”)
- Copy thư mục uploads/news (hoặc uploads/module-ao-news) ở NukeViet 3 vào thư mục tương ứng của NukeViet 4

- Truy cập đường dẫn http:/domain/c34to40/news/
- Chọn module lấy dữ liệu (Module của NukeViet 3), sau đó chọn module muốn nâng cấp (ở NukeViet 4), sau đó nhấn “Thực hiện nâng cấp”
- Đợi đến khi nhận được thông báo thành công.


2.3. Nâng cấp dữ liệu module Download

- Xóa hết tất cả dữ liệu module download hoặc module ảo của download (nếu có) (Có thể thực hiện thao tác “Cài lại”)
- Copy thư mục uploads/download (hoặc uploads/module-ao-download) ở NukeViet 3 vào thư mục tương ứng của NukeViet 4

- Truy cập đường dẫn http:/domain/c34to40/download/
- Chọn module lấy dữ liệu (Module của NukeViet 3), sau đó chọn module muốn nâng cấp (ở NukeViet 4), sau đó nhấn “Thực hiện nâng cấp”
- Đợi đến khi nhận được thông báo thành công.


2.4. Nâng cấp dữ liệu module Shops

- Xóa hết tất cả dữ liệu module shops hoặc module ảo của shops (nếu có) (Có thể thực hiện thao tác “Cài lại”)
- Copy thư mục uploads/shops (hoặc uploads/module-ao-shops) ở NukeViet 3 vào thư mục tương ứng của NukeViet 4

- Truy cập đường dẫn http:/domain/c34to40/shop/
- Chọn module lấy dữ liệu (Module của NukeViet 3), sau đó chọn module muốn nâng cấp (ở NukeViet 4), sau đó nhấn “Thực hiện nâng cấp”
- Đợi đến khi nhận được thông báo thành công.


2.5. Nâng cấp các loại dữ liệu khác

- Chuyển dữ liệu bảng counter (lượt truy cập)
- Chuyển dữ liệu bảng searchkeys (từ khóa tìm kiếm)
- Chuyển dữ liệu bảng referer_stats (số liệu thống kê)

- Truy cập đường dẫn http:/domain/c34to40/other_db/
- Đợi đến khi nhận được thông báo thành công.

Thảo luận: 
http://forum.nukeviet.vn/viewtopic.php?f=173&t=35858

Tổng số điểm của bài viết là: 20 trong 4 đánh giá

Xếp hạng: 5 - 4 phiếu bầu
Click để đánh giá bài viết

  Ý kiến bạn đọc

Bài viết mới hơn

Bài viết cũ hơn

Trung tâm ứng dụng NukeViet
Ghi rõ nguồn khi sao chép thông tin từ website này.

Powered by NukeViet - a product of VINADES.,JSC