Advanced InfoPath Development InfoPath / SharePoint 2010Prepared By: Suzanne GeorgeSuzanne.George@perficient.comSr. ArchitectPerficient - Microsoft West Region
About PerficientPerficient is a leading information technology consulting firm serving clientsthroughout North America.We help clients implement business-driven technology solutions that integratebusiness processes, improve worker productivity, increase customer loyalty andcreate a more agile enterprise to better respond to new business opportunities.
Agenda• InfoPath – Getting started• Designing foundations• What you need to know• Debugging InfoPath• Creating a Vacation Request Form 3
InfoPath – Love it or Hate it!?!The Promise of InfoPath Where is the developer?? Why Me?? The Developer Dream 4
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
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
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
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
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
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
Suzanne GeorgeFor further information, please contact:Suzanne GeorgeSuzanne.George@perficient.comSr. Technical ArchitectPerficient - Microsoft West RegionTwitter: spgenieBooks co-authored: Microsoft® SharePoint® 2010 Administrators Companion The SharePoint 2010 Handbook: A Collection of Short Chapters for Delivering Successful SharePoint Projects 12
A particular slide catching your eye?
Clipping is a handy way to collect important slides you want to go back to later.