Released 2x Welcome to XenForo 2.1 - Tổng hợp các tính năng sẽ được tích hợp vào XenForo 2.1

PVS

Super Moderator
Thành viên BQT
Tham gia
28/02/2015
Bài viết
16,728
Được Like
12,680
Welcome to XenForo 2.1 - Tổng hợp các tính năng sẽ được tích hợp vào XenForo 2.1

Để chào đón phiên bản XenForo 2.1. Ở bài viết này mình sẽ tổng hợp các tính năng được chính XenForo tích hợp sẵn trong phiên bản mới này. Cùng mình đón xem những tính năng đó là gì nhé ;).

Chuyển đổi JSON

Theo truyền thống, XenForo luôn sử dụng các tính năng tuần tự được tích hợp sẵn của PHP như một cách để mã hóa các mảng dữ liệu thành các chuỗi để lưu trữ cơ sở dữ liệu. Mặc dù vẫn còn một số lợi ích khi sử dụng tuần tự hóa, nhưng XenForo đã cập nhật hầu hết lược đồ để sử dụng JSON trong tương lai.

Ngoài ra còn có một số lợi ích tức thì khi sử dụng JSON bao gồm về mặt kỹ thuật là "an toàn hơn" vì nó không thể mã hóa/giải mã các đối tượng PHP. Nhưng cũng có một số lợi ích lâu dài có thể có liên quan hơn trong tương lai.

Một lợi ích nữa là các phiên bản mới hơn của MySQL hỗ trợ JSON như một kiểu dữ liệu nguyên bản, bổ sung vô số các cách mới để tương tác trực tiếp với dữ liệu kiểu mảng. XenForo chưa sẵn sàng hỗ trợ điều này, vì nó yêu cầu MySQL 5.7/8.0 (hoặc tương đương), nhưng điều này chắc chắn sẽ hữu ích cho XenForo và các nhà phát triển bên thứ ba trong tương lai. Rào cản lớn nhất hiện nay là hơn 70% cơ sở khách hàng hiện tại của XenForo đang sử dụng các phiên bản MySQL không hỗ trợ các hàm JSON bổ sung, vì vậy nếu bạn rơi vào trường hợp đó thì XenForo cũng có khuyên bạn nên bắt đầu lên kế hoạch nâng cấp MySQL ngay bây giờ :)

Từ quan điểm phát triển, XenForo khuyên các nhà phát triển nên theo dõi và chuyển dữ liệu hiện có sang JSON. Để giúp chuyển đổi, XenForo đã thêm một số phương thức trợ giúp có thể sử dụng từ các class Setup. Dưới đây là ví dụ về bước nâng cấp trong XFMG:
Mã:
public function upgrade902010010Step5(array $stepParams)
{
    $position = empty($stepParams[0]) ? 0 : $stepParams[0];

    return $this->entityColumnsToJson('XFMG:MediaNote', ['note_data'], $position, $stepParams);
}

Việc này lấy entity name ngắn và một mảng tên cột để thực hiện chuyển đổi. Hai đối số cuối cùng là tùy chọn, nhưng được khuyến nghị nếu đang chuyển đổi một lượng dữ liệu đáng kể vì nó cho phép quá trình được chunked và có thể tiếp tục.

Avatar mặc định sẽ là dạng tròn

Ở XF 2.1 sẽ giới thiệu avatar tròn theo mặc định.

localhost_21x_index.php (16).png


roundavs.png

Đồng nghĩa với việc có thêm chỉ thị trực tuyến mới
Cũng sẽ có một số người không thích avatar tròn nên XenForo đã thêm tùy chọn vào style property để người dùng có thể tùy chỉnh điều này:

localhost_21x_admin.php_styles_default-style.1_style-properties_group&group=avatar.png

Việc thay đổi giá trị này thành 2px sẽ chuyển avatar hiển thị giống như trên XF 2.0.

Avatar người đăng bài mới nhất trên forum list

localhost_21x_index.php (17).png

