Do you want to Print complex InfoPath forms? Use Word instead!

If you are creating large complex forms in InfoPath that need to be either exported to PDF or that are expected to be printed to paper with the look and feel of a large “government” form, you probably do not want to use InfoPath for printing.

InfoPath Print View is good for small forms or for forms that do not require explicit table rendering with checkboxes inside table cells. The issue is that InfoPath was not really created for complex Printing, it is a tool to generate input forms very easily and deploy them to SharePoint for collaboration.

If you want to implement complex printing for SharePoint data, I would recommend using Word Automation services and a SharePoint designer workflows to automatically export the document from Word to PDF.

Word printing is much better that InfoPath and it has an export to PDF feature that is very useful if you need to export your documents to PDF and email them to your users or clients.

Advertisements

C# Code vs. InfoPath/SharePoint Designer?

If someone who works for a consulting company is reading this, you probably will not like this posting but I hope that at least you can see the perspective of your clients when you develop a SharePoint solution.

I have seen over and over again consulting companies delivering highly customized solutions for their clients and leaving them with a product so difficult to support and maintain that the client either changes platforms or hires another company to support the mess. For most companies out-of-the-box SharePoint features deliver 80% of what they need.

For example, in one of my latest projects, an Microsoft Gold Partner created ONE WSP packages for an entire internet SharePoint solution with so much C# code that I thought they had re-written SharePoint. One of the many issues of this presents is that now when the company tries to upgrade a small part of the solution, they have to re-deploy the entire WSP and regression test everything.

Other times, I have seen consulting companies writing the most complicated piece of code to try to make SharePoint do something that it was not meant to do. When you hear a consultant say things like: “I found a back door way of doing this…” or “It is not supported by Microsoft but if you let me do this, I can make it happen…”.
These type of quotes should raise red flags to any company but unfortunately sometimes that does not happen because the company has entered this partnership in good faith and is expecting the consulting company to do the best for them, which does not always happen.

Large consulting companies are paid for billable hours, not for how efficient and productive a solution. I know InfoPath and SharePoint designer have limitations but I can tell you that between both tools and the SharePoint UI, you can reduce the amount of complexity of most solutions. Also, if you have an experienced Business Analyst that works with the business to reduce the complexity of the clients’ requirements into manageable requests, then this can lead to a very successful implementation.

SharePoint Conference 2010–Why InfoPath and SharePoint Designer sessions were so successful.

During the last SharePoint Conference in Anaheim last week, I was very impressed with the overall positive response to SharePoint Designer and InfoPath session. All sessions were completely full with dozens of people standing or sitting on the floor to be able to listen to the presentation.

I think the main reason for this is that SharePoint 2010 is a great integration platform that speeds up delivery time for solutions and is much less expensive than code driven solutions. Businesses around the world have no interest in knowing that their SharePoint solution was written with the best C# code or the latest .NET Framework, the only think they care about is that the solution meets their requirements, their cost estimates and that they get the solution ASAP.

I have seen over and over again how architects or developers design the most complex code driven solutions to business requirements that could be met via InfoPath, SharePoint Designer and BCS.

Next SharePoint conference, I hope Microsoft has more InfoPath, BCS and SharePoint Designer sessions. I believe that businesses have seen the power of these technologies and are eager to learn best practices on how to use them.  The worst mistake that us as developer can do is to keep pushing for complex code-driven solutions that take longer, cost more and are always late.

My advice to every SharePoint developer out there when figuring out how to deliver a solution is to follow this steps:

  1. Understand the business Requirements
  2. Create a solution decision matrix with a list of the all possible solutions with their corresponding pros and cons.
  3. Always think Out-of-the-box first, then think of InfoPath and SharePoint Designer solutions and at the very last think of code base solutions.
  4. Create ONE page technical design document for your proposed solution. Most often this will be an OOB solution.
  5. Present your solution decision matrix to the BA or SA including time estimates and cost.
  6. Let the business make the final decision. You will find out that they will almost always choose the OOB solutions.

The Future of SharePoint

