The following changes have been prepared and implemented:
1. Windows-1251 encoding is no longer supported. DataLife Engine completely switches to utf-8 encoding. This action is taken to unify the engine development. It will reduce development and testing time for new features. Also, stopping support for windows-1251 encoding will allow modern sites to support all characters, e.g. Emoji and many others. Rejection of this encoding will reduce the time and costs for the development of modules by third-party developers. A single encoding allows to unify all the templates so that there is no need to create copies of templates with different encoding. Also it allows to make site quicker, because there is no need for additional conversions and encoding checks. We didn’t forget about users who use windows-1251 encoding on their websites and they will be able to upgrade their engine as before. After uploading files of new engine version, DataLife Engine automatically recognizes the encoding of your site and automatically converts your database and templates. If your site has a very large database and PHP interpreter resources are limited, it is recommended that you manually convert your site into UTF-8 encoding and then start updating the engine, or update it on the local server.
2. Automatic DataLife Engine update system is added. Yes, that’s right, friends! You asked it for so long and probably did not expect, but it has finally happened. If you upgrade to version 13.0 – this is your last manual upgrade which requires you to follow the update instructions. All future versions of the engine can be updated completely automatically from Administration Panel in just a couple of clicks. You will no longer have to learn the update instructions when future engine versions will be released – you can update the engine directly from Administration Panel and DataLife Engine will do all the work automatically which certainly shortens the update time and minimizes possible update errors. Let's take a closer look on the way automatic engine update works:
When new version is released you just click "Check for updates" in your Administration Panel and if it is available, then in the corresponding section of Administration Panel you will be asked to update the engine. There you must enter your license key.
When the license key is entered and verified, DataLife Engine also checks your server if it is ready for the upgrade. It checks files access permissions – whether it can overwrite them. If it does not have such rights, it will ask you for FTP or SFTP access to your server to overwrite files. FTP access is only requested if necessary, when the engine does not have rights to overwrite the files. If it is not required then it will not be requested. All requested accesses will not be stored on the server for security reasons. They will automatically be destroyed after they are no longer needed.
Otherwise you may not give engine an access at all and download the package yourself by the provided unique link. In this case, you must download only files necessary for the engine update, and you can copy everything from archive to the server via FTP.
After the check, DataLife Engine automatically downloads the new version, unpacks, and installs it on your website, and updates the database structure.
When the process ends, DLE informs you about it. While the new version archive is being unpacked, the database is being updated, and other actions are performed, the engine automatically logs all the actions, and if it cannot do something you will be informed about that. Despite the fact that the process has such a long description, practically most users simply need to enter the license key and watch the engine updating automatically as most hosting services provide write rights to engines and no additional FTP access is required.
Finally, we want to make an important clarification for those who use the engine for a long time and often update them. In this version, the engine update system has been changed – it became simpler but a little different, so please read the update instruction carefully before upgrading to version 13.0. For example, you do not need to run the database update script anymore. You simply log in to the Administration Panel as an administrator, and the engine will automatically start performing the database update and other necessary actions.
3. A new system for installing and managing plugins is added. This plugin system allows you to modify any part of the engine at your discretion. Plugins installation and update requires just one click in Control Panel of DataLife Engine. If the plugin is developed for this new system, then users no longer have to read installation instructions, edit anything in the engine files, etc. You simply upload the plugin to the Administration Panel. This is a very large module with very large and different capabilities, so we describe it in detail:
A new plugin system is built using the virtual file system technology. In your plugin you describe file which should be affected and actions to be performed. Based on this information DataLife Engine creates virtual copies of these files with all the necessary changes and modifications and works with the created virtual copies without affecting the original files. It allows you to describe the changes in almost all files, except for some basic files, i.e. root files, but they do not carry any functionality except for connecting other files. Also, the functionality of the files responsible for AJAX functions can be changed. For this they were completely rewritten to work through the controller. What are the advantages of this? Firstly, the original files always remain unchanged, so the plugins can be easily changed, deleted, updated, etc. Secondly, this system applies the least possible load on sites, because virtual copies of files are created only once at the time of plugins installation or update, after which the DataLife Engine works with these new files as with native files and there are no memory costs for call points, storage and control of information about where and what functionality should be changed. The server load will increase only by the load that the plugin causes. The plugin management system will not cause any additional load. Thirdly, there is no problem with updating the engine. It can be updated and your plugins are automatically associated with new versions. It allows various plugins to modify the same file without causing conflicts, provided of course that different plugins do not perform directly opposite actions.
So in the plugin management module you can either create a plugin directly in the Control Panel or download it. Let’s consider adding a new plugin directly to Control Panel:
On the first tab you specify the general data about the plugin – its name, its short description. For a convenient distinction from other plugins, you can set an icon which will be displayed in the plugins list. Also you specify the plugin version, and compatible DataLife Engine version.
On the next tab, you specify the actions on files to be performed. You can perform actions on one or more files, and assign one or more actions to be performed on each file. Several actions may be performed on files:
1. Find and replace code.
2. Find and add code above.
3. Find and add code below.
4. Completely replace the contents of the file.
5. Create a new virtual file that does not exist in the original DLE.
You can add or delete files, change or delete actions on files at any time. For convenience of perception and editing, all the code is highlighted, and the fields can be dynamically stretched.
On the next tab, you can add actions to the MySQL database which plugin should perform in certain situations. You can specify a list of MySQL queries that must be performed on plugin installation, plugin update, on its disabling or enabling, and when it is uninstalled. For each action you can specify a single query or a list of several database queries.
For the installed plugin, you can perform the following actions: You can disable it. It remains on the site, but is completely ignored by the engine, and it stops affecting all files. You can update it if there is a new version. Download plugin on your computer to install it on another site. The file itself is downloaded in XML format, and this file contains a description of all the actions. In fact, the plugin is an XML file that can be installed in Administration Panel.
Let's consider installation of a plugin. You can download and install any plugin on your site. When you click the corresponding button you can download either the XML plugin file or the ZIP archive with the plugin. This allows you to create very complex plugins that contain a large number of additional files, both graphical and PHP files. For example, if you do not describe all the actions directly in the plugin itself, you can create additional files and pack them into an archive, storing them in other places. It is important to know that archive can contain only those PHP files that are not included in the distribution kit, but only additional files. If there are files in the distribution kit, it will be blocked. Modification of standard files can be described in the plugin itself. The XML plugin file should be in the root directory of your archive.
If you upload the plugin archive and DataLife Engine does not have write rights in your archive, it will automatically request FTP access to download your archive. If no access is required, everything will be copied automatically. Note that these accesses will not be stored. They will be automatically deleted when they are no longer needed.
The new plugin management system also has an integrated plugin error logging system. If some action on the files cannot be performed or if some errors occur, you can easily see and fix them. It is extremely useful if your plugin is not compatible with the next version of DLE. You will quickly see it, and you can easily adapt the plugin.
In conclusion, it is important to note that the old plugin system that requires connection to templates with {include ...} tag has not gone away, and will continue working.
4. Now you can enable or disable the plugin system support in the engine settings of the Administration Panel. If you do not use this system, you can disable it in the engine settings to increase the performance of the engine and reduce the server load.
5. Now you can convert your database automatically from the Administration Panel for sites where utf8 encoding is used for database, not utf8mb4 four-byte encoding. These encodings are fully compatible, but conversion of your site to utf8mb4 will give full support for all the characters, e.g. Emoji, musical symbols and many others.
6. Now you can display links to the previous and next articles when viewing the full article. To display the link to the next article in the full article template you can use the following tags: [next-url] Text [/next-url] which display enclosed text if there is the next article. {next-url} displays the URL of the next article. To display a link to the previous article in the full article template you can use the tags: [prev-url] Text [/prev-url] which display the enclosed text if there is the previous article. {prev-url} displays the URL of the previous article. When displaying the following and previous article links, the category of the viewed article is taken into account. Only articles from the same category are displayed, and if article belongs to several categories at the same time, then all categories of this article are taken into account. The next and previous articles are defined based on the publication date respectively: the previous article has older publication date, and the next article is the newer one. Note that this feature creates additional database queries to retrieve information. Information about the next and previous article is cached by the engine if caching is enabled on the site and if the full article is cached according to the engine settings. This feature is automatically enabled if you use link tags in the template, and if there are no links in the template, then no database queries are made. Therefore, you don’t have to enable or disable it manually.
7. The {news-id} tag has received global support in all templates. Thus, when viewing the full article you can use custom display tags with this tag as a parameter, for example, {custom idexclude="{news-id}"}. It will not display the currently viewed article. It allows not to show the link to the article you are reading at the moment. If you are not on the full article page, then this tag can be used only in short article display templates. It doesn’t work in other templates and is ignored. Therefore, do not forget to use [available=showfull] your code [/available] tags to display this tag only on the full article page.
8. Now in the user management section of Administration Panel you can search for users who are prohibited from posting articles or comments.
9. Users of the demo version now can automatically switch to full version after entering the license key. As you know, the source code of the demo version is closed from editing. Therefore, after submitting the license key you will be able to automatically replace demo version files with the open files of the full version in addition to removing restrictions from the database. This process is fully automated, and can be started in the Administration Panel in one click.
10. Now in advanced articles search of the control panel you can search for articles which have votings and passwords.
11. Search in the "Actions Llist in Administration Panel" is essentially improved. Now you can search not only by login or IP, but also by the name of action itself. For example, by entering "delete article" you will see the entire list related to articles deletion. It works for any action.
12. Now you can select categories in the "Optimization Wizard" module of the engine control panel from which you want to remove outdated articles. Thus, you can filter and specify categories where you do not need to delete old articles.
13. In "Optimization Wizard" module of the engine control panel you now can apply the following actions: clear all personal messages or clear read messages to leave only unread messages.
14. Now you can write personal messages using AJAX technology. When clicking on the link of writing a new personal message in the user information display card, or when viewing his/her profile, a new personal message form will occur in a pop-up window and will be sent using AJAX request without reloading the page. Thus, users of your site can quickly send personal messages.
15. Now when viewing the full article you can format og:description meta tag of the Open Graph protocol. This meta tag is designed to correctly send your articles to social networks.
16. Now you can immediately go to the article preview after saving it when adding or editing the article in the control panel.
17. In the BBCODES editor, when using the text processing, all the necessary non-breaking spaces are directly presented as UTF-8 symbols, not as HTML entities. This makes it much easier to read and edit text in the editor, and allows you to avoid inconvenient merged text in future.
18. When polls and votings are used, the automatic selection of the first choice is removed. Thus, before making a choice in the voting or poll, the user must actively choose one of presented answers, which helps to avoid accidental voting for the first answer.
19. RSS feed spoilers filtering is added. Now DLE automatically removes all unused functionality from RSS feed leaving only the content that was specified in the spoiler.
20. Now in RSS export you can use {full-stоry} tag in conjunction with other tags without affecting HTML formatting. For example, you can use the following construct in RSS template:
<turbo:content><![CDATA[<header><figure><img src="{image-1}"></figure><h1>{title}</h1></header>{full-story}]]></turbo:content>
that provides a more flexible design of RSS export for Yandex turbo mode and other modes.21. Now in a regular site search you can use automatic search on static pages. If no article was found in result of regular site search, an automatic search will also be performed on static pages. Thus, visitors do not need to use the advanced search and choose static pages there to find what they need. This feature will be especially useful for those sites that use many static pages and do not have articles.
22. Now you can use automatic search on static pages for quick search on the site. If no articles were found, the engine will automatically perform search on static pages and display links to them if they match the search.
23. Now you can display polls from articles when displaying articles using {custom ...} tag. To display polls, use the {poll} tag in the template, and in the short and full article templates.
24. Now you can use sites of any encoding as a source for RSS articles import and for RSS informers, regardless of your site’s encoding. DataLife Engine automatically detects the encoding of the data source and recodes the data into the needed encoding.
25. Symbols number limit of Description meta tag for articles is increased to 300 characters. The maximum length now corresponds to the maximum length of information displayed by google search engine in search results.
26. System of automatic external images size reduction is improved. This system works if it is enabled in the engine settings. A small delay before running the corresponding JS function is added for this, which allows you to set the image size correctly if you have slow Internet connection. Also the automatic detection of the actual image size is added (not their size in the page block). On small screens it allows to enlarge them when clicking on images.
27. The formation of canonical links and meta tags of social networks for static pages is improved. If the static page has been split into several pages, then each individual page will have its own canonical links not just leading to the first page.
28. Minor changes of DLE video player have been made to make video watching more convenient. The size of the player is significantly reduced, which speeds up its loading to the browser. And the automatic addition of the title attribute for HTML video tags is also removed.
29. Gzip compression rate of JS and CSS files, which DataLife Engine uses, is significantly improved. It is active if compression is enabled in the engine settings.
30. For the Cross-References module, address recognition of the pages which contain Cyrillic characters and other Unicode characters is improved. It allows to correctly verify that the page refers to itself, and to not replace keywords for these pages.
31. For the Redirects module, address recognition of the pages which contain Cyrillic characters and other Unicode characters is improved. It allows to correctly make redirects from the pages specified in this module.
32. Now you can add new categories to Administration Panel when using the engine control panel from a smartphone.
33. Support of current version of the vk.com API is updated to allow loging-in using this social network account. Also, now users who do not have an E-mail address can log-in using vk.com.
34. The system for isolating template tags from each other has been redesigned and improved so that they do not interfere with each other’s work and information output.
35. A number of security features have been revised to prevent unauthorized actions for enhancing the website’s security.
36. PHP v. 7.2.x is now fully supported.
37. The Cyrillic transliteration system has been improved. Transliteration will follow the correct rules, which improves the readability of the Russian text expressed in Latin symbols.
38. DataLife Engine server installation is optimized and simplified. You’ll need to enter and select the small amount of data when installing the engine on the server. DataLife Engine installation script will automatically detect the rest.
39. TinyMCE and Froala visual editors are updated. A number of detected errors is fixed in these editors.
40. An issue is fixed where user could not respond to a comment on the all comments page, if RECAPTCHA was enabled for a particular user group in Group Settings.
41. An issue with the DLE API is fixed where the API did not perform user authorization checks if his/her account was not yet transferred to the new password storage system.
42. An issue is fixed where extra fields data was saved incorrectly when changing the sorting of these fields.
43. An issue is fixed where the site administrator could incorrectly merge comments if threaded comments were enabled and the comments were sorted in descending order.
44. An issue is fixed where in case of quick article editing, files and images in extra fields could not be loaded.
45. An issue is fixed where the category menu did not take into account the engine settings, whether User-Friendly URL is enabled, and always generated links with User-Friendly URL.
46. An issue is fixed where the source code inserted with [code] [/cоde] tags or using the corresponding code snippets button in visual editors could be incorrectly converted from HTML entities to their ASCII versions.
47. An issue is fixed where the information with [xfvalue_X image="Nr"] tag could not be displayed in the full article template when displaying a single image of the extra field of "Image Gallery" type.
48. An issue is fixed where it was not possible to use smileys in comments or articles when using Floara visual editor on mobile devices.
49. An issue is fixed where it was not possible to use some Cyrillic letters in user registration on sites which use UTF-8 encoding.
50. Previously declared and found minor errors are fixed.
Link to the script downloading for customers:
Warning!
Attention! This information is only available to users with a valid license for DataLife Engine. If you have already purchased the script, you must log in with your account.If you are not a customer, you can purchase the engine on our website.
Comments