Alfresco Споделяне: Файловете не се преместиха след преглед на одобрение

Създадох прост работен процес в папка Чернова, така че ако има качени нови документи, потребителите да бъдат уведомени за това. И ако документът бъде одобрен, той ще бъде преместен в „Предстоящо одобрение“. Тъй като няма функция за краен срок и задачата не се показва на сайта на потребителя, опитах да създам разширен работен поток на самия документ и отново възложих на същия потребител да го прегледа. Въпреки това, когато потребителят одобри чрез менюто със задачи и възложителят зададе задачата като „Завършена“, документът не се премества в папката „Чакащо одобрение“.

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

Единственият начин това да работи ли е да се създаде персонализиран работен процес? Ако е така, може ли пример и кой файл трябва да редактирам? Благодаря предварително!


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


Отговори (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
} 

Надявам се това да помогне

person Sumit Purohit    schedule 25.04.2014
comment
Благодаря... Но възможно ли е, ако направя обратното, което е да приложа крайната дата и да покажа задачата с помощта на скрипт за изпълнение? Тъй като искам работният процес да се изпълнява автоматично, когато в папката се вмъкне нов документ. Доколкото разбирам в разширения работен процес, трябва да посоча в документ. - person e-no 91; 26.04.2014