Importing (Trình nhập)

XenForo có khả năng nhập thông tin từ các diễn đàn khác, bao gồm người dùng, diễn đàn, chủ đề, bài đăng và tin nhắn riêng, cùng với nhiều dữ liệu khác.

Điều này có thể cực kỳ hữu ích nếu bạn đang di chuyển diễn đàn của mình từ một gói phần mềm khác hoặc nếu diễn đàn của bạn cần hợp nhất hoặc hấp thụ một trang web diễn đàn khác.

Trình nhập (importers) XenForo hiện được cài đặt qua một add-on riêng biệt mà bạn có thể tải xuống từ Customer area.

Tại thời điểm viết, XenForo 2 hỗ trợ nhập dữ liệu từ các nguồn sau:

  • XenForo 2
  • vBulletin 3.6 to 5.3

Chú thích

Bằng cách gián tiếp, bạn cũng có thể thu thập dữ liệu từ một số hệ thống khác bằng cách nhập vào XenForo 1.5, hiện có nhiều trình nhập hơn, và sau đó chạy nâng cấp cơ sở dữ liệu XenForo 1.5 lên phiên bản 2.

Trước khi bạn bắt đầu

Trước khi bạn bắt đầu nhập, có một số cân nhắc và các bước chuẩn bị mà bạn có thể muốn thực hiện trước quá trình định cấu hình. Các bước này khác nhau tùy thuộc vào hệ thống mà bạn sẽ nhập và được mô tả trong ghi chú của trình nhập cụ thể theo hệ thống phía dưới.

Chọn trình nhập

Bạn có thể bắt đầu hệ thống nhập bằng cách nhấp vào Import data, trong phần Tools của admin control panel XenForo.

Trên trang này, bạn sẽ được yêu cầu chọn nguồn nhập. Các nguồn được liệt kê được nhóm theo hệ thống mà chúng được thiết kế để nhập.

Chú thích

Vào thời điểm viết bài, tất cả các trình nhập hiện tại đều nhắm mục tiêu chính là XenForo, nhưng trong thời gian có thể có các trình nhập nhắm mục tiêu đến XenForo Media Gallery, XenForo Resource Manager hoặc thậm chí các add-on của bên thứ ba.

Khi bạn đã chọn một trình nhập khớp với dữ liệu nguồn bạn muốn nhập, hãy nhấp vào nút Continue.

Cấu hình nhập

Mỗi trình nhập xác định các yêu cầu riêng của mình và sẽ trình bày cho bạn một loạt các biểu mẫu để hoàn thành nhằm thu thập thông tin cần thiết để tiếp tục. Nói chung, điều này sẽ liên quan đến các chi tiết kết nối cơ sở dữ liệu cho hệ thống nguồn.

Một số trình nhập sẽ cố gắng làm cho hoạt động của bạn dễ dàng hơn, bằng cách tìm kiếm tệp config cho hệ thống nguồn, giả sử rằng XenForo của bạn được cài đặt ở cùng vị trí với hệ thống nguồn trước đây. Nếu tìm thấy tệp config, hệ thống nhập sẽ cố gắng điền vào càng nhiều trường biểu mẫu càng tốt với dữ liệu từ tệp config.

Sau khi bạn đã hoàn thành các chi tiết cần thiết, hãy nhấp vào nút Continue và trình nhập sẽ cố gắng kết nối với cơ sở dữ liệu nguồn. Nếu kết nối thành công được thực hiện, hệ thống sẽ có thể tiếp tục. Nếu không, hệ thống sẽ hiển thị thông báo lỗi có thể giúp bạn chẩn đoán sự cố kết nối.

Chọn bước nhập

Trên trang tiếp theo, bạn sẽ thấy một danh sách các bước mà trình nhập có thể chạy, mỗi bước tương ứng với một kiểu dữ liệu khác nhau. Một số bước phụ thuộc vào các bước khác - ví dụ, bài viết không thể được nhập mà không có chủ đề và không thể nhập chủ đề mà không có diễn đàn.