Để cung cấp đủ không gian để phù hợp với avatar, XenForo đã thay đổi thống kê chủ đề/bài viết thành hiển thị ở định dạng số rút gọn, ví dụ: 1,4K thay vì 1,396.

BB Code và chỉnh sửa văn bản phong phú cho các bài viết và bình luận trên profile

Đối với một số cộng đồng, bài viết trên profile là yếu tố quan trọng trong việc giúp các thành viên tương tác với nhau. Tuy nhiên, trải nghiệm tổng thể về việc tạo nội dung này không hoàn toàn tiên tiến như bài viết trên diễn đàn chuẩn. Vì vậy, XenForo đã thay đổi điều đó:

localhost_21x_index.php_members_chris-d.1_ (1).png



profile_bbcode.png

Mới
Tạo bài viết profile bây giờ cho phép sử dụng trình soạn thảo văn bản phong phú, BB Code đầy đủ (và Markdown), biểu tượng mặt cười và mọi thứ đi kèm với nó.

Đây là bài viết profile hoàn chỉnh với một số định dạng phong phú hơn:

localhost_21x_index.php_members_chris-d.1_ (2).png

Bạn có thể nhận thấy một cái gì đó hơi khác ở đây. Để bình luận về bài viết trên profile, trước đây bạn phải nhấp vào liên kết "Comment" trong thanh tác vụ của bài viết trên profile.

Vấn đề chính với điều đó là nếu bạn có một danh sách dài các bình luận thì bạn sẽ phải cuộn lên để chạm vào liên kết Comment. Như bạn có thể thấy ở trên, bây giờ XenForo có một đầu vào "Write a comment..." ngay bên dưới danh sách bình luận.

localhost_21x_index.php_members_chris-d.1_ (3).png

Trong trường hợp bạn thích cách hiển thị bình luận cũ thì XenForo vẫn hỗ trợ nó. Bạn chỉ cần kích hoạt style property này:

localhost_21x_admin.php_styles_default-style.1_style-properties_group&group=member.png

Hỗ trợ hiển thị tốt hơn cho màn hình iPhone X/Xr/Xs

Bất cứ ai hiện đang có một chiếc iPhone với một "notch" hoặc "tai thỏ" chẳng hạn như loạt iPhone X sẽ quen thuộc với một cái gì đó như thế này:

live.browserstack.com_dashboard_utm_source=chrome&utm_medium=extension&utm_campaign=quick-laun...png

iOS tự động có một hành vi để đảm bảo rằng không có nội dung nào bị ẩn đi. Về cơ bản, nó hạn chế chế độ xem để nội dung phù hợp trong "khu vực an toàn".

Tuy nhiên, trong XF 2.1, XenForo đã cải thiện điều này một chút để có thể sử dụng toàn bộ chiều rộng của chế độ xem trong khi vẫn đảm bảo rằng nội dung đó không bị ẩn sau notch. Như thế này!

_dashboard_utm_source=chrome&utm_medium=extension&utm_campaign=quick-laun.. (1).png

Điều này hiện đang được xác nhận để làm việc trong Safari trên iOS nhưng về mặt lý thuyết, nó cũng hoạt động trên các thiết bị dựa trên Android P (như Google Pixel 3).

Hỗ trợ và tự động xử lý yêu cầu hủy đăng ký bằng cách sử dụng header List-Unsubscribe trong email

Hầu hết các email trong XenForo hoàn toàn là giao dịch và không yêu cầu xử lý giống nhau về việc hủy đăng ký chúng. Nhưng đối với email được gửi qua trang "Email users" trong AdminCP, người dùng sẽ chỉ nhận được những thông tin này nếu họ đã được chọn tham gia và XenForo cung cấp liên kết dễ dàng trong phần cuối của email để chọn không tham gia (không yêu cầu đăng nhập và vô hiệu hóa checkbox "Receive news and update emails").

Tuy nhiên, hầu hết các dịch vụ email cung cấp một cách thuận tiện hơn để có thể hủy đăng ký các loại email này.

Khách hàng có hỗ trợ tính năng này sẽ hiển thị liên kết hủy đăng ký nổi bật hơn để người dùng không cần phải tìm kiếm nó trong chính email đó. Dưới đây là một số ví dụ:

