Hi after a long absence from posting; Kathy, my bride, has been dealing with some pretty serious medical challenges over the past couple of months and that’s take a lot of my time. Things are improving now; with out going into a lot of detail, make sure the ladies in your life are regular about their mammograms. Kathy was and it probably saved her life on a number of fronts. That said, we still have a ways to go but the prognosis is good, things are becoming more manageable, and I’m hoping to get back to a more regular pattern of posting.
I know I owe the follow up I mentioned on the relative calibration topic, but this last week, I learned something really useful that I thought I would share with regard to delivering technical reports that have a lot of supporting content.
Many of the reports I work on have a lot of background and supporting information associated with them; things like calculations, trend data, test results, drawings, specifications, etc. All of these items are generated by the engineering process the report is focused on and frequently, they are considered part of the deliverable.
My company uses a web based portal to host the data for our projects that was developed in-house. Its named CACEA (Control And Commissioning Engineering Application) and it lets us manage data, track tests, submittals, and action items, and post events at a location on our servers that can be accessed by anyone who we have given a password and access rights to. Here is a screen shot from one of my projects where we are testing a condenser water system.
Its pretty cool because the entire project data base and record is right there in real time. In fact, if we are using our broadband cards out in the field when we test, you literally could watch the execution of a test as it happens. The point is that for a commissioning project, all of that information becomes part of the final report and the only practical (and for that matter “green”) way to distribute that much information is electronically.
The past couple of weeks, I have been putting the finishing touches on an engineering study of the HVAC systems in a high-rise up in Seattle, WA. The report itself was about 7 megs in the form of a Word document, but the supporting information was close to 970 megs and included everything on the list above and then some. In addition to containing links that moved you around in the document, the report contained links to referenced information in the project file structure. For instance, when I was discussing the fan static pressure calculation I had done, I included a link to the spreadsheet with the actual calculation.
To distribute that content, I had developed the Word document and sent it out in .docx form and .pdf form and then burned everything, including the referenced files onto CDs and sent them off to the client.
Project complete, right? Well, not exactly.
Absolute and Relative Links; A Lesson Learned
Generally, there are two types of hyperlinks. One is an absolute link that contains the exact path to a file in a specific location. The other is a relative link which provides the path to file relative to the location of the file containing the link.
For example, here is an absolute link to a supporting calculation file in my report.
C:\ComIT\Project Data\Seattle_HighRise\HVAC Study\Calculations\AHU Design vs Measured.xlsx
Here is the relative link to the same file with the file located in a sub directory of the one containing the document that contains the link (the folder titled “Calculations” is a subfolder to the one with the report in it).
Calculations\AHU Design vs Measured.xlsx
The advantage of a relative link is that if you copy the report and related file structure to a DVD, CD, or USB drive, the links will still work. If they are absolute links, they won’t work if the DVD, CD, or USB drive is located in someone else’s computer because the link will be pointing to a location on a drive that does not exist on that machine.
I never had to worry about this before, partly because I was not exactly aware of it and partly because for what ever reason, the default setting in Office 2003 on my old computer created relative links. Not so with Office 2007 on my new machine. I only discovered this after popping a DVD with the report I had just dropped in the Overnight box at the post office into a different computer to answer a question and discovering I got a a “link broken or missing” message when I tried to access a file.
In my defense, I actually had tested the DVDs to make sure everything worked, and it appeared to. But, since I tested it in my computer, the absolute link just found the files on my hard drive, not on the DVD.
That lead to a bunch of searching around and the information just shared about absolute vs relative links. Getting relative links to be the default instead of absolute links is not exactly obvious, at least in my opinion. The way you do it in Windows 2007 (I suspect Windows 2003 is similar) is:
- Click on the Office Button (the round button in the upper left corner of the standard Word Window).
- Select “Word Options” (towards the bottom right of the window that opens up when you click the Windows Button)
- Select “Advanced” on the list on the left side of the window.
- Page down until you find the “Web Options” button and click it.
- Pick the file tab.
- Un-check the “Update links on save” option.
If your system works like mine, the next time you open Word, when you highlight something to create a hyperlink and browse to a file location, the link will be stored as a relative link.
A couple of details that you might want to be aware of.
- From what I can tell (as in burned a DVD and still had a problem and then tried “plan B”), the file you are linking to needs to be in the same directory or a sub-directory of the one the document containing the link resides in.
- If you hover over the link, the little information box that opens up and shows you the link will still show the full path to the file, not just the relative path. In other words, it looks like an absolute link, not a relative link.
The Autorun File; A Lesson in Automation
One of the things that it is easy to loose sight of when you are writing a report (or deeply immersed in any project for that matter) is that things that are obvious to you because what ever you are working on has been your focus will not necessarily be obvious to someone picking up the results of your effort.
In the case of my report, to me, if handed the DVD, it would be obvious that all I needed to do was insert it in my DVD drive, navigate to the document titled 06-21-10 Final Report Final r4.docx or 06-21-10 Final Report Final r4.pdf, open it, and begin reading the page turner I had just created. But for my client, or any client, it may not have been so obvious given that there were a number of files in the root directory (none of which were the report) and 11 other folders, many with subfolders. In addition, the folder that I had cleverly named “Reports” had the final report, the drafts of the final report, and all of the interim reports for the project.
This actually dawned on me before my relative links discovery and I had included a little file called “Read Me to Open the Report.txt” that included instructions on which file to look for and where it was. This was practical, but not elegant and may not have been obvious to someone who was not a big computer user, like maybe a manager who wanted to read the report and was handed the DVD by someone in facilities.
In poking around on the internet to learn about relative and absolute links, I also discovered a more elegant way to get folks pointed in the right direction. So, I implemented it in the replacement DVDs I sent out to fix the hyperlink problem. Here is a screen shot of the result of my effort, which is the screen that opens up automatically when you insert the DVD in your drive.
In general terms, a user, upon inserting the DVD in their drive is presented with a screen that tells them what they are looking at and how to get to the content they are just dying to see. You can add additional screens with more information that show up if you press page down or the space bar. I used this feature to provide a screen that highlighted each subfolder on the DVD to provide some guidance on what it contained. For example, here is the one for the “Field Notes: sub folder.
As you can see, I included a little screen shot of the DVD directory window with an arrow pointing to the folder I was talking about to help folks find it. In hind sight, I also could have created a hyper link to it from the arrow or the text and included a comment like “to jump directly to this folder, just click on the arrow”. Oh well, just something to improve next time.
And yes, I tested a couple DVDs selected at random in a different computer to make sure all of this worked before I sent them off.
The way you get this “magic” to happen is by using an AUTORUN.INF file. This is a fairly simple text file that you place in the root directory of the DVD. The utilities on most systems are set up to look for such a file any time you insert removable media and if they find it, do what it says. Here is the entire contents of the AUTORUN.INF file on my DVD.
open=PPTVIEW.EXE /L “playlist.txt”
The “open” instruction is telling the computer to run the referenced file with the options associated with it which are represented by the characters after the backslash.
The “icon” instruction tells the computer to use the referenced icon in Explorer windows that look at the drive. Its not necessary, but its kind of cool to have your company logo show up instead of the Windows default. I created my icon using a little software program I purchase a couple years ago now when I needed to make a bunch of icons. Its called Icon Cool Editor and its really handy and for me at least, was well worth the modest cost.
I also used it to create the little .gif file that I used as a bullet on the Field Notes Folder screen. Most of the Microsoft office products allow you to define bullets from pictures by selecting the drop-down menu on the bullet icon, picking “Define new bullet” then “Picture” and following the instructions from there.
But, like I said, using the icon line is optional. The real trick is in creating the file that is reference by the “open” instruction since it has to be an executable file (i.e. a file with the “.exe” extension)
I think “.bat” files or “batch files” might work too, and back in the “good ol’ days” when we did things directly in DOS, I actually could create batch files and get them to work. But, I was a bit mystified about how to get this to happen on my computer with current technology until I stumbled on another item in the Windows button.
I discovered this after concluding that it would be great if I could somehow get a PowerPoint show to run when someone inserted the CD and then have the instructions on where to go from there show up as part of the slide show. What I discovered is that if you click on the Office button in Power Point (its the round button in the upper left corner of the standard PowerPoint window), one of the options is “Publish” and if you pick that, one of the options is “Package for CD”. (I think there is a similar feature to this in Windows 2003, but I never stumbled into it before.)
There-in lies the magic. If you pick that option and follow the instructions, PowerPoint will create a whole bunch of files, including the AUTORUN.INF file you need and put them in a folder of your choosing. So, it turned out that all I needed to do was:
- Create a PowerPoint with the information I wanted to convey, including links to the documents if so desired (remember to use relative links) and save it in the file structure that would go on the CD
- Invoke the “Package for CD” feature and follow the instructions, which create a bunch of files and put them in the folder of your choosing. I put them into a folder called Opening Screen in the same directory with all of the other project files just so I could find them easily. Here are the files that were created by the “Package for CD” feature for my project.
- Open the AUTORUN.INF file with Notepad and add the icon=<name of the icon file you want to use> instruction. Remember, you don’t have to use this feature, the AUTORUN.INF file will execute with out it.
- Put copies of these files in the root directory when I burned the DVD. I’m not sure all of them have to go there, but I know the AUTORUN.INF file needs to be there as does the icon file it references, and I was out of time to experiment, so I figured why take any chances.
If you do all of this correctly, when you insert the DVD in your drive, it will automatically run the AUTORUN.INF file. That causes a PowerPoint viewer to open and that shows your slide show. Note that the first time you do this, on a computer, you have to say “Yes” to a PowerPoint viewer licensing agreement, but only the first time.
A Little “People Skills” Lesson
From what I can tell, computers can have the Autorun feature disabled. So, that means if you sent the DVD to someone who had a computer that had the feature disabled, it still would not do what you had hoped. But all is not lost. It turns out that if you open “My Computer, highlight the DVD drive, and right click, you have the option of selecting “Autoplay”.
Picking that option runs the AUTORUN.INF file. So, to safegaurd against a computer with the Autorun feature disabled, I included a little note on the CD label that said
Place in CD; If the report does not auto-launch then highlight the drive in My Computer, right click and select Autoplay.
“Brilliant” I thought to myself. But then I remembered the what’s obvious to me may not be obvious to someone else lesson I mentioned above. So, I took the newly minted and labeled DVD to Kathy and said If someone handed you this, would you know how to use it from reading the lable?
Kathy is an artist and musician and thinks a bit differently from me. She also has a tenuous relationship at best with technology. She took the CD and said something along the lines of This is the CD, right? What am I supposed to put in it; no wait, I see, its a DVD, so I’m supposed to ask for a CD, right?
I was crushed and initially, in my “crushedness”, a bit ungrateful to the woman I love for having honestly answered my question but not answered it in the way I had wanted her to answer it. Not only was it obvious to me what to do, I desperately wanted it to be obvious to others and it wasn’t. But, I recovered from my stumble, thanked her for her help, and fixed the label. She didn’t take it personally because among all of her wonderful characteristics, she is my best friend and one of the definitions of a friend is:
… someone who, when you have made a total ass of yourself, doesn’t figure you have done a permanent job of it.
(that’s the People Skills lesson in case you didn’t pick up on that).
The bottom line was that thanks to Kathy’s assistance, I had found out what I wanted to know (but hadn’t exactly wanted to hear as it turned out). The label needed to say:
Place in CD/DVD drive; If the report does not auto-launch then highlight the drive in My Computer, right click and select Autoplay.
So, I fixed my label, made a new demo DVD, brought Kathy a glass of wine (one for me too) and enjoyed a pleasant Oregon summer evening out on our deck.
Here’s hoping you can do the same and also that if you are doing a report that you will distribute on electronic media, my lesson’s learned will save you some time.
Senior Engineer – Facility Dynamics Engineering