What does SharePoint 2013 mean to the Visual Studio Developer Ninjas?


You may also be interested in: O’Reilly – SharePoint 2010 at Work


 

2012-07-27-Ninjas-01.jpgJeff Teper has concerned some community folk after Mike Watson posted something in the SharePoint Yammer community that pointed to a comment made around “Use SharePoint as an out-of-box application whenever possible…I’ve seen many SharePoint deployments where they would have been better off out of box and with the new UI we want to be really clear on that”. Wictor Wilen (MCM, MVP) made a great comment on this “that blog post and statement will be with us for a long time and for us dealing with clients the "We encourage you not to modify it […]" will really impact the business for SharePoint 2013”. And the definition of “out-of-the-box” is not restricted to just Visual Studio Development…we are talking JavaScript and HTML 5 tinkering too…all put the UI at risk for upgrades and operation supportability which is where Jeff is coming from.

Jeff does state “there will also be places where people write code which we want to support better in the new model but also want to encourage folks to be thoughtful about their code”…I’m kind of taken a back here. We’ve always been thoughtful of any customization…but the problem is…the platform can be customized and as much as you push back on customers asking for changes to the UI…they’ll pay for it and won’t care on your warnings. I for one am scared of the new NAPA framework, introduced by Jason Zander, that easily lets power users put together JavaScript code to manipulate the UI…that is Pandora’s Box a lot more so than SharePoint Designer in my opinion.

“ASP.NET is dead”

Doug Ware (MVP) has written up a great post on his opinions on what the new SharePoint 2013 preview means for developers. I think he’s a bit bold in saying “ASP.NET is dead”, considering the new remote-hosted app model encourages you to build web applications remotely from SharePoint platform.

To Doug’s point, a lot of the new UI stuff is back-ended by some pretty slick JavaScript and HTML5 elements in the 15 hive (root folder/whatever you want to bloody call it!). I’ve been saying for a long time, and to be honest, joined this march late…considering Marc Anderson (of SPServices fame) has been banging the JavaScript drum for a long time. As a managed code guy, I hated the thought of coding in client side language, one article that really helped me was by a British guy called Ben Padbury.

Getting you off of server-side object model

Ted Pattison also makes some good comments about Microsoft wanting to get you off server-side object model, mainly because Microsoft don’t want your code running in processes running on the SharePoint farm and therefore increasing the stability…especially for their Multi-Tenancy Office 365 environments. Ted also states the other reason is that the server-side object model was often a pain when upgrading to the new major version of SharePoint. I’m not necessarily sure that moving the customizations out to the new App model is going to solve this…after all, they are still going to be calling the client-side object model and that will change. Vendors are already witnessing issues as Office 365 SharePoint Online has updates that are affecting the expected results back from the client-side object model.

You can still write in server-side managed code in the new Apps…although you will be coding against the SharePoint .NET client-side object model and not the SharePoint .NET server-side object model, as you won’t be executing the code on the SharePoint server but a remote one (either Azure or something else). The only way now to write SharePoint .NET server-side object model managed code is to stick with Full-Trust solutions OR Sandboxed Solutions (limited) which unfortunately WON’T be in the marketplace.

Doug also points out that SharePoint 2013 preview also is now on .NET 4.0 rather than 3.5. I completely understand why the product team didn’t do this in the 2010 release as .NET 4.0 release dates were almost in parallel. The only product team brave enough to do that was the Project Server team who built in parallel to SharePoint Server 2010. Stephane Eyskens’s blog has a great overview of some of the .NET 4.0 features that you probably haven’t even looked at before with your Visual Studio hat on. So if you do write with the Solution model, you can now use .NET 4.0.

Who has the bucks for business solutions?

Rob Windsor (MVP) also makes a great point that “all bets are on” in the cloud for Office 2013 and that the “Solution model” (e.g. Full-Trust Solutions and Sandboxed Solutions) are being treated as deprecated features in this platform based on the voice of the TechNet and MSDN articles being published around the App model on “getting started with SharePoint 2013 development”. I do tend to agree, and have already voiced my concerns that the majority of EPG customers that are going to want to pay for development won’t be in Multi-Tenant environments and will be in Full-Control environments. Therefore in most cases, Full-Trust solutions will make sense.

Also, remember that the App model for Full-Control environments does not support OAuth because it doesn’t support Azure’s Access Control Services (ACS), so you have to use High-Trust apps which come with some more complexity.

Future-proofing environments

