Skip to main content

Renato Lima

Microsoft Technology Specialist - Microsoft CRM
Home  Professional  Microsoft CRM  Personal  Contact  Member Login   
Performance Blog
CRM Team Blog
SharePoint

European SharePoint Best Practices Conference 2011

This document lists the topics discussed on the event in London that raised my attention.

As the talks I have attended were most related to development, technologies and businesses the list and comments below will reflect that.

Products

These are the products on the top of the agenda and bringing more interest around during the event.

SharePoint 2010

It looks like the improvement over the last version, 2007, has really been huge. Most people are using it for regular document sharing repositories, intranet websites, extranet websites and internet websites. But more and more people are starting to use it for real internal collaboration and as a central location to share business dashboards and strategic information.

One example is the use of MySites (the personal site), so that employees can share their documents and thoughts. I.e. you could update you site with a comment on the progress of you project and others colleagues following you would see the updates. This way the whole team would keep up with a project progress without having to exchange too many e-mails.

The use of Social like pages as such Wiki pages is increasing as well even though it seems to be many related bugs around the Wiki pages updates.

InfoPath

Basically a tool to create forms that can carry constraints, formatting, rules, conditions, etc. and used as single form or a wizard like form set. The results are stored internally as xml.

The tool can be integrated with SharePoint where a SharePoint Workflow could for example send an e-mail with a link for a form that requires approval. The result of the approval process would then be submitted back to SharePoint and have their data stored on the SharePoint database.

Further customisation could accomplish CRM integration. Either customising SharePoint to send the information to CRM or customising InfoPath to record the information on CRM as it is possible to right events logic for the InfoPath forms.

Another use of InfoPath could be internally on CRM under an Iframe to gather or present additional information without having to rely on custom web form development to accomplish that.

Visio

There is a new Visio workflow template for SharePoint that could be used to draw workflows on Visio, then export them and import on SharePoint. Otherwise, workflows have to be created using the SharePoint Designer or Visual Studio which are less user-friendly.

It is possible to create Visio diagrams which are attached to PerformancePoint (see below) variables and publish these diagrams on SharePoint.

For example, you could have a PerformancePoint instance that gather information from CRM about the licences downloaded for the CSD System. Having a Visio diagram by region or a world map that is attached to that information and published into SharePoint; the users would be able to follow the progress of downloads visually using the internet and SharePoint and drill down clicking on the region.

PerformancePoint

Tools that comes with SharePoint and can be used to monitor different sorts of data. It can be use to generate business sensible information and present it as dashboards, graphs, etc. Further drill down on the data is also allowed. See Business Intelligence Tools comparison further on this document.

PowerPivot

BI tool to create complex data matrixes that can be integrated with SharePoint to create a user-friend experience for data analysis on the web browser, including drill down and filtering. It could be costly though. See Business Intelligence Tools comparison further on this document.

Office 365

Costing as little as £4 a month per user and on its Beta version it will bring the productivity of the Office platform to the internet. It will include Exchange Online, Office Web Apps, SharePoint and Lync (see below).

SharePoint Online

Microsoft Azure cloud based SharePoint solution included on the Office 365 pack.

Lync

Collaboration platform for messaging, video conferencing, remote support and document sharing integrated with SharePoint.

Integration with in-house applications is possible through the Lync SDK and API.

Gap Minder

Animated chart free tool.

Very interest example of information analysis:

Play with the tool online:

http://www.gapminder.org

Microsoft CRM

Actually there were not many references to Microsoft CRM. It seems like CRM people are much more aware of SharePoint than vice-versa. Just a few speakers briefly mentioned CRM in a few integration scenarios without giving any specific details.

Development

SharePoint Development Studio

It is the main customisation tool.

Visual Studio 2010

For more advanced customisations, just be careful not to customise so much that SharePoint becomes a proprietary product that only you will be able to maintain.

SilverLight

Great for rich client experience. I.e. when drag and drop operations are required, dashboards, media interaction, etc. It runs well on a variety of operational systems and browsers; better for business awareness applications than Flash.

JavaScript

I am happy I am not the only one. Many experts hate it! There are many good reasons to use it when necessary and it has become more robust and easier to develop.

jQuery

Default JavaScript library used on the market and which Microsoft has embraced. Therefore, I would suggest that JavaScript developments that require a JavaScript library consider jQuery as it is more likely you will find the right people to maintain the code later on.

XSLT vs. DataView WebParts

One best practice shown is to use the new XSLT based WebParts as they are more flexible and easier to deploy throughout different environments.

Development, Test, Production structure

As one of the many answers I’ve heard, "It depends". It could be as complex as having many different servers as desktop, development, integration, build, staging, pre-production, production; or it could just be as simple as having a test site collection to perform the changes and approve them and then make them live publishing them to the production home pages.

SharePoint and Sandbox development

There is a new concept of Sandbox solutions on SharePoint 2011. These solutions can be deployed as a kind of plug-ins. They have restricted access to SharePoint server Metabase and servers. They are good for making sure their code is not going to break or cause issues on the server. They can be monitored and uninstalled easily. They are a very good approach for hosted deployments of SharePoint.

Use of custom Ribbon controls

