EndUserSharePoint 2010 http://www.endusersharepoint.com/EUSP2010 Just another WordPress weblog Tue, 26 Jun 2012 13:21:30 +0000 http://wordpress.org/?v=2.9.2 en hourly 1 Introduction to SharePoint 2010 – Part 5 (Screencast) http://www.endusersharepoint.com/EUSP2010/2010/08/27/introduction-to-sharepoint-2010-part-5-screencast/ http://www.endusersharepoint.com/EUSP2010/2010/08/27/introduction-to-sharepoint-2010-part-5-screencast/#comments Fri, 27 Aug 2010 14:00:36 +0000 Asif Rehmani http://www.endusersharepoint.com/EUSP2010/?p=1053 This entry is part of a series, Introduction to SharePoint 2010»

Guest Author: Asif Rehmani – SharePoint Server MVP, MCT
SharePoint eLearning

This is the fifth of the free videos. Feel free to download and distribute freely.

 

Creating and Customizing a SharePoint Page

This video shows a detailed demonstration of how to create and customize SharePoint pages using the browser. Many of the options in the ribbon are explored. First, a new page is created on the site then it is customized by adding text, table, image, list, and links. Also, it is demonstrated how to use Wiki linking to connect to content on your site.

Guest Author: Asif Rehmani – SharePoint Server MVP, MCT
SharePoint eLearning

Asif has over 10 years of training and consulting experience in the IT industry. He has been training and consulting on primarily SharePoint technologies for over 4 years. He is a SharePoint Server MVP and MCT.

Asif is the co-author of the book Professional SharePoint Designer 2007 by Wrox publications. He has also been a speaker on SharePoint topics at several conferences over the years including Microsoft’s SharePoint Conference, SharePoint Connections, Advisor Live, and Information Workers Conference.

Asif runs a SharePoint eLearning website (http://www.sharepoint-elearning.com) which provides dozens of SharePoint Video Tutorials. He was the co-founder and is currently one of the active leaders of the Chicago SharePoint User Group.

]]>
http://www.endusersharepoint.com/EUSP2010/2010/08/27/introduction-to-sharepoint-2010-part-5-screencast/feed/ 1
Introduction to SharePoint 2010 – Part 4 (Screencast) http://www.endusersharepoint.com/EUSP2010/2010/08/26/introduction-to-sharepoint-2010-part-4-screencast/ http://www.endusersharepoint.com/EUSP2010/2010/08/26/introduction-to-sharepoint-2010-part-4-screencast/#comments Thu, 26 Aug 2010 14:00:13 +0000 Asif Rehmani http://www.endusersharepoint.com/EUSP2010/?p=1050 This entry is part of a series, Introduction to SharePoint 2010»

Guest Author: Asif Rehmani – SharePoint Server MVP, MCT
SharePoint eLearning

This is the fourth of the free videos. Feel free to download and distribute freely.

 

Changing the Theme of a Site

A Site’s Theme provides the look and feel of a site. The colors, fonts, images can all be changed by applying a new Theme to a site. Themes are packages of styles and images that can be applied to a site. Keep in mind that Theme is specific to a site and is not inherited by its subsite. This video shows how you can customize a Theme using the browser and then apply it to a site.

Guest Author: Asif Rehmani – SharePoint Server MVP, MCT
SharePoint eLearning

Asif has over 10 years of training and consulting experience in the IT industry. He has been training and consulting on primarily SharePoint technologies for over 4 years. He is a SharePoint Server MVP and MCT.

Asif is the co-author of the book Professional SharePoint Designer 2007 by Wrox publications. He has also been a speaker on SharePoint topics at several conferences over the years including Microsoft’s SharePoint Conference, SharePoint Connections, Advisor Live, and Information Workers Conference.

Asif runs a SharePoint eLearning website (http://www.sharepoint-elearning.com) which provides dozens of SharePoint Video Tutorials. He was the co-founder and is currently one of the active leaders of the Chicago SharePoint User Group.

]]>
http://www.endusersharepoint.com/EUSP2010/2010/08/26/introduction-to-sharepoint-2010-part-4-screencast/feed/ 0
Introduction to SharePoint 2010 – Part 3 (Screencast) http://www.endusersharepoint.com/EUSP2010/2010/08/25/introduction-to-sharepoint-2010-part-3-screencast/ http://www.endusersharepoint.com/EUSP2010/2010/08/25/introduction-to-sharepoint-2010-part-3-screencast/#comments Wed, 25 Aug 2010 14:00:22 +0000 Asif Rehmani http://www.endusersharepoint.com/EUSP2010/?p=1045 This entry is part of a series, Introduction to SharePoint 2010»

Guest Author: Asif Rehmani – SharePoint Server MVP, MCT
SharePoint eLearning

This is the third of the free videos. Feel free to download and distribute freely.

 

Change the Title, Description, URL and Icon for the site

If you are the administrator of the site, it is easy for you to change the title, description, URL and icon for the site. However, there are some gotchas that you should be aware of when doing this. Things such as the impact of changing the URL, where do you store the site’s logo and more is explored in this video.

Guest Author: Asif Rehmani – SharePoint Server MVP, MCT
SharePoint eLearning

Asif has over 10 years of training and consulting experience in the IT industry. He has been training and consulting on primarily SharePoint technologies for over 4 years. He is a SharePoint Server MVP and MCT.

Asif is the co-author of the book Professional SharePoint Designer 2007 by Wrox publications. He has also been a speaker on SharePoint topics at several conferences over the years including Microsoft’s SharePoint Conference, SharePoint Connections, Advisor Live, and Information Workers Conference.

