Итак сообщества…
Поскольку уже достаточное количество идей упирается в функционал сообществ, пора браться за него. Как я уже не раз говорил, функционал этот комплексный и сложный, поэтому, как всякий функционал подобного рода, я собираюсь вводить его по частям.
Первым этапом будет создание сообществ в следующем виде:
Сообществом будет считаться группа пользователей, объединенных по какому-то абстрактному признаку. Например «любителей фантастики», «игроков в Буриме» и т.п. У каждого сообщества будет свой блог (пока один) и ряд прав для пользователей:
1) Видеть сообщество – позволяет видеть сообщество вообще, без данного права сообщество не будет видно даже в каких-то списках и не будет права зайти на страничку сообщества
2) Читать топики
3) Комментировать
4) Создавать топики
5) Удалять свои комментарии
6) Удалять комментарии в своих топиках
7) Удалять чужие комментарии
8) Удалять свои топики
9) Удалять чужие топики
10) Изменять доступ к топикам
11) Принимать пользователей в сообщество и назначать им роли
12) Создавать и изменять роли пользователей
Права будут устанавливаться двух видов «РАЗРЕШИТЬ» и «ЗАПРЕТИТЬ».
Что такое «роли»? Роли – это совокупность прав пользователей, несущих какую-то логическую или административную функцию. Например, типичная роль «Гость сообщества» может иметь лишь два права – «видеть сообщество» и «читать записи», роль «Участник» может включать в себя права «видеть сообщество», «Читать записи» и «Комментировать», а роль «Публикатор» — права «видеть сообщество», «Читать записи», «Комментировать» и «Делать записи». Ну, это простой пример. Комбинаций прав может быть множество.
Роли будут как стандартные – создаваемые системой вместе с сообществом, так и индивидуальными для каждого сообщества. Таким образом, можно будет назначать не только какие-то права участникам вашего сообщества, но и делать различные «ранги» или «звания». Будут пять не удаляемых ролей «Гость сервиса», «Гость сообщества», «Участник», «Администратор» и «Забаненный» — первая служит для указания прав не зарегестрированным пользователям нашего сервиса, вторая – тем, кто не является участниками сообщества (т.е. не присоеденившиеся пользователи), третья – права для участников и четвертая — права для администраторов. Пятая роль служит для «отлучения» пользователя от сообщества и создана, в основном, для открытых сообществ, чтобы этот пользователь не мог самостоятельно снова вступить в него. Эти роли нельзя будет удалить, можно лишь поменять им права и название. Роль администратора будет содержать все возможные права и поменять их будет нельзя. Роль «забаненный» не будет содержать никаких прав. У последних двух ролей можно поменять только название, но не список прав.
Роль можно назначить как отдельному пользователю, так и целому сообществу. Таким образом, можно создавать «дочерние» сообщества, «дружить» или, наоборот «не дружить», целыми сообществами.
Каждому участнику сообщества можно назначить несколько ролей. Права ролей «складываются», т.е. если в какой-то роли нет определенного права, а в другой роли оно есть, то в результате у участника БУДЕТ это право. Права вида «ЗАПРЕТИТЬ» сильней права «РАЗРЕШИТЬ», т.е. если, у участника сообщества несколько ролей и в нескольких из них есть право «РАЗРЕШИТЬ создавать топики», а в какой-то, даже единственной, есть «ЗАПРЕТИТЬ создавать топики», то в результате ему будет запрещено создавать топики.
На начальном этапе сообщества планируются видов:
1) Открытое сообщество – присоединяться могут все
2) Закрытое сообщество – присоединиться могут только по приглашениям/запросам. Т.е. либо участник сообщества с правом «принимать пользователей» пригласит определенного пользователя, либо какой-то пользователь будет оставлять заявку на вступление в сообщество — и уже она будет рассматриваться. По результату рассмотрения соискатель будет либо принят либо нет.
Каждому топику блога сообщества можно будет изменить режим доступа. Допустим, в сообществе «гостям» не разрешено читать записи блога, но хочется иметь какую-нибудь запись информационного характера, например какие-нибудь «последние новости сообщества» для того, чтобы интересующиеся могли что-то прочитать. Тогда участники сообщества с правом «изменять доступ к топикам» могут настроить данный топик так, что «гости» получат право читать этот конкретный топик.
Доступ к топикам планируется следующий:
1) Читать топик
2) Комментировать
3) Удалять комментарии
Вот примерно такие мысли о первом этапе. При чем «первый» он условно, есть у меня подозрение, что даже этот «первый» этап мне придется разбивать на части…
Ваши предложения, мысли, вопросы? Я понимаю, что написал достаточно… эээ… техническим языком, поэтому постараюсь разъяснить «непонятки» в процессе возникновения вопросов.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
Если вы используете ВКонтакте, Facebook, Twitter, Google или Яндекс, то регистрация займет у вас несколько секунд, а никаких дополнительных логинов и паролей запоминать не потребуется.