InfoPath Forms Services “Service Unavailable”, Why?

by michaellotter 6/25/2008 9:03:00 PM

For all the people that do InfoPath 2007 development and deploys forms to InfoPath Forms Services this is something that you should be aware of. I’ve know this for quite awhile but for some reason I’ve never blogged about it and I’m not sure why. Well that might not be totally true, I think I’ve not blogged about it because I’ve never fully tested all the scenario’s to get a definitive answer and unfortunately I still haven’t done that testing but I still wanted to mention this because I thought it was important. The below scenario doesn’t happen if the form is brand new but only if you are updating an existing form.

Have any of you ever seen the below screen after you updated a form that’s all ready being used by InfoPath Forms Services?

 

If you say yes then don’t feel bad because you’re not alone because everybody else has the same problem as far as I know. I’ve seen this same error is several environments that I’ve worked in with InfoPath Forms Services and that’s what makes me believe this is happening to everybody. The reason that you are getting the above error is because InfoPath Form Services is automatically recycling the IIS application pool for at least the Central Administration machine but it could also be happening to the WFE or WFE’s but I’m not 100% sure because I haven’t completed my testing. The below images display what the w3wp.exe process id’s are before uploading a form and then what they are after I uploaded the form. As you can see the id’s are different after the form has been uploaded to InfoPath Form Service. From my experience it only happens to forms that already exist in InfoPath Forms Services and not new forms.

Before:
 
 
After:
 

For everyone that didn’t know about this, this could be a really scary discovery for you because now you know that each time you upload a new version of an existing form SharePoint is recycling the AppPool’s on the server that hosts the Central Administration web application. I’m hoping that I might get some extra time to do some more testing in the future and give a more detail answer on which servers this really affects and what Web Applications.

Cheers,
Michael

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

InfoPath Forms Services | MOSS

When building my new SharePoint 2007 VPC image on Windows Server 2008

by michaellotter 6/23/2008 5:44:00 AM

This weekend I needed to build a new VPC image that had Windows Server 2008 and SharePoint 2007 Enterprise and I wanted to slip stream the service packs for SharePoint but I never did it before.  I didn't know how hard it was going to be and with my great surprise it was actually pretty easy because I used the 2 articles below as guides on getting everything done.  I must say things have been a lot easier with SharePoint 2007 version when doing things outside of your comfort zone because there is so much more  documentation posted on blogs, MSDN, TechNet or Office Online.

Deploy a simple farm on the Windows Server 2008 operating system (Office SharePoint Server)

http://technet.microsoft.com/en-us/library/cc263408.aspx?lc=1033

Create an installation source that includes software updates (Office SharePoint Server 2007)

http://technet.microsoft.com/en-us/library/cc261890(TechNet.10).aspx

 

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

MOSS | Windows Server 2008

New CodePlex project from Josh Carlisle

by michaellotter 6/18/2008 2:41:00 AM
My co-worker Josh Carlisle has put out a new CodePlex project called SharePoint Smart 404 and it provides custom intelligent 404 handling and it is defintely worth checking out.  To get all the details by reading the following blog post.  http://www.sharepointbrainfreeze.com/Lists/Posts/Post.aspx?ID=34 

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

MOSS | CodePlex

Finished my MS SharePoint exams while at TechEd 2008

by michaellotter 6/15/2008 5:16:00 PM

While at TechEd 2007 I took the "Microsoft Windows SharePoint Services 3.0 Configuration" exam and passed it with flying colors and after finishing that exam I told myself that I would take the other 3 during that year but that never happened because of my busy travel and work schedule.  This year when I was getting ready to fly down to TechEd 2008 and I convinced myself that I was going to find the time to take the other 3 ("Microsoft Office SharePoint Server 2007, Configuration", "Microsoft Office SharePoint Server 2007, Application Development", "Windows SharePoint Services 3.0, Application Development") exams.  I took WSS developer exam on Tuesday, MOSS configuration on Wednesday and MOSS developer on Thursday and passed them all.  People have asked me what I did to prepare for the exams and to be honest I didn't do anything extra than my normal day to day job.  It was a great feeling when I passed the last exam because it gave me this feeling of accomplishment because it was something I've wanted to accomplish since the exams came out last year.