Asif runs a SharePoint eLearning website (http://www.sharepoint-elearning.com) which provides dozens of SharePoint Video Tutorials. He was the co-founder and is currently one of the active leaders of the Chicago SharePoint User Group.

]]>
http://www.endusersharepoint.com/EUSP2010/2010/08/25/introduction-to-sharepoint-2010-part-3-screencast/feed/ 0
Introduction to SharePoint 2010 – Part 2 (Screencast) http://www.endusersharepoint.com/EUSP2010/2010/08/24/introduction-to-sharepoint-2010-part-2-screencast/ http://www.endusersharepoint.com/EUSP2010/2010/08/24/introduction-to-sharepoint-2010-part-2-screencast/#comments Tue, 24 Aug 2010 14:00:55 +0000 Asif Rehmani http://www.endusersharepoint.com/EUSP2010/?p=1041 This entry is part of a series, Introduction to SharePoint 2010»

Guest Author: Asif Rehmani – SharePoint Server MVP, MCT
SharePoint eLearning

This is the second of the free videos. Feel free to download and distribute freely.

Exploring a SharePoint 2010 Site

This video explores the makeup of a SharePoint site. The Quick Launch, Ribbon and Content Area of the site pages are discussed. Also, the navigation scheme of the sites is explored.

Guest Author: Asif Rehmani – SharePoint Server MVP, MCT
SharePoint eLearning

Asif has over 10 years of training and consulting experience in the IT industry. He has been training and consulting on primarily SharePoint technologies for over 4 years. He is a SharePoint Server MVP and MCT.

Asif is the co-author of the book Professional SharePoint Designer 2007 by Wrox publications. He has also been a speaker on SharePoint topics at several conferences over the years including Microsoft’s SharePoint Conference, SharePoint Connections, Advisor Live, and Information Workers Conference.

Asif runs a SharePoint eLearning website (http://www.sharepoint-elearning.com) which provides dozens of SharePoint Video Tutorials. He was the co-founder and is currently one of the active leaders of the Chicago SharePoint User Group.

]]>
http://www.endusersharepoint.com/EUSP2010/2010/08/24/introduction-to-sharepoint-2010-part-2-screencast/feed/ 0
Introduction to SharePoint 2010 – Part 1 (Screencast) http://www.endusersharepoint.com/EUSP2010/2010/08/23/introduction-to-sharepoint-2010-part-1-screencast/ http://www.endusersharepoint.com/EUSP2010/2010/08/23/introduction-to-sharepoint-2010-part-1-screencast/#comments Mon, 23 Aug 2010 14:00:36 +0000 Asif Rehmani http://www.endusersharepoint.com/EUSP2010/?p=1036 This entry is part of a series, Introduction to SharePoint 2010»

Guest Author: Asif Rehmani – SharePoint Server MVP, MCT
SharePoint eLearning

Over the next few days, I will be posting a few free videos that we have made available at SharePoint-Videos.com to download. These are beginner level SharePoint 2010 videos to help folks to quickly ramp up on the new platform. Feel free to download and distribute freely.

Creating a SharePoint 2010 Site

This video shows a couple of different ways of how you can create a site within a site collection.

Guest Author: Asif Rehmani – SharePoint Server MVP, MCT
SharePoint eLearning

Asif has over 10 years of training and consulting experience in the IT industry. He has been training and consulting on primarily SharePoint technologies for over 4 years. He is a SharePoint Server MVP and MCT.

Asif is the co-author of the book Professional SharePoint Designer 2007 by Wrox publications. He has also been a speaker on SharePoint topics at several conferences over the years including Microsoft’s SharePoint Conference, SharePoint Connections, Advisor Live, and Information Workers Conference.

Asif runs a SharePoint eLearning website (http://www.sharepoint-elearning.com) which provides dozens of SharePoint Video Tutorials. He was the co-founder and is currently one of the active leaders of the Chicago SharePoint User Group.

]]>
http://www.endusersharepoint.com/EUSP2010/2010/08/23/introduction-to-sharepoint-2010-part-1-screencast/feed/ 0
Driving User Adoption…Socially | SharePoint and Badges http://www.endusersharepoint.com/EUSP2010/2010/07/20/driving-user-adoption%e2%80%a6socially-sharepoint-and-badges/ http://www.endusersharepoint.com/EUSP2010/2010/07/20/driving-user-adoption%e2%80%a6socially-sharepoint-and-badges/#comments Tue, 20 Jul 2010 14:00:29 +0000 Daniel McPherson http://www.endusersharepoint.com/EUSP2010/?p=1021 Guest Author: Daniel McPherson
zevenseas

I recently presented a session titled “How to be more Social” at the SharePoint Australia and New Zealand conferences. The basic premise was to talk about some of the experience I picked up helping large organisations do better Knowledge Management through “Social Computing”. It’s things like http://demo.zevenseas.com.

As the events got closer, I decided to include something a little “out there”, something I’ve yet to see an organisation adopt, but which I think could make a difference to user adoption. To my surprise, it was probably the section of my session that got the most traction, so I wanted to follow it up here.

The Problem

The biggest challenge an organisation faces during the roll out a new solution is not the technology. The technology is always the easy bit. The difficult bit is the people. There’s just something about us psychologically that we are resistant to change. I see this in myself, catching moments every now and then where I get annoyed at SP2010 for no reason other than the fact that it has changed even when, in most cases, it’s a change for the better.

To put it another way, there is no product feature or technical innovation which will make overcoming our innate psychological predisposition against change easier to overcome. Further, exactly how you should go about overcoming this resistance is all art and no science. User adoption remains one of the biggest challenges we face. Just ask Microsoft what percentage of their SharePoint licenses are actually deployed.

Badges

