Важное дополнение в релиз 1.5.3

Стоит ли добавлять возможность настройки поинтов в версии 1.5.3?

Однозначно стоит
Стоит, если это не отразится на сроках выхода релиза
Да пусть уже будет, как есть
Всего 11 голосов Опрос завершён
#1 25 декабря 2009 в 14:01
На форуме и в блогах многократно поднимался вопрос поинтов (балов, бонусов и т.п.)
Задача эта не очень сложная, НО при условии, что в системе инициируются события на каждое действие пользователя(размещение поста, голосование, добавление комента, фото, и т.д.). Без этого любому разработчику, кто возьмется за решение этой задачи придется ковырять код ядра системы и с дальнейшими обновлениями возникнут сложности.
Цена вопроса здесь — десяток, другой однотипных строк в нужных местах кода.
Если этого не сделать сейчас, то о полноценной системе поинтов можно будет забыть до появления следующей версии инстанта.
Отсюда огромная просьба к разработчикам:
Добавить cmsCore::callEvent при каждом действии пользователя в релизе 1.5.3
#2 25 декабря 2009 в 14:07
код 1.5.3 уже зафиксирован и в него вносятся только исправления
добавлять новые возможности сейчас нельзя или придется тестировать все с самого начала
#3 25 декабря 2009 в 14:38

… или придется тестировать все с самого начала

Администратор
Тоесть, Вы хотите сказать, что вызов пустой функции(зарезервированной на будущее) может отразиться на работе системы?
#4 25 декабря 2009 в 15:01

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

neart

Именно.
Замена даже одного байта может отразиться на работе системы.
Это я вам говорю как практик с большим опытом разработки ПО.
#5 25 декабря 2009 в 15:23

добавлять новые возможности сейчас нельзя

Администратор
В крайнем случае можно добавить в код закомментированные строки, которые никак не отразятся на работе системы. Пример:

Код:
$this->inDB->query($update_sql);
// cmsCore::callEvent(’CLICK_BANNER’, $id);
return true;

В этом случае любой сможет обратиться к сторонним разработчикам или самостоятельно написать нужные плагины и передать их Вам для включения в следующие релизы, не опасаясь, что их потом придется переделывать.
Главное сейчас официально "обозвать" события на которые потом будут настроены плагины. Тогда можно быть уверенным, что плагины написанные для этой версии подойдут и для следующих.
#6 25 декабря 2009 в 18:19
neart, cм. анекдот выше
вы говорите о важной и полезной вещи, но она не появится в 1.5.3
опасность то не в строках, которые вы просите добавить, а в человеческом
факторе
#7 25 декабря 2009 в 19:32

опасность то не в строках, которые вы просите добавить, а в человеческом
факторе

Администратор
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); // открытие темы в форуме

и т.д.
Можно открыть тему в форуме и устроить опрос на тему, какие события нужно инициировать в системе.
Хотелось бы подчеркнуть, что подобное объявление позволит добавить уже в следующем релизе очень полезную и даже важную для развития системы функцию. Причем все это можно сделать не отвлекая основную команду — интерес к этой теме большой и, наверняка, найдутся люди, готовые поучаствовать в реализации этой идеи.
#9 26 декабря 2009 в 17:53

Код:
cmsCore::callEvent(’USER_CLICK_BANNER’, $user_id); // клик юзера по банеру
cmsCore::callEvent(’USER_ADD_VOIСE_KOMENT’, $user_id); // голосование за комент
cmsCore::callEvent(’USER_FORUM_OPEN_ITEM’, $user_id); // открытие темы в форуме

neart

Я вижу ты в этом шаришь) Может поможешь проекту?) Опишешь?)
#10 26 декабря 2009 в 19:39

Вот тут мы составляли ТЗ)

Dimitrius
Я это обсуждение видел и в т.ч. оно меня подвигло к открытию этой темы.

Я вижу ты в этом шаришь) Может поможешь проекту?) Опишешь?)

Dimitrius
Не сказал бы, что очень уж шарю, но понемногу вникаю:)
Помочь проекту — с радостью, только нужно чтобы он сам себе помогал:)
Как я уже писал подобный модуль сделать нормально невозможно без внесения минимальных дополнений в ядро системы. Причем эти изменения должны быть внесены именно Создателем:), иначе это будет сизифов труд. Как минимум, нужно официальное заявление, мол события будут называться так-то, а инициироваться они будут в таких-то местах кода. Этого уже будет достаточно, чтобы что-то начинать. Хотелось бы иметь хоть малейшую уверенность в том, что после выхода следующего релиза не придется все переделывать, ведь это кусок работы немаленький.
#11 26 декабря 2009 в 22:01
Да стоит над этим задуматься. Может и правду ветку возьмешь?
#12 27 декабря 2009 в 00:45

Переговори с Админом, и запишись в разработчики получишь свою ветку

Typhoon

Может и правду ветку возьмешь?

Dimitrius
Чтобы что-то брать нужно быть уверенным, что донесешь:)
Пока рано об этом говорить — нужно во всем как следует разобраться, прежде чем брать на себя ответственность за результат, которого от тебя будут ждать. Пока поковыряюсь втихаря, а там посмотрим, что из этого получится.
#13 27 декабря 2009 в 01:38
А мне почему то все это дело кажется в полне простым с точки зрения алгоритмов.
В месте где происходит Добавление сообщения… или другое события просто вписать функцию
#14 27 декабря 2009 в 12:34

В месте где происходит Добавление сообщения… или другое события просто вписать функцию

Dimitrius
При этом система потеряет гибкость и возможность включения дополнений других разработчиков.
В местах, где происходят добавление сообщений и/или другие события вставляется специальная функция системы, которая инициирует событие — информирует систему о том, что событие произошло. А нужные "деятельные" функции (напр. добавление поинтов) потом подключает системный обработчик событий. Это дает возможность добавлять полезные функции не меняя ядра системы и обеспечивает совместимость с разными версиями системы(как минимум с последующими)
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.