SharePoint commits a cardinal Document Management sin

Last night I spent time helping a colleague modify a SharePoint site home page. The objective was to speed up loading of the page. The number of lists and views on the home page was making load times really slow. At the same time we wanted to reset the theme to avoid some of the bugs that came with a poorly designed custom theme. 

Everything went well except for a couple of things. After deleting the unnecessary web parts page load times did not improve by any great margin. So I took a closer look. To do this you can open a page in Web Part Maintenance Mode. That is where you add ?contents=1 or &contents=1 to the URL.  In my case I decided to fire up SharePoint Designer 2007 and take a closer look.

Sure enough, there were web parts that had been deleted but they were still hanging around on the page. Deleting them blocks of code in Designer or Web Part Maintenance mode finally removed them.  Now the page loaded faster.

But there was still one problem…

The left navigation pane refused to adopt the style of the page. We attempted resetting the theme and various other resets to the navigation but all to no avail. 

This is where I came across SharePoint committing the cardinal sin of document management. 

The new page had a simple list of menu items that displayed as a series of buttons for users to select. The button style was accomplished by creating a list that had a calculated field that built the html for the button. In order to display the field as a button on the page it required two Content Editor Web Parts to be added to the page that incorporated some CSS and HTML code. Because these snippets of code were used in numerous places around the site so the code snippets were housed in a document library on the parent site. The two code snippets were:

1. Code to apply a box style using Cascading Style Sheets
2. Code to convert the <DIV>html code</DIV> calculated field in a list to valid html.

My keen eyed colleague noticed that when the code snippet that converted a calculated field to html was added to the page the left navigation pane changed format, no longer carrying the style of the page.

When I dug deeper into the code for the html code conversion I realized that when SharePoint saves a .html format file in to a document library it edits the document and adds a series of custom document properties. Somehow in doing this a line had been added in to the <head> section:

<title>Widget to create HTML from Calculated Fields</title><!–mstheme–><link rel=”stylesheet” type=”text/css” id=onetidThemeCSS” href=”..//_themes/{blahblahblah}.css”><meta name=”Microsoft Theme” content=”{blahblahblah} 1011, default”>

When I removed everything after the </title> down to the </head>, re-saved the file and reloaded the troublesome page the navigation pane stopped reformatting.

Surely this is a cardinal sin in Document Management if the system modifies the document. What appears to happen is when an item is uploaded to a document library SharePoint appends some custom Office XML to the file. In the case of a HTML file this gets incorporated in to the <HEAD> section of the file. 

What I suspect happened is that a site on which this code snippet was used changed site format. SharePoint went through the site and updated all html pages adding the theme information. This theme information was then interpreted when the code snippet was loaded by the page we were updating and over rode the default style set for the site.

The core issue is this.

  • The code snippet started as a text file with a .html extension. 
  • The only text in the file was a snippet of javascript  code contained between <script></script> tags.
  • When the file was uploaded to a SharePoint document library it was updated with custom properties in a <html></html> section of the file 
  • The <html> section then became a valid component for SharePoint to update when a theme was reset.

SharePoint shouldn’t modify the content of a library item when it is saved.

#health2stat dammit Jim I’m a doctor not a bricklayer!


Simon Lee – dammit Jim I’m a doctor not a bricklayer
Build health literacy one educated patient at a time

Did you know health illiteracy kills?


Is illiteracy a result of poor design. Do we make it readable? Do we make it understandable?

Is 5th grade literature effective?

#health2stat patient to patient


NIH clinical center is risk averse

10k patients per year with rate diseases

Patient portal to provide info on patient conditions

Available at the bedside. Launched in 2006

Links to practical info but no patient interaction but no peer to peer info.

CarePages is an interactive community on portal. Most used pages on the portal.

Funding has disappeared.

Thanks @ginnyhill

#health2stat how to use social media

Welcome but don’t immerse

Provide diversions
Virtual. Gifts are the though that count
Contests with desirable prizes. Get the community to vote

Build community with live events
Upload the photos and get people to tag and vote
Short- I said really short videos

Improve recruiting because you have good social media skills

Thanks jacquelyn kittredge

