1. Приветствуем Вас на нашем закрытом форуме для складчиков сайта cmsheaven.org. Если Вы частный вебмастер, фрилансер, владелец малого или среднего бизнеса, представитель студии по разработке сайтов - будем рады видеть Вас в наших рядах экономных людей.
    Регистрация на форуме возможна только после вступления в складчину

JomSocial: пропадают события из ленты активности

Тема в разделе "Вопросы по расширениям Joomla [тех. поддержка]", создана пользователем Подушка, 16 окт 2015.

Статус темы:
Закрыта.
  1. Подушка

    Подушка Опытный складчик

    Регистрация:
    9 окт 2014
    Сообщения:
    107
    Симпатии:
    17
    Версия Joomla: 3.4.4.
    Название и версия шаблона: смесь Yoo Organic и Yoo Peak
    Квикстарт (да/нет): нет

    Браузер: все
    Скриншоты консоли браузера: отсутствует
    Скриншот ошибки:

    Локальный сервер (если да название, если нет название хостинга): ihor.ru
    Версия php: 5.4.39
    Ошибки в логах сервера: не проверено

    Описание ошибки и действий которые привели к ошибке:
    Вопрос к внимательным пользователям JomSocial 4.1.x и/или 4.0.х (в частности рассматривается 4.1.1):
    Замечали ли вы, что при прокрутке вниз ленты активности, когда загружается новая порция действий (или после нажатия на спец. кнопку в мобильной версии сайта), то эти (более старые) действия далеко не первой свежести.

    Например, в административной части JomSocial настроено отображать 25 действий. 25-е действие сделано 1 час назад. По логике вещей, 26-е действие должно быть выполнено примерно в то же время.

    На деле можно увидеть, что 26 выполнено 21 час назад, а все последующие с еще большим промежутком - вчера, 4 дня назад, 3 недели назад, 1 месяц, 2 месяца, 3 месяца... (такой большой разброс). При этом в административной панели JomSocial (и в PhpMyAdmin) все действия в ленте на месте (не удалены не скрыты (не числятся архивными)).

    [​IMG]

    Замечали ли вы подобное на своих сайтах? Я видел такое однажды в сообществе официального сайта разработчиков, но найти (вернее, понять по каким словам искать) проблему на форуме не смог.

    http://crimson-land.ru/community
    demo/demo

    Дополнительная информация только для техподдержки форума:
    Последнее редактирование: 17 окт 2015
    #1
  2. Modi34

    Modi34 Свой человек

    Регистрация:
    31 окт 2014
    Сообщения:
    2.033
    Симпатии:
    720
    а че вам нужно то? из темы не понятно что вы хотите от техподдержки...
    #2
  3. Подушка

    Подушка Опытный складчик

    Регистрация:
    9 окт 2014
    Сообщения:
    107
    Симпатии:
    17
    Пытаюсь выяснить причину проблемы, при которой в разделе "Сообщества" (при выбранном фильтре "Отобразить:все действия") после нажатия в на кнопку "Еще" (внизу ленты активности; для загрузки более старых событий) начинают отображаться очень старые события (сделанные месяцы назад). Например:
    10 час. назад. User1 добавил(а) видео ***
    2 нед. назад. User2 добавил(а) видео ***
    4 нед. назад. User3 оставил(а) комментарий видео ***
    2 мес. назад. User4 оценил(а) видео ***

    Не ясно, почему не отображаются события между ними (между 10 час. назад и 2 неделями), если они есть в БД, есть в административной части и они отображаются в ленте, если применить фильтр (например, "Отобразить:фото").

    Предположил, что возможно, кто-либо из участников складчины знаком с данной ситуацией и может подтвердить такую проблему (чтобы определить это как баг, а не случай с конкретным сайтом).
    #3
  4. Modi34

    Modi34 Свой человек

    Регистрация:
    31 окт 2014
    Сообщения:
    2.033
    Симпатии:
    720
    а ок - от техподдержки вы ничего не хотите - просто топик для кого-то кто вам придет и ответит - ок тогда я не буду мешать желающим вам помочь
    ʕ •́؈•̀ ₎
    #4
  5. Подушка

    Подушка Опытный складчик

    Регистрация:
    9 окт 2014
    Сообщения:
    107
    Симпатии:
    17
    Modi34, можно попросить Вас рассмотреть сайт и оказать содействие в решении проблемы при наличии возможности (добавлены данные доступа в первый пост)?
    Спасибо.
    #5
  6. Modi34

    Modi34 Свой человек

    Регистрация:
    31 окт 2014
    Сообщения:
    2.033
    Симпатии:
    720
    можно, но мне нужен акееба бекап без папки с картинками
    #6
  7. Подушка

    Подушка Опытный складчик

    Регистрация:
    9 окт 2014
    Сообщения:
    107
    Симпатии:
    17
    Ссылка на архив акееба бекап (пришлось переименовать jpa в zip для возможности скачивания) без папки с картинками в первом сообщении. Спасибо.
    #7
    Modi34 нравится это.
  8. Modi34

    Modi34 Свой человек

    Регистрация:
    31 окт 2014
    Сообщения:
    2.033
    Симпатии:
    720
    ок, я только что посмотрел ваш бекап

    первое у вас все-таки очень многое заархивировано, но даже в таком виде все нормально - не как у вас на сайте
    [​IMG] я разархивировал запросом UPDATE ХХХХ_community_activities SET archived = 0 WHERE archived=1; и все ок[​IMG]

    собственно все что могу посоветовать это поставить бекап который вы сделали на локалке - желательно на мамп - если ошибки нет проблема в вашем сервере, если ошибка есть проблема в том что я что-то не то делаю) я в целом посмотрел код который подгружает сообщения и там по сути не чему работать не так - там нет никаких настроек и все довольно примитивно
    [​IMG]
    это js на который запрашивает новые события - он кстати даже в консоли замечательно работает
    [​IMG]
    а вот php функция берущая данные из функции getActivities
    [​IMG]
    может че не то с сессией может еще где, но это баг чисто на вашем сервере - у меня его нет либо я что-то не так понял в описании ошибки...
    #8
  9. Подушка

    Подушка Опытный складчик

    Регистрация:
    9 окт 2014
    Сообщения:
    107
    Симпатии:
    17
    Прошу прощения за дезинформацию - перед созданием для Вас резервной копии акебы, ошибочно изменил настройки (выставил отличные от нижеуказанных на скриншоте) и оттого многие действия из ленты попали в архив.
    [​IMG]
    Наверное, я неверно понимаю смысл вышеуказанных настроек (они, видимо, относятся только к е-мейл рассылке), но, как я полагал, на сайте будет храниться (неархивированными) действия на протяжении 999 дней (3 года)? Но в то же время можно зайти в старую и неактивную группу groups/viewgroup/15-vsjo-o-zombi полистать немного активность (там мало действий) и увидеть те, что были сделаны 4 года назад (в других группах - 5 лет назад). Но опять же - их мало (действия пропали). Если включить отображение кнопки "Еще / load more" для ленты и перейти в такую группу, то видно, что по достижении действий 4-летней давности кнопка "Еще" доступна (т.е. что-то было и 5 лет назад), но при ее нажатии ничего не подгружается.


    Благодарю за проделанную работу и предоставленные скриншоты-анимации. Вы все верно поняли (проблему) Внимательно просмотрел указанный выше (в цитате), где Вы пролистываете ленту. На первый взгляд все выглядит нормально, но со временем наблюдаю ту же проблему (на скриншоте). Действия разнятся (даты отображаются скачками) либо их мало. Да, видно, что до подгрузки "Load more" отображаются действия сделанные "неделю назад" и после - тоже "неделю назад". Но их довольно мало (действий должно быть больше; видимо, некоторые действия в течение этой недели все-таки пропали). Далее это подтверждают другие скачки во времени - (1 месяц -> 5 месяцев -> 1 год назад...). Хотя активность (если ее разархивировать) начинается с 2009-07-23 и длилась без таких серьезных перерывов (т.е. каждый день что-то совершалось на сайте - вовсе не одно действие раз в 5 месяцев). Т.е. в реальности нельзя в несколько кликов добраться до действий годичной давности (пришлось бы набраться очень много терпения, чтобы долистать). Выходит, можно полагать, что проблема не в конкретном сервере?

    Последние пару дней проводил эксперименты на тестовом сайте (с разархивированной активностью) http://test2.crimson-land.ru/community :

    0) отключил кеширование в общих настройках Joomla (как выяснилось, с ним (еще и при JS4.0) на странице со списком групп (разбитом на несколько страниц пагинацией), при кликах по цифрам 2, 3, 4... пагинации. Страница и URL обновляется, цифры нужные подсвечиваются, но контент отображается со стартовой (1-ой страницы). Предположил, что кэширвоание может и здесь виновно. Похоже, я отклонился от темы - тем более, что в Вам бэкап попал с отключенным кэшированием.
    1) удалил всю активность создаваемую сторонними компонетами, имеющими интеграцию с JS (например действия активнсоти о том, что кто-то ставил комментарий через Komento). Также удалил действия от старых версии JS линейки 1.х (например сейчас действия "юзер обновил аватар" (или иные) хранятся в другой таблице БД). В общем, постарался привести типы действий максимально близко к чистой JS:
    [​IMG]

    2) удалял определенные и случайные действия из первой, второй страницы ленты "Сообщества" (если после них/перед ними начинался такой "разлет" в датах). Добавлял новые, чтобы нарастить ленту.
    3) отключал JS плагины сторонних компонентов (поиск по JS, видео из VK.com для JS; и др. - их немного / никакого старья).
    4) отключил сторонние компоненты, их плагин и даже модули (кроме JS и стандартных от Joomla). Кроме плагинов связанных с шаблоном Joomla и библиотеке на которой он работает (Widgetkit).
    5) удалил все действия из ленты выполненные за последнюю неделю (т.к. в течение недели было обновление JS с 4.0 до 4.1). Кто знает, может при "переходе" лента нарушилась?
    6) Изменил нижеуказанное значение на 1000000 дней. Затем на 100 дней (полагая, что более старые попадут в архив). Но не попали. Видимо следует ждать?
    [​IMG]
    7) Включил дефолтовый шаблон Joomla. Отключил плагины Widgetkit, необходимые для его работы.
    8) с помощью phpmyadmin выполнил поиск действий активности, которые были созданы с 2009-07-23 по 2012-07-23 и удалил их из базы данных.
    9) удалил еще действия до 2013-07-23.
    10) заблокировал >150 самых активных участников (кроме администратора).

    Все вышеперечисленные действия не помогли http://test2.crimson-land.ru/community

    После 10-ого шага даже показалось, что проблема решена - я стал видеть гораздо больше действий сделанных "2 недели назад", "месяц назад." (но ни одного - "3 недели назад"). Но все-же последовал скачок сразу для трех сообщений "2 мес. назад > 7 мес. назад > 1 год назад"

    [​IMG]



    Однажды наблюдал такое в сообществе разработчиков jomsocial.com/community - пролистал ленту до "9 мес. назад", но ничего подозрительного не заметил.

    Зато на проблемном сайте (как живом, так и тестовом) при входе в админ.панель JS отображается предупреждение (думаю, оно не связано с лентой?):
    [​IMG]

    Нередко видел проблемы с лентой и ранее у себя еще при JS 4.0, когда один пользователь подряд оставлял 16 комментариев к видео (а лента отображала 15 событий), то подгрузка ленты осуществлялась с таким глюком. Решалась или удалением 1-2 действиями этого пользователя или увеличением длины ленты (до 25 сообщений, например).

    Что еще можно сделать - ума не приложу. Разве что обращаться к оф. тех.поддержке.

    Спасибо.
    #9
  10. Modi34

    Modi34 Свой человек

    Регистрация:
    31 окт 2014
    Сообщения:
    2.033
    Симпатии:
    720
    много текста ниасилил
    работы не было проделано - там минут 20ть времени потрачено + немного скринов чтобы вы понимали что проблемы быть не может...
    я конечно понимаю как вам тяжело на jomsocial но вы не могли бы в кратце написать работает ли у вас на локалке или нет и если нет вы не могли бы привести конкретный пример события которое не попадает в ленту - я его найду и это будет отправная точка - сейчас кроме большого кол-ва суеверий у меня ничего нет с чем можно было бы работать. событие должно быть в дашборде, но его не должно быть в ленте - я таких не нашел((
    #10
  11. Подушка

    Подушка Опытный складчик

    Регистрация:
    9 окт 2014
    Сообщения:
    107
    Симпатии:
    17
    1. Запустил сайт (высланную Вам копию) на MAMP, как Вы рекомендовали и разархивировал действия.
    2. Залогинился в качестве superuser'a (на случай, если в ленте есть действия не видные гостям или обычным пользователям).
    3. В настройках JomSocial выставил следующие значения (указаны на скринте стрелками) - так проще отследить время и можно самостоятельно жать на "Еще". Также в настройках выставлено "Отображать 15 действий в ленте".
    [​IMG]

    4. Провел сравнение живой ленты на сайте (на локальном сервере) и в админ.панели (отображаются на сайте нормально только первые 15 действий - далее "провал" и "путешествия во времени"):

    [​IMG]

    5. Аналогичная ситуация на живом сайте в вебе, где пользователями по-прежнему совершаются действия. Провал сразу после 15-ого действия:

    [​IMG]

    Ранее, при экспериментах, менял значение 15 на другие (как 5 шт., так и 100) - возникала проблема после нажатия на кнопку "ЕЩЕ" (рано или поздно).

    Спасибо.
    #11
    Modi34 нравится это.
  12. Подушка

    Подушка Опытный складчик

    Регистрация:
    9 окт 2014
    Сообщения:
    107
    Симпатии:
    17
    Здравствуйте, Modi34. Появится ли у Вас возможность повторно взглянуть на проблему с учетом новой информации (в предыдущ. посте)? Спасибо.
    #12
  13. Modi34

    Modi34 Свой человек

    Регистрация:
    31 окт 2014
    Сообщения:
    2.033
    Симпатии:
    720
    пока нет - я попробовал скачать бекап и у меня не вышло
    [​IMG]

    и потому я решил отложить - в целом у меня сейчас есть время - если можно как-то дать доступ к бекапу или скинуть его на modi34@yandex.ru - с радостью посмотрю ошибку прямо сейчас - там что-то интересное...
    #13
  14. Modi34

    Modi34 Свой человек

    Регистрация:
    31 окт 2014
    Сообщения:
    2.033
    Симпатии:
    720
    много времени это не займет - я кажется понимаю в чем может быть причина...
    #14
  15. Подушка

    Подушка Опытный складчик

    Регистрация:
    9 окт 2014
    Сообщения:
    107
    Симпатии:
    17
    Бэкап снова доступен по ссылке, указанной в первом посте. Спасибо.
    #15
  16. Modi34

    Modi34 Свой человек

    Регистрация:
    31 окт 2014
    Сообщения:
    2.033
    Симпатии:
    720
    #16
    Подушка нравится это.
  17. Подушка

    Подушка Опытный складчик

    Регистрация:
    9 окт 2014
    Сообщения:
    107
    Симпатии:
    17
    Великолепно! Благодарю. Можно попросить Вас описать внесенные изменения в bundle.js (чтобы в дальнейшем, при обновлениях JS, мог самостоятельно вносить корректировки при возобновлении проблемы)?

    Путем сравнения в плагине Compare для Notepad ++ не смог разобаться:

    Этот фрагмент
    Код:
    function l(){var a,c,d,j,k=l;k.loading||(a=h("last"))&&(c=i(),k.loading=!0,d=q.find("#activity-more"),j=d.find(".loading"),d=d.find(".joms-button--primary"),d.hide(),j.show(),joms.ajax({func:"activities,ajaxGetOlderActivities",data:[a,c.filter,c.filterId,c.filterValue],callback:function(a){var c,h=!1;k.loading=!1,j.hide(),a.html&&(c=b(b.trim(a.html)).filter(".joms-stream__wrapper").find(".joms-stream"),c.length?q.find(".joms-stream__container").append(c):h=!0),g(),e(),f(),o(),h||d.show()}}))}
    Был заменен на нижеуказанный?
    Код:
    function l(){
        var a,c,d,j,k=l;k.loading||(a=h("last"))&&(c=i(),k.loading=!0,d=q.find("#activity-more"),j=d.find(".loading"),d=d.find(".joms-button--primary"),d.hide(),j.show(),
    
            joms.ajax({func:"activities,ajaxGetOlderActivities",data:[jQuery('.joms-stream').last().data().streamId,c.filter,c.filterId,c.filterValue],callback:function(a){var c,h=!1;k.loading=!1,j.hide(),a.html&&(c=b(b.trim(a.html)).filter(".joms-stream__wrapper").find(".joms-stream"),c.length?q.find(".joms-stream__container").append(c):h=!0),g(),e(),f(),o(),h||d.show()}})
            )}
    
    Или еще что-то заменено в строке выделенной желтым?
    [​IMG]

    Спасибо.

    ОБНОВЛЕНО: к сожалению, замена JS-файла исправляет проблему только если отключена опция автоматической подгрузки ленты "Infinite scrolling for activity streams (Desktop only)" (т.е. отображается кнопка "ЕЩЕ").

    А с чем это связано? Конфликт с другими скриптами сайта? Мне казалось, что в ходе экспериментов отключил все возможные расширения/шаблоны (и это не помогло).
    Последнее редактирование: 21 окт 2015
    #17
  18. Modi34

    Modi34 Свой человек

    Регистрация:
    31 окт 2014
    Сообщения:
    2.033
    Симпатии:
    720
    не буду я ничего объяснять - в чем проблема сравнить 2 файла или просто заменить тот что я сбросил....

    по поводу автоматической подгрузки ленты разговоров не было - был разговор про кнопку - заново ставить бекап мне в лом - если нужно создайте новую тему и опишите ошибку которую выдает браузер, а не пишите что вот не работает...

    эта проблема решена - тему закрываю - используйте кнопку, а не автоподгрузку...
    #18
Статус темы:
Закрыта.