Saturday, December 31, 2011

We applied the latest Cumulative Updates to our SharePoint installation after doing some testing, and immediately ran into an error trying to create Project Server 2010 project sites.

Project Site Provisioning Settings (/pwa/_layouts/pwa/Admin/WorkspaceProvisioningSettings.aspx) had the default web app set appropriately and was set to auto-provision project sites (and this had been working for a year).

However when viewing the Project Sites from the Project Sites admin (/pwa/_layouts/pwa/Admin/ManageWSS.aspx) it showed there wasn't a Project Site.

When we tried to create the Project Site manually it said the site had already been created. The errror in the event log was as follows:

PSError: WSSCreateSiteFailure (16400) project server

After some testing I realized the error was being caused by some custom site templates we were using. They had been corrupted by the Cumulative Updates we had installed.

The fix is simple: I recreated the templates from the basic Microsoft Project Site template, resaved them into the PWA site collection’s Solutions Gallery, and can now auto-provision. I was also able to manually recreate the project sites for the projects that were missing them.

Monday, November 14, 2011

I setup a new laptop on the weekend and this morning found a crazy bug – my SharePoint 2010 and Project Server 2010 menus and ribbon would not work at all, basically rendering my laptop useless unless I could figure this out.

After much poking around in F12 Developer Tools and searching around the web, I finally figured out the solution myself.

I had dragged the IE icon to my taskbar and for some reason it was loading the 32 bit version of IE instead of 64 bit. After starting IE using the 64 bit version all was well.

I’m not sure what the exact issue was – I have used both 32bit and 64 bit IE 8 and 9 browsers on other computers and never had any issues loading SharePoint 2010 menu items.

Thursday, October 13, 2011

FASCINATING blog post from a Google engineer who used to work for Amazon.com. While the gist is a rant about Google+, the bits I dig are around Amazon’s transformation into a Service Oriented Architectural company (as well as hearing some insights about Amazon, a company I greatly admire).

“if you have hundreds of services, and your code MUST communicate with other groups' code via these services, then you won't be able to find any of them without a service-discovery mechanism. And you can't have that without a service registration mechanism, which itself is another service. So Amazon has a universal service registry where you can find out reflectively (programmatically) about every service, what its APIs are, and also whether it is currently up, and where.”

“monitoring and QA are the same thing.” … “In order to tell whether the service is actually responding, you have to make individual calls. The problem continues recursively until your monitoring is doing comprehensive semantics checking of your entire range of services and data, at which point it's indistinguishable from automated QA. “

“Organizing into services taught teams not to trust each other in most of the same ways they're not supposed to trust external developers.”

“ Bezos realized long before the vast majority of Amazonians that Amazon needs to be a platform.”

“That one last thing that Google doesn't do well is Platforms. We don't understand platforms. We don't "get" platforms.“

“The Golden Rule of Platforms, "Eat Your Own Dogfood", can be rephrased as "Start with a Platform, and Then Use it for Everything." "”

4. Packages these claims up and signs them. Because there is a trust relationship set up between SP2010 and the claims provider SharePoint will trust this package

