Форум vBTorrents.org  
Вернуться   Форум vBTorrents.org > Движок торрент трекера VBTT > Разработка VBTT

Интеграция аннонсеров с фронтэндом.

Старый 18.05.2009, 00:47   #1
Аватар для Skald
Skald Skald вне форума
Администратор
Интеграция аннонсеров с фронтэндом.

В этой теме я опишу как я вижу интеграцию различных аннонсеров с фронэндом
Ответить с цитированием
Старый 18.05.2009, 01:19   #2
Аватар для Skald
Skald Skald вне форума
Администратор
Что необходимо сделать:
  1. Определить все места взаимодействия аннонсера и фронтэнда. Например, загрузка торрента на трекер - аннонсер должен об этом узнать.
  2. Первым делом нужно полностью отделить аннонсер от фронтэнда. В данный момент некоторые части ПХП аннонсера (крон задачи), как часть фронтэнда. И как результат переписать код фронтэнда чтобы он не зависел от аннонсера.

Технически я вижу несколько вариантов реализации.
  1. Используя систему хуков vB. С одной стороны хорошо и красиво - vb-way и все такое, но первое неудобство - аннонсер надо прописывать дополнительным продуктом, второе не всегда можно разместить хук в продукте (хук в хуке), вложенные eval-ы иногда глючат, да и производительность этого под сомнением.
  2. Используя систему функций (или классов) подгружаемых в зависимости от настроек админки. Т.е. есть набор файлов функций типа functions_vbtt_php.php и functions_vbtt_xbtt.php в которых одинаковый набор функций, и в зависимости от настроек админки идет инклуд или одного или другого файла. С классами аналогично, только можно использовать один файл, в котором прописаны все классы.
Я больше склоняюсь ко 2-му варианту, т.к. при совместной работе другим программистам не надо будет знать внутренности vb (ну по крайней мере не сильно знать).

Я полностью знаю функционал бинарника и знаю все его недостатки, так что как кто-то решить помочь в модификации кода, сформулирую подробнее.
Ответить с цитированием
Старый 04.06.2009, 06:26   #3
Аватар для xorex
xorex xorex вне форума
Новичок
поддерживаю 2 пункт ибо если через хуки делать 99% будут конфликты с другими хаками модами и.т.п особенно если их не одна сотня стоит
Ответить с цитированием
Старый 17.06.2009, 11:18   #4
Аватар для IVB
IVB IVB вне форума
Ученик
Сообщение от Skald Посмотреть сообщение
Технически я вижу несколько вариантов реализации.
Позволю себе предложить еще один вариант (точнее, это развитие 1-го варианта, рассматриваемого автором) - для каждого анонсера делается отдельный продукт.

Собственно фронтенд состоит из одного или нескольких продуктов, не зависящих от используемого анонсера (т.е. только работа с форумом). А все зависимые вещи (структура БД, запросы к БД, взаимодействие с анонсером) вынесены в продукт "анонсер XXX".

Преимущества:

- при установке админ ставит продукт(ы) фронтенда и на выбор любой из продуктов анонсера (в зависимости от того, какой из поддерживаемых анонсеров он хочет использовать);

- возможность поддержки теоретически любого анонсера (появляется новый анонсер - под него пишется продукт и добавляется в комплект имеющихся (как плагины к ФАРу или Тоталу));

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

Недостатки - каждый продукт "анонсер" будет содержать много похожего кода, что затруднит поддержку нескольких продуктов-анонсеров одним автором.
Ответить с цитированием
Старый 17.06.2009, 16:08   #5
Аватар для Skald
Skald Skald вне форума
Администратор
IVB, Вы не понимаете схемы взаимодействия фронтэнда с аннонсером.
Да аннонсер может быть любой, но данные он в базу должен писать в определенном стандарте (определенные поля и т.д.)
Также аннонсер должен обладать определенным функционалом (т.е. если нужного функционала нет, например, золотые раздачи, то откуда они появятся на фронтэнде).
Также аннонсер обязан принимать определенные команды с фронтэнда (например добавление или удаление торрента), если не будет понимать то нифига работать не будет. Как он будет принимать комманды это не важно - это уже задача интеграции и будет зависеть от конкретного анносера. Но если он в принципе не принимает команды, то независимо от интеграции работать тоже нифига не будет.
С самого начала писалось совсем о другом и для тех кто разбирается в системе хуков Vb и в принципе работы торрент-трекеров.

Ваше предложение (в том варианте в котором Вы его описали) изначально тупиковое и неэффективное развитие. Я делать 3 или 4 версии продукта с разным функционалом не буду - просто мне это не надо (не ну если только кто-то заплатит достаточно), а специалистов хорошо разбирающихся в vb-API очень мало, так что не думаю что кто-то начнет все переписывать под свой аннонсер.
То что я предлагал - это:
Есть фронтэнд (определенного фукционала) - независимый от бекэнда (аннонсера), но управляющий любым аннонсером посредством определенных логических комманд с помощью интеграции (небольшое php дополнение для аннонсера). Интеграция в свою очередь уже специально написана для каждого аннонсера отдельно. И еще немаловажно аннонсер должен поддерживать определенный битторрент функционал не важно на каком языке он реализован и базовый функционал Vb. Например, если в аннонсере нет поддержки Vb групп, то такой аннонсер не подойдет или если он не умеет делать золотые раздачи (битторрент функционал).
Сообщение от IVB Посмотреть сообщение
- возможность поддержки теоретически любого анонсера (появляется новый анонсер - под него пишется продукт и добавляется в комплект имеющихся (как плагины к ФАРу или Тоталу));
Именно это и планируется, только Вы не понимаете какая часть кода делается фронтэндом а какая аннонсером (хотя мне кажется что Вы вообще не понимаете что такое аннонсер и какие у него задачи), т.е. совсем не каждый аннонсер подойдет.
Ответить с цитированием
Старый 05.07.2010, 22:52   #6
Аватар для Skald
Skald Skald вне форума
Администратор
Георг Аванесян, При правильном написании хаков - конфликтов между ними не должно быть в принципе... только вот одна проблема - большинство хаков только с большой натяжкой можно назвать правильно написанными :(
Ответить с цитированием
Старый 15.04.2013, 05:12   #7
Аватар для qaqaqa
qaqaqa qaqaqa вне форума
Любитель
поздновато я, конечно.
этот Георг - обычный спамер, главное ему - ссылку в подписи поставить. всё остальное ему по барабану.
зы - ковыряю XBT.
Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход