Fabian Williams SharePoint Blog

Solving problems with SharePoint day and night

Video How To: SharePoint Designer 2010 Beta create External Content Type consumed in SharePoint External List

Screen cast on how to create an External Content Type in SharePoint Designer 2010 Beta and surface data in SharePoint External List.

image

Advertisements

November 26, 2009 Posted by | Business Connectivity Services, Office 2010 Beta, SharePoint Development, SharePoint How-To, Video Screencast | , , | Leave a comment

SharePoint 2010 Business Connectivity Services Teaser with Multiple External Content Types surfacing in One External List

This is my first attempt at a webcast with Camtasia bear with me…

In this teaser I am setting the stage of what we have already built and what we will be doing… to download the Podcast version click here or directly on Screencast.com page .

 

image

November 26, 2009 Posted by | Office 2010 Beta, SharePoint 2010, SharePoint How-To, Visual Studio 2010, Webcast | , , | 4 Comments

Consuming the External Content Type through SharePoint Designer in Microsoft Outlook 2010

Follow up from: Connect To Outlook: SharePoint External Content Type with SharePoint Designer and SQL LOB System

Part 2… Consuming the External Data List Columns inside Microsoft Word 2010 through Form Fields

Synopsis

In this blog we will demonstrate the following:

  • Reading and Updating LOB System Data surfaced as an Outlook Contact in MS Outlook 2010
  • Validating the effort through Testing

Process

We begin the process by picking up where we left off in our previous post Connect To Outlook: SharePoint External Content Type with SharePoint Designer and SQL LOB System Now we will just treat these contact as any other contact in our Outlook System.

clip_image001

In the screen shot above we notice on the middle Left Hand Side that we are attached to a SharePoint External List called “Test BCS Site Alpha – AW Company Contact” and we have 290 items returned to us. We will concentrate our efforts on the same Sir Michael Sullivan III we used earlier

clip_image002

So under closer inspection above we can see that not only do we have our data we mapped in the External Content Type mapping in SharePoint Designer but 2/3rds down you can see a pane called CompanyContactListDetails where the unmapped data is also present works almost like what Outlook Business Contact Manager gave us. So next I tried to get fancy “jiggy” with it by seeing if I could not only change the fields that were in the LOB system but also what was native as Outlook Properties… but no dice.. it said that the System didnt support it.. I will try to figure that out later..

Yes I used @MeetDux Twitter Profile Pic.. LOL Im sure he will get a kick.

clip_image003

In the end I am just going to modify the Fields that are directly related to the External Content Type and LOB System. I made a change to the Email address and made him Michael.Sullivan@FabianWorld.com

clip_image004

As you can see below in Outlook… the changes were persisted…

clip_image005

As well as in the SharePoint UX .. see below and ….

clip_image006

As well as in the LOB System in SQL Server..

clip_image007

So now you have seen how you can make Updates in a Rich Client such as Outlook to affect changes in the LOB System all the way in the Back End.

November 25, 2009 Posted by | Office 2010 Beta, SharePoint 2010, SharePoint Development, SharePoint How-To | , , | Leave a comment

Connect To Outlook: SharePoint External Content Type with SharePoint Designer and SQL LOB System

Part 1… Consuming the External Content Type through SharePoint Designer in Microsoft Outlook 2010

Part 2… Consuming the External Data List Columns inside Microsoft Word 2010 through Form Fields

Teaser…Extending @ToddBaginski blog where he creates a .NET assembly connector and an External Content Type

http://www.toddbaginski.com/blog/archive/2009/11/05/how-to-create-a-searchable-sharepoint-2010-bdc-.net-assembly-connector-which-reads-from-a-flat-file.aspx

  

Synopsis

In this blog we will demonstrate the following:

  • Create a Database Table from a SQL AdventureWorks Database
  • Use SharePoint Designer 2010 to create and configure an External Content Type on the newly created Table
  • Create an External List in SharePoint Browser User Interface (UX)
  • Test – Read, Update External List Item from UX
  • Connect to Outlook from the Browser UX
  • Test – Read, Update from Outlook UX
  • Teaser – Create a Document Library and include Library Columns from the External List LOB Data
  • Pre Teaser – Build out Todd Baginski’s Blog by associating a Flat File External Content Type and SQL LOB System

