Using Bing Maps within SharePoint 2013


Today I was preparing a SharePoint 2013 demonstration for the conference Overheid & ICT 2014. This is a large conference within The Netherlands where all kinds of governments can see new innovations and possibilities on IT.  For this conference we decided to go along with a whole bunch of solutions we‘ve created of the past few years. One of them where SharePoint project sites. In order to show some more information and to answer a question of a customer, who recently asked If we are able to provide map data on a SharePoint site I decided to display some data on a map as well. I thought this was going to be hard, however with SharePoint 2013 it turned out to be quite easy. Based on this blog, I was able to fix it within 20 minutes. Here is how I did it.

Requesting a Bing key

First of all, you need to request a Bing key. To request a key, navigate to the URL: Using this website you are able to login, or create a new account using your Microsoft credentials. After registering, you are now able to generate key’s. The key is used as a authentication provider, when no key is provided a bar will be shown in the middle of your maps, stating that you are not authenticated. All of the information on Bing Maps will be entered using this key. I suggest you would use a company account to request the key

You are able to generate multiple key’s. So when you want to create something for another SharePoint farm, request a new key, in order to separate al of the Data flows. Especially when developing a commercial website, a lot of request can bring some additional costs.

Preparing SharePoint

When a new key is generated, please copy the key. The key now needs to be imported into SharePoint. This is done using PowerShell. In order to do this login to your SharePoint server, open a SharePoint Management Shell and enter the following command:

Set-SPBingMapsKey –BingKey “<Enter a valid Bing Maps key>”

When the key is imported a new column needs to be created. As we work mostly with site columns and content types, a little PowerShell Script can be used to create the column. The most interesting part, is that a certain field type, namely GeoLocation, is used. Apparently this is a default field type within SharePoint 2013 which can be used. In order to create such a column, use the following PowerShell command:

$weburl = "http://<website_address>"
$fieldXml = "<Field Type ='Geolocation' DisplayName='GPS Location'/>"
$web = Get-SPWeb $weburl
$fieldName = $web.Fields.AddFieldAsXml($fieldXml)

When entering the correct URL the column will be created on that site. In order to change the name of the column change the term <GPS location>, and provide a name that is convenient for you.

The last thing is that this column needs to be added to a content type, and the content type needs to be added to a list. In that case you can use the column.

Entering data and displaying it in Views

After the column is created you can enter data. Normally the column is shown in two lines. However when you click “Specify location” a pop-up appears where the longitude and latitude can be entered, see figure below. Enter both the longitude and the latitude in the separate textboxes.


After entering the data and saving the item, the location is stored in the list which is being used. When the ‘GPS location’ column is added to the view a globe is shown in your view. When clicking the globe, it displays the location of the item. See figure below.


New View

Using this type of column within a view, also offer you the possibility of creating a new type of view. When creating a new view it is possible to create a ‘Map view’. Within this view, a map is shown with pointers to items incorporated in the view. Whenever filters are applied, the items outside of the filter will not be shown. On the left side of the map, all items will be shown, when hovering an item, it will be shown in blue on the map. An example of the map view is shown below.



In the end using this kind of columns offer a whole lot new possibilities. The relative ease of use of this column, makes sure that it is incorporated in solutions easier and out of the box it provides already a lot possibilities. Using such a column I can see a lot of new possibilities appearing within SharePoint.


How to: Test Incoming Enable Libraries in SharePoint

joostFor a project I am currently involved with, we had to create email enabled libraries within SharePoint. At first sight this wasn’t such a problem and we’ve created an installation manual in order to configure all parts related to the Incoming mails. The part of installing and configuring all parts is heavily discussed all over the Internet and the document we’ve created was mainly based on the Blog written by Harmeet Walia. However due to some technical limitations we were not able to test the entire mail flow to date. However we really would want to test the pickup of the messages from the mail server and wanted to see them added to the configured library.

The only option I thought of was with the Command Prompt. However out of the box this isn’t possible, on the other side the good news was that sending emails using command prompt can be done using a Telnet session. The Telnet client can be installed from the Windows Server 2008 R2 Server Manager.

When everything is in place, it is possible to send the email to the SMTP service. In order to do so, first start Command Prompt as an Administrator.

Next execute the following command:

telnet {Server FQDN} 25

In the above mentioned command line first the program Telnet is used. Second the server name to which the connection needs to be set-up is defined, this needs to be the FQDN of the server. And the last part (here 25) is the port number. For mail client’s in most cases port 25 is being used.