Mặc dù phụ thuộc vào bước, tuy nhiên bạn vẫn có thể bỏ chọn các bước mà bạn muốn bỏ qua - ví dụ bạn có thể muốn nhập người dùng nhưng không bận tâm đến avatar của họ.

Chú thích

Khi quá trình nhập đã bắt đầu, bạn không thể quay lại và thay đổi các bước bạn muốn nhập. Đảm bảo rằng bạn đã chọn tất cả các bước bạn muốn nhập trước khi thiết lập hệ thống đang chạy.

Giữ lại ID nội dung

Tùy chọn đầu tiên là quyết định xem bạn có muốn Giữ lại ID nội dung. Tùy chọn này chỉ có thể được sử dụng trên cài đặt XenForo hoàn toàn trống, không có chủ đề và bài đăng. Cài đặt sẽ cố gắng giữ lại ID của dữ liệu được nhập, sao cho chủ đề có ID là 2563 trong cơ sở dữ liệu nguồn sẽ được nhập với ID là 2563 trong cơ sở dữ liệu XenForo.

Nếu Giữ lại ID nội dung không được chọn, dữ liệu sẽ được nhập với các ID tuần tự không khớp với cơ sở dữ liệu nguồn. Đây là tùy chọn mặc định và trong hầu hết các trường hợp, nhanh hơn và đáng tin cậy hơn.

Đừng lo lắng về các liên kết hiện có trong công cụ tìm kiếm, v.v.. trỏ đến URL bằng cách sử dụng ID nguồn cũ. Nhiều trình nhập cung cấp redirection scripts (tập lệnh chuyển hướng) có thể liên tục chuyển hướng lượt truy cập đến các trang cũ trong hệ thống nguồn của bạn tới các trang mới tương ứng của chúng trong XenForo.

Nhập bảng nhật ký

Bạn cũng sẽ được yêu cầu cung cấp tên của bảng cơ sở dữ liệu có thể được sử dụng để lưu trữ nhật ký nhập. Bạn có thể sử dụng bất kỳ tên bảng cơ sở dữ liệu hợp lệ nào, miễn là bảng không tồn tại hoặc là một bảng trống.

Chúng tôi đề xuất tên chỉ sử dụng chữ thường, chữ số và dấu gạch dưới, chẳng hạn như import_log.

Nếu bảng không tồn tại, hệ thống sẽ cố gắng tạo ra nó. Nếu nó tồn tại nhưng đã chứa dữ liệu, bạn nên chạy truy vấn TRUNCATE TABLE your_table_name;, giả sử rằng bạn chắc chắn dữ liệu chứa trong bảng your_table_name được phép xóa.

Khi bạn đã hoàn tất biểu mẫu thành công, hãy nhấn nút Continue...

Bước cấu hình

Trong một số trường hợp, một số bước sẽ yêu cầu cấu hình bổ sung trước khi quá trình nhập có thể bắt đầu.

Nếu hệ thống nhập người dùng, bạn thường sẽ được hỏi xem bạn có muốn tự động hợp nhất người dùng với cùng một địa chỉ email hay không hay bạn muốn hợp nhất người dùng có cùng tên người dùng không. Các tùy chọn này đặc biệt quan trọng nếu bạn đang nhập vào cài đặt XenForo đã có sẵn và có một bộ sưu tập người dùng.

Bạn nên bật các tùy chọn hợp nhất người dùng này, đặc biệt là tùy chọn cùng một email, vì rất có khả năng hai người dùng có cùng địa chỉ email trên thực tế là cùng một người. Cho dù bạn có bật tùy chọn cùng tên người dùng phụ thuộc vào việc bạn có biết rằng một số người dùng trong cơ sở dữ liệu nguồn của bạn chia sẻ tên với người dùng trong cơ sở dữ liệu XenForo của bạn và trên thực tế, cùng một người dùng.

Ví dụ: nếu cài đặt XenForo của bạn có người dùng được gọi là 'Admin', và cơ sở dữ liệu nguồn của bạn cũng vậy, tùy chọn hợp nhất sẽ nhập tất cả dữ liệu thuộc về 'Admin' trong hệ thống nguồn dưới dạng dữ liệu thuộc về 'Admin' trong cài đặt XenForo của bạn, thay vì tạo người dùng 'Admin2' và phân bổ tất cả các chủ đề và bài đăng cho họ.

