Posts Tagged ‘ Blogs ’

Filtering Microblogging and Activity Streams

The use of microblogging and activity streams is maturing in the enterprise. This was demonstrated by recent announcements of enhancements to those components in two well-regarded enterprise social software suites.

On February 18th, NewsGator announced a point release to its flagship Enterprise 2.0 offering, Social Sites 3.1. According to NewsGator, this release introduces the ability for individuals using Social Sites to direct specific microblogging posts and status updates to individuals, groups, and communities. Previously, all such messages were distributed to all followers of the individual poster and to the general activity stream of the organization. Social Sites 3.1 also introduced the ability for individuals to filter their activity streams using "standard and custom filters".

Yesterday (March 3rd), Socialtext announced a major new version of its enterprise social software suite, Socialtext 4.0. Both the microblogging component of Socialtext’s suite and its stand-along microblogging appliance now allow individuals to broadcast short messages to one or more groups (as well as to the entire organization and self-selected followers.) Socialtext 4.0 also let individuals filter their incoming activity stream to see posts from groups to which they belong (in addition to filtering the flow with the people and event filters that were present in earlier versions of the offering.)

The incorporation of these filters for outbound and incoming micro-messages are an important addition to the offerings of NewsGator and Socialtext, but they are long overdue. Socialcast has offered similar functionality for nearly two years and Yammer has included these capabilities for some time as well (and extended them to community members outside of an organization’s firewall, as announced on February 25th.) Of course, both Socialcast and Yammer will need to rapidly add additional filters and features to stay one step ahead of NewsGator and Socialtext, but that represents normal market dynamics and is not the real issue. The important question is this:

What other filters do individuals within organizations need to better direct microblogging posts and status updates to others, and to mine their activity streams?

I can easily imagine use cases for location, time/date, and job title/role filters. What other filters would be useful to you in either targeting the dissemination of a micro-message or winnowing a rushing activity stream?

One other important question that arises as the number of potential micro-messaging filters increases is what should be the default setting for views of outgoing and incoming messages? Should short bits of information be sent to everyone and activity streams show all organizational activity by default, so as to increase ambient awareness? Perhaps a job title/role filter should be the default, in order to maximize the focus and productivity of individuals?

There is no single answer other than "it depends", because each organization is different. What matters is that the decision is taken (and not overlooked) with specific corporate objectives in mind and that individuals are given the means to easily and intuitively change the default target of their social communications and the pre-set lens through which they view those of others.

  • Share/Bookmark

SharePoint 2010 – The Big Story

I spent a couple of days at the SharePoint conference two weeks ago with about 8000 others. Many attendees were customers, but the majority seemed to be Microsoft partners. It would be difficult to overstate the enthusiasm of the attendees. The partners especially, since they make their living off SharePoint. There has been a lot of useful reporting and commentary on the conference and what was announced as part of SharePoint 2010, which you can find on the web, #spc09 is also still active on Twitter, and videos of the keynotes are still available at: http://www.mssharepointconference.com.

As the conference program and commentary illustrate, SharePoint 2010 is a major release in terms of functionality. But the messaging surrounding the release provides some important insights into Microsoft’s strategy. Those of you who were at Gilbane San Francisco last June got an early taste of Microsoft’s plans to push beyond the firewall with SharePoint – and that is the big story. It is big because it is a way for Microsoft to accelerate an already rapidly growing SharePoint business. It is big for a large number of enterprises (as well as the SharePoint developer/partner ecosystem) because it is a way for them to leverage some of their existing investment in SharePoint for building competitively critical internet applications – leverage in expertise, financial investment, and data.

The numbers are telling. According to an IDC report Microsoft Office and SharePoint Traction: An Updated Look at Customer Adoption and Future Plans, IDC # 220237, October 2009, of "262 American corporate IT users, just 8% of respondents said they were using SharePoint for their Web sites, compared to 36% using it for internal portals and 51% using it for collaborative team sites." (the report isn’t free, but ComputerWorld published some of the numbers).

Can Microsoft increase the use of SharePoint for Web sites from 8% to 36% or 51% or more? Whether they can or not, it is too big an opportunity for them to ignore, and you can expect the market for web applications like content management to look a little different as a result. Of course SharePoint won’t be the right solution for every web application, but Microsoft needs scale, not feature or market niche dominance.