Cheers,
Michael

 

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

MOSS

IIS 6 Manager does not work on SharePoint server

by michaellotter 5/26/2008 1:57:00 PM

On my current assignment I’ve been cleaning up the event log and below I’ve listed 4 different error messages for the web front end and 3 for the Index server that are being logged for the IIS 6 Manger not showing anything when opened.  When I first trolled the internet for an answer I wasn’t initially able to find a solution but just a lot of people saying that an IISRESET fixed the problem temporarily.  For a production environment this definitely is not a temporary fix if you ask me.  After a spending another we working on some other problems I started to look some more and was able to find a MS patch (KB946517) that appeared to match the problem I was having.  This patch is not available for download from the kb article page so I sent a email to my MS contact and got the patch and had it applied to the development environment last week and my error messages have went away.  This weekend I applied it to production and the errors went away to.

 Web Front End Server

Event Type:      
Error
Event Source:    Windows SharePoint Services 3
Event Category: Timer
Event ID:           6398
Date:                5/26/2008
Time:                10:41:34 AM
User:                N/A
Computer:        
Description:
The Execute method of job definition Microsoft.Office.Server.Administration.ApplicationServerAdministrationServiceJob (ID fe5da1f0-16b1-4e49-8fb5-ac383740a599) threw an exception. More information is included below. 

Attempted to read or write protected memory. This is often an indication that other memory is corrupt. 

For more information, see Help and Support Center at   

Event Type:       Error
Event Source:    Office SharePoint Server
Event Category: Office Server Shared Services
Event ID:           7076
Date:                5/26/2008
Time:                10:41:34 AM
User:                N/A
Computer:        
Description:
An exception occurred while executing the Application Server Administration job. 

Message: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. 

Techinal Support Details:
System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.  
at System.DirectoryServices.Interop.UnsafeNativeMethods.IntADsOpenObject(String path, String userName, String password, Int32 flags, Guid& iid, Object& ppObject)
  
at System.DirectoryServices.Interop.UnsafeNativeMethods.ADsOpenObject(String path, String userName, String password, Int32 flags, Guid& iid, Object& ppObject)
  
at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
  
at System.DirectoryServices.DirectoryEntry.Bind()
  
at System.DirectoryServices.DirectoryEntry.get_IsContainer()
  
at System.DirectoryServices.DirectoryEntries.CheckIsContainer()
  
at System.DirectoryServices.DirectoryEntries.Find(String name, String schemaClassName)
  
at Microsoft.SharePoint.Metabase.MetabaseObjectCollection`1.Find(String name)
  
at Microsoft.SharePoint.Metabase.MetabaseObjectCollection`1.get_Item(String name)
  
at Microsoft.SharePoint.Administration.SPProvisioningAssistant.ProvisionIisApplicationPool(String name, ApplicationPoolIdentityType identityType, String userName, SecureString password, TimeSpan idleTimeout, TimeSpan periodicRestartTime)
  
at Microsoft.SharePoint.Administration.SPMetabaseManager.ProvisionIisApplicationPool(String name, Int32 identityType, String userName, SecureString password, TimeSpan idleTimeout, TimeSpan periodicRestartTime)
  
at Microsoft.Office.Server.Administration.SharedWebServiceInstance.CreateSharedWebServiceApplicationPool(SharedResourceProvider srp)
  
at Microsoft.Office.Server.Administration.ApplicationServerJob.ProvisionLocalSharedServiceInstances(Boolean isAdministrationServiceJob)
 

For more information, see Help and Support Center at  

Event Type:       Error
Event Source:    Office SharePoint Server
Event Category: Office Server Shared Services
Event ID:           6482
Date:                5/26/2008
Time:                10:41:34 AM
User:                N/A
Computer:        
Description:
Application Server Administration job failed for service instance Microsoft.Office.Excel.Server.ExcelServerSharedWebServiceInstance (fbba9e2a-6e3f-4119-b684-12beb00db08a). 

