Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Advanced SharePoint 2010 InfoPath Development
1. Advanced InfoPath Development
InfoPath / SharePoint 2010
Prepared By: Suzanne George
Suzanne.George@perficient.com
Sr. Architect
Perficient - Microsoft West Region
2. About Perficient
Perficient is a leading information technology consulting firm serving clients
throughout North America.
We help clients implement business-driven technology solutions that integrate
business processes, improve worker productivity, increase customer loyalty and
create a more agile enterprise to better respond to new business opportunities.
3. Agenda
• InfoPath – Getting started
• Designing foundations
• What you need to know
• Debugging InfoPath
• Creating a Vacation Request Form
3
4. InfoPath – Love it or Hate it!?!
The Promise of InfoPath
Where is the developer??
Why Me??
The Developer
Dream
4
5. InfoPath - Start with the basics!
• To use or not to use InfoPath? Just because you
can doesn’t mean you should!
– Pros:
•Easy to use interface, integration with SharePoint Lists
and Form Web Parts, Office Integration.
•Power Users can do simple stuff.
•Lookups and repeating tables are easy to do.
– Cons:
•Advanced developers find it frustrating
•Can’t publish people picker fields
•Publishing columns / changes to column names
•No CSS type support (expand/collapse regions)
• evaluate the requirements and prioritization of
features over simplicity and maintainability 5
6. Designing Your InfoPath Form for Success
• Design first!
– Where is the data? Database, List or Library, in the
form?
– Where does the business logic belong – Workflow,
Code-Behind, or InfoPath Rules? Where will
approval happen?
– Form Views – how many views will you need, when
will they show, and who has access to update?
– Form Controls – what types of controls are needed
for the data, which controls will be exported, etc.
– Styles – how will the form look and does it make
sense to the user?
6
7. The InfoPath Need to Know List
• Deployment – Central Admin vs. Publish (Form
Options)
Add-PSSnapin microsoft.SharePoint.PowerShell
$web = Get-SPWeb http://crzo-test77/BASS
• Know = $web.Lists["ApplicationSupport"]
$list how to retrieve your InfoPath Form
w/Powershell
$field = $list.Fields["SR Assigned To"]
$field.AllowDeletion = “true”
– Export-SPInfoPathAdministrationFiles -path
$field.Sealed = “false”
d:Tempfile.cab
$field.Delete()
$list.Update()
• Know how to export source files before checking in to
TFS. (Also Select-Object InternalName FormName.xsn to
$list.Fields | possible to rename
FormName.cab to view/extract contents)
$web.Dispose()
• When removing exported columns, the are not
removed from a list! Here is how to fix it…
7
8. Debugging an InfoPath Form
• Debugging Essentials
– Check form with Design Checker
– Set debug mode
• click the Build tab and then, at the bottom, click Advanced. In the
Advanced Build Settings dialog box, click the Debug Info list and then
click full
• In the Options dialog box, in the area to the left, expand Debugging and then click
General.
• Clear the Enable Just My Code (Managed only) check box.
• Select the Suppress JIT optimization on module load (Managed only) check box.
• Build/Deploy
– Set Central Administration Logging for InfoPath
• Use ULS Viewer for log information
• Urls: http://ybbest.wordpress.com/2011/01/09/how-to-debug-infopath2010-using-
vs2010/
• http://msdn.microsoft.com/en-us/library/gg271285.aspx#IP14_Debugging
8
9. An example… Vacation Form
• The requirements
– User to input form
– All data stays inside form, certain fields are
exported to list
– Version History
– After approval start SharePoint workflow
– SharePoint list views need to have People “is [Me]”
functionality
9
11. Conclusion
• Design first, code once!
• InfoPath can be powerful and leverage both PowerUsers
and developers capabilities
• More things you can do with InfoPath
• Automatically check-in / out forms
• Populate dynamic approvers in form based upon information in the
form
• Dynamically hide and show data
• Mash-ups
• Read/Write to database tables
• Questions?
11
12. Suzanne George
For further information, please contact:
Suzanne George
Suzanne.George@perficient.com
Sr. Technical Architect
Perficient - Microsoft West Region
Twitter: spgenie
Books co-authored:
Microsoft® SharePoint® 2010 Administrator's Companion
The SharePoint 2010 Handbook: A Collection of Short
Chapters for Delivering Successful SharePoint Projects
12