Как создать задачу курирования, которая проверяет, какие EPersons находятся только в анонимной группе в dspace? - PullRequest
0 голосов
/ 09 ноября 2018

Мне нужно реализовать задачу курирования, которая проверяет группу каждого эперсона. Я понимаю, что каждый эперсон является объектом dspace, поэтому у него есть идентификатор, по которому я могу проверить группу этого эперсона. Мой вопрос тогда, как перебрать Эперсонов.

Ответы [ 2 ]

0 голосов
/ 11 ноября 2018

Во-первых, чтобы прояснить: система курирования только работает с иерархией контента. У него нет кода для перечисления EPersons или групп.

Ответ выше дает лучшую отправную точку для перечисления EPersons. findAll вернет список EPerson. Там нет ничего, чтобы вписать это в веб-интерфейсы. Самый простой подход - создать консольное приложение, которое вы запускаете при входе в систему на сервере.

Анонимная группа не имеет участников; членство неявное для всех существующих EPerson. Быть зарегистрированным пользователем подразумевается в том факте, что EPerson существует. Возможно, мы сможем оказать дополнительную помощь, если вы будете более полно описывать проблему, которую пытаетесь решить.

0 голосов
/ 09 ноября 2018

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

Если вы действительно хотите задание курирования, ваш метод зависит от вашей версии DSpace. В DSpace 5 используйте Eperson.findAll. В DSpace 6 используйте EPersonService.findAll. В текущем мастере вы должны использовать разбитую на страницы версию метода findAll в классе EPersonService.

...