instantsoft / icms2

Self-hosted Site Management System
https://instantcms.ru
GNU General Public License v2.0
295 stars 120 forks source link

Небольшое изменение прав доступа для модераторов в разных типах контента #1236

Closed iAndroS closed 4 years ago

iAndroS commented 4 years ago

Используемая версия InstantCMS: 2.13.1

Пока сайт небольшой и по сути управляется одним админом и одним модером, то все нормально при текущих возможностях движка. Но как только начинаешь расширять сайт, создавая много разноплановых типов контента, возникает необходимость для разных типов контента назначать разных модераторов/помощников в этих разделах сайта, которые являются экспертами или просто опытными в тематике раздела сайта.

Проблема в том, что назначаемые в типах контента модераторы выступают лишь только в роли модераторов, их функция заключается в "Отклонить/Отправить на доработку" и все. Глобальные же модераторы имеют достаточные возможности, но в пределах ВСЕГО сайта, что не совсем правильно. Создавать под каждый тип контента отдельную группу пользователей, тоже задача не из самых приятных.

Итак, мое предложение следующее: глобальная группа модераторов остается как есть, по сути в нее будут входить глобальные модераторы (а может и не быть их в принципе). А у модераторов в типах контента появляются права глобальных модераторов для этих типов контента.

К примеру, в группе пользователей "модераторы" (которая является "глобальной" по сути) мы задаем доступ на безлимитное добавление записей без модерации, изменение и привязки дочерних типов контента и т.д. ДЛЯ ВСЕХ типов контента. Никого туда не назначем. Но когда мы назначаем модератора в типе контента "Новости", у назначенного в них модера появляются все возможности из группы "Модераторы" для этих самых новостей. Во всех остальных типах контента у этого модератора будут действовать общие для его группы пользователей права доступа. Для тех, кому нужны модераторы в ТК, как в текущей реализации, можно сделать опцию "Только модерация записей", включенной по умолчанию.

Таким образом, мы решили бы проблему излишнего доступа для тех, кому не хотелось бы его давать в принципе. В своем типе контента у модератора, в нем назначенного, появляются возможности удаления, редактирования и прочие прелести.

iAndroS commented 4 years ago

Вы бы хоть поясняли свои решения, что ли... Впрочем, с аргументацией у вас, как обычно... Проблемки...

fuzegit commented 4 years ago

Поясняю. Модераторы, это модераторы. Права доступа - это права доступа. Название группы "Модераторы" не означает, что в ней модераторы. Важно какие пользователи в ней находятся и какие права у этой группы.

Впрочем, с аргументацией у вас, как обычно... Проблемки...

Проблемки не у меня, а у вас. Святая простота, не иначе. "Не хочу" - аргумент? Аргумент.

iAndroS commented 4 years ago

"Не хочу" - аргумент? Аргумент.

Не аргумент абсолютно. Почему-то мне казалось, что гит сделан для того, чтоб обратную связь с пользователями/сообществом организовывать путем конструктивного диалога. Вам необязательно хотеть или делать все, что мы тут пишем.

Отклонить фидбек - это значит зарубить саму идею на корню. Аргументация какая-то адекватная все равно должна быть: например, невозможно реализовать без кардинальных доработок ядра либо же "есть такие-то сложности", либо "предлагайте код - внедрим", "нет массового спроса" и т.д. Идея вам для статусов-тегов к issue, кстати )))

Но это же слишком просто с вашей точки зрения. Толи дело отклонить, пусть простачки идут по более сложному пути, годами выпрашивая внедрения в ядро какой-то мелкой функции (ну, тут можете не аргументировать - мы эту пластинку все знаем и свято чтем ее каноны). Вам не кажется, что вы порой своей любовью все усложнять тормозите само развитие движка? Мне же, как человеку простому, проще вести диалог, из которого можно делать какие-то выводы. Да и других людей вопросов лишних не будет.

Теперь по существу...