email_unsub2.png

Cơ chế hiển thị liên kết "Unsubscribe" bao gồm tiêu đề đặc biệt trong email có tên là List-Unsubscribe. Giá trị mà hầu hết các ứng dụng email ưa thích này chứa là địa chỉ email. Khi được nhấp, một email sẽ được gửi đến địa chỉ đó. Có một tùy chọn mới trong Email options cho phép chỉ định địa chỉ email yêu cầu hủy đăng ký được gửi tới:

localhost_21x_admin.php_options_groups_emailOptions_ (1).png

Bạn chỉ có thể xử lý các email này theo cách thủ công nếu muốn. Nhưng phải có một cách tốt hơn!

localhost_21x_admin.php_options_groups_emailOptions_ (2).png

Nếu bạn đã từng cấu hình xử lý email bị trả lại tự động, điều này có vẻ quen thuộc với bạn. Để xử lý yêu cầu hủy đăng ký tự động, bạn sẽ cần phải tạo một hộp thư mới đặc biệt cho mục đích đó và đảm bảo nó có thể truy cập được thông qua kết nối POP3 hoặc IMAP. Khi bạn điền các trường này với thông tin đăng nhập có liên quan, XF sẽ định kỳ đăng nhập vào hộp thư đó cho bạn, đọc bất kỳ email nào đã được gửi ở đó và tắt tùy chọn "Receive news and updates emails" cho người dùng đã yêu cầu hủy đăng ký.

Cấu hình xác thực mới

Bây giờ XenForo cuối cùng đã nói lời tạm biệt với PHP 5.4, XenForo có thể bắt đầu cải thiện hơn nữa các công cụ được sử dụng để tạo và xác minh mật khẩu. Kể từ XF 2.0, XenForo đã cố gắng sử dụng các chức năng sau đã được thêm vào trong PHP 5.5 nếu chúng có sẵn:
Bây giờ chạy PHP 5.6 là mức tối thiểu, chúng ta chỉ có thể sử dụng các hàm PHP gốc này cho tất cả các nhu cầu mật khẩu.

Kể từ XF 1.2, XenForo đã sử dụng Bcrypt cho mật khẩu, điều này trước khi nó được hỗ trợ bởi PHP và thậm chí ngày nay nó vẫn là thuật toán mặc định cho cả PHP 7.2 và 7.3.

Nhưng, theo thời gian, PHP sẽ bổ sung thêm các phương thức, và nó sẽ là lý tưởng nếu chỉ có thể hỗ trợ chúng ra khỏi box mà không cần phải thực hiện bất kỳ thay đổi code nào. Các chức năng nói trên là một giao diện nhất quán và do đó giúp chúng ta trở thành một phần của cách linh hoạt, nhưng cho đến bây giờ không có cách nào đơn giản để sử dụng một thuật toán khác nếu có sẵn hoặc hỗ trợ cấu hình chi tiết hơn.

Tuy nhiên, PHP thực sự đã thực hiện (kỹ thuật) hai thuật toán mật khẩu mới dựa trên Argon2. Đây là lần đầu tiên được giới thiệu trong PHP 7.2 bằng cách sử dụng một biến thể được gọi là Argon2i và nó được cải thiện hơn nữa trong PHP 7.3 bằng cách sử dụng một biến thể được gọi là Argon2id.

Theo mặc định, XF sẽ luôn hướng tới sử dụng thuật toán mật khẩu mặc định hoặc được hỗ trợ rộng rãi nhất, vì vậy trong trường hợp này vẫn là Bcrypt. Nhưng nếu bạn có một phiên bản PHP thích hợp và các điều kiện tiên quyết cần thiết được cài đặt (PHP phải được biên dịch rõ ràng với sự hỗ trợ của Argon2) thì XenForo sẽ cho phép bạn sử dụng nó. Và nó đơn giản như một vài dòng bổ sung trong src/config.php.

