2012-10-04 2 views
2

Я использую рабочий процесс liferay. Я хочу создать собственное определение рабочего процесса.Определение пользовательского рабочего потока для документа liferay и портлета мультимедиа

Теперь с рабочим процессом «Single Approver» по умолчанию он просто уведомляет администратора о том, что конкретный документ загружен с помощью документа и портлета мультимедиа пользователем. То, что я хочу, описано на этом изображении.

enter image description here

enter image description here

Всякий раз, когда пользователи в рамках организации А будут загружать любой документ, то он не будет посылать уведомление об утверждении пользователя главного ADMIN, а он должен отправить Организации A администратору утвердить пользователь.

Я надеюсь, что мой вопрос понятен ...

Всякий раз, когда пользователи в рамках организации А будет загружать любой документ, то он не будет посылать уведомление об утверждении пользователю главного ADMIN, а он должен отправить Организации A администратору утвердить пользователь ..

Я надеюсь, что я сделал понять мой вопрос ...

Я сделал, как это в моем рабочем процессе я одного утвердить определение я дал это определение в одну папку, в средствах массовой информации и документов портлета сейчас существует четыре роли, которые они создали автоматически

1)portal Legal Reviewer - Auto generated role from workflow definition 

2)portal Content Reviewer - Autogenerated role from workflow definition 

3)organization Legal Reviewer - Autogenerated role from workflow definition 

4)organization Content Reviewer - Autogenerated role from workflow definition 

Теперь всякий раз, когда я загрузить то, что папка уведомление идет к моему владельцу сайта

И в том, что есть две опции

1)assign to me 
2)assign to -> users (who have role from above 4 they created automatically) 

Теперь предположим, я назначить пользователя, которые имеют роль сверху четыре, и когда я открываю учетную запись этого пользователя, тогда нет панели управления или действия задачи рабочего процесса, которую я могу показать. Как может кто-нибудь одобрить контент?

и еще одну вещь, где я должен изменить свою роль в XML, что она будет оповещать особую роль, описанную в XML не путь по умолчанию для владельца сайта

Только если я создать пользователя, которые имеют роль администратора с Организация утверждающей роли, которую только может получить доступ к панели управления и в задаче рабочего процесса они могут найти назначить и назначить мне уведомление

Моего Defination рабочего процесс идет здесь

<?xml version="1.0"?> 

<workflow-definition 
    xmlns="urn:liferay.com:liferay-workflow_6.1.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="urn:liferay.com:liferay-workflow_6.1.0 http://www.liferay.com/dtd/liferay-workflow-definition_6_1_0.xsd" 
> 
    <name>UPLOAD Approver</name> 
    <description>A single approver can approve a workflow content.</description> 
    <version>1</version> 
    <state> 
     <name>created</name> 
     <metadata> 
      <![CDATA[{"xy":[36,51]}]]> 
     </metadata> 
     <initial>true</initial> 
     <transitions> 
      <transition> 
       <name>review</name> 
       <target>review</target> 
      </transition> 
     </transitions> 
    </state> 
    <task> 
     <name>update</name> 
     <metadata> 
      <![CDATA[{"transitions":{"resubmit":{"bendpoints":[[303,140]]}},"xy":[328,199]}]]> 
     </metadata> 
     <actions> 
      <action> 
       <name>reject</name> 
       <script> 
        <![CDATA[ 
         Packages.com.liferay.portal.kernel.workflow.WorkflowStatusManagerUtil.updateStatus(Packages.com.liferay.portal.kernel.workflow.WorkflowConstants.toStatus("denied"), workflowContext); 
         Packages.com.liferay.portal.kernel.workflow.WorkflowStatusManagerUtil.updateStatus(Packages.com.liferay.portal.kernel.workflow.WorkflowConstants.toStatus("pending"), workflowContext); 
        ]]> 
       </script> 
       <script-language>javascript</script-language> 
       <execution-type>onAssignment</execution-type> 
      </action> 
      <notification> 
       <name>Creator Modification Notification</name> 
       <template>Your submission was rejected by a reviewer, please modify and resubmit.</template> 
       <template-language>text</template-language> 
       <notification-type>email</notification-type> 
       <execution-type>onAssignment</execution-type> 
      </notification> 
     </actions> 
     <assignments> 
      <user /> 
     </assignments> 
     <transitions> 
      <transition> 
       <name>resubmit</name> 
       <target>review</target> 
      </transition> 
     </transitions> 
    </task> 
    <task> 
     <name>review</name> 
     <metadata> 
      <![CDATA[{"xy":[168,36]}]]> 
     </metadata> 
     <actions> 
      <notification> 
       <name>Review Notification</name> 
       <template>You have a new submission waiting for your review in the workflow.</template> 
       <template-language>text</template-language> 
       <notification-type>email</notification-type> 
       <execution-type>onAssignment</execution-type> 
      </notification> 
      <notification> 
       <name>Review Completion Notification</name> 
       <template> 
        Your submission has been reviewed and the reviewer has applied the following ${taskComments}.</template> 
       <template-language>freemarker</template-language> 
       <notification-type>email</notification-type> 
       <recipients> 
        <user /> 
       </recipients> 
       <execution-type>onExit</execution-type> 
      </notification> 
     </actions> 
     <assignments> 
      <roles> 
       <role> 
        <role-type>organization</role-type> 
        <name>Organization APPROVER</name> 
       </role> 
       <role> 
        <role-type>organization</role-type> 
        <name>Organization Content Reviewer</name> 
       </role> 
       <role> 
        <role-type>organization</role-type> 
        <name>Organization Owner</name> 
       </role> 

       <role> 
        <role-type>regular</role-type> 
        <name>Portal Content Reviewer</name> 
       </role> 
       <role> 
        <role-type>site</role-type> 
        <name>Site Administrator</name> 
       </role> 
       <role> 
        <role-type>site</role-type> 
        <name>Site Content Reviewer</name> 
       </role> 

      </roles> 
     </assignments> 
     <transitions> 
      <transition> 
       <name>approve</name> 
       <target>approved</target> 
      </transition> 
      <transition> 
       <name>reject</name> 
       <target>update</target> 
       <default>false</default> 
      </transition> 
     </transitions> 
    </task> 
    <state> 
     <name>approved</name> 
     <metadata> 
      <![CDATA[ 
       {"xy":[380,51]} 
      ]]> 
     </metadata> 
     <actions> 
      <action> 
       <name>approve</name> 
       <script> 
        <![CDATA[ 
         Packages.com.liferay.portal.kernel.workflow.WorkflowStatusManagerUtil.updateStatus(Packages.com.liferay.portal.kernel.workflow.WorkflowConstants.toStatus("approved"), workflowContext); 
        ]]> 
       </script> 
       <script-language>javascript</script-language> 
       <execution-type>onEntry</execution-type> 
      </action> 
     </actions> 
    </state> 