This is why I like the concept of “Badges”, it plays on another innate psychological predisposition, our desire to collect things, and our need to be rewarded. Badges provide a way of rewarding people for using the solutions you build in a constructive and beneficial way, and people are motivated to use your solutions in this way in order to collect all the badges. Its a positive feedback loop, its bringing “game” based elements to your intranet.

Before you write this off, and with it my blog, let’s take a look at some examples.

The first example is a geeky one, the Xbox. Today, nearly every Xbox game comes with the concept of “Achievements” built in. Why do we have achievements in games? Because it motivates people to play a game more, and getting more game hours out of a title means more value for the gamer. It is a solution that publishers created in order to overcome a classic “user adoption” problem.

Stepping out of the geek world for a moment, how many people were in the Scouts? If you were, then how many badges did you collect and why did you collect them? Badges in the Scout movement reward people and keep them engaged, there is always a new knot!

What about the military? There are badges all over the place, they convey rank, they convey bravery, they motivate. And when you were at school, your teachers understood how valuable badges could be in promoting good behaviour and completing school work, anyone get a smiley face stamp? You see we have always loved badges, it’s part of the human condition.

Heading back to the geek world, it’s now rare that a new mainstream site will launch and become successful without the integration of some sort of “game” based elements. The best recent example of this is Foursquare. The designers of the solution wanted people to check-in their locations on their phones, allowing them to see if friends are nearby, and be offered deals for frequenting nearby vendors. To encourage people to “check-in”, they introduced both the concept of becoming a “Mayor” and lots of badges. The person with the most check-ins at a certain location became the mayor, complete with leaderboard, and by doing different types of check-ins, you collected badges. What happened? People started competing, and the number of check-ins went through the roof. They solved their user adoption problem because people were encouraged and motivated to use the solution in exactly the way it was intended.

To me, all of this says that badges can work for SharePoint too. More specifically, applying the concept of badges to our solutions can give us just one more tool in the kitbag of user adoption techniques and strategies. So I built a proof of concept.

How does it work?

The coolest new Social feature in SharePoint is, without doubt, the Activity Stream. This is basically SharePoint’s version of the Facebook newsfeed, providing you with a list of (nearly) all the interaction a user has with SharePoint. Tag a document, it goes in your activity feed. Update your profile, it goes in your activity feed. Rate a blog post, it goes in your activity feed.

This is exactly the sort of information we need to build a badge system. A person updating their profile is a good thing, and they should be rewarded for ensuring that that information is up to date. In this case, rewarding them comes in the form of an “Autobiographer” badge, a gold badge, which is displayed on their “MySite” profile.

The diagram below shows a users “My Site” before they have collected any badges:


If we now go and edit the users profile, we should see it added to their Activity Stream on the left and, at the same time, see a new badge appear on the right.


In this case it’s a silver badge, but you can also create Gold and Bronze. Hovering over the badge reveals more information about it.


To setup these rules, I created a very basic rules engine. Essentially it just counts the number of times a particular Activity appears in a persons stream, then when you go over that number, you get the badge.


We are currently working on a more sophisticated model which provide for more possibilities.

Summary

In summary, I firmly believe that badges have enormous potential. Driving adoption has always been, and remains, the biggest challenge facing those looking to realise maximum business value from their investment in software based solutions. Frankly, we need all the help we can get.

If you are interested in badges, and think it could make a difference to SharePoint in your organisation, drop me an email [email protected]. I love talking about this stuff!

Further Reading:

Check out Badges and Point on http://www.stackoverflow.com

Coding Horror (the developer behind Stack Overflow): http://www.codinghorror.com/blog/2009/03/the-worlds-largest-mmorpg-youre-playing-it-right-now.html

Guest Author: Daniel McPherson
zevenseas

Daniel McPherson has been involved in SharePoint since attending the first public announcement of project “Tahoe” at the Microsoft Technical Briefing in January 1999. It has had a profound impact on his career, taking him to the doorstep of hundreds of companies, of all shapes and sizes, in a range of industries and in over 25 different countries. After 10 years at Microsoft, spent mostly in Microsoft Consulting Services, he co-founded zevenseas (www.zevenseas.com), a boutique consultancy focused solely on the SharePoint platform, and is having more fun than ever before.

]]>
http://www.endusersharepoint.com/EUSP2010/2010/07/20/driving-user-adoption%e2%80%a6socially-sharepoint-and-badges/feed/ 15
SharePoint 2007 style view selector for SharePoint 2010 http://www.endusersharepoint.com/EUSP2010/2010/07/19/sharepoint-2007-style-view-selector-for-sharepoint-2010/ http://www.endusersharepoint.com/EUSP2010/2010/07/19/sharepoint-2007-style-view-selector-for-sharepoint-2010/#comments Mon, 19 Jul 2010 14:00:31 +0000 Alexander Bautz http://www.endusersharepoint.com/EUSP2010/?p=1002 Guest Author: Alexander Bautz
SharePoint JavaScripts

I have just started to look at SharePoint 2010, but one of the first things I noticed, was how cumbersome it was to change view in a list or library. In the default “Browse” layout, you must use at least 4 clicks to change view.

I therefore made this solution to add a SharePoint 2007 style view selector to the top link bar:



As always we start like this:

Create a document library to hold your scripts (or a folder on the root created in SharePoint Designer). In this example I have made a document library named “Javascript” and added “jquery-1.4.2.min.js” and “spjs_customViewMenu.js”:



Add this code to a CEWP in the list view where you want the menu to appear:

<script type="text/javascript" src="../../Javascript/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="../../Javascript/spjs_customViewMenu.js"></script>
<script type="text/javascript">
$(document).ready(function(){
	createCustomViewMenu();
});
</script>

The code for the file “spjs_customViewMenu.js”:

/* SharePoint 2007 style view selector for SharePoint 2010
 * Adds a view selector to the Top link bar
 * ---------------------------------------------
 * Created by Alexander Bautz
 * [email protected]
 * Copyright (c) 2009-2010 Alexander Bautz (Licensed under the MIT X11 License)
 * v1.0
 * LastMod: 11.07.2010
 * ---------------------------------------------
 * Include reference to:
 *  jQuery - http://jquery.com
 *	spjs_customViewMenu.js (this file)
 * ---------------------------------------------
*/

function createCustomViewMenu(){
	// Get the view collection for the list
	var viewColl = customGetViewCollection(_spPageContextInfo.pageListId);
	var activeViewName = '';
	var htmlBuffer = [];
	// Build the view selector
	$.each(viewColl.views,function(){
		var viewIcon = 'itgen.png'
		var viewType = $(this).attr('Type');
		var viewUrl = $(this).attr('Url');
		var viewDispName = $(this).attr('DisplayName');
		if(viewType=='CALENDAR')viewIcon = 'itevent.png'
		var thisViewGuid = $(this).attr('Name');
		if(location.href.match(escape(viewUrl))!=null){
			activeViewName = $(this).attr('DisplayName');
			_spPageContextInfo.activeViewGuid = thisViewGuid;
		}
		htmlBuffer.push("<div class='ms-cui-ctl' style='display:block;padding:2px 0px 0px 2px;cursor:pointer' viewUrl='"+viewUrl+"' ");
		htmlBuffer.push("onclick='javascript:selectView(this)'>");
		htmlBuffer.push("<img style='vertical-align:middle;padding-left:2px;' src='"+L_Menu_BaseUrl+"/_layouts/images/"+viewIcon+"'>&nbsp;"+viewDispName+"</div>");
	});
	// Edit view and create view
	htmlBuffer.push("<div style='border-bottom:1px silver solid;height:4px'>&nbsp;</div>");
	htmlBuffer.push("<div class='ms-cui-ctl' style='padding:2px 0px 0px 2px;cursor:pointer;display:block' ");
	htmlBuffer.push("viewUrl='modify' onclick='javascript:selectView(this)'>");
	htmlBuffer.push("<img style='vertical-align:middle;padding-left:2px;' src='"+L_Menu_BaseUrl+"/_layouts/images/modifyview.gif'>&nbsp;Modify view</div>");
	htmlBuffer.push("<div class='ms-cui-ctl' style='padding:2px;cursor:pointer;display:block' ");
	htmlBuffer.push("viewUrl='create' onclick='javascript:selectView(this)'>");
	htmlBuffer.push("<img style='vertical-align:middle;padding-left:2px;' src='"+L_Menu_BaseUrl+"/_layouts/images/createview.gif'>&nbsp;Create view</div>");
	// Wrap the selector
	var htmlWrap = [];
	htmlWrap.push("<div id='customViewMenuWrapper' style='cursor:pointer' class='menu-item' onclick='javascript:customShowMenu()' onmouseout='customMouseOutHideMenu(event)'>");
	htmlWrap.push(activeViewName);
	htmlWrap.push("<img id='customViewMenuWrapperImg' onmouseout='customMouseOutHideMenu(event)' style='vertical-align:middle;padding-left:4px' src='/_layouts/images/ecbarw.png' alt='Open Menu'></div>");
	htmlWrap.push("<div id='customViewMenuDiv' style='padding:1px;background-color:white;border:1px silver solid;display:none;position:absolute;z-index:1001;width:150' ");
	htmlWrap.push("onmouseover='customHideMenu(false)' onmouseout='customMouseOutHideMenu(event)'>");
	htmlWrap.push(htmlBuffer.join('')+"</div>");
	// Append the new menu to the toplink bar
	$("div.s4-toplinks ul").append("<li class='static'>"+htmlWrap.join('')+"</li>");
}

// Overcome the missing onmouseleave event in Firefox
function customMouseOutHideMenu(e){
if(!e) var e = window.event;
	var target = e.srcElement || e.target;
	var relTarg = e.relatedTarget || e.toElement;
	var relTargID = $(relTarg).attr('id')
	isInWrapper = ($(target).attr('id')=='customViewMenuWrapper' || $(target).parents("div[id='customViewMenuWrapper']").length>0);
	if(!isInWrapper || relTargID.match('customViewMenu')==null){
		customHideMenu(true);
	}
}

// Hide menu if user moves mouse outside the container
function customHideMenu(hide){
	if(hide){
		hideMenu = setTimeout(function(){
			$("#customViewMenuDiv").hide();
		},500);
	}else{
		if(typeof(hideMenu)!='undefined'){
			clearTimeout(hideMenu);
		}
	}
}

function customShowMenu(){
	$("#customViewMenuDiv").show();
	// Fix div width in IE 7
	var menuWidth = 150;
	$("#customViewMenuDiv").find('div.ms-cui-ctl').each(function(){
		thisWidth = $(this).width();
		if(thisWidth>menuWidth)menuWidth=thisWidth+10
	});
	$("#customViewMenuDiv").css('width',menuWidth);
}

function selectView(obj){
	var Url = $(obj).attr('viewUrl');
	var activeViewGuid = _spPageContextInfo.activeViewGuid;
	var activeList = _spPageContextInfo.pageListId;
	if(Url=='modify'){
		Url = L_Menu_BaseUrl + "/_layouts/ViewEdit.aspx?List="+activeList+"&View="+activeViewGuid;
	}else if(Url=='create'){
		Url = L_Menu_BaseUrl + "/_layouts/ViewType.aspx?List="+activeList+"&View="+activeViewGuid;
	}
	location.href=Url;
}