There are more pieces to this, especially integration with Office 2010, which will have a major impact on the scale of penetration. We’ll look at that issue in another post.

You can see why SharePoint is a major topic at Gilbane Boston this year. Join us next month to continue the discussion and learn more.

  • Share/Bookmark

SharePoint 2010 List View Blog Series: Part 3 – List View Architecture

Hi all.  This is Greg Chan, Program Manager on the SharePoint team, for the third part in this List View series. In this post I’m excited to have one of the key architects of the new XSLT List View Web Part (XLV) talk more about its architecture.  Here is what he has to say:

Hi! I’m Eric Andeen, a developer on the SharePoint team. I’m going to describe in a little more detail how the XSLT List View Web Part (XLV) works, and how that affects people building and using SharePoint sites.

List View XML and minimal markup

As Greg mentioned in Part I, the XLV is the new list view technology in SharePoint 2010, replacing the List View Web Part (LVWP). Since the XLV is the replacement for the LVWP, it needs to do all the same things, as well as adding new capabilities. The best place to start this discussion is with some of the things that haven’t changed.

The markup required to specify a LVWP is pretty simple – we need to know which list the LVWP is displaying, and we need to know about the view. The list can be identified by name, URL or guid identifier, but the view is a little more complex, and is specified in XML. This is an example of the ViewXML of the default view of an announcements list:

<View Name="{F5D7FCD1-BEFE-42b5-9339-4F4F3C6A38FE}" DefaultView="TRUE" DisplayName="All Items" Url="/Lists/Announcements/AllItems.aspx">

  <Query>

    <OrderBy>

      <FieldRef Name="Modified" Ascending="FALSE"/>

    </OrderBy>

  </Query>

  <ViewFields>

    <FieldRef Name="Attachments"/>

    <FieldRef Name="LinkTitle"/>

    <FieldRef Name="Modified"/>

    <FieldRef Name="Number"/>

  </ViewFields>

  <RowLimit Paged="TRUE">30</RowLimit>

</View>

 

The primary use of the ViewXML is to generate the SPDataSource that gets the data, but it is also used in the xsl transform to turn the raw xml data returned into presentable HTML, as we will see below. The part of the ViewXML that’s most important to this discussion is the <ViewFields> tag – it tells SharePoint which fields are in the view.

Schema Independent XSL

The XLV is now the default list view technology in SharePoint, and that means it has to scale as well as the LVWP. The only way that’s possible is for the XLV to render any uncustomized, out of the box view using a single XSLT. An uncustomized XLV has no <xsl> property at all – SharePoint supplies the same shared XSLT that is used to render every other XLV. The XSLT responsible for this lives on your server at http://<myserver>/_layouts/xsl/main.xsl – go ahead and open it up and look at it, as well as the xsl:import files vwstyles.xsl and fldtypes.xsl that do most of the work.

Before we discuss how the XLV’s schema independent XSLT works, it’s worth considering how typical, schema dependent XSLT like that used in the DataFormWebPart works. In order to render a tabular view of rows and columns, any technology, XSLT included, needs to iterate through the rows, and in each row, it needs to iterate through the columns, rendering each part appropriately. The XML we’re transforming looks like this:

<Rows>

  <Row @Field1="Hello" @Field2="World!" @Field3=""      />

  <Row @Field1="Some"  @Field2="More"   @Field3="Data"  />

  <Row @Field1="Yet"   @Field2="More"   @Field3="Data"  />

</Rows>

 

The interesting portion of a typical XSLT for this XML looks like this:

<xsl:for-each select="$Rows">

  <tr>

    <td>

      <xsl:value-of select="@Field1"/>

    </td>

    <td>

      <xsl:value-of select="@Field2"/>

    </td>

    <td>

      <xsl:value-of select="@Field3"/>

    </td>

  </tr>

</xsl:for-each>

The output HTML is a 3×3 table:

Hello

World!

 

Some

More

Data

Yet

More

Data

This XSLT is schema dependent because it iterates through the list of columns by naming each one explicitly. Using this XSLT, the schema of the rendered list is fixed; it’s not possible to change the set of fields without changing the XSLT.

The schema independent XSLT that the XLV uses iterates through the rows pretty much the same way as the example above, but it iterates through the columns quite differently. When the XLV renders the list, the XML passed in to the transformation engine includes not just the data in the <Rows> collection; it also includes the ViewXML shown above, enhanced with additional schema information. There are several instances of the field iterator in the XSLT to accommodate different view styles, but they all look something like this:

<xsl:for-each select="ViewFields/FieldRef">

  <xsl:apply-templates mode="PrintField" select=".">

    <xsl:with-param name="thisNode" select="$thisNode"/>

  </xsl:apply-templates>

</xsl:for-each>

The “ViewFields" referenced in the <xsl:for-each> is the <ViewFields> tag in the enhanced ViewXML markup, and the $thisNode variable refers to the current row in the Rows collection. The XSLT also contains a set of templates for rendering the fields. A simplified version of those field templates would look like this:

<xsl:template match="FieldRef" mode="PrintField">

  <xsl:param name="thisNode" select="."/>

  <td>

    <xsl:apply-templates match="FieldRef" mode="PrintValue">

      <xsl:with-param name="thisNode" select="$thisNode"/>

    </xsl:apply-templates>

  </td>

</xsl:template>

 

<xsl:template match="FieldRef" mode="PrintValue>"

  <xsl:param name="thisNode" select="."/>

  <xsl:value-of select="$thisNode/@*[name()=current()/@Name]"/>

</xsl:template>

 

The first template outputs the <td> tag and then calls the next template to output the actual value. The second template is where things get interesting. In the schema dependent example above, the values were all named explicitly – @Field1, etc. We can’t do that in the schema independent XSLT, so instead, we use the FieldRef node in the ViewFields markup to get the appropriate attribute from the row. $thisNode is the row of data we’re looking at, and the current XSLT context (.) is the FieldRef node for the field we’re rendering. So the value of the funky xpath expression above – $thisNode/@*[name()=current()/@Name] – is the value of the attribute in the Row tag for the current field – exactly what we want. $thisNode is the row of data we’re looking it; @* is the xpath attribute axis, and [name()=current()/@Name] selects the one attribute whose name matches the @Name attribute of the current context – the FieldRef node.

The actual XSLT for the XLV has to do more than just render simple values inside unadorned <td> tags – it has to render field headers, list item menus on title fields, proper CSS classes on <td> and other tags, etc. It also has to render some field types (hyperlink, person, etc.) differently from simple text fields. All this is done through the same basic mechanism as in the simplified version above – the fields iterator calls a template to render the field, which in turn calls into a series of other templates. Some of the simpler differences make use of <xsl:apply-templates> to select the right template – the template that renders date fields has a match="FieldRef[@Type='DateTime']" instead of just match="FieldRef", for example. More complex checks make use of <xsl:if> and <xsl:choose> along with <xsl:call-template> to call the right template.

XLV Model

The following diagram sums up the process which turns list data and XSLT into the view you see when you browse to a SharePoint page. The data comes from an SPDataSource control, but unlike the DataFormWebPart, the SPDataSource control is dynamically generated from the ViewXML in the diagram below. The SPDataSource control produces an XML rowset containing the list data. The ViewXML gets enhanced with list schema information and added to the XML rowset containing the data. The XSLT is compiled into an XslCompiledTransform – and since we always use the same XSLT, it’s only compiled once per web server. The XML rowset, with both the data and the enhanced ViewXML, is passed into the XslCompiledTransform, and the HTML output goes into the page stream and onto the screen of your browser.

news, site) is at it again, offering another way to migrate your content into another CMS. This time it’s for those of you who have a blog but are being lulled by the sweet song of SharePoint 2010.

Read full story…

  • Share/Bookmark

SharePoint 2010 Blog Posts

Unfortunately, I was unable to attend the SharePoint conference this year. However, I have been trying to follow it all day via twitter and the #SPC2009 hash tag. There have been a ton of tweets and with the tweets and the amount of people a lot of duplicates. As tweets have been going out all day I’ve tried to capture new blog posts about the 2010 stack and am attempting to put together a good list of blog posts that I’ve have noticed today (and continue to notice throughout the week). Feel free to send me any blog posts I have missed or you would like me to add to my site. So, here they are:

SharePoint

SharePoint Overview from the Microsoft SharePoint Team – http://blogs.msdn.com/sharepoint/archive/2009/10/19/sharepoint-2010.aspx

SharePoint 2010 Home Page - http://sharepoint2010.microsoft.com/Pages/default.aspx

SharePoint Conference 2010 Home Page (Keynote video soon) – http://www.mssharepointconference.com/Pages/default.aspx