The debate on whether to “future-proof” environments for Multi-Tenant becomes HUGE. Eventually I think the cost that was incurred in future-proofing business solutions by building them as Sandboxed Solutions rather than going with Full-trust Solutions burnt a lot of people. The reason for this is because the effort involved to code around limitations of Sandboxed Solutions was extremely high and in some cases simply couldn’t be done putting limitations on business solutions. I suspect a lot of large EPG customers will continue to push with Full-Trust Solutions with the mindset that they’ll be in Full-Control environments for a long time to come.

Doug has also pointed out in another post another statement that is reminiscent of the Sandboxed Solution introduction of “develop X whenever you can”. The reality is if you already know how to smash out a Full-Trust Solution, why take the time to learn how to build Apps, much like the argument we had on learning Sandboxed Solutions.

More competition

Where Visual Studio SharePoint Developers were raking in the bucks in 2007 and 2010 world…I believe this shift to the App Model will definitely make the market more competitive. As people with HTML5/JavaScript, ASP.NET MVC, LAMP etc. skills will now be able to build remote-hosted web applications and build a very simple app package to point to this that can be submitted to the marketplace. The only learning curve for them is going to be the SharePoint client-side object model and some understanding of the building blocks available to them in the app subsite such as Lists/Libraries and everything that comes with that. This won’t happen instantly, but I used to work at a very strong .NET house that loathed SharePoint, and can now see them happily building EVERYTHING in the remote web application with very little integration and getting it in the marketplace.

Wrap Up

So as a Visual Studio SharePoint Developer writing on server-side SharePoint object managed code…personally I think you have no choice but to get your teeth into JavaScript/HTML5 and the SharePoint Client-Side Object Model if you haven’t already. This new wave will certainly put pressure on you, I don’t see EPG customers jumping to Multi-Tenant environments straight away but you can certainly bet in the next two years it’ll start to happen and the server-side object model won’t be an answer.

Please make sure you check out my social bookmarks on all things SharePoint 2013 and development and if that’s too much, try my 5 star rated posts sub set.

SharePoint – InfoPath 2010: Form Library Modal Popup


You may also be interested in: SharePoint-based solutions by B&R Business Solutions


 

Editor’s note: Contributor Chris Grist is a SharePoint Architect at Beach Energy. Follow him @gristdog

In the last couple of weeks I have worked on several InfoPath projects which are using form library’s to save the completed form. However I did not like the way the user was navigated away from the site to enter a new form, several of these forms I wanted to be rapidly completed and therefore I started to look at a different way to open the forms.

Of course in SharePoint 2010 we have the modal popup dialog, and after looking at a list form that had been customised with InfoPath, it appeared that it was possible to have an InfoPath form load inside a modal popup.

The rest of this post details how you would achieve this.

The first step is to get your form ready and published, once this is complete head over to your form library and click add a new item.

Once the form has loaded copy the URL:

2012-07-30-FormLibModalPopup-01.png

You will end up with something that looks like:


<a href="https://sharepoint.com/_layouts/FormServer.aspx?XsnLocation=https://sharepoint.com/SharePointSaturday/Forms/template.xsn&SaveLocation=https://sharepoint.com/SharePointSaturday&ClientInstalled=true&Source=https://sharepoint.com/SharePointSaturday/Forms/AllItems.aspx&DefaultItemOpen=1">https://sharepoint.com/_layouts/FormServer.aspx?XsnLocation=https://sharepoint.com/SharePointSaturday/Forms/template.xsn&SaveLocation=https://sharepoint.com/SharePointSaturday&ClientInstalled=true&Source=https://sharepoint.com/SharePointSaturday/Forms/AllItems.aspx&DefaultItemOpen=1</a>

If you were to create a normal hyperlink to the above address, the chances are it will try and open in InfoPath client, so therefore we need to remind it to open in the browser using the syntax OpenIn=Browser. Therefore the link we now have saved looks like the following:


<a href="https://sharepoint.com/_layouts/FormServer.aspx?XsnLocation=https://sharepoint.com/SharePointSaturday/Forms/template.xsn&SaveLocation=https://sharepoint.com/SharePointSaturday&ClientInstalled=true&Source=https://sharepoint.com/SharePointSaturday/Forms/AllItems.aspx&OpenIn=Browser&DefaultItemOpen=1">https://sharepoint.com/_layouts/FormServer.aspx?XsnLocation=https://sharepoint.com/SharePointSaturday/Forms/template.xsn&SaveLocation=https://sharepoint.com/SharePointSaturday&ClientInstalled=true&Source=https://sharepoint.com/SharePointSaturday/Forms/AllItems.aspx&OpenIn=Browser&DefaultItemOpen=1</a>

