Стоит ли добавлять возможность настройки поинтов в версии 1.5.3?
Задача эта не очень сложная, НО при условии, что в системе инициируются события на каждое действие пользователя(размещение поста, голосование, добавление комента, фото, и т.д.). Без этого любому разработчику, кто возьмется за решение этой задачи придется ковырять код ядра системы и с дальнейшими обновлениями возникнут сложности.
Цена вопроса здесь — десяток, другой однотипных строк в нужных местах кода.
Если этого не сделать сейчас, то о полноценной системе поинтов можно будет забыть до появления следующей версии инстанта.
Отсюда огромная просьба к разработчикам:
Добавить cmsCore::callEvent при каждом действии пользователя в релизе 1.5.3
добавлять новые возможности сейчас нельзя или придется тестировать все с самого начала
Тоесть, Вы хотите сказать, что вызов пустой функции(зарезервированной на будущее) может отразиться на работе системы?… или придется тестировать все с самого начала
Тоесть, Вы хотите сказать, что вызов пустой функции(зарезервированной на будущее) может отразиться на работе системы?
Именно.
Замена даже одного байта может отразиться на работе системы.
Это я вам говорю как практик с большим опытом разработки ПО.
В крайнем случае можно добавить в код закомментированные строки, которые никак не отразятся на работе системы. Пример:добавлять новые возможности сейчас нельзя
В этом случае любой сможет обратиться к сторонним разработчикам или самостоятельно написать нужные плагины и передать их Вам для включения в следующие релизы, не опасаясь, что их потом придется переделывать.Код:
$this->inDB->query($update_sql);
// cmsCore::callEvent(’CLICK_BANNER’, $id);
return true;
Главное сейчас официально "обозвать" события на которые потом будут настроены плагины. Тогда можно быть уверенным, что плагины написанные для этой версии подойдут и для следующих.
вы говорите о важной и полезной вещи, но она не появится в 1.5.3
опасность то не в строках, которые вы просите добавить, а в человеческом
факторе
C этим, конечно, трудно не согласиться.опасность то не в строках, которые вы просите добавить, а в человеческом
факторе
А как Вы отнесетесь к такому предложению — просто официально проанонсировать включение этих событий в какой-нибудь из следующих релизов? Ведь можно включить в общий пакет сборки текстовый файл, с именами событий. Напр.:
и т.д.Код:
cmsCore::callEvent(’USER_CLICK_BANNER’, $user_id); // клик юзера по банеру
cmsCore::callEvent(’USER_ADD_VOIСE_KOMENT’, $user_id); // голосование за комент
cmsCore::callEvent(’USER_FORUM_OPEN_ITEM’, $user_id); // открытие темы в форуме
Можно открыть тему в форуме и устроить опрос на тему, какие события нужно инициировать в системе.
Хотелось бы подчеркнуть, что подобное объявление позволит добавить уже в следующем релизе очень полезную и даже важную для развития системы функцию. Причем все это можно сделать не отвлекая основную команду — интерес к этой теме большой и, наверняка, найдутся люди, готовые поучаствовать в реализации этой идеи.
Код:
cmsCore::callEvent(’USER_CLICK_BANNER’, $user_id); // клик юзера по банеру
cmsCore::callEvent(’USER_ADD_VOIСE_KOMENT’, $user_id); // голосование за комент
cmsCore::callEvent(’USER_FORUM_OPEN_ITEM’, $user_id); // открытие темы в форуме
Я вижу ты в этом шаришь) Может поможешь проекту?) Опишешь?)
Я это обсуждение видел и в т.ч. оно меня подвигло к открытию этой темы.Вот тут мы составляли ТЗ)
Не сказал бы, что очень уж шарю, но понемногу вникаю:)Я вижу ты в этом шаришь) Может поможешь проекту?) Опишешь?)
Помочь проекту — с радостью, только нужно чтобы он сам себе помогал:)
Как я уже писал подобный модуль сделать нормально невозможно без внесения минимальных дополнений в ядро системы. Причем эти изменения должны быть внесены именно Создателем:), иначе это будет сизифов труд. Как минимум, нужно официальное заявление, мол события будут называться так-то, а инициироваться они будут в таких-то местах кода. Этого уже будет достаточно, чтобы что-то начинать. Хотелось бы иметь хоть малейшую уверенность в том, что после выхода следующего релиза не придется все переделывать, ведь это кусок работы немаленький.
Переговори с Админом, и запишись в разработчики получишь свою ветку
Чтобы что-то брать нужно быть уверенным, что донесешь:)Может и правду ветку возьмешь?
Пока рано об этом говорить — нужно во всем как следует разобраться, прежде чем брать на себя ответственность за результат, которого от тебя будут ждать. Пока поковыряюсь втихаря, а там посмотрим, что из этого получится.
В месте где происходит Добавление сообщения… или другое события просто вписать функцию
При этом система потеряет гибкость и возможность включения дополнений других разработчиков.В месте где происходит Добавление сообщения… или другое события просто вписать функцию
В местах, где происходят добавление сообщений и/или другие события вставляется специальная функция системы, которая инициирует событие — информирует систему о том, что событие произошло. А нужные "деятельные" функции (напр. добавление поинтов) потом подключает системный обработчик событий. Это дает возможность добавлять полезные функции не меняя ядра системы и обеспечивает совместимость с разными версиями системы(как минимум с последующими)