Reason: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. 

Techinal Support Details:
System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.  
at System.DirectoryServices.Interop.UnsafeNativeMethods.IntADsOpenObject(String path, String userName, String password, Int32 flags, Guid& iid, Object& ppObject)
  
at System.DirectoryServices.Interop.UnsafeNativeMethods.ADsOpenObject(String path, String userName, String password, Int32 flags, Guid& iid, Object& ppObject)
  
at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
  
at System.DirectoryServices.DirectoryEntry.Bind()
  
at System.DirectoryServices.DirectoryEntry.get_IsContainer()
  
at System.DirectoryServices.DirectoryEntries.CheckIsContainer()
  
at System.DirectoryServices.DirectoryEntries.Find(String name, String schemaClassName)
  
at Microsoft.SharePoint.Metabase.MetabaseObjectCollection`1.Find(String name)
  
at Microsoft.SharePoint.Metabase.MetabaseObjectCollection`1.get_Item(String name)
  
at Microsoft.SharePoint.Administration.SPProvisioningAssistant.ProvisionIisApplicationPool(String name, ApplicationPoolIdentityType identityType, String userName, SecureString password, TimeSpan idleTimeout, TimeSpan periodicRestartTime)
  
at Microsoft.SharePoint.Administration.SPMetabaseManager.ProvisionIisApplicationPool(String name, Int32 identityType, String userName, SecureString password, TimeSpan idleTimeout, TimeSpan periodicRestartTime)
  
at Microsoft.Office.Server.Administration.SharedWebServiceInstance.Synchronize()
   at Microsoft.Office.Excel.Server.ExcelServerSharedWebServiceInstance.Synchronize()  
at Microsoft.Office.Server.Administration.ApplicationServerJob.ProvisionLocalSharedServiceInstances(Boolean isAdministrationServiceJob)
 

For more information, see Help and Support Center at   

Event Type:       Error
Event Source:    Office SharePoint Server
Event Category: Office Server Shared Services
Event ID:           6482
Date:                5/26/2008
Time:                10:41:34 AM
User:                N/A
Computer:        
Description:
Application Server Administration job failed for service instance Microsoft.Office.Server.Search.Administration.SearchAdminSharedWebServiceInstance (0712e6e1-7fe1-4e37-beff-5e940aac48d1). 

Reason: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. 

Techinal Support Details:
System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.  
at System.DirectoryServices.Interop.UnsafeNativeMethods.IntADsOpenObject(String path, String userName, String password, Int32 flags, Guid& iid, Object& ppObject)  
at System.DirectoryServices.Interop.UnsafeNativeMethods.ADsOpenObject(String path, String userName, String password, Int32 flags, Guid& iid, Object& ppObject)
  
at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
  
at System.DirectoryServices.DirectoryEntry.Bind()
  
at System.DirectoryServices.DirectoryEntry.get_IsContainer()
  
at System.DirectoryServices.DirectoryEntries.CheckIsContainer()
  
at System.DirectoryServices.DirectoryEntries.Find(String name, String schemaClassName)
  
at Microsoft.SharePoint.Metabase.MetabaseObjectCollection`1.Find(String name)
  
at Microsoft.SharePoint.Metabase.MetabaseObjectCollection`1.get_Item(String name)
  
at Microsoft.SharePoint.Administration.SPProvisioningAssistant.ProvisionIisApplicationPool(String name, ApplicationPoolIdentityType identityType, String userName, SecureString password, TimeSpan idleTimeout, TimeSpan periodicRestartTime)
  
at Microsoft.SharePoint.Administration.SPMetabaseManager.ProvisionIisApplicationPool(String name, Int32 identityType, String userName, SecureString password, TimeSpan idleTimeout, TimeSpan periodicRestartTime)
  
at Microsoft.Office.Server.Administration.SharedWebServiceInstance.Synchronize()
  