To open a form inside a modal popup, SharePoint 2010 uses JavaScript which is linked to in the following format:


<a onclick="javascript:NewItem2(event, "INSERLINKHERE");javascript:return false;" target="_self">Open Form</a>

Insert your link in between the quotes where it says INSERTLINKHERE. Then insert the hyperlink on to a page, I had trouble inserting directly on to a page but inside the a content editor web part works just fine.

2012-07-30-FormLibModalPopup-02.png

Now when we click the link you should receive a modal pop-up and not be redirected to a separate page.

2012-07-30-FormLibModalPopup-03.png

If you don’t need the ribbon controls it can look even slicker:

2012-07-30-FormLibModalPopup-04.png

SPTechCon: Practical SharePoint Information Architecture

 

2012-07-23-SPTechConSmall.pngIn this session Ruven Gotz demonstrated proven tools that will help you ensure there is an agreement on the goals and scope of your SharePoint projects, and how to efficiently design your taxonomies and page layouts. This is a brand new session that he put together to complement his new book Practical SharePoint 2010 Information Architecture. Coincidentally I had started reading Ruven’s book on my way to the conference, so I was excited to have the opportunity to see some of his recommended practices demonstrated in person.

In his job Ruven plays the role of both information architect and business analyst, as these roles overlap quite a lot in SharePoint. He stressed the importance of soft skills and that everyone needs to be on the same page when you are working on a SharePoint project (or any project for that matter).

According to Ruven, “The key to shared commitment is shared understanding.” Visual tools are an excellent way to get there – they provide a way to visually outline information that is easy to understand, and it also gets everyone together on the same page, especially if you create a mind map in front of everyone. If there is any misunderstanding of information captured, it will get corrected right away.

A couple uses for mind mapping are navigational taxonomy and priority lists. Ruven uses a tool from MindJet called MindManager Professional. It costs around $300 but he feels he needs a power horse to do everything he wants to do with such a tool. There are free ones out there such as XMind and FreeMind that provide basic mind mapping functionality.

He then explained the concept of wicked problems. Wicked problems usually have the following characteristics:

  • You don’t know what success looks like or when it’s done
  • You don’t understand the problem until you’ve developed the solution
  • You don’t know if you’ve accomplished the goal

Dialogue mapping is a great way to solved wicked problems. You can download Compendium for free at cognexus.org. Using dialog mapping you track open ended questions, ideas (answers), and pros/cons for each idea. Some good uses for dialogue mapping include requirements gathering and coming to a consensus on a decision for a particular problem. Through demonstration of the tool, it became perfectly clear how efficient this was to getting everyone involved on the same page.

The last concept mentioned in the session was wireframing. A website wireframe is a visual guide that depicts the page layout or arrangement of the website’s content, including interface elements and navigational systems, and how they work together. They are typically very lo-fidelity, meaning they lack style, color, or graphics, as the main purpose of wireframes is to depict functionality and behavior.

A great tool for wireframing is Balsamiq, which costs $79 for a single user license. This is the tool I personally use as well and highly recommend it. In addition to the standard interface elements that come with it, you can also get other free specialized templates for Balsamiq that people have built at MockupsToGo. There is also a SharePoint 2010 wireframe template created by James Sturges that I use quite frequently with Balsamiq. You can download it from his blog.

You can also use Microsoft Visio to create wireframes if you already have a license for that and wanted to avoid paying $79 for Balsamiq. I’ve even seen people use Excel, though I wouldn’t recommend it. In my opinion what I spent for Balsamiq was well worth it. It is by far the quickest and easiest to use for creating wireframes.

For me this was a great session to provide more color and see live demos of some of the concepts in his book. Even if you hadn’t read his book I think it definitely was very worthwhile. I came away with tools I can use right now to help ensure that there is an agreement on the goals and scope of SharePoint projects, and to help plan the navigational taxonomy, metadata, and page layouts.

Why we need a SharePoint 2013 marketplace

 

I’ve been working in SharePoint now since SharePoint 2003 and am a 3 time SharePoint MVP. I eat, live, sleep this stuff. When I found out that there would be a marketplace in SharePoint I immediately thought “opportunity”…and to be honest “SharePoint Fart App”. In all seriousness this is an amazing opportunity to get Microsoft ISV Partners exposure to SharePoint users both in Multi-Tenant environments like Office 365 and in Full-Control environments. I expect the usual suspects to be a part of this and it’s great to see Kodak and Pingar already in the SharePoint marketplace with apps from AvePoint, GimmalSoft, Lightning Tools, Nintex “coming soon”.

