JQuery and SharePoint Blogging Sample

Filed under:SharePoint,Web 2.0 — posted by Jason MacKenzie on January 13, 2010 @ 1:47 pm

It’s been a while since I posted due to a change in careers.  I have become an independent SharePoint consultant and am loving the change.

Reading my favourite (IT) site, EndUserSharepoint and all the interesting examples of what the authors are doing with SharePoint has gotten me very excited about the possibilities of integrating JQuery with SharePoint to create some very slick user interfaces.  I want to some highlights of this latest prototype because it touches on a lot of different areas.

Firstly the shoutouts:

Heather Solomon for her blog on Customizine the CQWP
Michael Hofer for rolling up blog comments with the CQWP
Everyone at EUSP

So without further ado here’s a quick video of what the prototype looks like.  Prototype

So the first thing I did was create a new site based on the Blog template, added a few posts and made a few of my typically dim comments.  I actually added a column on the comments list called Highlight which we’ll use later. 

I added a CQWP to my page and you’ll notice that there is no way to roll up blog comments from the UI.  A little research led me to Michael’s blog above.  So configuring the CQWP to roll up blog posts and then exporting it, modifying the server template property from 301 to 302 and reimporting it did the trick.  Keep in mind that if you modify the CQWP in the UI after words you’re going to have to go through that process again.

While we’re on the subject of modifying the webpart we might as well add the extra fields we’ll need to the CommonViewFields property in our webpart. Essentially this makes the fields available to use when modifying the XSL a little later.  For more information please read Heather Solomon’s post above.

<property name=”CommonViewFields” type=”string”>Body, Text;Title,Text;Highlight,Boolean</property>

Moving along….I wanted to get a  nice accordion effect with the results which naturally led me toward the jQuery accordion.  For those that haven’t used it, it really could not be simpler.  Add a reference to the right jquery libraries, format the HTML and away we go.  Actually in the interest of clarity, here are all the jquery references and code required for this sample.  I’ll explain them as we go:

Simply place this all into a Content Editor Web Part (this definitely is not a best practice but for the purposes of this article we’ll leave it like this).

  <script type=”text/javascript” src=”http://jqueryui.com/latest/jquery-1.3.2.js”></script>
  <script type=”text/javascript” src=”http://jqueryui.com/latest/ui/ui.core.js”></script>
  <script type=”text/javascript” src=”http://jqueryui.com/latest/ui/ui.accordion.js”></script>
<script type=”text/javascript” src=”http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/jquery-ui.min.js”></script>
<link rel=”stylesheet” href=”http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/ui-lightness/jquery-ui.css” type=”text/css”>

<script type=”text/javascript”>
  $(document).ready(function(){
    $(“#accordion”).accordion(
{
    autoheight: false
}
);
jQuery(“#dialog”).dialog({
      bgiframe: true, autoOpen: false,  modal: true, show: ‘slide’
    });

  });

  function PopulateText(textToShow, title)
  {
        document.getElementById(“dialog”).innerHTML = textToShow;
        document.getElementById(“dialog”).title = title;
  }

 </script>

The appropriate HTML formatting for the accordion looks like this:

<div id=”accordion”>
    <h3><a href=”#”>First header</a></h3>
    <div>First content</div>
    <h3><a href=”#”>Second header</a></h3>
    <div>Second content</div>
</div>

Since we’ll need to control the HTML output we’ll turn to our friend the itemstyles.xsl file.  It’s located in the style library which is easy enough to find in SPD:

Again, for the mechanics of creating new templates etc. please refer to Heather’s blog post.  She’s far more articulate that your resident troglodyte here.  Anywhoo…we’ll create a new template and this is really where the magic happens.  The first challenge I had was that I needed to have a <div id=”accordion”></div>  block surrounding the CQWP.  But, obviously this output will be rendered for each item. 

However with the following check we can ensure that the following output is generated only for the first item.  I’ll explain the code snippet in red later – it’s not germane to this discussion.  So essentially on the first match we’re going to spit out <div id=”accordion”> and then everything else will be contained with in that div.

 <!–If this is the first match let’s put a header on it–>
  <xsl:if test=”count(preceding-sibling::*)=0″>
   <div id=”dialog” title=”Comment”>
    <p>
     <xsl:value-of select =”@Body” disable-output-escaping=”yes”/>
    </p>

   </div>
   <xsl:text disable-output-escaping=”yes”>&lt;div id=accordion &gt;</xsl:text>
  </xsl:if>

