Fabian Williams SharePoint Blog

Solving problems with SharePoint day and night

Fabian Williams Session on Taxonomy & Information Architecture at SharePoint Saturday San Antonio 11/14/2009

SharePoint Saturday San Antonio


Session: Taxonomy and Information Architecture 1:30 pm to 2:20 pm

Track: Management / Social

Presenter: Fabian G Williams

Blog: https://fabiangwilliams.wordpress.com

Twitter: @FabianWilliams


Level 100:

In our session we covered the following Agenda Topics

  • · The Challenge of Unstructured Content
  • · Concepts and Terminologies
  • · Taxonomy and ECM Adoption Techniques
  • · Why should Taxonomy matter to me

The audience was a mix of MOSS Admins and End User Content Owners; I asked if they frequently hear people say

  • · “I just cannot find the stuff I am looking for”
  • · Our Portal has too much clutter, pages are unstructured
  • · The Intranet is not Important to me
  • · When I search for something, I get too many irrelevant data

There were quite a few head-nods, and I concluded that if anyone answered “Yes” to any of those questions, then they are in need for an Organizational Structure around their content. We touched on the fact that we see Taxonomy in our everyday life, why do we think we do not need it in our workplace especially when it comes to ECM. We discussed the fact the one of the first Taxonomy that opened eveyone’s eyes came from the Dewey Decimal System where 10 classifications determined the placement of books in a library; try to find a book in a library without it today, #FAIL. Since last week we celebrated Veterans Day I also illustrated that Military Insignia is also a Taxonomy… E1 – E9 is a classification and Lance Corporal in the Marine Corps and Seaman 3rd Class are the same.


After discussing the non technical references of Taxonomy, we shifted gears and talked about how easy it was for us to begin using sites like Bing, Yahoo, and Google. Did we have to go to a special class, get a book to read up on it? No, the taxonomy was evident and there are categories for what we are looking for. The difference between a taxonomy centered on ECM however…

  • · Tends to be less rigid
  • · Is content driven
  • · Has redundancy built in and is flexible

So how does SharePoint help us with that… well, we have objects in MOSS to help us with our data classification

  1. 1. First we have different classification that are broken up in Templates
    1. a. Sites specifically for Documents
    2. b. Sites specifically for Images
    3. c. Wiki/Surveys/Discussion Group templates
    4. d. People Data
    5. e. Business Data
    6. f. Etc
  2. 2. All on a holistic server Farm
  3. 3. All is searchable

Formula for Taxonomy is: Architecture + Application + Usability

So how do and Where do I Begin

  • · Have a governance and Taxonomy discussion with an establish team.
  • · Focus on the Business and or Process and not on the Technology
  • · Realize that you may have a mixture of Taxonomy going

o Strive to separate out Navigation, Process, Role Based, and Document Management as it distinguishes different approaches to the same content

  • · Just to get a 10’000 feet view of your environment; plan to make a Top Level Taxonomy representative of the company which will eventually be broken down into maybe
    • o Flat Taxonomy Model
    • o Hierarchal Model
    • o Network Model

We discussed the logistical boundaries to the product; at a Site Collection Level you distinguish

  • · Navigation
  • · Branding
  • · Security
  • · Etc

These are Taxonomy concerns especially as you build out the aforementioned Taxonomy model. We then moved into the heart of how we classify information…dah da dah…..

  • · Site Columns
  • · Content Types

We went into detail on how Site Columns are the foundation for entering Meta Data into SharePoint which will assist you in

  • · Data Classification
  • · Corporate Vocabulary (IP)
  • · Data Mapping
  • · Search Indexing
  • · Elements to create End User
    • o Views
    • o Groupings
    • o Aggregation
    • o Filtering


We demonstrated how to create that new Site Column, and we discussed that in SharePoint 2010 you will be able to have Metadata on External List which are searchable and consumable in Office Suite of Applications.




We discussed how we could create a Content Type which in turns builds on that Site Column and now “empowers” end users to have dynamic live access to LOB System Data which is now indexable and searchable in SharePoint in their document asset.


We ended our discussion looking logically at how Content Types placed at the Site Collection level is consumable to subsequent sites below it. How standardization of data, enforcement of policies, and ease of use is enhanced by the thought that goes into a taxonomy discussion.

  • • Reusable Columns that can be assigned to multiple Lists and sites
  • • Useful for maintaining consistent metadata
  • • Available to all sites within the Site Collection
  • • Site Collection Administrators and Site Owners are also empowered to create their own Document Library Columns in addition to consuming Site Columns in an effort to make their environment extensible and keyed into their Line of Business.
  • • We discussed that Content Types are best approached in this manner
  • • By Audience or Originating Site (example: Human Resources Documents, Sales Documents)
  • • By Function (example Status Report, Expense Report, Sales Tracking)