Модераторы, это модераторы.

В текущих реалиях это футболисты, а не модераторы (если не привязываться к группам пользователей "Модераторы"). Учитывая к тому же проблему пропажи отредактированного на время модерации материала, смысла в таких модераторах никакого. Эта схема не работает на UGC-сайтах, как позиционируется сам движок.

Название группы "Модераторы" не означает, что в ней модераторы.

Я понимаю, что это всего лишь название обычной группы пользователей. В моем предложении выше я называл ее глобальным модератором, что в принципе подтверждает мои предположения. А назначенные модеры в типах контента всего лишь должны унаследовать права из этой группы в данном типе контента, ничего более. Для этого в настройках компонента "Модерация" admin/controllers/edit/moderation/options можно добавить опцию "Укажите группу пользователей для наследования модераторских прав доступа", а в форме привязке юзера к списку модераторов в типе контента добавить чекбокс "Только модерация записей" (футбол, то есть).

Так как я человек простой, то и решений хочу простых, а не городить количество групп пользователей, равное количеству типов контента (в планах более сотни) ради того, чтоб в эту группу добавить одного-двух человек...

fuzegit commented 4 years ago

организовывать путем конструктивного диалога

С вами конструктива не будет.

Толи дело отклонить, пусть простачки идут по более сложному пути, годами выпрашивая внедрения в ядро какой-то мелкой функции

Годами? Мелкой? Так если мелкая, что же сами не сделаете/не наймёте чтобы сделали и не предложите пулреквест готового кода? Вы просто любитель сотрясать воздух и чужими руками что-то получать. Ноль конструктива.

Вам не кажется, что вы порой своей любовью все усложнять тормозите само развитие движка

А вам не кажется, что я волен выбирать сам, что мне делать бесплатно и в бесплатной CMS? И только не надо заводить шарманку "да я готов заплатить". Проходили, знаем. "ну рублей сто выделю", а то и вовсе молчок, как доходит до дела.

Вы, как человек простой, прочитайте документацию по CMS. Разберитесь, как работают права доступа.

iAndroS commented 4 years ago

С вами конструктива не будет.

Даже странно. Удивили прямо-таки... Думаю, никто в этом не сомневался )))

Годами? Мелкой? Так если мелкая, что же сами не сделаете/не наймёте чтобы сделали и не предложите пулреквест готового кода?

Я выше вам предложил подумать о названии статусов ISSUЕ. Сделайте внятный адекватный фидбек, дабы люди понимали, что вы готовы в релиз включать, но не хотите делать. А не ваше конструктивное "Отклонено" без объяснения причин.

Вы просто любитель сотрясать воздух и чужими руками что-то получать. Ноль конструктива.

Вы знаете, я сотрясаю воздух в попытках сделать лучше ВАШ проект. Не сотрясая его, возможно, инстант не был бы таким, какой он сейчас (память освежить можете самостоятельно, уверен, ваши скиллы это позволяют, было бы желание).

А вам не кажется, что я волен выбирать сам, что мне делать бесплатно и в бесплатной CMS?

Я предвидел такую пластинку от вас и предупредительно написал это

ну, тут можете не аргументировать - мы эту пластинку все знаем и свято чтем ее каноны

И да: "Волен сам выбирать", "Ничего никому не должен" и прочие отмазки - это НЕ аргументация. Вы как кодер должны в этом разбираться. Выше варианты ответов я вам скидывал, которые вы можете взять на вооружение, но вы же не хотите упрощения взаимодействия со своими клиентами/фанатами/единомышленниками...

"да я готов заплатить". Проходили, знаем.

Не напомните, чего вы знаете, а я нет? Я всегда готов заплатить адекватную цену за адекватную работу, а вы продолжайте искать лохов, кто вам будет по 50к за это https://github.com/instantsoft/icms2/issues/1127 платить (решение, кстати, обошлось в десятки раз дешевле вашего предложения). Или у вас есть другие пруфы? А то как-то неприятно попахивает с вашей стороны...

