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.
SOLVED

Form will not submit using the File Attachment OOTB Component in the Publish Server

Avatar

Level 2

Submitting the form does not submit when the "File Attachment" adaptive form component exists on the adaptive form. No logged in users are proceeded, the form is published, and the submit action is the simple out of the box email submit action.

On submit, in the network tab, I can see that the HTTP Request URL stops at /content/forms/af/my-test-adaptive-form/jcr:content/guideContainer.af.internalsubmit.jsp. Typically on a successful submission, the HTTP Request URL should go to /content/forms/af/s/jcr:content/guideContainer.af.submit.jsp

I performed some tests:

test 1: logged in as admin

- works perfectly

test 2: logged in as test-user; this user is a member of form-user group

- works perfectly

test 3: anonymous user (not logged in)

- like the description above, the HTTP Request URL is stuck /content/forms/af/my-test-adaptive-form/jcr:content/guideContainer.af.internalsubmit.jsp

test 4: anonymous user (not logged in); his user is a member of the administrator's group

- like the description above, the HTTP Request URL is stuck /content/forms/af/my-test-adaptive-form/jcr:content/guideContainer.af.internalsubmit.jsp

Questions

  1. What can I do to enable the file attachment component for anonymous users in my published adaptive form?
  2. I understand the flow of a submission. Files are uploaded when only when files exist, but what is the implementation of this? I need a lower level understanding of what engineering decisions were in this case, because of anonymous users not able to upload files. Documentation - Adobe Experience Manager Help | Writing custom Submit action for adaptive forms

Additional Details:

  • File Attachment Component - /libs/fd/af/components/guidefileupload
  • Submission Action - /libs/fd/af/components/guidesubmittype/email
  • Adaptive Form Status: Published
1 Accepted Solution

Avatar

Correct answer by
Level 2

It's a Mac OSX problem. I've put together an adaptive form with the exact same setup on a Windows machine, and everything is working fine; anonymous can successfully attach files. In the past, working with the Forms add-on package, Windows usually performs the best; I usually get problems on the Mac OSX machines.

However, please explain the temporary location and files attachments are actually uploaded to the adaptive form? Documentation skips this low level detail.

Thanks.

View solution in original post

15 Replies

Avatar

Level 10

We asked the Form team to look here.

Avatar

Employee

Hello Brian,

Can you please share more details about the server? Because its working fine at our end.

Although preview of the attachment is disabled by default but that has no relation with submission failure. Is it working fine for anonymous user without attachment?

Avatar

Level 2

Hello Davin,

Can you please share more details about the server?

AEM 6.3
Package: AEM 6.3.2.0 (service pack 2)

Package: AEM Forms 6.3.2.0 MACOSX  (service pack 2)

Is it working fine for the anonymous user without attachment?

Yes, in submitting an adaptive form in the publish environment without no files attached works fine.

Here's the setup of the adaptive form.

- New Adaptive Form
     - GuideContainer

          - Submit Action = OOTB email action

          - Panel
              - Email Address Component

              - File Attachment (Component)
              - Submit (Component)


Then Publish.     

An Anonymous User in Publish Environment views adaptive form. He/She files in the form with their email address and attaches a file. The user presses on submit, the form prompts a loading icon and its stuck. He/She checks the network tab in Chrome debugger, and realizes that the last HTTP Request made was to /content/forms/af/my-test-adaptive-form/jcr:content/guideContainer.af.internalsubmit.jsp.

The Anonymous User tries to submit the form again with their email address and a file attachment, and the outcome is the same.

The lesson we see here is, if an anonymous user attaches a file, in the publish instance, the submission will never be fulfilled, unless if you are logged in.

Let me know if this is enough details.

Avatar

Correct answer by
Level 2

It's a Mac OSX problem. I've put together an adaptive form with the exact same setup on a Windows machine, and everything is working fine; anonymous can successfully attach files. In the past, working with the Forms add-on package, Windows usually performs the best; I usually get problems on the Mac OSX machines.