/*****************************************************
				Get view collection
*****************************************************/
function customGetViewCollection(listGuid){
	xmlStr = "<GetViewCollection xmlns='http://schemas.microsoft.com/sharepoint/soap/'><listName>"+listGuid+"</listName></GetViewCollection>";
	var result = {success:false, errorCode:'', errorText:'internal error', views:[]};
	wrapSoapRequest(L_Menu_BaseUrl + '/_vti_bin/views.asmx', 'http://schemas.microsoft.com/sharepoint/soap/GetViewCollection', xmlStr, function(data){
		if($('ErrorText', data).length>0) {
			result.success = false;
		}else{
			result.success = true;
			$('View', data).each(function(i){
				if($(this).attr('Hidden')!='TRUE'){
					result.views.push($(this));
				}
			});
		}
	});
	return result;
}

/*****************************************************
				Wrap webservice call
*****************************************************/
function wrapSoapRequest(webserviceUrl,requestHeader,soapBody,successFunc){
	var xmlWrap = [];
		xmlWrap.push("<?xml version='1.0' encoding='utf-8'?>");
		xmlWrap.push("<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>");
		xmlWrap.push("<soap:Body>");
		xmlWrap.push(soapBody);
		xmlWrap.push("</soap:Body>");
		xmlWrap.push("</soap:Envelope>");
		xmlWrap = xmlWrap.join('');
	$.ajax({
		async:false,
		type:"POST",
		url:webserviceUrl,
		contentType:"text/xml; charset=utf-8",
		processData:false,
		data:xmlWrap,
		dataType:"xml",
		beforeSend:function(xhr){
			xhr.setRequestHeader('SOAPAction',requestHeader);
		},
		success:successFunc,
		error:function(xhr){
			alert(xhr.statusText);
		}
	});
}

Save as “spjs_customViewMenu.js” – mind the file extension – and upload to the scriptlibrary as shown above.

Ask if something is unclear!
Alexander

Guest Author: Alexander Bautz
SharePoint JavaScripts

Alexander Bautz is a SharePoint consultant/developer (mainly JavaScript/jQuery solution) living in Norway. Alexander spends a lot of his spare time blogging on the same topics. His focus area is "end user customizations" with no (or as little as possible) server side code.

]]>
http://www.endusersharepoint.com/EUSP2010/2010/07/19/sharepoint-2007-style-view-selector-for-sharepoint-2010/feed/ 8
SharePoint Community: Something old, something new, something borrowed something blue http://www.endusersharepoint.com/EUSP2010/2010/07/14/sharepoint-community-something-old-something-new-something-borrowed-something-blue/ http://www.endusersharepoint.com/EUSP2010/2010/07/14/sharepoint-community-something-old-something-new-something-borrowed-something-blue/#comments Wed, 14 Jul 2010 17:01:13 +0000 EndUserSharePoint http://www.endusersharepoint.com/EUSP2010/?p=999 Mark Miller, Founder and Editor, EndUserSharePoint.comIf you follow EndUserSharePoint.com on a regular basis, you know that we are in the process of reorganizing the site to make it more useable, more flexible, in the way that you can find information. As I thought through how I’d like to reorganize the site, it became apparent that my dilemma wasn’t a unique one.

The SharePoint Community in general is so wide and so diverse, it is difficult to create a simple way to organize information across different types of SharePoint sites. The SharePoint audience is maturing, making it necessary to provide content that crosses the boundaries between SharePoint End User, IT Pro and Developer.

IT Pro and Developer content is not appropriate for EndUserSharePoint.com content. There has to be some way to keep the original purpose and focus of EUSP while providing other types of SharePoint resources for a maturing audience. From this realization came the kernel of an idea for a reorganization of community, not just the site.

The SharePoint Community: End User, IT Pro, Developer

Joel Oleson (SharePointJoel.com), Jeremy Thake (SharePointDevWiki.com) and I (EndUserSharePoint.com) are working together on a new vision for a SharePoint Community site.

For the past few months, we have been working with Marcy Keller (The SharePoint Muse) to build a SharePoint 2010 site that will house all of our content under one roof: End User, IT Pro and Developer. By combining resources, we will be able to provide content across the entire spectrum of SharePoint users.

Today, Joel, Jeremy and I are announcing that our concept is quickly becoming reality. We’d like to let you in on the process, where we are in the implementation and how you can plan on particpating.

Infrastructure

The combined sites are housed on a 2010 platform provided by fpWeb.net. The team at Metalogix wrote a migration engine for us that moves content from the EndUserSharePoint.com WordPress blog into 2010 publishing pages, and associates the existing comments with each article. The Metalogix app has also made it possible to migrate from Jeremy’s Confluence wiki site into a SharePoint wiki.

Each of the content areas (End User, IT Pro and Developer) resides in its own site collection on a multi-server farm on fpWeb. This segregation of areas makes it possible for various user levels to find appropriate content without having to sift through articles and resources not of interest.

The entrance of the site is a magazine style aggregator that combines content from all three areas content areas. When a reader clicks on an article or resource, they are moved into the area from which that content comes from.

What Happens to Our Existing Sites

A major point of discussion between us was “What do we do with our existing sites?” Should they be deleted after migration to avoid confusion? This didn’t seem like the best solution since one of the major drawing cards for each of our sites is the amount of “Google Juice” they have gathered over the years, plus the number of RSS feeds and hardcoded links that point to existing content would become broken.

We decided the existing sites will not go away, they will be archived. EndUserSharePoint.com and SharePointJoel.com will still exist in their current domains at RackSpace, but will be locked down from accepting comments and new content. The content and location will still exist, but point to the new community site for participation in comments and authoring of new articles.