It is possible to create custom Ribbon Controls "Menus". There are some xml files that have to be created and some JavaScript code to be written. It definitely does not look like a very straight forward thing, but it is possible when required. The ideal is not to change default ones but create your own one and place it wherever you like. It can be among existing controls using positioning indexing numbers for the controls.

Technologies

HTML 5

Many references and comparisons between HTML 5 and SilverLight and other development approaches and at the end a feeling that this is something that even though the big players (IBM, Microsoft, Oracle, etc.) are working together on it; it does not look like it will really be a reality before 3-4 years or so. When we get there we should get better standards though as this is what is all about at the end.

Linq, JavaScript, JQuery, Ajax and OData (REST, Atom, AtomPub, RSS, XML, Json)

The direction is to combine some of the best technologies and concepts in use today and bring them to a standard which developer should follow to bring more consistences to the world of data access.

Currently there are just so many ways to access the data that even under the same deployment it is possible to see quite different approaches when accessing data.

XML

Everything around data, metadata, configuration files, query syntax, data return, even objects are serialised under XML syntaxes.

CAML

SharePoint uses CAML as the default pattern for XML when dealing with object attributes, rendering information and querying the SharePoint Metabase. It can be somehow compared to the CRM Fetch Xml query format.

Atom, AtomPub and RSS

SharePoint relies on the feed patterns Atom to retrieve information on XML feed format and AtomPub to update back the servers. Atom is very similar to RSS feed format and it was created to be more flexible than RSS.

REST

REST is a pattern for retrieving data through http calls. It uses a series of query string expressions to return data from the server.

OData

OData is the Microsoft implementation of the REST standard as an open source project. It uses a series of query string expressions to return data from the server. The data can also be easily filtered and ordered. You can tell when you want related entities data retrieve on the same call as well.

The returning data comes on the Atom xml format or you may ask for it on a Json xml object format so it is even easier to bind it to further web controls and manipulate the data (See below).

Json

Json is a data format that returns the data in a format that is easy to manipulate as a data object (non-xml). It makes it easier to bind to further data objects as well.

JavaScript, Ajax, jQuery

Having the browser as the UI interface brings the challenge to deal with necessary calls to the server. The language of use then is JavaScript. To avoid complete post-backs and page refreshes it is necessary to make asynchronous call to the server that returns the required data. These asynchronous calls, Ajax, require a bit amount of coding and as such it brings many different ways to perform the same task and get the same result. The code though could be complex, difficult to maintain and prone to errors and bugs. Cross browser compatibility is an additional issue here.

Here comes jQuery, the most used JavaScript library on the internet that helps on making different developer having similar codes and more scalable.

Therefore, the best practice I saw in extensive use today is to write code on JavaScript using the jQuery library to return data through Ajax calls. The calls are requested to the RESTfull service OData that return the data in either Atom feed xml format or Json to make it easier to manipulate using jQuery and binding to html objects on the page. Updates can be sent back to the server using the AtomPub protocol using the methods PUT (update), POST (insert) or DELETE for example. Ufa!

Linq

The Microsoft query technology that makes it possible to query a large number of different object types using the very same SQL like statements using Select, From, Where, Order By, etc. is gaining more and more field and it is available now for SharePoint (SPMetal.exe) as it is for CRM since CRM rollup 10.

Even though there are some restrictions on more advance queries and some concerns about performance impacts on large amount of data. It is clear that the productive it brings to developer and its maintainability makes it one of the more powerful technologies today and it is here to stay.

Partners

KnowledgeLake

Document scanning product integrated with SharePoint and workflows.

Deployment

User Adoption

The directions have been clear. Make things easier for the end user so they have to go through less screens, forms, buttons, clicks, etc.

Process Automation via workflows

Make use of workflows to fill in fields and automate the processes as much as possible.

InfoPath workflows

Use of InfoPath integrated with SharePoint to make workflows simpler and easier to maintain and integrate.

Tasks vs. e-mails and their due dates

Make use of tasks and e-mails to acknowledge the users and escalate process problems before they become the bottleneck of something important.

SharePoint Social for Social Networking

Do not consider Social Networking on SharePoint just because it is fashion. But definitely there are some examples of companies making a good ROI on this kind of implementation. The best practice is, use it to solve a problem you already have instead of trying to create a problem to use it.

Business Intelligence (BI)

There are just too many options for data analysis and it completely depends on it case to know which one is the best option, if that answer rather exists. Each one has its strengths and weakness.

Chart Webpart

Good for charts based on List views. No drill down though.

Excel pivot tables from data sources

Excel connectivity can be used to bring information to Excel so it makes it possible to manipulate it through the excel data analysis functionalities.

Excel services

It makes it possible to show Excel file data and graphs on a SharePoint page so that the user can see it on the browser. Any update to the file is shown automatically on the SharePoint page.

PerformancePoint (Drill down)

Provides a non-expensive way to create data matrixes and make them available to the end users so they have the possibility to analyse the data through many Business Intelligence options such as graph dynamic manipulation and drill down.

PowerPivot to generate pivot tables, graphs and dynamic filters for scalable

This is a more robust and expensive way to go for data analysis of huge amounts of information.

Reporting Services

People love it as it is an easy way to create business reports bringing information from many different data sources and making them available on SharePoint.