12-01-2016 04:15 AM
Hi ,
How to show my custom workflow definition in a dropdown of of Select workflows only for specific site?
I want that custom workflow definition must not appear on any other Start Workflow's page of any other site but only on specific site.
If anybody has ever implemented the solution then Please reply .
Thanks in advance#
12-01-2016 09:13 AM
Hello.
Share has a special configuration section only for this kind of configuration.
It's something like this:
<config condition="Workflow" evaluator="string-compare">
<hidden-workflows>
<workflow name="activiti$workflowId"></workflow>
</hidden-workflows>
</config>
You have to put that inside share-config-custom.xml
The problem with this method is that it will be applied for all the sites.
In order to have this working selectively, you will have to use the extension modules configuration, as explained here Module dynamic configuration | Alfresco Documentation
12-02-2016 11:22 AM
Hello ,
Hiding of workflows through share-config-custom.xml for general it already worked for me.
Thanks to DOUGLAS ,Issue was for specific site that get resolved by Using Surf Extension Modules
as explained here Module dynamic configuration | Alfresco Documentatio or you can find solution below
Extension modules are defined in form of Xml file .Create an Xml file under alfresco/web-extension/site-data/extensions directory as shown below
<extension>
<modules>
<module>
<id>Site_Conditional_Workflow</id>
<description>Applies config based on site id</description>
<evaluator type="site.module.evaluator">
<params>
<sites>url of your own site</sites>
<sitePresets>.*</sitePresets>
</params>
</evaluator>
<configurations>
<config evaluator="string-compare" condition="Workflow" replace="true">
<!-- A list of workflow definitions that are NOT displayed in Share -->
<hidden-workflows>
<!-- Hide all WCM related workflows -->
<workflow name="activiti$activitiAdhoc" />
<workflow name="activiti$activitiInvitationModerated" />
<workflow name="activiti$activitiInvitationNominated" />
<workflow name="activiti$activitiInvitationNominatedAddDirect" />
<workflow name="activiti$activitiParallelGroupReview" />
<workflow name="activiti$activitiParallelReview" />
<workflow name="activiti$activitiReview" />
<workflow name="activiti$activitiReviewPooled" />
<workflow name="activiti$dlMgmt" />
<workflow name="activiti$helloWorldUI" />
<workflow name="activiti$myProcess" />
<workflow name="activiti$myTest" />
<workflow name="activiti$publishWebContent" />
</hidden-workflows>
<!-- A list of workflow tasks that are NOT displayed in Share -->
<hidden-tasks>
<!-- Hide all WCM related tasks -->
<task type="wcmwf:*" />
</hidden-tasks>
</config>
</configurations>
</module>
</modules>
</extension>
You have to give the url of your own site in the parameters of evaluator and whichever workflows you want to hide from your site give those.
then deploy this module through url http://localhost:8080/share/page/modules/deploy and then check out the result .
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.