Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.

Init a workflow with an email

Avatar

Former Community Member
how can i init a workflow with a form containing a submit button.

i used the description on :

http://partners.adobe.com/public/developer/en/livecycle/lc_wf_initiate_process_tip.pdf



but nothing happends, no workflow process started. it is the right way ? or what is wrong ?
16 Replies

Avatar

Former Community Member
Hi,

could you post the contents of the .xdp you used trying to initiate the process?

Are there any errors or exceptions being reported in the server log-file?



Regards,

Steve

Avatar

Level 9
In the adminui, you have to set up the server to monitor the correct email account.

Have you done this?



Howard treisman

http://www.avoka.com

Avatar

Former Community Member
When initiating a workflow process via email there are a few things you need to keep in mind:

1.) The "AWS_MAILTO" field must contain the email address you identified in the administration screen for email configuration.

2.) The "PROCESS_TYPE" field must contain the name of the process type where the process template resides. This is case sensitive.

3.) If using an XDP as your base for the PDF document, you must publish the XDP to Form Manager.

4.) The person who you are submitting the email as must have been logged into Form Manager at least once so they are a recognized LiveCycle user.

Avatar

Former Community Member
Hey Everyone -



Please note that the "PROCESS_TYPE" field Valerie references is actually named "AWS_PROCESSTYPE".



One additional note on top of Valerie's comments is that you want to make sure that your process definition does in fact have an init-form on it. The email reader will look for an init-form on the process type that you have provided in the "AWS_PROCESSTYPE" field, and will use that init-form to call createTask() (in the same way as Form Manager does). If you do not have an Init-Form specified on the workflow the workflow will actually not be started.



Good Luck!



Will @Adobe

Avatar

Former Community Member
Just to have all steps in one location:



1.) Create form template (Designer) ensuring the AWS_MAILTO field contains the email address entered in the Workflow Email Settings page AND the AWS_PROCESSTYPE field contains the process type name where the process template exists. This is case sensitive.

2.) Save the form as XDP.

3.) Save the form as PDF. This will be used to initiate the process.

4.) Publish the XDP to Form Manager. If a subsequent step in the process is going to use the form via Form Manager you MUST associate the form with a category.

5.) Create your workflow.

6.) You must have an Init-Form that is referencing the XDP you published in step 4. **I did not include values in my dropdown so in my case the Choice-list option is blank. If you provide values for the choice-list parameter, you must ensure that the form template contains the exact same values or an error will be encountered when the user tries to submit the request.

7.) Create a new variable of type form and select the in parameter.

8.) Save and deploy your workflow.

9.) **Log into Form Manager as the user who will be initiating the process via email as you must be a known LiveCycle user. If accepting external requests, you could create a 'staging' account to facilitate this requirement.

10.) Launch the PDF and submit.



Cheers,

Val

Avatar

Former Community Member
thanx,



but some of the issues were not covered. What if we need to extract data from the init form. We'll have to specify the schema of the form ?

Do the variables that the workflow needs ( AWS_MAILTO, AWS_CHOICE and so on ) need to be specified in the schema ?



Do they need to be bound to the fields in the form using using a data connection to the schema. Where should they be placed in the schema ?

In the root of the schema ? or can they be grouped ?



I've done all of the above steps , still i'm getting Task Id and process Type Not found in form data ... even though the xdp being send through the email has the correct values filled in .



Kindly cover the above issues too.

Avatar

Former Community Member
You do not need to specify a schema to extract data from a Form Variable - it is only convenient to have a schema on your form so that the XPath browser helps you write XPath statements to the elements of the form data. You can however simply use the XPath browser to get to the default of "fields" and then append /FieldName and we will extract the correct value at runtime.



In the case of the XFO fields (AWS_*) you should not have to include these fields in the schema. In general if you wanted to add them to the schema they should be in the root of the schema and not be grouped.



Hopefully that helps,



Will@Adobe

Avatar

Former Community Member
Just a quick clarification. As Will mentioned, you do NOT need a schema to extract data. If you don't have one you can extract the data using the exact same XPath expressions as you would with one. The only difference is that without a schema Workflow can't build the tree in the graphical XPath expression builder so that you can simply scroll down the tree and click nodes to have it automatically build the expression.