Sau đây sẽ cho phép hỗ trợ Argon2i nếu bạn đang sử dụng PHP 7.2:
Mã:
$config['auth'] = [
   'algo' => PASSWORD_ARGON2I
];

Sau đây sẽ cho phép hỗ trợ Argon2id nếu bạn đang sử dụng PHP 7.3:
Mã:
$config['auth'] = [
   'algo' => PASSWORD_ARGON2ID
];

Mặc dù không bắt buộc vì mặc định PHP phải đủ (và có khả năng tăng theo thời gian), thậm chí bạn có thể làm cho mật khẩu của mình thậm chí còn an toàn hơn bằng cách chuyển các tham số bổ sung để kiểm soát các yếu tố chi phí khác nhau:
Mã:
$config['auth'] = [
   'algo' => PASSWORD_ARGON2ID,
   'options' => [
      'memory_cost' => 1<<17,
      'time_cost' => 4,
      'threads' => 2
   ]
];

Nhờ tính linh hoạt của API mật khẩu trong PHP, bất kỳ thay đổi nào đối với thuật toán và tùy chọn sẽ tự động khiến mật khẩu hiện tại được khôi phục khi người dùng đăng nhập.

Mặc dù XF khuyên bạn nên sử dụng phiên bản PHP mới nhất mà XF hỗ trợ và cũng khuyên bạn nên sử dụng Argon2i/id nếu có, bạn phải lập kế hoạch cẩn thận nếu bạn cần hạ cấp PHP hoặc chuyển sang máy chủ khác. Nếu Argon2 đột nhiên không khả dụng vì bất kỳ lý do gì, thì bạn có thể sẽ gặp phải lỗi và không thể xác minh bất kỳ mật khẩu nào mà không cần đặt lại mật khẩu trước.

Hiển thị trường mật khẩu khi đăng nhập

Cảm giác bực bội nhất khi nhập mật khẩu đó là chúng ta vô tình bấm thừa hoặc thiếu bất kỳ kí tự nào đó khiến chúng ta đăng nhập thất bại. Do mật khẩu được ẩn đi nên chúng ta đành phải nhập lại, có thể sẽ rất nhiều lần mới đăng nhập được. Vậy nên XF đã cung cấp thêm tính năng hiển thị trường mật khẩu khi đã nhập vào, giúp cho người dùng có thể kiểm tra xem mật khẩu nhập vào đã hoàn toàn chính xác hay chưa.

localhost_21x_index.php (19).png

Hãy đảm bảo là không có ai đang nhìn vào màn hình của bạn khi bạn nhấp vào hiển thị mật khẩu :)).

Kiểm tra độ mạnh mật khẩu với zxcvbn

Trong những năm qua đã có một số mong muốn đối với XF để thực hiện các yêu cầu phức tạp về mật khẩu nhưng về cơ bản, chúng không có xu hướng hoạt động. Chúng phục vụ như là một trải nghiệm vô cùng bực bội.

Trong một thế giới lý tưởng, mọi người sẽ sử dụng các trình quản lý mật khẩu như 1Password hoặc LastPass, nhưng trên thực tế mọi người vẫn đang chọn mật khẩu rác để dễ nhớ hơn. Bạn có thể quen với hình ảnh sau:

password_strength.png

Hầu hết mọi người thực sự không có ý tưởng gì để tạo thành một mật khẩu tốt hay mạnh, và thường họ không nghĩ về nó.

Hình ảnh trên lấy khá nhiều cảm hứng từ Dropbox đưa vào những thách thức với một cách tốt hơn để ước tính mật khẩu phức tạp, và zxcvbn được XF thực hiện trong XF 2.1. Bất cứ lúc nào người dùng đối mặt với một tùy chọn để chọn một mật khẩu mới, họ sẽ thấy điều này:

localhost_21x_index.php_account_security.png

Cũng như một dấu hiệu trực quan về độ mạnh của mật khẩu, nó sẽ cung cấp một mô tả về lý do tại sao mật khẩu bạn chọn không phải là tuyệt vời:

localhost_21x_index.php_account_security (1).png


localhost_21x_index.php_account_security (2).png