SharePoint Conference Video Highlights – http://www.mssharepointconference.com/Pages/videohighlights.aspx

SharePoint 2010 MSDN Site – http://msdn.microsoft.com/en-us/library/dd776256.aspx

SharePoint 2010 TechNet Site – http://technet.microsoft.com/en-us/sharepoint/default.aspx

Pre-Register for SharePoint 2010 Beta – http://sharepoint2010.microsoft.com/try-it/Pages/Trial.aspx

Arpan Shah, Welcome to SharePoint 2010http://blogs.msdn.com/arpans/archive/2009/10/19/welcome-to-sharepoint-2010.aspx

Andrew Connell’s Blog (Several SharePoint 2010 posts already) – http://www.andrewconnell.com/blog/

SharePoint Sharpener, Rundown of New Features – http://sharepointsharpener.wordpress.com/2009/10/19/spc09-sharepoint-2010-unveiled-rundown-of-new-features/

SharePoint 2010 Installation (not in English, but has screen shots of the install) – http://sharepointsisters.de/2009/10/installation-sharepoint-server-2010/

SharePoint 2010 Preview by Knowledge Management Associates – http://blogs.kma-llc.net/microknowledge/2009/10/sharepooint-2010-preview.html

A listing of SharePoint 2010 Documentation and Posters published by Microsoft – http://bink.nu/news/sharepoint-2010-documentation.aspx

Document Management in SharePoint 2010http://dotneteers.net/blogs/aghy/archive/2009/10/19/document-management-in-sharepoint-2010.aspx

ZDNet SharePoint 2010 Announcement – http://blogs.zdnet.com/microsoft/?p=4278

Corey’s SharePoint 2010 Observations – http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2009/10/19/corey-s-big-post-of-sharepoint-2010-observations.aspx

Ballmer, SharePoint and the Economy – http://www.infoworld.com/d/developer-world/microsofts-ballmer-shows-sharepoint-and-cites-its-link-economic-prosperity-587

Another index of some SharePoint 2010 postings online – http://webpartner.com/PNPT#7fc51a6079d86e3841db

Mike Gotta Notes from SPC09 Day 1 – http://mikeg.typepad.com/perceptions/2009/10/sharepoint-2009-conference-morning-keynotes.html

SharePoint 2010 Public Beta to be released next month – http://news.cnet.com/8301-13860_3-10377483-56.html

StoragePoint for SharePoint 2010http://www.reuters.com/article/pressRelease/idUS164545+19-Oct-2009+PRN20091019

SharePoint 2010 Central Admin – http://planetmoss.blogspot.com/2009/10/central-administration-in-sharepoint.html

Eli Robillard, Sandbox Solutions and Security in WSS 4.0 (SharePoint Foundation) – http://weblogs.asp.net/erobillard/

SharePoint Conference 2009, Morning Keynote from The Burton Group – http://ccsblog.burtongroup.com/collaboration_and_content/2009/10/sharepoint-2009-conference-morning-keynotes.html

SharePoint 2010 Links from S.S. Ahmed, SharePoint MVP – http://vspug.com/ssa/2009/10/19/sharepoint-2010-links/

Lookup Columns in SharePoint 2010http://weblogs.asp.net/bsimser/archive/2009/10/19/sp2010-what-s-new-lookup-columns-spc09.aspx

Overview of SharePoint Conference 2009, Day 1 – http://weblogs.asp.net/bsimser/archive/2009/10/19/the-kimono-is-open-the-veil-is-lifted-the-gags-are-removed-spc09.aspx

BI

BI in SharePoint 2010http://sharepoint.microsoft.com/blogs/GetThePoint/Lists/Posts/Post.aspx?List=8d9e2a99-f288-47c2-916b-2f32864f7b82&ID=268

Office 2010

PivotPoint for Excel 2010 – http://www.powerpivot.com/

Office 2010 Public Beta to be released next month – http://news.cnet.com/8301-13860_3-10377483-56.html

Visual Studio 2010

Announcing Visual Studio 2010 – http://blogs.msdn.com/somasegar/archive/2009/10/19/announcing-visual-studio-2010-and-net-fx-4-beta-2.aspx

Again, this is just a list of what I could capture while keeping an eye on twitter all day.  Feel free to email me addition blog posts or add them as a comment as I will try to continue updating this list throughout the week.

  • Share/Bookmark