Of course then at the end of the template will put the following check it to render the closing tag on the last match:

  <!–If this is the last match we’ll put a footer on the end to close off the html–>
  <xsl:if test=”count(following-sibling::*)=0″>
   <xsl:text disable-output-escaping=”yes”>&lt;/div&gt;</xsl:text>
  </xsl:if>

The next step we want to do is make sure that only the list items or comments that have Highlight checked are rendered.

A very simple check like so makes that happen:  <xsl:if test=”@Highlight=’True’”> …put everything you want rendered in here  </xsl:if>

Now – you’ll notice in the video that when you click the more button for each item a nice jquery modal dialog pops up with the body of the comment.  Here’s how that was accomplished.

That snippet in red above is the container that will be required to store the text we want to show in the jQuery dialog so we’re going to need to come up with a way to dynamically populate this.

So in our XSL we will do the following – comments inline:

       <tr valign=”top”>
        <td><strong>Details</strong></td>
        <td valign=”bottom”>

<!–The users will click an image with the word “More” on it in order to show the comment body.  We wrap the image in an <a> tag and then in the click event we set the dialog properties (height, width etc.) and then we open the dialog.

However on the mousedown event (prior to the onclick) we render some script that will call the PopulateText function and pass in the comment Body (@Body).  When the dialog opens it will display the right text. 

–>   
<a href=”#” onclick=”jQuery(‘#dialog’).dialog(‘option’,'show’ , ‘slide’);jQuery(‘#dialog’).dialog(‘option’,'height’ , 300);jQuery(‘#dialog’).dialog(‘option’, ‘width’, 500);jQuery(‘#dialog’).dialog(‘open’); return false”>
   <xsl:attribute name=”onmousedown”>
   <xsl:text>javascript:PopulateText(“</xsl:text>
   <xsl:value-of select =”@Body” disable-output-escaping=”yes”/>
   <xsl:text>”, “Comment”);</xsl:text>
   </xsl:attribute>
   <img border=”0″ src=”/SiteCollectionImages/Moreicon.gif”></img>
   </a>
     </td>
       </tr>

In order to change the them for your accordion and dialog all you need to do is change the link to the theme css file (<link rel=”stylesheet” href=”http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/ui-lightness/jquery-ui.css” type=”text/css”>).

And that is how I created some nice effects for Blog Posts using the CQWP and jQuery.   I hope you enjoy, get some ideas and provide me with some feedback.

Jason

For reference sake the entire XSL template is below:

<xsl:template name=”HighlightedBlogComments” match=”Row[@Style='HighlightedBlogComments']” mode=”itemstyle”>
  <xsl:variable name=”SafeLinkUrl”>
            <xsl:call-template name=”OuterTemplate.GetSafeLink”>
                <xsl:with-param name=”UrlColumnName” select=”‘LinkUrl’”/>
            </xsl:call-template>
        </xsl:variable>
  <xsl:variable name=”SafeImageUrl”>
            <xsl:call-template name=”OuterTemplate.GetSafeStaticUrl”>
                <xsl:with-param name=”UrlColumnName” select=”‘ImageUrl’”/>
            </xsl:call-template>
        </xsl:variable>
  <xsl:variable name=”LinkTarget”>
            <xsl:if test=”@OpenInNewWindow = ‘True’” >_blank</xsl:if>
        </xsl:variable>
 
 <!–If this is the first match let’s put a header on it–>
  <xsl:if test=”count(preceding-sibling::*)=0″>
   <div id=”dialog” title=”Comment”>
    <p>
     <xsl:value-of select =”@Body” disable-output-escaping=”yes”/>
    </p>
   </div>
   <xsl:text disable-output-escaping=”yes”>&lt;div id=accordion &gt;</xsl:text>
  </xsl:if>
  <!–Only show the records where the HighLight Column has been checked–>
  <xsl:if test=”@Highlight=’True’”>
   <h4>
    <a href=”#”>
     <xsl:value-of select=”@Title”/>
    </a>
   </h4>
   <div height=”350″>
    <p>
     <font size=”1″>
      <table>
       <tr valign=”top”>
        <td><strong>Author</strong></td>
        <td><xsl:value-of select=”@Author”/></td>
       </tr>
       <tr valign=”top”>
        <td><strong>Posted On</strong></td>
        <td><xsl:value-of select=”@Created”/></td>
       </tr>
       <tr valign=”top”>
        <td><strong>Details</strong></td>
        <td valign=”bottom”>
   

   <a href=”#” onclick=”jQuery(‘#dialog’).dialog(‘option’,'show’ , ‘slide’);jQuery(‘#dialog’).dialog(‘option’,'height’ , 300);jQuery(‘#dialog’).dialog(‘option’, ‘width’, 500);jQuery(‘#dialog’).dialog(‘open’); return false”>
   <xsl:attribute name=”onmousedown”>
   <xsl:text>javascript:PopulateText(“</xsl:text>
   <xsl:value-of select =”@Body” disable-output-escaping=”yes”/>
   <xsl:text>”, “Comment”);</xsl:text>
   </xsl:attribute>
   <img border=”0″ src=”/SiteCollectionImages/Moreicon.gif”></img>
   </a>
  

   </td>
       </tr>
      </table>
     </font>
    </p>
   </div>
  </xsl:if>
  <!–If this is the last match we’ll put a footer on the end to close off the html–>
  <xsl:if test=”count(following-sibling::*)=0″>
   <xsl:text disable-output-escaping=”yes”>&lt;/div&gt;</xsl:text>
  </xsl:if>
 </xsl:template>