Although Microsoft did not talk too much about the next version of SharePoint, it did mentioned some of the future features that would be enhanced or added to the platform. Two of these features are in Social space. We can expect much more Facebook type of functionality for enterprises that are eager to capitalized on knowledge sharing between their employees as well as search functionality that includes social features similar to Twitter.

Other area of improvement is Office 365 and Cloud based development where enterprises will be able to customized their cloud versions of SharePoint just as they do their on-premise deployments. One example of this is the announcement that BCS will be added as a feature of SharePoint on Office 365. This will allow companies to integrate LOB applications into their SharePoint cloud-based solutions.

My hope is that SharePoint 20XX supports HTML5 more broadly and can be viewed on non-Microsoft Tablet devices like the iPad without the need of a third-party applications. Also, the new version of SQL Server, "Denali", is going make it much easier for companies to manage their SharePoint on-premise deployments by allowing quick disaster recovery processes where an entire Farm, including all its servers can be failed-over in minutes, not days.

SharePoint Conference 2011 Best Sessions

Following is a list of the SharePoint Conference 2011 Best Sessions from a Developer perspective. If you have the time to get the video for all of the sessions, that would be better but if you have limited time to see the conference videos, I recommend these sessions.

  1. Best Practices With jQuery and SharePoint
  2. Creating Awesome Dashboards with SharePoint 2010, Infopath 2010 and SharePoint Designer
  3. Automating Business Processes with SharePoint 2010 (Part 1) – Using SharePoint Designer, InfoPath and Workflow
  4. InfoPath 2010 – Best Practices for Design and Performance
  5. Developing Windows Phone 7 Applications for SharePoint
  6. Customizing Content Publishing Approval Workflows
  7. The Inside Scoop: How the SharePoint Dev Team Troubleshoots Performance and Reliability
  8. Packaging SharePoint Branding Elements for Deployment
  9. Localizing SharePoint Solutions/Lösungen/פתרונות/解决方案
  10. Building Business Applications on Azure using Office365 and Windows Azure AppFabric

SharePoint Conference 2010 – Best Sessions

Following is a list of the SharePoint Conference 2011 Best Sessions from a Developer perspective. If you have the time to get the video for all of the sessions, that would be better but if you have limited time to see the conference videos, I recommend these sessions.

  1. Best Practices With jQuery and SharePoint
  2. Creating Awesome Dashboards with SharePoint 2010, Infopath 2010 and SharePoint Designer
  3. Automating Business Processes with SharePoint 2010 (Part 1) – Using SharePoint Designer, InfoPath and Workflow
  4. InfoPath 2010 – Best Practices for Design and Performance
  5. Developing Windows Phone 7 Applications for SharePoint
  6. Customizing Content Publishing Approval Workflows
  7. The Inside Scoop: How the SharePoint Dev Team Troubleshoots Performance and Reliability
  8. Packaging SharePoint Branding Elements for Deployment
  9. Localizing SharePoint Solutions/Lösungen/פתרונות/解决方案
  10. Building Business Applications on Azure using Office365 and Windows Azure AppFabric

What I learned at the SharePoint Conference 2011

Yesterday I came back from the Microsoft SharePoint Conference 2011 in Anaheim, CA. Although I would recommend this event to every SharePoint and .NET developer, I think Microsoft could have done a better job when choosing some of the session speakers. For example, I went to a  session called “7 Habits of Highly Effective SharePoint developers” but the session had little to do with development and mostly was focused on SharePoint market research from Forrester.

On the positive note, I got to meet several developers from the SharePoint community worldwide and I was able to get a lot of answers to my project questions from Microsoft experts. I specially liked the “Ask The Experts” event on Wednesday night. This was a great opportunity to meet developers form the different SharePoint product teams (InfoPath, SharePoint Designer, SQL Server, Office 365, etc). Everyone had the opportunity to sit down and talk for as long as you wanted with a Microsoft resource.

I would say that the best part of any Microsoft conference is the networking. You can meet people form the worldwide SharePoint community and learn from their projects and ideas. Also, you can see the kind of issues that they are having with SharePoint which can help you in your future projects.

In summary, this was a good conference and I hope it is even better next year in Las Vegas, SPC12.