Process

We begin the process by identifying a Test Site in our SharePoint environment to host our External List and creating a Table within the AdventureWorks Database to surface data from in our LOB System.

clip_image001

Above we are looking at our SharePoint Designer and our test site. Various information may be ascertained from this view above, please review.

clip_image002

In preparation, we will create a table called “FabianAWContacts” from a few tables in the AdventurWorks database as our Target LOB System Data

clip_image003

To verify our data, we do a select statement against our newly created database…

clip_image004

Above we have the initial steps of creating an External Content Type; in this phase we begin by providing a name, the Office Item Type (we will get to this later and is the crux of our work in this blog), and define the Connection to the External System. Below you will see how we make a connection and identify the LOB System Objects we will be surfacing data from.  It is here also where we will be making our CRUD Methods and assigning permissions.

clip_image005

The screen shot above displays the database and the table we created earlier. By right-clicking on the data table we will be selecting the option “Create All Operations” which in essence defines what and how we will interact with the data in the LOB System.  You can see from here also there remains the possibility to do other actions including associating to other LOB systems and establishing relationships with other disparate databases.

clip_image006

Once we choose the operation (Method) we will be taking on our External Content Type (CRUD) if we are undertaking Microsoft Office Outlook Off-lining then we need to make mappings between the LOB system and the Office Client, see below.  You will also notice that the different data types are associated with different mappings.

clip_image007

clip_image008

clip_image009

Once we have completed the mappings, click “Finish” and the new methods will be created as seen below.

clip_image010