VN:F [1.9.3_1094]
Rating: 9.0/10 (1 vote cast)
VN:F [1.9.3_1094]
Rating: +1 (from 1 vote)

Popularity: 64% [?]

My SPC 09 Calendar

Filed under:Conferences,Enterprise 2.0,SharePoint,Social Networking,Web 2.0 — posted by Jason MacKenzie on October 14, 2009 @ 6:48 am

SPC09Here’s my schedule for the upcoming SharePoint conference.  I’ll also be live blogging for End User SharePoint which I am really looking forward to.

Monday, October 19th, 2009
9:00 AMKeynote: Unveiling Microsoft SharePoint 2010
Mandalay Bay BallroomSpeaker: Steve Ballmer

10:30 AMKeynote: Microsoft SharePoint 2010 Drilldown
Mandalay Bay BallroomSpeaker: Jeff Teper

1:15 PMEnterprise Search Overview
Islander GSpeaker: Evan Richman

2:45 PMECM for the Masses – How SharePoint 2010 delivers on the promise
Lagoon HSpeaker: Ryan Duguid

4:30 PMOverview of Social Computing in SharePoint 2010
South Seas DSpeaker: Christian Finn

Tuesday, October 20th, 2009
9:00 AMWhat’s New in Business Connectivity Services (Evolution of BDC!)
South Seas BSpeaker: Michal Gideoni

10:30 AMScaling SharePoint 2010 topologies for your organization
Mandalay Bay FSpeaker: Simon Skaria, Umesh Unnikrishnan

1:15 PMSharePoint Document Management Deep Dive
Mandalay Bay KSpeaker: Ryan Duguid

2:45 PMOffice 2007 vs. Office 2010 – Deployment Considerations
Breakers BSpeaker: Chris Bortlik

4:30 PMContinental Airlines: Architecting Enterprise Content Management -…
Breakers ESpeaker: Benjamin Lee, Denise Wilson, Jason Deere

Wednesday, October 21th, 2009
9:00 AMSharePoint 2010 Governance: Planning and Implementation
Mandalay Bay GSpeaker: Scott Jamison, Susan Hanley

10:30 AMConfiguring and Deploying a Reporting Environment in SharePoint…
Mandalay Bay KSpeaker: Prash Shirolkar, Thierry D’hers

1:15 PMOverview of Content Acquisition for Search in SharePoint 2010
ReefSpeaker: Siddharth Shah

2:45 PMSolving Information Chaos: Advanced Content Processing with FAST…
Lagoon JSpeaker: Sven Arne Gylterud

4:30 PMSocial Search in SharePoint 2010
Mandalay Bay HSpeaker: Jessica Alspaugh

