Enterprise Eform FormBean not found when adding new form via channel manager


#1

Hello,

I’m new to BloomReach and I’ve been struggling to get the Enterprise Eform plugin to work.

I attempted to install the Enterprise Forms plugin as per the instructions on the following page:

The first two parts, namely installing the CMS Plugin Maven dependencies and the HST Components seemed to go fine. But further in the instructions, I had to download a Hippo addon eforms demo and extract the ftl (and js/css, etc) resources from it, as per these instructions:

While I’m using BloomReach 13.0.0, which is a very recent release, it occurred to me that the latest eform demo file from the Maven repository that I had to manually download was dated October 2016. I did not feel confident about this, but since I was only extracting the ftl template files and web assets, I proceeded to do so.

I carefully cleaned, rebuilt, made sure bean generation was up-to-date, and then restarted the server. Using the CMS application, I switched to the Channel mode and attempted to add an Enterprise Form component to a web page. The attempt failed (or partially, at least) and I saw the following in the log:

[BaseEformComponent.getFormBean:246] *** EFORMS ***
[BaseEformComponent.getFormBean:247] Cannot get the form bean, returning null. Reason: the content bean is null or it does not match the FormBean type [eforms:form].
[BaseEformComponent.getFormBean:248] Override the method [BaseEformComponent#getFormBean(HstRequest)] to get the form bean in a different way, e.g. from a linked bean.
[BaseEformComponent.getFormBean:249] *** EFORMS ***
[EformComponent.doBeforeRender:150] No form bean found for path info /content, no form processing will be done

I was able to step through BaseEformComponent.getFormBean() and I saw that a HippoFolder bean was being returned, rather than a FormBean. Prior to that point, I had not manually created a Form in the content repository, but I assumed it should be fine and a blank one should be getting created by default since this is a new component.

I then created a simple Form under the CMS content, switched back to Channel, clicked the Enterprise Form component on my page and attempted to assign a Form to it using the properties on the right-hand side. However, I was shocked to discover that the pop-up Link Picker only listed “Documents”, “Images”, and “Assets”. “Forms” was missing, despite the fact that I could create Form instances in the content section of CMS.

All of this has left me wondering if I truly installed the plugin correctly (I attempted to repeat the steps in case I missed anything) or if whether the 2016 demo file dependencies on this plugin suggest we may be better off building form/text field components from scratch rather than using the plugin.

If anyone has any direction or advice to offer, that would be very gratefully appreciated.

Many thanks,
Nick


#2

Hi Nick,
Thanks for elaborating on your situation. The idea indeed is to create a form document in the content, then pick it in the component.

So if you have created a form, it’s normally in the “Documents” section of the content so you should see it below the same section in the pop-up Link Picker. Aren’t you seeing it there?

HTH
Jeroen


#3

Hello, Jeroen.

I really appreciate your prompt response - thank you so much. I’ve made careful note of the fact that I need to be sure a Form is available, as you said. Nonetheless, I do seem to have an issue with my setup.

If I go into the CMS application, click on “Content”, the drop-down picker at the top-left of the main panel offers the following options:

Documents
Images
Assets
DocumentTypes
Forms

I verified that, when I set that drop-down to “Forms”, I see one entry present that I recently created.

Then, when I click “Channels” in the CMS, click my website project, pull up the page in which I previously inserted my Enterprise Form component, click that component so that I can see the properties on the right, click the magnifying glass in the properties to select a form, the “Link Picker” modal dialog comes up with the following options:

Documents
Images
Assets

The “Forms” option appears to be missing.

I’m going to assume that I did not do the installation of the Enterprise Forms plugin correctly and will try to repeat the steps.

Thank you for your help - it’s much appreciated,
Nick


#4

Hi Nick,

please check if your component which is connected to link picker accepts forms,

see:

Check if @JcrPath annotation accepts efrom document types.


#5

Thank you, Machak.

I’ve had to start working on a different task, but I intend to revisit this and verify your point.

Many thanks,
Nick


#6

Hi Nick,
The Forms sections in the Content perspective is meant for reuseable form groups, so you probaby created that as item. These cannot be picked from the link picker indeed, only from an actual form instance.

Please create a Forms folder below Documents instead, similar to what is done in our public demo, see https://cms.demo.onehippo.com/?1&path=/content/documents/hippogogreen/forms/. Then you can add a document of type Form there.

HTH
Jeroen


#7

Hello, Jeroen.

Excellent deduction - and I regret that I confused “form group” for “form”. You’re so right.

Thanks so much!
Nick