And finally we ended the session by asking ourselves the Presidential Question first coined by Ronald Regan…

“Are you better off with Taxonomy, than you were without it”

  • · Are you able to find what you are looking for easier
  • · Are you working smarter not harder
  • · Can you rattle off your Top Level Site Structure in your head (thereby knowing it is small enough and relevant enough)
  • · Can disparate users find the same content from the safety of their world

If you answered “Yes” then you are good to go.. Hoooraaahhhh!

November 14, 2009 Posted by | Office 2010 TP, SharePoint 2010, SharePoint Administration, SharePoint Development, SharePoint General, SharePoint How-To, SharePoint Saturdays, Where is Fabian | 1 Comment

Using SharePoint Designer 2010 to surface data in External Lists through Business Connectivity Services SharePoint 2010


Part 1: Surfacing Data through SharePoint Designer – No CODE! yes, i said it, NO CODE!

Part 2: Surfacing the same Data through Visual Studio – Yes we will crack the seal and Code Away

Part 3: Consuming the Surfaced Data in Outlook Applications and other User Interfaces


In this blog I will demonstrate in my opinion “one of” if not “THE MOST” value added component in SharePoint 2010; accessing and surfacing data in Line of Business (LOB) systems with the ability to Read, Write, and Delete in Real-Time. 

So to accomplish this the first thing I will do is create a new Site using the Empty Site Template, Ill dub it BCS Example Alpha. Dont fault me for that name, fault the Military…


Once I have completed that process, which is almost the same as you do in MOSS 2007. See my previous post on how to create sites at Creating and Configuring your Sites in SharePoint 2010 – Service Applications and Web Applications Part 1 of 2 for a step by step process on how to accomplish that.  Anywho… once you have completed that process you will then use SharePoint Designer 2010 to open your new site. <aside> so I used to be the one ranting about how SPD 2007 was just FrontPage on steroids and I would only use it to design pages and nothing else, now I am eating crow </aside>

There is sooooo much you can do now in SPD 2010 especially extending solutions build in Visual Studio and writing back to the same .WSP file yep, same DLL. Isnt that freakn awesome. So back to where were were…



Above you will notice the Site “BCS Example Alpha” is now opened in SPD2010 and you have details on the site to include:

  • Basic Site Information
  • Site Permissions
  • Any Customizations
  • Any Sub-Sites
  • Basic Settings

Next, we need to create an External Content Type, we do this by clicking on the “Entities” link in the Navigation Pane which will give you an option in the Ribbon called “External Content Type” under the ‘New’ heading. Go ahead and click that bad boy…


Once you have clicked new “External Content Type”, you will be presented with the window below.  Basically, what you are doing here is defining the arms around what was previously your Application Definition File… thank GOD, no more XML [for now], but you are defining your:

  • Entity Nomenclature
  • Data Source
  • Version of your Content Type (app def file)
  • Permissions
  • etc…



Here is a good time for us to look a little closer to our Data Source, after all that is what we are going against right. So we are jumping to SQL Management Studio 2008 and looking at the AdventureWorks2008 Database for x64bit systems; you can get it from http://msftdbprodsamples.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=34032 and install it.  So… what I am showing you here is the Table that i am going after and also pulling some data so you can see it isnt SharePoint magic. NB. Pay attention to Item 3, we are gonna steal his identity in a bit.


I am also going to create a View on this guy also because more than likely you are not going to want to have direct access to your underlying table [right, right..] so I created a view aptly called “PersonViewforBDC’ and again you can see the output in my Query Window.


So now we are back to SharePoint Designer 2010 and we are going to name our Entity and create our External Content Type [previously our App Def File] with NO … say it.. No Code… No XML


Above we are calling naming the Display Name, Programmatic Name, and leaving the rest to the default; which in and of itself is no short order, we are saying here we want:

  1. Offline Sync for the List

Which is awesome! Take you data go off to the client, manipulate it and come back and sync.. hmmm Windows Mobile, Laptop, etc.. sky is the limit here

In the next few steps here is what we are doing

  1. Creating a new Data Connection
    1. click “Add Connection”



2. Define the type of Connection, in this instance I am electing to choose a “SQL Server” connection but the sky is the limit here also.


