I'm working with Liferay Workflow and I've got a problem. The workflow goes this way: the user submits an asset and when the reviewer approves it, a notification is sent to the author. If the user opens the notification, there will be an option to assign the next workflow task to himself. But the user has not the responsible role to do this. It happens only at notifications, if the user goes to My account > My workflow tasks, there will be nothing assigned to him or his roles.
Any ideas how to solve it? Thanks in advance!
this is some code from a working workflow where the "asset creator" does not need to assign the task to himself. I think you need to put in the assignment, "user" reflects to the asset creator.
<task>
<name>update</name>
<metadata><![CDATA[{"xy":[160,208],"transitions":{"resubmit":{"bendpoints":[[178,171]]},"Submit changes":{"xy":[-18,2],"bendpoints":[[178,171]]}}}]]></metadata>
<actions>
<notification>
<name>update notification</name>
<template>${taskComments}</template>
<template-language>freemarker</template-language>
<notification-type>user-notification</notification-type>
<recipients>
<user/>
</recipients>
<execution-type>onEntry</execution-type>
</notification>
<notification>
<name>update email notification</name>
<description>Update required</description>
<template>Dear ${userName}<br></template>
<template-language>freemarker</template-language>
<notification-type>email</notification-type>
<recipients>
<user/>
</recipients>
<execution-type>onEntry</execution-type>
</notification>
</actions>
<assignments>
<user></user>
</assignments>
<task-timers>
<task-timer>
<name>default-assignment</name>
<delay>
<duration>1</duration>
<scale>minute</scale>
</delay>
<blocking>true</blocking>
<timer-actions>
<timer-notification>
<name>reminder update</name>
<description>Reminder: update needed</description>
<template>Dear ${userName}<br></template>
<template-language>freemarker</template-language>
<notification-type>email</notification-type>
</timer-notification>
<reassignments>
<user></user>
</reassignments>
</timer-actions>
</task-timer>
</task-timers>
<transitions>
<transition>
<name>submit changes</name>
<target>review</target>
</transition>
</transitions>
</task>
Related
Docusign Connect appears to be sending us a duplicate envelope event for the Auto Responded event.
The flow seems to go like this:
AutoResponded event comes through (with no reason attached) indicating to users there is a problem
I now go into the Docusign console, fix the email and 're-send' the envelope
Sent event comes through
AutoResponded event comes through again with reason attached even though envelope was successfully sent
Question:
Why is the second AutoResponded event being sent and how do I stop it? It seems like a bug!
Here are the XML logs:
1. the first AutoResponded event is sent:
<?xml version="1.0" encoding="utf-8"?>
<DocuSignEnvelopeInformation
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.docusign.net/API/3.0">
<EnvelopeStatus>
<RecipientStatuses>
<RecipientStatus>
<Type>Signer</Type>
<Email>bad_email#gmail.com</Email>
<UserName>Agent Sign</UserName>
<RoutingOrder>1</RoutingOrder>
<Sent>2020-04-29T12:18:27.73</Sent>
<DeclineReason xsi:nil="true" />
<AutoRespondedReason />
<Status>AutoResponded</Status>
<RecipientIPAddress />
<AccountStatus>Active</AccountStatus>
<RecipientId>5c0a8b5a-29e6-4202-a2cb-3c1ee8a5dabd</RecipientId>
</RecipientStatus>
</RecipientStatuses>
<TimeGenerated>2020-04-29T12:18:28.8995763</TimeGenerated>
<EnvelopeID>e8a9f23a-e49d-4f51-b960-3e80d20c11b3</EnvelopeID>
<Subject>A subject</Subject>
<UserName>My Account</UserName>
<Email>my_email</Email>
<Status>Sent</Status>
<Created>2020-04-29T12:18:26.123</Created>
<Sent>2020-04-29T12:18:28.23</Sent>
<ACStatus>Original</ACStatus>
<ACStatusDate>2020-04-29T12:18:26.123</ACStatusDate>
<ACHolder>My account</ACHolder>
<ACHolderEmail>my_email</ACHolderEmail>
<ACHolderLocation>DocuSign</ACHolderLocation>
<SigningLocation>Online</SigningLocation>
<SenderIPAddress>52**** </SenderIPAddress>
<EnvelopePDFHash />
<AutoNavigation>true</AutoNavigation>
<EnvelopeIdStamping>true</EnvelopeIdStamping>
<AuthoritativeCopy>false</AuthoritativeCopy>
<DocumentStatuses>
<DocumentStatus>
<ID>1</ID>
<Name>My document</Name>
<TemplateName />
<Sequence>1</Sequence>
</DocumentStatus>
</DocumentStatuses>
</EnvelopeStatus>
<TimeZone>GMT Standard Time</TimeZone>
<TimeZoneOffset>1</TimeZoneOffset>
</DocuSignEnvelopeInformation>
2. After manually fixing email address and resending, the Sent event is sent:
<?xml version="1.0" encoding="utf-8"?>
<DocuSignEnvelopeInformation
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.docusign.net/API/3.0">
<EnvelopeStatus>
<RecipientStatuses>
<RecipientStatus>
<Type>Signer</Type>
<Email>good_email#gmail.com</Email>
<UserName>Agent Sign</UserName>
<RoutingOrder>1</RoutingOrder>
<Sent>2020-04-29T12:20:03.667</Sent>
<DeclineReason />
<Status>Sent</Status>
<RecipientIPAddress />
<AccountStatus>Active</AccountStatus>
<RecipientId>5c0a8b5a-29e6-4202-a2cb-3c1ee8a5dabd</RecipientId>
</RecipientStatus>
</RecipientStatuses>
<TimeGenerated>2020-04-29T12:20:03.8080578</TimeGenerated>
<EnvelopeID>e8a9f23a-e49d-4f51-b960-3e80d20c11b3</EnvelopeID>
<Subject>A subject</Subject>
<UserName>My Account</UserName>
<Email>my_email</Email>
<Status>Sent</Status>
<Created>2020-04-29T12:18:26.123</Created>
<Sent>2020-04-29T12:18:28.23</Sent>
<ACStatus>Original</ACStatus>
<ACStatusDate>2020-04-29T12:18:26.123</ACStatusDate>
<ACHolder>My account</ACHolder>
<ACHolderEmail>my_email</ACHolderEmail>
<ACHolderLocation>DocuSign</ACHolderLocation>
<SigningLocation>Online</SigningLocation>
<SenderIPAddress>52*** </SenderIPAddress>
<EnvelopePDFHash />
<AutoNavigation>true</AutoNavigation>
<EnvelopeIdStamping>true</EnvelopeIdStamping>
<AuthoritativeCopy>false</AuthoritativeCopy>
<DocumentStatuses>
<DocumentStatus>
<ID>1</ID>
<Name>My document</Name>
<TemplateName />
<Sequence>1</Sequence>
</DocumentStatus>
</DocumentStatuses>
</EnvelopeStatus>
<TimeZone>GMT Standard Time</TimeZone>
<TimeZoneOffset>1</TimeZoneOffset>
</DocuSignEnvelopeInformation>
3. Immediately after a second AutoResponded event is sent:
<?xml version="1.0" encoding="utf-8"?>
<DocuSignEnvelopeInformation
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.docusign.net/API/3.0">
<EnvelopeStatus>
<RecipientStatuses>
<RecipientStatus>
<Type>Signer</Type>
<Email>good_email#gmail.com</Email>
<UserName>Agent Sign</UserName>
<RoutingOrder>1</RoutingOrder>
<Sent>2020-04-29T12:20:03.667</Sent>
<DeclineReason />
<AutoRespondedReason>
<![CDATA[smtp; 550-5.1.1 The email account that you tried to reach does not exist. Please try 550-5.1.1 double-checking the recipient's email address for typos or 550-5.1.1 unnecessary spaces. Learn more at 550 5.1.1 https://support.google.com/mail/?p=NoSuchUser r18si2079394ilc.128 - gsmtp]]>
</AutoRespondedReason>
<Status>AutoResponded</Status>
<RecipientIPAddress />
<AccountStatus>Active</AccountStatus>
<RecipientId>5c0a8b5a-29e6-4202-a2cb-3c1ee8a5dabd</RecipientId>
</RecipientStatus>
</RecipientStatuses>
<TimeGenerated>2020-04-29T12:20:05.0110985</TimeGenerated>
<EnvelopeID>e8a9f23a-e49d-4f51-b960-3e80d20c11b3</EnvelopeID>
<Subject>A subject</Subject>
<UserName>My account</UserName>
<Email>my_email</Email>
<Status>Sent</Status>
<Created>2020-04-29T12:18:26.123</Created>
<Sent>2020-04-29T12:20:03.933</Sent>
<ACStatus>Original</ACStatus>
<ACStatusDate>2020-04-29T12:18:26.123</ACStatusDate>
<ACHolder>My account</ACHolder>
<ACHolderEmail>my_email</ACHolderEmail>
<ACHolderLocation>DocuSign</ACHolderLocation>
<SigningLocation>Online</SigningLocation>
<SenderIPAddress>52.**** </SenderIPAddress>
<EnvelopePDFHash />
<AutoNavigation>true</AutoNavigation>
<EnvelopeIdStamping>true</EnvelopeIdStamping>
<AuthoritativeCopy>false</AuthoritativeCopy>
<DocumentStatuses>
<DocumentStatus>
<ID>1</ID>
<Name>document_name</Name>
<TemplateName />
<Sequence>1</Sequence>
</DocumentStatus>
</DocumentStatuses>
</EnvelopeStatus>
<TimeZone>GMT Standard Time</TimeZone>
<TimeZoneOffset>1</TimeZoneOffset>
</DocuSignEnvelopeInformation>
And here is the configuration:
This may be a bug, but the bug is not that you got two AutoResponded messages. That is actually normal in some cases. If the SMTP server takes time to give the reason, but DocuSign already knows the email was not delivered, then the second one is sent to give you the reason which DocuSign only knows later. The first one is sent quickly so you can know as soon as possible that it wasn't delivered, even if no reason is provided.
Now, the bug here may be that the second one already updated the email address as it's coming from an internal database, but the bounce was for a different email address.
I can file a bug on this and ask someone to investigate and fix, if you want, but in the interim I suggest you change your logic of your app. If you got the "sent" notification for a specific recipientID - you can ignore any AutoResponded messages for the same recipient.
Hope this helps.
Is that possible to define a security role that is not able to delete any invoice but able to delete invoiceproduct of any invoice?
The environment is not customized, and the definition( Tab:Mscrm.Form.invoicedetail.MainTab-->Group:Mscrm.Form.invoicedetail.MainTab.Groups-->Group:Mscrm.Form.invoicedetail.MainTab.Save-->Controls:Mscrm.Form.invoicedetail.MainTab.Save.Controls) for the ribbon button is
<Button Id="Mscrm.Form.invoicedetail.Delete" ToolTipTitle="$Resources:Mscrm_Form_Other_MainTab_Management_Delete_ToolTipTitle" ToolTipDescription="$Resources(EntityDisplayName):Ribbon.Form.Tooltip.Delete" Command="Mscrm.DeletePrimaryRecord" Sequence="70" LabelText="$Resources:Ribbon.HomepageGrid.MainTab.Management.Delete" Alt="$Resources:Ribbon.HomepageGrid.MainTab.Management.Delete" Image16by16="/_imgs/ribbon/Delete_16.png" Image32by32="/_imgs/Workplace/remove_32.png" TemplateAlias="o2" ModernImage="Remove" />
And the corresponding Command Definition is
<CommandDefinition Id="Mscrm.DeletePrimaryRecord">
<EnableRules>
<EnableRule Id="Mscrm.FormStateNotNew" />
<EnableRule Id="Mscrm.EntityFormIsEnabled" />
<EnableRule Id="Mscrm.CanDeletePrimary" />
</EnableRules>
<DisplayRules>
<DisplayRule Id="Mscrm.DeletePrimaryEntityPermission" />
</DisplayRules>
<Actions>
<JavaScriptFunction FunctionName="onActionMenuClick" Library="/_static/_forms/form.js">
<StringParameter Value="delete" />
<CrmParameter Value="PrimaryEntityTypeCode" />
</JavaScriptFunction>
</Actions>
</CommandDefinition>
It seems it is not able to create such a role meet the requirement.
because
1. In the 'displayrule' section, it needs 'Mscrm.DeletePrimaryEntityPermission' permission.
2. In the 'enablerule' section, it needs 'CanDeletePrimary' permission.
Thanks in advance
I believe that's not possible using OOB functions. I would suggest to develop the plugin that will handle Delete message of invoiceproduct and throw an exception if user doesn't have required role.
Receiving INVALID_EMAIL_ADDRESS_FOR_RECIPIENT on few out of 130 templates. Here is the two JSON requests sent to DocuSign REST API v2:
{"status":"sent","emailBlurb":"","emailSubject":"Please DocuSign this document: blah blah blah",
"templateId":"308B68BB-85B7-42A0-8D11-7DF84F485681",
"customFields":{"textCustomFields":[{"name":"TAMID","value":"XXXXXXX"}]},
"templateRoles":[{"email":"dsmith16#answerfinancial.com","name":"Melinda Nelson","roleName":"Client"}]}
{"status":"sent","emailBlurb":"","emailSubject":"Please DocuSign this document: blah blah blah",
"templateId":"99EAF489-FA43-4943-A5EE-530D5888D078",
"customFields":{"textCustomFields":[{"name":"TAMID","value":"XXXXXXX"}]},
"templateRoles":[{"email":"dsmith16#answerfinancial.com","name":"Melinda Nelson","roleName":"Client"}]}
The first one returns INVALID_EMAIL_ADDRESS_FOR_RECIPIENT error code, while the second one is properly "sent". I looked at the templates and they seem identical besides the content of the document itself. Anyone have experienced similar problems, have solution? Any help is appreciated.
Here are two almost identical template XMLs. The one with "(Bad Code)" in the name returns error 100% of the time. PDFBytes node contents removed.
<?xml version="1.0" encoding="utf-8"?>
<EnvelopeTemplate xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.docusign.net/API/3.0">
<EnvelopeTemplateDefinition>
<TemplateID>3fb25b02-eabc-49c1-b904-3d04a3601abd</TemplateID>
<Name>MO 100 Producer Service Agreement (Bad Code)</Name>
<Shared>true</Shared>
<TemplatePassword/>
<TemplateDescription>MO 100 Producer Service Agreement</TemplateDescription>
<LastModified>2014-01-08T22:21:09.813</LastModified>
<PageCount>1</PageCount>
</EnvelopeTemplateDefinition>
<Envelope>
<AccountId>736c1f32-6c73-4798-b67b-de3f6a1a61bc</AccountId>
<Documents>
<Document>
<ID>1</ID>
<Name>MO_100_R_Producer Service Agreement.pdf</Name>
<PDFBytes/>
</Document>
</Documents>
<Recipients>
<Recipient>
<ID>1</ID>
<UserName/>
<Email/>
<Type>Signer</Type>
<AccessCode/>
<RequireIDLookup>false</RequireIDLookup>
<SAMLAuthentication>
<SAMLAttributes/>
</SAMLAuthentication>
<RoutingOrder>1</RoutingOrder>
<Note/>
<RoleName>Client </RoleName>
<TemplateLocked>true</TemplateLocked>
<TemplateRequired>true</TemplateRequired>
<SignInEachLocation>false</SignInEachLocation>
</Recipient>
</Recipients>
<Tabs>
<Tab>
<DocumentID>1</DocumentID>
<RecipientID>1</RecipientID>
<PageNumber>1</PageNumber>
<XPosition>136</XPosition>
<YPosition>519</YPosition>
<ScaleValue>1</ScaleValue>
<Type>SignHere</Type>
<Name>Sign Here</Name>
<TabLabel>Signature 1</TabLabel>
<Value/>
<TemplateLocked>false</TemplateLocked>
<TemplateRequired>false</TemplateRequired>
<Bold>false</Bold>
<Italic>false</Italic>
<Underline>false</Underline>
</Tab>
<Tab>
<DocumentID>1</DocumentID>
<RecipientID>1</RecipientID>
<PageNumber>1</PageNumber>
<XPosition>120</XPosition>
<YPosition>608</YPosition>
<ScaleValue>1</ScaleValue>
<Type>DateSigned</Type>
<Name>Date Signed</Name>
<TabLabel>Date Signed</TabLabel>
<Value/>
<TemplateLocked>false</TemplateLocked>
<TemplateRequired>false</TemplateRequired>
<Bold>false</Bold>
<Italic>false</Italic>
<Underline>false</Underline>
</Tab>
</Tabs>
<Subject>Please DocuSign this document: Producer Service Agreement MO</Subject>
<EmailBlurb/>
<SigningLocation>Online</SigningLocation>
<CustomFields>
<CustomField>
<Name>TAMID</Name>
<Show>True</Show>
<Required>True</Required>
<Value/>
</CustomField>
</CustomFields>
<AutoNavigation>true</AutoNavigation>
<EnvelopeIdStamping>true</EnvelopeIdStamping>
<AuthoritativeCopy>false</AuthoritativeCopy>
<Notification>
<Reminders>
<ReminderEnabled>false</ReminderEnabled>
<ReminderDelay>0</ReminderDelay>
<ReminderFrequency>0</ReminderFrequency>
</Reminders>
<Expirations>
<ExpireEnabled>true</ExpireEnabled>
<ExpireAfter>120</ExpireAfter>
<ExpireWarn>0</ExpireWarn>
</Expirations>
</Notification>
<EnforceSignerVisibility>false</EnforceSignerVisibility>
<EnableWetSign>true</EnableWetSign>
<AllowMarkup>false</AllowMarkup>
<AllowReassign>true</AllowReassign>
</Envelope>
<?xml version="1.0" encoding="utf-8"?>
<EnvelopeTemplate xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.docusign.net/API/3.0">
<EnvelopeTemplateDefinition>
<TemplateID>f8dba6af-5875-4a81-887a-28096b876c5c</TemplateID>
<Name>MO 100 Producer Service Agreement</Name>
<Shared>true</Shared>
<TemplatePassword/>
<TemplateDescription>MO 100 Producer Service Agreement</TemplateDescription>
<LastModified>2014-01-08T22:23:50.34</LastModified>
<PageCount>1</PageCount>
</EnvelopeTemplateDefinition>
<Envelope>
<AccountId>736c1f32-6c73-4798-b67b-de3f6a1a61bc</AccountId>
<Documents>
<Document>
<ID>1</ID>
<Name>MO_100_R_Producer Service Agreement.pdf</Name>
<PDFBytes/>
</Document>
</Documents>
<Recipients>
<Recipient>
<ID>1</ID>
<UserName/>
<Email/>
<Type>Signer</Type>
<AccessCode/>
<RequireIDLookup>false</RequireIDLookup>
<SAMLAuthentication>
<SAMLAttributes/>
</SAMLAuthentication>
<RoutingOrder>1</RoutingOrder>
<Note/>
<RoleName>Client</RoleName>
<TemplateLocked>true</TemplateLocked>
<TemplateRequired>true</TemplateRequired>
<SignInEachLocation>false</SignInEachLocation>
</Recipient>
</Recipients>
<Tabs>
<Tab>
<DocumentID>1</DocumentID>
<RecipientID>1</RecipientID>
<PageNumber>1</PageNumber>
<XPosition>137</XPosition>
<YPosition>519</YPosition>
<ScaleValue>1</ScaleValue>
<Type>SignHere</Type>
<Name>Sign Here</Name>
<TabLabel>Signature 1</TabLabel>
<Value/>
<TemplateLocked>false</TemplateLocked>
<TemplateRequired>false</TemplateRequired>
<Bold>false</Bold>
<Italic>false</Italic>
<Underline>false</Underline>
</Tab>
<Tab>
<DocumentID>1</DocumentID>
<RecipientID>1</RecipientID>
<PageNumber>1</PageNumber>
<XPosition>120</XPosition>
<YPosition>609</YPosition>
<ScaleValue>1</ScaleValue>
<Type>DateSigned</Type>
<Name>Date Signed</Name>
<TabLabel>Date Signed</TabLabel>
<Value/>
<TemplateLocked>false</TemplateLocked>
<TemplateRequired>false</TemplateRequired>
<Bold>false</Bold>
<Italic>false</Italic>
<Underline>false</Underline>
</Tab>
</Tabs>
<Subject>Please DocuSign this document: MO_100_R_Producer Service Agreement.pdf</Subject>
<EmailBlurb/>
<SigningLocation>Online</SigningLocation>
<CustomFields>
<CustomField>
<Name>TAMID</Name>
<Show>True</Show>
<Required>True</Required>
<Value/>
</CustomField>
</CustomFields>
<AutoNavigation>true</AutoNavigation>
<EnvelopeIdStamping>true</EnvelopeIdStamping>
<AuthoritativeCopy>false</AuthoritativeCopy>
<Notification>
<Reminders>
<ReminderEnabled>false</ReminderEnabled>
<ReminderDelay>0</ReminderDelay>
<ReminderFrequency>0</ReminderFrequency>
</Reminders>
<Expirations>
<ExpireEnabled>true</ExpireEnabled>
<ExpireAfter>120</ExpireAfter>
<ExpireWarn>0</ExpireWarn>
</Expirations>
</Notification>
<EnforceSignerVisibility>false</EnforceSignerVisibility>
<EnableWetSign>true</EnableWetSign>
<AllowMarkup>false</AllowMarkup>
<AllowReassign>true</AllowReassign>
</Envelope>
The only solution I've got so far is to re-create the templates. Not a big deal besides all the related headache associated with it, but this looks like a bug to me. May be DocuSign guys will have time to look at it some time.
I believe I can see the problem- I did a diff of your two template definitions and see one difference that could be causing your issue. If you look at the template role for each template, the GOOD template looks like this:
<RoleName>Client</RoleName>
and the BAD template has it's role like this:
<RoleName>Client </RoleName>
That extra space after Client is most likely causing your issue. To resolve, try exporting the bad template through the UI, remove the space, then re-upload and that should do the trick.
Your JSON looks valid to me, but without also seeing the XML for each of the Templates that you're using to send (the one that fails and the one that succeeds), it's hard to provide much feedback beyond that. (If you can download the Template XML for each template, remove PDF bytes from the XML (for brevity), and update your question to include the XML for each template, I'll be happy to review and provide further feedback.)
These (somewhat recent) posts in the (old) DocuSign Dev Forum seem to describe a similar issue:
http://community.docusign.com/t5/DocuSign-API-Integration-Java/INVALID-EMAIL-ADDRESS-FOR-RECIPIENT/td-p/19037
http://docusign.lithium.com/t5/Announcements/REST-API-Multiple-Templates-with-template-roles/td-p/15807
The final thread in the first of these two posts mentions a DocuSign bug # (26473). Perhaps someone with DocuSign can chime in on this thread with an update on that bug status, on the off chance that it's behind the issues you're experiencing.
You receive the error Invlid_email_address_for_recipient but you haven't used the recipient email in your program just yet.
Use your email address (one for docusign account) and not the docusign guid of the email on your account.
(Hopefully useful to other people)
I got the same error, INVALID_EMAIL_ADDRESS_FOR_RECIPIENT, when the template had roles defined as CC who didn't have an email address defined and I didn't add them to the JSON in the API call. This works fine for roles that need to sign (the created envelope just has less of those), but not for roles that receive a review carbon copy.
I'm continuing to work with the scenario described in this question and thus far I do have the ability as the insured (first recipient) to edit all secure fields that were created when I initially created my server templates. What doesn't happen, however is the second recipient (producer-who is also a signer) does not have those fields that were designated as required visible. This only seems to happen when I send an API call for signature on composite templates. When working with a single template both parties have designated fields available to edit. I understand this may be a configuration issue but wanted to rule out the possibility of essential parameters in my call being omitted. I have gone into console account features and set secure fields visible to all recipients (see Molly's comment in the forum).
Here is my call XML. There may be some redundancy (e.g. type, routing order) but I'm working from various examples. Thanks in advance.
<envelopeDefinition xmlns=\"http://www.docusign.com/restapi\">
<accountId>123456</accountId>
<status>sent</status>
<emailSubject>another test</emailSubject>
<emailBlurb>This comes from Me</emailBlurb>
<compositeTemplates>
<compositeTemplate>
<serverTemplates>
<serverTemplate>
<sequence>1</sequence>
<templateId>894ed334-4183-4b68-857e-01fe4829f79e</templateId>
</serverTemplate>
</serverTemplates>
<inlineTemplates>
<inlineTemplate>
<sequence>2</sequence>
<recipients>
<signers>
<signer>
<type>Signer</type>
<email>insured#email.com</email>
<name>test insured</name>
<RoutingOrder>1</RoutingOrder>
<recipientId>1</recipientId>
<roleName>Insured</roleName>
</signer>
<signer>
<email>producer#email.com</email>
<type>Signer</type>
<roleName>Producer</roleName>
<name>Test Agent</name>
<recipientId>2</recipientId>
<RoutingOrder>2</RoutingOrder>
</signer>
</signers>
</recipients>
</inlineTemplate>
</inlineTemplates>
</compositeTemplate>
</compositeTemplates>
I'm unable to repro the issue you describe. I can successfully create an Envelope from a single template (using Composite Templates in my XML request), where a data field is required/editable for the first Recipient, and the same data field is editable for the second Recipient (but optional -- since the field is 'owned' by the first Recipient). Here's my request XML:
<envelopeDefinition xmlns="http://www.docusign.com/restapi">
<accountId>ACCOUNT_ID</accountId>
<status>sent</status>
<compositeTemplates>
<compositeTemplate>
<serverTemplates>
<serverTemplate>
<sequence>1</sequence>
<templateId>TEMPLATE_ID</templateId>
</serverTemplate>
</serverTemplates>
<inlineTemplates>
<inlineTemplate>
<sequence>2</sequence>
<recipients>
<signers>
<signer>
<email>johnsemail#outlook.com</email>
<name>John Doe</name>
<recipientId>1</recipientId>
<roleName>signer</roleName>
<routingOrder>1</routingOrder>
</signer>
<signer>
<email>janesemail#outlook.com</email>
<name>Jane Doe</name>
<recipientId>2</recipientId>
<roleName>signer2</roleName>
<routingOrder>2</routingOrder>
</signer>
</signers>
</recipients>
</inlineTemplate>
</inlineTemplates>
</compositeTemplate>
</compositeTemplates>
</envelopeDefinition>
Here are a few suggestions for troubleshooting...
First, make a couple of changes to your request XML:
Try using routingOrder (lower-case 'r') instead of RoutingOrder (upper-case 'r') in your XML. In my (limited) testing just now, DocuSign seems to be ignoring the RoutingOrder element if it starts with an uppercase 'r'.
Remove the type element from the XML request -- this isn't
necessary because you're mapping each recipient to a Template
role (which defines recipient type).
Also, if you want both recipients to be able to Edit a field, double-check the field properties in the Template via the DocuSign web console to confirm that the field has "Allow All to Edit" selected.
Finally, it wouldn't hurt to double-check the Account settings (Preferences >> Features) to confirm that the Display Initial SecureField property is selected. (Occasionally I've seen it where someone enables a setting, but forgets to Save the change (by clicking the SAVE button that's located at the very bottom of the page.))
I am having four external list "List1", "List2", "List3", "List4". I have added a custom ribbon button Like:
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<CustomAction
Id="ATEAgWorkOrderButton"
RegistrationType="List"
RegistrationId="600"
Location="CommandUI.Ribbon">
<CommandUIExtension>
<CommandUIDefinitions>
<CommandUIDefinition
Location="Ribbon.ListItem.Actions.Controls._children">
<Button
Id="Ribbon.ListItem.Actions.ATEAgWorkOrderButton"
Alt="Click on this button to Add"
Sequence="3"
Image32by32="/_layouts/Images/Project/image.png"
Command="ATEAg_WorkOrder"
LabelText="Add Detail"
TemplateAlias="o2"/>
</CommandUIDefinition>
</CommandUIDefinitions>
<CommandUIHandlers>
<CommandUIHandler
Command="ATEAg_WorkOrder"
CommandAction="javascript:alert("Hello Success");" />
</CommandUIHandlers>
</CommandUIExtension>
</CustomAction>
</Elements>
The button is now visible in all the external lists. But I want to make it visible for only "List1" and "List2". How to do this?
You need to explore the Andrew Connell's Ribbon Customization Deep Dive.
http://www.andrewconnell.com/blog/archive/2011/04/16/sharepoint-2010-ribbon-customization-deep-dive.aspx
He goes into how to solve these problems. In short instead of binding a customization for all lists of a certain type, you can register a javascript function that gets called to determine if you button should be shown or hidden. In this function you can determine which list is currently active.
If all your lists are associated with a ContentType, you can set the registration id of the custom action to the ContentType id.
From MSDN:
RegistrationID: Optional Text. Specifies the identifier of the list or
item content type that this action is associated with, or the file
type or programmatic identifier (ProgID).