at Microsoft.Office.Server.Administration.ApplicationServerJob.ProvisionLocalSharedServiceInstances(Boolean isAdministrationServiceJob)
 

For more information, see Help and Support Center at   

Index Server  

Event Type:       Error
Event Source:    Windows SharePoint Services 3
Event Category: Timer
Event ID:           6398
Date:                5/26/2008
Time:                11:29:18 AM
User:                N/A
Computer:        
Description:
The Execute method of job definition Microsoft.Office.Server.Administration.ApplicationServerAdministrationServiceJob (ID fe5da1f0-16b1-4e49-8fb5-ac383740a599) threw an exception. More information is included below. 

Attempted to read or write protected memory. This is often an indication that other memory is corrupt. 

For more information, see Help and Support Center at 

  

Event Type:       Error
Event Source:    Office SharePoint Server
Event Category: Office Server Shared Services
Event ID:           7076
Date:                5/26/2008
Time:                11:29:18 AM
User:                N/A
Computer:        
Description:
An exception occurred while executing the Application Server Administration job. 

Message: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. 

Techinal Support Details:
System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.  
at System.DirectoryServices.Interop.UnsafeNativeMethods.IntADsOpenObject(String path, String userName, String password, Int32 flags, Guid& iid, Object& ppObject)
  
at System.DirectoryServices.Interop.UnsafeNativeMethods.ADsOpenObject(String path, String userName, String password, Int32 flags, Guid& iid, Object& ppObject)
  
at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
  
at System.DirectoryServices.DirectoryEntry.Bind()
  
at System.DirectoryServices.DirectoryEntry.get_IsContainer()
  
at System.DirectoryServices.DirectoryEntries.CheckIsContainer()
  
at System.DirectoryServices.DirectoryEntries.Find(String name, String schemaClassName)
  
at Microsoft.SharePoint.Metabase.MetabaseObjectCollection`1.Find(String name)
  
at Microsoft.SharePoint.Metabase.MetabaseObjectCollection`1.get_Item(String name)
  
at Microsoft.SharePoint.Administration.SPProvisioningAssistant.ProvisionIisApplicationPool(String name, ApplicationPoolIdentityType identityType, String userName, SecureString password, TimeSpan idleTimeout, TimeSpan periodicRestartTime)
  
at Microsoft.SharePoint.Administration.SPMetabaseManager.ProvisionIisApplicationPool(String name, Int32 identityType, String userName, SecureString password, TimeSpan idleTimeout, TimeSpan periodicRestartTime)
  
at Microsoft.Office.Server.Administration.SharedWebServiceInstance.CreateSharedWebServiceApplicationPool(SharedResourceProvider srp)
  
at Microsoft.Office.Server.Administration.ApplicationServerJob.ProvisionLocalSharedServiceInstances(Boolean isAdministrationServiceJob)
 

For more information, see Help and Support Center at   

Event Type:       Error
Event Source:    Office SharePoint Server
Event Category: Office Server Shared Services
Event ID:           6482
Date:                5/26/2008
Time:                11:29:18 AM
User:                N/A
Computer:        
Description:
Application Server Administration job failed for service instance Microsoft.Office.Server.Search.Administration.SearchAdminSharedWebServiceInstance (5672e69a-ab62-4c48-9ace-add4fa248cbf). 

Reason: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. 

Techinal Support Details:
System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.  
at System.DirectoryServices.Interop.UnsafeNativeMethods.IntADsOpenObject(String path, String userName, String password, Int32 flags, Guid& iid, Object& ppObject)  
at System.DirectoryServices.Interop.UnsafeNativeMethods.ADsOpenObject(String path, String userName, String password, Int32 flags, Guid& iid, Object& ppObject)
  
at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
  
at System.DirectoryServices.DirectoryEntry.Bind()
  
at System.DirectoryServices.DirectoryEntry.get_IsContainer()
  
at System.DirectoryServices.DirectoryEntries.CheckIsContainer()
  
at System.DirectoryServices.DirectoryEntries.Find(String name, String schemaClassName)
  