Creation of New Content

EndUserSharePoint.com uses many authors to provide a daily flow of articles. Joel recently wrote an article, What’s Up in SharePoint Land, complimenting me on the community model of content creation that we use on EndUserSharePoint.com. Community generated content makes it possible to have a wide diversity of topics on the site. It lets us expand into new areas such as Business Process Management and Social Community Building within SharePoint without losing focus on the End User.

With the new community site, we are making this a formal process within all three content areas. Each content provider will have its own dedicated authors.

I have put together a team of authors who will be providing content exclusively for EUSP. Each has a specific area of expertise that, when added to the mix, creates a much more comprehensive whole. In a follow up article, I will introduce you to each of the twelve authors who will provide articles and resources for EndUserSharePoint’s area of the site.

How You Can Participate

Many people have become part of the EndUserSharePoint .com community by providing us with articles about projects they have worked on or ideas they have come up with. We have over 70 people who have provided content on the site. Our policy is that we are open to looking at any article that might be appropriate for the SharePoint Community. Now with IT Pro handled by Joel and Developer content handled by Jeremy, we won’t have to turn down articles because they aren’t appropriate for End Users! We can just push them over to the other areas.

In addition to contributing articles, there are other ways you might consider participating in the community.

Stump the Panel: SharePoint Q&A is an incredible resource for End Users of SharePoint. The team of people providing answers on a daily basis has made it one of the most useful areas of the site. Even if you don’t want to answer questions yet, checking in on a regular basis will give you visibility into common problems site managers and site collections managers are dealing with. There are also forums for specific types of content such as the solutions provided by Christophe Humbert and Marc Anderson.

Ken Price is working with us to organize and coordinate a SharePoint Web Parts Wiki. We are creating an area where every web part will be documented by the community. This includes what versions of SharePoint a web part exists in, how it is used and configured, and uses cases provided by anyone who has used the web part. Ken will be moderating the content to make sure no comment spam is getting through, but we’re going to open this up so that anyone that wants to participate can help build it out.

The SharePoint Community Calendar is expanding to hold not just SharePoint events, but a comprehensive list of SharePoint User Groups around the world. One of the most used areas of the calendar is for tracking down User Group events. By having a list of the user groups listed and pointing to their sites, we can now integrate that information into the events calendar. Natasha Felshman is keeping track of all the information and updating it on a daily basis so that it doesn’t become stale and out of date.

Conclusion

Joel, Jeremy and I are extremely excited about combining our existing sites and expanding them into a much larger community effort. We sincerely hope you will join us as the community site becomes a reality in the near future. Joel (SharePointJoel.com) and Jeremy (SharePointDevWiki.com) are posting articles on their sites to explain their vision of the new community, too.

You can keep up with our progress on either of the current sites: EndUserSharePoint.com, SharePointJoel.com, SharePointDevWiki.com. We will be watching for your comments, suggestions and participation since this is an ever changing project as the SharePoint Community grows, morphs and matures into something that was never imagined at the beginning our journey.

Thanks for staying with us.

Mark Miller
Founder and Editor
EndUserSharePoint.com

]]>
http://www.endusersharepoint.com/EUSP2010/2010/07/14/sharepoint-community-something-old-something-new-something-borrowed-something-blue/feed/ 0
SharePoint 2010 Records Management Overview http://www.endusersharepoint.com/EUSP2010/2010/07/14/sharepoint-2010-records-management-overview/ http://www.endusersharepoint.com/EUSP2010/2010/07/14/sharepoint-2010-records-management-overview/#comments Wed, 14 Jul 2010 14:00:45 +0000 Michal Pisarek http://www.endusersharepoint.com/EUSP2010/?p=985 This entry is part of a series, Records Management Solutions»

Guest Author: Michal Pisarek

Before we dive in to creating our Records Management solution its worth to overview the various tools and features that we will use to construct our solution. SharePoint 2010 has come leaps and bounds in Enterprise Content Management, a vast range of these tools can be applied to our Records Management solution as well.

In forming a solution it is worth to try to determine what we are trying to accomplish. In essence Records Management refers to the practice of maintaining the records of an organization from the time they are created up to their eventual disposal. This may include classifying, storing, securing, and destruction (or in some cases, archival preservation) of records (thank you WikiPedia!)

But in essence we want to achieve the following:

  1. A way to construct content that will become records
  2. A way to classify records
  3. A way to store and secure records
  4. A way to report on records
  5. what are the tools that we can use to accomplish this?

Constructing Content

Constructing content in the SharePoint sense is the definition, creation and upkeep of Content Types. The great thing about using SharePoint as a Records Management platform is that all content can be managed from a central location.

SharePoint 2010 however adds two vital features that aid in the creating of Content Types:

Content Type Syndication (CTS)

This to me is the unsung hero of the SharePoint 2010 platform. CTS allow us to define and manage the lifecycle of Content Types in one central location, with the ability to publish Content Types across Site Collections, Web Application and even Farms. This was a huge issue in MOSS 2007 as updating Content Types across Site Collections was problematic at best.

Now we can define our Content Types, with metadata, templates and in our Records Management mind set Information Management Policies, from one location and control those Content Types effectively.


Managed metadata

Just as CTS allowed us to centrally managed Content Types, the Managed Metadata Service provides the ability to centrally define metadata attached to Content Types. This gives us the ability to easily control the metadata that is so vital in order not to construct but also to classify and report on records.

Managed metadata also offers huge advantages in terms of the interface it presents to users. It makes entering metadata easier, and the more information that users add to their content, the better it can be classified and managed within a Records Management Scenario.



Classifying

Information Management Policies with Multi-stage Retention