Thursday, October 22th, 2009
9:00 AMUnveiling New Management Tools for Administering SharePoint 2010
South Seas BSpeaker: Zach Rosenfield

10:30 AMDeep Dive into SharePoint 2010 Profile Store and Profile Data…
Mandalay Bay GSpeaker: Chris Gideon, Tanuj Bansal

12:00 PMForm-driven Mashups Using InfoPath and Forms Services 2010
Mandalay Bay JSpeaker: Nick Dallett

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.3_1094]
Rating: 0 (from 0 votes)

Popularity: 9% [?]

SharePoint Blogs as a Communication Mechanism

Filed under:Enterprise 2.0,SharePoint,Social Networking,Web 2.0 — posted by Jason MacKenzie on September 21, 2009 @ 6:44 am

i_love_blogging-787805As those of you who read this blog periodically know, I work for a large, global manufacturing company.  As part of the rebranding effort of our MOSS 2007 implementation many of our senior executives have started blogging.  This provides another medium for them to converse with the peeps as it were. At the outset their intention was to create a two way dialog with our employees and take some intial steps to embrace the world of Enterprise 2.0.  I would say that while it has been somewhat successful, but it has not met expectations.  I have some ideas as to why and some solutions but am very interested in the feedback of those who have enjoyed a successful blogging initiative.

This great article by Joel Olsen triggered gave me some excellent food for thought to ponder this situation: http://www.sharepointjoel.com/Lists/Posts/Post.aspx?List=0cd1a63d%2D183c%2D4fc2%2D8320%2Dba5369008acb&ID=253

Here are some of the issues that I see as an obstacle to success.

  1. Corporate Culture – ours is an organizationally decentralized company.  While we have made great strides in improving communication and collaboration over the past 1o years some of that institutional memory lingers.
  2. Lack of Governance – clear governance needs to be defined on acceptable blogging and commenting policies.  This will provide clarity to people about expectations and give them some certainty on how to ensure their comment is published.
  3. User Profile Data – While this isn’t necessarily related to blogging it is critical in order to extend MOSS from a communication and collaboration tool to a platform for connecting people.  This shift in my view will drive people to the portal as part of their day to day activities and increase the opportunity for users to read and interact with blogs.  This is difficult in a decentralized organization like ours because the responsibility for populating AD with accurate information lies with the individual manufacturing facilities.
  4. Latency – I see this as a major issue.  When people take the time to post a comment it needs to be reviewed and approved within a reasonable period of time.   Currently when they post it “disappears” into the ether and will only show up once approved.  There then is a further delay in waiting for a response.  We are looking at implementing a simple “Thumbs Up” mechanism so people can immediately give feedback on content.  We discussed a ranking system or even having a Thumbs Down option but have decided at this point in the evolution of our Enterprise 2.0 initiative that we want to encourage positive feedback and leave more comprehensive and potentially negative feedback for the comment mechanism.
  5. Metrics – the only way you can know if any initiative is successful is to define measurements and success criteria and then….wait for it…measure them.  The problem with OTB SharePoint usage statistics is that they absolutely do not provide you with enough information to make informed judgments about whether what you are doing is working.  In our situation our executives typically post new blogs on Mondays. 
    1. We initially created a graph for each blog showing number of hits and distinct users for the last 30 days.  This was helpful in the sense that it showed us both usage trends over time and confirmed that there was a spike in traffic 1-2 days after the blog was posted.
    2. We then linked the SharePoint usage data to our main application database to show how many distinct users per month from each manufacturing facility  were visiting the blogs.  Interesting, but not overly useful.
    3. We are now looking at metrics that will require some proactivity on the part of the blog admins but should prove more useful.  Breaking down the metrics by week to coincide more closely with the posting cycle.  And then doing some research to understand the effectiveness of the blog?  If a blogger highlights a certain facility for great work they did, the traffic from that facility should increase if the message is getting across.  Or if a blog is posted focused on a specific major customer of ours the ideal outcome would be that all facilities dealing with or hoping to win business from that customer would be drawn to the blog post.  If not, there is a problem.  But you can’t know if you don’t measure it.
    4. Average length of time to approve and respond to a blog comment.  In my view there should be an SLA around this.  I personally would not want to have a conversation with someone that took a week to respond.
    5. As I highlighted in a previous blog entry we have wired up a DVWP to a SQL query to highlight blog comments and their current status to make it easier for approvers to see if there are any new entries that need review.  We have also encouraged them to set up alerts on their Comments lists.
    6. A quick tip that many people don’t know is that by appending “_layouts/usagedetails.aspx” to the end of your site URL you are able to see different usage metrics.  You wil be able to see for example a list of users by day that have accessed your site.  This can be helpful in understanding who is accessing your blogs and when and will allow you to get a sense of who is reading each post.  Again – it’s not perfectly accurate but tied with the other metrics you can start to get a good picture of who is conuming the content.
    7. SharePoint Designer also has some usage reporting that you can use.  If you open a site and select the Site > Reports >Usage option you can see the reports that you can take a look at.
  6. Exposing Content – we have a site called Blog Central and each blog is a subsite of that.  We currently roll up the latest blog entries using the CQWP.  The issue with that is the fact that the Blog Central site is still a click away from the home page.  We are looking at a revamp of our homepage to leverage the CQWP and JQuery to in order to maximize the use of space and allow users to more easily see what is new.  We are also looking at rolling up the comments to a more prominent central location in order to highlight the fact that there is dialogue taking place.  Currently comments are only accessible by looking at the bottom of specific blog posts which makes it cumbersome for the users.

