Friday, April 01, 2011

Panacea: The Language for Everything and Everyone

In my vast spare time, I’ve been working on my own language project. I’m calling it the Panacea Coding Language. The goal is to provide an easy framework for everything and everyone.

Here’s a sample code block:

START
DO something
STOP

But it’s even better. You don't even need to include the start command:

DO some SharePoint stuff
IF something bad happens
THEN fix it before my manager finds out
STOP when done

Unlike other programming languages, Panacea also responds to begging:

PLEASE write this code for me so that I can go home

Panacea V2 will also allow colloquial coding:

DO some stuff LIKE FAST
SPARE ME the hassle of errors
JUST LIKE get it done
EOF SC

Installing SharePoint Custom Templates

Just by virtue of the fact that it’s about MOSS 2007, this is a seriously retro post, but I had to do this just last week, so I figured I’d share it. Also, there’s always been talk about the idea of the Fab 40 templates being released for SharePoint 2010.

Of course, in 2010, there are other ways to deploy templates. For example, you can go to the Solutions Gallery and click Upload Solution. But for those of you lucky enough to have only done it that way, here’s a look back in time.

The Windows SharePoint Services 3.0 Application Templates (the “Fab 40) are free templates available from Microsoft. To install one of the template, you must first install the “Template Core.” So, for example, to install the Bug Database template, you download these two:

Windows SharePoint Services 3.0 Application Template: Application Template Core http://www.microsoft.com/downloads/en/details.aspx?FamilyID=C1039E13-94DA-4D7D-8CAE-3B96FA5A4045

Windows SharePoint Services 3.0 Application Template: Bug Database
http://www.microsoft.com/downloads/en/details.aspx?FamilyId=C72D23AF-F556-47AA-A6F2-0027246A9928&displaylang=en

First install Windows SharePoint Services 3.0 Application Template: Application Template Core. To do this, use the stsadm command line addsolution. Then follow the same steps for the Bug Database solution.

stsadm -o addsolution -filename <file_path>\ApplicationTemplateCore.wsp

clip_image002

After the solution is added, you need to use the deploysolution command to deploy it. The –immediate flag is used to deploy it right away.

stsadm -o deploysolution -name ApplicationTemplateCore.wsp -allowgacdeployment -immediate

stsadm -o copyappbincontent

clip_image004

To check the deployment status, browse to the SharePoint Central Administration site. Click the Operations tab, and then click Solution management under global configuration.

image

- SharePoint Central Administration showing the custom template not deployed

clip_image010

After all the solutions are marked Globally Deployed, run iisreset from the command line and you’re done!

image

- SharePoint Central Administration showing the deployed custom template

Tuesday, March 29, 2011

Moving to Marketing

I’m changing job titles at Metalogix and that change was made official today. My new position is Director of Product Marketing and Chief SharePoint Evangelist.


The best message I’ve received so far in response to the news, “Welcome to the dark side.. ;).”


image

Supplement to SharePoint Taxonomy Series

Ken Efta, writing for http://blog.allyis.com, has kindly mentioned my SharePoint Enterprise Metadata Management (SharePoint Taxonomy, Managed Metadata Service [MMS]) blog series in his post on the topic.

Also, Ken has touched on some aspects that I didn’t cover, so I’d like to return the favour. In his post, Managed Metadata Services and Term Sets in SharePoint 2010, Ken covers topics such as Localized Term Sets, Term Synonyms, and Using Terms Sets as part of Content Types (via the Managed Metadata Column).

Here are the links to my series:

SharePoint Taxonomy Part One – Introduction to SharePoint Managed Metadata
SharePoint Taxonomy Part Two – End-User Experience
SharePoint Taxonomy Part Three – Administrator Experience
(including Using SharePoint Term Stores and SharePoint Taxonomy Hierarchy)
SharePoint Taxonomy Part Four – Developer Experience
(including SharePoint 2010 Visual Web Parts and SharePoint 2010 Taxonomy Reference Issues)

Thursday, March 24, 2011

Featured in MVP Summit Video on TechNet

During the Microsoft MVP Summit Earlier this month, I participated in a video question session where Microsoft MVPs talked about how they currently use online resources.

If you blink, you’ll miss me, but you can see the video on TechNet.com. I’ll have to work on my showmanship—although, in my defense, I was sick as a dog during the conference and trying to keep that fact to myself.

image

 

Question 2 in the same series.

Thursday, March 17, 2011

