Fun with XSL - a case study at CHC Helicopters


Published on

CHC struggled to implement a CMS in many ways. One painful way was regarding XSL. This presentation describes where we came from, how we pushed through and where we're hoping to move to now.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Fun with XSL - a case study at CHC Helicopters

    1. 1. Fun with XSL Getting content out of your CMS
    2. 2. Phase 1: The organization prepares (2004) <ul><li>For CHC, organizational pain was the only path to the cultural level change that CMS requires </li></ul><ul><li>The solution proposal evolved and the scope of the requirements crept </li></ul><ul><li>Need a clear mandate and a supportive Executive sponsor </li></ul><ul><li>We picked Docbook over DITA simply because we got into CMS 3½ years ago </li></ul>
    3. 3. Phase 2: We have a CMS…now what? (2005) <ul><li>The implementation and conversion of documents to XML got ahead of the output capabilities </li></ul><ul><li>Had a very helpful implementation coach in Jeff Hooker </li></ul><ul><li>Used Norman Walsh XSL for a while </li></ul><ul><li>Came to a crunch and we got a basic XSL that everyone used at first </li></ul>
    4. 4. Phase 2…continued <ul><li>Initial XSL basics included: </li></ul><ul><ul><li>Title page </li></ul></ul><ul><ul><li>Reasonable rendering of images </li></ul></ul><ul><ul><li>Internal links </li></ul></ul><ul><ul><li>Page numbers </li></ul></ul><ul><ul><li>Hyperlinked TOC </li></ul></ul><ul><ul><li>Chapters that started on odd pages </li></ul></ul><ul><ul><li>Provisions for a back of the book index (no tagging to make it work though) </li></ul></ul>
    5. 5. Phase 2…continued <ul><li>What we didn’t have was: </li></ul><ul><ul><li>List of Effective Pages (LEP) </li></ul></ul><ul><ul><li>Change bars </li></ul></ul><ul><ul><li>Adequate CSS to view our in-house tags properly in our XML editor </li></ul></ul><ul><ul><li>XSL for anything but the most basic Docbook tags (this meant that authors could insert tags into the documents that wouldn’t publish) </li></ul></ul><ul><ul><li>A way of telling when the XSL had failed </li></ul></ul><ul><ul><li>A way of constraining what authors could pick for tags </li></ul></ul>
    6. 6. Phase 3: developing a developer (2006) <ul><li>One failed attempt to hire an XSL contract developer </li></ul><ul><li>Hired a clever fellow who quickly taught himself </li></ul><ul><li>He solved numerous problems and trained his replacement before he left </li></ul><ul><li>Now we have XSL for everything that authors can select as a tag. We “downgraded” to Docbooklite as a subset of full Docbook for the sake of simplicity </li></ul>
    7. 7. Phase 4: Gaining momentum <ul><li>The requirements of a regulatory environment: </li></ul><ul><ul><li>List of Effective Pages (LEP) </li></ul></ul><ul><ul><li>Change bars </li></ul></ul><ul><ul><li>(nice to have) a summary of changes since the previous revision </li></ul></ul>
    8. 8. Phase 4… continued <ul><li>Greatly complicated by the possibility of variants all on different review, revision and approval cycles </li></ul>June 2006 Canada variant January 2007 Canada variant May 2007 Canada variant January 2008 Canada variant October 2006 Brazil variant April 2007 Thailand variant November 2007 Brazil variant Time A B C D E F G H
    9. 9. Phase 4…continued <ul><li>Current CHC solution </li></ul><ul><ul><li>List of Effective Pages (LEP) </li></ul></ul><ul><ul><li>Change bars </li></ul></ul><ul><ul><li>Summary of changes </li></ul></ul>
    10. 10. Going forward: leveraging the content <ul><li>Next phase of XSL development is getting the content not just reused multiple places but also massaged in the process… </li></ul><ul><li>Examples and “show and tell” </li></ul><ul><ul><li>Headings and introductory paragraphs of multiple modules in a course could create an automated syllabus </li></ul></ul><ul><ul><li>Headings from a course could be used to populate an exit checklist that confirms comprehension and facilitates a trainer signing off a pass/fail standing </li></ul></ul>