This is one of the many improvements in SharePoint 2010 that is specific to Records Management. The ability to define retention schedules that have predefined triggers and associated actions closely models how many of the big players in the Records Management space work.

In essence it will allow us to control content as it moves from stage to stage in our retention plan, and with the addition of CTS we can neatly wrap these retention policies up in our Content Types and distribute them across the entire farm.


Default Metadata

Interestingly this is one of the new features of the platform that hasn’t got much attention, but I love it. You can now define default metadata at the document library level for any column that is present. In Records Management I really like this because we can route content to a folder and then automatically add pre-defined metadata to it simply because it landed in that location.

It makes things easier and more consistent, helping us to classify our content a little more effectively.


Unique document Identifiers

One of the more highly touted features in the ECM toolkit of SharePoint 2010 is the concept of unique document identifiers. This will give us 2 major advantages in creating a Records Management solution. Firstly we can now associated a unique identifier to a piece of content and retain that identifier across the entire lifecycle of the document. This means we can be confident that the content has not been altered or tampered in any way.

More important however is the easy findability of the document, regardless of its location within SharePoint. A unique document identifier does not contain the location of the document when you are trying to retrieve it so a user can find a document regardless of whether it has moved to the Records Center or is anywhere else within the system.


Compliance Information

Compliance information is now easily viewable from the context menu of any piece of content stored within SharePoint 2010. The more exposure that users have to routing policies, seeing if an item is a Record or other information such as Holds really help users understand the various policies that are attached to the content that they are using.


In Place Records Management

Another new ability is to mix Records and Non Records within the same library. This is a really cool feature that does make it much easier to get users to use the records management features inside of SharePoint since its now part of the user interface.

Now there is some tradeoffs to this approach and it is mainly to do with the fact that it is difficult to create complex routing rules using inplace records.


Multiple Send To Locations

With MOSS 2007 only one send to location could be defined. Now with SharePoint 2010 you have a whole host of options that can be leveraged in a Records Management scenario including new options when an item is sent, multiple locations to send to and the ability to actually hide send to location from users to distinguish items that have been moved manually and items that have been moved as part of a policy.



Store and Secure

Hierarchal File Plans

Another of the big feature changes for Records Management within SharePoint 2010 is the ability to create a hierarchal file plan. This relates to defining different disposition policies within different folders within our file plan.

The way that this is implemented within SharePoint 2010 is through the new ability to be able to specify the Information Management Policy source for content. We can now choose to override the disposition policies attached to a Content Type and use the policy defined in the folder.

Hierarchal file plans are a huge deal for Records Managers everywhere as it gives them the control to specify retention details down to a very granular level.

Records Centers

We also have a new Records Center template available that contains a number of useful features such as a in built Content Organizer, a search box where users can search for content by document identifier, a default Records Library to store records and an improved administrator interface.


Content Routing

The Content Organizer is the feature that will link our Content Types complete with metadata to our file plan. We will use the Content Organizer feature to organize documents within our file plan where they can then take on the retention rules defined on the folder that they belong in.

Reporting

Electronic Discovery and Holds


The eDiscovery aspects of the platform have also been greatly enhanced. Now we can search for content and create legal holds to track actions such as litigations, investigations or audits when we need to suspend any alterations to content.

Although not strictly part of creating a Records Management solution, it is a vital part of the capabilities that SharePoint offers

Metadata Driven Navigation

Again tied with more with the ECM capabilities of the platform but vital in a Records Management scenario. Essentially if we have many documents in a records center we need some way to be able to navigate those documents, and it shouldn’t need to be via the file plan.

Metadata driven navigation gives us this capability, allowing us to quickly navigate even through the largest of file plans with ease!


So as you can see a lot of the new ECM aspects of the platform we will use to create our Records Management solution. Really what we are doing is not creating a Records Management solution but a small ECM solution that emphasizes the Records Management aspects of SharePoint. But that is one of the great features of the platform that we can use pieces of functionality on so many different levels to craft the solution that we need.

Stay tuned for the next installment when we start to define our Content Types and metadata using Content Type Syndication and the new Managed Metadata Service!

Guest Author: Michal Pisarek

Michal Pisarek is a solution specialist for Habañero Consulting Group, a Microsoft Gold Partner in beautiful Vancouver Canada. He has been working with SharePoint for 3 years and has a passion for finding the right balance between technology, innovation, governance and fun to meet his client’s needs.

You can find other articles by Michal on his blog SharePointAnalystHQ or follow him on Twitter (@michalpisarek)

Entries in this series:
  1. Create a Records Management Solution in SharePoint 2010
  2. SharePoint 2010 Records Management Overview
Powered by Hackadelic Sliding Notes 1.6.4
]]>
http://www.endusersharepoint.com/EUSP2010/2010/07/14/sharepoint-2010-records-management-overview/feed/ 14
Client Side AJAX Applications in SharePoint 2010 – Part 7: Live Bindings http://www.endusersharepoint.com/EUSP2010/2010/07/12/client-side-ajax-applications-in-sharepoint-2010-%e2%80%93-part-7-live-bindings/ http://www.endusersharepoint.com/EUSP2010/2010/07/12/client-side-ajax-applications-in-sharepoint-2010-%e2%80%93-part-7-live-bindings/#comments Mon, 12 Jul 2010 14:00:48 +0000 Lee Richardson http://www.endusersharepoint.com/EUSP2010/?p=979 This entry is part of a series, Client Side AJAX Applications in SharePoint 2010»

Guest Author: Lee Richardson
http://rapidapplicationdevelopment.blogspot.com/