HTDE SharePoint Book Supplement–History of MCMS and SharePoint

Last year, my SharePoint 2010 end-user book came out: How to Do Everything: Microsoft SharePoint 2010. To keep the momentum going, I’ve decided to write some short supplements. My goal is to add in things that I either didn’t have the time or the pages to do it in the printed book. After all, the express goal of the book was to not overwhelm end-users with too much information—as used to be common in the SharePoint world. The added topics might include background information, more examples, or maybe just colourful anecdotes about working on the Microsoft Content Management Server (MCMS) and SharePoint teams at Microsoft. I’ll try and follow the chapter order, but if something compelling comes along that’s out of order, I won’t hold back the content just to keep the posts in sequence.

The first chapter of the book is an introduction to SharePoint and a history of the evolution of the platform (written by former Director of Marketing for SharePoint, Arpan Shah). It’s also one of my versions of answering the question, “what’s SharePoint?”—although you don’t hear that so much anymore. In this first supplement, I’ve decided to add a history of MCMS and talk about how publishing features from MCMS were added to SharePoint.

First off, if you look to the right-hand side of this page, you’ll see a logo that looks like the one below. (My apologies to those of you in the future who are reading this after I’ve changed my blog template or migrated to some sort of solar-powered blogging platform.) This logo was created for NCompass Resolution 3.0 and also used for v. 3.1—the last major release before Resolution became MCMS.

 

Prior to the Microsoft acquisition, NCompass Labs was a small company based in Vancouver, Canada. We worked in an old Hudson’s Bay Company  fur warehouse in Gastown; it was the classic '”bricks and sticks” style that was popular during the .com boom. The office was on Water St. (so near the famous steam-powered clock that we could hear it form our desks) and boasted a view of the mountains and Burrard Inlet. I spent most of my time there facing Water St., but for a short time, I did enjoy that mountain view.

After Microsoft acquired NCompass Labs, Resolution 3.1 became MCMS 2001. The .NET initiative was on every dev manager’s mind at Microsoft and MCMS 2002 was released to add support for .NET. One of my tasks with the MCMS team was to port the Woodgrove Bank sample site to Woodgrove.NET. As you may have guessed, SharePoint 2003 was released the next year.

I’ve heard some revisionist history accounts of what happened during this period. So here’s my take. Since SharePoint and MCMS were both used to create websites, people often chose to do this using the erroneous distinction that SharePoint was for internal sites and MCMS was for public facing sites. In truth, SharePoint was focused on team collaboration and the fact that it wasn’t being used for public facing sites had a lot to do with the licensing model. MCMS could be used for any website but it didn’t ship with templates out of the box the way SharePoint did. However, MCMS was built from day one with public facing sites in mind and later versions had been tuned extensively for optimal performance on heavily trafficked sites.

- In honour of it’s Canadian roots, the MCMS box and screens featured images of the Vancouver library.

The two products weren’t even in the same business unit. SharePoint was in the Office Server Group and MCMS was in the now defunct E-Business servers group that was working on an e-business suite codenamed “Jupiter.” Jupiter was meant to include BizTalk, Host Integration Server, Commerce Server and MCMS. However, as time went on Jupiter remained a far-out idea and the confusion around which Microsoft product customers should use for building their site still remained. Microsoft knew that a change was in order. The resolution (pardon the pun) came when MCMS was retired and the MCMS team was folded in the Office Server Group. We were quickly set out to add more publishing features to SharePoint. Before I left Microsoft, I was working on SharePoint 2007 (MOSS) navigation, but I moved back to Canada before the release.

SharePoint today is a popular and rich platform for building websites. If someone asks, “what’s SharePoint?” feel free to use that line.

Saturday, February 26, 2011

Microsoft MVP Summit 2011

I’m currently in Vancouver and tomorrow I’ll be making my way down to the Seattle area for the Microsoft MVP Summit. Last October, I received an MVP Award for Microsoft SharePoint, so this is my first visit to the summit.

Unfortunately, for my blog, everything at the summit is under the umbrella of the MVP non-disclosure agreement, so I won’t be able to blog or tweet about the content of the sessions.

clip_image001

As usual, I’ll try to find time to meet up with my former colleagues in the area, but I’m really looking forward to the summit itself. The main keynote speaker is Steve Ballmer, CEO, Microsoft. I once lost $10 because a friend bet me that I’d speak to or shake hands with Ballmer or Gates within a year of starting work in Redmond. I bumped into Ballmer backstage at a Microsoft conference in New Orleans and I was $10 the poorer.

