Web site user authentication and Data Sharing

I'm building a workspace application for my client base to use in their own Office Live sites. It holds extra data for my clients' projects that are associated with particular opportunities.

For example, the workspace includes XML parts lists and JPG design images, each referencing an Opportunity ID in the WebBCM. This works nicely in-situ - I have a Dashboard for this workspace that allows me to select the relevant Opportunity and show the associated design images and renders the XML parts list through XLST.

What I'd now like to do though, is for my clients to be able to share the images with each customer. The customer should only be able to see the images that are relevant to them. I may want to add other data from other lists too (such as survey date, delivery date, fit date).

There's only two ways I can think of approaching this, but neither seem to fit the bill.

One is to use Data Sharing with the public website, but there doesn't seem to be any user authentication facility within the publice website.

The other is to have the client set up the customer as an Office Live user on their site, inviting them only to view a Workspace that's set up specifically for them. The problems here are twofold - firstly, the Office Live ID setup process is way to complex for casual consumer customer relationships - most would give up. Secondly, this would require setting up a Workspace for each customer, and there could be hundreds for each of my clients - I'm guessing this would quickly become unmanageable.

Any suggestions?

[1589 byte] By [DaveGurr] at [2008-2-3]
# 1

Dave,

Those were the first two ideas that came to mind for me.

What would be your ideal solution?

-Tara

TaraBrown-MSFT at 2007-9-5 > top of Msdn Tech,Office Live Development,Office Live Basics, Essentials and Premium...
# 2

My favourite solution would be to have some kind of lightweight user authentication feature on the public website, driven from the WebBCM.

The ideal process would be:

  • Office Live Premium admin user invites a Contact (from the WebBCM) to access the site. An email would be sent automatically to the Contact, including a verification link.
  • That verification link would take the Contact to a page that asks the user to choose a password.
  • That page should be editable by the OLP admin user within reason - the admin user should be able to optionally enforce acceptance of the Terms and Conditions (and provide a link to the Ts & Cs page), and should be able to optionally edit the page in terms of the invite text, and add images.
  • There would have to be a "Sign In" page on the public website that would allow the Contact to authenticate

There would then need to be some kind of extension to the WebPart Data Sharing mechanism to allow lists to be shared with authenticated users, based on an Opportunity ID or Contact ID field in the list. This is, undoubtedly, the hard part!

For example, I have an Image Library list that has an extra field for Opportunity ID, and a Document Library list that has extra fields for Opportunity ID, surveyor appointment date/time and fitter appointment date/time. I'd like to be able to show a page on the public website that, for signed in users, shows them:

  • A list of all the Opportunties they're associated with. When they click one, they're shown ...
  • Clickable thumbnails of the Images in the Image Library which have that Opportunity ID, plus...
  • An XSLT transformed XML file from the Document Library entry with that Opportunity ID, plus ...
  • The other fields from the Document Library entry with that Opportunity ID

In the absence of any Office Live functionality to do this, the only way forward I can see at the moment is to build my own Office Live client application (authenticating with Live ID) hosted on a separate server (under my control), which implements the lightweight authentication mechanism and which retrieves the relevant lists from the Office Live site and displays them itself.

This is not ideal for me or Microsoft - it's a considerable development job for my team, but it's also lessening my (and my customers') dependence on Office Live and directing traffic away from the Office Live site.

DaveGurr at 2007-9-5 > top of Msdn Tech,Office Live Development,Office Live Basics, Essentials and Premium...
# 3

Hi Dave,

I'm re-reading your scenario... basically it boils down to something like you have useful data that is being stored in some of the WebBCM lists, things like Images and Opportunity information. In the scenario you describe, it sounds like what you want is for the customer to be invited to some semi-secure website to sign in and see that data.

Have you considered, instead of requiring the customer to go to the site to get the data, giving your clients the opportunity to automate sending the data to their customers? I'm thinking about workflow rules, and creating a workflow that allows your clients to generate a sort of "customer update" or report email. Workflow rules give you the ability to pull data out of your Office Live lists, format them into an email and send the email out.

The workflow rule could execute automatically, for example, every time a new image is uploaded, it would run a rule that sends the new image in an email to the customer. This cuts out a couple steps for the customer in this scenario. You can also configure workflow rules to only be run manually. So a user makes a bunch of updates, but only wants one image to be sent to her customers. You could create a workflow rule that a user can launch manually that pulls data into an email and send it to the associated customer/opportunity and gives the user more control over what gets sent out.

In order to configure Workflow rules in Office Live, you do need to get SharePoint Designer 2007. If you are in the Microsoft Partner Program, you probably already have at least a beta version you can play around with. They are extremely powerful, and I think might be an OK compromise for the scenario you are describing.

Just a couple thoughts on how else you might satisfy the same customer requirements but in a different way.

Thanks,

Chris

ChrisBeiter-MSFT at 2007-9-5 > top of Msdn Tech,Office Live Development,Office Live Basics, Essentials and Premium...