Джанго форум
Понадобилось
нам сделать небольшой форум на джанге. Конечно, вначале я начал искать уже готовые решения.
Из более-менее нормальных нашел два:
Оба эти форума были поставлены и протестированы, и оба не подошли.
Первый оказался слишком большим и сложным для наших задач. Много лишней функциональности. Не вообще лишней, а лишней именно в нашем случае. Но хочу заметить что сам код написан "правильно", исходники этого форума можно использовать для изучения возможностей и тонкостей джанги.
Во втором форуме реализована стандартная минимальная функциональность для форумов, однако нужных вещей там не оказалось. Переделывать существующий код не хотелось, поэтому и этот вариант не подошел.
Ознакомившись с функциональностью остальных форумов,
перечисленных на сайте django, было решено писать свой.
После недолгой разработки в agile-стиле, форум был написан, протестирован и
размещен на сервере. После этого возникло несколько мыслей.
Во-первых, в созданном форуме, несмотря на его простоту, реализован ряд основных функций из списка указанного выше:
- demo – да, для этого вполне подойдет http://forum.karate-online.org
- guest-post – да, да и еще раз да. Это основная вещь, что была нужна. Считаю что такая возможность должна быть на каждом публичном форуме.
- notify – нет, пока не реализовано.
- pre-moderate – нет, не реализовано за ненадобностью. Считаю что эта функция только добавляет лишней работы админам/модераторам, а со спамом надо бороться более "продвинутыми" методами.
- post-moderate – да.
- comment – нет. Не совсем понимаю что это такое применительно к форумам.
- forum – конечно да, это же все-таки форум. :)
- title – нет. Думаю это излишняя функциональность.
- modify – да.
- msg-history – нет, пока не реализовано.
- private - нет.
Такие вещи как notify и msg-history не реализованы по причине ненадобности в данном случае, но вообще я считаю для форума они нужны. С private я еще не определился, а вот pre-moderate и title для форума излишни.
Во-вторых, возникла идея добавить функциональности и сделать из этого форума open source.