На чем лучше сделать систему гарантированного информирования?
Здравствуйте.
Необходимо сделать системку гарантированного информирования.
Требования следующие:
- После аутентификации пользователь должен видеть только посты, которые адресованы ему (вероятно, можно сделать с помощью тегов - т.е. при создании учетной записи пользователя ему сразу добавляют некоторые теги, от которых пользователь отписаться не может)
- Некоторые посты должны быть видны всем пользователям (т.е. тег "Важно", на который подписаны все пользователи)
- необходимо гарантированное ознакомление пользователя с материалами (т.е. к каждому посту должна быть кнопка "Ознакомлен", которую каждый пользователь, прочитавший материал, должен будет нажать)
- Пользователи должны иметь возможность подписаться на другие теги, кроме тех, на которые их подписали принудительно при создании учетной записи
- построение отчетов о размещении материалов, об ознакомлении с ними
Фактически 3 роли:
1. автор/модератор
Тот, кто вносит информацию
2. пользователь
тот, кто читает информацию по нужным ему тегам, ставит метку "ознакомлен", пишет комментарии к материалам. Также может подписаться на другие теги.
3. суперпользователь:
тот, кто видит все материалы по всем тегам, видит отчет по ознакомлению пользователей с материалами, и с ознакомлением по каждому отдельному материалу.
Изначально планировал сделать на wordpress. Однако даже начальное изучение показало, что это вряд ли удастся: всё же более блог-ориентированная платформа для открытых блогов. Посматриваю на django. Прошу подсказать более удачную платформу для создания такой системы, или хотя в каком направлении "копать".
Алексей Уколов: неет. Тут подход не во взаимозаменяемости. Есть задача. Изначально предположили, что можно сделать на wordpress прикручиванием плагинов. Посмотрели и решили, что сделать нормально вряд ли получится. Сейчас подумываем на каким-нибудь веб-фреймворком: из тех, которые можно, вероятно, более-менее быстро освоить, выбрали django (т.к. немножко знаю python). Решил спросить совета - быть может, кто-то подскажет более оптимальное решение. По-моему, всё корректно
Компетенций в разработке не очень много, да и в основном связаны с переделыванием/допиливанием существующих платформ и решений. Буду благодарен, если б указали, на чем Вы бы сделали.
svkalashnikov: по разному можно сделать.
можно как вы предложили, через теги.
можно к каждой записи добавлять мета поле с id пользователя - если в этом поле id пользователя есть, запись ему показывать, если нет, не показывать.
можно наоборот, id постов класть в мета поля к профилю пользователя - показывать ему только те посты, id которых у него будут в этих полях.
Это навскидку, только те варианты, что сразу приходят. Какой из способов будет лучше в вашем случае, зависит от проекта, от того, как вы будете админку делать
Какие wordpress-ы, сделать то на нем можно, но зачем извращаться, wordpress платформа ориентированная на сайты, блоги, там ему и место, проще написать такое приложение с нуля, без допиливания готовых решений, с фреймворком, без - это дело сугубо личного характера, на чем писать, да по большому счету разницы нет, умеете писать на php - пишите на php, знаете питон - пишите на питоне и т.д.
Как бы сделал я:
1) Сроки ограничены - напишу на php, так как долгое время с ним работаю
2) Не ограниченные сроки - взял бы node.js ибо очень интересно научиться им пользоваться, и если действительно его асинхронность справляется с большой нагрузкой, то он лучший вариант.