site site-navbranch.xsl site

Skip to main content.

Looking for PowerPoint and/or Google Analytics solutions? Please follow the above links to ShufflePoint.com.

section no_callout.xsl no_callout

page static_html.xsl thincmsbackground

Background

Motivation

The spark that got me going was postings to CMS newsgroups which promulgated the mistaken belief that Office is only a "destination" of content. But saying that users should not create content in Office is misguided. And even worse offence to knowledge worker productivity is when IT takes away Office completely since, according to their school of thought, all real work can be done via the enterprise web portal. In this battle, I will side with the knowledge workers who are perhaps the only hope for our economy - and fight for their right to have and use the most powerful desktop tools available.

To win this fight, you need to demonstrate that Office can and should be integrated into the enterprise workflow. Most of my work in the last several years has been doing just that. And most of the frameworks Active Interface provides implement different aspects of that integration. Some move information from the enterprise to the desktop (PPTATK generates PowerPoint form structured stores). Some move data from the desktop to the enterprise (Excel ETL uploads semi-structured spreadsheets into a structured data store). But this blog is titled ThinCMS, so let's get onto Content Management.

XML opens Office to the enterprise

Office as most end-users experience it is a closed desktop stovepipe (too many metaphors there). That would be the end of the story if it were not for Microsoft's slow but steady embrace of XML. How this embrace manifests itself in Office is the ability to have the Office applications both consume and produce XML. I has arrived in bits and pieces and has never been as well documented as it should be. It is likely that until recently the Office team at Microsoft has had no great incentive to embrace the enterprise. The powers in control of that multi-billion dollar financial fire hose perhaps even saw XML as something which could put a kink in their hose.

But integrated enterprise evangelists (such as myself) decided that either we will get Office to play ball or we would suggest to our clients that they put together a team with technologies (Open Office) which would. Being much the pragmatist (99% of my end users use Office), I decided focus my efforts on the former.

From Pain to Gain

In that effort, we didn't always have it so good. Allow me to reflect on the bad times before XML came to Office. And the transition to XML-based solutions.

Fall, 2001

I am building a web-based training application for a large telecommunications client. Content creators really wanted to use Word. I wrote VBA to walk to Word object model and pull out the content. It worked but was very fragile and inflexible.

Spring 2001

I am tasked with generating PowerPoint. Users currently run an analytics application and then cut and paste data into PowerPoint to get data into charts. Each PowerPoint takes 4 hours. My client needs to build dozens of these each month - perhaps soon each week. Only option I can come up with is to write a meta-program to generate PowerPoint automation programs.

Summer 2002

Tasked with rewriting an application which generates Word legal documents from a vast repository of clauses. Business unit taxonomy (3 levels 100's of nodes) determines which clauses go into which template. Existing app uses Word automation via object model and takes 10 minutes to generate a document - so users don't use it and revert to hand crafting templates. I pull together a taxonomy and clause repository in XML and use XSLT to generate RTF. Reading RTF in XSLT makes deciphering Egyptian hieroglyphics look like child's play. But templates now build in seconds - and in six different languages.

Fall 2002

I must automate the generation of Excel data acquisition templates (sent out to suppliers to capture engineering and pricing info). Columns in a template determined again by the business unit taxonomy. Users only have Office 2000 so we try sending HTML to Excel - with the unacceptable results that you would expect. I build a prototype which uses Excel XP XML file format. Templates now look exactly like what the users had previously hand-crafted. We expend much political capital convincing IT dept. to upgrade desktops of these highly paid engineers to Excel XP. In the next phase, I turned Excel into a web service client so it could send XML-formatted data to the data warehouse.

Summer 2004

Excel 2003 adds key XML capability to consume XML into sheets or ranges (In XP you needed to reload the entire workbook to consume XML). Also adds schema-based mapping. I build Excel ETL as a generalized solution for mapping, validating, and exporting Excel data to the data warehouse. Office XML is really hitting its stride.

Fall 2004

I am tasked (again) with generating PowerPoint. Still no XML support in PowerPoint. The meta-program solution remains only option.

Summer 2005

PowerPoint again! Still no XML support. But (understandably) my client refuses to use anything else. But this time they want PPTs generated on the server-side as part of a web application. Again I am forced to jump through hoops - but by serializing the generation requests I get it working. Now I am beginning to wonder if Microsoft has decided for business reasons not to support XML in PowerPoint.

Wasn't this blog about CMS?

Well, I use Content Management in a broader context than most perhaps. It involves data, metadata, taxonomies, workflow, and all that jazz. All of the above projects pertained to managing content. My clients don't want an acronym (CMS). They want a solution to get their jobs done so they can go home and play. For my web design partner (Fingerprint Interactive) the job to get done is streamlining the process of building high-quality, standards-based web sites in such a way that the customer can take over the maintenance of the site. I had been working on solving the problem for a couple of years already, but with their input and support ThinCMS quickly matured into a solution.

Next

The next article will be an excerpt from my paper from the 2003 TriXML conference. Since it still presents a good overview of what I am trying to do. And it give me an example of "content reuse" using the tools I am discussing here.