However, if you do bind to a schema, you MUST include the AWS* fields in your schema. When you bind to a schema data that is exported conforms to the schema, so if those fields are not in the schema they will not be exported with the data.



Chris

Adobe Enteprise Developer Support

Avatar

Level 9
Hi

I have to disagree with Chris.

We use schema all the time, and never include the AWS fields in the schema. To the best of my knowledge, it's not necessary.

Howard

Avatar

Former Community Member
Howard,



When you do that do you ever query AWS* fields in your workflow? (ie: AWS_CHOICE)? Unless I'm missing something it doesn't look like you'll get that data unless those fields are in the schema.



Chris

Adobe Enterprise Developer Support

Avatar

Level 9
Hi Chris



You're right, if you don't add these fields to the schema, you won't be able to query those fields directly.



However, why would you need to query fields such as AWS_CHOICE? As far as I'm aware, they are populated automatically when the form is rendered by Form Manager, and any relevant data is extracted from these fields and used to govern the route that the workflow engine executes, the user who is logged as having completed the step, etc. I've always treated these as "internal implementation" fields that I should not/need not directly modify or read.



What are your use-cases for directly querying these fields?



Getting back to the original question, there is another way to start a process by emailing a form. Create a looping master-process that uses the EmailReceiver qpac to pull the form from a POP3 server, extract the attachment and other details, and then use the chain qpac to initiate the actual process. While this doesn't use the built-in capabilities of the workflow server to process incoming emails, in some respects, it is a simpler solution where you have more control over the operation. Just a thought...



Howard

http://www.avoka.com

Avatar

Former Community Member
> What are your use-cases for directly querying these fields?



I don't know, I've never had to do that before. But Aditya specifically asked about it, that's why i mentioned needing to put them in the schema.



Chris

Adobe Enterprise Developer Support

Avatar

Former Community Member
After doing the steps from Valerie's post (#5), I still cannot initiate a workflow by e-mail.<br />Being in the prototyping phase, I am using the "administrator" account. The e-mail address is set (to "administrator@sandbox.test.com"), and e-mails are sent and received correctly.<br /><br />But when LiveCycle processes the incoming e-mail, I have the following error message:<br />-------<br />10:19:22,640 INFO [STDOUT] 9 juil. 2007 10:19:22 com.adobe.workflow.email.Inbox<br />Reader logFailedToProcessMessage<br />GRAVE: can't process mailmessage from: Administrator <administrator@sandbox.test.com>, subject: _bbo1370g1c842cri.xdp: no user found matching 'from' address<br />-------<br />I have tried to set it to 'Administrator <administrator@sandbox.test.com>', to '<administrator@sandbox.test.com>', to '"Administrator" administrator@sandbox.test.com>', etc., and I always get the error...<br /><br />What is the expected format for the "From:" field? <br />What is the use of the "emailalias" field in the "edcprincipalemailaliasentity" table?<br /><br />Many thanks,

Avatar

Level 9
Hi Frederic

Only "registered" users can invoke a process. You must send the email from the email address of one of the registered users in LiveCycle. To find the address of a known user, login to http://localhost:8080/adminui and search for users, then click on each user to find out their email address.

Howard

http://www.avoka.com

Avatar

Former Community Member
Fixed it!



The "administrator" user is a registered user. By default, he had not e-mail address. I added one in the "email" field of the "edcprincipalentity" table, but none in the "emailalias" field of the "edcprincipalemailaliasentity" table... and the field used by LiveCycle workflow to check e-mail addresses is the "emailalias" field !



Found this thanks to you CreateLocalUser QPAC.



Many thanks !

Avatar

Former Community Member
I followed the steps in Val's post and still got error from server.log



subject: abc_data.xdp: no taskid and no process type name found in form data.



I have schema and add AWS_PROCESSTYPE in the schema, it works if I submit from Form Manager, but if I submit by email, i got error.

.xdp file passed has AWS_PROCESSTYPE. I thought workflow engineer will create new taskID for me.



What do I miss?



Thanks.



Jing