Archive for January, 2012

The “No Code” SharePoint Strategy

For an initial deployment of SharePoint 2010 how about saying:

“We will not do anything that involves custom code. We will restrict ourselves to what we can do with out-of-the-box SharePoint and associated tools”

This is somewhat controversial. I can already hear rumblings of discontent from distant IT strategists. IT strategy should be derived from business strategy, right? An IT strategy should put in place systems and practices that support the business in achieving its objectives. If we say “we won’t do any custom code” this is surely a classic case of tail (technology) wagging dog (business). Why should the constraints of a technology be used to tell the business what they can and can’t have?

That is perfectly true. But, and it’s a big but, SharePoint also gives us the following to consider:

  • The number of things that SharePoint can potentially do for a mid-size to large organisation is pretty large. It encompasses collaboration, intranet, document and content management, social features, search, business intelligence, and business application delivery. Deciding where to start can be a challenge.
  • As soon as you start custom coding within SharePoint (or anything else), the cost and risk both go up considerably.
  • For almost all organisations there are some real “quick wins” that can be delivered without custom code. For example, we often build one or two form and workflow driven business applications. These can be delivered in a matter of days and provide tangible value. The appropriate use of third party products such as those from K2 and Nintex can also facilitate the delivery of more complex workflows without custom code.
  • Users and stakeholders want to see something. Custom coding projects can take months. A no code approach gives them rapid visibility of where all that money they spent on licencing has gone.

I should make it clear that I am not advocating that custom code should never be used. If for example you have a requirement with a compelling business case that can only be delivered with custom code, then make the case and go for it! However if you are looking at SharePoint, and have numerous possible projects under consideration, then an initial no code approach will allow you to derive some quick benefits at low cost and low risk. You can then revisit your strategy later once users have got used to the system. At this point you’ll probably find that business requirements have changed anyway, as once people have started using and benefitting from SharePoint, their thoughts about where they need additional functionality almost inevitably change. So when you decide it is time to crack open Visual Studio and start custom coding, the chances are you’ll end up with a better custom coded solution than you would have had if you’d done the custom work up front.

Comments welcome as always!

Ian

Free Strategy Paper Download  – Delivering Maximum Business Value With A SharePoint Based Application Strategy

Build a Simple Language Translator using InfoPath and No Code – Part 1 of 2

One of the most useful features of InfoPath, is the ability to easily set up and use data connections from so many sources. Using data connections to web services, InfoPath can be used to create a form that passes data onto a third party website where the data is acted upon in some way and a response passed back to the end user.

A simple, yet practical example of this is this simple text translator. This was built on the back of a customer request to have forms available in multiple languages. No code is used in this development, but we do make use of the “Rules” functionality by which Business Logic and in-form workflow can be built.

While the result of some InfoPath experimentation presented here will not be putting any multi-lingual technical translating staff out of business I’m sure you can think of other applications which could benefit from a Web Service interface such as this.

Ok – so how do you go about creating a translation form? It’s as simple as baking a loaf of bread, so let’s start by looking at the ingredients we will need!

Recipe for InfoPath Translator – Serves 5 ( English, German, Spanish, French and Italian!)

Ingredients:

Instructions

  1. In InfoPath 2010 Designer create a new Blank Form and create a table with six rows and two columns
  2. Create a Data Connection – Not built one of these before? – Don’t worry a wizard makes this really simple!
    1. From the ribbon select Data / From Web Service /From SOAP Web Service and enter in the web service URL as below:

3.Now from the list of Services select Translate

4. On the next screen you will see a list of Parameters that are used by the web service – Enter your Bing Application ID here by using the Set Value button (You do have an app id don’t you? If not, sign up at http://www.bing.com/toolbox/bingdeveloper/) In the content type and category parameters set the values to ‘text/plain’ and ‘general’ respectively

5. The next screen should be skipped – hit the Next button

6. Now we are on the final screen for our data connection set up. Deselect the “Automatically retrieve data when form is opened” check box – Best practice for forms is to only use data connections when needed, and we will only be calling this service when a button is clicked

Build a Simple Language Translator using InfoPath and No Code – Part 2 of 2

7. After you have finished your data connection you will have two data references in your InfoPath project – Main and the Translate service you just created will be labelled a secondary connection…

You will see from the view above that the data connection is in two parts “query fields” and “data fields”. Put simply, the query fields enable you to pass information through the data connection and the data fields represent what you get back!

8. Enter text labels in the left hand column of the table you created in step 1 and drag the text field and the TranslateResult fields from the fields pane on the right into the form layout 

9. Now switch to the Main Data view in the fields pane and add two dropdown list controls and label LanguageFrom and LanguageTo… This will create two extra field references in the Myfields folder of the Main view of the Fields pane as in the screenshot below. These two fields will be used to provide data to the “From” and “To” query fields of the Translate data connection

10. Enter the values as in the screenshot below to the Drop Down List Box properties for the LanguageFrom field

11. And enter the values as in the screenshot below to set up the LanguageTo Dropdown List Box properties: Yes, pretty much identical to the LanguageFrom field!

For this example I have only added five languages and their associated codes , but you can add additional languages to these controls if they are supported by the Microsoft Translate API.

12. Now finally we just need to add a button to our form and attach some logic to the button so that when pressed the following will happen:

  • Populate the “From” query field of the Translate data connection with the value selected in the LanguageFrom Dropdown List
  • Populate the “To” query field of the Translate data connection with the value selected in the LanguageTo Dropdown List
  • Run the web service to see the translate result

This is achieved simply by adding a button from the Controls section of the Home ribbon and adding a Rule with three actions as below:

The three actions are

  1. Set a fields value (select the “from” field from the Translate data connection and make equal to the LanguageFrom field from the Main data connection)
  2. Set a fields value (select the “to” field from the Translate data connection and make equal to the LanguageTo field from the Main data connection)
  3. Query using a data connection (select the Translate data connection)

Conclusion

Well, that’s all there is to it! Test the form in preview mode and add some simple sentences and combinations of From and To languages. If you have been successful, you will appreciate how InfoPath can be used to address some fairly complex Business scenarios in a straightforward manner with NO CODE REQUIRED!
J

Do you have any similar examples of code free web service based InfoPath development – we’d love to hear from you!

ISC London: Quickly Delivering Business Applications on SharePoint 2010 Session

I’m looking forward to talking about quickly delivering business applications on SharePoint 2010 at The International SharePoint Conference London 2012 in April. I’ll be co presenting with one of our customers.

When the tools available in SharePoint 2010 are used appropriately, it can be phenomenally productive. In my session, we take a look at how it was possible to build a fully featured business application, with forms, workflow and reporting in a matter of days – and without writing any code. Using Purchase Order management as an example, I’ll review the business requirements and explain why SharePoint was chosen for the application, before getting hands on with some demos and looking at how SharePoint capabilities were leveraged to quickly deliver the application at an engineering company.

Full agenda of speakers can be found here. It’s shaping up to be another excellent event!

Register ICSLondon

Click here to register: http://www.internationalsharepointconference.com/Pages/Register.aspx



Follow

Get every new post delivered to your Inbox.

Join 279 other followers