0

I am using SharePoint 2010 Enterprise, InfoPath Designer 2010 and Visual Studio 2012.

When I create a list using the SharePoint UI, I can use the "Customize Form" button on the "Customize List" ribbon to customize the list form in InfoPath Designer and publishing the changes works just fine.

When I create the same list in Visual Studio and deploy it via a solution package, I can still use the "Customize Form" button to customize the list's form in InfoPath Designer, but publishing the changes won't work. The error message I receive reads:

The publish operation could not be completed. It cannot be determined if the form template was successfully published. Try publishing the form template again, or change the list settings to

Catastrophic failure

Googling the error message brought up some blog posts that suggest, that the error might be due to a timeout error: http://www.mysharepointadventures.com/2012/08/infopath-form-publish-soap/ But setting an expicit executionTimeout in web.config did not resolve the error.

I also verified, that all the relevant settings in SharePoint are set, as suggested here: http://tom-jaeschke.blogspot.de/2012/09/catastrophic-failure.html

Any ideas? Thanks in advance!

2 Answers 2

0

When I create a list using the SharePoint UI, I can use the according button on the "edit list" ribbon to edit the list form in InfoPath Designer and also publishing the changes works fine.

There is no either "according button" nor '"edit list" ribbon' to edit the list form.
And you cannot edit Infopath form until you create it, otherwiase you will be editing default sharepoint list views.

Probably, you mean under this either:

  • Customize button under Customize List section on ribbon in browser after navigating there to a sharepoint list;
  • using "Sharepoint List" template button > Design Form in Infopath Designer 2010 (File > New on ribbon)
  • in Sharepoint Designer 2010, pressing Design Forms in Infopath button > Item on ribbon (upon navigating in SPD to a sharepoint list)

These are the only 3 known to me methods of creating Infopath form templates of type/compatiblity "Sharepoint List Form" (Fig.1)

This type of Infopath form (Sharepoint List Form) has unmodifiable and locked OOTB Main data connection/source and schema as well as code-behind is unavailable for it. Such (MAin) Data Connection/Source (of "Sharepoint List Form" and "Workflow Form") cannot also be explicitly created through Data connection wizard. Neither this type nor its Main data connection can changed, viewed or modified.

Sharepoint List Form Compatibility (Form type)

Fig.1. Form Options of Sharepoint List Form

Compare Sharepoint List Form Form Options in Fig.1 with Form Options of regular Infopath form template in Fig.2. Note also the absence/presence, resp,. of Developer tab for creating code behind.

Fig.2. Form Options of normal (regular, ieditable, creatable, modifiable) Infopath form templates

Fig.2. Form Options of normal (regular, ieditable, creatable, modifiable) Infopath form templates

Here is Main Data Connection screenshot:

Locked Main Data Connection of of Infopath template of type Sharepoint List Form

Fig.3. Locked Main Data Connection of of Infopath template of type Sharepoint List Form

So, I doubt that it is possible create/edit Infopath form template of compatibility/type "Sharepoint List Form" (and "Workflow Form").

Probably you are creating in Visual Studio an Infopath form template of regular type/compatibility (cf. Fig.2 for those "open" types), like Filler Form or Web Browser Form with secondary data connection/source to a sharepoint list.

Refer also to:

8
  • I am a bit confused about your doubt, that it is possible create/edit Infopath form template of compatibility/type "Sharepoint List Form", as the creation of an InfoPath form for a SharePoint list works, as long as the list was created using the SharePoint UI. Even then the compatibility type is given as "Sharepoint List Form". Commented Oct 16, 2012 at 13:01
  • Sure you are confused. You are not the first one but I did write or 'doubt, that it is possible create/edit Infopath form template of compatibility/type "Sharepoint List Form"'. How it would have been possible to discuss something that impossible create (and, so, never existed)?! Commented Oct 16, 2012 at 14:08
  • Please excuse me if I am missing the obvious, but I don't see the answer to my question here. Frankly, I have troubles to understand your answer. You can't be suggesting, that it is generally not possible to create an InfoPath template of the type "SharePoint list". I hope it doesn't bother you too much, but I would be thankful if you could clarify your answer a bit further. Commented Oct 16, 2012 at 14:18
  • Microsoft does not provide you the means to influence, intrude and/or meddle into the provided OOTB methods of creation the Infopath template of type/compatibility "Sharepoint List Form" Commented Oct 16, 2012 at 14:23
  • It makes sense, that I cannot change the way in which certain InfoPath templates are created. This is not what I want to do either. I simply want to use an InfoPath form to add an item to a custom SharePoint list. This is something that works flawlessly if the list was created by using the SharePoint UI, but does not work at all if the SharePoint list in question was created in VS. Commented Oct 16, 2012 at 14:39
0

OK, I found a solution for (or at least a workaround to) my problem. After I added a custom content type to the feature, that I was developing in VS and deployed the feature to SharePoint, InfoPath allowed me to create and publish forms for the list in question.

The relevant section of my list's Schema.xml reads:

<ContentTypes>
  <ContentType ID="0x01001e92116a4c6d4f089eb1ac435135d125" Name="ListFieldsContentType">
      <FieldRefs>
        <FieldRef ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" Name="Title" />
        <FieldRef ID="{B681E8E5-A2D6-47C2-8658-357954F27FFF}" Name="MyField" />
      </FieldRefs>
    </ContentType>
    <ContentTypeRef ID="0x01">
      <Folder TargetName="Item" />
    </ContentTypeRef>
    <ContentTypeRef ID="0x0120" />
    <ContentTypeRef ID="0x01001e92116a4c6d4f089eb1ac435135d125" />
</ContentTypes>

And this is the Elements.xml of my content type:

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <ContentType ID="0x01001e92116a4c6d4f089eb1ac435135d125" Name="MyContentType" Inherits="TRUE">
    <FieldRefs>
      <FieldRef ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" Name="Title" />
      <FieldRef ID="{B681E8E5-A2D6-47C2-8658-357954F27FFF}" Name="MyField" />
    </FieldRefs>
  </ContentType>
</Elements>

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.