5. Then SharePoint does something with this claim token for authorization. SharePoint is the Relying Party application (it is RELYING on the trusted identify provider (ADFS in this case) for the claims

Demo

AD is running on its own W2008 R2 server. Using default schema, using OrganizationalStatus attribute

Transforming Claims – Claims Rule Language

example: send custom claim called “EmployeePermission” with the value of Full Control if the user belongs to the SeniorManagement group and if the value of the employee’s organization attribute in AD is “Titus”

These are my rough notes of the presentation by Ramin Mobasseri and Chris Givens of eBay. The Hub is pretty impressive for the way it organizes information for its users and the lengths it goes to in order to default metadata for improved searching.

Agenda

Why upgrade?

Methodology

About the Upgrade (Technical)

About the Upgrade (Tactical)

About the Upgrade (Functional)

Q&A

Why Upgrade

On MOSS 2007.

Got more complex requirements from business users who didn’t want to write code.

Global Nav

Have people search and all sites search at the top of each master page.1 click people search using FAST and typeahead

People results

Contact Info, Department info

Search Best Bets

People look for 3 scopes of things at eBay

1. Business Unit

2. Location.

3. Organization

Managed Metadata filters on the left to allow those scopes. DIfficult to tag pre-existing sites with managed metadata

Upon creation of a site you get Best Bets added automatically

Visio Services

Used by IT Tools team – wanted way to watch health of their servers at all times. Didn’t want to spend money. Took 45 minutes to draw visio diagram and connect to backend systems. Can filter by Production and DR environments or by Dev environments.

Why Upgrade

Social Media at work – did pilots – decided on Yammer, Chatter, Newsgator, and other social networkings. Decision to not dictate technologies on end users, but recommend tools they feel are best.

1st Attempt – try to integrate these tools. If it doesn’t succeed, we aggregate.

List of social networking services under My Social link

End users can make a post and it sends to multiple networks.

Expertise locator tag cloud

Expertise Search

Better Browser and Device Compatibility

Built feature grid – against all browsers. And put a level of support from 0 to 4.

Better performance: Increased performance by 29% (for global users) since servers are based in Denver.

Upgrade Methodology

Upgrade took 3 months.

Agilistic Scrum over the Spiral Waterfalls!

Blend of project methodologies. Started in Agile mode. Had MS Architects vet the scrums to make sure everything was in place. Meanwhile business analysts could create waterfall project plan.

Communication Plan: Write to end users, team site owners, don’t surprise them. They used a grid:

Subject | Type | Target Users | Description | Date Sent.

Governance Plan: Your blueprint. Over 345 new features – yes or no answers with each team and work with IT Operations to get their blessing. If “Yes” how is it configured and who can do what?

Feature Matrix for each set of features.

About the Upgrade (Technical)

Had access to MS Architects to ensure everything was possible.

Project Requirements:

3 month timeline, multiple solutions to be upgraded.

Data Mining/ Farm Documentation

Detailed Analysis of existing farm

3rd party solutions audit.

Ran a source code comparer to diff the SharePoint files in 12 hive against the OOTB files.

Biggest challenge was 3rd party solutions. Had to build whole mockup of 2007 environment and then try migrations into 2010 to see what broke.

About the Upgrade: Tactical

Provisioning a site – a custom form. Long running process within a webpart. Anyone can create a site, IT gets a notification.

You specify a Business Unit, Organization, and Office Location default values using Managed Metadata. So when they search it will automatically filter from those sites with those values, they don’t have to do anything. They can find their site using their keywords. This took the longest time.

Rich Proifles: Encourage the end users to modify their user profiles

Offer them incentives.

Get rid of unwanted unused sites (clean your house)

Start your brownbag series early

Build an Upgrade Community to get feedback

Have weekly status meetings with the stakeholders

Make sure you have a Technical PM on the team

Watch out for the phrases: “That’s taken care of” or “That’s finished” – you have to test.

Test test test test

Productivity Hub

Power User Training

About the Upgrade: Functional

Master Pages – colliding requirements between functional groups

Editorial Issues: Did you use Word to edit in MOSS

Watch out for DIV and SPAN tags

Rich Text Editors and Content Editor webparts

The Ribbon: You will see some resistance. Users will settle after training

3 sets of users: Pioneers, Settlers, Stay-Behinds

Managed Metadata Services - Brilliant for search. Allow time for Information Taxanomy, do not rush! Planning to add them to lists and libraries (auto-tagging)? Watch out for Datasheet views.

Service Packs – don’t do SP for 6 months. But plan for it early

Questions

How many people were on the project? 3 devs, 3 IT Pros, 2 PMs (9 or 10 people for 3 months)

Physical or virtual? FAST and Admin was virtual, otherwise it was all physical (due to internal eBay policies)

Training: 20,000 user base – have trained 150 users so far. Train the trainer – Productivity Hub is 3rd most visited hub in the last few months so this is helping with training

Methodology – what do they recommend? Use whatever works. eBay recommends Scrum in Dev and get branding requirements via traditional models. Dev moved ahead while waiting for requirements (had a general idea)

Did you have to change any functionality? Had to rename thousands of host header name changes. InfoPath data connections were statically set – big issue.

Did you have constructive feedback on the intranet? Yes – put up a blog on the issues – have weekly call with Microsoft on post-upgrade lessons learned keeping Microsoft informed

Migration Approach? Was Database Attach in new farm. All database fail – that’s a given. The amount of time it takes to upgrade is directly related to the number of sites – so delete all the empty ones.

How to do it: Twitter

How to Do It: Other Social Networks

Demos

Add “Follow” button in master page at the bottom. Added tweet and like buttons next to the content. Defaulted Tweet content makes it dead easy for a user to click tweet and share the link

By function of tweeting that page, it is now part of the “Social Stream” – given a bit more weight in search engines and enabled for discovery by followers of the user or his or her friends.

Created a custom webpart to allow users to tailor the text to configure the Twitter content dynamically. The page owner can decide that they want to automatically embed hashtags in any tweet via a webpart property.

Tip: Make sure the tweet or facebook or sharethis links go to the home page consistently, so set some buttons in the master page footer or header and ensure every page on the site shows the sharing buttons.

One of the limitations of sandbox solutions is you cannot call RegisterClientScript so webparts containing these facebook or twitter plugins cannot be handled as sandbox solutions. Also a separate mode is created for Design Mode to allow rendering in SharePoint Designer otherwise you will see the controls as broken in Design Mode.

Content added to SharePoint List – triggers approval SP workflow, results in REST post to Twitter. Need to store oAUTH credentials in SharePoint 2010 secure store service to allow staff members to sign in and post via the company account.

Content of tweet needs to be approved before posting

Register an application with Twitter to use their API.

REST Based api using OWA to allow approval

Setup oAuth sending consumer key and secret to Twitter using the Access Token they give us once signed up for the REST based api (while logged in as the company’s Twitter account).

Now go into Secure Store Service and add new Group access (single version of the credentials) although you could have different Twitter profiles and those could be individual secure tokens. Define the attributes we are capturing (Screen Name, Token, TokenSecret, ConsumerKey, ConsumerSecret).

Demo of creating automatic tweet via workflow that includes page title (for a press release) and then a link back to the page automatically

Other Integration Scenarios

Leverage FAST Search for dynamic content with the FB Graph API

Connect BCS to Twitter – use native UI and WebParts with twitter content

Federated Search of Twitter, YouTube etc

Use federated login to Live or Facebook – use native SP Claims Based Auth instead of using the FB Connect plugin. Allows for audience targeting or storing a rich SP user profile

Tuesday, October 04, 2011

These are my (very) rough notes of a session by Ted Pattison at the SharePoint 2011 Conference in Anaheim.

It was a great session – Ted went into great detail in a short amount of time – and it was very entertaining.

Agenda

Using JQuery with SP 2010

HTML5 Fundamentals

Leveraging HTML5 Features in SP2010

Adding support for IE8 and IE7

JQuery Fundamentals

JQuery was designed to hide differences between browsers.

Design focuses on 2 primary tasks:

Retrieving sets of elements from HTML pages.

Performing operations on the elements within a set

Linking to the JQuery library - link to Microsoft CDN. Or you can add JQuery source to SharePoint environment in _layouts directory or via content DB in site collection. Adding to _layouts is not friendly to sandbox of Office 365

Tip: Use <SharePointScriptLink tag in the content layout

Tip: Create a feature to deploy the library. Deploy as Visual studio solution and deploy the wsp file which contains the JQuery script files and uploads them as a module.

Configure IntelliSense for JQuery

Copy JQuery source files to folder on local machine

Need a way for JQuery code to fire at the right time (when the DOM is available).

DocumentReady Event Handler

JQuery Objects

JQuery object represents a collection of zero or more elements referred to as a “Wrapped Set”. Example:

$(“p”).css({“color”: “#333” });

Most objects are created to cascade (i.e. do a bunch of things at once)

JQuery leverages familiar CSS selector syntax

Demonstrated using Browser debugging tool (which can be used in Office 365) to create new HTML tags dynamically using the DOM

JQuery UI Widgets

Pre-coded UI components based on built-in theming scheme – an extension to the core JQuery library

JQuery UI Widgets:

Auto-complete

Date Picker

Slider, Progress bar

Tabs

Accordion

Dialog

Download themes – which have CSS files you can use to configure the colours and look and feel

Working with Data

JQuery Templates: An additional extension – this is in BETA.

Templating mechanism for replacing XSLT transforms

Provides strategy for converting data collections into HTML

Demo: Creating an HTML Table with JQuery templates and making AJAX Calls with jQuery

Makes it possible to call REST based services

_vti_bin/listdata.svc for any SharePoint list returns a feed in XML format

$.getJSON(requestUrl, null, OnDataReturned);

You can POST using JSON to the SharePoint _vti_bin/listdata.svc list

Edits- have to view the DOM’s etag to see if another user hasn’t updated the SharePoint list data in the meantime. Use If-Match and pass in a MERGE method

HTML5

Motivations to move: Want CSS, JavaScript and HTML to work well across all browsers. Want to target mobile devices.

Primary Pain Points: Modern browsers only support portions of HTML. IE does not offer HTML5 tag support until IE8.

New functional elements such as canvas, geolocation, video and data list

CSS3 Changes

Borders can have rounded corners. Colors can be expressed with gradients and opacity. Text can have drop shadows and more control over text wrap. Partial adoption of new properties has been going on for years.

Saturday, September 24, 2011

Next Friday September 30 I will be co-presenting a live webinar on SharePoint Data Governance with Microsoft and our partners Titus. I will be speaking to some real world examples of handling SharePoint security and regulatory compliance challenges using SharePoint and Titus Metadata Security.

The amount of data - and sensitive data - is growing within SharePoint environments every day, but is your organization set up to keep it all secure?

Friday, July 15, 2011

Microsoft has posted the following contest – a great way of sharing SharePoint success stories with the world. Read on for details:

There are so many fantastic success stories on SharePoint 2010 that are just waiting to be told and shared. Now’s your chance to get your story heard! You’re invited to share your unique story on SharePoint 2010 to win the chance of being professionally filmed and showcased on the Canadian site for Microsoft SharePoint. Winners also get a complimentary conference pass to attend the Microsoft SharePoint Conference 2011 in Anaheim, California from October 3-6 2011 (a $1,199 value.)

1st prize

Your story professional filmed, plus a pass to the Microsoft SharePoint conference 2011

2nd prize

One pass to the Microsoft SharePoint Conference 2011

Contest CategoriesSharePoint 2010 is a versatile solution and can address many different business challenges. Choose a submission category from the following list on how you used SharePoint to address the following business priorities:

Increase productivity

Reduce cost

Rapidly respond to business needs

Please note that you can submit to multiple categories, provided each submission is a unique and different SharePoint 2010 solution (i.e., one solution per category). Don’t miss this great chance to be rewarded for all your hard work. Your journey with SharePoint is important and it needs to be heard! All submissions must be received by August 22nd, 2011. Good luck!

Monday, July 11, 2011

While working on a SharePoint 2007 custom search project we found an interesting little quirk in the search engine.

We were using the XML iFilter rather than the regular html iFilter due to a requirement to tightly constrain some date metadata as type datetime (with the OOTB filter SharePoint was returning these as text and not allowing proper date range filtering).

While searching for numbers contained within text, if the number was on its own line of text and not preceded by anything else, the result would return correctly but hit-highlighting was not applied.

However, if we put any text at all in front of the numbers, the hit-highlighting applies perfectly.

Therefore the workaround was simply to alter the text that was being displayed to include at least one letter or word before the integers in the line.

Tuesday, April 26, 2011

There is a great tool from Mavention called Meta Fields that allows SharePoint 2010 administrators to add metadata properties to the source code of their pages. This makes it easier for a search engine to crawl and rank the content and so is helpful for Search Engine Optimization (SEO).

To use this you just have to download (for free as far as I can tell) and install Mavention Meta Fields which is a SharePoint solution. After activating the feature and adding metadata columns to your page content type, you can now edit the properties and the source code spits out metadata such as (for example) keywords, subject, DC.title and DC.keywords.

Anyone with a public website SharePoint 2010 web site should consider using this. Complete instructions are on creator Waldek Mastykarz’s blog:

Friday, April 22, 2011

One of the great new features of SharePoint 2010 is the new Managed Metadata service, which allows you to centrally manage your metadata. You can setup hierarchical terms in a variety of languages, and delegate the administration responsibility to end users such as Information Management staff or Records Managers.

Although it is easy enough to add individual terms, there are a variety of great tools that make it easy to create and upload entire term sets (the largest we have migrated so far is Medical Subject or MeSH data with about 16,000 hierarchical medical terms).

Here are some of the tools we use at StoneShare:

Excel Template with Macro

Wictor Wilen has created an Excel Template with a Macro to make it easy to populate SharePoint 2010 Term Sets.

Term Set Importer / Exporter

When uploading large term sets (such as the MeSH one we used for a client) you might get timeouts in Central Administration – this is because the out-of-the-box import tool uses a web interface). There is a great (FREE!) tool on CodePlex which uses a little desktop utility, and hence does not time out:

Pre-Built Term Sets for Sale

Rather than going to the trouble of creating your own term sets, you can also purchase existing term sets from Data Facet. I haven’t yet used these so I can’t speak for them but this could be a good way to quick-start your managed metadata for a particular industry.

One advantage of this approach (apart from the time saved recreating these) is that you will be using the identical term set as other organizations, which may help with data portability. Whether this is your business requirement or not is an open question.

Thursday, April 21, 2011

There is a great SharePoint maturity model created by Sadie Van Buren we use to help educate our clients and anticipate their growing use of our products and solutions.

It's easy to use - just examine the particular section you are considering, and depending on the answers to the statements in the section you can determined where the organization fits. Generally organizations have different maturity in different areas of SharePoint.