Сразу скажу, что то, что я пишу, происходит не на всех серверах. Я заметил проблему на хостинге клиента timeweb с подключенным кешированием memcached.
На моем сервере проблема не наблюдается.
CRM в ui2 получает некоторые данные через GET запросы к API CRM.
например GET crm.contact.info?id=87085&with_counters=1
В этом запросе мы получаем данные о контакте, в том числе теги. Так вот, если добавить или удалить любой тег, то после перезагрузки страницы, мы получаем кешированный ответ со старым списком тегов. Фактически теги добавляются в базу и корректно удаляются при соответствующих запросах, но в админке мы никаких изменений не увидим т.к. все GET запросы жестко кешируются.
Возможные решения:
Делать такие запросы через POST
Добавлять в конец запроса unix timestamp
Сейчас некоторые клиенты пытаются что-то изменить, но, после перезагрузки страницы, видят старую информацию.
6 комментариев
Добавлять в конец запроса unix timestamp
Вы предлагали клиенту перенастроить кеширование, чтобы оно не применялось к запросам к API Webasyst? На первый взгляд, ситуация выглядит, как результат неточной настройки сервера.
Это бесполезно. Таймвеб не даст такой возможности.
Да и дело не в этом. У одних такие настройки, у других другие. Продукт должен работать в любых ситуациях.
Можно добавить в корневой .htaccess что-то вроде
<ifModule mod_headers.c> <FilesMatch "api\.php"> Header setifempty Cache-Control "no-cache" </FilesMatch> </ifModule>Кто будет это добавлять? Человек устанавливает crm, а у него из коробки не все работает.
ну из коробки wa и на nginx не работает...
Кто будет это добавлять?
создаешь плагин который добавляет этот код в .htaccess
впариваешь его клиентам облака WA
profit!