#hcdc10 After HealthCampDC @carefirst – HealthCamp: the next steps

It is Sunday Morning and an opportunity to sit and reflect on another vibrant HealthCamp. 

Friday November 12th saw HealthCampDC take place at CareFirst’s DC Headquarters. CareFirst was the headline sponsor, providing the facilities, the food and the network access to the world (or at least a large part of the Internet). We were also lucky to have the generous sponsorship of CyberciseHealthCentral and YourNurseIsOn.

HealthCampDC had a great mix of experienced HealthCampers and people completely new to HealthCamp. I know that the event had a lasting impact on those first timers. You just had to look at their bulging eyeballs where braincells had been gently, but irreversibly, re-arranged as a result of the vibrant discussions and exposure to new, but practical ideas. 

Listening to the wrap up session was inspiring.  One innovator asked if anyone knew of any clinics where they could test SMS messaging for improved adherence and an immediate volunteer stepped forward with access to over 100 clinics. When connections like that take place it convinces me of the importance of HealthCamp in promoting the discussions around participatory healthcare.  

People often ask – “Where does the money go”
At HealthCamp we strive to keep participant ticket costs down. But yes, we do charge. Why you may ask? 

We have found that charging a nominal fee simplifies the planning of the event for the volunteer organizers. That nominal fee dramatically cuts the “no show” attrition rate. When people have paid they tend to turn up. When the event is free people figure there is no loss when they don’t show. The nominal fee helps cover one of the important elements of HealthCamp – The food! and makes planning and waste less of a problem. 

For each event the fees and sponsorship cover:
– Food
– Location (some events have to pay for facilities and support, often including Internet access, for example when using a university campus)
– Supplies to support the event (name tags, flip charts, marketing materials, the materials to construct the agenda wall)
– Shwag and prizes. (We keep these to a minimum since every dollar spent here is a dollar that has to be raised. Yes T-shirts are expensive!)
– Marketing, PR and other services (the professional videos produced after some events don’t come for free 

HealthCamp has been entirely self funded thanks to the contributions from participants, friends of HealthCamp and event sponsors. At many events we manage to break even. At some events we are lucky enough to have a small surplus. The surplus from those events goes towards:
– Planning future events
– Purchasing Internet services (Video sharing and Web sites, Domain names etc.)
– Software and equipment that supports events
– HealthCamp’s next step

Yes, HealthCamp is ready to take the next step. 

It has long been our objective to establish the Foundation. The purpose of the Foundation being to act as a catalyst for HealthCamps around the world. As a central, non-profit foundation it will provide promotional materials, the digital footprint and logistical support to make it easier for local HealthCamp organizers to put on an event. 

HealthCamp is fortunate to be able to point to a growing list of prestigious and forward thinking sponsors such as Kaiser Permanente, Microsoft, IBM, CareFirst BlueCross BlueShield, BlueCross BlueShield of North Carolina, YourNurseIsOn and Kony Solutions who have hosted an event or supported multiple events. This list is an asset to local volunteer teams and can help break the catch-22 when seeking a location and sponsors. 

HealthCamp also counts itself fortunate to have a growing band of advocates such as Maumi Cannell Chatterton (@mjchatter), Gregg Masters (@2HealthGuru) in San Diego (who is behind HealthCampTV and our BlogTalkRadio presence), Mike Kirkwood (@mikekirkwood), and Maren Connary (@marenconnary) who have worked tirelessly behind the scenes to promote HealthCamp. 

HealthCampDC, which took place on November 12th, was fortunate to have CareFirst as a facilities sponsor. Their generous sponsorship, when coupled with the sponsorship contributions from Cybercise, HealthCentral and YourNurseIsOn and the Friends of HealthCamp donations from @MeredithGould and Bob Blonchek’s @RazCode, plus the participation of everyone else that purchased tickets has finally put us in the position where we can take the next step.

So, over the winter we will be establishing the Foundation as a non-profit organization and will be seeking board members and advisory board members who reflect the different regions in which HealthCamps take place and the different skills we need to create an active board. This will provide the platform for HealthCamp to have an even greater impact in the years ahead.

Wish us luck as we take this next step. We really appreciate your help and support.