<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: UserTask + ServiceTask in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/usertask-servicetask/m-p/173045#M126222</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Sure, you would need to implement a custom ActivitiBehaviour and use it as a service task. The behaviour should mimic the user task ActivityBehaviour and add the extra logic afterwards. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Yes, adding to the palette in the Eclipse designer is possible.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 09 Dec 2013 08:59:52 GMT</pubDate>
    <dc:creator>jbarrez</dc:creator>
    <dc:date>2013-12-09T08:59:52Z</dc:date>
    <item>
      <title>UserTask + ServiceTask</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/usertask-servicetask/m-p/173044#M126221</link>
      <description>Hi dear Activiti membersI'm searching for a way to solve one of my problem.I would love to create a task that would be a mix of a userTask and a serviceTaskIn fact I want to find a solution to let my workflow ask some parameters to the user with an interface and, when the parameters are in and the u</description>
      <pubDate>Fri, 06 Dec 2013 12:52:18 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/usertask-servicetask/m-p/173044#M126221</guid>
      <dc:creator>vire7777</dc:creator>
      <dc:date>2013-12-06T12:52:18Z</dc:date>
    </item>
    <item>
      <title>Re: UserTask + ServiceTask</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/usertask-servicetask/m-p/173045#M126222</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Sure, you would need to implement a custom ActivitiBehaviour and use it as a service task. The behaviour should mimic the user task ActivityBehaviour and add the extra logic afterwards. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Yes, adding to the palette in the Eclipse designer is possible.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 09 Dec 2013 08:59:52 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/usertask-servicetask/m-p/173045#M126222</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2013-12-09T08:59:52Z</dc:date>
    </item>
    <item>
      <title>Re: UserTask + ServiceTask</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/usertask-servicetask/m-p/173046#M126223</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Where can i find a documentation about it ? Because i find no clue about ActivitiBehaviour or custom ActivitiBehaviour in the userguide…&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I mean, how to create some in my palette as every components have to implements AbstractCustomServiceTask ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Could you give me an example ?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 17 Dec 2013 14:55:32 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/usertask-servicetask/m-p/173046#M126223</guid>
      <dc:creator>vire7777</dc:creator>
      <dc:date>2013-12-17T14:55:32Z</dc:date>
    </item>
    <item>
      <title>Re: UserTask + ServiceTask</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/usertask-servicetask/m-p/173047#M126224</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The user guide does not document it, cause for 99% of the people it is not a use case they need.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The userguide does mention it:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[INTERNAL: non-public implementation classes] It is also possible to provide a class that implements the org.activiti.engine.impl.pvm.delegate.ActivityBehavior interface. Implementations have then access to the more powerful ActivityExecution that for example also allows to influence the control flow of the process. Note however that this is not a very good practice, and should be avoided as much as possible. So, it is advised to use the ActivityBehavior interface only for advanced use cases and if you know exactly what you're doing.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Activiti is open source. Open up for example the UserTaskActivityBehaviour to see how it can be done. &lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Dec 2013 09:41:16 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/usertask-servicetask/m-p/173047#M126224</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2013-12-18T09:41:16Z</dc:date>
    </item>
    <item>
      <title>Re: UserTask + ServiceTask</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/usertask-servicetask/m-p/173048#M126225</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Ok thanks a lot&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I ll try it&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But maybe i ll need your help as i m not an "advanced" activiti and java user ^^&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;So this advice is so important for me :&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;"Note however that this is not a very good practice, and should be avoided as much as possible. So, it is advised to use the ActivityBehavior interface only for advanced use cases and if you know exactly what you're doing."&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Dec 2013 10:36:51 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/usertask-servicetask/m-p/173048#M126225</guid>
      <dc:creator>vire7777</dc:creator>
      <dc:date>2013-12-18T10:36:51Z</dc:date>
    </item>
    <item>
      <title>Re: UserTask + ServiceTask</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/usertask-servicetask/m-p/173049#M126226</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The reason that those lines are in the userguide is because basically when you use that interface (instead of the regular JavaDelegate), you've got access to all the internals of the engine. You can do cool stuff with it, but you can also break your process if you don't know what you're doing.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In reality, it'll be ok. Simply let you inspire by all the ones that are shipped in the Activiti code. And if you're stuck somewhere, come back here with your questions.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Dec 2013 08:55:31 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/usertask-servicetask/m-p/173049#M126226</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2013-12-19T08:55:31Z</dc:date>
    </item>
    <item>
      <title>Re: UserTask + ServiceTask</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/usertask-servicetask/m-p/173050#M126227</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I'll try it&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;i m downloading the last Activiti version to see the sources and have a look to UserTaskActivityBehaviour &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for your support and if i have question, be sure i ll come back ^^&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Dec 2013 09:15:07 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/usertask-servicetask/m-p/173050#M126227</guid>
      <dc:creator>vire7777</dc:creator>
      <dc:date>2013-12-19T09:15:07Z</dc:date>
    </item>
    <item>
      <title>Re: UserTask + ServiceTask</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/usertask-servicetask/m-p/173051#M126228</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I tried something like this&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;As i want a mix between the two tasks usertask and servicetask i just copy the servicetask code to implement it after th usertask :&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;package com.effisoft.designer.tasks;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.activiti.engine.delegate.DelegateExecution;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.activiti.engine.delegate.ExecutionListener;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.activiti.engine.delegate.JavaDelegate;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.activiti.engine.impl.bpmn.behavior.UserTaskActivityBehavior;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.activiti.engine.impl.context.Context;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.activiti.engine.impl.delegate.JavaDelegateInvocation;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.activiti.engine.impl.el.ExpressionManager;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.activiti.engine.impl.pvm.delegate.ActivityBehavior;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.activiti.engine.impl.pvm.delegate.ActivityExecution;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;import org.activiti.engine.impl.task.TaskDefinition;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/**&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * activity implementation for the user/service task.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * @author Vivien René&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;public class EffiTaskActivityBehavior extends UserTaskActivityBehavior implements ActivityBehavior, ExecutionListener {&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; protected TaskDefinition taskDefinition;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; protected JavaDelegate javaDelegate;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; public EffiTaskActivityBehavior(ExpressionManager expressionManager, TaskDefinition taskDefinition) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; super(expressionManager, taskDefinition);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; public EffiTaskActivityBehavior(ExpressionManager expressionManager, TaskDefinition taskDefinition, JavaDelegate javaDelegate) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; super(expressionManager, taskDefinition);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; this.javaDelegate = javaDelegate;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; public void execute(ActivityExecution execution) throws Exception {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; execute(execution);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; execute((DelegateExecution) execution);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; leave(execution);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; public void signal(ActivityExecution execution, String signalName, Object signalData) throws Exception {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; leave(execution);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; public void notify(DelegateExecution execution) throws Exception {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; execute((DelegateExecution) execution);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; public void execute(DelegateExecution execution) throws Exception {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Context.getProcessEngineConfiguration().getDelegateInterceptor().handleInvocation(new JavaDelegateInvocation(javaDelegate, execution));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In addition a little question :&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Is it Activiti or Activity ? &lt;img id="smileytongue" class="emoticon emoticon-smileytongue" src="https://connect.hyland.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Dec 2013 10:02:45 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/usertask-servicetask/m-p/173051#M126228</guid>
      <dc:creator>vire7777</dc:creator>
      <dc:date>2013-12-19T10:02:45Z</dc:date>
    </item>
    <item>
      <title>Re: UserTask + ServiceTask</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/usertask-servicetask/m-p/173052#M126229</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;It sure is Activiti &lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Activity is used internally as it is a BPMN concept for a step in the process.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And yes, this is one way to do it. Probably the more 'clean' Java approach would be to use composition instead inheritance (ie have both the UserTaskActivityBehaviour and the ServiceTaskActivityBehaviour as members - but thats nitpicking).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But the most important thing: does it do what you expected it to do?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Dec 2013 08:29:37 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/usertask-servicetask/m-p/173052#M126229</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2013-12-20T08:29:37Z</dc:date>
    </item>
    <item>
      <title>Re: UserTask + ServiceTask</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/usertask-servicetask/m-p/173053#M126230</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;1) About the palette&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I really don't know if that does what i want because i don t know how to put this in the palette and test it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Normally it would as i want a component which is both a human and service task.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Before my classes inherited AbstractCustomServiceTask and i had all to create a new element in the palette as &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- getName&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- contributeToPaletteDrawer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- getSmallIconPath&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- etc…&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Maybe i have to implement the interface CustomServiceTask with the same methods like in AbstractCustomServiceTask&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But with this system, i realy don t know how to do to it in the designer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2) About the best implementation method&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;In addition, about what you told, how can you have both the UserTaskActivityBehaviour and the ServiceTaskActivityBehaviour as members ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Because if my remembers are good, java has no multiple inheritance, hasn t it ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;In all cases, thanks a lot for your time as it helps me a lot &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Dec 2013 09:41:55 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/usertask-servicetask/m-p/173053#M126230</guid>
      <dc:creator>vire7777</dc:creator>
      <dc:date>2013-12-20T09:41:55Z</dc:date>
    </item>
    <item>
      <title>Re: UserTask + ServiceTask</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/usertask-servicetask/m-p/173054#M126231</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;No Java, doesn't have multiple inheritance. What I mean you have two fields, like the javadelegate field you now have. But dont worry about it, it's only a suggestion.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Now, to customize the palette, thats quite a different beast, which is described here: &lt;/SPAN&gt;&lt;A href="http://activiti.org/userguide/index.html#eclipseDesignerCustomizingPalette" rel="nofollow noopener noreferrer"&gt;http://activiti.org/userguide/index.html#eclipseDesignerCustomizingPalette&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Dec 2013 09:48:56 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/usertask-servicetask/m-p/173054#M126231</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2013-12-20T09:48:56Z</dc:date>
    </item>
    <item>
      <title>Re: UserTask + ServiceTask</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/usertask-servicetask/m-p/173055#M126232</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Yes i did it first with my last classes extending AbstractCustomServiceTask &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But with the new one, i tried it but without success… i can t see it in the palette&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here my new Abstract class code :&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;public abstract class EffiTaskActivitiBehavior extends UserTaskActivityBehavior implements CustomServiceTask, ActivityBehavior, ExecutionListener {&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; protected TaskDefinition taskDefinition;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; protected JavaDelegate javaDelegate;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; private static final String DEFAULT_EXTENSIONS_DRAWER_NAME = "Extensions";&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; public String contributeToPaletteDrawer() {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return DEFAULT_EXTENSIONS_DRAWER_NAME;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; public final String getId() {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return getClass().getCanonicalName();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; public final DelegateType getDelegateType() {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return getDelegateType(getRuntimeAnnotation());&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; private DelegateType getDelegateType(final Runtime annotation) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; DelegateType result = DelegateType.NONE;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; if (annotation != null) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; if (isDelegateDefined(annotation.javaDelegateClass())) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = DelegateType.JAVA_DELEGATE_CLASS;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; } else if (isDelegateDefined(annotation.expression())) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = DelegateType.EXPRESSION;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; } else if (isDelegateDefined(annotation.javaDelegateExpression())) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = DelegateType.JAVA_DELEGATE_EXPRESSION;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return result;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; private boolean isDelegateDefined(final String definition) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return definition != null &amp;amp;&amp;amp; !definition.isEmpty() &amp;amp;&amp;amp; !"".equals(definition);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; public final String getDelegateSpecification() {&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; String result = "";&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; final DelegateType delegateType = getDelegateType();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; if (!DelegateType.NONE.equals(delegateType)) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; Runtime runtimeAnnotation = getRuntimeAnnotation();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; if (runtimeAnnotation != null) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch (delegateType) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; case JAVA_DELEGATE_CLASS:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = runtimeAnnotation.javaDelegateClass();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; case EXPRESSION:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = runtimeAnnotation.expression();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; case JAVA_DELEGATE_EXPRESSION:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = runtimeAnnotation.javaDelegateExpression();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; default:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return result;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; private Runtime getRuntimeAnnotation() {&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Runtime result = null;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; final Annotation annotation = this.getClass().getAnnotation(Runtime.class);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; if (annotation != null &amp;amp;&amp;amp; Runtime.class.isAssignableFrom(annotation.getClass())) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; result = ((Runtime) annotation);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return result;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; public abstract String getName();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; public String getDescription() {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return getName();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; public String getSmallIconPath() {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return null;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; public String getLargeIconPath() {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return getSmallIconPath();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; public String getShapeIconPath() {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return getSmallIconPath();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; public DiagramBaseShape getDiagramBaseShape() {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return DiagramBaseShape.ACTIVITY;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; public Integer getOrder() {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; @SuppressWarnings("rawtypes")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; public String toString() {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; StringBuilder builder = new StringBuilder();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; final Class clazz = this.getClass();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; final Field[] fields = clazz.getDeclaredFields();&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; builder.append("Custom Service Task ").append(this.getClass().getSimpleName()).append("\n\tID:\t").append(this.getId()).append("\n\tProvider class:\t").append(this.getClass().getCanonicalName()).append("\n\tPalette drawer:\t").append(contributeToPaletteDrawer()).append("\n\tProperties:\n");&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; for (final Field field : fields) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; final Annotation[] annotations = field.getAnnotations();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; for (final Annotation annotation : annotations) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (annotation instanceof Property) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; builder.append("\t\t").append(field.getName()).append(" (").append(((Property) annotation).type().name()).append(")\n");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; boolean hierarchyOpen = true;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Class currentClass = clazz;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; while (hierarchyOpen) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; currentClass = currentClass.getSuperclass();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; if (CustomServiceTask.class.isAssignableFrom(currentClass)) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (Field currentSuperclassField : currentClass.getDeclaredFields()) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; final Annotation[] currentSuperclassFieldAnnotations = currentSuperclassField.getAnnotations();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (final Annotation currentSuperclassFieldAnnotation : currentSuperclassFieldAnnotations) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (currentSuperclassFieldAnnotation instanceof Property) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; builder.append("\t\t").append(currentSuperclassField.getName()).append(" (").append(((Property) currentSuperclassFieldAnnotation).type().name()).append(") (inherited from ").append(currentClass.getSimpleName()).append(")\n");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; } else {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; hierarchyOpen = false;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return builder.toString();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; public EffiTaskActivitiBehavior(ExpressionManager expressionManager, TaskDefinition taskDefinition) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; super(expressionManager, taskDefinition);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; public EffiTaskActivitiBehavior(ExpressionManager expressionManager, TaskDefinition taskDefinition, JavaDelegate javaDelegate) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; super(expressionManager, taskDefinition);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; this.javaDelegate = javaDelegate;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; public void execute(ActivityExecution execution) throws Exception {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; execute(execution);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; execute((DelegateExecution) execution);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; leave(execution);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; public void signal(ActivityExecution execution, String signalName, Object signalData) throws Exception {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; leave(execution);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; public void notify(DelegateExecution execution) throws Exception {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; execute((DelegateExecution) execution);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; public void execute(DelegateExecution execution) throws Exception {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; Context.getProcessEngineConfiguration().getDelegateInterceptor().handleInvocation(new JavaDelegateInvocation(javaDelegate, execution));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And here my class code i want to see in the palette :&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;@Help(displayHelpShort = "Send a new mail to the different owners")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;@Runtime(javaDelegateClass = "com.effisoft.orion.fw.workflow.MailTask2")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;public class MailTask2 extends EffiTaskActivitiBehavior {&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; public MailTask2(ExpressionManager expressionManager, TaskDefinition taskDefinition) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; super(expressionManager, taskDefinition);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; public MailTask2(ExpressionManager expressionManager, TaskDefinition taskDefinition, JavaDelegate javaDelegate) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; super(expressionManager, taskDefinition, javaDelegate);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; @Property(type = PropertyType.TEXT, displayName = "Recipient List", required = true)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; private String recipients;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; @Property(type = PropertyType.TEXT, displayName = "Subject", required = true)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; private String subject;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; @Property(type = PropertyType.TEXT, displayName = "Body", required = true)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; private String body;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; @Property(type = PropertyType.TEXT, displayName = "Attachment List")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; private String attachments;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; @Override&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; public String getName() {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return "MailTask2";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; @Override&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; public String contributeToPaletteDrawer() {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return "Effisoft Corporation";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; @Override&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; public String getSmallIconPath() {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return "icons/icon.gif";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;lt;/code&amp;gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Can you tell me where i m wrong ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I just want to create an example to work with and implement my own class then&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Dec 2013 13:51:10 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/usertask-servicetask/m-p/173055#M126232</guid>
      <dc:creator>vire7777</dc:creator>
      <dc:date>2013-12-20T13:51:10Z</dc:date>
    </item>
    <item>
      <title>Re: UserTask + ServiceTask</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/usertask-servicetask/m-p/173056#M126233</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Well i try to create the same than the human task just by copying the activiti code and i can t see it in the palette too…&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Seems really strange. I think i miss something.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Dec 2013 08:39:18 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/usertask-servicetask/m-p/173056#M126233</guid>
      <dc:creator>vire7777</dc:creator>
      <dc:date>2013-12-30T08:39:18Z</dc:date>
    </item>
  </channel>
</rss>