at Microsoft.SharePoint.Metabase.MetabaseObjectCollection`1.Find(String name)
  
at Microsoft.SharePoint.Metabase.MetabaseObjectCollection`1.get_Item(String name)  
at Microsoft.SharePoint.Administration.SPProvisioningAssistant.ProvisionIisApplicationPool(String name, ApplicationPoolIdentityType identityType, String userName, SecureString password, TimeSpan idleTimeout, TimeSpan periodicRestartTime)
  
at Microsoft.SharePoint.Administration.SPMetabaseManager.ProvisionIisApplicationPool(String name, Int32 identityType, String userName, SecureString password, TimeSpan idleTimeout, TimeSpan periodicRestartTime)
  
at Microsoft.Office.Server.Administration.SharedWebServiceInstance.Synchronize()
  
at Microsoft.Office.Server.Administration.ApplicationServerJob.ProvisionLocalSharedServiceInstances(Boolean isAdministrationServiceJob)
 

For more information, see Help and Support Center at

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

MOSS | MOSS Administration

Stopping Windows SharePoint Services Incoming E-mail service on a SharePoint server

by michaellotter 5/25/2008 1:06:00 AM

Just recently I was working on adding a new SharePoint server into an existing farm and I was having all type of problems with the search service configuration screen and a bunch of other little things but after uninstalling and re-installing the SharePoint software I finally got all the service screens to appear correctly except that “Windows SharePoint Services Incoming E-mail” was activated.  This service is automatically activated when the server is added to the farm but I didn’t want it activated.  When I tried stopping the service I couldn’t for the life of me remember how to do it.  I knew it was easy but I just couldn’t remember and to make things worse I was getting the two errors below every minute.  This was driving me nuts because I couldn’t find anything on any of the search engines either but then I finally found it in central admin on the “Services on Server” page where I thought it was.  I thought that I had stopped it before on the “Services on Server” page but I couldn’t find it when the new server was active and then it dawned on me that I wasn’t seeing the “Central Administration” service either.  Then I decided to click the “Custom” server role and see what was listed there and presto the “Windows SharePoint Services Incoming E-Mail” and “Central Administration” services were listed with all the other services.  To be honest it only took me 15 minutes to figure this out but when you’re tired this seems to be forever.  I’m adding this to my blog as a note that way I don’t have to search for it and hopefully someone else might find it useful.

Event Type: Error
Event Source: Windows SharePoint Services 3
Event Category: E-Mail
Event ID: 6872
Date: 5/25/2008
Time: 9:16:22 AM
User: N/A
Computer:
Description:
A critical error occurred while processing the incoming e-mail drop folder.

The error was: Value cannot be null.

Parameter name: path.

For more information, see Help and Support Center at

Event Type: Error
Event Source: Windows SharePoint Services 3
Event Category: Timer
Event ID: 6398
Date: 5/25/2008
Time: 9:16:22 AM
User: N/A
Computer:
Description:
The Execute method of job definition Microsoft.SharePoint.Administration.SPIncomingEmailJobDefinition (ID 15cb7ef8-cfa0-4d8e-9892-4deb1c69d0f7) threw an exception. More information is included below.

Value cannot be null.
Parameter name: path

For more information, see Help and Support Center at

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

MOSS | MOSS Administration

“Improve SharePoint 2007 design and navigation with managed paths article” by Bob Fox (SharePoint MVP)

by michaellotter 3/18/2008 12:30:00 AM

This may be old news but I just noticed that Bob Fox (Microsoft SharePoint MVP) has an article published on "Improve SharePoint 2007 design and navigation with managed paths" over on the http://searchexchange.techtarget.com website. In my opinion "managed paths" is a very important piece of a SharePoint solution and if you haven't checked out the article then please give it a read.

Cheers,
Michael

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

MOSS

Using the My Regional Settings for formatting custom web part date fields

by michaellotter 3/11/2008 11:08:00 PM

