Сообщение от
Skald
Технически я вижу несколько вариантов реализации.
Позволю себе предложить еще один вариант (точнее, это развитие 1-го варианта, рассматриваемого автором) - для
каждого анонсера делается
отдельный продукт.
Собственно фронтенд состоит из одного или нескольких продуктов, не зависящих от используемого анонсера (т.е. только работа с форумом). А все зависимые вещи (структура БД, запросы к БД, взаимодействие с анонсером) вынесены в продукт "анонсер XXX".
Преимущества:
- при установке админ ставит продукт(ы) фронтенда и на выбор любой из продуктов анонсера (в зависимости от того, какой из поддерживаемых анонсеров он хочет использовать);
- возможность поддержки теоретически любого анонсера (появляется новый анонсер - под него пишется продукт и добавляется в комплект имеющихся (как плагины к ФАРу или Тоталу));
- в установленном трекере не будет "лишнего" кода (по сравнению с универсальным анонсером, в котором должна быть поддержка разных трекеров).
Недостатки - каждый продукт "анонсер" будет содержать много похожего кода, что затруднит поддержку нескольких продуктов-анонсеров одним автором.