Tùy thuộc vào hệ thống nguồn, các bước khác có thể cần cấu hình. Ví dụ: trình nhập vBulletin cần bạn xác minh vị trí avatar và tệp đính kèm của bạn nếu chúng không được lưu trữ trong cơ sở dữ liệu.

Đôi khi, hệ thống sẽ thực hiện phỏng đoán tốt nhất, dựa trên thông tin mà nó có thể truy lục từ cơ sở dữ liệu, nhưng điều này thường cần phải được kiểm tra kỹ để đảm bảo rằng thông tin là chính xác trước khi bắt đầu nhập. Hầu hết các trình nhập sẽ thực hiện kiểm tra nhiều lỗi khi cần thiết để đảm bảo nhập thành công trước khi cho phép bạn tiếp tục.

Khi các bước của bạn được định cấu hình, hãy nhấp vào nút Continue.

Chạy trình nhập

Sau khi hoàn tất cấu hình thành công, trình nhập sẽ sẵn sàng chạy.

Cảnh báo

Luôn luôn thực hiện một sao lưu đầy đủ của cơ sở dữ liệu XenForo của bạn cùng với thư mục datainternal_data trước khi chạy một lần nhập. Cơ sở dữ liệu nguồn và tệp nguồn của bạn sẽ không bao giờ được sửa đổi, nhưng bản sao lưu cơ sở dữ liệu và tệp XenForo của bạn cung cấp cho mạng an toàn trong trường hợp quá trình nhập sai và bạn cần phải bắt đầu lại. Cũng là một ý tưởng hay để đóng các diễn đàn của bạn (sử dụng tùy chọn Board active) trong suốt quá trình nhập.

Có hai cách để chạy quá trình nhập, hoặc thông qua trình duyệt web của bạn trong admin control panel hoặc qua dòng lệnh/terminal được kết nối với máy chủ web của bạn qua SSH hoặc tương tự.

Phương thức nhập dòng lệnh (CLI) là nhanh hơn đáng kể so với phương pháp trình duyệt, nhưng yêu cầu bạn có quyền truy cập shell vào máy chủ của mình để chạy lệnh.

Browser importer (Duyệt trình nhập)

Nếu bạn chọn tùy chọn Browser importer (Duyệt trình nhập), chỉ cần nhấp vào nút Start import và làm theo lời nhắc trên màn hình cho đến khi quá trình nhập hoàn tất. Bạn sẽ thấy các bộ đếm tăng dần cho mỗi bước khi nó chạy, điều này có thể cung cấp cho bạn một số dấu hiệu về thời gian còn lại để quá trình nhập của bạn hoàn tất.

Bạn sẽ cần phải nhắc trình duyệt tiếp tục bước tiếp theo mỗi lần hoàn thành bước trước.

Trình nhập CLI

Để chạy Trình nhập CLI, bạn sẽ cần phải để trình duyệt web của bạn mở trên trang Start import, và đăng nhập vào máy chủ web của bạn bằng cách sử dụng SSH hoặc một phương pháp tương tự cho phép bạn chạy các lệnh trực tiếp trên máy chủ của bạn.

Sau khi đăng nhập, thay đổi thư mục làm việc hiện tại vào thư mục trong cài đặt XenForo của bạn, ví dụ /var/www/public/. Bạn sẽ biết rằng bạn đang ở trong thư mục chính xác, bởi vì nó sẽ chứa một tập tin gọi là cmd.php.

Chúng tôi sẽ sử dụng tệp cmd.php để chạy quá trình nhập, sử dụng lệnh sau:

php cmd.php xf:import

Nhập lệnh này và nhấn phím enter và quá trình nhập sẽ bắt đầu. Tất cả các bước sẽ chạy tuần tự và không bị gián đoạn, hiển thị cho bạn chỉ báo tiến trình cho từng bước.

Chú thích

Cả Browser importer và Trình nhập CLI có thể được tiếp tục nếu chúng bị gián đoạn vì bất kỳ lý do gì. Mặc dù bạn nên nhắm đến việc cho phép các quy trình hoàn thành mà không bị gián đoạn, vì một số dữ liệu có thể bị mất, bạn có thể tiếp tục quá trình nhập bằng cách nhấp vào Tools > Import data trong admin control panel, hoặc chạy lại lệnh CLI lần nữa.

Hoàn thành việc nhập

Khi quá trình nhập đã chạy, thông qua trình duyệt hoặc dòng lệnh, bạn sẽ được đưa đến trang Complete import, hoặc được chuyển hướng để làm mới trình duyệt của bạn đến trang Complete import được hiển thị.

Tại đây, bạn sẽ thấy bản tóm tắt tất cả các bước được chạy, cùng với thời gian thực hiện để chạy từng bước và số lượng mục được nhập bởi mỗi bước.

Chỉ có một điều còn lại trước khi dữ liệu đã nhập của bạn sẵn sàng để được sử dụng, đó là một rebuild tất cả các bộ nhớ cache mà XenForo sử dụng. Chúng sẽ được tạo khi bạn nhấn nút Complete import. Quá trình này có thể mất vài phút để hoàn thành, tùy thuộc vào khối lượng dữ liệu đã được nhập và lượng dữ liệu đã có trong cơ sở dữ liệu XenForo của bạn.

Redirection (Chuyển hướng)

Một số trình nhập cung cấp redirection scripts (tập lệnh chuyển hướng), được thiết kế để ngồi ở vị trí của phần mềm gốc của bạn và chặn yêu cầu nội dung từ hệ thống nguồn đó.

Sau đó, các tập lệnh chuyển hướng có thể truy vấn bảng mà bạn đã xác định là import log table (bảng nhật ký nhập) để có được URL cần thiết cho nội dung trong cài đặt XenForo của bạn tương ứng với dữ liệu được yêu cầu bởi URL gốc.

Các tập lệnh chuyển hướng liền mạch khách truy cập đến nội dung mới, trong khi gửi HTTP header cho trình duyệt biết rằng nội dung đã chuyển vĩnh viễn sang một vị trí mới.

HTTP header chuyển hướng vĩnh viễn này cho phép các công cụ tìm kiếm tìm thấy bất kỳ nội dung nào họ đã index trước đó từ phần mềm gốc của bạn và họ sẽ cập nhật URL của họ để trỏ đến vị trí mới.

Redirection (Chuyển hướng) cho vBulletin

XenForo 2.0.2 với một hệ thống chuyển hướng mới nhằm mục đích nỗ lực thiết lập chuyển hướng. Bạn có thể đọc nó ở đây:

Chuyển hướng XenForo cho vBulletin

Tốc độ nhập

Mặc dù các trình nhập có thể lấy dữ liệu từ máy chủ từ xa, nhưng độ trễ mạng sẽ là yếu tố quan trọng trong các trường hợp này, do thực tế là mỗi bước nhập có thể chạy vài nghìn truy vấn để tìm nạp và nhập dữ liệu.

Thời gian chờ đợi cho dữ liệu được lấy qua thậm chí một mạng cục bộ rất nhanh sẽ dẫn đến việc giảm tốc độ lớn so với việc nhập được thực hiện trên một máy chủ duy nhất.

Để có quy trình nhập nhanh nhất có thể, hãy sao lưu cơ sở dữ liệu và tệp trên máy chủ của bạn rồi thực hiện nhập trên máy chủ nhanh nhất có thể có cho bạn, với cả cơ sở dữ liệu nguồn và đích và tệp nằm trên máy chủ đó. Khi quá trình nhập hoàn tất, bạn có thể triển khai cơ sở dữ liệu và tệp kết quả đến môi trường sản xuất trực tiếp của mình.

Ghi chú của trình nhập cụ thể cho hệ thống

Trước khi bạn chọn và cấu hình một trình nhập, bạn nên đọc bất kỳ ghi chú nào có sẵn cho trình nhập bạn định sử dụng, để chuẩn bị tốt nhất cho cài đặt XenForo của bạn để nhận dữ liệu được nhập.