The marketplace is also a great way for new development teams to get in the game too. Anyone can sign up to submit applications to the marketplace. There is a rigorous validation process…trust me, I’ve been through it with the AvePoint MyView app. I’m glad it’s in place because it enforces the quality of the apps in the marketplace.

The history of marketplaces

If we look back at other marketplaces in the technology space, you can see an amazing amount of success. In my opinion, the best example of this is the Apple iOS marketplace. Mainly because of the adoption of the iPhone and iPad.

If you look at Microsoft’s history with marketplaces:

  • The Azure marketplace has been around for a while and not been too successful because the demand for the data market to date has been low.
  • The Zune music marketplace in my opinion has been the most successful. I am a huge consumer of Zune Pass for unlimited music. The app rocks and is now evolving into Xbox Music across all platforms.
  • The Xbox360 marketplace is something I have consumed a lot of with the amazing app support from media perspective.
  • The Windows Phone marketplace hasn’t had the adoption I would have liked as a consumer but I am hoping that Windows Phone 8 will improve the adoption by ISVs in building applications due to the improvements.
  • The Windows 8 marketplace is obviously in consumer preview right now but again I’m shocked that the adoption of apps has been low. In comparison to the apps in the Mac OSX marketplace is a lot less. I’m not sure why this is the case as the new development model is a lot more open with both XAML/.NET and HTML5/JS approaches.

So as you can see, Microsoft has a lot of marketplaces already…and guess what…none of these share the same platform which is a little bit of a concern.

Who can we expect to be in there

2012-07-27-Marketplace-01.png

As I mentioned before Kodak, Nintex and Pingar are already in there and AvePoint, GimmalSoft, Lightning Tools are coming soon. Here is what they had to say about it.

2012-07-27-Marketplace-02.png

I’d hope to think that the other key ISVs in the SharePoint space will get in there too: Axceler, Bamboo, BA Insight, K2, MetaLogix, MetaVis, Newsgator, Vizit and lots more. In some cases, vendors, like ourselves will have to build new apps rather than moving their existing solutions into the marketplace. This should lead to some awesome innovation leveraging the SharePoint platform to help business users improve their productivity.

What can we expect in there?

At AvePoint Labs, we’ve been working hard to come up with new ideas for apps for the marketplace. If you’ve read my application model article, you’ll understand some of the limitations that are there around site collection scope and below. This will affect the type of apps that are available.

For instance, AvePoint are re-known for the infrastructure management platform, DocAve, which relies on cross farm cross web application management control. For DocAve to work in the new app model, the app would need to be installed in every site collection and granted full control permissions. Something that the UI out of the box is not going to handle well. Therefore Full-Trust Solutions on a Full-Control environment is a better fit. We will be offering an approach to this in the marketplace in the future though.

Personally I think to start with the marketplace there will be a few types of apps:

Site template starter kits

I can see a lot of opportunity for people to build out sub sites and bundle these as apps to be purchased in the marketplace. I’ve already heard people talking about going after particular verticals here such as “Doctors surgery” solutions.

Branding solutions

With the improvements in themes in SharePoint 2013, you can be sure that people will work out a way to deliver these via the SharePoint-Hosted apps. Theme packs really didn’t take off in 2010 like I thought they would so let’s see how that evolves over time. There are some blocks on uploading masterpages, but there are ways of overriding CSS files which I’m sure some clever guys will work out.

Web Parts

There is already an app for World Clock and Weather app. I expect a Stock Ticker app to be close behind this also. The big limitations with making web parts available this way is that there is no API to automatically add a web part to the parent site collection homepage at the moment. The metro tiles on the site home pages can’t be manipulated by the apps to add the web part there. So all that you can do is have it show in the “Recent” in quick launch or show it in Site Content and make the user click through to it. Unfortunately this does move away from the concept of mashing up apps on the homepage of your site unless they add it manually. I can see this as a huge blocker here.

 Light integration

Pingar’s app is a great example of UI Custom Action integration into the ribbon to show how their external service can be called on the client side and leverage the client object model with trust to automatically classify list items in a list. The OAuth trust has been leveraged here to really highlight the power of given an app trust in a site collection to delegate control to the app. You’ll see this from other ISVs like Kodak, HP, DocuSign etc. in Document manipulation.

