Зачастили мы что-то :)
Здравствуйте, друзья!
Новый релиз не столь глобальный, но мы спешили скорее им с вами поделиться. Причин несколько, во-первых, это, наконец-то, интегрированный в админку каталог дополнений, а во-вторых, накопилось не мало правок кода по улучшению и исправлению недочётов в вами всеми любимой CMS ;-)
Каталог дополнений в админке
Конечно же, главным новшеством и удобством в этом релизе стал интегрированный в админку каталог дополнений. Все бесплатные дополнения вы сможете устанавливать сразу же из админки в пару кликов. Каталог имеет список категорий, наборов как на официальном сайте, поиск по названию и фильтр по разделению на платные/бесплатные дополнения.
Каталог умеет отслеживать версии установленных дополнений, предлагать обновиться, если выпущена новая. Во вкладке "Установленные" вам будут показаны все установленные через каталог пакеты, однако стоит отметить, что на данный момент это только виджеты и компоненты.
Для каждого дополнения показано его краткое и полное описания, рейтинг, количество скачиваний или подписчиков, дата последней версии и совместимость с вашей версией InstantCMS.
Работа по улучшению как сайта дополнений, так и каталога в админке будет вестись и далее, вы можете смело предлагать здравые предложения по улучшению.
Рекомендации разработчикам дополнений
Уже многие заметили, что в нашем каталоге дополнений появилась ссылка "Актуальные", а при добавлении/редактировании дополнения появилась возможность указать поддерживающие версии InstantCMS. С выходами каждого обновления InstantCMS, в этой опции будет появляться новая версия InstantCMS. Мы рекомендуем разработчикам проверять совместимость и указывать её, поддерживая свои дополнения актуальными.
Мы крайне рекомендуем собирать пакеты согласно документации, указывать корректно тип дополнения и НЕ писать без явной на то необходимости в установочном install.sql запросы, касающиеся внесения виджетов и/или компонентов в соответствующие таблицы. При этом, CMS всё же постарается автоматически определить такие, не совсем корректные пакеты и скорректировать установку. В случае с типизацией пакетов, все эти действия будут выполнены автоматически. Однако, могут быть пакеты, которые включают в себя и компонент и виджеты. В таких случаях пакет должен типизироваться как компонент, а таблицы виджетов уже заполняться вручную написанием запросов в install.sql.
Важно! При добавлении версии дополнения указывайте номер версии точно также, как пишите в файле манифеста пакета.
Также, обратите внимание на блок info — там добавлена новая строка, где можно указывать id вашего дополнения в официальном каталоге. Крайне рекомендуем заполнять эту строку.
Улучшение установщика пакетов
В установщике теперь можно помимо загрузки файла пакета, указывать ссылку на его скачивание. Изменился и механизм удаления компонентов и виджетов, кстати, да, мы добавили непосредственно функционал удаления виджетов. Теперь при установке виджетов и компонентов в базе данных фиксируется весь набор файлов дополнения. Для компонентов вы в любой момент можете посмотреть его дерево файлов, кликнув на соответствующую иконку в списке компонентов в админке. Также, при удалении виджетов и компонентов, CMS вам любезно подскажет, какие файлы нужно удалить, т.к. у самого движка нет и не должно быть доступа для операций по изменению/удалению файлов вне директорий загрузки и кэша.
На странице ввода параметров FTP при установке дополнений мы добавили функционал проверки соединения, который всегда подскажет ошибки и дерево файлов и каталогов корня соединения, что убирает все трудности с указанием путей до директории с установленной InstantCMS.
Прочие изменения
- традиционное, постепенное улучшение юзабилити админки;
- форма опций настроек типов контента теперь более компактная и менее "пугающая";
- виджет "Список пользователей" теперь может выводить заданные поля профилей;
- исправлена ошибка с Chosen;
- большая часть GIF спиннеров/лоадеров заменена на CSS3 аналоги;
- метод ядра getWidgetOptionsForm перенесен во фронтэнд админки, для формы в целом добавлен хук "widget_options_full_form";
- исправлена неверная ссылка на модерацию комментариев в письме;
- при удалении пользователя (при удалении им самим), его активность скрывается из общего списка;
- механизм управления группами при добавлении/редактировании записи типа контента вынесен в хуки компонента "Группы";
- исправлена проблема с виджетом "Фильтр контента" в части определения категории. Теперь свойства будут показываться корректно;
- исправлена ссылка на пагинацию в разделе модерации;
- исправлено удаление просроченных записей из корзины;
- по ссылке /photos теперь показываются все фото из всех альбомов;
- каждый виджет теперь можно привязать к своему файлу лайоута;
- улучшен механизм кэширования на файлах;
- переписан и исправлен механизм работы кеширования Memcache: теперь сайты на одном сервере не будут пересекаться;
- окончательно исправлена работа виджетов на страницах типа контента, указанного по умолчанию;
- в права для компонента "Группы" добавлено правило "Управление правами добавления контента";
- библиотека GeSHi обновлена до актуальной версии и корректно работает на PHP7;
- библиотека PHPMailer обновлена до актуальной версии;
- исправлены мелкие ошибки и неточности.
Изменения в шаблонах
В шаблонах в основном все изменения носят либо эстетический характер, либо дополняющий. Вам нужно сделать мерж (например так) css файлов, чтобы оценить изменения (например вот так).
Как установить обновление
Перед началом обновления обязательно сделайте резервную копию своего сайта и дамп базы данных. Обновляться лучше на копии сайта, поднятом локально на ПК или иным подобным способом. Мы не несем никакой ответственности за любые потери данных, произошедшие в результате неправильных действий при обновлении.
Отключите кеширование в настройках сайта.
Если вы используете свой шаблон и в нем есть файлы, присутствующие в пакете обновления, то обновите их.
При возникновении "белого экрана" категорически читать здесь.
Для тех, у кого свой шаблон мы подготовили статью как быть, если в обновлении CMS есть изменения в шаблоне, рекомендуем к прочтению.
Автоматическая установка
- Включите режим отладки в админке.
- Воспользуйтесь функцией "Проверить обновления" в панели управления InstantCMS 2.
- Система сама обнаружит обновление, предложит скачать его и установить.
- Для установки потребуется указать реквизиты для доступа по FTP.
Ручная установка
Убедитесь, что вы используете InstantCMS 2.8.0 (версию можно посмотреть внизу любой страницы в админке или на главной странице админки в соответствующем блоке).
- Включите режим отладки в админке;
- Загрузите архив с обновлением.
- Перейдите в панель управления сайтом;
- Перейдите в раздел компоненты;
- Нажмите установить пакет дополнения;
- Очистите кеш браузера;
- Сверните окно браузера;
- Все содержимое папки package из архива обновления, скаченного в п.1 загрузите в корень вашего сайта;
- Вернитесь в свернутое в п. 5 окно браузера, нажмите F5 на клавиатуре и выберите архив, который вы скачали в п.1;
- На странице «Информация о пакете» нажмите установить;
- На странице ввода реквизитов ftp поставьте чекбокс "Пропустить этот шаг" и нажмите "Установить";
- Выключить режим отладки в админке;
- Обновление завершено.
Заключение
Спасибо всем, кто указывал на ошибки, писал пожелания на GitHub и предлагал решения.
Если кто-то не нашел в этом релизе то, что давно ждёт — не отчаиваетесь, наверняка в новых релизах и ваши пожелания будут реализованы, всего лишь вопрос времени. Ну а кому совсем не терпится с внедрением нужного, на ваш взгляд, функционала — мы открыты к мотивированным доработкам.
Спасибо, что выбираете InstantCMS!
Поддержите проект
Вы можете стать официальным спонсором или оказать другую поддержку. Вы также здорово поможете, если поставите звезду на GitHub.
Реклама #
lesterkey 7 лет назад #
lakomet 7 лет назад #
Fuze 7 лет назад #
letsgo 7 лет назад #
Денис Васильевич 7 лет назад #
Zau4man 7 лет назад #
Денис Васильевич 7 лет назад #
letsgo 7 лет назад #
Fuze 7 лет назад #
letsgo 7 лет назад #
Fuze 7 лет назад #
Dorimen 7 лет назад #
letsgo 7 лет назад #
Dorimen 7 лет назад #
Александр Сергеевич 7 лет назад #
lakomet 7 лет назад #
F_a_R_i_D 7 лет назад #
F_a_R_i_D 7 лет назад #
Fuze 7 лет назад #
My-InstantCMS.Ru 7 лет назад #
SmartControl 7 лет назад #
Как-будто при обновлении компонента addon_id не записывается в базу данных (и компонент не помечается установленным)
Fuze 7 лет назад #
SmartControl 7 лет назад #
Fuze 7 лет назад #
SmartControl 7 лет назад #
Кину по пунктам:
1. Время последнего обновления некорретное " Последнее обновление: 17 часов назад " - на самом деле обновил только что. Понял почему.. Видимо в каталоге не пишутся часы-минуты-секунды. И 17 часов это от полуночи.
2. Я не могу обновить компонент, который у меня уже установлен. При "установке" через сервис запускаются запросы из install.sql из пакета и выскакивает ошибка (логично). А при установке руками не записывается addon_id. Пока решение вижу только если руками записать addon_id в БД. Может есть вариант сделать так, что если компонт уже установлен, то загружать обновление, а не установку с нуля?
3. При установке из каталога появляется форма для выбора файла либо указания URL - на самом деле ничего указывать не нужно, потому что установка с каталога.
skewes 7 лет назад #
Вы просто "издеваетесь" (в хорошем смысле этого слова)
Я в шоке!!! Опять обновление!
Красавчики ребята! Респект!
DeeMon 7 лет назад #
SE7EN 7 лет назад #
Notice: Undefined index: template_layouts in C:\OpenServer\domains\aksucity.info\system\controllers\widgets\model.php on line 351
Fuze 7 лет назад #
SmartControl 7 лет назад #
SE7EN 7 лет назад #
SE7EN 7 лет назад #
несколько раз пробовал обновляться все-равно песня таже (((
islyaeFF 7 лет назад #
TTT 7 лет назад #
fincheck 7 лет назад #
WebMan 7 лет назад #
vikont 7 лет назад #
А вот дизайн Каталога дополнений явно хромает... или так и должно пока быть?
https://yadi.sk/i/6_degGT23MhKRP
SmartControl 7 лет назад #
vikont 7 лет назад #
Fuze 7 лет назад #
vikont 7 лет назад #
Похоже за 2 года наросло всякого добра мешающего нормальной работе....
SmartControl 7 лет назад #
islyaeFF 7 лет назад #
не кликабельны кружочки. Кликабельны только лейблы
По привычке тыкал, думая, что это радиобаттон
vikont 7 лет назад #
Значит что то надо вернуть из дефолтного шаблона в свой. Хотя админка и так на дефолтном.
Алексей Т 7 лет назад #
При установке пишет
Хотя на папку стоят права 777
Алексей Т 7 лет назад #
Спасибо за очередную версию
ermakover 7 лет назад #
Это как урок некоторым разработчикам дополнений, которые деньги берут, а потом либо месяц прячутся и ещё угрожают недовольным обновления не посылать, либо прячутся насовсем хотя их "поделки" после обновления перестали работать.
Dorimen 7 лет назад #
ermakover 7 лет назад #
Строка 254
function html_avatar_image($avatars, $size_preset='small', $alt='', $is_html_empty_avatar=true){
Однако@ 7 лет назад #
Кто ставил эту версию ответьте пожалуйста
1. не появился ли вывод в фильтре поля цвет?
2. есть ли ограничение на создание групп (которые сообщества). Например позволить пользователям создавать только по одной группе? Не могу найти такую настройку.
Пожалуйста если не трудно ответьте кто может, сейчас нет возможности поставить движок и проверить. Спасибо.
Олег Васильевич я 7 лет назад #
Def 7 лет назад #
А вот в виджеты, пользователи, контент - выдает 500 ошибка. Включал отладку, но она не показывает все равно. Выдает также 500 ошибку.
Def 7 лет назад #
denis 7 лет назад #
ermakover 7 лет назад #
SmartControl 7 лет назад #
ermakover 7 лет назад #
Яндекс интересуют именно страницы единиц контента или категория контента. Так как у меня объявлений очень много, я даже закрыл в робот.тхт ссылки https://site.ru/board?page=* для каждой категории.
Может я и не прав, но вроде как пока всё ОК с индексацией.
Fuze 7 лет назад #
Закройте весь сайт в роботс, кроме главной страницы, что уж там
vikont 7 лет назад #
https://yadi.sk/i/YSWheQ0A3MjQmL
А при стиле Плитка отображаются только аватары.
В закладке Дизайн - Шаблон виджета только один щаблон list
Как все это подправить?
Aquarius 7 лет назад #
Другой путь — самому вникнуть в эту тему. Но это, как минимум, намного дольше. И с меньшими гарантиями...
vikont 7 лет назад #
То ли это досадный глючек, то ли возможно какой то конфликт, хотя с таким у Инстанта сталкиваюсь впервые...
А где искать исполнителей хотелок я знаю, спасибо.
Fuze 7 лет назад #
Def 7 лет назад #
/system/controllers/content/model.php on line 1484 Notice: Undefined index: cats_hide in /system/controllers/content/model.php on line 1485
Notice: Undefined index: create in /templates/default/controllers/content/category_view.tpl.php on line 52
Undefined index: create in /templates/default/controllers/content/item_view.tpl.php on line 82
Notice: Undefined index: create in /templates/default/controllers/content/item_view.tpl.php on line 92
Notice: Undefined index: create in /templates/default/controllers/content/item_view.tpl.php on line 94
Notice: Undefined index: create in /templates/default/controllers/content/item_view.tpl.php on line 107
Undefined index: cats_view in /system/controllers/content/model.php on line 1451
Notice: Undefined index: cats_hide in /system/controllers/content/model.php on line 1452
Def 7 лет назад #
http://prntscr.com/giyk05
показывается кнопка даже когда нет больше фотографий для подгрузки. Лучше ее убирать совсем.
Fuze 7 лет назад #
Однако@ 7 лет назад #
Неужели никто этим не озадачивался?
С полем цвет все ясно, похоже в фильтре так и не выводится.
SmartControl 7 лет назад #
Не вижу подобных проверок при создании группы. И нет хуков при создании, чтобы этим как-то управлять. То есть только влезая в код этого можно достичь.
Fuze, просьба без конкретики - добавляйте, пожалуйста, максимально хуки на все операции. Не знаю как об этом лучше писать - могу на github подниматься вопрос, явно указывая место и хук, который хотелось бы там видеть. Тогда даже если в движке чего-то нет, можно будет допиливать сторонними компонентами, перехватывая события. Хуков не хватает..
Fuze 7 лет назад #
Каких хуков не хватает, пишите на гите.
dwd 7 лет назад #
SmartControl 7 лет назад #
dwd 7 лет назад #
Ну вот вам простейший примерчик - допустим мне нужно в зависимости от значения определенного поля убрать с фильтра или добавить в фильтр определенное поле. Будем для этого случая и еще миллиона подобных случаев пилить миллион специальных хуков? Или все-таки сделаем один, но нормальный?
Однако@ 7 лет назад #
vikont 7 лет назад #
В частности в таблицу cms_controllers не вносятся необходимые данные.
Как исправить?
SmartControl 7 лет назад #
файл install.sql нужен для дополнительных операций с БД, строка компонента вносится в cms_controllers движком, для виджета то же самое.
vikont 7 лет назад #
vikont 7 лет назад #
SmartControl 7 лет назад #
vikont 7 лет назад #
Видимо, что то произошло после установки движка 2.8.0.
turza 7 лет назад #
Но захотели пользователи поменять в аккаунтах, свои E-mail адреса на кириллицу, именно сейчас и в 2.8 .1 и всё тупик – движок прописывает что неверный формат почты. Есть какие мысли?
SmartControl 7 лет назад #
vikont 7 лет назад #
Кто знает почему при инсталляции дополнений не создается запрос на внесение данных о дополнении в таблицу cms_controllers?
vikont 7 лет назад #
И так проблема решена с помощью включения функции PHP parse_ini_file, которая как оказалось по умолчанию отключена!
Теперь в условия работы движка надо включить этот пункт включения функции PHP parse_ini_file.
Всем комфортной работы!
Dorimen 7 лет назад #
Def 7 лет назад #
Notice: Constant LANG_WD_CONTENT_LIST_IMAGE already defined in /system/languages/ru/controllers/content/widgets/list.php on line 5
Notice: Constant LANG_WD_CONTENT_LIST_TEASER already defined in /system/languages/ru/controllers/content/widgets/list.php on line 6
Notice: Constant LANG_WD_CONTENT_LIST_DETAILS already defined in /system/languages/ru/controllers/content/widgets/list.php on line 7
Zau4man 7 лет назад #
Def 7 лет назад #
SmartControl 7 лет назад #
Запрос очень длинный.
Dorimen 7 лет назад #
но
SmartControl 7 лет назад #
Vladorld 7 лет назад #
Dorimen 7 лет назад #
Андрей 7 лет назад #
Ris 7 лет назад #
Dorimen 7 лет назад #
например, тут события компонента "НеоМессенджер" и "Черный список" находятся аж на хрен знает каком месте... Можно предположить, что если событие, которое по идее должен заброкировать "Черный список", находится перед ним выше, то оно не будет заблокировано?
или такие события:
Pocus 7 лет назад #
Позиция в списке не является условием.
SmartControl 7 лет назад #
Pocus 7 лет назад #
Например, в админке, в списке компонентов нет иконки "глаз" чтобы посмотреть файлы. А при удалении компонента, он просто удаляется, не показывая список файлов. (Эти фишки я увидел только в видео от студии Sitestroi).
Обновлялся дважды, автоматом и вручную, результат тот же.
Админка дефолтная, в моем шаблоне папки controllers/admin/ нет.
Есть мысли, что не так?
SmartControl 7 лет назад #
Pocus 7 лет назад #
Попробовал установку и удаление компонента из каталога - всё работает.
SE7EN 7 лет назад #
vikont 7 лет назад #
После обновления идут многочисленные ошибки вида
PHP Notice: Undefined offset: 1 in /home/ih332798/public_html/system/libs/spyc.class.php on line 409
Причем этих строк почти столько сколько виджетов на странице!
Пробовал отключать виджеты, часть строк уходит, но эта ошибка даже на стандартные виджеты.
Что и где надо подправить?
SmartControl 7 лет назад #
Возникает из-за запроса несуществующего элемента массива. Можно их отключить для вывода. Например, в htaccess добавить строку
vikont 7 лет назад #
отсутствуют таблицы. Точно известно, что уведомления на сайте отсутствуют. Их нет даже среди виджетов меню.
Вопрос в следующем с версии 2.7.0 до версии 2.8.1 были какие либо изменения в базе данных и если были, где найти запросы, чтобы восстановить базу до нужного функционала?
vikont 7 лет назад #
Количество ошибок резко уменьшилось!
Но в меню пункт Уведомления так и не появился. Принудительное создание ни к чему не привело!
Подскажите, как восстановит уведомления???
SmartControl 7 лет назад #
пункт уведомления появляется только тогда, когда есть уведомления. Если их нет - он не отображается.
vikont 7 лет назад #
Поэтому ищу как исправить!
2. Как выяснилось, при апдейте движка даже из файла install.sql не брались обновления базы!
Pocus 7 лет назад #
Еще виджет "комментарии вконтакте" сам не удалится.
Loadырь 7 лет назад #
vikont 7 лет назад #
То есть заново установить скрипт сайта с современной структурой базы. Затем проинсталлировать все используемые дополнения и потом из старой базы перебросить данные в новую...
Это радикальный способ и на его пути масса возможных проблем...
Другой способ есть все исправить?
SmartControl 7 лет назад #
Скинуть в конфиге версию до последней корректной (до всех косяков), допустим это была 2,6,0.
Хакнуть файл database.php, чтобы после неудачного запроса установка не отваливалась.
Последовательно накатить все последующие обновления.
Это теория, но почему бы и не попробовать. Главное бэкап не теряйте.
Можете подготовить все и скинуть доступы мне в личку - минут 20 смогу выделить поиграться из спортивного интереса.
vikont 7 лет назад #
Loadырь 7 лет назад #
vikont 7 лет назад #
Я уже пересобирал и раньше весь движек, но опять таки на хостинге с выключенной функцией PHP parse_ini_file
Странно, как сайт вообще до сих пор работал?!
Fuze уже пообещал, что в следующей версии будет проверка включения этой функции на сервере.
В мастер пакете она уже есть.
Скела 7 лет назад #
SmartControl 7 лет назад #
Скела 7 лет назад #
Dorimen 7 лет назад #
Pocus 7 лет назад #
Но, в отличии от других, у него вместо зелёной кнопки "Компонент установлен" выводится кнопка "Купить за 3500 ₽".
С чем может быть связана такая "исключительность" Мапса?
SmartControl 7 лет назад #
1. для Мапса не прописался addon_id - хотя должен
2. версия Мапса в каталоге НЕ выше и не равна той, что у вас на сайте. В каталоге 2.0.4, у вас какая в списке компонентов отображается?
Pocus 7 лет назад #
Однако, недочет системы? Надо на github написать.
SmartControl 7 лет назад #
У всех 2.0.4 (как в каталоге), а у вас версия из будущего. Я так предполагаю, что R2 после закидывания в каталог еще исправлял какие-то мелкие ошибки (отсюда и версия чуть выше), а в каталоге потом не обновил информацию. Это не баг, это действия конкретного разработчика дополнения.
Pocus 7 лет назад #
Да, вот так случилось, R2 разослал обновления по почте но каталог не обновил. Забыл.
В принципе, такая ситуация может повториться и с другими разработчиками.
Ничего страшного, конечно, но выглядит не красиво, когда установленный компонент предлагают установит вновь.
Эндрю Ua 7 лет назад #
И хотел бы кое что предложить не значительное для instantcms, но с другой стороны очень удобны
К примеру выбор ширины блока поля а вот высоту выставить в админке данного блока поля нельзя - это в Типы контента\Каталог\Поля\Обтекание
Так же если создать Поле в Категории : Типы контента\Каталог\Свойства\ Добавить поле и в нем выбрать Обязательно к заполнению, то рядом с полем красной звездочки не будет. Как это есть в основных полях.
Эндрю Ua 7 лет назад #
SE7EN 7 лет назад #
Сделать возможность создания своего персонального меню в админке (настраиваемого), чтоб было удобнее по компонентам и настройкам лазить, что-то типа как главное меню на сайте.
Def 7 лет назад #
Grilian 7 лет назад #
Возможно вопрос поднимался, но не нашел.. кто может подсказать:
есть новый тип контента, к нему созданы записи. Тип контента связан с профилем пользователя. Как сделать так, чтобы при регистрации пользователь мог выбирать записи из типа контента? сейчас получается так, что в форме регистрации поле для этого типа создается, но не появляется список записей которые можно выбрать для привязки. Я так понимаю, что это ограничение в правах, тк админ в форме регистрации видит этот список для выбора. Пробовал добавлять права на привязку записей контента всего ко всему для пользователей, но все равно поле не появляется. Как можно обойти?
Dorimen 7 лет назад #
все время выпадал в 504 таймаут... при этом новый сервер значительно более мощнее, нежели старый.
поднял таймаут до 300 - попал в админку (по-умолчанию стоит 30)
curl_exec http://v28.smartcontrol.today/smartslider/version - вот это жрёт всё жто время
wget 'http://v28.smartcontrol.today/smartslider/version'
Resolving v28.smartcontrol.today (v28.smartcontrol.today)... 2400:cb00:2048:1::681b:9a5c, 2400:cb00:2048:1::681b:9b5c, 104.27.154.92, ...
Connecting to v28.smartcontrol.today (v28.smartcontrol.today)|2400:cb00:2048:1::681b:9a5c|:80... failed: Connection timed out.
я так понимаю, что это есть потенциальная проблема для всех пользователей. получается, маркетплейс опрашивает версии всех установленных приложений и если какое-то из них по какой-то причине не отвечает данному серверу, то случается такая проблема как у меня.
может, необходимо как-то предусмотреть это и установить на уровне самого маркетплейса? вполне достаточно выставить CURLOPT_TIMEOUT,1 (ждать одну секунду), а не "пока не отвалится"
Dorimen 7 лет назад #