Nhà cung cấp xác minh hai bước mới: Authy OneTouch

Với XF 2.1, giờ đây bạn có thể bật hỗ trợ Authy OneTouch trên diễn đàn, cho phép thông báo đẩy được gửi tới ứng dụng Authy của bạn để phê duyệt đăng nhập. Ở đây là cách nó hoạt động:

authyonetouch.gif

Để kích hoạt tính năng này, trước tiên bạn cần phải đăng ký tài khoản Twilio và tạo ứng dụng cần thiết và nhận key API. Key này có thể được nhập vào giao diện người dùng mới mà XF đã thêm để xem các nhà cung cấp xác minh hai bước.

localhost_21x_admin.php_two-step_.png

Mặc dù không có nhiều thứ có thể được thực hiện ở đây cho hầu hết các nhà cung cấp, nhưng nó cung cấp giao diện người dùng mới và nhất quán cho nhà phát triển để thêm các tùy chọn nâng cao hơn cho nhà cung cấp xác minh hai bước tùy chỉnh trong tương lai.

Khi nhà cung cấp Authy đã được định cấu hình, người dùng có thể bắt đầu thiết lập nó. Nếu họ chưa có ứng dụng Authy trên điện thoại của họ, họ sẽ được gửi một liên kết đến ứng dụng đó.

Từ góc độ người dùng, quy trình đăng ký bao gồm cung cấp số điện thoại di động để họ có thể nhận mã xác minh bằng tin nhắn văn bản SMS.

Trước khi định cấu hình Authy, bạn có thể kiểm tra giá của mình vì chúng chỉ có một cấp miễn phí khá hạn chế. Xác thực đẩy tiếp theo sau đó được tính phí là 0,09 đô la mỗi xác thực có thể là số tiền đáng kể cho một số cộng đồng. Điều đó nói rằng, tùy thuộc vào đối tượng của bạn, bạn có thể có ít người tích cực hơn sử dụng xác minh hai bước và những người đó có thể chỉ cần xác thực sau mỗi 30 ngày một lần.

Sắp xếp lại các trường lựa chọn tùy chỉnh

Trong XF 2.1, XF sẽ thêm khả năng sắp xếp lại các trường lựa chọn tùy chỉnh rất đơn giản bằng cách kéo và thả:

field_order.gif

Đối với các nhà phát triển, nếu bạn muốn triển khai danh sách kéo thả đơn giản của riêng mình trong các add-on thì XF đã thực hiện điều này đơn giản để thực hiện với class sort.js và XF.ListSorter mới. Đối với trường hợp sử dụng nâng cao, bạn có thể muốn sử dụng nestable.js hoặc cuộn một cái gì đó tùy chỉnh hơn, nhưng đối với các trường hợp đơn giản như được minh họa ở trên, nó sẽ khá hữu ích.

Kết

Ở trên là những tính năng sẽ góp mặt trong phiên bản XenForo 2.1. Các bạn có hứng thú với tính năng nào trong những tính năng trên không? Hãy cũng chia sẻ với mọi người suy nghĩ của mình nhé :).

Chúc các bạn thành công.


Nguồn: xenforo.com​
 

THB

Founder
Thành viên BQT
Tham gia
25/02/2015
Bài viết
6,650
Được Like
3,939
mấy bác cứ từ từ, site nào mới làm thì mới nên thử ( test) còn site đang chạy ổn định tốt nhất là làm 1 site demo xem có gì mới thôi.
hiiii
 

Stone

Private
Tham gia
16/11/2016
Bài viết
21
Được Like
10
Có bản full chưa cho link mình tải về update diễn đàn mình dùng ver 1.5.10
 
  • Like
Reactions: THB

Hướng dẫn sử dụng

XenForo 1 XenForo 2
Translate by PVS

Dịch vụ XenForo của VNXF

Mr. Tuấn

Mobile/Zalo: 0988 488 096

Telegram: bluekpro

Email: [email protected]

Nhà Tài Trợ

Mút Xốp Không Gian
pallet Thịnh Phát
Top Bottom