DataLife Engine v.19.1 Press Release
Các bạn thân mến,
Giai đoạn chính của quá trình phát triển phiên bản 19.1 đã được hoàn tất. Hiện tại bản phát hành đang trong quá trình kiểm thử và chuẩn bị trước khi ra mắt. Trong thời gian chờ đợi, chúng tôi mời bạn cùng tìm hiểu những thay đổi và tính năng mới sẽ có mặt trong phiên bản sắp tới.
Các thay đổi sau đây đã được chuẩn bị và triển khai:
Danh sách thay đổi và cải tiến
-
Bổ sung khả năng tạo thẻ meta mô tả (description) và từ khóa (keywords) bằng AI.
Nếu trong cài đặt hệ thống đã bật việc sử dụng mô hình AI cho việc xuất bản, đồng thời người dùng thuộc nhóm được phép sử dụng AI, thì trong tab “Bổ sung” sẽ xuất hiện tùy chọn tạo các thẻ này bằng AI dựa trên nội dung bài viết. Nhờ đó, bạn có thể tự động tạo các thẻ meta chính xác và có ý nghĩa hơn cho các trang tin. -
Thêm hỗ trợ dịch vụ “Yandex Smart Captcha” để xác minh người dùng không phải là bot.
Captcha này được bật trong phần cài đặt hệ thống, nơi bạn cũng cấu hình khóa công khai và khóa riêng. Giải pháp này cho phép tránh sử dụng các dịch vụ nước ngoài đối với những website bị hạn chế, đồng thời có khả năng chống bot rất cao. -
Áp dụng kiểu chữ linh hoạt (fluid typography) cho phông chữ và toàn bộ giao diện bảng điều khiển quản trị DataLife Engine.
Bảng quản trị giờ đây có thể tự động điều chỉnh kích thước chữ và các thành phần giao diện trên màn hình độ phân giải cao và DPI lớn. Điều này đặc biệt hữu ích cho laptop độ phân giải cao, màn hình 4K và 5K. Tính năng tự động kích hoạt trên các thiết bị có mật độ điểm ảnh từ 1.5 dppx trở lên. -
Các mẫu giao diện mặc định đi kèm bản phân phối cũng đã được cập nhật theo nguyên tắc kiểu chữ linh hoạt để làm ví dụ.
-
Thêm khả năng tạo và quản lý công thức toán học trong bài viết.
Trình soạn thảo được bổ sung nút riêng để tạo hoặc chỉnh sửa công thức, có hỗ trợ xem trước. Có thể sử dụng LaTeX hoặc MathML gốc. Khi dùng LaTeX, việc hiển thị được thực hiện bằng trình render nhanh KaTeX; MathML được các trình duyệt hiện đại hiển thị trực tiếp mà không cần thư viện JS bổ sung. -
Cải tiến chèn văn bản ẩn trong bài viết và bình luận bằng các khối trực quan hiển thị ngay trong trình soạn thảo.
Bạn có thể dễ dàng di chuyển, xóa toàn bộ khối chỉ với một cú nhấp chuột. Nhấp đúp để chỉ định nhóm người dùng được phép xem nội dung ẩn. Ngoài ra, mỗi khối văn bản ẩn có CSS class riêng để bạn tùy chỉnh giao diện qua template. -
Cải tiến chèn spoiler trong bài viết.
Spoiler giờ sử dụng các khối HTML gốc thay vì thẻ DLE, cho phép bạn đổi tiêu đề spoiler trực tiếp và dễ dàng di chuyển toàn bộ khối trong nội dung. -
Bổ sung các tùy chọn trợ năng (accessibility) nâng cao cho hình ảnh trong trình soạn thảo, hỗ trợ tốt hơn cho trình đọc màn hình, quản lý focus và gợi ý trực quan, giúp tuân thủ các tiêu chuẩn WCAG.
-
Thêm chức năng xem trước tệp PDF được tải lên bằng DataLife Engine, sử dụng công cụ nội bộ của DLE và trình duyệt. Không còn phụ thuộc vào dịch vụ Google.
-
Bổ sung tìm kiếm trong phần cài đặt nhóm người dùng trong bảng quản trị, cho phép tìm nhanh theo tên hoặc mô tả cài đặt.
-
Cho phép bật/tắt các trường bổ sung của bài viết trong bảng quản trị.
Trường bị tắt sẽ không hiển thị khi thêm bài mới, nhưng vẫn xuất hiện khi chỉnh sửa bài cũ nếu đã có dữ liệu. Dữ liệu trên website vẫn được hiển thị bình thường. -
Thêm tùy chọn bật/tắt trình soạn thảo cho tin nhắn cá nhân.
Khi tắt, hệ thống dùng ô nhập văn bản thuần, không hỗ trợ HTML hay định dạng, rất phù hợp khi sử dụng tin nhắn cá nhân như một hệ thống chat đơn giản. -
Thiết lập giới hạn số lượt đánh giá bài viết mỗi ngày theo từng nhóm người dùng (bao gồm cả đánh giá tích cực và tiêu cực).
-
Cho phép hoặc cấm người dùng thay đổi đánh giá bài viết đã gửi tùy theo nhóm người dùng.
-
Thiết lập giới hạn số lượt đánh giá bình luận mỗi ngày theo từng nhóm người dùng.
-
Cho phép hoặc cấm thay đổi đánh giá bình luận đã gửi theo nhóm người dùng.
-
Bổ sung tùy chọn giới hạn số ngày để tìm bài viết tương tự.
Các bài quá cũ sẽ không còn xuất hiện trong danh sách bài liên quan nếu vượt quá thời gian đã đặt. -
Thêm thẻ meta og:image và twitter:image cho trang hiển thị bài viết ngắn nếu có hình ảnh, giúp hiển thị ảnh khi chia sẻ liên kết trên mạng xã hội.
-
Bổ sung thẻ
{user-dialog}cho template tin nhắn cá nhân (pm.tpl) để hiển thị liên kết đến hồ sơ người đang trò chuyện. -
Thêm các thẻ
[self-dialog]và[not-self-dialog]để hiển thị nội dung khác nhau khi người dùng nhắn tin với chính mình hoặc với người khác. -
Mở rộng thẻ
[custom=…][/custom]cho phép kiểm tra nhiều khối cùng lúc, với điều kiện tất cả hoặc chỉ một trong số đó tồn tại. -
Thêm hỗ trợ lồng nhau cho thẻ
[custom]và[not-custom]. -
Cho phép sử dụng nhiều khối custom cùng tên nhưng với điều kiện truy vấn hoặc hiển thị khác nhau.
-
Mở rộng thẻ
[customcomments=…][/customcomments]tương tự như[custom], cho phép nhiều điều kiện kiểm tra. -
Thêm hỗ trợ lồng nhau cho thẻ
[customcomments]và[not-customcomments]. -
Tự động tô sáng mã nguồn trong tin nhắn cá nhân, ngay sau khi gửi bằng AJAX, không cần tải lại trang.
-
Tạo mã QR cho xác thực hai yếu tố (2FA) bằng công cụ nội bộ của DataLife Engine, không phụ thuộc dịch vụ bên thứ ba.
-
Tự động ẩn nút gửi tin nhắn cá nhân trên hồ sơ người dùng nếu người gửi hoặc người nhận không có quyền sử dụng tính năng này.
-
Khi sử dụng module “Tiêu đề, mô tả, thẻ meta”, tiêu đề trang sẽ được hiển thị cả trong breadcrumb (speedbar).
-
Cải tiến hệ thống xem trước bài viết.
Không còn dùng cửa sổ pop-up của trình duyệt, thay vào đó là cửa sổ modal nội bộ, tránh bị trình duyệt chặn. -
Cải thiện tương tác với AI trong trình soạn thảo, tối ưu các lệnh hệ thống để AI hiểu và phản hồi chính xác hơn.
-
Cải thiện kiểm tra các trường bắt buộc đối với trường dạng “Danh sách” khi có giá trị rỗng.
-
Tối ưu hóa hệ thống cache, loại bỏ việc tải class và tiêu tốn tài nguyên khi cache bị tắt.
-
Cải thiện hệ thống xử lý kiểu chữ trong trình soạn thảo.
-
Bổ sung hỗ trợ PHP 8.5.x.
-
Tối ưu tìm kiếm bài viết tương tự, giảm tải máy chủ với nội dung lớn và cơ sở dữ liệu lớn, đồng thời nâng cao chất lượng kết quả.
-
Tối ưu tốc độ hoạt động của bộ xử lý template, đặc biệt trong xử lý các thẻ toàn cục.
-
Cải thiện thuật toán tính điểm đánh giá tiêu cực cho bài viết và bình luận khi có giới hạn theo người dùng.
-
Cập nhật quy tắc chuyển tự tiếng Ukraina, thống nhất giữa website và bảng quản trị, bổ sung bản địa hóa múi giờ và nhiều cải tiến dịch thuật khác.
-
Thay đổi cách kết nối file CSS tùy chỉnh cho trình soạn thảo.
Fileeditor.csstrong template sẽ được nạp như CSS bổ sung, không ghi đè CSS gốc. -
Cập nhật trình soạn thảo bài viết lên phiên bản mới, cải thiện hiệu năng và sửa lỗi.
-
Cập nhật cơ sở dữ liệu IP theo quốc gia để xác định vị trí chính xác hơn.
-
Sửa lỗi không kích hoạt chế độ tối cho trình tô sáng mã khi bật “Chế độ đêm tự động” trong bảng quản trị.
-
Sửa lỗi trong các template mặc định khi sử dụng jQuery 4.
-
Sửa lỗi chèn hình ảnh hàng loạt khi thiếu bản sao trung bình hoặc thu nhỏ của ảnh.
-
Sửa lỗi không lưu cài đặt trường bổ sung trong một số trường hợp.
-
Sửa lỗi hiển thị sai quy tắc SEO URL (ЧПУ) trong bảng quản trị.
-
Sửa lỗi không tải biểu tượng danh mục khi dùng kho lưu trữ ngoài làm mặc định.
-
Sửa lỗi tái xây dựng trường bổ sung trong một số trường hợp.
-
Sửa lỗi tạo thẻ meta og:image cho bài viết đầy đủ trong một số tình huống đặc biệt.
-
Sửa lỗi không hiển thị bài viết đầy đủ khi chưa đặt URL SEO với kiểu 1 và 2.
-
Sửa lỗi redirect sai đối với URL SEO khi script không cài ở thư mục gốc domain.
-
Sửa lỗi thẻ
<pre>trong ghi chú plugin làm giãn chiều rộng trang quản trị. -
Sửa lỗi không căn giữa ảnh đơn khi bật chèn ảnh bằng BBCode.
-
Sửa lỗi tạo liên kết sai trong sitemap khi script không cài ở thư mục gốc.
-
Sửa lỗi không xóa file vật lý của trường bổ sung khi xóa trực tiếp trong bài viết.
-
Sửa lỗi reset quyền truy cập bài viết khi bài được chỉnh sửa bởi người dùng có quyền thấp hơn.
-
Sửa các lỗi nhỏ khác đã được phát hiện và báo cáo trước đó.
Dear friends,
The main stage of development of version 19.1 has been completed, the release is under testing and pre-release preparation, but in the meantime, we suggest you familiarize yourself with information about what awaits you with the release of the new version.
The following changes have been implemented:
1. Added the ability to generate meta description and keywords tags using AI. If the script settings have enabled the use of AI models for publishing, and the user belongs to a group that is allowed to use AI, then an additional option will appear for them in the “Additional” tab to generate these tags with AI based on the publication content. This way, you can automatically generate more accurate and meaningful meta tags for your news pages.
2. Support for the “Yandex Smart Captcha” service has been added to verify that users are not bots. This captcha is enabled in the script settings; in the settings you also specify the public and private keys required to work with the service. This captcha makes it possible to avoid using foreign services for websites where that is prohibited. It also provides strong resistance against bots.
3. Added support for fluid typography for fonts and all design elements of the DataLife Engine control panel. This means the control panel can now automatically adapt typography to screens with very high resolution. For example, with a high pixel density on laptops or desktop monitors and a high screen resolution set, the admin panel will automatically adjust by increasing fonts and design elements so that everything does not look “too small” on such screens.
4. Standard templates that come with the distribution also, as an example, received a layout based on the principle of fluid typography.
5. Added support for posts to enable the creation and management of mathematical formulas. This feature is enabled in the script settings under the news settings tab. When this option is enabled, a corresponding button appears in the editor where you can create or edit a mathematical formula. Before inserting a formula, a preview is available. For implementing formulas, LaTeX or native MathML is used as desired. When using LaTeX while writing a formula, fast KaTeX rendering is used for display. MathML is displayed natively by modern browsers without connecting additional JS libraries.
6. When writing news and comments, to insert hidden text in the editor, the use of visual blocks visible in the editor has been added. This allows you to conveniently manage entire blocks directly in the editor For example, move them to other places in the text with the mouse, delete the whole block in one click, and so on. By double-clicking the block, the user can immediately and conveniently specify which groups are allowed to see this hidden block. Also, when displaying the hidden text block, the use of a separate CSS class has been added for it, so through templates you can assign it your own special styling when it is displayed, without needing to style anything directly in the publication text.
7. When writing news and using the spoiler insert in the editor, the use of native HTML blocks has been added without using DLE tags. This way, you can change the spoiler title directly in the editor as you wish, and you can also conveniently move entire spoiler blocks through the text to the place you need.
8. Advanced accessibility options have been added to the publication editor for published images, allowing users to fine-tune published content to individual needs, providing improved support for screen readers, focus control, and visual cues. This increases the ease of using the site for users with disabilities and helps your content comply with accessibility requirements (WCAG).
9. Added a preview of PDF files uploaded using DataLife Engine using native tools directly from DLE and the browser. The Google service is no longer used to view these files, and there is no dependency on this service.
10. Added the ability to search through user group settings in the DataLife Engine control panel. This allows you to quickly find the required setting by entering a keyword. The search is performed both by the setting name and by its description.
11. Added the ability to disable and enable additional fields for publications in the control panel. This feature is an alternative to deleting additional fields. If an additional field is disabled, it will not be displayed when adding new news items. When editing old news items, it will be displayed if the field was previously filled in with information so that the user can transfer the information to other fields, and it will not be displayed if it was not filled in. On the website, information from the field will be displayed regardless of whether the field is enabled or disabled. This new feature is useful when it is necessary to introduce new fields on the site, but keep the old fields for older publications so as not to disrupt the display of information on the site; thus, the old fields will not interfere when adding new publications.
12. Added the ability to enable and disable the editor for private messages in the script settings in the control panel. When the editor is disabled, a regular text field is used, and the ability to send formatted text and HTML tags is disabled. The behavior becomes exactly the same as when disabling the editor for comments. This new feature will be useful for organizing private messages in a chat format, when users write simple messages to each other.
13. Added the ability to set in the user group settings a maximum daily limit on the number of ratings given to news on the website. You can set separately for each group how many publications they can rate at most per day. Both positive and negative ratings are counted. This way, you can minimize the risks of rating manipulation for publications.
14. Added the ability in the user group settings to allow or prohibit users from changing the ratings they previously gave to news items. You can allow or prohibit this option separately for each group. If it is allowed, then a user who changes their mind will be able to change their rating if they have already rated a publication; if it is prohibited, then once a user has given a rating, they will no longer be able to change it.
15. Added the ability to set in the settings of user groups a maximum limit on the number of ratings given to comments on the site per day. You can set separately for each group how many comments a user can rate at most per day. Both positive and negative ratings are counted. This way, you can minimize the risks of manipulating comment ratings.
16. Added the ability in the settings of user groups to allow or prohibit users from changing the ratings they previously gave to comments. You can allow or prohibit this option separately for each group. If it is allowed, then if a user changes their mind, they will be able to change their rating after they have already given it to a comment; if it is prohibited, then after giving a rating once, the user will no longer be able to change it.
17. The script settings have added the option to specify the number of days during which similar news should be searched for. If more than the specified period has passed since publication, it will not be included among similar items for publication. This way, you can limit and avoid showing very old publications in similar news. If necessary, you can also choose not to set this limitation.
18. Added output of the og:image and twitter:image meta tags when viewing short posts on the website, if the posts contain images. When filling the meta tags, data from the first post displayed on the page is used. Thus, if users share links to pages with short posts on social networks, this information will also include images from your website.
19. For the personal messages template (pm.tpl), support has been added for a new tag {user-dialog} inside the tags [readpm] … [/readpm], which outputs a link to the profile of the user with whom the dialog is being conducted. You can, for example, use it to display a link to the interlocutor’s profile in the dialog header or in any other place in the dialog at your discretion.
20. For the personal messages template (pm.tpl), support has been added for new tags [self-dialog] text [/self-dialog] which display the text enclosed within them if the user has created a conversation with themselves and sent a message to themselves. Support has also been added for the opposite tags [not-self-dialog] text [/not-self-dialog] which display the text enclosed within them if the conversation is being conducted with another user. These tags are used inside the [readpm] … [/readpm] tags and are used for different styling of the conversation depending on who it is being conducted with.
21. For the tags [custom=…] text [/custom] an option has been added to list multiple parameters for checking. In this case, you can also specify under which condition the presence of blocks should be checked. You can check either the mandatory presence of all blocks, or only one of any of the listed ones. When listing blocks separated by commas [custom=block1,block2,block3] Text [/custom], the presence of all three custom blocks will be checked and the tag will output the text only if all three blocks exist; and when listing blocks separated by the | character [custom=block1|block2|block3] Text [/custom], for outputting the text enclosed in the tags it will be sufficient for only one of any of the three listed blocks to exist. Similarly, parameters can be listed in the opposite tag [not-custom=…] Text [/not-custom].
22. Added support for nesting for the tags [custom=…] Text [/custom]. For example, you can use the tag structure [custom=block1,block2] Block 1 [custom=block2] Block 2 [/custom] [/custom]. Also, by analogy, nesting support has been added for the opposite tags [not-custom=…] Text [/not-custom].
23. For the tags [custom=…] Text [/custom], support has been added for using multiple blocks with the same name, but with different database selection conditions or different display conditions. For example, you can now use structures like: [custom=block]...{custom name="block" available="main" category="9" limit="3"}{custom name="block" available="cat" category="5" limit="6"}...[/custom], i.e., for different sections you can output different blocks объединённые одним именем and the check will be performed correctly: if any of the blocks is present on the page, the required formatting will be displayed.
24. For the tags [customcomments=…] Text [/customcomments], an option has been added to list multiple parameters for checking. At the same time, you can also specify under which condition the presence of blocks should be checked. You can check either the mandatory presence of all blocks, or only one of any of those listed. When listing blocks separated by commas, [customcomments=block1,block2,block3] Text [/customcomments] will check for the presence of all three customcomments blocks, and the tag will output the text only if all three blocks exist; when listing blocks separated by the | symbol, [customcomments=block1|block2|block3] Text [/customcomments], for the output of the text enclosed in the tags it will be enough that only one of any of the three listed blocks exists. Similarly, you can list parameters in the opposite tag [not-customcomments=…] Text [/not-customcomments].
25. Added support for nesting for the tags [customcomments=…] Text [/customcomments]. For example, you can use the tag structure [customcomments=block1] Block 1 [customcomments=block2] Block 2 [/customcomments] [/customcomments]. Also, by analogy, support for nesting has been added for the opposite tags [not-customcomments=…] Text [/not-customcomments].
26. Automatic source code highlighting has been added in private messages if a source code insert is posted when writing a reply in private messages. The code will be highlighted for the sender immediately after the AJAX addition of the reply, without the need to reload the page.
27. Added QR code generation for two-factor authentication using DataLife Engine’s own built-in tools, without any dependencies on third-party external services. Now DataLife Engine generates this code on its own, no third-party services are involved, and your website no longer depends on their availability or functionality.
28. When viewing a user profile card on the website, automatic hiding of the button for sending a private message to the user has been added if the recipient or the sender does not have permission to use private messages. For example, if this is prohibited by group settings, or the user has been banned, and so on.
29. When using the module "Titles, descriptions, meta tags" in the control panel, if a page title is set, it will also be displayed in the breadcrumbs (speedbar) when viewing this page on the website.
30. The publication preview system has been revised when adding or editing publications. Now no browser pop-up windows are used; the preview is displayed directly within your site window using internal modal windows. All dependencies on browser settings have been removed: previously, the preview could be blocked by the browser due to its security settings.
31. The AI interaction system has been improved when working with it in the editor; system commands have been optimized for more correct operation with the AI, as well as to ensure they are perceived more accurately by the neural network.
32. Improved the system for checking that required fields are filled in for fields of the “List” type in cases where an empty string is specified in the field values.
33. Cache handling has been optimized. Class loading and resource usage have been removed when the cache was disabled.
34. The typographic text processing system in the editor has been improved.
35. Added support for the PHP 8.5.x series.
36. Optimizations have been implemented in the search for similar news items, aimed at reducing server load when processing large texts and databases, as well as improving the quality of searching for similar publications.
37. Work has been carried out to optimize the speed of the templating engine in terms of processing global tags, aimed at increasing the speed of template compilation processing.
38. The algorithms for accounting for negative ratings of posts and comments have been improved in cases where restrictions on the number of negative ratings have been introduced for a user. The user will no longer be restricted if their vote was not counted for some other reason.
39. Changes have been made to the transliteration rules for the Ukrainian language to more accurately follow the transliteration rules of this language. Differences in transliteration between the website and the control panel have been eliminated, localization of time zones has been added. Many other translation optimizations have also been carried out.
40. Changes have been made to the logic for connecting your own styles for the publications and comments editor from the template. If the editor.css stylesheet file is placed in the template, it will be connected as an additional stylesheet file, rather than replacing the main base one. This means you no longer need to include all the styles from the standard file in it; it is enough to add only your own styles that you want to change. As a result, when updating the script, you will no longer have to re-check the base set of styles and make changes relative to the base set of styles.
41. The publication editor has been updated to the latest version. Its performance has been improved, and a number of errors related to content generation have been fixed.
42. The IP address database by country has been updated for more accurate address detection due to changes in the address allocation situation.
43. A problem has been fixed where the dark mode syntax highlighting of the code editor did not turn on if “Automatic night mode” was enabled in the control panel appearance settings.
44. A number of errors in the standard templates have been fixed that prevented some template functions from working correctly when using jQuery 4.
45. A problem has been fixed where images could be inserted incorrectly during bulk insertion into a publication if an image was missing for the selected parameters. For example, the medium or reduced copy of the image was missing.
46. Fixed an issue where changes to the additional field settings in the Field Management section of the control panel were sometimes not saved.
47. Fixed an issue where rules in the SEO-friendly URLs (SEF) management section of the control panel could sometimes be displayed incorrectly.
48. Fixed an issue where category icons were not loading correctly if external storage was set as the default instead of local storage.
49. Fixed an issue where, in some cases, additional fields could be rebuilt incorrectly when rebuilding posts in the control panel.
50. Fixed an issue where the og:image meta tag for full news could be generated incorrectly in some cases, when there were other publications on the page with additional fields that should populate this meta tag.
51. Fixed an issue where the full news did not display if the article’s SEO-friendly (SEF) URL was not set, when using the first and second SEF URL types.
52. Fixed an issue where, in some cases, the invalid SEF URL check performed an incorrect redirect relative to the domain root if the script was not installed in the root but in a folder on the domain.
53. Fixed an issue where a <pre> tag inserted into plugin notes could stretch the page width in the control panel.
54. Fixed an issue where centering did not occur when inserting a single image into a news post if the option to use BB tags for inserting images was enabled in the script settings.
55. Fixed an issue where links in the sitemap were generated incorrectly in cases where the script was installed not in the domain root.
56. Fixed an issue where files uploaded to additional fields were not physically deleted when they were removed directly in the field while editing publications.
57. Fixed an issue where the access settings and restrictions for publications set by the site administrator on the “Access” tab when creating or editing a news post were reset in cases where the publication was subsequently edited by a user who is denied access to that tab, i.e., after the news post was edited by a user with a lower status.
58. Fixed previously identified and reported minor errors in the script.








