InfoPath, Content Types, Site Columns & The Future

Just a quick one after some deep thought.

Thoughts on the Future: If you have to create an InfoPath Form, you should be creating it as a List Form (if possible), not a Form Library.  The reason for this is ease of upgrade now that InfoPath will not be upgraded/supported by Microsoft.

If you have to create a Form Library (because you form requires repeating tables/sections):

I’ve decided that InfoPath forms should NOT be published as Content Types.  The only time it would be considered OK is if the form is very generic and is being used on multiple sites.  E.g. a Help Form which could be used by multiple departments without any modification.

The main issue when publishing as a Content Type is that every field you promote to be visible in SharePoint has to be created as a Site Column. This means that even for a small form, for instance, a Personnel Access Form, you’d have to create Site Columns for fields like: Room Number or Access Hours, which would only ever be used for this form and nothing else.

Site Columns (and Content Types!) should only be created when you are planning to re-use them across multiple sites. They shouldn’t really be created to be used on one specific thing.

With that said, It’s still worth creating a few Site Columns for fields you know will be in the majority of your forms, and connecting each forms promoted fields to them. Connecting these fields to Site Columns is useful if you ever want to do some Search Customisation & Filtering on the columns.
TL;DR: Creating full InfoPath forms is a bad Idea.  But if you have to go for it.  you may just have to rebuild the form in 10 years.  If you ARE publishing a full InfoPath form, don't publish as a Content Type.  Instead for search purposes you should create 10 or so commonly used Site Columns and publish forms as Form Libraries, linking up the fields from your form with the Site Columns.


Popular posts from this blog

Export Group Membership From Active Directory Using Power Query

HP Laserjet 1022 Printer - Can't Print on Windows 10

Power Query / BI - Data Refresh Error: The column 'Activities' of the table wasn't found