</workflow-definition> 

Я не включал две роли, как Фолль РМО, который находится в одноместный утвердить определение поставляется по умолчанию ..

<role> 
<role-type>organization</role-type> 
<name>Organization Administrator</name> 
</role> 

<role> 
<role-type>regular</role-type> 
<name>Administrator</name> 
</role> 

Так Что сейчас происходит, что я должен дать конкретный пользователь к роли администратора, а также organizationapprover, но если я дать права администратора для этого пользователя то только он может получить доступ к панели управления и может перейти к опции задачи рабочего процесса, но это не настоящая идея предоставить права администратора пользователю, чья работа заключается в том, чтобы просто одобрить контент. Так что я хочу, чтобы кто-то просто дал разрешение на утверждение организации используйте только панель управления, но только для доступа к параметру задачи рабочего процесса. Пользователь не может ничего сделать, просто используйте параметр задачи рабочего процесса.

ответ

4

Если вы посмотрите на определение рабочего процесса по умолчанию (singleapprover.xml или аналогичное), вы увидите, что он определяет ответственные роли как «Утверждение организации», «Утверждение сайта», «Утвердитель» или «Администратор» (из памяти).

Вы можете изменить это - если это единственное, что вы хотели бы изменить, просто сделать это прямо в XML-файле. Вы найдете его в плагине или в источнике управления Liferay на github. Вероятно, вам просто нужно удалить Администратора из списка ответственных ролей, а затем заставить людей, которых вы хотите быть ответственными за роль «Утверждение сайта» для соответствующих сайтов.

Совершено

Edit: Я не полностью понимаю ваш комментарий ниже, но решение, которое я дал предполагает, что пользователи структурированы либо организации или сайты - в этом случае, вы можете иметь пользователя существо «Сайт Утверждение "или" Утверждение Организации "в рамках этой организации. Все содержимое, созданное в рамках сайта или организации, должно быть одобрено утверждающим в пределах этой группы.

Если вы загружаете весь контент на том же сайте, но имеете разные пользовательские назначения, вам, скорее всего, придется пойти с некоторыми назначенными сценариями назначениями (вы можете сценаризировать определенные части системы документооборота), но это выходит за рамки все, что я мог бы объяснить в нескольких словах здесь. Я мог бы указать вам на available documentation, но я сомневаюсь, что этого будет достаточно, чтобы проиллюстрировать то, о чем я говорю - извините

+0

Когда я добавляю одно одобрение определения в свой портлет, а затем создается роль по умолчанию, и когда я давал любому пользователю одобрить или просмотреть с назначением опции, панель управления не отображает так, как я могу перейти к задаче рабочего процесса от этого рецензента учетная запись пользователя –

+0

См. мой обновленный ответ. –

0

Для конкретного пользователя, подобного (A), вам была назначена определенная роль, например, организация APPROVER и т. Д. роли, вы можете определить разрешение как ресурс доступа в панели управления.

Смежные вопросы