3. Presenter
Stephan Onisick, MCSD,MCDBA,MCTS, CTT+
SharePoint Developer for Phacil
(Contractor for Missile Defense Agency)
InfoPath Developer for last 18 months
blog: www.infopathpainmanagement.com
email: sonisick@gmail.com
Projects include
Meeting Scheduling Application for Management
Include Creating Outlook Meeting Requests
Digital Signatures
Visual Studio Workflow Backend
Announcement Approval System
InfoPath Managed Code to manage view for SharePoint Groups
Secondary Connections to handle Email to Recipients
Extensive use of Data Form Web Parts to Manage Permissions and Views
4. Audience Experience with Infopath
Notice any headaches, nausea when working on
certain InfoPath Forms?
5. Audience Experience with InfoPath
(more seriously—show of hands please)
How many have developed forms in InfoPath?
How many are using predominantly Client-Side InfoPath?
(Meaning from an InfoPath Office Application verses from a
browser on a SharePoint.)
How many have worked with InfoPath in conjunction with
Workflows or Event Receivers?
How many have worked with InfoPath Managed Code?
**Essentially InfoPath Managed Code is an InfoPath Form
associated with a Visual Studio Program Project.
8. What is InfoPath?
InfoPath is a Microsoft Product used to develop data-
entry forms based on XML. It encompasses both
Client and Server-Side technology to create and
process forms.
(kind of a forms processor and form-processing venue)
**InfoPath is a valuable component in integrated SharePoint Workflow systems.
**As InfoPath integrates more into SharePoint Lists in SharePoint 2010 I believe
mining XML data will become less important—more emphasis will be on
promoted variables.
**InfoPath is not a four-letter word—Ok sometimes it is.
9.
10. Why InfoPath Anyway?
Built into the core of SharePoint
Examples
Document Information Panels
Workflow Association or Initiation Forms
Even More Prevalent in SharePoint 2010
List Screens can be customized by InfoPath
Almost the Only Game in Town
Possible Alternatives
13. Why InfoPath Anyway?
SharePoint 2010 Provides the ability to customize :
Customize list forms with InfoPath 2010: Friday Cool
Content
**Brings up an interesting point: How many have had to
choose between a List and a Form Library for a given
project. In SharePoint 2010 you can use a simpler to
use List and have the ability to customize the entry,
edit and delete screens. (best of both worlds)
18. InfoQuirks
1. Controls with Dissimilar Common Properties.
2. Different Behavior in Preview Mode from Published Templates.
3. Functionality Buried within the Menu Structure
4. NTLM Authentication Problems with Web Services.
5. Difficulty Debugging Managed Code for Browser-Enabled forms.
6. Digital Signature Woes.
7. Tribble Multiplication Effect on Column Mappings in Form
Libraries.
8. Natively, Limited Control over Parts of the Environment.
9. Inability without Managed Code to return a Sorted and Filtered View
of SharePoint List.
10. Continually Changing DataSources to Move from Different
Environments or Servers.
20. InfoQuirks
1. Controls with Dissimilar Common Properties
Why don’t we just use a Read-Only View and not
worry about the quirks?
Gotcha-- if an attachment is involved--it will not be
readable.
22. InfoQuirks
3. Functionality hidden deep in the Menu Structure
Try to access the Rules. They are in many places
depending on control or functionality desired:
“Open and Save” under Tools=>Form Options=>Open
and Save
Individual Controls
Rules
Conditional Rules
Far Right Side Panel for performing many task
Access to programming in Different Places
**This is greatly enhanced in InfoPath 2010 with new ribbon
functionality
23. InfoQuirks
4. Problems with Web Services with NTLM
Authentication.
Double-Hop Issue:
An authentication issue where credentials that are
needed for access to resources on a third computer,
or third tier, cannot be used in the request for those
resources from the second tier.
In our environment, web-services were not a viable
option until the authentication method changed to
Kerberos.
24. InfoQuirks
5. Difficulty Debugging Managed Code for Browser-Enabled forms.
Find harder to debug than other Visual Studio Projects like
Workflows or Event Receivers
Had to use the physical debug statement as opposed to setting
a manual breakpoint in code:
System.Diagnostics.Debugger.Break() to actually get it to work.
How to: Debug Browser-Enabled Forms Deployed on InfoPath Form Services
**A limited amount of debugging can be done in Visual Studio in
Client-side Preview Mode.
25. InfoQuirks
6. Digital Signature Woes
Do you really need Digital Signatures or would some
kind of E-Sign functionality work (like Qdabra
Electronic Signature).
Do you really need a digest that can be tampered with
or are you just trying to reasonably verify the signer?
InfoPath Active X Digital Signature Controls are
targeted to Power Users.
Difficult to download in less Privileged Environments
(We actually had to repackage the controls so that they
could be pushed via SMS to our environment.)
Dependent on Certificate Revocation Server to handle
Certificate Revocation List (we used Tumbleweed)
26. InfoQuirks
7. Tribble Multiplication Effect on Column Mapping
Mapping InfoPath Promoted Columns to Site Columns
Column mappings to form columns can be arbitrarily changed when
new InfoPath fields are inserted or deleted. This can even happen
when a field name or data type is changed within a previously
published form.
For example, a form field named 'EventDate' might be initially
mapped to the internal name 'EventDate' in a form library. This
column might be subsequently be remapped by InfoPath to
'EventDate1' on re-publication. This wreaks havoc when a workflow
or event receiver attached to the form is expecting specific column
names. A workflow might blow up with a mysterious error or enter a
section of code not dictated by your understanding of the logic.
27. InfoQuirks
8. Natively, Limited Control over part of the environment.
Trying programmatically resizing your Screen
Allowing given controls to stay in focus
Controlling the functioning of the back button
Try Exiting or Redirecting within Managed Code
** Through use of XMLFormView control more functionality
can be achieved—but it’s not easy coding communicating
with the Host.
28. InfoQuirks
8. Natively, Limited Control over part of the environment.
Trying programmatically resizing your InfoPath Screen
Allowing given controls to stay in focus
Controlling the functioning of the browser back button
Try Exiting or Redirecting within Managed Code
** Through use of XMLFormView control with or without a web
part more functionality can be achieved—but it’s not easy
coding communicating with the Host.
29. InfoQuirks
9. Inability without Managed Code to return a Sorted
and Filtered View of SharePoint List.
Natively, the list comes back the way it way originally
input. (No filtering)
30. InfoQuirks
10. Continually Changing DataSources to Move from
Different Environments or Servers.
Changing SharePoint ServerNames and Form Library
Names
Sometimes InfoPath would change column mappings when
DataSources changed—causing problems for workflows
and event receivers.
31.
32. Techniques to Ease the Pain
1. Creating Conditional Display of Debugging in the
Form.
2. Saving the Form to Different Locations without
Changing the Data Source. (Managed Code)
3. Getting a Sorted List. (Managed Code)
4. Getting a Functional Reset Button. (Managed Code)
5. Utilizing A Batch Script to Upload Managed Forms.
33. Techniques to Ease the Pain
1. Creating Conditional Display of Debugging in the
Form.
34. Techniques to Ease the Pain
1. Creating Conditional Display of Debugging in the
Form.
35. Techniques to Ease the Pain
2. Saving the Form to Different Locations without
Changing the Data Source. (Managed Code)