When the Enter button is hit, a connection to the server is made. We see a new screen within the Command Prompt and we can start defining the email. First we have to configure several parts. In order to do this, execute the following command lines.

helo {server FQDN}
mail from:{your email address}
rcpt to:{email address of email enabled library}

Within the first line we say hello to the SMTP server (the helo as spelled above is the correct spelling format!). Don’t ask me why this has to be done with this spelling, but it has to be done anyway. Second you have to add a valid email address from which the mail is being send, and next to recipient of the email needs to be configured, which is in our case the email enabled library. Finish this block with data. When the Enter button is being hit, the message can be configured. For configuring the e-mail, use the following example:

Subject: test email

this is a test e-mail
Hello World
sent from Command Prompt

The From and Subject address are being displayed in you message. This can be any valid value. After hitting Enter twice it is possible to configure the body of the email. in this case we have defined three lines (but can be more or less). When the entire email is configured, a dot (.) needs to be entered in the Command Prompt. By entering a dot it is declared that the message is done and can be send. In this case the message is sent and queued on your SMTP server.

TechEd 2013: Wrap up day 1

Two weeks ago I attended the TechEd 2013 Europe conference in Madrid. First of all I have to admit I was quite overwhelmed by the size of the conference. With a huge numbers of attendees, over 450 sessions and a whole conference center being used, it was quite impressive. During the following blogs I want to wrap up some of the interesting points speakers made during the sessions I attended.

Enabling People Centric-IT

During this sessions some further insights were given about the IT that people bring in. One of the trending topics, or issues that IT departments are struggling the most with is BYOD. Using the new software tools Microsoft developed it became a lot easier to manage all kinds of devices. Using Microsoft System Center 2012 R2 configuration Manager, users are now able to easily add file shares and apps to their own device. However when the connection with the device is lost (sold, lost or broken) it is very easy to disable the connection after which all company data is erased.


Source: TechEd Presentation ‘Enabling People-Centric IT’ by Andrew Conway

Looking at the possibilities, I have to admit that I really love those. The ease and simplicity of adding the device to the company’s network and the amount of policies that can be required by the IT department is bringing BYOD to a whole new level, and hopefully more accepted and supported by IT departments.

Overview of Enterprise Social from Microsoft

The next presentation I attended was more in the direction of my daily working experience. During the start of the session a lot of open doors were stepped into, although for me. During the recent years a lot of the numbers mentioned were still impressive, but heard of a lot. However during the presentation an interesting insight was given about the social roadmap of Microsoft, and in more detail SharePoint and Yammer was presented.

The most interesting part of the presentation was that of the announcement of the app which will be released for SharePoint 2013. Using this app you will be able to incorporate the Yammer enterprise flow into you SharePoint sites. Christophe Fiessinger (presenter) also showed some very interesting picture of Yammer integration in Dynamics CRM Online for example.


Source: TechEd Presentation ‘Overview of Enterprise Social from Microsoft’ by Christophe Fiessinger

At the end of the presentation a basic roadmap is given. For me the most interesting point on the roadmap was the option that the newsfeed of SharePoint can be replaced with the newsfeed of Yammer. Personally I like the idea very much, as Yammer gives the users more possibilities in following and adding stuff. When these messages appear on SharePoint, SharePoint will become the major business platform in the enterprise (in most cases it already is). However discussing this roadmap Christophe mentioned that all new features will be placed into Office 365 first (and with a faster pace). And in alter stages the updates will become available for  on premise SharePoint farms. 

Designing for High Availability and Disaster Recovery in Microsoft Lync Server 2013.

During this presentation Justin Morris started with some kind of horror scenario of what could happen with your data center and why High Availability and disaster recovery is important. Using this setting the attention of the public was gained and the possibilities were easily explained. Starting of with the possibilities in Lync Server 2010 and followed by the changes in 2013.


Source: TechEd presentation ‘Designing for High Availability and Disaster Recovery in Microsoft Lync Server 2013’  by Justin Morris

During the presentation Justin told that Lync 2013 was more dependent of SQL Server than it predecessors. However Lync is able to work for almost half an hour with now connection to the back end system. When the connection isn’t back at that moment Lync will start to fail as well. A design issues as well is related to the front-end pool. Within Lync 2013 the pool quorum is introduced. This quorum states that more than 50% of the pool needs to be up and running. When this is not the case the the other servers will go down as well. Justin also mentioned pools with two front-end servers. When one of the two are brought down (in case of maintenance) they should be brought up as soon as possible! When it is possible to bring down both of the servers, please plan this carefully!