However, please explain the temporary location and files attachments are actually uploaded to the adaptive form? Documentation skips this low level detail.

Thanks.

Avatar

Employee Advisor

Hi BrianKli,

You may login to crx de console and check for the saved and submitted data under(in case of form portal submit) /crx/de/index.jsp#/content/forms/fp

1508464_pastedImage_0.png

Avatar

Level 2

Hey Thanks,

But I am not using the forms portal. Where are the files saved in this case?

Avatar

Employee Advisor

Pretty much all the forms that you save would be going in the CRX, you also have the option to store them in the database[1]. The Submit action that you choose would define whether the form would be submitted to a workflow, email or to a REST endpoint.

[1]Adobe Experience Manager Help | Sample for integrating drafts & submissions component with database

Avatar

Level 2

Not sure how this is a mac osx issue. Especially when a login session is available it uploads successfully and when not logged in, it fails.

I'm using 6.4 AEM forms and facing same in mac machine and windows 10 / chrome / ie browsers.

Found that when a logged in session is available , it creates the temp file under

/tmp/fd/af/<form>/fileupload

thinking that the /tmp/fd/af needs read/write/modify permission, I gave those to 'everyone' group, but still the file upload is not working.

Created a ticket with Adobe AEM CS, waiting response...

Avatar

Employee Advisor

Does this happen on Author or while submitting the form via Publish? Can you confirm if you have enabled anonymous access or not?

Avatar

Level 2

This happens in the publisher.  I have enabled anonymous access on the tmp folders.  As part of troubleshooting we enabled crx/de on publisher (PRODUCTION mode) and logged in as admin, then the form attachment worked !!.  Our use case is that the form need to work without any user loggin in.

Avatar

Level 10

Another test to try is see if you can hit a custom submit action on pub - this will tell us if there is a serious issue with the Pub instance. See Adobe Experience Manager Help | Submitting Adaptive Form Data to MySQL using a DataSourcePool .

This should work on Pub - if Pub is functioning normally

Avatar

Employee Advisor

Please update the forms common configuration service(Author and publish both) to use All users and try again.

1554421_pastedImage_1.png

Avatar

Level 2

Wow, that is fantasic. Thanks for digiging out that configuration!!

I enabled it and from the publisher:4503 the file attachement is uploaded successfully!!

But when I access thru the dispatcher,  the submission fails with a server error

22.08.2018 12:39:56.448 *ERROR* [206.107.211.5 [1534966796445] POST /content/<project>/en/home/tmp/fd/af/<form> HTTP/1.1] org.apache.sling.servlets.post.impl.operations.ModifyOperation Unable to create resource named fd in /content/<project>/en/home/tmp

22.08.2018 12:39:56.448 *ERROR* [206.107.211.5 [1534966796445] POST /content/<project>/en/home/tmp/fd/af/<form> HTTP/1.1] org.apache.sling.servlets.post.impl.operations.ModifyOperation Exception during response processing.

org.apache.sling.api.resource.PersistenceException: Unable to create node at /content/<project>/en/home/tmp/fd

        at org.apache.sling.jcr.resource.internal.helper.jcr.JcrResourceProvider.create(JcrResourceProvider.java:480) [org.apache.sling.jcr.resource:3.0.8]

ie: it is trying to create the temporary file under /content/<project>/en/home/tmp/fd folder which does not exists.

If I access the publisher thru port #, it creates the temp file under /tmp/fd/af/<form>/

Not sure If I am missing some configration, that the guideContainer.fd.tempstorageprovider.jsp is giving a wrong path for the submission flow?

Avatar

Level 2

Hi Mayank,

Never mind, it was our apache config which was not allowing /tmp to pass thru was causing those errors!!

So the fix for my issue was to enable Forms Common Configuration Service for all users!!

Thank you.

Avatar

Employee Advisor

Good to know that the steps shared worked for you.