3. Provide the Server Name, Database Name, and an Optional Name, which is what shows up in the “Data Source Configuration”, “Entity Type” section when you are creating your External List in your Consuming Site.


4. After you click Ok, you go through a validation step as your Entity connects to the Database and Creates your Data Source for SPD 2010


5. Once that process has complete, you will see the window below which shows you your Database Connection, All Tables and Views that you have permission to see and manipulate.


6. As I am a Database person at heart also, and although it may seem weird, yes, I created a View for this demo, and it is that view that we are going to target or data to surface. So go ahead and Click on your Table or View. In my example I am using my view called “PersonViewforBDC”


7. Now here is where I earned new respect for SharePoint Designer 2010; you can just now “Right Click” on the Table or View and select from a myriad of options [Methods] to create. In this example I am going for the fences. So, I clicked on “Create All Basic Operations” and …


8.  Next you will follow a 3 dialog Wizard which allows you to again exercise some control over the data you are exposing. You may at this point

  • Define the Properties – Nomenclature
  • Apply Parameters – Define what will be the Picker i.e. the item in your SharePoint List that will trigger your custom actions or jump you to the details of the row
  • Apply Filter Parameters – Narrow your Result Set



9. Once you are finished, Click “Finish” and after a few seconds, you will see the below Status Message and Eventually your Entity Created. Make sure to Save your Content Type by Clicking the Save Icon at the top LH corner of SPD 2010, regardless if you don’t, you will be prompted to save your work anyway.



10. Yep, you are done… that easy..

Although I believe it worked, you may be a bit skeptical. So for this demo, I will go to Central Administration and investigate if my BDC/ BCS entity was created. So first thing you have to do is:

  • Under Application Management
    • Click “Manage Service Applications”


  • Because this is a Business Connectivity Services (still called BDC in this release but when RTM comes out I will bet you $1 it will change)
    • Click “Business Data Catalog” and click “Manage” in the Ribbon



Once you click on the Ribbon you will be taken to the browser below where you can see all the External Content Types that are hosted on that Server Farm. Below you have the hard work we completed in SharePoint Designer 2010 with … say it… No Code!


The Moment of truth, what you paid your Money For!

Now let us consume that bad boy; so now we go back to our Site we created and we are going to do some really simple steps. 

  1. Click Site Action


2. Click “More Create Options” because what we want to do here is create an “External List” which is under “Custom Lists”


3. Click External List


4. Define the Nomenclature for your list and here is where you will also select the External Content Type created earlier.  Easy Peasy huh..


To get the Window Below just Click the far right Icon under the “Data Source Configuration” section by Entity Type…


Select your Entity Here… and Click OK


Once you have Clicked “OK”, Go ahead and take a deeeeep breath, Click Create and Voila! there you have it.


Your External List is now created in SharePoint and it is a “Dynamic” representation of your LOB system Data in Real time… but wait… I did say we can perform Live Updates didn’t I?

Lets get our sanity check first….”Trust, but Verify”! So here is my SQL Query where I am looking at my data source… pay close attention to List Item 3 Mr. Roberto Tamburello


In SharePoint, in my newly created External List under my Picker I choose from when I defined my Content Type, I clicked on my down arrow and select “Edit”


Here is the Before below…


I am modding this guy to the following:

  • Making him a Knight
  • Giving him my name as his Middle name
  • and making him a Junior

Poor guy, just cant get a break.


Once I click “OK” notice that in the SharePoint External List, it is already represented as a changed item…. but what about good old LOB System SQL…


If i do my Select Statement… what do we have… YES! he is changed there also!


So in summary, without a stitch of code. We were able to surface data from a LOB System, bring it into SharePoint, manipulate it and Persist it back to the Original Source.


Hope you enjoyed! More to come.. feedback welcomed

November 9, 2009 Posted by | Office 2010 TP, SharePoint 2010, SharePoint Development, SharePoint How-To, SQL Server | , , , , | 4 Comments

MS Groove has new live in Office 2010 – is this the Fat Client for SharePoint… I think so

More info may be taken from MS Public site at http://blogs.msdn.com/groove_development_team/archive/2009/05/13/makeover-for-groove-sharepoint-workspace-2010.aspx




Take Poll:

July 20, 2009 Posted by | Office 2010 TP, SharePoint General, SharePoint How-To | Leave a comment

Error thrown when trying to open documents directly from MOSS 2007 using Technical Preview of Office 2010

The work around is to basically download a copy, edit it, then upload it and check back in.

July 20, 2009 Posted by | Office 2010 TP, SharePoint Error/Resolution | Leave a comment