SharePoint Forms All you ever wanted to know about forms but were afraid to ask Hi, I’m Jed Not this Jed Jed Lake Coder LimeLeap/Pistachio @jedlake [email protected] http://go.limeleap.com/community What are we talking about today? Forms! Options for creating forms in SharePoint Pros/Cons of each Pistachio Demo So you need a form? 1. Ask Questions 2. Choose best form solution to meet business need 3. Build Ask Questions What fields are needed? What field types are needed? How much data will be stored? Any dynamic behaviors needed? Security Who can access the data? Read/Write/Delete permissions? • Where does the data need to be saved? Any existing data need to be accessed? SharePoint Form Options SharePoint List Forms SharePoint List Forms - Features • Set order of fields • Specify data type, if required, enforce unique value, set length • Validate input (using formulas and functions that resolve to TRUE, similar to Excel) • Calculate values • Rich text notes with images • Multiple choice and list lookup • External content types • Attach files to record SharePoint List Forms – Pros Easy to set up Lists also include calendars, tasks, links, contacts Use common functions from Excel, including ‘If’ statements No programming or external tools needed SharePoint List Forms - Cons You can only access up to 5,000 items in any single view Theoretically a list can store millions of items, but in practice the numbers are far lower before lists become unusable (thousands at most) Very limited layout tools, not very customizable SharePoint List Forms Bottom Line: Good choice for simple applications that don't have too many columns or records and that only require basic functionality. SharePoint Designer SharePoint Designer - Overview SharePoint Designer is a full website-editing tool that you can use to customize the layout of default list forms and add more functionality. You are still working with the base list functionality, and are editing the .aspx file that renders and controls the form. SharePoint Designer – Overview Cont. There are three default .aspx files associated with list, one each to add, edit and view (DispForm.aspx, EditForm.aspx, and NewForm.aspx).. Files are located in the same folder as their associated SharePoint list. Open the list in Designer, create a new form, and set it as the default for the list. Additional features you can add with Designer Show or hide fields based on certain criteria Change the layout Add formatted text and visual elements Use additional .NET data controls Change the XSL, HTML, or ASP code used by the form SharePoint Designer - Pros Designer is a free download from Microsoft You don't have to be a programmer to use the tool, and can create a better UI experience fairly easily You can also use Designer to create workflows using a simple wizard SharePoint Designer - Cons You need to understand how SharePoint is structured and stores files You can't implement advanced features such as related child records without programming You are still restricted by size limitations inherent in SharePoint lists In SharePoint Designer 2013, the design view is no longer available You can no longer create full-featured data view Web Parts (DVWPs) to display list-based content Simple page formatting changes will become much harder SharePoint Designer Bottom Line: Use Designer when you need to customize the visual layout of your forms beyond what you can do with lists alone, and add some additional data control features. Your not going to get everything you want unless you can write custom code, but if you can write code you might as well use a better tool like Visual Studio. InfoPath InfoPath - Overview InfoPath is Microsoft's dedicated form creation and editing tool. With little or no coding, you can build complex forms that can access many data sources. You can create multiple views within a form and choose which one is displayed when the form is opened. Info Path - Features Offers form building wizards More out of the box controls than lists - repeating sections, digital signatures and many formatting options Offers calculations, business logic and dynamic form control Supports file attachments Supports code to manipulate data on the form Can be used offline (collecting data in the field unplugged) InfoPath - Pros • Works well with structured data and external data sources (through BCS) • Visual designer for building forms • Includes complex out of the box controls like Date Picker, File Attachment control and repeating section • Integrates well with SharePoint work flows • Easily add rules to forms for dynamic behavior • Doesn’t require any programming InfoPath - Cons • Not very intuitive to use • Setting up form to connect to external database isn’t easy • InfoPath requires Forms Services to run which only comes with SharePoint Enterprise. • Either upgrade your Standard or WSS edition or purchase the separate Forms Server product • Not great for complex scenarios like master detail views Info Path Bottom Line: InfoPath creates forms with the features you expect for common business scenarios, including access to external data sources. It's a good option if you are already running SharePoint Enterprise and your needs are fairly typical. It is not the right tool if you need complex actions to and from the database or want contemporary web features - you won't be able to do so even if your a programmer. A few other options: • Visual Studio Solution • Excel • Access • Apps (SharePoint 2013) • Iframe • 3rd Party Tools SharePoint Form Blog Series For more details and examples check out our blog series on SharePoint forms: http://go.limeleap.com/community/?Tag=SharePoint+Forms 3rd Party Tools Create applications in SharePoint Pistachio makes it easy to work with external line-of-business data within SharePoint. Use Pistachio to search, report, pivot, drill-down, edit, export, and more. Pistachio can be used to integrate financial information, budgets, membership data, or any external SQL Server data into SharePoint. You can also use Pistachio to build a new SharePoint-based application that stores the data externally. All Pistachio functionality is fully configurable and does not require any programming.