Enhancing existing functionality

Something that happened a little bit in 2007/10 was for ISVs/community to bring out solutions that enhanced existing functionality. For example, the CKS: Enhanced Blog Edition made the blogs more useable for public facing web sites. I can see a lot of apps being added to site collections and the app reaching out and tweaking subsites within it to make them better. One key thing here is that an app can’t go into other app subsites.

Business Applications

For the more sophisticated applications, typically that will already exist, I can see that remote-hosted apps with the Immersive Full Page approach will be a perfect approach to take. It will be interesting to see how existing web application platforms hook into SharePoint and take advantage of the OAuth trust between itself and SharePoint. Great examples of this would be how Dynamics CRM could hook into SharePoint and leverage the OAuth trust to drop documents into the parent site collection for the app.

Financial reward

The apps in the Preview must be free, and therefore I imagine some companies will wait until the launch of the marketplace where they can charge for apps before they release them. In terms of how much apps will cost…this will depend on the licensing models available. Currently there is no public information on this and I’m hearing this will be announced nearer the time.

It’s certainly going to open up a new sales channel to direct sales for Small Businesses that most ISV’s work with right now. The exposure to small ISV’s is going to be huge, most of which were not in any TAP and I would imagine scrambling now they have the Preview bits to build out their products. I’d expect to see a lot more apps in the next three months with this scenario.

Most current ISV’s licensing models are derived either by the size of the SharePoint farms (number of servers in farm). This model mirrors how Microsoft license Full-Control environments. Most of these licenses are obviously large investments for EPG customers, not something you’re going to throw on your corporate credit card and require a purchase order. Big EPGs are going to be buying direct from ISV’s for a long time to come due to being able to negotiating deals.

As ISV’s are looking for big deals, the marketplace isn’t going to be appealing unless they come up with killer commodity apps and therefore the focus may stay on direct sales and deploying their products via the solution model to the Full-Control Environments that EPG customers typically have.

The subscriber model in Office 365 has also been mirrored with ISVs with customers who are used to this model already. All of these models currently in SharePoint 2007/10 are hard to enforce and rely on an element of trust or code to validate the license.

I’m intrigue to see how some of the apps already mentioned in this article tackle licensing and don’t cannibalize their existing market and licensing model.

Community involvement

CodePlex has been around for a long time and the development community have engaged in submitting source code and add ons for SharePoint. The quality of the solutions in CodePlex vary from amazing (SPServices, CKS:Dev) to unstable. There is no vetting process in there and you have to be extremely cautious in using these. I hope that a lot of these developers will make their solutions in CodePlex available into the marketplace for free to get them more exposure. Apps can be given for free, so this is extremely compelling for adoption.

Trusting apps

One discussion that was had at a Boston User Group SharePoint 2013 panel with Andrew Connell, Rob Bogue, Asif Rehmani, Randy Drisgill, Marc Anderson and I. Something I raised was the concept of when you see apps in the marketplace place by the usual suspects like AvePoint, Pingar, BA Insight, Lightning Tools and Nintex…you’ll immediately trust them if you need to grant them “Full control’. But I see an issue in smaller unknown vendors on this trust front. A good example of this is that in the remote-hosted apps model, Microsoft will approve your application package that points to your app hosted in a web application remotely to SharePoint with full control. But there is nothing stopping a vendor from modifying that web application to do something different with its full control rights once approved.

Discoverability of Apps

The other big concern that keeps being discussed is how Microsoft are going to weight the apps in the marketplace. There is a rating system built into the apps that is used to display the apps and there are categories when you submit the apps.

2012-07-27-Marketplace-03.png

I have been told that there is more logic in there to make sure the popular and high quality apps are surfaced for higher discoverability. Needless to say we can expect the “SharePoint Fart App” to appear, but hopefully no-one is going to make a fortune out of it like the iOS one ;-)

Country Availability

Another thing to point out is that it has not been confirmed what countries the marketplace will be available in. Most ISV’s will have a core market in North America, followed by EMEA and AsiaPac, but this will affect some ISV’s who target countries who aren’t use the marketplace and they’ll have to stick to their current model of selling software.

Wrap Up

It will be interesting to see how this unfolds and who invests in being there for launch. I’d love to hear from people on their experience with the marketplace and what apps people are working on. I’ve started a #SPYam group specifically around this so please let me know if you’re interested.

Please make sure you check out my social bookmarks on all things SharePoint 2013 and development and if that’s too much, try my 5 star rated posts sub set.

