Ищу модуль. Сравнение нод больше, меньше и равно

Главные вкладки

Аватар пользователя iNFerNo iNFerNo 23 апреля 2013 в 9:55

Необходимо каждую ноду сравнивать со всеми другими нодами.

Создается виджет сравнения, добавляется страница виевс с выборкой нод (между которыми и будет сравнение).

при голосование каждой пары нод за больше дается 3 бала, за равно 2, за меньше 1, за пропуск голоса - 0 балов.

вообщем функционал похож как в фильме фейсбук сравнение фоток.

Комментарии

Аватар пользователя iNFerNo iNFerNo 23 апреля 2013 в 10:30

Пусть лежит, но я ищу такой функционал, чтобы сравнивать песни, альбомы между собой и что бы был рейтинг для пользователя и для всех пользователей. Для 6ки что-то подобное проскакивало в свое время... а для 7ки такое не нужно, всем сайтов визиток и магазинов хватает...

Аватар пользователя Sun-fire Sun-fire 23 апреля 2013 в 14:42

Возможно модуль Diff в чем то поможет, правда там сравнение ревизий одной ноды. Но как минимум можно посмотреть логику.

Аватар пользователя t1mm1 t1mm1 24 апреля 2013 в 3:02

расстрою, ткакого модуля нет.
и дифф не спасет. в свое время писал на оснофе либы диффа такое для оценки изменений в нодах (переводы песен).

но что касаемо сравнивания аудио контента и видеоконтента... даже если такое решенеи есть - оно стоит денег. увы.
для нод могу написать.
но к черту вьювсы.
и как хранить оценки?

в свое время писал для шестерки аналог лайков с закосом под фейсбук, без флагов, рейтов и прочей хни, которая только жрет ресурсы..
готовых решений под заточенные задачи, увы, нет. Изучайте api, пхп и вперед.

Аватар пользователя t1mm1 t1mm1 24 апреля 2013 в 3:09

еще есть в логике небольшая непонятка (лично мне).
сравнивать с нодами - окей - но как вы будете действовать в ситуации, когда нод будет больше 150-200 к?
вас индексы тут ен спасут (проверенно), и группировка тоже.
увы. у друпала есть большой головняк с производительностью, когда материалов очень много (более 500к записей приводят к тормозам, и дело даже не в индексах в бд, хотя они облегчают задачу).

относителньо диффа.
представьте.
вам каждый раз нужно будет проверять содержимое КАЖДОЙ ноды с текущей.
хз, зачем это вам, но тут есть смысл делать иначе, если не хотите столкнуться с головняков в будущем и сделать работу не на отъебись, а на совесть.
1. создаете модуль с таблицами, в которых будете хранить айди ноды (поле ункально) и вес ее содержимого в байтах.
2. на nodepi вешаете обработчик подсчета и его обнавления или записи в эту табличку. при том вам нужно будет создавать индекс для каждой пары для более быстрой выборки.
3. в ситуации, когда будет докуя нод, вам нужно будет сравнивать не их содержимое (на примере диффа), а вес поступающей инфы и текущих нод.
4. нужен будет сборщик мусора.

но мне лино не понятна вся суть задачи. либо опишите ее корректно, либо забудьте.
спасибо.

Аватар пользователя iNFerNo iNFerNo 24 апреля 2013 в 8:43

суть задачи не голосовать за ноду (будь то песня, публикация) а голосовать за ноду в сравнение с ей подобной нодой.

самый простой случай 2 случайные пары фоток голосуешь какая лучше. по итогу каждая фотка имеет свой рейтинг котрый высчитывается по заложенному алгоритму...