Дорогие друзья,
Завершен основной этап разработки версии 19.0, релиз находится на тестировании и предрелизной подготовке, ну а пока мы предлагаем вам ознакомиться с информацией о том, что ждет вас с выходом новой версии.
Были подготовлены и реализованы следующие изменения:
1. Добавлена абсолютно новая система работы с ссылками ЧПУ для страниц сайта. Сами адреса не изменились, поэтому на индексации и ранжировании в поисковых системах это никак не повлияет. Изменился полностью внутренний подход работы с ними. Теперь все правила обрабатывает непосредственно сам DataLife Engine, а не серверное ПО. Тем самым для работы ЧПУ не требуется громоздкий .htaccess, а только базовые строки, запускающие работу ЧПУ. Также официальную поддержку получают и сервера на базе Nginx без Апача, для них мы также предоставим отдельную инструкцию как включить в конфигурацию необходимые строки для работы. В большинстве случаев не потребуется ничего добавлять, и достаточно будет, например при использовании ISPManager, включить соответствующую опцию для домена.
2. В панели управления DataLife Engine добавлен новый раздел, в котором вы можете управлять всеми правилами ссылок ЧПУ по своему усмотрению и сделать такой вид адресов на публикации и разделы сайта, какой вам больше нравится. Вы можете непосредственно в панели управления изменить все правила, по которым они будут работать. Вы можете редактировать существующие правила, можете добавлять новые правила. В данном разделе встроена поддержка проверка правильности правил. В документации по DataLife Engine будет детальнее описано как работать с данным разделом. Также в случае, если вы допустите ошибки и непонимания как их исправить добавлена возможность быстро откатится на значения по умолчанию. Можно сбросить как отдельное правило, так и все правило сразу. Но будьте предельно осторожны, данный раздел требует особого опыта работы и понимания того, что вы делаете. Также вы должны понимать, что если страницы уже проиндексированы поисковиками, то изменения вида ссылок на сайте приведёт к временной потере этих страниц из поискового индекса, до тех пор пока поисковики повторно не переиндексируют сайт, что понижает ранжирование сайта в поисковой системе.
3. Проведено глобальное внутреннее изменение структуры файлов DataLife Engine. Теперь все статические файлы (стили, скрипты, изображения), были перемещены из папки /engine/ в отдельную папку /public/. Это позволило создать более понятную и логичную внутреннюю структуру файлов скрипта. А также позволяет более надёжно контролировать изолированность исполняемых файлов от внешнего доступа. Папка /engine/ была полностью изолирована от внешнего мира и прямого доступа из браузера, а единственными точками входа являются теперь файлы, размещённые в корне сайта (index.php, admin.php). Все AJAX обращения также происходят только через них. Если вы используете сторонние плагины, которые требуют прямого обращения из браузера к любым файлам в папке /engine/, то потребуется адаптация этих плагинов.
4. Полностью переписана система управления дополнительными полями для публикаций. Информация о имеющихся в системе дополнительных полях была переведена на формат хранения JSON, что позволяет более легко масштабировать систему при использовании плагинов. Структура данных стала более понятной, и легко дополняемой. Раздел управления дополнительными полями в админпанели был переписан полностью с нуля для поддержки нового формата хранения. Обработка полей переведена на использование отдельного класса, что привело к существенному сокращению кода, а также при модификации дополнительных полей через систему плагинов, не придётся модифицировать множество файлов, что облегчает поддержку кода. Имеющиеся в системе дополнительные поля при обновлении скрипта будут автоматически сконвертированы в новых формат.
5. Для дополнительных полей публикаций добавлена поддержка разделов. В панели управления, вы можете для дополнительных полей создать разделы, где разместить необходимые дополнительные поля. При добавлении или редактировании публикаций в панели управления данные разделы отображаются в отдельных вкладках, в которых будут расположены ваши дополнительные поля. Тем самым при большом количестве дополнительных полей, вы можете более удобно организовать структуру добавления и редактирования публикаций, для более лёгкого ориентирования в них.
6. Для дополнительных полей публикаций добавлена возможность быстрого копирования тега дополнительного поля в буфер обмена, при добавлении и редактировании публикаций, в случае если данный тег имеет разрешение на вставку непосредственно в тексты публикаций. Тем самым при написании публикаций вы можете быстро вставить сам тег в новость без необходимости его ручного написания.
7. При выводе дополнительных полей в шаблоне добавления публикаций на сайте (addnews.tpl) при помощи тега {xfields} вёрстка данного тега была изменена на вёрстку с использованием тегов <div> вместо таблиц. Поэтому при необходимости проверьте и измените вёрстку вашего шаблона, чтобы поля отображались корректно.
8. Добавлена поддержка всех тегов и комбинаций тегов дополнительных полей при предварительном просмотре добавляемой или редактируемой публикации. Также добавлена поддержка предварительного просмотра тегов вывода дополнительных полей, вставленных непосредственно в текст новости. Тем самым предварительный просмотр никак не отличается от того, что будет выведено непосредственно на сайте после публикации.
9. Для шаблона вывода похожих новостей (related.tpl) добавлена поддержка вывода дополнительных полей, добавленных непосредственно в текст новости, в случае если добавление таких полей в текст было разрешено в настройках поля.
10. Для шаблона вывода популярных новостей (topnews.tpl) добавлена поддержка вывода дополнительных полей, добавленных непосредственно в текст новости, в случае если добавление таких полей в текст было разрешено в настройках поля.
11. Полностью переписана система управления дополнительными полями для профилей пользователей. Информация о имеющихся в системе дополнительных полях была переведена на формат хранения JSON, что позволяет более легко масштабировать систему при использовании плагинов. Структура данных стала более понятной, и легко дополняемой. Раздел управления дополнительными полями в админпанели был переписан полностью с нуля для поддержки нового формата хранения. Обработка полей переведена на использование отдельного класса, что привело к существенному сокращению кода, а также при модификации дополнительных полей через систему плагинов, не придётся модифицировать множество файлов, что облегчает поддержку кода. Имеющиеся в системе дополнительные поля при обновлении скрипта будут автоматически сконвертированы в новых формат.
12. При выводе дополнительных полей профилей в шаблоне вывода профиля пользователя на сайте или в шаблоне регистрации пользователя (userinfo.tpl, registration.tpl) при помощи тега {xfields} вёрстка данного тега была изменена на вёрстку с использованием тегов <div> вместо таблиц. Поэтому при необходимости проверьте и измените вёрстку вашего шаблона, чтобы поля отображались корректно.
13. Для профилей пользователей добавлен новый тип дополнительного поля “Переключатель 'Да' или 'Нет’” (Чекбокс). Данный тип поля в профиле пользователя выводится в виде переключателя 'Да' или 'Нет' (Включено или Выключено). В качестве значения данное поле выводит 'Да' или 'Нет' в зависимости от того, что было установлено пользователем в его профиле. Однако основное назначение данного поля — это управление тегами [xfgiven_X] текст [/xfgiven_X] и [xfnotgiven_X] текст [/xfnotgiven_X]. В случае если переключатель был включен, то теги [xfgiven_X] текст [/xfgiven_X] выведут соответствующих текст, а теги [xfnotgiven_X] текст [/xfnotgiven_X] уберут его, и наоборот. Тем самым при помощи данных дополнительных полей вы можете легко управлять выводимой информацией на сайте в шаблонах. Например, включать или отключать вывод каких-либо информации в профиле или комментариях.
14. Для профилей пользователей добавлен новый тип дополнительного поля 'Дата и время'. В данном поле вы можете добавлять дату и время, а для удобства добавления для данного поля используется всплывающий календарь при его заполнении. Данное поле имеет три формата ввода на выбор, это дата и время, только дата и только время. В настройках данного поля вы можете также задать формат вывода указанной даты по своему усмотрению. Также данное поле имеет дополнительные опции, где вы можете указать нужно ли локализовать дату при выводе, например, переводить на язык, используемый вашим сайтом, и нужно ли проводить склонение выбранной даты.
15. Для шаблона профиля пользователей, а также вывода комментариев, персональных сообщений, карточки пользователя (userinfo.tpl, comments.tpl, pm.tpl, profile_popup.tpl) добавлена поддержка нового тега [xfvalue_X format="Формат"] который предназначен для вывода дополнительных полей с типом “Дата и время” где X это имя дополнительного поля, а “Формат” это формат вывода заданной в поле даты и времени. Вы можете выводить данное дополнительное поле в разных форматах даты и времени, а не только в том формате, которое указано для поля по умолчанию в настройках поля. Например, тег [xfvalue_test format="j F Y H:i"] выведет дату и время указанное в поле в формате времени j F Y H:i.
16. Для шаблона профиля пользователей, а также вывода комментариев, персональных сообщений, карточки пользователя (userinfo.tpl, comments.tpl, pm.tpl, profile_popup.tpl) добавлена поддержка новых тегов [ifxfset fields="X"] текст [/ifxfset] которые выводят текст заключённый в них если дополнительное поле с именем X было задано и заполнено для профиля пользователя. При этом вы можете перечислить несколько имён полей через запятую. Например, [ifxfset fields="test1,test2"] оба поля с именем test1 и test2 заполнены[/ifxfset] выведет текст если оба поля были заполнены. А также добавлены теги [ifxfnotset fields="X"] текст [/ifxfnotset] которые выводят текст заключённый в них если поле с именем X не было задано и заполнено. При этом вы также можете перечислить несколько имён полей через запятую. Например, [ifxfnotset fields="test1,test2"]оба поля с именем test1 и test2 не были заполнены[/ifxfnotset] выведет текст если оба поля не были заполнены. Основное отличие от существующих тегов [xfgiven_x] и [xfnotgiven_x] заключается в том, что вы одновременно можете перечислить несколько полей и проверяется заполненность всех перечисленных полей одновременно, а также проверяется именно заполненность полей без значений, например если у поля задано “0” или значение “нет”, это тоже является заполненным полем.
17. Для шаблонов вывода кратких и полных новостей (shortstory.tpl и fullstory.tpl) добавлена поддержка новых тегов [ifprofilexfset fields="X"] текст [/ifprofilexfset] которые выводят текст заключённый в них если дополнительное поле с именем X было задано и заполнено для профиля автора публикации. При этом вы можете перечислить несколько имён полей через запятую. Например [ifprofilexfset fields="test1,test2"] оба поля с именем test1 и test2 заполнены[/ifprofilexfset] выведет текст если оба поля были заполнены. А также добавлены теги [ifprofilexfnotset fields="X"] текст [/ifprofilexfnotset] которые выводят текст заключённый в них если поле с именем X не было задано и заполнено. При этом вы также можете перечислить несколько имён полей через запятую. Например, [ifprofilexfnotset fields="test1,test2"]оба поля с именем test1 и test2 не были заполнены[/ifprofilexfnotset] выведет текст если оба поля не были заполнены.
18. Проведены работы по оптимизации обработки вывода дополнительных полей, направленные на ускорение работы и снижения нагрузки на сервер.
19. Полностью переписана система управления фильтром слов в панели управления DataLife Engine. Информация о имеющихся в системе фильтров была переведена на формат хранения JSON, что позволяет более легко масштабировать систему при использовании плагинов. Структура данных стала более понятной, и легко дополняемой через систему плагинов и других сторонних дополнительных расширений.
20. Добавлена возможность загружать для комментариев изображения методом переноса файлов в редактор (Drag & Drop) из папки на локальном компьютере.
21. Добавлена возможность загружать одновременно несколько изображений методом переноса файлов в редактор (Drag & Drop) из папки на локальном компьютере. Ранее загружалось только одно изображение из нескольких перемещённых.
22. Добавлена полная поддержка стандарта RFC 6531 SMTPUTF8 при работе с почтой пользователей на сайте. Это означает добавление поддержки интернациональных имён в имени почты, а также интернациональных доменов в имени почты. Например, пользователи могут использовать имена почты владимир@сайт.рф. Также добавлена поддержка таких почтовых имён как mc'donalds@example.com так далее. Для корректной отправки писем пользователям, имеющим интернациональные домены ваше серверное ПО также должно иметь полную поддержку стандарта RFC 6531, для этого достаточно иметь актуальное серверное ПО.
23. Для системы контроля неверных ссылок ЧПУ добавлен контроль несуществующих категорий, в случае если используется некорректный адрес, и его невозможно сопоставить с реальной категорией, будет произведёт автоматических редирект на главную страницу сайта. Это нововведение поможет избегать сложных условий для шаблонных тегов, при формировании различной вёрстки шаблона для разных разделов сайта.
24. Добавлена возможность в разделе управления шаблонами создавать файлы для шаблона с расширениями css, js, tpl. Также Вы можете создавать эти файлы и в любых подпапках выбранного вами в данном разделе шаблона без необходимости использования для этого FTP доступа.
25. Добавлена возможность удалять не нужные файлы шаблона непосредственно в админпанели при редактировании выбранного шаблона без необходимости использования для этого FTP доступа.
26. Добавлена возможность перемещать файлы шаблона из одной подпапки в другую при редактировании шаблона. Вы можете перемешать файлы в шаблоне, при его редактировании в панели управления без необходимости использования для этого FTP доступа.
27. Добавлена возможность создавать папки в панели управления непосредственно при редактировании шаблона. Вы можете создать вложенные папки и подпапки в шаблоне, при его редактировании в панели управления без необходимости использования для этого FTP доступа.
28. Добавлена возможность просмотра публикаций, если они ограничены для просмотра по странам, для групп пользователей, находящихся в списке защищённых от такой блокировки групп. Например, если для новости запрещён просмотр для страны DE, при этом группа администраторов указана в списке, к которым не применять блокировки по странам, то администраторы смогут видеть данную публикацию, даже если находятся в заблокированной стране.
29. Также аналогичное поведение добавлено и для ограничений, установленных в рекламных материалах. В случае если установлен запрет или разрешение только для определённых стран, то пользователи, находящиеся в защищённых группах будут видеть даже если они находятся в запрещённых настройками странах.
30. При клике на логин пользователя на сайте, в случае если он не зарегистрирован уже на сайте, например был удалён, то вместо карточки с информацией о том, что пользователь не найден, добавлен вывод короткого пуш уведомления, что пользователь не зарегистрирован. Тем самым от посетителя не потребуется никаких дополнительных действий по закрытию окна и само уведомление более быстрое и понятное.
31. Для тега пользовательского вывода публикаций {customcomments …} добавлена возможность использовать новый параметр name="X", в котором для блока вы можете назначить имя, и в дальнейшем использовать данное имя для отображения или скрытия другого оформления в шаблоне в случае, если в данном блоке есть контент или он отсутствует. Например, написание {customcomments name="block1" category="6"} покажет комментарии из категории ID 6, а сам блок получить имя “block1”. Для оперирования с данным именем добавлены новые глобальные теги: [customcomments=X] Текст [/customcomments] где X это имя блока, которые выводят текст заключённый в них в случае, если блок с данным именем содержит информацию. А также добавлены противоположные теги [not-customcomments=X] Текст [/not-customcomments] которые выводят текст заключённый в них в случае, если блок с данным именем не содержит никакой информации и публикаций нет. Таким образом вы можете делать дополнительное внешнее оформление блоков или наоборот скрывать его в зависимости от того есть комментарии в блоке или нет. Например, [customcomments=block1] Заголовок {customcomments name="block1" category="6"} [/customcomments]. При этом сам блок, может быть, в любом месте на странице и не обязательно внутри данных тегов. Тем самым вы можете адаптировать и менять другое оформление в шаблоне на основе данных тегов.
32. Добавлена новая система подсветки примеров исходного кода. Она является аналогичной, используемой в редакторе. Она легче старой примерно в два раза, соответственно быстрее загружается страница, а также быстрее компилируется подсветка. А также сама подсветка более разнообразная и качественная.
33. Добавлена возможность копировать опубликованные примеры кода, в один клик сразу в буфер обмена. Тем самым пользователи смогут легко копировать опубликованные на сайте примеры кода.
34. Добавлена автоматическая подсветка примеров исходного кода при использовании AJAX действий в комментариях, таких как навигация по страницам комментариев, добавление и редактирование комментариев. Теперь код будет подсвечен автоматически, без необходимости перезагрузки страницы.
35. При редактировании профиля пользователя в панели управления DataLife Engine добавлена возможность быстрого перехода на просмотр его профиля на сайте.
36. Добавлена возможность при включении на сайте поддержки мультикатегорий, выбирать в админпанели порядок категорий у публикации, при использовании смартфонов в работе с панелью управления.
37. Добавлена поддержка включения на сайте подключение и использование новой версии библиотеки jQuery 4. Библиотеку вы можете выбрать в настройках скрипта. Перед этим убедитесь, что все сторонние плагины, которые вы используете в шаблоне совместимы с данной новой линейкой. Также библиотека jQuery UI была унифицирована и обновлена до актуальной версии, и теперь используется единая библиотека jQuery UI, независимо от выбранной в настройках версии jQuery.
38. Для ряда разделов панели управления переработана и улучшена система сортировки элементов. Сортировка стала более плавной и точной при работе с мышью.
39. При использовании графических смайлов, вставка смайлов осуществляется теперь сразу в виде изображений смайлов а не их кодов.
40. Добавлена возможность менять порядок категорий при добавлении и редактировании публикаций в панели управления, просто перемещением категорий в списке мышкой. Теперь нет необходимости полностью удалять выбранные категории, чтобы изменить их порядок у новости.
41. Из скрипта было убрано сжатие JS и CSS файлов при помощи PHP. Данная функция глобально устарела и использование PHP в актуальных реалиях не эффективно. Для сжатия статических файлов мы рекомендуем включать для этого сжатие файлов серверными средствами, например в Nginx. Это более эффективно, работает быстрее и потребляет намного меньше серверных ресурсов.
42. Визуальный редактор был обновлён до актуальной линейки 8.x. Была улучшена производительность и исправлен ряд проблем и ошибок.
43. Оптимизирован ряд анимаций на страницах сайта с целью более быстрого отклика на действия пользователя и более быстрого выполнения различных действий.
44. Улучшена система определения позиции курсора при работе после редактирования исходного кода публикации и вставки его обратно в редактор.
45. Исправлена проблема, при которой не отображалась подсветка кода для языков семейства C и С#.
46. Исправлена проблема, при которой не применялась защита групп от блокировки доступа по странам, если был указан список запрещённых стран, а не разрешённых.
47. Исправлена проблема, при которой не отображался редактор при попытке редактирования новости в панели управления в случае, если публикация находилась в отключённой категории.
48. Исправлена проблема, при которой некорректно работала вставка блока с примерами кода из буфера обмена, при копировании блока из одного поля с редактором в другое поле с редактором.
49. Исправлена проблема, при которой не работал показ всех последних комментариев в случае, если какие-либо из категорий были запрещены к просмотру для группы пользователей.
50. Исправлены обнаруженные и заявленные ранее небольшие ошибки в скрипте.
Комментарии