I hope you find this information helpful and most importantly I am interested in any feedback on your own experiences.

VN:F [1.9.3_1094]
Rating: 6.0/10 (2 votes cast)
VN:F [1.9.3_1094]
Rating: 0 (from 2 votes)

Popularity: 5% [?]

Creating a Web Chat Prototype in SharePoint

Filed under:IT,SharePoint,Web 2.0 — posted by Jason MacKenzie on August 28, 2009 @ 6:19 pm

Webchat

 

 

 

 

 

 

Please take a look at my latest webcast about creating webchat prototype in SharePoint similar to what you see here: http://fastlane.gmblogs.com/

As always you feedback is more than welcome and I hope you derive some value from this information.

The webcast is located here: http://www.screencast.com/users/JasonScottMacKenzie/folders/Default/media/1534ed98-3ba1-4156-bb7f-8fe524c01577

VN:F [1.9.3_1094]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.3_1094]
Rating: +1 (from 1 vote)

Popularity: 36% [?]

Give me a Tax Free Folkswagen..or a a hybrid

Filed under:Enterprise 2.0,Social Networking,Web 2.0 — posted by Jason MacKenzie on August 2, 2009 @ 5:59 am

vw-camper-hybrid I have been doing a lot of reading and thinking, along with many others,  about the relative merit of  taxonomies and folksonomies in the corporate environment.  Would you derive more value by spending effort creating a detailed taxonomy for your information environment or would you be better off letting the users categorize content by tagging that content thereby creating a folksonomy?  Or perhaps a hybrid solution where a shared vocabulary is used to as the basis of your content tagging effort.

Since I am currently working with MOSS 2007 forgive me if I use some MOSS specific terms throughout this post.

Obviously there are benefits and drawbacks to both and their relative merits can be dictated by the situation.  I wouldn’t personally want to be perusing for medical information on heart medication and be mislead into thinking a laxative fell into that category because someone thought that would be funny – although I’m certainly not above seeing the humour there.

First let’s understand some relevant terms.  It would be a terrible irony if we didn’t define these terms considering the topic of this post.   Or would it?

Taxonomy: is the practice of classifying things.  The Duey Decimal system comes to mind  In the context of this article it is the creation of meta-data structures to organize and classify content.  The structure is often hierarchical and really represents an attempt to create a shared vocabulary.  I work in a manufacturing company and and example of a sample taxonomy can be found here: http://en.wikipedia.org/wiki/Taxonomy_of_manufacturing_processes

Folksonomy: A non-hierarchical collection of user generated terms used to describe content.  Think tag cloud.  The word is a portmanteau of “folk” and “taxonomy.  Sorry – I found that lovely French word while researching this post and felt like I had to include it.

Precision: In the context of document retrieval, precision is the percentage of retrieved documents that are relevant to the search.  It’s a measure of exactness.

Recall: The number of relevant documents that were returned in a search versus the amount that should have been returned.