"ну рублей сто выделю", а то и вовсе молчок, как доходит до дела.

Напомните, пожалуйста, о чем речь конкретно? Как-то уже неоднократно вы меня упрекаете в чем-то неведомом для меня. Может, в этом и есть секрет вашей немилости к моей персоне? Перепутали с кем, али приснилось чего?

Я участвовал в большинстве складчин, даже в тех, которые меня не интересовали. И не раз скидывал донаты. Вот пруф последнего

image

Аргументированно вам отвечаю? Хотелось бы аналогичного общения. Мне абсолютно по барабану на ваше личное мнение и отношение ко мне, но когда мы обсуждаем, КАК улучшить ВАШ продукт, не опускайтесь, пожалуйста, до... Сами свои пределы знаете...

Есть продукт, и есть его пользователи. Фидбек должен быть двухсторонним, иначе роста комьюнити не будет, как и продукта, собственно.

fuzegit commented 4 years ago

Вы знаете, я сотрясаю воздух в попытках сделать лучше ВАШ проект. Не сотрясая его, возможно, инстант не был бы таким, какой он сейчас

Ну слишком жирно конечно, прямо аж запретило.

прочие отмазки - это НЕ аргументация

Вы наверное не поняли. Я с вами не пытаюсь вообще что-то решить. Мой аргумент вам был озвучен выше.

а вы продолжайте искать лохов, кто вам будет по 50к за это #1127 платить

Уважаемый. Это вы пришли ко мне и что-то пытались искать, а не я ищу. Вы проявили инициативу. И вас не устроила цена. Это ваши проблемы и ваши поиски, выражаясь вашим языком, "лохов".

но когда мы обсуждаем, КАК улучшить ВАШ продукт

Мы не обсуждаем это. Мы обсуждаем "а почему же вы не хотите делать то, что я такой золотой AndroS, предложил и, о боже, как вы смеете закрывать мои предложения необосновав".

Есть продукт, и есть его пользователи. Фидбек должен быть двухсторонним, иначе роста комьюнити не будет, как и продукта, собственно.

Само собой. Но как вы заметили, "немилость" лишь к вашей персоне, а ваша персона не равна всему комьюнити.

iAndroS commented 4 years ago

Мдааа, тяжелый случай. Клиника практически. Пруфы-то будут? Хотя, это был риторический вопрос... Вы окончательно раскрыли свою сущность капризной балаболки...

Сидя в мазуте, вы будете приговаривать "я в сметанке, я в сметанке", а на вопрос "Как вас зовут" - "Сметанка вкусная!". На конкретно поставленные вопросы - чушь несете, утверждаете о чем-то без пруфов и каких-либо подтверждений ваших слов. Обижаетесь, как мадама, на элементарно неудобные вопросы. По ночам в подушку не рыдаете, случайно?

Вопрос уже даже не в теме issue, а в вашей адекватности (выявлено - отсутствует). Ваше ЧСВ лезет из всех ваших щелей. Корона набекрень =) Но это не мешает вам старательно прикидываться "выше всего этого".

Вы не только со мной так общаетесь, давно это замечено, и не только мной замечено. Просто конкретно в данном случае это коснулось меня.

Вы, как истинный "эффективный управленец" успешно тянете вниз движок и не стремитесь его развивать. Дело не в лично ваших трудозатратах, а нежелании принимать мнение со стороны, как и помощь. "Не хочу, не буду!" - ваши истинные аргументы капризной дамочки!

Можете считать мои высказывания выше мнением большинства. Знаю лично нескольких людей, кто именно такого же мнения о вашей персоне. Большинство же помалкивают, ибо подозревают, что вы можете шибко обидеться. Ну, и воспитание, нежелание лезть в чужой монастырь со своим уставом и т.д. А я молчать не собираюсь, справедливость - мое второе имя.

