2017-10-18 8 views
1

Java Webscript를 사용하여 Alfresco에서 사용자 지정 값으로 수정 자 및 수정 된 속성을 설정하려고합니다. 아래 코드를 사용하여이 작업을 수행하고 있습니다.Java를 사용하여 Alfresco에서 수정 및 수정 자 속성을 편집하는 방법

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 Enterprise 버전에서 실행했을 때 수정되었습니다.

사용자 정의 값을 수정 자로 설정하고 Alfresco에서 속성을 수정하는 방법을 알려주십시오.

+0

로그에 오류가 있습니까? – Akah

+0

로그 Akah에는 오류가 없습니다. –

답변

0

당신이 알 프레스코 CE와 코드를 테스트하고, 당신이 관리자 사용자로 로그인이 있고 프레스코 기업으로 코드를 테스트 할 때, 당신은 관리자가 아닌 사용자로 로그인?

아래와 같이 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); 

참고 : 위의 코드는 테스트되지 않았습니다.

희망이 도움이됩니다.

+0

나는 Alfresco의 CE 및 엔터프라이즈 버전 모두에서 runAsSystem을 사용하여 여전히이 문제 Murali에 맞서 웹 스크립트를 실행 중입니다. –