ASP.Net AJAX Templating is a compelling new client side technology from Microsoft that allows developers to more quickly build responsive and maintainable AJAX applications.  Because ASP.Net AJAX Templating and SharePoint 2010 both support the oData protocol they are a powerful combination.  This post in the series will focus on saving data back to SharePoint using the ASP.Net AJAX templating live binding syntax.

One-Way, Two-Way, Live!

The read-only {{ [FieldName] }} type template syntax we’ve explored previously is far more maintainable than string concatenation, which is the primary alternative to converting JSON data into HTML.  But where ASPNet AJAX Templating really shines is in saving data back to SharePoint (or any oData provider for that matter).  The syntax is called live binding and it comes in two flavors: two-way, and one-way data binding.  We’ll explore two-way data binding first.

In order to implement two-way data binding we simply place an INPUT element on the page and set its value to { binding [FieldName] }.  When it renders, the templating engine will replace the binding syntax with the current JSON object, just as it did with one-way binding.  But now when the user changes the value, the templating engine will automatically update the in-memory JSON objects behind the scenes.

So if we replace the master-details popup we wrote previously with live bindings like this:

<div id="userStoryDetails" class="sys-template">
    <table class="ms-formtable" width="100%">
        <tr>
            <td class="ms-formlabel" width="190">Title:</td>
            <td class="ms-formbody">
              <input type="text" sys:value="{ binding Title }" />
            </td>
        </tr>
        ...

Then the user can change the title.  But it won’t be too impressive yet because they won’t see the results of their changes in the user story cards.  We can fix that by replacing the titles of the cards with the one-way live binding syntax:

<div class="userStoryTitle">
    { binding Title }
    <span class="userStoryButtons">
    ...

Note how the one-way live binding syntax above looks identical to the two-way binding syntax.  That’s because ASP.Net AJAX Templating automatically uses two-way binding when the binding is located in an input form element. 

Our popup now looks like this:

When we mouse out of any field with two way data binding any elements on the page with one-way binding automatically reflect the change.

Saving to SharePoint

What we have so far is nice, but as soon as the user refreshes the page the values are reverted.  That’s because we never saved the values back to SharePoint.  Fortunately this is extremely easy to do with a call to dataContext.saveChanges(). 

We want the save to occur when the user clicks the OK button.  Assuming we pass in the function onDialogClose to the dialogReturnValueCallback parameter when we called SP.UI.ModalDialog.showModalDialog, then our code would look like this:

function onDialogClose(dialogResult, returnValue) {
	if (dialogResult == SP.UI.DialogResult.OK) {
		dataContext.saveChanges();
	}
}

That’s it!  The value is saved back to SharePoint and when we refresh the page the value has been updated.  But what’s going on behind the scenes?

Batch Processing

If we open up Fiddler to watch the HTTP traffic and click OK, we’ll see a post to _vti_bin/ListData.svc/$batch.  The post data looks like this:

--batch_e9ea-1b95-0f95
Content-Type: multipart/mixed;boundary=changeset_973c-961a-5b1e

--changeset_973c-961a-5b1e
Content-Type: application/http
Content-Transfer-Encoding: binary

MERGE http://localhost/Demo/_vti_bin/ListData.svc/UserStories(12) HTTP/1.1
If-Match: W/"10"
Host: nic-lee7
Accept: application/json
Accept-Charset: utf-8
Content-Type: application/json;charset=utf-8

{
    "__metadata": {
    "uri":"http://localhost/Demo/_vti_bin/ListData.svc/UserStories(12)",
    "etag":"W/\"10\"",
    "type":"Microsoft.SharePoint.DataService.UserStoriesItem"
},
"ContentTypeID":"0x010800B0CD2DCB798D704EA602F275139B7056",
"Title":"Story #12 UPDATED!",
"Priority":{"__deferred":{"uri":"http://nic-lee7/Demo/_vti_bin/ListData.svc/UserStories(12)/Priority"}},
"PriorityValue":"(2) Normal",
...
}
 ...
--changeset_973c-961a-5b1e--
--batch_e9ea-1b95-0f95--

ASP.Net AJAX Templating has kept track of all changes to all JSON objects, and on the call to saveChanges() it’s batched them all up and sent them across the wire as one big JSON post.  This means we can write applications that are less chatty and more performant with absolutely no extra effort.  That’s powerful!

Reverting Changes

The only thing that really remains to complete our user story application is to revert changes if someone clicks Cancel.  Unfortunately there is no elegant way to accomplish this.  The best we can do is re-retrieve all data from the server with a call to dataView.fetchData().  So our final onCloseDialog looks like this:

function onDialogClose(dialogResult, returnValue) {
	if (dialogResult == SP.UI.DialogResult.OK) {
		dataContext.saveChanges();
	}
	if (dialogResult == SP.UI.DialogResult.cancel) {
		dataView.fetchData();
	}
}

Conclusion

So far we’ve seen that templating is a more maintainable approach to displaying multiple list items on a page.   And we’ve seen that the master-details feature simplifies the job of cleaning up the UI.  In this post we’ve seen that the live bindings feature allows us to save data back to SharePoint in batches with a small amount of effort.  Implementing this functionality by hand would otherwise have required far, far more code.

Guest Author: Lee Richardson
http://rapidapplicationdevelopment.blogspot.com/

Lee Richardson is a Senior Software Engineer at Near Infinity Corporation, an enterprise software development and consulting services company based in Reston, Virginia. He is a Microsoft Certified Solution Developer (MCSD), a Project Management Professional (PMP), a Certified SCRUM master and has over ten years of experience consulting for the public and private sector. You can follow Lee on Twitter at @lprichar

]]>
http://www.endusersharepoint.com/EUSP2010/2010/07/12/client-side-ajax-applications-in-sharepoint-2010-%e2%80%93-part-7-live-bindings/feed/ 0