Vetal_krot » 06 фев 2012, 15:18
Вижу началось то, что и было нужно - активная дискуссия и обсуждение.
Постараюсь более подробно описать то, над чем мы сейчас работаем.
И так, первое что нам не нравится в FreePBX это сложность внесения изменений. Я не говорю о быдлокоде (которого там достаточно), а о том что внося изменения в какой либо модуль, вы теряете совместимость, а когда количество модулей и клиентов растет, начинается дикий хаос.
Второе, это когда клиенту нужен был ваш специфичный модуль, а позже стал не нужен. И человек который его переписывал заболел, уехал работать за границу, или попросту пропал. Тогда приходится новому специалисту разбираться со всеми предыдущими хаками и доработками, а это человеко часы, а это деньги. Ведь намного проще было бы просто с помощью одной кнопки отключить все изменения и вернутся к стандартному функционалу модуля. Именно для этого нами закладывается "модульно-плагинная" структура, то есть внесение изменений в функционал какого либо модуля можно будет совершать посредством плагинов для этого модуля.
Третье, это то, что при написании модулей, нам совсем не хочется работать напрямую с формами, производить их валидацию, думать о их html коде и о правах доступа к этому модулю. Пускай всем этим занимается фреймфорк, а разработчик модуля должен сосредоточится на основном - внесении данных полученных от пользователя в диалплан.
По сути, то что мы сейчас делаем является расширяемым интерфейсом для админа и пользователя (кто знаком с django, могу сказать что делается по подобию встроенной админки в данный фреймфорк).
Касательно управления диалпланом, то здесь к сожалению есть мало просторов для подвигов. Я о том что создание универсального фреймворка который будет сам генерить нужный диалплан практически нереально (кому либо все равно не понравится тот или иной алгоритм).
Функционал который мы хотим от генератора диалплана:
- возможность хранить диалплан в файлах, RealTime Static, Realtime по желанию пользователя, и при разработке модуля не задумываться от б этом.
- возможность писать диалплан на языке диалплана. По мимо возможности написания диалплана средствами ООП, мы закладываем возможность парсинга уже готовых кусков контекста (для знакомых с django - работу с данными заготовками можно будет производить средствами шаблонизатора django).
P.S. На данный форум я обратился не для того что бы уважаемое комьюнити сказало что и как нам писать, а что бы поделилось своим наболевшим, дабы заложить возможность избежать этого в нашем продукте.
Последний раз редактировалось
Vetal_krot 06 фев 2012, 15:26, всего редактировалось 1 раз.