Я следую принципу "Критикуя - предлагай!", и как мне видится ваша реакция на это: "Меня критикуют, аааа!.. (здесь должен быть мем про то, как вы слово "Баг" меняете на "Недочет"). Да как он смеет еще и навязывать свое тухлое мнение? Так, соберись, тряпка, и с гордостью молча отклони/удали/переименуй!".

Повторю для вас краткую выжимку-рекомендации о вашем поведении, как о руководителе проекта:

  1. Эмоции в деле, как и личные отношения - за борт!
  2. Любая критика должна быть обоснована, как и ваши действия. Нельзя ввязаться в драку и отстояться в стороне.
  3. Внедрите понятные всем теги (дедлайны и статусы) в issue проекта, дабы было понятно, что вы готовы внедрить в ядро, но не готовы делать сейчас или в принципе не хотите, но готовы рассмотреть чужой код. Это фидбек, которого от вас ждут ВСЕ заглядывающие в гит.
  4. Ваши реакция на issue должна быть конструктивной и адекватной не потому, что я так хочу, а потому что вы - официальное лицо InstantCMS и хотят этого все. Прозрачности и понимания в какую сторону идет развитие в случае его наличия.

Один только п.3 из вышеуказанного даст существенный толчок в развитие проекта. Но, как мне кажется, вы в этом не заинтересованы. Вспомнил, с какого момента началось такое ваше отношение ко мне - именно тогда, когда я эту мысль впервые озвучил публично.

Я закончил. Можете забанить меня и продолжать дальше идиотничать.

fuzegit commented 4 years ago

Можете забанить меня и продолжать дальше идиотничать.

Конечно забаню. За оскорбления и хамство. К сожалению, это максимум, что я могу для вас сделать. Всё дальнейшее общение, если вы захотите, только через извинения или через доставку посылкой мне короны (красивую пожалуйста).

Мем про баг-недочёт - огонь. Но припозднилось, уже не заходит. Я польщён, что по мою персону складываются мемы, хоть и баян.

Поскольку эффективные менеджеры не понимая кухни, пытаются давать совет исполнителям, всё же попытаюсь ответить вам на "рекомендации":

  1. Я здесь НЕ на работе. Был есть и буду эмоциональным. Возмущение на идиотов и негодование о несправедливости со стороны тех, чьё имя справедливость, будет всегда.
  2. Обосновывать я буду то, что посчитаю нужным. Требовать от меня обоснований, когда я почти впрямую посылаю, глупо.
  3. Сроки релизов ставить не планируется в обозримом будущем. Другие лейблы тикетов обозначены так, как удобно тем, кто работает с этими тикетами. По фидбэку: я писал много раз, повторяю еще. Есть два типа фидбэка: неадекватный, когда пишут "всё гавно, надо вот такой функционал, я шарю лучше всех" и адекватный, когда пишут "вот тут не так потому что, вот тут потому, давайте обсудим". Иными словами, когда приходят с миром, доброжелательно, ответ такой же. А если приходят и пытаются сразу дать в морду, приходиться бить в ответ, увы. Переходя на вас, можно сказать, что вы приходите с миром, только за спиной держите дрын, да еще и дверью ошиблись.
  4. Пишите адекватные issue, а не личные хотелки. Ожидаете моей плохой реакции и всё равно пишите? Это минимум странно. Радеете за InstantCMS? Я только рад, если это реально так. Но упорно писать issue натыкаясь на непонимание с моей стороны, а потом обложить меня - отличный план.
iAndroS commented 4 years ago

4. Но упорно писать issue натыкаясь на непонимание с моей стороны, а потом обложить меня - отличный план.

Каюсь, был резок. Даже извиняюсь. Точно также эмоции играют... Не понимаю просто, как достучаться до вас иначе. Когда человек чего-то не понимает, он обычно уточняет наводящими вопросами, а не просто в мусорку кидает issue.

