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

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

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

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


person e-no 91    schedule 25.04.2014    source источник


Ответы (1)


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

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

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

Учебное пособие по пользовательскому рабочему процессу

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

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

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

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
} 

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

person Sumit Purohit    schedule 25.04.2014
comment
Спасибо ... Но возможно ли, если я сделаю наоборот, то есть применю дату выполнения и отобразлю задачу с помощью сценария выполнения? Поскольку я хочу, чтобы рабочий процесс автоматически запускался всякий раз, когда в папку вставляется новый документ. Из того, что я понимаю в расширенном рабочем процессе, мне нужно указать в документе. - person e-no 91; 26.04.2014