Alexander
Am
(;
Serguei
Так. Чуток раскопал. Внешние ключи там не помогут, так как там происходит просто update ....__site_content set deleted=1 where blablala. И соответственно, на данном этапе просто не может происходить нарушения внешнего ключа.
Далее работа модуля останавливается, то есть помеченным на удаление остается действительно только один ресурс, без дочерних. А дальше пользователь админки жмет на очистку корзины, где ресурс уже физически удаляется из базы. И вот тут могло бы уж помочь наличие внешних ключей, но их там при установке Evo не создано.
В принципе, здесь хорошим решением было бы как раз эти ключи создать запросом в базу данных, но это уже на запиливание ядра evo походит, и я не знаю, куда грамотно этот запрос корячить, чтобы при следующем обновлении и обновлении с других версий он правильно выполнился.
Pathologic
я этот баг давно зарепортил
Pathologic
надо будет исправить как-нибудь, но это очень редкое явление на самом деле
Serguei
Pathologic
ну что можно родителя удалить, а дети останутся
Serguei
надо будет исправить как-нибудь, но это очень редкое явление на самом деле
Ну если внешними ключами можно пользоваться (а вот тут я не знаю, так как вроде же Эво теперь позиционируется как совместимый не только с MySQL), то можно попробовать alter table в какой-нибудь скрипт запихать, чтобы эти ключи создал, и проблема уйдет. Если внешне ключи нельзя использовать, то тут да, уже побольше кода написать надо.
Pathologic
да
Pathologic
надо не проверки делать, а просто допилить docmanager
Serguei
Хотя, если в новой версии Эво InnoDB таблицы уже используются, то туда так и просится alter table с созданием внешних ключей. Но не знаю, как такое поведет себя ан других НЕ MySQL базах, которые в списке поддерживаемых заявлены.
Serguei
И у ДокМенеджера проблемное место еще, это еще запись вида 235** при необходимости удаления всех вложенных ресурсов в 235, но нет возjжности записи вида к примеру "^235", позволяющего исключить ресурс. А часто получается, что нужно вычистить все ресурсы внутри какого-то одного, но его самого при этом не удалять. Он помечается лишним, потом начинаются пляски с его восcтановлением без восстановления дочерних. При этом в некоторых версиях было так, что если его через контекстное меню восстановить, то заново восстановятся все вложенные. Соответственно, скорее всего так и возникают ситуации с "потерянными" ресурсами в базе.
Dmytro
Serguei
Кстати, я не нашел, де теперь размещаются на гитхабе файлы ДокМенеджера. Дополнительный синтаксис в способ задания ресурса типа вышеописанного я смог бы туда добавить. То есть например сделать так, чтобы запись вида '235** ^235 ^237**' означала "применить изменения ко всем вложенным записям в ресурс 235, кроме ресурса 235 и ресурса 237 со всеми в него вложенными".
Dmytro
грубо выполнии 235** -> удалить и потом 235 -> востановить
Dmytro
и все удалены все дочерние но сам документ не удален
Dmytro
Dmytro
Dmytro
Serguei
Так а все-таки. Мы можем внешние ключи добавить, или в списке баз данных, на кторых должно работать ЭВО, есть какие-то, которые их не поддерживают?
Pathologic
Внешние ключи добавить вот просто так не можем
Pathologic
Это будет версия 4
Serguei
Pathologic
Да потому что вытворяют всякую хуйню, через апи мало кто делает
Pathologic
На тв уникальный ключ давно добавил, а проблемы до сих пор у некоторых возникают
Pathologic
С пользователями вот тоже
Pathologic
Да с кодировками в базе проблемы часто вижу, а тут вдруг движок поменять
Pathologic
Движок менять нужно у таблиц, в этом проблема
Serguei
Так InnoDB и так уже по умолчанию в третьей версии.
Pathologic
Это если с нуля ставить
Am
Поддержка совместимости версий вся навернется.
Serguei
Ну так а обновление на 3.х достаточно глобальный скачок изменений, пользователи вроде это понимают, что что-то может отвалиться. Смена на InnoDB таблиц здесь не настолько сильным потрясением кажется, как всё остальное :)
Аляксандр
Am
Аляксандр
Аляксандр
В 3.x я говорил что я ломаю безвозвратно 🙂
Am
Am
Ловкий ход.
Serguei
Ну ведь заявили, что всякие AjaxSearch и иже с ними не поддерживаются больше...
Аляксандр
Если @Dmi3yy обещал совместимость, то с его и спрос 🙂 Я не обещал это точно 🙂
Pathologic
А толку от этих заявлений, если до сих пор дитто ставят
Am
А поговорить?
Аляксандр
Axenia
serious_t91 (146.03) увеличил карму Pathologic93 (6105.5)
Serguei
Так а совместимость на самом деле очень даже хорошая. Просто совместимость она же не всего и вся, а только определенного списка компонентов. А их перечислить поштучно можно.
Serguei
Евгений
Подскажите кто с FormLister. Взял пример с доков самый первый, в &to указал почту куда нужно отправлять, после отправки приходит благодарность за обращение на ту почту что указал в форме, но само письмо с данными формы никуда не приходит...
Serguei
ссSender?
Евгений
Евгений
1 стоит
Serguei
ccSenderTpl?
Serguei
Там все просто должно быть. reportTpl придет на тот адрес, который указан в to. А ccSenderTpl придет на тот адрес, который указали в поле email при заполнении формы.
Евгений
все из дока
Евгений
@CODE:Спасибо за обращение, [+name.value+]
Евгений
так приходит только благодарность, спасибо за обращение
Евгений
но само письмо с данными формы не приходит никуда, не понимаю почему
Евгений
может я не так обьясняю или вы поняли о чем я?
Serguei
а в reportTpl что? Контроллер какой используется - Form?
Serguei
Евгений
контроллер не менял, вообще ничего из стандартной доки не менял кроме почты &to
Serguei
А какую доку вы называете стандартной?
Евгений
Евгений
https://docs.evo.im/04_extras/formlister/500_examples/001_prostaya_forma.html
Евгений
вот эту взял и все, не могу понять почему письмо не приходит с данными заполненной формы
Pathologic
проблема в сервере может быть
Serguei
а адреса в одном домене или разных?
Serguei
Я бы на локалке проверил, создаются ли в sendmails файлы с содержимым писем.
Serguei
Но вообще, раз у вас не "вообще не приходит", а "куда-то приходит, а куда-то не приходит", то я бы искал разницу. Например, протестил форму, введя в качестве емейла тот же адрес, который указан в to. Или поменял их местами.
Marc
Maybe this works?
&to=`[+email.value+]`
&autosender=`info@mymail.ru`
&automessageTpl=`...`
Marc
And check Configuration > [(emailsender)]
Евгений
а адреса в одном домене или разных?
вообще странно работает. С одной формы начало и то и то приходить, хотя изменений не было, точно так же скопировал на вторую форму, она таким же макаром работает, то есть благодарность приходит, а содержимое формы нет)