Semantics: the study of meaning.  Or in other words, there may be a semantic gap between your perception and your boss’ intentions when  he tells you that as a manager this place could run just fine without you.

Metadata – data about data.  Or in other words, descriptive data about specific content (author, file size, owner etc.) 

Here is a quick table illustrating providing an overview of taxonomies and folksonomies.  Credit goes to Mark Baartse from useyourweb.com for the information: http://www.useyourweb.com/blog/?p=62

Taxonomy Folksonomy
Brittle Flexible
Accurate (if done well) Less reliable
Compliance must be forced Rewards but doesn’t force compliance
Harder to add to Easy to add to
Centrally controlled Democratically controlled
Predictable Organic
Higher Precision Higher Recall

There is a very interesting article below that describes the semantic gap between expert curators & laypeople in describing and categorizing artwork.   http://www.nytimes.com/2007/03/8/arts/artsspecial/28social.html?_r=2&oref=slogin.  I think in a decentralized, global organization like my current employer that this situation illustrates perfectly the difficulties in implementing a comprehensive taxonomy.

Consider the situations many organizations find themselves in.  A global organization working with numerous languages and cultures composed of numerous functional areas and levels that is sharing information with customers and suppliers.   Add in a decentralized operating structure along with a sprinkle of rather ad-hoc document management practices and the challenges of implementing a taxonomy that will add any value start to become quite clear.   There is a lot of leg-work do to organizationally prior to even considering a technology solution.  

“Can we all agree on what a “part” is?  What about a customer? What about an HR policy?  Most of the time we can’t agree where to go for lunch.   And hey!  All our ERP solutions are implemented differently anyway.  Shouldn’t we spend 10 years doing that prior to doing this? And that guy from Iowa is a jerk anyway so there is no way I’m working with him. I’m hungry…about that lunch…”

Incrementally implementing a simple taxonomy that can leverage the enterprise search features of MOSS is straightforward and requires agreement of a smaller group of people.  

In scenarios like this I have started to lean much more towards the use of folksonomies.  It’s far simpler to implement, content editors have been open to the idea that they can “tag” things and it shows up in a cool tag cloud on the home page.   Plus it seems very trendy and Web 2.0.

In fact I have to include an image of one of the first that we implemented.  It figures that the most prominent word would be Die.  Just my luck.

TagCloud

 Obviously this is fraught with the typical perils of user generated tagging but in our situation the content authors are reasonably well-trained.  They are not that likely to imput something malicious.  They might input something that makes no sense to someone else but that’s part of the process.  It’s a hell of a lot easier to modify a tag than it is to make a change to your taxonomy.  In fact, and this is very important, I see a real opportunity for a folksonomy to drive a more structured effort at creating a taxonomy over time.  It will provide us with a glimpse into how the people that use the content perceive that same content.

The important thing to remember is that this approach provides content consumers with a new mechanism for finding the information that they are looking for.  It is complimentary to Enterprise Search. There are numerous free tagging solutions for MOSS 2007 available at codeplex and it will be included in SharePoint 2010 out of the box.

The major limitation I see with this approach is the lackof a semi-structured contextual shared vocabulary.  I’m referring to a way to provide content creators with contextual tagging suggestions based on the content they are trying to describe.   If you take a look at my short post regarding OpenCalais you’ll get an idea of what I am referring to: http://www.intelligenceamong.us/?p=350

When I think of a hybrid solution this is what I am referring to and the potential power of the Semantic Web or Web 3.0 or whatever we’ll be calling it in a few years.     Imagine if content creators were able to filter their content through an engine or services that looked at the contents and was able to determine relationships, people, events, facts etc. about the content and return suggestions that made sense.   The instances of incoherent or irrelevant tags would drop significantly.  Based on what I have seen with OpenCalais, we are going to look at creating a prototype that integrates with their service to assist content creators with creating a reasonable folksonomy.

In summary, taxonomies and folksonomies are complimentary to one another and will faciliate your understanding of your information from a variety of perspectives.  Nothing is static and gathering as much information as organically as possible will assist the evolution of the classification system that you choose.  Adding semantic capabilities to your content tagging effort can make your folksonomy even more relevant.  Good luck.

VN:F [1.9.3_1094]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.3_1094]
Rating: +2 (from 2 votes)

Popularity: 50% [?]