Feel free to cross post this today and link to it on NBSP.

http://www.made4the.net/archive/2012/07/30/screencast-introduction-to-the-sharepoint-2013-app-model-amp-marketplace-spsnyc.aspx

SharePoint: Did you know? Newsletter Style View


You may also be interested in: SharePoint Hosting by Fpweb.net


 

Editor’s note: Contributor Chris Stone is a SharePoint Consultant and Trainer for Sector Learning Solutions. Follow him @sharepointee

This view style’s purpose has eluded me for almost the whole time I have been working with SharePoint. I ran across it accidentally the other day while playing with a list. The problem is that it really doesn’t look that impressive until you have a visible multiple lines of text column.

What does it do? It wraps the first Multiple Lines of Text column to a second row, and each column after that will be wrapped to another row below that. This makes displaying a Multi-Line of text column much more reasonable, since normally they squish everything to the left based on how much content are in them.

It turns this:

2012-07-29-NewsletterStyle-01.png

Into This:

2012-07-29-NewsletterStyle-02.png

For those of you not familiar with where this option is located, it’s found in the modify view configuration under the style (near the bottom)

2012-07-29-NewsletterStyle-03.png

Did you know about this?

Enjoy!

SharePoint 2010: Join Two Lists Child/Parent Relationship


You may also be interested in: SharePoint Apps by Cybozu


 

Editor’s note: Contributor Tahir Naveed is a Microsoft SharePoint Specialist at Orion Systems.

This post explains how to implement the child parent relationship between two lists/tables. Two lists will have one common field ID from a Category list. The Category.ID will act as a primary key in a Category list and will be used in a Products list as a foreign key to match the items. The diagram below illustrates the relationship that has been implemented in the video.

2012-07-25-ParentChild-01.jpg

Child Parent Relationship

2012-07-25-ParentChild-02.png

This tecnique can also be used in SharePoint 2007 via SharePoint Designer 2007. However, the Data Source and Data View web part’s menu options are a little different.

Geo location Field in SharePoint 2013


You may also be interested in: Smartdesk Advanced ECM Apps


 

Editor’s note: Contributor Chris Grist is a SharePoint Architect at Beach Energy. Follow him @gristdog

Last year I wrote a series of articles on a mash up between a SharePoint list and Bing Maps, it was a three part article and took quite a lot of time to get the end result.

Thankfully in SharePoint 2013 Preview, Microsoft has added the functionality in to achieve this fairly easily. This is achieved with a Geo location field. This field stores location information i.e. Longitude/Latitude which can then be rendered on a Bing/Nokia Map. The one downside is that you’re going to need to crack out Visual Studio 2012 in order to add this field, or at least this is what the examples say on MSDN. Hopefully this is added in to the interface by release, I couldn’t find it anywhere however.

Before you get started sort out the following pre-reqs:

  1. SharePoint 2013 Preview Farm
  2. Visual Studio 2012
  3. Bing Maps API Key Available Here

The first stop is to register the Bing Maps Key against SharePoint; you can achieve this using PowerShell with the following command:

Set-SPBingMapsKey –BingKey ““

You can also do this via code see how here. This will make it easy if you’re packaging up an application that takes advantage of these features.

The next thing to do is to add a new custom list, in this example I have created one called “Office Locations”. In this example I have renamed “Title” to “Name” and added an “About” column of type multi-lines of text.

When you’re done the list should look similar to the following:

2012-07-23-GeoLocation-01a.png

Open up Visual Studio 2012 and create a new Console Application, in this example I have just given it a name of AddGeoField.

 2012-07-23-GeoLocation-02.png

The first thing we need to do is add assembly references to the two following dll’s:

  • Microsoft.SharePoint.Client.dll 
  • Microsoft.SharePoint.Client.Runtime.dll 

2012-07-23-GeoLocation-03.png

Open the class (.cs) file and add a using statement at the top of the file:



Now we need to add the code to the console application I have made this generic to read in the arguments, this way we can reuse the same console application anywhere in our farm.



Build the solution and then run the application from the command line, replace the arguments with ones relevant to your environment. Make sure the account your running under has sufficient permissions to access the site collection/web/list.

AddGeoField.exe http://sp2013 “Office Locations”

Now if we go back to our list, we can see the Location column has been added of type Geolocation.

2012-07-23-GeoLocation-04.png

When adding a new item, we can either use the current location which will be useful for devices with GPS built in, or add the longitude/latitude of the current location.