Friday, February 04, 2011

Twitter for Business: Beyond what you had for lunch

Since Twitter launched in 2006, I’ve heard many criticisms of the short message communication system. Some of the limitations of Twitter are obvious—after all, you can’t expect to be able to express every idea in 140 characters or less. However, I’ve also found that many hacks against Twitter are unfounded and stem from a lack of understanding about how Twitter works and the value it can add. This is particularly true in the context of using Twitter for business purposes.

Recent events have shown that Twitter has profound value in other contexts. For example, political rallies or disaster scenarios. Messages can be sent about demonstration locations or places to find food and shelter. I successfully use Twitter to keep up-to-date on what’s happening in the Microsoft SharePoint community, so I take it a little personally when someone claims that the technology has no value. Here’s a quick defense of the value of Twitter for business.

Update: I’ve now posted a second part to this post: Twitter for Business Part 2: Twitter Usage and Etiquette

Twitter is Open

Some people love to rant that, “Twitter makes no sense because we already have Facebook status.” What these people don’t realize is that unlike Facebook status, Twitter is open. Sure, the Twitter direct message (“DM”) system can be used for private messages, but most messages are not sent as DMs; most Twitter messages are public.

What this means is that any user has the ability to ‘follow’ any other user and read their messages. I doubt Bill Gates would accept a friend request from me, but I can follow him on Twitter to see how his foundation is faring in its fight against polio. Once you’re following a user, it makes it easier for you to see their messages—a.k.a. tweets—but you’re not even required to follow someone to read their tweets. You can visit their Twitter page anonymously and read what they’ve written.

