Sam Krueger, a SharePoint Architect from Concurrency, Inc. discusses K2 SmartForms and how it compares and contrast with Microsoft InfoPath.
Sam has 14+ years of professional experience in web, SharePoint, and SQL Server with emphasis in business productivity and workflow systems design, development, and consulting.
The K2 platform provides application designers with the flexibility to choose a forms technology that fits their organization’s individual needs, but with K2’s deep integration and ease in which non-developers can build forms, the two most common forms technologies in K2-based applications are Microsoft InfoPath and K2 smartforms. Both technologies address the business need to give non-developers the ability to visually design forms that can be delivered to the organization quickly, but they do so with distinctly different approaches. The following document provides guidance about the similarities and differences between the two technologies and provides recommendations to organizations choosing between the two technologies for their K2 projects.
Sam’s blog posts on www.concurrency.com.
K2 Smartforms Screen Cast examples:
Forms – Build with rules:
Forms – Drag and drop design:
Forms – Tie to workflow:
Transcript of this podcast:
Hello. Today we have Sam Krueger a SharePoint Architect from Concurrency, Inc. with us to discuss K2 SmartForms and to provide contrast between K2 SmartForms and Microsoft Infopath.
Good afternoon Marek.
Sam can you give us a brief background on your specialization?
Definitely. I have 14+ years of professional experience in web, SharePoint, and SQL Server with emphasis in business productivity and workflow systems design, development, and consulting.
Perfect. So today we are going to discuss K2 SmartForms. What is it?
Is it easy to use?
Yes, K2 Smartforms provides a fast, easy way to create forms for business applications. No code, no loss of control. All in your browser. It is easy to drag and drop components onto the form, create rules, and integrate with SharePoint, Dynamics CRM, SQL Server, Oracle, SAP, Salesforce.com and more.
Sounds interesting. Why K2 SmartForms over other form technologies?
Sam K2’s has deep integration capabilities and easy for non-developers to build forms. It also allows for rapid development and deployment. Due to being HTML 5 compliant, the editing and rendering of the forms and compliant with a multitude of devises both PC and Non-PC based.
How does this differ from InfoPath?
Sam: Microsoft InfoPath and its accompanying server product InfoPath Form Services are a combination of technologies. InfoPath forms created with the thick client design tool are a Microsoft cabinet file that contains a combination of XML, XSLT, XSD files that represent the form. An InfoPath form that has been filled in is an XML document that contains the entered data.
InfoPath Form Services is a SharePoint service application that extends the capabilities of SharePoint to render InfoPath forms in Internet Explorer.
Great, how do you design the forms?
Sam: K2 smartforms provides a web-based design experience with no client side installation requirements, allowing for anyone in the organization to design forms with their browser. K2 Designer, the K2 smartforms designer experience, provides a no code, drag-and-drop form assembly experience. All form artifacts are stored and managed in a centralized repository, delivering reusable views and forms across the platform. The K2 Designer provides standard management features for all form artifacts including versioning, check-in and check-out. Access to the K2 Designer and respective artifacts can be controlled through easy to manage security settings.
Marek: How does this differ from the InfoPath Design experience
Sam: InfoPath offers a thick client designer experience. InfoPath Designer must be installed on the client machine of each user
who will be designing forms. InfoPath form artifacts created with InfoPath Designer are saved locally or to a network share prior to publication. InfoPath Designer does not provide any asset management features.
Marek You mentioned integration capabilities. How does K2 SmartForms integrate with my line of business applications?
Sam K2 is a platform for assembling powerful business applications, K2 smartforms – a piece of this technology ensures that business data is stored and maintained in the system of record and made accessible through K2 SmartObjects.
Marek: What are SmartObjects?
Sam: SmartObjects are reusable objects that describe what business data looks like (e.g. customer, employee, purchase order) and what you can do with it (create, read, list, etc). SmartObjects remove the complexity of working with data from the various line-of-business systems that reside within your organization. A SmartObject that represents data in SQL Server looks and acts the same as a SmartObject that represents data in Dynamics CRM, SharePoint or a cloud-based service. SmartObjects are the reusable building blocks for K2 solutions, workflow, reporting and forms. They can be visually designed and implemented in K2 Designer, the same design environment used to assemble K2 smartforms. K2 provides out-of-the-box integration with a variety of line-of-business systems including SharePoint, SQL Server, Oracle database, Salesforce.com, web services, Active Directory and Exchange.
K2 smartforms are a presentation layer built on top of SmartObjects, enabling users to easily build declarative forms that work natively with their business data in a business-friendly manner, without having to deal with the complexity of how to connect to those systems.
Building forms that are natively bound to line-of-business data delivers direct benefits to those designing the forms, those consuming the forms and the business at-large. Designing forms against SmartObjects accelerates forms creation by removing the complexity of working with data from different systems. Users consuming K2 smartforms are presented with real-time access to the information they need from the organization’s systems of record. System administrators and business owners can be confident that data captured through K2 smartforms is being stored in enterprise systems and is available for use by other solutions in the business.
Marek: InfoPath also offers line of business integration right?
InfoPath is a document presented as a form. All the elements of the form, including the data, rules and presentational elements (controls, themes, etc), are stored in the document. At runtime the whole document is passed from user to user with data that is entered by users and stored in a complex XML structure within the document. InfoPath browser-based forms still produce an XML document that is stored in a SharePoint document library.
Third-party data can be brought into an InfoPath form through web services, connections to SharePoint lists or libraries, SQL Server databases and via an XML file. Theses connections are established on a point-by-point basis rather than working with a business entity, as is the case with SmartObjects. Form submissions can be made to a web service, SharePoint document library or an email message. In each case, the information captured in the form is stored in an XML document and sent to one of the submission locations.
Marek: Is it complicated to integrate K2 SmartForms with Workflow?
Sam: Not at all.
K2 smartforms can be designed to act as standalone forms that capture and work with information or they can be incorporated into a workflow solution.
A K2 smartform submission may initiate a K2 workflow or a user may be presented a K2 smartform to act on a task assigned by the workflow.
Form elements, such as rules and controls are surfaced in the K2 workflow design tools to deliver seamless integration between K2 smartforms and a K2-based workflow.
K2 smartforms and K2 workflows are designed to be loosely coupled, ensuring that changes to either the form or the workflow does not impact the other asset. A single K2 smartform can be used in the context of workflow and as a standalone application. This flexibility promotes reuse and return on investment.
Marek: In contrast, InfoPath also has been widely used in Workflows right?
In SharePoint InfoPath forms can be used as SharePoint workflow initiation and task forms allowing an InfoPath form to start a SharePoint workflow or action a SharePoint workflow task. This functionality has been removed in SharePoint 2013.
K2 provides extensive integration between K2 workflow and InfoPath exceeding that provided by SharePoint workflow. InfoPath forms can be used to start a K2 workflow or as a means to action tasks assigned to users. Data captured in InfoPath forms is available for use at any point during a K2 workflow.
Marek: You mentioned the ease of use for designing the forms and the drag and drop functionality. What controls are available?
Sam: K2 smartforms has a portfolio of data type aware controls capable of working with individual data elements. Out-of-the-box controls include simple value controls like text boxes, check boxes and date pickers, as well as complex value controls like a picker control, dropdown list, file attachment, and many others.
All controls can be bound to SmartObject properties, have their value manipulated through expressions or data masking, and have an associated eventing model, allowing for validation or interactive rules to fire when a control values change or some other control event fires.
Equally, controls and their values can be manipulated by form level rules and events.
Marek: How does this differ from InfoPath Controls
Sam: InfoPath provides a toolbox of data type aware controls including text boxes, drop-down lists, data picker, file upload and many others.
These controls are bound to the nodes of the form’s main data source or a secondary data source.
Controls can have validation applied and can initiate or respond to rules defined in the form. InfoPath Design Checker will validate if there are incompatibilities between the form and its use as a web-based form or in a previous version of the InfoPath client.
Marek: You mentioned rules and events in K2 SmartForms. Can you elaborate?
Sam: K2 smartforms provides a rich event model and rules environment that enables users to create interactive forms with no code. Forms, and the views they contain, can initiate rules based upon user events, like when a user clicks on a button or selects a row in a list, or can be initiated based on non-user events, e.g. some data on the form loads or form validation fails. The rules themselves can perform a variety of commonly required actions including cascading drop down population, display of a subform, showing/hiding controls and views, as well as performing complex validation.
The rules can be used to perform more complex actions that turn simple forms into interactive applications, including retrieving data from line-of-business systems and cloud services, starting and responding to workflows and passing data between views on a form.
Marek: How does this differ from InfoPath rules and events?
Sam: The InfoPath Event Model is based on user interface controls. There is little support for opening dialogs to search for associated data that needs to be mapped to the main data source. There is no concept of a subview or multiple data views that can be used on a single form. Repeating tables and sections are available, but as stated above, these items are mapped to a data source and these data sources are method-based and not object-based, making the concept of parent child-relationships challenging to implement. It also makes building forms with real world relationships much more challenging.
Marek: Is it easy to make the forms look nice and be user friendly and intuitive for the end users?
K2 smartforms provides flexibility in applying themes to forms. K2 provides a set of out-of-the-box themes and provides documentation describing how customers and partners can create themes using industry-standard Cascading Style Sheets (CSS). Form themes can be selected at design-time or can be dynamically applied at runtime, allowing different themes to be applied to forms in different environments. It is also possible to apply a theme on a top-level form and have it apply to all subforms used in the main form.
This is also a differentiator between InfoPath.
With InfoPath, the Form Designer allows users to apply predefined themes to their forms. These themes are not extensible, but customization can be done on individual form controls. There is no ability to use CSS styles or generate the CSS styles outside of the InfoPath form for use across all forms in the system.
Marek: If my non-technical users can easily prototype and build forms, how can I control who is working on what and eliminate conflicts on changes?
Sam: K2 has really made this easy for us.
K2 smartforms are designed in a web-based environment. Forms are checked out to be changed. The history of form modifications are tracked and can be reported on. K2 smartforms provides a package and deployment utility, allowing forms and views to be moved between environments. As these forms are moved between environments, each environment tracks changes that occur in that environment. This provides a full audit trail of changes to forms across the enterprise and throughout the software development lifecycle.
Marek: Sounds easy enough
This is also a big difference compared to InfoPath.
Marek: Can K2 SmartForms integrate with my SharePoint environment?
K2 smartforms delivers deep integration with SharePoint without being dependent upon SharePoint.
K2 smartforms can be built to present and manipulate information and assets that reside in SharePoint, including lists, document libraries, sites and managed metadata. This allows for the delivery of K2 smartforms solutions outside of a SharePoint user experience while still leveraging SharePoint information and assets.
Marek What is the process for adding a form to SharePoint?
Sam The K2 smartforms Web Part can be embedded in any page in SharePoint and used to present selected forms. This can be used to deliver line-of-business data to users directly in SharePoint or as a means of SharePoint as a solutions platform, combining enterprise content management and rich forms-based solutions through K2 smartforms.
Marek: InfoPath also has tight integration with SharePoint right?
Example, InfoPath Forms services. InfoPath offers a number of integration points with SharePoint and takes a dependency on SharePoint for the delivery of web-based forms.
An InfoPath form can display or edit information from a list or library in SharePoint through a data connection. A form can be submitted to a library in SharePoint.
InfoPath forms can be published to a SharePoint Forms Library making them accessible to business users. Forms can be filled in using either the InfoPath thick client or a web browser, depending upon the form type and SharePoint licensing.
Marek: One thing in the past that I have noticed is the lack of support InfoPath has had on mobile devices.
Marek: Can you help us contrast K2 SmartForms vs. InfoPath in regards to mobile support?
K2 smartforms produce HTML 5 compliant web forms that will run in the latest desktop and mobile browser versions.
K2 smartforms supports Internet Explorer version 8 and above and the latest versions of Chrome, Safari and Firefox.
The latest mobile browsers for iOS and BlackBerry are supported.
Silverlight 4 or above is required for K2 Designer Workflow and Silverlight controls.
With InfoPath, it supports Internet Explorer 8 and above and the latest versions of Chrome, Safari and Firefox. However, there is a significant disparity between the controls and features supported in InfoPath thick client and InfoPath Form Services.
Additionally some of the InfoPath Form Services features are provided through ActiveX, which is only available in Internet Explorer.
InfoPath supports mobile browsers, though unsupported controls (e.g. data picker, user picker, etc) are rendered as plain text.
Marek: This has been great. Thanks for all the insights and contrast between the form technologies.
Sam: I welcome the opportunity and enjoy topics like this.
Marek: In summary what are a couple of the high level items that would convince businesses to use K2 SmartForms
Sam: Web-based design environment – Thick client installation on individual user machines is not required.
Line-of-business integration – Because K2 smartforms make use of the K2 SmartObject framework, data used and updated in a form is never stored as part of the form, but instead resides in the system of record, ensuring data integrity across both K2 and non-K2 applications.
Reusability – K2 smartforms are assembled using Views, reusable building blocks that can be used in any number of forms across all applications in the organization.
Extensibility – K2 smartforms provides a greater level of extensibility, allowing for custom controls, custom themes and styles and the ability to embed forms in any application.
SharePoint support – Beginning with SharePoint 2013, much of InfoPath’s integration with SharePoint has been deprecated, resulting in an uncertain future for InfoPath/SharePoint applications going forward. K2 smartforms provides loosely coupled integration with SharePoint, enabling a consistent forms experience even if SharePoint functionality changes in the future.