2012-07-23-GeoLocation-05.png

When you click specify location, a second modal popup opens where you can specify the values required:

2012-07-23-GeoLocation-06.png

Once valid values have been entered, a Bing map preview is displayed to give you a indication that you have the co-ordinates correct.

2012-07-23-GeoLocation-07.png

After adding a few office locations, the list will look similar to the following:

2012-07-23-GeoLocation-08.png

You can view the Bing Map in various ways:

  1. Opening a list item:
  2. 2012-07-23-GeoLocation-09.png

  3. Clicking on the 2012-07-23-GeoLocation-13.pngicon in the geo location field, this is a great way for a fast preview:
     
  4. 2012-07-23-GeoLocation-10.png

Lastly, you can also now create a map view, if you create a new view, you will see a Map View type.

2012-07-23-GeoLocation-11.png

When I was creating my view I got an error, but the view created anyway, when you switch to it you get a awesome representation of all the list items.

2012-07-23-GeoLocation-12.png

I think you would agree this is a lot easier than what we had to do in previous versions of SharePoint. I would love to see uses you can come up with when you put this in to practice.

If you want to save some time I have uploaded my compiled solution for you to use: Add Geo Location (5)

JQuery dashboards to SharePoint: How To


You may also be interested in: SharePoint Solutions In-A-Box from Alcero


 

Editor’s note: Contributor Peter Ward is a SharePoint Solution architect. Follow him @peter_1020

This post outlines the steps to apply JQuery dashboards to a SharePoint 2010 page.

  • No coding or administration is required.
  • Skillset: Power user, you should be familiar adding content to SharePoint pages. Eg: Content Editor web parts
  • The data has to reside in lists

- For further details see Alexander Bautz post. he did the heavy lifting, this is a more step by step approach to his code.

Steps

Add these components to your Site.

  1. Copy the contents of this JS file into the Site Assets library of the site: Click here

 2012-07-18-jQueryDashboards-01.png

  1. Create a list in the site called GoogleVisualization_InteractiveChartsConfig (This name has to be exact) . This list should be based from a list template called. If this templatge doesn’t exist in the site collection, email SharePoint Support and they will add it.

This is the template that needs to be added by the site collection administrator. Click here

  1. Goto the page were you want to display the charts
  2. Add 2 Content Editor web parts parts to the page where to want to display th charts

TIP: To understand how to add a content editor web part, click here.

2012-07-18-jQueryDashboards-02.png

  1. Add the following HTML code into the Chart 1 Content Editor web part

<div id="MyChart1"> </div>

  1. Add the following HTML code to the HTML footer code Content Editor web part

<script type="text/javascript">

// All charts must be represented by a container with a unique id. This container must be present in the page
arrOfChartContainers = ["MyChart1"];</script><script src="/sites/Sales_and_Trading/client_relationship_management/DashboardBoard/SiteAssets/js/jquery.min.js" type="text/javascript"></script><script src="http://www.google.com/jsapi" type="text/javascript"></script><script src="/sites/Sales_and_Trading/client_relationship_management/DashboardBoard/SiteAssets/js/ChartUsingGoogleVisualizationAPI_v2.9.3.5.js" type="text/javascript"></script>

NOTE: The path in the HTML above must correspond to the path of your site.

  1. Save content editor web part and the page.

2012-07-18-jQueryDashboards-03.pngThe HTML is now saved on the page. The chart must now be configured.

  1. Click on the download arrow of the web part.

 2012-07-18-jQueryDashboards-04.png

  1. Complete the Chart configuration menu:

From this:

2012-07-18-jQueryDashboards-05.png

To

2012-07-18-jQueryDashboards-06.png

  1. Click Save

The chart should display:

2012-07-18-jQueryDashboards-08.png

To add additions charts to the page. Add additional content editors:
With the HTML :


<div id="MyChart2"> </div>

And make the addition to the HTML footer:


= ["MyChart1", "MyChart2"];</script><script src="/sites

Further Reading:

The API

Graph options:

2012-07-18-jQueryDashboards-09.png

2012-07-18-jQueryDashboards-10.png

SPTechCon: SharePoint for the Internet?

 

2012-07-23-SPTechConSmall.pngI attended "SharePoint for Internet" by Eric Riz. Let’s be clear, it’s IntERnet not IntRAnet! Eric is an engaging speaker and his presentation was both fun and very thorough. He had great interaction with the attendees and there was a constant dialogue going on which I think everyone found helpful.