My current assignment has made me get back into the groove of SharePoint web part development and I really have enjoyed it a lot even though my love is really with InfoPath 2007 and InfoPath Forms Services. The code that I'm doing is unfortunately not something I can share but I can still talk about what I did and what resources I used to solve my situation.

This project has several custom web parts and they all have a date columns and the company is international (does this sound familiar). So I started to look at how to change the date format to be dd-mmm-yyyy but one of their requirements was that they wanted all date fields to have the same format no matter if it was custom or out of the box. After I learned this information I already knew deep down dd-mmm-yyyy date format was out of the question because of time constraints and I didn't have the option to create new definitions or use SharePoint Designer (I'm still not 100% sure if I could have accomplished this with those options). I then turned my focus on using the Regional Settings option under Site Administration from the site Settings.aspx page.

I noticed when I changed the Locale all the dates would change even the date fields in the custom web parts without any extra code. I thought this was a great thing and then it dawned on me that we could just educate all the users on how set their personal My Regional Settings and then all the dates would change without any extra code.

When I tested this I discovered that all out of the box dates changed but none of the custom dates changed. After I discovered this I started researching and found the following links and discovered how to format the date per the Locale from their My Regional Settings page if it was different from the site Regional Settings page. Find the necessary information and putting it together was not difficult at all but there wasn't just one source that had all the information.

I found this link and it gave me the information about the Locale ID that is specified in the My Regional Settings that I needed.

http://msdn2.microsoft.com/en-us/library/microsoft.sharepoint.spregionalsettings.localeid.aspx

This link gave great information on how to format dates with Locale ID

http://msdn2.microsoft.com/en-us/library/5hh873ya.aspx

This link showed me how to get the current user object from the SPWeb object, which has the regional settings information

http://msdn.microsoft.com/msdnmag/issues/08/02/OfficeSpace/default.aspx

This solution really didn't take that long to put together and it was really easy to find all the information I needed through the search engines. When SharePoint 2003 was released a solution like this would be nearly impossible or couldn't be done. Over the last year and half I've been really impressed how much more versatile SharePoint 2007 is compared to the older version and I can't wait to see the new changes for the next version of SharePoint.

Cheers,
Michael

Currently rated 3.0 by 1 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

MOSS | International

InfoPath Forms Services won’t install, upgrade or delete your InfoPath 2007 forms

by michaellotter 10/30/2007 9:14:00 AM

This for all you know administrators that have SharePoint 2007 installations and use InfoPath Forms Services. Josh and I working in our development environment on Monday and we had issues uploading, upgrading or deleting forms from InfoPath Forms Services. We could see the jobs in “Solutions Management” but not in the Timer Jobs but we also could manually get the jobs to execute when we ran “stsadm.exe –o execadmsvcjobs” command. We started to Google and everything else that we could possible think of but we didn’t have any luck until this morning. Josh wrote Jason Medero (brother) a long email about our problem and he said to make sure we had the DST patch installed. When we checked are environment this morning and we didn’t have that installed. So with little searching we found these 2 links that guided us how to install the patches and now everything works great.  We didn't have this issue in production because we installed the patches already but forgot to do it in development.


http://blogs.msdn.com/joelo/archive/2007/10/16/sharepoint-faq-on-dst-and-october-9th-public-update.aspx


http://msmvps.com/blogs/shane/archive/2007/10/18/please-install-the-sharepoint-updates-on-your-server.aspx

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

MOSS | InfoPath Forms Services

InfoPath 2007 and SharePoint Site Columns

by michaellotter 10/24/2007 12:06:00 PM

For anybody that has looked at my blog before knows that I've been working with InfoPath 2007, InfoPath Forms Services and SharePoint 2007 Enterprise and I've been sharing some of my experiences from my projects.  In a recent post I talked about using InfoPath Forms Services and using the Content Type that it creates for Form Libraries and today I would like to continue down that road and talk about SharePoint Site Columns.  The introduction of Content Types and Site Columns in the latest version of SharePoint has brought to the table another thing that needs to be understood when building an Information Architecture.  When you plan to deploy a large amount of forms for your organization it would be ideal to reuse existing columns as much as possible to help keep things more manageable.  What this post will explain is how to use existing SharePoint Site Columns from existing forms for fields that you're promoting from new forms to a Form Library.  Content Types and Site Columns are located on Site Settings page of a SharePoint site and can be found under the Galleries column.