OpenCalais & Adding Semantic MetaData to Your Blog

Filed under:Change,Enterprise 2.0,Social Networking,Web 2.0 — posted by Jason MacKenzie on July 29, 2009 @ 12:01 pm

In researching an blog post regarding folksonomies vs taxonomies I started doing some research on the semantic web and players that are currently in that space right now.  I came across OpenCalais and their tagaroo plug in for WordPress.   In a nutshell, the plugin conects to the OpenCalais service in near real time and returns suggestions for relevant meta-data tags as well as providing the ability to search Flickr, based on those tags and insert them into your post.

See the screen capture below to see what suggestions were offered as a result of the content of the first paragraph.

Suggestions1

 

 

 

 

 

 

 

 

 

 

Watch what is returned when I type the following: Jason MacKenzie was promoted to President of the United States:

Suggestions2

OpenCalais not only recognized the tags for President, United States etc. but also recognized this is likely related to an employment change.

 

 

 

Simple to install and simple to use.  The only caveat is that you need to get an API key which you then add to the configuration screen for the plugin.  This process takes no more than a few minutes.

The corporate implications for this are staggering and I’m very much looking forward to seeing how this develops.

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.3_1094]
Rating: 0 (from 0 votes)

Popularity: 37% [?]

Portals: Process + Praxis = Prosperity

Filed under:Enterprise 2.0,SharePoint,Social Networking,Web 2.0 — posted by Jason MacKenzie on April 13, 2009 @ 8:59 am

Click here for Part 2.

One of the insights I share with people that are implementing SharePoint and/or an Enterprise Social Computing strategy is that just because you build it does not mean that they are coming. Your people are used to working, communicating and collaborating in specific ways and there needs to be a compelling reason for them to change. In my experience, an important aspect of the human condition is that to varying degrees people are motivated by naked self-interest. Myself? Guilty as charged. How does an organization overcome the “So What” factor when launching their new portal platform that will have a “transformative impact on how we do business?” I will now pause so you can collectively yawn.

To drive the success of an initiative or initiatives like this an organization needs to ask themselves a few very important questions:

  1. What are the problems we are trying to solve.  Sounds simple but losing focus on that simple questions will lead you down a path of misery and that flushing sound is your EBIT going down the toilet.
  2. What are the business processes, across functional areas, that will support this initiative?
  3. What are the motivators that will get people to change their behaviour?

Today I’ll focus on “The Problem” and will cover the others in future posts.

What is the problem?

Let’s first discuss some examples of what are NOT problems

  • “We need an intranet” is not a problem.
  • “We need a spot where people can collaborate” is not a problem
  • “We should do this because our competitors are probably doing it” is not a problem
  • “Those geeks in IT installed this stupid thing 2 years ago and since we’re stuck with it now we might as well do something with it”  is a problem but is unrelated to the topic at hand.
  • “We just signed an EA with Microsoft which will allow us to legitimately use the functionality we’ve been using illegally up until now” is also an unrelated problem.

Here are some problems (obviously simplified in the interest of dealing with my short attention span)

  • We have lost 10 million dollars in new business to our competitors by not having a standardized quoting process.
  • We are getting sued 4 times a month because different versions of our ice cream subsidization policy are floating around throughout the enterprise.
  • Our Active Directory contains 1500 unique roles throughout the organization.  We need a standardized list in order to support our Succession Planning strategy.
  • Training a new hire in the Purchasing department currently takes 2 months and 60 hours of mentoring by a current employee

Problems and the resultant objectives have to be measurable or else you’ll never have any idea if you have achieved success.   There are a lot of examples on-line about creating effective problem statements so I won’t delve into it any further.

The main point I want to make is spend time upfront defining what the problem you are actually trying to solve is – and do not lose focus on it.  Do NOT let consultants sell you on how great things could be if you just also did X, Y and Z.  Base your requirements and objectives on the problem you are trying to solve.

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.3_1094]
Rating: 0 (from 0 votes)

Popularity: 43% [?]

Enterprise Social Computing

Filed under:Enterprise 2.0,SharePoint,Social Networking,Web 2.0 — posted by Jason MacKenzie on April 10, 2009 @ 3:46 pm

