SharePoint 2013 DevCamp Redmond


Yesterday I went to the SharePoint 2013 DevCamp in Redmond WA

It was a great 2 day DevCamp focused on the development of SharePoint 2013 Apps for the Office store. The first day we did an overview of the SharePoint 2013 new App development model and reviewed the development tools.

The second day, we developed our own SharePoint 2013 app. In my case, I developed a SharePoint Hosted-App that got information from a Windows Azure Rest service using oData and oAuth. I was able to develop the solution in a few hours and deploy it to my Office 365 SharePoint “Napa” developer site.

You can get the DevCamp PowerPoint presentation and code at:

Also, I recommend to get a free “Napa” Office 365 developer account at:


SharePoint Saturday Redmond – 2012

Yesterday I had the opportunity of going to the SharePoint Saturday event in Redmond at the Microsoft campus. I had a great time meeting lots of people and learning about SharePoint 2013. Following are the most important things I learned and reference links:

  • SharePoint Saturday Redmond
  • You can get a developer license to develop Office and SharePoint 2013 apps right now of free
  • New product:  “Napa”. This is one of the most important developments from Microsoft in the SharePoint space, basically you do not need to have the Visual Studio client to develop SharePoint apps, you can develop on the cloud in IE 9. You can code and get intellisense and other IDE features right on your browser. The only thing that disappoint me is that you cannot use this great tool on a Mac or a Safari browser.
  • Basically a SharePoint App is a new way of doing SharePoint development where you DO NOT run server side code on the SharePoint Servers, rather you use REST, oData and oAuth to connect to SharePoint interfaces from any client app that can call a Rest service. This is really cool because you can now create SharePoint apps from iOS, php, java, etc. This is basically the way you develop apps for Facebook, LinkedIn, etc. Yesterday, I got my license and I am starting to create Apps for SharePoint
  • SharePoint Apps explained
  • SEARCH! Search is now the main platform for creating ECM sites. You can use search to target content for users, drive navigation menus and creating content. If a Public EMC SharePoint 2010 site, you only need 4 of 5 page layouts to render an entire corporate  public site. The way to do this is by creating custom search scopes to crawl any content internal or external to SharePoint and using the OOB web parts to display the information on SharePoint 2013, which also allows you to customize the web part via CSS or HTML to make it look the way you want. THIS IS A GAME CHANGER FOR MICROSOFT!

Missing topics that I need to research

  • Mobile development on SharePoint 2013
  • Creating a UI in SharePoint 2013 that is mobile enabled and targeted for iPhone and iPad devices.
  • Does SharePoint 2013 have a better OOB mobile site?
  • BCS in SharePoint 2013
  • BI and SharePoint Apps

Over all the conference was a success and I am looking forward to developing SharePoint Apps right now. Specially using Node.js, iOS and HTML5.

Windows Azure, Node.js, SharePoint 2013 and Jade (following the LinkedIn architecture pattern)

I am a big fan of Node.js (asynchronous I/O model) and it is great the Microsoft has a Windows Azure solution that hosts Node.js applications. After SharePoint 2013 was released, I had an idea that I think could be used on the new SharePoint App feature of SharePoint 2013, specially on the Cloud Hosted Apps. 

For example, the way LinkedIn implements is mobile UI is based on the Node.js internet server and a MongoDB data source that sends content and other artifacts to Node.JS. In turn node.js sends the structured data to express.js and Jade to render the UI for any device or native application. Following the same pattern I can see SharePoint being the MongoDB and sending list or Business Connectivity services to Node.js and therefore express.js to render a UI based on SharePoint 2013 data to any device. We could even use jQuery Mobile to enable a better UI for smartphones or iPads.

I am going to create a demo with this architecture to test its performance and feasibility in an enterprise. After all, the main goal is to empower business to achieve their goals faster and not only because the technology is cool.

For my demo, I am planning to use a developer license for Windows Azure and a SharePoint 2013 instance from CloudShare

I will be posting my findings in the near future. In the mean time, take a look at the article on MSDN Magazine from Joseph Fultz: “Mixing Node.js into your Windows Azure application”

Learning from a Certified SharePoint Master

Last week I attended the SharePoint Intelligence Conference in Redmond and I listened to a keynote from one of the few Microsoft Certified Masters in the US, Miguel Woods. 

The keynote from Miguel was excellent because he covered the aspects of a SharePoint developer career that need more attention and the future of IT.

Basically his main advice for SharePoint developers was:

1. Learn more about the business side.

2. Become proficient in PowerShell.

The idea is that if we want to advance in our careers as SharePoint developers we need to learn more about how the business teams work so we can serve them better. There are many developers that lack the ability to think like a business user which limits their ability to develop solutions that maximize productivity for that business user.

The second point is related to PoweShell; which was thought only as a tool for Exchange Administrators but now it is tool that all SP developers need to learn. For example, Powershell can be used on your developer machine to automate site creation, WSP deployments and activation, etc. Also, it is a great tool for finding application errors.

After that talk I asked a few people which Powershell book they recommend and they all suggested  “Automating Microsoft SharePoint 2010 Administration with Windows PowerShell 2.0″

Great presentation, Thanks Miguel!

How to make a mobile site for SharePoint 2010 data and content

A few weeks ago I learned about the way LinkedIn implements their mobile application and web site. Basically they use the same code base for both, meaning:

  • HTML 5
  • CSS 3
  • Node.js
  • Express.js
  • javascript
  • Socket.IO
  • MongoDB

Based on this technical design, I realized that SharePoint could use some of these technologies to create a mobile enabled site. The Out-of-the-box mobile version of a SharePoint site is ugly and it takes several third-paty tools (telerik, infragistics) to implement. By contrast, if we use Node.js to generate data and content services based on SharePoint lists. After that Express.js would use that information to create the javascript templates for the UI in HTML5 and CSS 3.

This implementation has the advantage of creating a one uniform UI for desktop web browsers and mobile devices. Also, with this technologies and HTML5, this application could be exported to PhoneGap to create native applications for iOS, Windows Phone and  Google Android.


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.