Each Site Column is group by different categories and the one we are interested in is the "Microsoft Office InfoPath" categories.  Everything that is included in this group is currently being used by published InfoPath forms.  If you look at Site Columns and scroll down or change the Show Group drop down to the "Microsoft Office InfoPath" category you'll notice all the promoted columns from your forms.  In the example below you will notice that there is about 12 columns and most of them are unique but some are duplicates.  The reason for the duplicates is because 2 different forms promoted the same field names but didn't reuse the existing column.

Let's take this a little further now.  Let's say you don't have 2 forms but 100 forms and half those forms promote the Divisional Controller field.  Instead of having 2 duplicate fields all the sudden you have 50 duplicate fields.  From a supportability standpoint this would be a nightmare to manage but you might be thinking that still wouldn't be a big deal because nobody comes to this page anyway and it doesn't effect anything in the libraries.  Well this is not the only place you would run into this problem.  You would also have issues in Form Libraries that have multiple forms specified.  The forms would have duplicate columns and these columns would show multiple times even in the form libraries.  The example below shows 3 forms and 2 of the forms reuses columns but the third form doesn't.  Could you imagine what this would look like if you had 4 or 5 different forms specified for this library and didn't reuse existing columns.

Enough of me telling you what could happen if you don't reuse existing columns and let me show you how to reuse columns from InfoPath designer.  In InfoPath there is two ways to promote fields as columns.  One way to promote a field is by using Property Promotion option in Form Options (Tools->Form Options->Property Promotion).

 

The Property Promotion allows you to specify what fields you want to Add, Remove or Modify.  Whenever you add a new field you get the below popup that lets you choose what field to promote but it doesn't give use the ability to choose from existing columns from a SharePoint site.  But if we look at this popup a little closer it gives you a secret message at the bottom where it could be done from. 

It tells us that other options are available on "Select a Field or Group" screen when publishing the form.  These extra options are what give you the ability to choose existing Site Columns from the Web or Site Collection that you are publishing to.  When you are publishing to InfoPath Forms Services it's really important to add the URL where the form will be activated to even though you are publishing the template initially to the file system.  It's important because this where the list of Site Columns comes from.  If fields have already been promoted then highlight the field you want to change and click the Modify button.  The "Select a Field or Group" popup will appear and now you'll have the "Site column group" and "Column name" fields. 

By default the "Site column group" field will have "(None: Create new column in this library)" and if you click the drop down then it will list all the existing groups.  If you scroll down you'll see "Microsoft Office InfoPath" and when chosen the "Column name" field changes to a dropdown list box and lists all the existing columns that you can choose from.  If you choose one of the existing columns then the form will use it instead of creating a new one when the form is activated.  InfoPath will remember the column properties that you set and it won't be necessary to do it again.  If the column doesn't exist then use the original setting and the column will be created but when you republish the form make sure the settings are updated to point to the existing column.  If not another column maybe created and you'll end up having duplicate fields.

Once the columns are created SharePoint gives the flexibility to create a new group in Site Columns and change the column grouping.  This has been done with several clients in the past and groupings are usually done by line of business or something else that is logical for that company.  Using Content Types and Site Columns has really helped my clients streamline and organize the forms in SharePoint and keep the maintenance down to a manageable level.

As always if somebody has anything to add please post a comment because I'm always looking for opinions.

Cheers

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

MOSS | InfoPath 2007

Powered by BlogEngine.NET 1.3.0.0
Theme by Mads Kristensen

About the author

Name of author Author name
Something about me and what I do.

E-mail me Send mail

Calendar

<<  September 2008  >>
MoTuWeThFrSaSu
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

View posts in large calendar

Recent comments

Tags

Don't show

    Disclaimer

    The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

    © Copyright 2008

    Sign in