Alfresco Share: файлы не были перемещены после одобрения обзора

Я создал простой рабочий процесс для папки "Черновик", так что если будут загружены новые документы, пользователи будут уведомлены об этом. И если документ будет утвержден, он будет перемещен в "Ожидание утверждения". Поскольку функция срока выполнения отсутствует и задача не отображается на сайте пользователя, я попытался создать расширенный рабочий процесс для самого документа и снова назначил того же пользователя для его просмотра. Тем не менее, когда пользователь утвердил через меню задач и уполномоченный установил задачу как "Завершено", документ не перемещается в папку "Ожидает одобрения".

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

Единственный способ заставить эту работу создать собственный рабочий процесс? Если да, могу ли я иметь пример и какой файл мне отредактировать? Заранее спасибо!

1 ответ

Если вы можете перефразировать ваш вопрос, это может прояснить ситуацию. Что вы имеете в виду

Если документ утвержден, он будет перемещен в "Ожидание утверждения".

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

Пользовательский учебный процесс

Вы также можете найти фрагмент кода для перемещения и замены файла на открытом воздухе "Действие" Здесь

И полный код класса здесь

Основной код для "перемещения" ТОЛЬКО:

public void executeImpl(Action ruleAction, NodeRef actionedUponNodeRef) {
    // get the replaces associations for this node
    List<AssociationRef> assocRefs = nodeService.getTargetAssocs(actionedUponNodeRef, ((QNamePattern) QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "replaces")) );

    // if there are none, return
    if (assocRefs.isEmpty()) {
         // no work to do, return
         return;
    } else {
        NodeRef destinationParent = (NodeRef)ruleAction.getParameterValue(PARAM_DESTINATION_FOLDER);
        for (AssociationRef assocNode : assocRefs) {
            // create a noderef for the replaces association
            NodeRef targetNodeRef = assocNode.getTargetRef();
            // if the node exists
            if (this.nodeService.exists(targetNodeRef) == true) {
                try {
                    fileFolderService.move(targetNodeRef, destinationParent, null);
                } catch (FileNotFoundException e) {
                    // Do nothing
                }
            }
        } // next assocNode
    } // end if isEmpty
} 

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

Другие вопросы по тегам