Justin has mentioned a lot of other issues and pitfalls related to Lync Server 2013 deployments. You can just view the webcast or check the presentation (see hyperlink above).

Search Architecture, Sizing and Migration in Microsoft SharePoint 2013

During the last session of the day I attended a session related to SharePoint Search and the architecture. Within SharePoint 2013 the search architecture is completely changes (this was necessary due to the integration of FAST Search). Search now consists of 4 components (the feeding chain, the Index Core, The query chain and the analytics services). All of these components have their own components and makes SharePoint crawling all bits and pieces.

After all of the components the sizing for search is discussed. Sizing can be done in two manners:

  1. Scale up (more and faster resources)
  2. Scale out, adding more machines and distribute all components over these machines.

Using the some of the benchmarks and tests that are performed by Microsoft consultants it is showed where the load of the different components lays. Using these scenario’s enables you the scale the servers of search components.


Source: TechEd presentation ‘Search Architecture, Sizing and Migration in Microsoft SharePoint 2013’ by Jan Inge Bergseth.

During the presentation Jan Inge mentioned the Query tool. This tool can be found on CodePlex and gives you insight of the contents that are stored in the index of the SharePoint Search.

After the presentation a lot of questions concerning Search migration were raised. On of the suggestions that were raised by migrating the entire index file was very interesting. However this possibility can only be used when all URL’s will remain the same.

SharePoint 2013: Discussion boards

JoostA few weeks ago SharePoint 2013 gained the Release To Manufacturing status. With this status Microsoft states that the code is complete and that SharePoint is ready to be installed at customers. With this status we can have a look at all new features and improvements that are made in the new version of SharePoint. One of the parts that has major improvements are the discussion boards. Within this blogs I will discuss some of the new features that are available.

Within SharePoint 2013 the discussion bard got an thorough remake. In SharePoint the discussion board was just an list within a page or site. Within the  discussion board a topic and some information about the number of replies was displayed.

imageWithin SharePoint 2013 the discussion board is not just an list. It is an entire site with a lot more functionality. On the discussion board site we now have a complete overview about all discussion topics and possible threads within this topics. Per thread the number of replies is shown. We also see some information about the creator of the thread, who has the latest reply and the date of the latest reply.
Not only the threads are important on the discussion boards welcome page but also the contributors. At the right side we also see a list of the top contributors in the discussion board. The top contributors are defined on a system based on points. In this way we are able to stimulate the usage of the discussion board.

Reputation Settings
As mentioned before points can be earned within the new discussion board. Points can be obtained by creating new threads (by default 1 point). Users can also score points by:

  • Replying to posts (Default 10 points);
  • post is liked or rated with a 4 or 5 star rating (default 20 point);
  • Post is marked as Best Reply (default 100 points);

Furthermore it is possible to gain achievement levels. The achievement level displays the number of points that are scored by the user. Within the discussion board 5 levels can be defined. For each user the achievement level is displayed on the discussion boards home page. The achievement level can be displayed as a plain text marked as ‘level …’ or with as a  visual (a bar of squares, see picture below). Where each square is displaying an achievement level.


The number of points that can be earned, is easy to adjust, by opening the settings page (Reputation Settings). We also can  define if the posts can be liked or can be rated with a five star rating system. Within this page it is also possible to change the achievement levels. Here we can choose whether or not the image is displayed or that the achievement is displayed as text. And the last setting is to manage the list of gifted badges.

Using the new discussion boards enables the organization to create badges for the users. The amount of badges is not set, so the administrators can provide an large amount of badges. The names of these badges are also not set, so the administrator has all freedom to create new interesting names for the badges. These badges needs to be assigned by administrators to the discussion board users.

Unfortunately the badges are not dependent on the amount of points that are gained in the discussion boards. By connecting these two functionalities a very important tricker to reward knowledge sharing is missing.  At the moment administrators are able to manually assign badges to the users, so it is possible to create a rewarding system.

In my opinion the discussion board has had a thorough make over, and is now vastly gaining an mature status. I absolutely think this is a major progression by Microsoft. By using the discussion boards knowledge sharing throughout the organization can now be more organized. Furthermore originations are now able to reward users more when knowledge is shared. In this case knowledge sharing can get of significant more potential than in the past.