Eric began by posing the question "What is the difference between an Internet vs. SharePoint site?".

Both are online but other than that they aren’t very similar. In SharePoint you have more structure and a more controlled environment. You no longer need the webmaster which empowers the people who own the content.

Simplicity

  • Integration – what information do we want to bring into our website?
  • What Features and Components – what’s going to make it look good?

Planning

What’s the Strategic Need?

  • Current Use
  • Goal Review
  • Target Audience
  • Requirement for Change
  • Budget

Interviews – Who do we need to talk to in the organization?

  • Stakeholder Needs
  • Technical Audit
  • Business Evaluation
  • End Users

Define and Measure – What are we going to do and how do we do it. We need to define how we are putting out in order to measure.

  • Goals to Expectations
  • What can be delivered – don’t bite off more than you can chew. Too many people fail that way.
  • How will you measure effectiveness – What is going to make your SharePoint site a success?

Long-Term Roadmap -Is a SharePoint site part of your roadmap?

  • Technical
  • Value Roadmap
  • Expectations 

Where to Start?

  • Assess Current State
  • Define Scope
  • Find the Team
  • Begin…

Licensing

  • Internet, Standard
  • Internet, Enterprise

Deployment

  • Build in Phases – don’t just build everything out there because if you made one small error along the way, you will have a series of errors at the end.
    • Define Pages
    • Assign Resources
    • Review Content
    • Create Content
    • Create Web parts
  • Testing – Test everything! Every link and every word.
    • Business Level
    • End User
    • Interfaces
  • Soft Launch – Create a www2 site and tell your users to bang around on it. Users should try to break it and report anything they find.
    • Phased
    • Soft Launch
    • Launch
  • Cycle to Deployment
    • Go-Live
    • Party!

Search (AKA "Find" – Eric doesn’t like the word "Search")

  • Version
  • Configuration
  • Content
  • Results

Content

Know your data. If you know your content well, then you only need to change it once.

  • Dynamic or Static
  • Single Source
  • Storage

"Going onto a SharePoint website is an experience and when you are experiencing something you are more likely to enjoy it".

SPTechCon: Ten Best SharePoint Features You’ve Never Used – But Should

 

2012-07-23-SPTechConSmall.pngI attended Ten Best SharePoint Features You’ve Never Used But Should presented by SharePoint MVP Christian Buckley. Christian described the session as helping to understand more of what the platform can do out of the box.

Presentation description:
Your team is competent in the SharePoint basics of adding, editing, and removing content. Maybe someone on your team has even become quite adept at building SharePoint Designer workflows. But most books and articles seem to jump from the basic to the incredibly complex, where you have to be a developer to understand the content and much less utilize it in your SharePoint environment. This session seeks to bridge that gap, demonstrating 10 of the best features that you’ve likely never used, but should be.

1. Document Sets

Similar to folders that contain multiple documents or files allowing you to apply metadata and rules to the set of documents as well as to each item inside. This allows you to manage this as a single deliverable or work product.

2. Document ID’s

A unique identifier for a document or document set and a static URL that opens the document or document set associated with the document ID, regardless of the location of the document.

3. Organization Charts

A new Silverlight control available through MySites. It provides a sleek new UI for team profiles. Highlights the need to build out your user profiles.

4. "Ask Me About" feature (user profile property)

On your MySite, the overview tab includes an "ask me about" web part that helps users find answers from people with the right answers. You can build your skills and interests from available keywords already stored in SharePoint or create new ones that are immediately available in the keyword store such as industries, project names, technical capabilities, etc.

5. Promoting (user-generated) tags to your taxonomy

Adding end user generated tags/metadata to content. This improves the quality of search and encourages End- Users to modify that taxonomy.

6. Conditional Routing

SharePoint Server 2010 introduced a new feature so you can classify and route content rules based on metadata.

7. Asset Library

A digital asset is an image, audio or video or other reusable rich content – specifically for storing and cataloging rich content.

8. Aggregated Calendar (with Outlook sync)

Teams can keep multiple calendars (up to 10) in sync by creating layers allowing end users to see color-coded overlapping activities. Users can sync calendars to Outlook comparing their personal calendar side by side.

9. Personal Views

Allows you to easily find and filter content that you use regularly.

10. Meeting Workspaces

Provides bi-directional synchronization of library and list content.

Christian’s ended his session suggesting; before you spend any time customizing, understand what is possible out of the box.

Christian’s session was great and very thorough.  He included step-by-step instructions on finding and implementing these features.