3. адекватный, когда пишут "вот тут не так потому что, вот тут потому, давайте обсудим"

Именно в таком ключе я и пишу свои предложения. Уже даже и багом перестал называть некоторые из них. Большая часть моих issue всегда сопровождается примерами использования и описанием проблемы. Для наглядности, чтоб вы могли спроецировать проблему на своих каких-то примерах.

3. "всё гавно, надо вот такой функционал, я шарю лучше всех"

О5-25 ))) Да приведите вы уже конкретный пример? Не писал я такого никогда, даже приблизительно по смыслу...

4. Пишите адекватные issue, а не личные хотелки.

Давно уже усвоил разницу между личными хотелками и общеинтересными. Поэтому тут не было многое из того, что заказывал на стороне, в том числе и по мелочам.

Поймите, я не пытаюсь продавить свои личные хотелки и вас тем более. Многие вещи мне действительно проще заказать на стороне, но при первой же обнове начнется геморрой, поэтому в последнее время и совсем по минимуму стал писать сюда (за вас переживаю), преимущественно те вещи, которые при обнове слетят обязательно. Именно поэтому вполне логично, что хотелось бы знать больше о готовности включить предложение в движок, а не о готовности накодить его, а в случае отказа все же какой-то комментарий получить (обсудить). При наличии такой обратной связи можно было бы и прогеров просить решение запуллить.

Risgit commented 4 years ago

Друзья мои, я получаю на почту уведомления о вашей дискуссии и не могу найти кнопки "отписаться", поэтому прошу меня извинить, изложу своё скромное мнение. iAndroS Ваша проблема с правами модераторов решается настройками в админке. Создайте по модератору на тип контента и наслаждайтесь. Нет смысла превращать гитхаб в форум, нет смысла каждую хотелку для своего сайта вносить в код системы. Да, я видел скриншот вашего перевода на поддержку системы. Нет, не думаю, что каждый перевод даёт спонсору право на управление политикой разработки.

fuzegit У себя на сайте я бы за такое забанил бы 10 лет назад.

fuzegit commented 4 years ago

Не понимаю просто, как достучаться до вас иначе

Зачем до меня достукиваться? Я здесь, я тут, я везде (С)

Большая часть моих issue всегда сопровождается примерами использования и описанием проблемы

Для этого есть форум.

Да приведите вы уже конкретный пример? Не писал я такого никогда, даже приблизительно по смыслу

Я и не писал, что это ваши слова. Но в контексте вашей личности я тоже привёл пример.

Поймите, я не пытаюсь продавить свои личные хотелки и вас тем более.

Именно так все ваши хотелки здесь выглядят. Но теперь вы решили перейти в наступление. Высказались? Выдохнули, потёрли все причастные злорадно руки? Сказали Fuze айяяй? Вот и чудно.

Именно поэтому вполне логично, что хотелось бы знать больше о готовности включить предложение в движок, а не о готовности накодить его, а в случае отказа все же какой-то комментарий получить (обсудить). При наличии такой обратной связи можно было бы и прогеров просить решение запуллить.

Все вменяемые желающие помочь просто берут и делают. Для того, чтобы предложить пулл не нужно моё разрешение. Однако, ожидаемо, чтобы не кодить впустую, люди зачастую мне пишут предварительно, мол делаю то то и то то, примете? Либо сразу предлагают пулл и если меня что-то не устраивает (а зачастую не устраивает "чистота кода"), начинается процесс ревью - обычные рабочие моменты, ибо потом поддерживать всё это хозяйство мне.

У себя на сайте я бы за такое забанил бы 10 лет назад.

Банить, признавая, что меценат прав?) Направление каравана всё равно не изменилось. Это не ноунейм. Какой-никакой, а представитель оппозиции (что конечно по определению странно звучит в контексте того, что пользуются этой CMS). Пусть порадуются первыми.

и не могу найти кнопки "отписаться"

Выделение_001