Блог

Определение и взаимосвязи основных сущностей в структуре Базы знаний

Для того, чтобы пользователям системы было проще оперировать некоторой терминологией, мы подготовили обзорную статью по основным понятиям Базы знаний.

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

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

Сайт - совокупность страниц, имеющая взаимосвязанную систему ссылок, расположенных в сети Интернет или внутренней сети организации. В Liferay же сайт - это сущность, в которой содержатся все настроенные страницы и контенты, позволяющие организовать функционирование сайта в общем описанном выше понятии.


Сайты бывают следующих типов:

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

Приватные страницы - страницы, открытые только для авторизованных в портале пользователей.


Участники сайта 
Пользователи могут стать участниками сайта, если:

  • их напрямую добавили в участники сайта,
  • они являются пользователями какой-либо организации, сайтом которой назначен текущий сайт,
  • они состоят в какой-либо группе пользователей, которую добавили в участники сайта.

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

Разберем перечисленные термины (пользователь, организация, группа пользователей) по отдельности.

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

Пользователи:

  1.  могут быть объединены в группы по какому-либо признаку,
  2.  могут быть добавлены в группы пользователей,
  3.  могут быть добавлены в роли,
  4.  могут иметь свой собственный сайт (по умолчанию эта функция отключена), который может быть:
  • публичным сайтом (на который переводит система при переходе из дефолтного портлета с каталогом пользователей или контактов);
  • приватным сайтом (дашборд или рабочий стол в меню пользователя (на нем можно посмотреть задачи, назначенные на этого пользователя или созданные им заявки)).


Организация - объединение, в котором состоят пользователи.

  • может быть самостоятельной единицей;
  • может иметь свой сайт ("сайт организации");
  • может иметь иерархию (представлять собой организационную структуру, с которой при внедрении системы могут быть соотнесены юрлица, филиалы, подразделения, отделы и т.д.).

Группа пользователей - объединение пользователей системы по необходимому признаку. Часто используется для ускорения раздачи прав пользователям (вместо раздачи каждому пользователю нескольких ролей, роли могут быть присвоены сразу группе, в которую в последующем можно будет добавлять дополнительных юзеров). Это же работает и для ускорения добавления пользователей в участники сайтов - можно сразу добавить группу пользователей и существенно сократить время в сравнении с добавлением каждого юзера в отдельности.

Роль - набор прав пользователей при взаимодействии с системой. Зачастую роли пользователей определяются согласно их обязанностям в компании и / или принадлежности к бизнес-процессам.

  • к роли может быть привязан пользователь,
  • роли может быть назначен доступ к чему-либо (виджет, страница, определенный функционал),
  • роли могут пересекаться между собой (иметь схожий функционал),
  • у одного пользователя может быть несколько ролей.


Роли можно поделить на следующие категории в зависимости от того, как они были созданы:

Системная роль -  гость, пользователь, участник сайта, менеджер контента сайта, администратор сайта, администратор. Т.е. системная роль портала Liferay. 

Роль InKnowledge - редактор, главный редактор с / без уведомлений. Такие роли создаются модулями.

Роль, созданная администратором инстанца - роль, созданная администратором инстанца, которой были назначены права на какие-либо объекты и операции с ними. Такие роли могут быть:
Общая роль - роль, которая не зависит от сайта и / или организации, применяется точечно, к конкретному пользователю системы. Примеры роли - гость, администратор, пользователь. Такие роли задаются в продуктах компании по умолчанию для упрощения работы заказчиков с системой.

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

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


Вывод



Подводя итоги статьи можно сказать, что между перечисленным сущностями установлены следующие связи:


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