Как редактировать измененные свойства и свойства-модификаторы в Alfresco с помощью Java

Я пытаюсь установить модификатор и измененные свойства с пользовательскими значениями в Alfresco, используя веб-скрипт java. Я использую приведенный ниже код для достижения этой цели:

try{

    behaviourFilter.disableBehaviour(mainNodeRef, ContentModel.ASPECT_AUDITABLE);

    serviceRegistry.getNodeService().setProperty(mainNodeRef, ContentModel.PROP_MODIFIED, migValuesVO.getModified());
    serviceRegistry.getNodeService().setProperty(mainNodeRef, ContentModel.PROP_MODIFIER, migValuesVO.getModifier());

}

finally{
    behaviourFilter.enableBehaviour(mainNodeRef, ContentModel.ASPECT_AUDITABLE);
}

Этот код работает правильно в версии сообщества Alfresco. Этот код не устанавливает значения, которые я передал модификатору и изменил при запуске в корпоративной версии Alfresco.

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


person Santhosh    schedule 18.10.2017    source источник
comment
У вас есть ошибка в логах?   -  person Akah    schedule 19.10.2017
comment
Ошибок в логах аках нет.   -  person Santhosh    schedule 20.10.2017


Ответы (1)


Когда вы тестируете свой код с помощью Alfresco CE, вы вошли в систему как пользователь admin, а когда вы тестируете свой код с помощью Alfresco Enterprise, вы вошли в систему как пользователь без прав администратора?

Запустите свой код с повышенными привилегиями, такими как runAsSystem или runAs Admin, как показано ниже.

AuthenticationUtil.runAs(new RunAsWork<Void>() {
    @Override
    public Void doWork() throws Exception {
       try{
            behaviourFilter.disableBehaviour(mainNodeRef, ContentModel.ASPECT_AUDITABLE);
            serviceRegistry.getNodeService().setProperty(mainNodeRef, ContentModel.PROP_MODIFIED, migValuesVO.getModified());
            serviceRegistry.getNodeService().setProperty(mainNodeRef, ContentModel.PROP_MODIFIER, migValuesVO.getModifier());
        }
        finally{
            behaviourFilter.enableBehaviour(mainNodeRef, ContentModel.ASPECT_AUDITABLE);
        }
      return null;
    }
  }, ADMIN_USER_NAME);

Обратите внимание, приведенный выше код не тестировался.

Надеюсь, это поможет вам.

person Muralidharan Deenathayalan    schedule 19.10.2017
comment
Я выполняю веб-скрипт, используя runAsSystem как в CE, так и в корпоративной версии Alfresco, и все еще сталкиваюсь с этой проблемой Murali. - person Santhosh; 20.10.2017