As seen above or below, once the process of provisioning is complete you see and Identifier is associated (Primary Key and value that is used to trigger custom actions in the Browser UX. The green arrow below indicates that the association we make by selecting “Contact” in the ‘Office Item Type’ has the requisite mappings to enable it in MS Outlook.

clip_image011

After saving off our External Content Type we will next go to the SharePoint Browser UX and create an External List and point it to the External Content Type recently created. See below

clip_image012

clip_image013

clip_image014

The steps taken in the above three screen shots demonstrates how to create a new External List and associate it to an External Content Type. I have decided to create an External List called Company Contacts [actually AW Company Contacts, I changed the name after my screen shot], and I have associated it to my Company Contact LOB List.  Once the configuration and nomenclature is complete I click Create and the List is displayed below.

clip_image015

So lets begin the verification process.  We will target Contact ID 1003 – Michael Sullivan

Let us first check in SQL what the dataset should look like since it is the Source of Record… see below

clip_image016

So in the External List we will edit the ID 1003 for Michael Sullivan. Now because in our Methods Operation we elected to do Method Updates, when we click on the custom actions we will see an Edit menu, by selecting it we will see the window below.

clip_image017

Let us go ahead and do the following to M Sullivan

  • Knight him
  • and make him the third in his generation

clip_image018

Below you see the complete changes we will attempt to commit to the LOB System.

clip_image019

After clicking “Save”, we can already see in the Browser UX that the changes have been adopted

clip_image020

Next we check the same SQL Statement and we can also see our changes persisted to the database.  Also from this window we will make the connection now to Microsoft Outlook 2010 since we have already identified this External List as a Microsoft Office Contact Type.  By clicking the “Connect to Outlook” in the ribbon above it begins the process as we will see in two screen shots below.

clip_image021

After we click “Connect to Outlook” we will see that the process “Preparing External List for Synchronization with Outlook” begins

clip_image023

clip_image024

clip_image025

clip_image027

clip_image028

Once the above process concludes we can look below and see that the AW Company Contact External List (middle of the screen Left Hand Side) and also demonstrated by the Business Cards that the LOB External List is now available in MS Outlook 2010.

image

Hope you enjoyed this blog, Have fun with your SharePoint 2010 and BCS! I love it, hope you do too….

 

Teaser below

So my good buddy Todd Baginski who I met for the first time at SharePoint Conference 2009 LOL 🙂 he created a great blog entry on HOW TO: Create a Searchable SharePoint 2010 BDC .NET Assembly Connector Which Reads From A Flat File which is very inspiring.  I took his solution and used it as the foundation for what I will be doing in my Part 3/ Teaser to this Blog.  In Todd’s example he took you up to the point of reading the External Content Type in an External List in SharePoint.  this all being done in Visual Studio from scratch so YES finally WE WILL CODE!

I will take it a few steps further…

  1. Make the list CRUD enabled i.e. create methods for Create, Update and Delete, we already have Read
  2. Making an association to a Table in a SQL LOB system and the Flat File so we can demonstrate two disparate systems coming together in SharePoint where they were previously not related

I am well on my way, I have the solution already created in Visual Studio and i will go in detail into the code of  the CRUD Methods, for the lead up please see Todd’s Blog, he does a much better job of explaining

clip_image001[5]

clip_image002[5]

clip_image003[5]

Screen clipping taken: 11/25/2009 1:12 AM

November 25, 2009 Posted by | Office 2010 Beta, SharePoint 2010, SharePoint Administration, SharePoint Development, SharePoint How-To | , , | 1 Comment

Error/Resolution: SharePoint 2010 Office 2010 when using Connect to Outlook from External List in BCS

Synopsis

After creating an external list of contacts in SharePoint from a LOB System and clicking the Link to “Connect to Outlook” you get a dialog box indicating:

“The Microsoft Office 2010 feature Business Connectivity Services are not installed on this computer…” this is in-fact incorrect as it is installed and functioning. I have my Outlook fully configured and it has my Mysite already in SharePoint lists

 

Screen shot Below

ErrorConnectToOutlookSP2010Beta

ErrorConnectToOutlookSP2010Beta_ContactList

Proof Positive that the Feature is Installed…

clip_image002

 

Troubleshooting Steps

I sent an email to Rolando Jimenez from the Microsoft Product Team for BCS and for the first problem we found out that i experienced that error because my browser was in the “Internet Zone” once i moved it into the “Intranet Zone” my ‘initial’ problem subsided

Now I am getting a “Microsoft Office 2010 component has stopped Working” Error tied to the Common Language Runtime on the bcssync.exe… more help needed here

image

 image

Resolution

So, thank you Microsoft Product Team for BCS for helping me with this. I wanted to close out our email thread by summarizing how we got here

· All x64 [obvious but just

· Installed WIN 2008 Server

· Installed and Configured Active Directory and DNS, IIS, Server Roles

· Installed SQL Server 2008 SP1 CU2

· Installed SP 2010 Beta 2

· Installed Office 2010,  SPD 2010 and Visio 2010 Beta

· Installed Visual Studio 2010 Beta 2

· Installed AdventureWorks Database for testing LOB systems

So after using SPD 2010 Beta to create an External List I was able to consume it in the browser but when I did connect to outlook I got the error outlined here in my blog

https://fabiangwilliams.wordpress.com/2009/11/21/error-sharepoint-2010-office-2010-when-using-connect-to-outlook-from-external-list-in-bcs/

So the steps taken with Rolando’s and Alex’s help ( I will show what worked with excepts of what didn’t inline)

1. After Repair Outlook Failed to fix the issue and After Uninstall yielded the same results

2. I followed Alex’s recommendations below

a. Actually I think I know what’s going on. I suspect the issue is because you have dev10 installed on your machine which comes with a newer version of SQLCE. Unfortunatelly the version in dev10 comes with is x86 only. You need to install SQLCE SP2 x64 from downloads. Here is the link:

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=411ba1c5-ba57-45b6-9148-91bed6e7a9f1#tm

b. When I did I still had the same issue but I went one step further

3. I Uninstalled the following Programs and Rebooted

a. SQL Compact x86

b. SQL Compact x64

c. SQL Compact SP1 View and Tools (something like that)

4. I installed the x64 from Alex’s link HOWEVER it told me to installed the x86 first, so I did, and I am up and running with BCS “Connect to Outlook”

Thanks again Rolando, thanks Alex

image

November 21, 2009 Posted by | Office 2010 Beta, SharePoint 2010, SharePoint Error/Resolution | , , | Leave a comment

Hotfix required for Installation of SharePoint 2010 on Windows Server 2008 R2 or Windows 7 has been released

Get hit here

Installation notice for the SharePoint Server Public Beta on Microsoft Windows Server 2008 R2 and Microsoft Windows 7

If you will be installing the SharePoint Server 2010 Public Beta on Microsoft Windows Server 2008 R2 or Microsoft Windows 7, then you will need to download and install an update from http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=23806  to resolve an issue that occurs in Microsoft SharePoint Server 2010 when provisioning Service Applications or when accessing pages that make service calls.  Without the hotfix, these operations will result in an error "System.Configuration.ConfigurationErrorsException: Unrecognized attribute ‘allowInsecureTransport’. Note that attribute names are case-sensitive. (C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\WebClients\<Service Area>\client.config line <Line Number>)". 

If you have already installed Microsoft SharePoint Server 2010 on a server running Microsoft Windows Server 2008 R2 or Microsoft Windows 7, Microsoft SharePoint Server 2010 does not need to be reinstalled when the update becomes available; however, Service Applications that have been successfully provisioned without the update installed may need to be removed and re-provisioned once the update has been successfully applied.

Published Thursday, November 19, 2009 8:58 PM by sptblog

Filed under: Beta 2, SharePoint 2010

this excerpt was taken from http://blogs.msdn.com/sharepoint/archive/2009/11/19/installation-notice-for-the-sharepoint-server-public-beta-on-microsoft-windows-server-2008-r2-and-microsoft-windows-7.aspx

November 20, 2009 Posted by | SharePoint 2010, SharePoint Error/Resolution | | Leave a comment

Link to get Office 2010 Beta when it hits!

Here is the link to Microsoft Office 2010 and Microsoft Office 2010 Professional Plus

http://officebeta.microsoft.com/en-us/msproducts/homeandbusiness/download-the-beta-FX100996086.aspx

 

image

November 15, 2009 Posted by | Office 2010 Beta | | Leave a comment

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

SharePoint Saturday San Antonio

www.SharePointSaturday.org/sa

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

clip_image001

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.

clip_image003

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

clip_image005

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.

clip_image007

clip_image009

clip_image011

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.

clip_image013

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

The New Face of Visual Studio 2010 Ultimate Beta 2

Need i say more…

image

November 12, 2009 Posted by | SharePoint 2010, SharePoint Development, SharePoint How-To, Visual Studio 2010 | , , , | Leave a comment

Using a Regular Content Type with an External List Column as part of its properties then Consuming in MS Word

So I love it when my fellow Twitter Colleagues come up with Ideas and I Proof of Concept it in SharePoint 2010, in-fact, I think we should come up with a “Stump the SharePoint 2010 Guys with Beta Bits” gig…

Nick Hadlee (hope you don’t mind me using your name) @nickhadlee had a question “Can #SharePoint External Data columns be included in Normal Content Types or only List Columns”

So we put it to the test…

Activities
  • Create a Content Type as you would do in SharePoint 2007
    • Type Document
  • Create a “New” Site Column in the recently created Content Type
    • Site Column is of Type “Lookup Column” – to an External List which contains LOB System Data
  • Create a Document Library which is defaulted to MS Word Document
    • Allow for management of Content Types
    • Add the Content Type we created
    • Open a Word Document from that Template
    • Consume the External List Data from the Lookup Column

clip_image001

So we need to create a new “Content Type” by clicking on Site Actions, View All Site Settings…

clip_image002

Click “Create” for the new Content Type

clip_image003

Name new New Content Type as you would in SharePoint 2007 as above

clip_image004

So.. we cheat here by creating our new “Site Column” and we will do a ‘Lookup’ to an External List…See below for the walkthrough for that.  See the second screenshot below for the link to the External Data List.

clip_image005

clip_image006

Once complete you will notice the Newly Created Column called “NickEmployeeCol” and of type “Business data

clip_image007

Next we create a new Document Library that is defaulted to hold MS Word Documents, we click ‘Advanced Settings’ under General Settings category so we can “Manage Content Types”… nothing new here…

clip_image008

And we go ahead and click “New Document” below to get a Word template

clip_image009

So in the above and below we have a test document library and we are going to use the new content type we created… see below and above

image

As we did in previous post, we have both the DIP and the ability to consume the External List data from the Quick Parts menu in MS Word.

clip_image010

clip_image011

November 11, 2009 Posted by | SharePoint 2010, SharePoint Development, SharePoint How-To | , , , | 1 Comment