[lmims] - заголовки Last-Modified и Not Modified
Алексей Карташов написал неплохой пакет для этого дела.
Были небольшие недочеты:
— избыточное хранение html всей страницы в базе
— хранение старых записей удаленных ресурсов
сегодня я поправил это, пакет можно собрать тут
ps. Надеюсь Алексей будет не против. Всем спасибо!
Были небольшие недочеты:
— избыточное хранение html всей страницы в базе
— хранение старых записей удаленных ресурсов
сегодня я поправил это, пакет можно собрать тут
ps. Надеюсь Алексей будет не против. Всем спасибо!
Поблагодарить автора
Отправить деньги
Комментарии: 31
Нужно отправить pull-request Алексею и там уже с ним обсудить, против он или нет.
Спасибо!
Отправил.
Отправил.
Как оно вообще должно ставиться?
Заливать core и поиск локально?
Заливать core и поиск локально?
0) Заливаешь папку lmims в корень сайта
1) Открываешь в браузере sitename.ru/lmims/_build/lmims/build.transport.php
2) Пакет появится в менеджере пакетов в админке, его нужно будет установить
1) Открываешь в браузере sitename.ru/lmims/_build/lmims/build.transport.php
2) Пакет появится в менеджере пакетов в админке, его нужно будет установить
Получилось, спасибо.
Единственное, была ошибка:
Единственное, была ошибка:
Could not drop table modLMIMS SQL: DROP TABLE `modx_lmims` ERROR: Array ( [0] => 42S02 [1] => 1051 [2] => Unknown table 'modx_lmims' )
ничего страшного, при установке пакет удаляет целиком таблицу modx_lmims и создает ее заново.
у тебя этой таблицы нет — вот и показал ошибку.
у тебя этой таблицы нет — вот и показал ошибку.
О, в мои репозитории кто-то даже контрибьютит))
Пуллреквест приму хоть сейчас, но есть один момент.
Удаляя из таблицы строки, которые связаны с удаляемыми из корзины ресурсами, вы забыли про одну вещь — ресурсы-то могут и удалиться, а вот урлы и контент могут остаться теми же. Компонент VirtualPage (которым я активно пользуюсь) — яркое тому доказательство.
Поэтому, по-хорошему, надо сделать системную настройку, которая как раз и отвечала бы за эту функциональность.
Ну и по-хорошему надо куда-то в меню добавить кнопку, по которой можно было бы полностью очистить таблицу — и можно выкладывать в репозиторий.
Первое я могу хоть сейчас сделать, а вот как кнопку добавлять — хз)
Пуллреквест приму хоть сейчас, но есть один момент.
Удаляя из таблицы строки, которые связаны с удаляемыми из корзины ресурсами, вы забыли про одну вещь — ресурсы-то могут и удалиться, а вот урлы и контент могут остаться теми же. Компонент VirtualPage (которым я активно пользуюсь) — яркое тому доказательство.
Поэтому, по-хорошему, надо сделать системную настройку, которая как раз и отвечала бы за эту функциональность.
Ну и по-хорошему надо куда-то в меню добавить кнопку, по которой можно было бы полностью очистить таблицу — и можно выкладывать в репозиторий.
Первое я могу хоть сейчас сделать, а вот как кнопку добавлять — хз)
Удаляя из таблицы строки, которые связаны с удаляемыми из корзины ресурсами, вы забыли про одну вещь — ресурсы-то могут и удалиться, а вот урлы и контент могут остаться теми же. Компонент VirtualPage (которым я активно пользуюсь) — яркое тому доказательство.так а в чем проблема? Значение обновится и все. Не думаю что это необходимо как то отслеживать…
Ну и по-хорошему надо куда-то в меню добавить кнопку, по которой можно было бы полностью очистить таблицу — и можно выкладывать в репозиторий.При установке таблица полностью удаляется и создается новая…
Значение обновится и всеБлин, точняк xD
При установке таблица полностью удаляется и создается новаяСогласен — вариант)
Я тогда сейчас установочные файлы немного обновлю и заодно пакет соберу, чтобы на гитхабе лежал
так а в чем проблема? Значение обновится и всеЕсли мы удалим строки, которые были привязаны к удалённым ресурсам, но при этом урлы и контент останутся доступны (к примеру, в VirtualPage параметр ресурса поменяли, а ненужный ресурс — удалили), то в lmims-таблице будут созданные новые данные, с новой датой. И поисковики будут думать, что контент по этим адресам обновился, хотя это может быть и не так.
Понятное дело, что это мелочь, но раз делать — то делать хорошо) Поэтому настройка всё-таки нужна.
ну раз ресурс поменяли или удалили — значит изменения были, не так ли? По мне так логично.
Отслеживать непонятно по какой логике — лишняя нагрузка на мозг и на компонент…
Отслеживать непонятно по какой логике — лишняя нагрузка на мозг и на компонент…
Да нет тут никакой нагрузки — ни на мозг, на на компонент.
А ситуацию я ж описал — в VirtualPage параметр ресурса поменяли, а ненужный ресурс — удалили. У нового ресурса шаблон/контент/алиас — все те же. При этом на этом ресурсе через VirtualPage могут быть доступны сотни и тысячи урлов — вывод пользователей, каких-то своих объектов, мало ли. У них ни урлы, ни контент не изменился. Но last-modified дата изменится. Не логично.
Поэтому и нужна настройка, кому нужно — пусть её выключают.
А ситуацию я ж описал — в VirtualPage параметр ресурса поменяли, а ненужный ресурс — удалили. У нового ресурса шаблон/контент/алиас — все те же. При этом на этом ресурсе через VirtualPage могут быть доступны сотни и тысячи урлов — вывод пользователей, каких-то своих объектов, мало ли. У них ни урлы, ни контент не изменился. Но last-modified дата изменится. Не логично.
Поэтому и нужна настройка, кому нужно — пусть её выключают.
ну если так, то давай конкретно разберем ситуацию.
обработчик ресурс — вывод конкретного ресурса, если он был удален — 100% были изменения
обработчик сниппет/ чанк — не обрабатываются [lmims]
обработчик динамический ресурс — id динамическго ресурса == site_start
так в каком из этих вариантов будет описанная тобой ситуация???
обработчик ресурс — вывод конкретного ресурса, если он был удален — 100% были изменения
обработчик сниппет/ чанк — не обрабатываются [lmims]
обработчик динамический ресурс — id динамическго ресурса == site_start
так в каком из этих вариантов будет описанная тобой ситуация???
если он был удален — 100% были измененияВот о том и речь, что не факт.
Да и я не пойму претензий — VirtualPage был для примера, какой смысл конкретно его по косточкам разбирать? Ситуаций, когда возможны такие коллизии, может быть разных. По мне — так лучше перебдеть.
Или претензия в том, что это лишняя нагрузка? Если да, то это ж всего лишь одно обращение к массиву системных параметров, которые и так уже доступны — лишних запросов не будет:
$ids = $modx->event->params['ids'];
if ($modx->getOption('modlmims.remove_related_lmims_on_empty_trash') && !empty($ids)) {
$modx->removeCollection('modLMIMS', array(
'resource:IN' => $ids,
));
}
В любом случае — настройка уже добавлена и по умолчанию включена — никаких лишних действий не требуется. Пусть её меняют только те, кому это действительно нужно.
Залейте на modstore, что-ли..)
Чтобы залить на modstore надо документацию написать, а у меня времени нет)
да что там документировать то… Напиши описание из вот этого github.com/antixrist/modLMIMS/blob/master/README.md
и описание настроек пакета. Думаю более чем достаточно.
и описание настроек пакета. Думаю более чем достаточно.
Пользуясь случаем, хочу спросить — не знаете, случаем, как из репозитория удалить папку, не удаляя её физически с диска?
Ну т.е. я её сперва отправил на гитхаб, потом добавил в .gitignore, но вот из репозитория она не удаляется
Ну т.е. я её сперва отправил на гитхаб, потом добавил в .gitignore, но вот из репозитория она не удаляется
Да абсолютно без претензий. Пускай будет. Я лишь пытался представить ситуацию когда оно нужно…
На этом закончим спор.
На этом закончим спор.
Переименовал пакет и репозиторий
github.com/antixrist/modLMIMS
github.com/antixrist/modLMIMS
Ребята из MODX робко просят так не делать, типа mod зарезервировано под системные дополнения и классы.
Типа modUser, modResource и т.д. Вряд ли кто-то еще назовёт свой пакет LMIMS, так что префикс mod тут не нужен.
Типа modUser, modResource и т.д. Вряд ли кто-то еще назовёт свой пакет LMIMS, так что префикс mod тут не нужен.
блин)
Короче, снова переименовал.
Доступен по старому адресу: github.com/antixrist/lmims
Доступен по старому адресу: github.com/antixrist/lmims
О, в мои репозитории кто-то даже контрибьютит))контри… чего? )))
Привет!
А у меня такой вопрос, если исправить шаблон документа, добавить что то или удалить, то БЕЗ обновления кеша будет отдаваться 304 not modified?
Если точно так же чанк изменить — не увидим изменений?
А у меня такой вопрос, если исправить шаблон документа, добавить что то или удалить, то БЕЗ обновления кеша будет отдаваться 304 not modified?
Если точно так же чанк изменить — не увидим изменений?
При установке всплывает: Couldn't find modx's base path!
Подскажите, пожалуйста, с чем может быть связано?
Подскажите, пожалуйста, с чем может быть связано?
Поставил на MODX 2.6.1
Last-Modified не найден!
HTTP/1.1 200 OK
Server: nginx/1.10.2
Date: Thu, 21 Dec 2017 08:38:07 GMT
Content-Type: text/html; charset=UTF-8
Connection: close
Vary: Accept-Encoding
X-Powered-By: PHP/7.0.15
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Set-Cookie: PHPSESSID=t2vbvbfe1uhbf1b72ea1on9u04; expires=Thu, 28-Dec-2017 08:38:07 GMT; Max-Age=604800; path=/; HttpOnly
Vary: User-Agent
Получено: 437 байт
Затрачено: 0,13 сек
Добрый день. Вы решили вопрос — у меня тоже отдает такой ответ
Нет. Пробовал еще на паре сайтов — не работает.
Спасибо. Может кто из разработчиков подскажет так должно быть или нет?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.