This is great for business because anyone interested in a particular subject—let’s say SharePoint migration software from Metalogix—can read tweets by @metalogix or create a search for tweets with “SharePoint” in the text (or “#SharePoint” if you prefer Twitter hashtags). In other words, if I send out a tweet with key terms, I know that I’ll be reaching an audience interested in those subjects.

Twitter is Democratic

With the exception of some “Who to follow” or “Highlighted users” suggestions, Twitter is largely a democratic system. Each user chooses who he or she will follow and whether a tweet becomes popular depends on how many users choose to ‘retweet’ it. This is radically different than traditional marketing or public relations because business users might choose to follow a software developer’s account instead of the corporate PR account. This must be frightening to old school media types, but companies that effectively use Twitter can reach audiences that might otherwise simply ignore their marketing efforts.

Hypothetically, I might not want to follow a movie studio’s twitter account, but if I choose to read the tweets of an actor starring in one of their movies, I would still see some (maybe a lot?) of plugs for their movie.

Twitter is an Instant Worldwide Bulletin Board

The most common complaint I hear about Twitter is that it’s used for glib messages that no ones cares about. In an episode of the TV show Criminal Minds, a killer tracked social networking users who sent out tweets such as, “Mmm scones.” This is the sort of thing that many associate with Twitter. So much so that, I’ve heard Twitter called “keyboard masturbation.” What these critics need to realize is that those using Twitter in a business context aren’t going to behave this way.

Think of standing on a corner and having a constant flow of people walking by giving you Post-It Notes about the subjects that interest you. It can be incredibly useful and powerful to have that sort of instant access to what people are typing about any subject at any point in time.

When someone tries to put down Twitter, I simply say that if I follow someone for business reasons, and all he does is tweet what he had for lunch (not that I’ve ever done that), I’ll just unfollow him. Besides, it’s a lot less insulting than being un-friended.

Update: I’ve now posted a second part to this post: Twitter for Business Part 2: Twitter Usage and Etiquette

Follow me on Twitter: @cawood

Friday, January 07, 2011

Add Push Notification to SharePoint Apps

I’ve been working on an application to help me with some SharePoint 2010 API/web services/client OM performance testing—I’ve given this app the sufficiently geeky name ‘SharePoint Genesis Device.’ The operations that this application runs can take many hours, and I don’t want to have to keep checking if it has completed. For this reason, I’ve added Growl/Prowl support so that I can receive push notifications on my PCs and smart phone.

image

                                                 - A Prowl notification sent to my phone

I’ve just started on this project, but the screenshot below shows what the SharePoint Genesis Device looks like today. I’m going to use Prowl ($2.99) as my mobile app for Growl notifications, but there are other options out there. However, I found Prowl to be easy to set up, so I recommend it.

image

After adding Growl (PC notifications) and Prowl (iPhone notifications) support, I am able to send push notifications both to PCs and smart phones. If you would like to do the same, I suggest you focus on getting Growl working first. It’s a requirement for the Prowl setup, so don’t worry about Prowl until you have Growl notifications working.

Follow these steps to add Growl and Prowl support to your C# application:

1. Download the Growl for Windows client and install it.

2. Download the Growl SDK and read the Growl documentation for details on adding Growl code to your application. Here is the code I used:

using Growl.CoreLibrary;
using Growl.Connector;

DateTime stopTime = DateTime.Now;
wlConnector growl = new GrowlConnector();
Growl.Connector.Application application = new Growl.Connector.Application("SharePoint Genesis Device");
application.Icon = @"\GrowlNetLibraries\growl4windows.jpg";
NotificationType operationComplete = new NotificationType("COMPLETE", "Operation Complete");
growl.Register(application, new NotificationType[] { operationComplete });
Notification notification = new Notification("SharePoint Genesis Device", "COMPLETE", "ID", "Operation Complete", "End time: " + stopTime.TimeOfDay.ToString());
growl.Notify(notification);

After you execute this code, you should see your application registered in Growl and the updates should appear on your PC. To open Growl, right-click on it in the system tray and choose Open Growl.

image

                           - Updates from my SharePoint app in Growl

If you have Growl set up and working, then you can add Prowl to send notifications to your phone. If you only want PC notifications, then you’re done.

3. Register for Prowl.

4. Login to the Prowl website and get your Prowl API key. You will need to enter this key into the Growl client so that notifications can be forwarded to your Prowl device.

5. Open the Growl client on your PC and add Prowl as a computer for forwarded notifications. Use the API key from Prowl.

image

6. Install Prowl on your iPhone from the app store and enter your login credentials.

That’s all! You’ve now got push notifications on your PC and smart phone.

Thursday, December 23, 2010

Free Motion Chart Visualization

If you’re not familiar with Hans Rosling's work, you should take a look at The Economist’s rollup of his TED talks about infant mortality. His style is engaging enough for the article to be entitled “Hans Rosling's greatest hits.” Hans is a great speaker and his presentations are interesting unto themselves, however, another interesting aspect of his talks is that you can leverage his cool visualization software for your own purposes.

The software that powers the bubble motion charts was purchased by Google and is free at Google Motion Chart—you just need to enter your data and run the HTML on any web server.

I have the sample data running on my web server and I’ve also entered the data for the Metalogix support team so that people can visualize how our support workload has fluctuated over time.

Wednesday, November 10, 2010

New Microsoft Community Contributor Award

I’m happy to say that (minutes ago) Microsoft announced a new award called the Microsoft Community Contributor Award that will recognize individuals who make value contributions to the online Microsoft community.

image

“The Microsoft Community Contributor Award seeks to recognize notable contributions to Microsoft online community forums such as TechNet, MSDN® and Answers. The value of these resources is greatly enhanced by participants who voluntarily contribute their time and energy to improve the online community experience for others. Each day around the world, Microsoft Community Contributor Award recipients contribute to Microsoft online technical communities in a range of ways, including providing helpful answers, translating online resources into local languages and serving as moderators.”

This is a very different award than the Microsoft Most Valuable Professional (MVP) which recognizes people who have focused on specific technologies and are contributing to the community via conferences, blog posts, webinars, etc. Although MVPs also may contribute to forums, there are plenty of people out there doing good work in the forum who aren’t necessarily able to do things like attend conferences around the world.

“Through the Microsoft® Community Contributor Award, we express our thanks to individuals who freely volunteer their time and energy to help improve the Microsoft online technical community experience for others.”

I think this is a great idea as there are a group of hardcore contributors out there that keep forums such as TechNet and MSDN relevant. Without their voluntary efforts, the forums would have a difficult time keeping up with the vast volume and broad range of questions that are submitted.

For more information, refer to the Microsoft Community Contributor Award FAQ.

Monday, November 08, 2010

Critical Information SharePoint Server October Cumulative Update

From the Microsoft SharePoint Team Blog:

"Microsoft has discovered a critical issue in the recently released October Cumulative Updates for SharePoint Server 2010 and Project Server 2010, and we have removed the files from download availability.  If you have already downloaded the CU, do not install it.  If you have installed the CU, please contact Microsoft Support for assistance.  We will be posting additional information about the issue here as soon as we have it, and will make the Cumulative Update available for download again as soon as the issue has been fully resolved."

Tuesday, November 02, 2010

Microsoft Tech Days in Halifax!

Microsoft TechDays is in Halifax November 2-3 at the World Trade Centre.

This is a great local event and I’m happy to see that Microsoft decided to come back to Halifax after the sold out show last year.

From the Tech Days session page: “If you're a technical professional in Canada, review from the six tracks offered through the two day Tech•Days experience in each venue. Select from over 50 sessions to build your schedule.”

Last night, I went to the speaker dinner and met a bunch of the people who have flown in to present on various topics.

I highly recommend this event. Check it out!

 

image

Thursday, October 28, 2010

Rally to Restore Sanity This Weekend

This weekend, comedian Jon Stewart, from The Daily Show, will be leading a rally in Washington, DC called Rally to Restore Sanity.

Some opponents have made strong negative statements about this event, but I have to say that it makes perfect sense to me. From the perspective of someone outside the system, it seems quite clear that a portion of the media and some politicians in the U.S.A. have convinced a lot of people that they cannot have a rational conversation with someone who doesn’t share their ideology. This creates a toxic environment where people cannot reach reasonable compromises, and it also paralyzes the government because politicians are more loyal to the concept of fighting the other party than they are to their personal values.

So, why would anyone criticize a rally designed to promote rational conversation? Why wouldn’t someone support a forum for people who aren’t extremists? Perhaps because they’re part of the problem.

Jon Stewart Daily show RallyToRestoreSanity_TDS_RallyPoster Geeklit blog

Friday, October 01, 2010

Microsoft SharePoint MVP 2010

I’m happy to say that I’ve received a Microsoft Most Valuable Professional (MVP) Award for SharePoint.

What is that you ask? According to Microsoft:

“This award is given to exceptional technical community leaders who actively share their high quality, real world expertise with others. We appreciate your outstanding contributions in SharePoint Services technical communities during the past year.”

In practical terms, this means helping with community-focused resources such as contributing to the SharePoint newsgroups, speaking at conferences, writing about SharePoint and contributing to CodePlex (an open source site used by the SharePoint community).

Getting into the MVP program has been a long story for me. Back in 2001, NCompass Resolution became Microsoft Content Management Server (MCMS) and I had started what became the MCMS FAQ. The FAQ was a searchable CHM containing hundreds of questions and answers. I created it partly for the consulting team, but it was mainly targeted at the community at large. When NCompass Resolution became MCMS, I wondered if I could be an MVP. However (and I’m not complaining), I was hired by Microsoft and employees aren’t eligible for the MVP program.

In 2004, the MCMS team was folded into the SharePoint team, and I started getting involved with the SharePoint community. But I took a break to do some writing, so it really wasn’t until 2008 that I was deeply involved with SharePoint community activity.

Thank you to everyone who helped along the way. My employer, Metalogix Software, has been tremendously supportive and I wouldn’t have received this award without their help.

MVPverbose

Wednesday, September 29, 2010

SharePoint Taxonomy Series Featured in SPTechReport

My blog series on SharePoint taxonomy (SharePoint Enterprise Metadata Management) has been featured in this week’s SharePoint Tech Report newsletter.

This e-mail newsletter is free and you can sign up quickly by visiting the SD Times website.

SPTechReportBanner

Friday, September 10, 2010

SharePoint Incompatible Web Part markup detected

I was working on my Game of Life SharePoint 2010 taxonomy sample, when I suddenly started to get this error message when I tried to add my web part to a page:

“Incompatible Web Part markup detected. Use *.dwp Web Part XML instead of *.webpart Web Part XML.”

image

The problem is that the .NET framework web part and SharePoint web parts are not the same thing. If you’re deriving your web part from System.Web.UI.WebControls.WebParts.WebPart, then you are using the .NET web part. But if you’re using Microsoft.SharePoint.WebPartPages.WebPart, then it’s a SharePoint web part.

As far as I can tell, you can actually use either one inside SharePoint, but there are differences in the way that you code them. If you’re using a SharePoint web part, then you should have a .dwp file in your feature. If you’re using the .NET class, then it should be .webpart. The error about the web part markup occurs when you try to use the wrong one. The .dwp and .webpart files are both XML, but they use a different schema. So if you change from one to the other, you can’t just rename the file, you have to re-write it.

I don’t know why my project suddenly decided that it didn’t want to work. As far as I can remember, all I did was change the assembly version number, but anyway…

To resolve the issue, I had to ensure that I was consistent across my project. I want to use the .NET webpart class, so this is what the beginning of my webpart.cs file looks like. I’ve used the long format for the WebPart class to make things crystal clear:

using System;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;

//Added references
using System.Xml.Serialization;

namespace GameOfLifeWebPartProject.GameOfLifeWebPart
{   
[ToolboxItemAttribute(false)]  [DefaultProperty("Text"), ToolboxData("<{0}:GameOfLifeWebPart  runat=server></{0}:GameOfLifeWebPart>"), XmlRoot(Namespace = "GameOfLifeWebPart")]
public class GameOfLifeWebPart :
System.Web.UI.WebControls.WebParts.WebPart
    {

Now that I’ve clarified which type of web part I’m using, any custom properties that I add have to be in the correct format for that type of web part. If you add custom properties using the other format, the project may compile and deploy, but the properties won’t appear in the web part property pane.

// Custom web part property for the term group name
private string m_termStoreGroupName = "Game of Life";
[System.Web.UI.WebControls.WebParts.WebBrowsable(true),
System.Web.UI.WebControls.WebParts.WebDisplayName("Term Store Group Name"),
System.Web.UI.WebControls.WebParts.WebDescription("The name of the term store group you'll use."),
System.Web.UI.WebControls.WebParts.Personalizable(
System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared),
System.ComponentModel.Category("Game of Life Settings"),
System.ComponentModel.DefaultValue("Game of Life")]
public string TermStoreGroupName
{
     get { return m_termStoreGroupName; }
     set { m_termStoreGroupName = value; }
}

This is what the same property would have looked like if I was using .dwp and the SharePoint web part class:

private string m_termStoreGroupName = "Game of Life";
[Category("Game of Life Settings")]
[WebPartStorage(Storage.Personal)]
[FriendlyNameAttribute("Term Store Group Name")]
[Browsable(true)]
[Description("The name of the m_group you'll use in your term store.")]
[DisplayName("Term Store Group Name")]
[XmlElement(ElementName = "TermStoreGroupName")]
public string TermStoreGroupName
{
     get { return m_termStoreGroupName; }
     set { m_termStoreGroupName = value; }
}

If you decide to change from .webpart to .dwp or vice versa, you’ll need to add the new file to your project and also update the feature package. If you don’t add the new file to the feature package, your web part won’t appear in the web part gallery because it requires that XML file.

Thursday, September 09, 2010

SharePoint Game of Life Web Part on CodePlex

Earlier this year, I presented a session at SharePoint Saturday New York on the new SharePoint 2010 taxonomy features (Enterprise Metadata Management). At the time, I offered to provide the source code for the visual web part sample I used in the developer portion of the talk.

The sample is a simple SharePoint 2010 visual web part based on John Conway’s Game of Life cellular automaton. I wrote about the SharePoint Game of Life web part previously on this blog. If you’re interested in SharePoint taxonomy, you can also check out my blog series on Enterprise Metadata Management (EMM).

The idea is that each term in the SharePoint taxonomy term store represents an organism. As you run through each generation, terms are added and deleted based on the parameters of the simulation.

image

It took a few months, but I’ve cleaned it up, added better error handling and uploaded the code to the SharePoint 2010 Game of Life Web Part project on CodePlex. This project is written in C#. It requires Visual Studio 2010 and SharePoint 2010 Server.

The Long Tale: This SharePoint 2010 taxonomy sample is actually a port of an old-school ASP code sample that I wrote in 1999 for the NCompass Resolution API. Resolution went on to become Microsoft Content Management Server (MCMS).

image

Wednesday, September 01, 2010

Visual Studio Designer View Doesn’t Work After Adding a Table

I’ve been working to clean up my SharePoint Game of Life web part so that I can give it out publicly. I found recently that when I added an ASP.NET  Table control to an ASCX page, I could no longer select the individual controls on the page. This is annoying since I you can’t quickly get to their property grids.

In the Visual Studio designer view, I could only select the Table control that now encompassed all of the other controls.  If I clicked on anything, it just selected the large table. The other ways of selecting nested controls that I would use with WinForms don't work either.

image                         - after adding the table, only the whole table could be selected

After messing about, I found the solution. Since I don't actually need the main table to be a Table control, all I had to do was change it to a simple HTML table. So instead of <asp:Table><asp:TableRow><asp:TableCell>…. I used: <table><tr><td>…

Now the designer is usable again!

image                                                  - after removing the ASP Table control, controls are accessible again