Being a part of a large, global manufacturing company that is at the cusp of embracing the wonderful world of Enterprise 2.0 is an interesting place to be.  There is a strong desire by a few top executives to jump on the bandwagon – although they are not exactly clear why at this point. I am a believer in the potential of ESC but also wary about how and why to implement some of these technologies and potentially radical changes to an organizations culture. I’ve taken a few minutes and identified some of the focus areas that make sense if you are going to take a stab at this whole ESC thing.

One thing I highly recommend is to not overpromise about the transformative effects of ESC and how it will do everything from mitigating the risk of retiring boomers to providing a culture that Generation Z (or whatever the hell they are called at the moment) will feel instantly at home in. Start a pilot with a narrow focus, a defined timeline and measurable objectives – and take it from there.

Below I’ve listed some of the ideas that an organization might want to consider when embarking on the ESC journey. I’ve detailed some approaches to increasing and managing the level of user involvement in your network.

1. Governance
a. Clearly published codes of content, IT acceptable use policies etc.  If you are going to throw the doors wide-open people need to be very clear on what they can and can’t do. Things that would get you canned will get you canned if you do them on the companies social network.

2. Profiles
a. Encourage everyone to update their profiles including their picture.
b. Figure out what data you have available in your corporate Active Directory (or whatever you use) and define standards throughout the organization. I won’t even bother telling you how many distinct roles and departments are defined in ours.

3. Enterprise Search
a. Be very cautious of encouraging the generation of unstructured content when no plan is in place for managing our structured content.
b. Consistently working together to identify the language of your company across all functional areas – in SharePoint terms this is related to Content Typing but for it to really work we need to review it portal-wide.  From a Robot to an HR policy, it’s important that they are defined as consistently as possible across the organization
c. Tune the search on an ongoing basis by :
i. Reviewing the most commonly used search terms
ii. Tuning the relevancy of search results
iii. Grouping like terms.  If someone types in training then they are likely looking for content on the PDT site.
iv. Semantic search tuning.  If someone types in “Die” they are more likely looking for Die Standards then someone’s blog post about his goldfish dying.

4. Tagging
User generated tagging for content uploaded into the system.  This facilitates search in a very organic way.  Allowing tagging is a simple way to allow users to interact with your system in a way that can enhance the experience for all users

5. Content Rating
A mechanism for users to rate content on the system.  Another simple way to encourage user participation and weed out what content really sucks on your social network.

6. Hall of Fame
a. I love this idea as it helps personalize the participants in your network and publicizes the local heroes. A publicly visible page that shows:
i. The user with the most page hits across the portal
ii. The user who has uploaded the most content (although this may or may not be a good thing)
iii. The user with the most blog comments
iv. The user with the highest rated content
v. Most “-pedia” entries

7. “Insert Company Here” – pedia. This is simple in concept and potentially simple in execution. The value of this is that it brings together the key information that might normally be dispersed all over the place, into one location. Feel free to name is something other than a name ending in “pedia” which is getting about as tired as attaching “gate” to the end of every scandal.

8. Expert Search
a. Create a profile property called Area of Expertise
b. Create a custom search called Expert Search that will search that profile information to find the right person.
c. This will encourage the non-deadbeats to step up and identify themselves, thereby making their talents more accessible to the organization.

9. Reward System for encouraging participation
a. Of course we all know that money talks but so does public recognition of a job well done

VN:F [1.9.3_1094]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.3_1094]
Rating: +1 (from 1 vote)

Popularity: 46% [?]

Did you know 2.0

Filed under:Change,Enterprise 2.0,Social Networking,Web 2.0 — posted by Jason MacKenzie on December 29, 2008 @ 8:30 pm

This is an update to the compelling Shift Happens video.  Everyone I show it to is both awed and overwhelmed about the potential implications. 

I see this as not only our reality but a huge opportunity.  More to follow but take a look at the video.  I’m interested in your thoughts.

VN:F [1.9.3_1094]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.3_1094]
Rating: 0 (from 0 votes)

Popularity: 96% [?]

Enterprise 2. 0 Blogs

Filed under:Enterprise 2.0,Social Networking,Web 2.0 — posted by admin on November 25, 2008 @ 2:13 pm
VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.3_1094]
Rating: 0 (from 0 votes)

Popularity: 63% [?]


next page


image: detail of installation by Bronwyn Lace