Леголегс |
Отправлено: 15 мая 2010 — 14:12
|
Junior Member
Покинул форум
Сообщений всего: 87
Дата рег-ции: Март 2010
Репутация: 12
|
Разрабатывается мод "Группы".
Прицел на версию ExBB FM RC1, но постараюсь обеспечить лёгкость перехода на sql.
Итак, мод будет большой и много уметь. В частности, многие настройки доступа из админки переедут под управление этого мода.
На настоящий момент идея такова:
Пользователь может состоять в одной или нескольких группах. Ему можно всё, что можно его группам, а всё остальное нельзя.
Регулируются следующие права:1. На весь форум целиком- администрирование
- бан юзеров
- отправка ЛС
- отправка email через форум
- право скрывать своё присутствие на форуме
- право полностью скрываться от статистики
- чат (если установлен)
- доступ к полям в моде профайл+ также будет тонко настраиваться
2. На отдельный форум- знать о существовании форума (видеть в списках)
- просмотр форума и чтение тем
- создание тем
- создание опросов
- ответ в темы
- применение html в сообщениях
- применение бб-кодов в сообщениях
- применение смайликов в сообщениях (запрет как изощрённое наказание)
- прикрепление файлов
- прикрепление файлов, игнорируя ограничения
- правка своих сообщений после отведённого периода
- скрытие отметки о редактировании сообщения
- удаление своих сообщений после отведённого периода
- модерирование: выдача и снятие предупреждений
- модерирование: закрытие и открытие тем (также даёт право писать в закрытые темы)
- модерирование: правка сообщений
- модерирование: удаление сообщений
- модерирование: удаление тем
- модерирование: перенос сообщений в другие темы
- модерирование: перенос тем
- модерирование: перенос тем в форум, где нет прав на перенос тем
- модерирование: правка опросов
Кто-то может посчитать, что я усложняю. Может быть. Тогда предлагайте, какие пункты объединить.
Что-то я наверное забыл, список можно пополнить.
Есть ещё мысль сделать такую вещь, как "куратор темы".
Отображение, лычки, значки и прочие свистелкикаждая группа имеет:- название
- текст под ником (можно html) (не обязательно, рекомендуется для основных групп) (свой вариант для каждого пола)
- значок под ником (можно html) (не обязательно, рекомендуется для престижных групп, типа "старожил", "лауреат конкурса" и т.д.)
РазработчикамОдна из целей мода - упростить проверку прав и вывод сообщений об ошибках, сведя их к вызовам типа:
CODE:if (!check_permission(EXBB_PERM_TOPIC_REPLY))
permission_show_error(EXBB_PERM_TOPIC_REPLY);
Обсуждаем, критикуем, предлагаем.(Отредактировано автором: 15 мая 2010 — 14:14) |
|
|
Светлана |
Отправлено: 16 мая 2010 — 04:48
|
Забанен
Покинул форум
Сообщений всего: 240
Дата рег-ции: Июнь 2009
Репутация: 8
[+]
|
Леголегс пишет:
Пользователь может состоять в одной или нескольких группах.
Кажется нет особого смысла состоять в нескольких группах. Логичен переход по группам по возрастающей, с расширением прав. Леголегс пишет:бан юзеров С указанием длительности бана и автоматическим разбаниванием.
Леголегс пишет:# отправка ЛС
# отправка email через форум Это стандартные функции форума. Есть ли смысл регулировать к ним доступ?Леголегс пишет:право полностью скрываться от статистики Должно быть только у админа. |
|
|
Александр Михалицын |
Отправлено: 16 мая 2010 — 06:47
|
Super Member
Покинул форум
Сообщений всего: 723
Дата рег-ции: Февр. 2009
Репутация: 42
|
Леголегс,
Цитата:юсь обеспечить лёгкость перехода на sql.
В смысле мода что-ли? Боюсь, не получится. Все проверки прав будут инкапсулированы внутрь соответствующих классов (имеющих отражение в предметной области)... То есть скажем, в файле topic.php (например) вы не найдете проверок на права доступа...
Хотя.... если... я честно говоря не могу вам помочь с правильным написанием кода (чтобы он был переносим в ExBB 2) только потому, что я еще не представляю полную картину классов... А группами, кстати, во второй версии, я и буду заниматься.
(Добавление)
И кстати, не надо в константах "прав" писать EXBB, все хорошие классы пишутся изначально так, чтобы они с "пол пинка" могли быть "выдернуты" и "перекинуты" в любой другой движок... Зачем вашему классу групп знать где он работает? |
|
|
Леголегс |
Отправлено: 16 мая 2010 — 06:53
|
Junior Member
Покинул форум
Сообщений всего: 87
Дата рег-ции: Март 2010
Репутация: 12
|
electron пишет:кликабельный список групп на главной форума Можно. Хотя я не люблю загромождать главную, там и так слишком много всего. У админов способ просмотреть список членов группы будет обязательно.
Светлана пишет:Кажется нет особого смысла состоять в нескольких группах Определённо есть смысл, это одна из причин начала разработки мода.
Светлана пишет:С указанием длительности бана и автоматическим разбаниванием. Будет использована старая подсистема бана. Её, конечно, полезно было бы переработать, но это как нибудь потом.
Светлана пишет:Это стандартные функции форума. Есть ли смысл регулировать к ним доступ? Определённо есть. Спам же.
Светлана пишет:Должно быть только у админа. Мнения уже разделилсь. Кому что можно пусть решает админ конкретного форума, я лишь предоставлю техническую возможность.
(Добавление)
Александр Михалицын пишет:Боюсь, не получится. Все проверки прав будут инкапсулированы внутрь соответствующих классов (имеющих отражение в предметной области). Ну, не столь важно где делаются проверки, главное как.
Александр Михалицын пишет:А группами, кстати, во второй версии, я и буду заниматься. Ну, а я пока по граблям похожу
(Добавление)
Александр Михалицын пишет:не надо в константах "прав" писать EXBB Да это только пример. Я ещё не решил, как будут именоваться функции, будет ли польза от классов и другие подобные чисто кодерские вопросы.
Александр Михалицын пишет:хорошие классы пишутся изначально так, чтобы они с "пол пинка" могли быть "выдернуты" и "перекинуты" в любой другой движок Реюзабельнось кода - вещь хорошая, но тратить слишком много времени на, что никогда никому не принесёт пользы мне не хочется, так что переносимости на какой-нибудь SMF не ждите. Слишком глубоко в потроха exbb придётся залезать. |
|
|
yura3d |
Отправлено: 16 мая 2010 — 09:09
|
ExBB Team ExBB Developer ExBB Mods Author
Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009
Откуда: Минск, Беларусь
Репутация: 353
|
Леголегс
Идея по поводу групп пользователей замечательная, как и предложения по функциональности. Даже нечего добавить к тому, что было предложено в начале.
Леголегс пишет:Отображение, лычки, значки и прочие свистелки
Я бы ещё добавил возможность выделения цветом ников пользователей при просмотре тем (или, как вариант, выделение цветом названия группы). Как ни странно, этот нюанс среди пользователей очень востребован (видимо, тут имеет место аналогия с другими движками). Однако в данном случае не совсем понятно, как именно выделят цветом пользователя, входящего в несколько групп. Возможно, нужно ввести понятие основной группы для каждого пользователя.
Ну и чуть позже, надо будет обсудить совместимость данного мода с чатом, а также готовящимися сейчас модулями фотогалереи и прикрепления нескольких файлов к одному сообщению, чтобы модом уже изначально поддерживались новые возможности RC2
Пожаление по реализации - сделать максимально простую, насколько это возможно, интеграцию в движок. Возможно, как-то оптимизировать всё это дело с точки зрения производительности и хранения данных в файлах (скажем, исключить работу с большими массивами данных, сложные проверки и т.п.) Если это требование будет учтено, нет никаких препятствий, чтобы в будущем включить этот мод в дистрибутив очередной версии ExBB FM 1.0 |
|
|
Леголегс |
Отправлено: 17 мая 2010 — 08:29
|
Junior Member
Покинул форум
Сообщений всего: 87
Дата рег-ции: Март 2010
Репутация: 12
|
yura3d пишет:Я бы ещё добавил возможность выделения цветом ников пользователей при просмотре тем Точно, забыл это записать.
yura3d пишет:как вариант, выделение цветом названия группы Это есть - в названии группы можно юзать html.
yura3d пишет:Возможно, нужно ввести понятие основной группы для каждого пользователя. Честно говоря, хотелось бы этого избежать. Итак сложно настраивать., админы запутаются.
yura3d пишет:новые возможности Возможность отдавать под управление мода новые функции будет, и очень простая для разработчика. Одна строчка в конфиг-файл и одна в языковой.
yura3d пишет: сделать максимально простую, насколько это возможно, интеграцию в движок К сожалению, просто не получится, ибо все старые проверки я планирую из exbb выкинуть. Т.е. пути назад уже не будет.
yura3d пишет:Возможно, как-то оптимизировать всё это дело с точки зрения производительности и хранения данных в файлах (скажем, исключить работу с большими массивами данных, сложные проверки и т.п.) По моим оценкам, основные тормоза в exbb от количества открываемых файлов, а их объём (в разумных пределах) на скорость влияет слабее. Чтение одного файла в 500кб гораздо быстрее, чем чтение 100 по 5кб. На хосте, где крутится мой подопечный exbb первое делается за 0.1 сек (0.005 если повторно), а второе - пара десятков секунд.
Александр Михалицын пишет:Главное чтобы все проверки на права доступа и пр. были в классе phpшные классы я не очень люблю. Если вы, Юра или кто ещё из команды посмотрели профайл+ и одобряют стиль (за исключением части с аплоадом файлов ), то я бы так и продолжил.
Александр Михалицын пишет:Хотя... Мы с фураксом последний раз говорили о переносе этих моментов на язык SQL У меня интерфейс не накладывает ограничений на бэкэнд. Хотя если вы говорите о том, чтобы всю проверку прав делать на стороне базы, то я не знаю что и сказать.
Александр Михалицын пишет:Повторюсь: в команду к нам не охота? Посмотрим Если сабж удастся сделать и получится что-то путное... |
|
|
yura3d |
Отправлено: 17 мая 2010 — 14:28
|
ExBB Team ExBB Developer ExBB Mods Author
Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009
Откуда: Минск, Беларусь
Репутация: 353
|
Леголегс пишет:К сожалению, просто не получится, ибо все старые проверки я планирую из exbb выкинуть. Т.е. пути назад уже не будет.
Да там нет так много этих проверок. Но всё равно, Вы уж постарайтесь Т.н. путь назад никто и не требует.
Леголегс пишет:По моим оценкам, основные тормоза в exbb от количества открываемых файлов, а их объём (в разумных пределах) на скорость влияет слабее. Чтение одного файла в 500кб гораздо быстрее, чем чтение 100 по 5кб. На хосте, где крутится мой подопечный exbb первое делается за 0.1 сек (0.005 если повторно), а второе - пара десятков секунд.
Ну это само собой, что тот же объём, распределённый по множеству файлов, даст большую нагрузку. Оба этих варианта развития событий (в том числе и работу с большими файлами) надо постараться избежать.
Леголегс пишет:phpшные классы я не очень люблю. Если вы, Юра или кто ещё из команды посмотрели профайл+ и одобряют стиль (за исключением части с аплоадом файлов ), то я бы так и продолжил.
Имхо, не замарачивайтесь с классами и т.д. Это только усложнит Вам работу, не более. Никто существующие для этой версии модули переносить в ExBB 2 не будет, ибо слишком разная архитектура и разный уровень у этой и будущей версий. Если что и может быть взято за основу, так это функциональность.
Леголегс пишет:Честно говоря, хотелось бы этого избежать. Итак сложно настраивать., админы запутаются.
Но а как по-другому решить данную проблемы с отнесением пользователя к той или иной группе, если он состоит в нескольких группах? Я вижу 2 пути решения - либо разбить группы на ролевые (администраторы, модераторы, пользователи и т.п.) и пользовательские (клуб любителей кошек и т.п.), либо (что гораздо проще в реализации) предложенный мной выше вариант с понятием основной группы.
Более того, функциональность так называемых пользовательских групп тоже может быть востребована для объединения пользователей по интересам. И как мне кажется, в некоторых случаях пользователям нужно дать возможность самим добавлять себя в интересующие их группы (конечно, это не касается ролевых групп), а не забивать личку администраторов соответствующими просьбами. Что скажете? |
|
|
Леголегс |
Отправлено: 17 мая 2010 — 16:46
|
Junior Member
Покинул форум
Сообщений всего: 87
Дата рег-ции: Март 2010
Репутация: 12
|
yura3d пишет:либо разбить группы на ролевые (администраторы, модераторы, пользователи и т.п.) и пользовательские (клуб любителей кошек и т.п.), Не-не, это ещё хуже. Чисто декоративные группы вообще не нужны, те-же любители кошек могут захотеть доступ в кошачий подфорум.
Но идея с главной группой мне тоже не нравится. Со временем будут специальные условия для автоматического перехода между группами (например, доступ к ЛС только после N сообщений - это будет востребовано), но кто тогда будет назначать основную группу? Я думаю, что раз груп будет гораздо меньше, чем пользователей, то надо упрощать управление пользователями ценой усложнения управления группами. Но как именно пока не ясно. |
|
|
|