Tag Archives: firefox

The results are in, and they’re good. After compressing .php, .css and .js files without mod_gzip or mod_deflate and sending the correct headers to leverage browser caching, Ardamis.com now has a Google Page Speed score of 93/100.

Ardamis.com PageSpeed score of 93/100

Ardamis.com Page Speed score of 93/100

Page Speed just keeps getting better, and it keeps getting tougher to score well. I’m happy, but not satisfied yet. The remaining hurdle is to serve static content from a cookieless domain. I’m looking into the CDN offered by Amazon.com, but it’s a paid service.

As a follow-up to my post on compressing .php, .css and .js files without mod_gzip or mod_deflate, I’m documenting the changes I made to the .htaccess file on ardamis.com in order to speed up page load times for returning visitors and satisfy the Leverage browser caching recommendation of Google’s Page Speed Firefox/Firebug Add-on.

A great explanation of why browser caching helps the web deliver a better user experience is at betterexplained.com.

Two authoritative articles on the subject are Google’s Performance Best Practices | Optimize caching and Yahoo’s Best Practices for Speeding Up Your Web Site | Add an Expires or a Cache-Control Header.

I’d like to point out that in researching browser cashing, I came across a lot of information that contradicted the rather clear instructions from Google:

It is important to specify one of Expires or Cache-Control max-age, and one of Last-Modified or ETag, for all cacheable resources. It is redundant to specify both Expires and Cache-Control: max-age, or to specify both Last-Modified and ETag.

I’m not sure that this recommendation is entirely correct, as the W3C states that Expires and Cache-Control max-age are used in different situations, with Cache-Control max-age overriding Expires in the event of conflicts.

If a response includes both an Expires header and a max-age directive, the max-age directive overrides the Expires header, even if the Expires header is more restrictive. This rule allows an origin server to provide, for a given response, a longer expiration time to an HTTP/1.1 (or later) cache than to an HTTP/1.0 cache.

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

It would seem that Cache-Control is the preferred method of controlling browser caching going forward.

HTTP 1.1 clients will honour “Cache-Control” (which is easier to use and much more flexible).
HTTP 1.0 clients will ignore “Cache-Control” but honour “Expires”. With “Expires” you get thus at least a bit control for these old clients.

http://www.peterbe.com/plog/cache-control_or_expires

In any event, Page Speed won’t protest if you do end up sending both Expires and Cache-Control max-age, or if you remove both Last-Modified and ETag, but I was able to get the best results with just setting Cache-Control max-age and removing the ETag.

Setting the headers in .htaccess

On Apache, configuring the proper headers can be done in the .htaccess file, using the Header directive. The Header directive requires the mod_headers module to be enabled.

I’m choosing to set a far future Expires header of one year on my images files, because I tweak the CSS and JavaScript pretty often, and don’t want those file types to be cached as long.

Add the following code to your .htaccess file to set your Cache-Control and Expires headers, adjusting the date to be one year from today.

# Set Cache-Control and Expires headers
<filesMatch "\\.(ico|pdf|flv|jpg|jpeg|png|gif|swf|mp3|mp4)$">
Header set Cache-Control "max-age=2592000, private"
Header set Expires "Sun, 17 July 2011 20:00:00 GMT"
</filesMatch>
<filesMatch "\\.(css|css.gz)$">
Header set Cache-Control "max-age=604800, private"
</filesMatch>
<filesMatch "\\.(js|js.gz)$">
Header set Cache-Control "max-age=604800, private"
</filesMatch>
<filesMatch "\\.(xml|txt)$">
Header set Cache-Control "max-age=216000, private, must-revalidate"
</filesMatch>
<filesMatch "\\.(html|htm)$">
Header set Cache-Control "max-age=7200, private, must-revalidate"
</filesMatch>

Removing ETags in .htaccess

Most sources recommend simply removing ETags if they are not required.

Entity tags (ETags) are a mechanism that web servers and browsers use to determine whether the component in the browser’s cache matches the one on the origin server.

If you’re not taking advantage of the flexible validation model that ETags provide, it’s better to just remove the ETag altogether.

http://developer.yahoo.com/performance/rules.html#etags

Add the following code to your .htaccess file to remove ETag headers.

# Turn off ETags
FileETag None
Header unset ETag

Set Expires headers with ExpiresByType (optional)

If your host has the mod_expires module enabled, you can specify Expires headers by file type. Godaddy does not have this module enabled.

# Set Expires headers
ExpiresActive On
ExpiresDefault "access plus 1 year"
ExpiresByType text/html "access plus 1 second"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType image/x-icon "access plus 2592000 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 604800 seconds"
ExpiresByType application/x-javascript "access plus 604800 seconds"

Removing the Last-Modified header in .htaccess (optional)

I’m following Google’s instructions and not removing the Last-Modified header, but if you wanted to do so, you could use:

# Remove Last-Modified header
Header unset Last-Modified

Busting the cache when files change

What happens when you change files and need to force browsers to load the new files? Christian Johansen offers two methods in his post on Using a far future expires header.

File compression is possible on Apache web hosts that do not have mod_gzip or mod_deflate enabled, and it’s easier than you might think.

A great explanation of why compression helps the web deliver a better user experience is at betterexplained.com.

Two authoritative articles on the subject are Google’s Performance Best Practices documentation | Enable compression and Yahoo’s Best Practices for Speeding Up Your Web Site | Gzip Components.

Compressing PHP files

If your Apache server does not have mod_gzip or mod_deflate enabled (Godaddy and JustHost shared hosting, for example), you can use PHP to compress pages on-the-fly. This is still preferable to sending uncompressed files to the browser, so don’t worry about the additional work the server has to do to compress the files at each request.

Option 1: PHP.INI using zlib.output_compression

The zlib extension can be used to transparently compress PHP pages on-the-fly if the browser sends an “Accept-Encoding: gzip” or “deflate” header. Compression with zlib.output_compression seems to be disabled on most hosts by default, but can be enabled with a custom php.ini file:

[PHP]

zlib.output_compression = On

Credit: http://php.net/manual/en/zlib.configuration.php

Check with your host for instructions on how to implement this, and whether you need a php.ini file in each directory.

Option 2: PHP using ob_gzhandler

If your host does not allow custom php.ini files, you can add the following line of code to the top of your PHP pages, above the DOCTYPE declaration or first line of output:

<?php if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) ob_start("ob_gzhandler"); else ob_start(); ?>

Credit: GoDaddy.com

For WordPress sites, this code would be added to the top of the theme’s header.php file.

According to php.net, using zlib.output_compression is preferred over ob_gzhandler().

For WordPress or other CMS sites, an advantage of zlib.output_compression over the ob_gzhandler method is that all of the .php pages served will be compressed, not just those that contain the global include (eg.: header.php, etc.).

Running both ob_gzhandler and zlib.output_compression at the same time will throw a warning, similar to:

Warning: ob_start() [ref.outcontrol]: output handler ‘ob_gzhandler’ conflicts with ‘zlib output compression’ in /home/path/public_html/ardamis.com/wp-content/themes/mytheme/header.php on line 7

Compressing CSS and JavaScript files

Because the on-the-fly methods above only work for PHP pages, you’ll need something else to compress CSS and JavaScript files. Furthermore, these files typically don’t change, so there isn’t a need to compress them at each request. A better method is to serve pre-compressed versions of these files. I’ll describe a few different ways to do this, but in both cases, you’ll need to add some lines to your .htaccess file to send user agents the gzipped versions if they support the encoding. This requires that Apache’s mod_rewrite be enabled (and I think it’s almost universally enabled).

Option 1: Compress locally and upload

CSS and JavaScript files can be gzipped on the workstation, then uploaded along with the uncompressed files. Use a utility like 7-Zip (quite possibly the best compression software around, and it’s free) to compress the CSS and JavaScript files using the gzip format (with extension *.gz), then upload them to your server.

For Windows users, here is a handy command to compress all the .css and .js files in the current directory and all sub directories (adjust the path to the 7-Zip executable, 7z.exe, as necessary):

for /R %i in (*.css *.js) do "C:\Program Files (x86)\7-Zip\7z.exe" a -tgzip "%i.gz" "%i" -mx9

Note that the above command is to be run from the command line. The batch file equivalent would be:

for /R %%i in (*.css *.js) do "C:\Program Files (x86)\7-Zip\7z.exe" a -tgzip "%%i.gz" "%%i" -mx9

Option 2: Compress on the server

If you have shell access, you can run a command to create a gzip copy of each CSS and JavaScript file on your site (or, if you are developing on Linux, you can run it locally):

find . -regex ".*\(css\|js\)$" -exec bash -c 'echo Compressing "{}" && gzip -c --best "{}" > "{}.gz"' \;

This may be a bit too technical for many people, but is also much more convenient. It is particularly useful when you need to compress a large number of files (as in the case of a WordPress installation with multiple plugins). Remember to run it every time you automatically update WordPress, your theme, or any plugins, so as to replace the gzip’d versions of any updated CSS and JavaScript files.

The .htaccess (for both options)

Add the following lines to your .htaccess file to identify the user agents that can accept the gzip encoded versions of these files.

<files *.js.gz>
  AddType "text/javascript" .gz
  AddEncoding gzip .gz
</files>
<files *.css.gz>
  AddType "text/css" .gz
  AddEncoding gzip .gz
</files>
RewriteEngine on
#Check to see if browser can accept gzip files.
ReWriteCond %{HTTP:accept-encoding} gzip
RewriteCond %{HTTP_USER_AGENT} !Safari
#make sure there's no trailing .gz on the url
ReWriteCond %{REQUEST_FILENAME} !^.+\.gz$
#check to see if a .gz version of the file exists.
RewriteCond %{REQUEST_FILENAME}.gz -f
#All conditions met so add .gz to URL filename (invisibly)
RewriteRule ^(.+) $1.gz [QSA,L]

Credit: opensourcetutor.com

I’m not sure it’s still necessary to exclude Safari.

For added benefit, minify the CSS and JavaScript files before gzipping them. Google’s excellent Page Speed Firefox/Firebug Add-on makes this very easy. Yahoo’s YUI Compressor is also quite good.

Verify that your content is being compressed

Use the nifty Web Page Content Compression Verification tool at http://www.whatsmyip.org/http_compression/ to confirm that your server is sending the compressed files.

Speed up page load times for returning visitors

Compression is only part of the story. In order to further speed page load times for your returning visitors, you will want to send the correct headers to leverage browser caching.

Generally

In nearly all cases, using the Native client is recommended over the Java client. See the section Changing the client for instructions.

To check/change the current client, click on the Advanced Options link on the login screen. Under “Remote client type”, the Native client should be currently selected.

Many issues are resolved by confirming that the local computer’s system clock is correct, deleting temporary internet files, and/or uninstalling then reinstalling the Citrix client. The Beyond site should be added to the Trusted Sites list in IE (see below).

Note that connecting to a user’s computer via a Webex support session installs a WebEx Document Loader virtual printer on that computer and sets it as the default printer.

Client installation issues

The latest Citrix client software can be downloaded from http://www.citrix.com/site/SS/downloads/index.asp.

Some older versions can be downloaded with fewer clicks from //ardamis.com/2009/11/26/citrix-xenapp-web-plugins/.

The wrong client software has been installed

Opening Citrix causes a window to open asking “What is the address of the server hosting your published resources.” There is a space to fill in the server name. The sample answer is https://servername

Uninstall and reinstall the Citrix client. Only the web plugin component should be installed.

Issues at the Citrix login page

Error messages to do with ‘invalid credentials’

This error is typically caused by an incorrectly typed password, PIN, or keyfob number; a domain password out of sync with the Novell password; or a keyfob in next tokencode mode.

Client software not detected

Before the user authenticates at the Citrix login page, the following warning is displayed in the Message Center:

We are unable to detect the appropriate client software on your computer to allow you to launch your applications.
Click here to obtain the client software

If the IE yellow warning bar is visible, click on it to install the Citrix Helper Control (an Active X control). Otherwise, if the software has been installed, click on the “Click here to obtain the client software” link, then click on either the Allow button or yellow bar to install the Citrix Helper Control, or click on the “Already Installed” link.

Adding the Beyond site to the Trusted Sites list in IE should allow the Active X control to run without prompting (see below).

Issues after successfully authenticating at the Citrix login web page

IE Trusted Sites

The user is able to authenticate at the Citrix login page and the applications are available, but the user sees the following warning in the Message Center:

Current browser security restrictions may prevent you from launching applications, or may require your explicit permission to proceed. To launch an application successfully, save the launch file if prompted and double-click the file to start the application.

This message appears only in Internet Explorer. Firefox and Chrome do not produce the warning. If the user is able to connect to the applications, the message can be ignored.

If the user is unable to connect, the resolution is to add the site to the Trusted Sites list in Internet Explorer:

In Internet Explorer, navigate to https://.com
Click Tools -> Internet Options -> Security tab.
Click the Trusted Sites checkmark icon, then click the Sites button.
Confirm that the URL https://.com appears in the top box, and click the Add button. Click Close and OK to return to the login screen.
Log in.

Client software not detected

The user is able to authenticate at the Citrix login page. Instead of a page displaying the available applications, the user sees a page displaying with the following warning:

Download Client Software
We are unable to detect the appropriate client software on your computer to allow you to launch your applications.
If you wish to download and deploy the client software to allow you to launch your applications, click Download.

If the IE yellow warning bar is visible, click on it to install the Citrix Helper Control (an Active X control). Otherwise, click on the ‘Already Installed’ link under Troubleshooting Options at the right-hand side of the page.

Temporary internet files

The user is prompted to save the launch.ica file. If the user saves the file and double-clicks it, Citrix opens but then displays an error:

The Citrix SSL server is not accepting connections.

Try clearing the browser’s temporary internet files. If this doesn’t resolve the issue, follow the instructions for adding the site to IE’s Trusted Sites, above. (Strangely, the resolution in a few tickets is to reboot the router.)

Client installation

The user is able to authenticate at the Citrix login page. After clicking on an application, the user receives the error:

Connecting through Citrix secured gateway. Error reading from proxy server.

Uninstall and reinstall the Citrix client. Only the web plugin component should be installed.

Session reconnection

The user is able to authenticate at the Citrix login page. After clicking on an application, the user receives the error:

There are no existing applications available for reconnection.

This is simply an informational message stating there are no pre-existing apps to reconnect to. It can be ignored if the user is not having an issue launching applications.

MSLicensing registry key

The user is able to authenticate at the Citrix login page. After clicking on an application, the user receives one of the following errors:

There is no route to the specified subnet address.
or
The Citrix MetaFrame server is not available. Please try again later.

To resolve, delete the MSLicensing registry key.

Click on the Start button, select Run and type in “regedit”.
Click OK.
The registry editor window will open.
Go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing.
Click once on MSLicensing so it is highlighted and then hit the Delete key.
Close the registry editor and attempt to login to Citrix.

Issues at the Novell Client window

Connecting to the wrong application

The user receives the following error message in Citrix after entering a username and password at the Novell Client window:

The system could not log you into the network.
Make sure your name and connection information are correct, then type your password again.

The user is likely trying to connect to the wrong application. For example, a Chicago user may have clicked on the DC Desktop application.

Issues after successfully authenticating at the Novell Client window

Reconnecting to a session

The user receives the following error message in Citrix after successfully authenticating at the Novell Client window:

Connection error: You have not been granted access to this published application

This issue can be resolved by a Citrix administrator. It may be due to an issue with a prior ‘disconnected’ session not connecting correctly. The administrator can reset the session.

Printer unavailable issues

The user cannot find the local printer in the list of available printers.

Disconnect from Citrix, set the local printer to be the default printer, confirm that the Native Client is the selected Citrix client under Advance Options, and reconnect to Citrix. If the printer is still missing, uninstall and reinstall the Citrix client.

Printer offline issues

While connected to Citrix, the user receives periodic messages having to do with ‘a network printer is offline’.

Check the physical printer. It is likely jammed or out of paper. It may also be that the printer is set to accept only certain paper types or sizes.

Confirm that the printer driver in Citrix is correct for that model printer.

Print jobs are not processed

In Citrix, a single print spooler is shared by all connections. A large print job can delay all other jobs, or a stuck job may prevent any other jobs from being processed. After ruling out other causes, contact the Citrix administrator to resolve.

MacPac

The user receives various errors when using MacPac.

If the user’s H: drive user folder is missing a \MacPac\Personal\ folder, copy yours to the user’s folder.

Lag

Latency is the primary cause of poor performance in Citrix. Latency can be roughly measured by pinging the URL of the login server. Latency greater than 100ms will result in lag and other problems. An example of lag is when the user types in a Word document but the text doesn’t appear on the screen for a few moments, then catches up all at once.

Citrix window not responding

Shortly (and sometimes immediately) after authenticating at the Novell Client window, the Citrix window will stop responding.

The fix is to give the user full rights to the MSLicensing key.

Open Regedit and navigate to:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing

Right-click on the MSLicensing key and select Permissions.
Under the Security tab, click on Users to highlight it.
Check the box in the Allow column next to Full Control.
Click OK and close Regedit.

Accessing the local machine’s hard drive

Once in Citrix, right-click on the Start button in the Citrix environment and select Explore.

Browse the list of drives in the left-hand pane and locate “C$ on ‘Client’ (C:)“. This is the local workstation’s C: drive. Click on the drive to open it.

How to allow Citrix access to the local machine’s hard drive and USB devices (including printers)

The first time you connect to Citrix, you’ll be shown a ICA Client File Security setting window where you can choose what access to your local machine you wish to grant to Citrix. You are also able to choose to “Never ask me again”.

If you need to later change these settings, follow the appropriate steps below (try the ‘newer clients’ step first).

Newer clients:

While connected to Citrix, double-click on the Citrix Connection Center icon in the system tray of the local machine. Click on the Security icon to configure the Session Security options for Files, Microphones/Webcams, PDA Devices, and USB/Other Devices.

Older clients:

Disconnect from Citrix. On the local machine, delete the webica.ini file under C:\Documents and Settings\[username]\Application Data\ICAClient. When you next reconnect to Citrix, you’ll be shown the ICA Client File Security setting window again.

Citrix Program Neighborhood

How to minimize the Citrix window to view the local machine’s desktop.

Shift+F2

SSL Errors

SSL error 61 (the server certificate received is not trusted)

Run Windows Updates and update the root certificates.

SSL error 68 (the SSL certificate is not yet valid)

Set the local system clock to the current date and time.

SSL error 70 (the SSL certificate is no longer valid)

Set the local system clock to the current date and time.

SSL/TLS error: The certificate validation failed.

Confirm that the Native client, not the Java client, is in use by clicking on the Advanced Options link on the login screen.

http://support.citrix.com/article/CTX125056

Changing the client

Changing the client from Java to Native resolves a good number of connection problems. The only time the Java client is preferable is when OS X 10.6.6 is used with a particular release of the Mac Citrix Client and the local default printer is not available in Citrix.

To change the client, at the Citrix web interface login screen, click on the Advanced Options link below the Passcode field. The area below the Advanced Options link will expand.

(Click any of the thumbnails below to see the full-sized image.)

The Advanced Options area

Click on the link Click here to change the selected client. You’ll be taken to the Client Selection page. If the Native Client shows a status of Not detected, click on Deploy to the right of Native Client.

The Client Selection page

If the Native client cannot be detected by the browser, but you’re certain it has been installed, click on the Already Installed link at the right of the Client Detection and Download page. If there’s any doubt that the latest client is installed, click on Download and install the Citrix Online Web plugin.

The Client Detection and Download page

You may be returned to the Client Selection page. Once the Native Client has been deployed, choose it from the Default Client menu and click OK.

Return to the web interface login page and confirm that the Native Client is listed as the currently selected client under Advanced Options, then log in normally.

A repository of troubleshooting responses, answers and explanations for over 75 common Windows XP and Office 2007 Help Desk calls.

Windows XP

How to turn off the balloon notifications when jobs are sent to an AD printer

Open the Printers and Faxes control panel (Start button | Printers and Faxes).

Choose File | Server Properties, Advanced tab. Clear the checkmark next to “Show informational notifications for network printers”. OK.

How to change the screen resolution

To change the screen resolution, right click anywhere on the desktop and select Properties.
In the Display Properties window, click on the Settings tab.
Move the Screen Resolution slider to the desired resolution (1024 by 768 pixels is common).
Click Apply to test the changes.

If the new resolution is acceptable, click Yes in the new Monitor Settings window to save the settings.
Click OK to exit.

How to increase the font size within a specific application

The font size can be controlled in three different places, and different applications react differently to changes to these settings.

Font size: Display Properties -> Appearance tab. In the “Font size” menu, choose “Large Fonts”. Click OK.
Message box: Display Properties -> Appearance tab -> Advanced button. Select Message Box from the Item menu, increase the font size from 8 (default) to 11 or higher. Click OK, then click Apply.
DPI: Display Properties -> Settings tab -> Advanced button. Under the General tab, choose an option from the DPI setting menu. Click Yes when asked to skip file copying; click No when asked to restart. Display Properties -> Appearance tab -> Effects button. Check the box next to Use large icons, click OK, OK. Right-click the desktop and deselect Align to Grid. Right-click the desktop and select Align to Grid. Display Properties -> Appearance tab -> Effects button. Remove the check next to Use large icons, click OK, OK.

GroupWise folder list and message list fonts are controlled by Message box and/or DPI. These settings also appear to affect the size of the message body, but to an as yet unknown degree.

DM Explorer folders list and document list font are controlled by Font size and DPI. These settings do not affect the size of fonts in the Document Profile window. Message box has no effect on any DM window.

How to add an IP printer

Open a command prompt and perform an nslookup on the printer name using hypens, not underscores. Ex.: nslookup 22-southeast-a
If the nslookup returns an IP address, the printer can be installed.

Click on Start | Printers and Faxes, then click Add Printer.

The Add Printer Wizard will open. Click Next.
Select the radio button next to “Local printer attached to this computer”.
Uncheck the box next to “Automatically detect and install my Plug and Play printer”. Click Next.
Select the radio button next to “Create a new port” and choose “Standard TCP/IP Port”. Click Next and then Next again.

The Add Standard TCP/IP Printer Port Wizard will open.
Enter the IP address from the nslookup into the “Printer Name or IP Address” field. The Port Name will autofill. Click Next.
Click Finish.

The Add Printer Wizard will open.
Locate the printer driver and install it.

To add a second printer driver to the same physical printer, repeat the process, but make a change to the Port Name.

To set that printer to print a separator page at the beginning of each print job, open the printer’s properties, click the Advanced tab, click the Separator Page button, click the Browse button, click on pcl.sep and then click Open. (The pcl.sep file is located at C:\WINDOWS\system32\pcl.sep) Click OK, click OK.

More info on the escape codes/control characters available for use in a separator page: http://support.microsoft.com/kb/102712

User logs in with a TEMP profile

There are a few reasons that roaming profile users log in to a TEMP profile. The most common reason is that a path to a file is too long to be copied from the Windows NT 5.1 Workstation Profile folder to the workstation.

Review the events in the Event Viewer’s Application log for something that looks like:

Event Type: Error
Event Source: Userenv
Event Category: None
Event ID: 1509
Date:  2/23/2011
Time:  9:29:50 AM
User:  XP2UA0211G0Z2K7\username
Computer: XP2UA0211G0Z2K7
Description:
Windows cannot copy file \\NETWORK\PATH\USERS\username\Windows NT 5.1 Workstation Profile\Application Data\Sun\Java\Deployment\cache\6.0\45\3b01eb2d-38a6579e to location C:\Documents and Settings\username\Application Data\Sun\Java\Deployment\cache\6.0\45\3b01eb2d-38a6579e. Possible causes of this error include network problems or insufficient security rights. If this problem persists, contact your network administrator. 
 
 DETAIL - The system cannot find the file specified. 
 
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

To fix this problem, delete the file from the workstation and the network profile folder (if it exists), then reboot. Sometimes, the file will only exist on the workstation, which makes the description a bit confusing or misleading.

Worth noting is that the event log only shows the path to the first file that prevents the profile from copying. If another file exists, you won’t know about it until you reboot.

How to identify file types that Windows doesn’t recognize

OpenWith.org and FileInfo.com provide information about many file extensions and links to free programs that can open and create each type of file.

How to stop Windows from grouping similar taskbar buttons

All open windows are represented by taskbar buttons. If you have several windows open (for example, if you open more than one file in a single program or if you open several instances of a program such as a web browser), Windows automatically groups open windows from the same program into a single taskbar button.

If you want to stop Windows from automatically grouping similar buttons when no more room exists on the taskbar to display them individually, you can either turn off the grouping feature, increase the height of the taskbar, or do both.

To stop Windows XP from grouping the buttons, right click the Start button, choose Properties, and under the Taskbar tab, remove the checkmark next to “Group similar taskbar buttons”.

To increase the height of the taskbar, unlock it by right-clicking any empty space and clearing the checkmark next to “Lock the Taskbar”. Move the cursor to the top of the taskbar so that it changes to a double-headed arrow, then click and drag upward. Relock the taskbar to prevent it from being moved inadvertently.

Windows XP desktop icons have a thick border

Certain Windows XP desktop icons will have a thick dark border, like a badly rendered drop shadow.

This can usually be fixed by turning off the “Lock Web Items on Desktop” option. Right-click on an empty space on the desktop and hover over Arrange Icons By, then click the “Lock Web Items on Desktop” option to remove the checkmark.

If this doesn’t remove the border, check for a ForceActiveDesktopOn value under HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer. Remove this key, if it exists (or change the data to 0). To force Windows to never use the Active Desktop, you can create a NoActiveDesktop Dword value with a data of 0.

Word 2007

How to re-enable a ‘hard-disabled’ add-in

Click the Office Button, then click Word Options (Alt+F, I).
Click the Add-Ins tab and scroll to the bottom of the Add-ins list. Note the name of the disabled add-in.
Select Disabled Items from the Manage menu and click Go.
Click the item you wish to re-enable, and click Enable. Click Close.

How to reload a ‘soft-disabled’ add-in

Click the Office Button, then click Word Options (Alt+F, I).
Select COM Add-ins from the Manage menu and click Go.
Place a check in the box next to each add-in you wish to reload and then click OK.

In most cases, the functionality should be available immediately, but closing and reopening Word is recommended.

How to accept Track Changes

Click the Review tab, and in the Changes group, click Accept | Accept All Changes in Document.

How to turn off Track Changes notification

Click on the Office Button, then click Word Options (Alt+F, I)
Click on the Trust Center along the left pane
Click on the Trust Center Settings button
Click on Privacy Options along the left pane
Under the “Document specific settings” area, uncheck the first option, “Warn before printing, saving or sending a file that contains tracked changes or comments”.

Error message: Open Text eDOCS DM | A COM conversation could not be established.

Opening a Word document from DM Explorer causes the following error to appear in Word 2007:

Open Text eDOCS DM
Unable to open the document. A COM conversation could not be established.
[OK]

The DM Integration add-in is disabled. Re-enable it, then reload it, then close and reopen Word.

The document will remain checked out in DM. Proceed through the steps to check it back in.

Error message: Microsoft Office Word | Word experienced a serious problem with the ‘XXXX’ add-in.

Word 2007 will ask to disable add-ins that have prevented Word from opening normally in the past. The error message will contain the add-in name. For example, if Word attributes the problem to the DM COM add-in, the error message will be:

Microsoft Office Word
Word experienced a serious problem with the ‘dmintegration_net.connect’ add-in. If you have seen this message multiple times, you should disable this add-in and check to see if an update is available. Do you want to disable this add-in?
[Yes] [No]

Always choose No at this prompt, otherwise the functionality provided by the add-in will be missing.

How to start Word with no add-ins or templates loaded

To create a desktop shortcut that will start Word with no add-ins loaded and without the Normal template, right-click the desktop and choose New -> Shortcut.
Paste the following line into the location field:

"C:\Program Files\Microsoft Office\Office12\WINWORD.EXE" /a

Click Next and give the shortcut a name. Click Finish.
Open Word from that shortcut to bypass all add-ins and templates. This is for troubleshooting add-ins and templates, and should not be used to give a user access to ‘native’ Word. Word opened in this way is not native Word.

Note that opening Word with winword /a will remove from the QAT any buttons that come from COM add-ins.

Error message: Word cannot start the converter mswrd632.wpc.

Attempting to open a Word document (usually a .DOC) causes a pop up message:

Microsoft Office Word
Word cannot start the converter mswrd632.wpc.
[OK]

This is usually due to the file not being a true .DOC file, but instead being a .PDF or .DOCX with an incorrect extension.

The window may be supressed by removing a registry key:

Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Text Converters\Import\MSWord6.wpc]

Resource: http://support.microsoft.com/kb/973904

Error message: Microsoft Visual Basic error 5941

Choosing a macro that applies a style to a paragraph causes the following error message:

Microsoft Visual Basic
Run-time error ‘5941’:
The requested member of the collection does not exist.
[Continue] [End] [Debug][Help]

This error occurs when the style called by the macro doesn’t exist in the document.

VP Fix: The Update Styles button will add the Vedder Price styles to the document so that the Indent styles can be applied.

Error message: HRESULT

Copying from a Word document, or saving from Word to DM, generates an HRESULT error.

The error message may be similar to:

Exception from HRESULT: 0x800A0C68

Confirm that the MacPac COM add-in is loaded. The LoadBehavior and Resiliency keys may both need to be changed.

Delete the DM keys:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Hummingbird\PowerDOCS\AppIntegration\Word\Options]
"EventReplaceDMSaveAs"=-
"EventReplaceDMSave"=-

[-HKEY_CURRENT_USER\Software\Hummingbird\PowerDOCS\AppIntegration\DM17341]

How to repeat a table row on each page

Put the cursor in a cell in the row to become a header row and under the VP Table Tools tab, Data group, click Repeat Header Rows. You can also right-click in the table cell and choose Table Properties -> Row tab, and place a checkmark next to “Repeat as header row at the top of each page”.

How to toggle table gridlines

Click in the table, and under the VP Table Tools context tab, Table group, click View Gridlines.

(In native Word, this is Table Tools | Layout | View Gridlines.)

How to sort tables in Word

Put the cursor anywhere in the table, then click the Table Tools context tab. Click the Sort button in the Data group to open the Sort dialog box. Pick which column to sort on and the desired order.

How to make Word display more information about your document

Word can display useful information about your document in the status bar at the bottom of the application window. Right-click an empty area of the status bar and choose what information you wish to display.

You can choose to display such things as Word Count, current Section, current Page, and Track Changes.

How to sum a column in a Word table

Place the cursor in the table cell that will hold the sum, then click the Table Tools context tab. Click the Formula button in the Data group to open the Formula dialog box.

In the Formula field, type: =SUM(ABOVE)

Click OK.

How to get the style area pane back

Click the Office Button, then click Word Options (Alt+F, I).
Click on Advanced, then scroll down to the Display area.
Enter a value in inches next to “Style area pane width in Draft and Outline views:” (1″ is a good starting place.)

Once the style area pane is visible, it can be dragged to resize.

How to convert straight quotes to curly quotes

Confirm that your Word options are set to use smart (curly) quotes:

Word Options -> Proofing -> AutoCorrect Options -> AutoFormat As You Type. Check the box next to “Straight quotes” with “smart quotes”.

Do a Find and Replace (Alt+H) on both single quotes and double quotes.

How to print a document and include the markup (comments and track changes)

Click the Office Button -> Print.
In the Print options window, under the “Print what” menu, select “Document showing markup”.
Click OK.

Buttons added to the QAT disappear when Word is closed and reopened

Quick Access Toolbar buttons created from custom controls disappear when Word is closed and reopened.

Custom controls are non-native Word commands that exist in startup templates other than Normal.dot, in COM add-ins, etc.

To find out whether a command is a custom control, click on the Office Button -> Word Options -> Customize. Locate the command you wish to add to the QAT and hover over it. A tooltip will pop up and display the location of the command. If the tooltip contains the text CustomControl, the button will disappear when Word is closed and reopened.

A command that will not stick:
Save As… [tooltip: Office Menu | Save As… (CustomControl)]

A command that will stick:
Save As [tooltip: Office Menu | Save As (FileSaveAs)]

The problem is due to a bug in a template (PwdMonikerConverter.dot in C:\Program Files\Microsoft Office\Office12\STARTUP) that is necessary for certain DM functionality.

The vendor (Open Text) is aware and is working on a fix.

As a workaround, you can set the read-only attribute of Word.qat to prevent the template from removing buttons. A description of two Word macros that switch the attribute can be found at //ardamis.com/2010/11/02/a-macro-for-toggling-the-read-only-attribute-of-word-qat/.

How to create a Paste Special as Unformatted Text button on the QAT

The following macro can be added to a template and a button added to the QAT.

Sub PasteSpecialAsUnformattedText()
'
' PasteSpecialAsUnformattedText Macro
'
'
     Selection.Collapse Direction:=wdCollapseStart
     Selection.PasteSpecial DataType:=wdPasteText
End Sub

Source: http://msdn.microsoft.com/en-us/library/bb241758(office.12).aspx

The keystroke to bring up the Paste Special menu is Alt+Ctrl+V.

How to apply Word’s ‘password to open’ protection to a document already in DM

Open the document you wish to password-protect.
Click the Office Button -> Save As.
Cancel out of the DM version Save As window.
In the native Word Save As window, click the Tools button in the lower left and choose General Options.
Enter a “Password to open”, click OK, and confirm the password.
Save the document to your hard drive.

Click the Office Button -> Save As -> Save As DM Version.
Choose the document and then the version you wish to replace. Click OK.
Choose to Replace Original. Click OK.

Close the document and reopen it from DM to confirm that you are prompted for a password. Enter the password and open the document to confirm the password is correct.

How to edit or remove the footnote separator

Open the Footnotes pane by clicking the Show Notes button under the References tab. Select Footnote Separator from the menu in the Footnotes pane. Highlight the separator and edit or delete it.

Word is displaying the native QAT

The location of the QAT has been moved from \Local Settings\ to \Application Data\Microsoft\Office\ so it will be included in the roaming profile. A registry change must be made to point Office to the correct location of the QAT.

VP Fix: The Local Settings Profix Fix zen will change this setting in the registry.

Background: http://support.microsoft.com/kb/958062/

Documents print with a 3-inch top margin and the text extends off the bottom of the paper

The issue is that the print will start 3″ down the page on documents that are printed AFTER you print a document that contains Track Changes or Comments.

The fix is to enable Background Printing as follows:

1. Go to your Office Button in the upper left corner in Word
2. Select “Word Options” from the lower right corner
3. Select “Advanced”
4. Scroll to the Print section
5. Check the box that reads “Print in Background”
6. Click OK

Update: This problem has been addressed by Microsoft and a fix now exists.

How to insert an image of a handwritten signature into a Word document

I recommend creating a transparent .png file to use as a handwritten signature. Sign a blank piece of paper, scan it to PDF using a digital sender, and open the PDF in Adobe Photoshop. It should be possible to export the image as a .png with a transparent background.

Being transparent, the .png file can overlay elements in the document, such as signature lines, so it looks more like a real handwritten signature.

To insert the image into a Word document, click on the Insert tab, then click the Picture button. Cancel out of the DM Quick Retrieve window and choose Yes when asked if Word should open a document.

Browse to the image file and double-click it. The image will be inserted into the document.

In the document, click once on the image, then click on the Format context tab. Click on Text Wrapping and choose In Front of Text.

The image now exists outside of the flow of the paragraphs and can be dragged around in the document, even on top of signature lines.

How to update the fields in a form

The F9 key updates the fields in a form.

To add an Update button to the QAT: Click the “Customize Quick Access Toolbar” button on the QAT and choose More Commands. Select All Commands from the “Choose commands from” menu, and add the “Update” button.

How to prevent fields in a Word document from updating automatically

**Testing required**

To lock a field, hit Ctrl+F11. To unlock it, hit Ctrl+Shift+F11.

Background: http://support.microsoft.com/kb/211629

Locations of Word 2007 template startup folders and their typical contents

C:\Documents and Settings\\Application Data\Microsoft\Templates
This location is empty

C:\Documents and Settings\\Application Data\Microsoft\Word\STARTUP (not used by Word?)
This location contains:
pdfDocs.dot * a copy (same timestamp and size, but different capitalization in the filename) of pdfDocs.dot that exists in C:\Program Files\The Sackett Group\Personal (this file is not loaded by Word)

C:\Program Files\The Sackett Group\Startup
This location contains:
MacPac Numbering.dotm
mp10.dotm * different timestamp and filesize than the mp10.dotm file in C:\Program Files\The Sackett Group\Personal (this file is loaded by Word?)
pdfDOCS.DOT * a copy (same timestamp and size, but different capitalization in the filename) of pdfDocs.dot that exists in %appdata%\Microsoft\Word\STARTUP (this file is loaded by Word)
VP.dotm

C:\Program Files\The Sackett Group\Personal
This location contains:
mp10.dotm * different timestamp and filesize than the mp10.dotm file in C:\Program Files\The Sackett Group\Startup (this file is not loaded by Word?)
Normal.dot
Normal.dotm

C:\Program Files\Microsoft Office\Office12\STARTUP
This location contains:
dmintegration.dotm
PwdMonikerConverter.dot

Excel 2007

How to copy just the data (not the formulas) to a new sheet while retaining the formatting

This is a two step process.
If you copy everything, then do a Paste Special and choose Data, you lose the formatting.
If you copy everything, then do a Paste Special and choose Formulas, you keep the formatting, but also get the formulas.
The solution is to first to copy the formulas and formating, then convert the formulas to data.
Select all, then copy and paste into the new sheet. Then select everything again and Paste Special -> Values.

How to sum or average a column of numbers

Click in the cell that you want to hold the result.
Click on the ‘fx’ button to the left of the formula field, then select the desired function from the menu. Click OK.
Either enter the cells to be calculated in the Function Arguments window, or just click and drag to select them from the sheet. Click OK.
The result will appear in the cell. Clicking on the cell shows the function used in the function bar.

How to add leading zeros to a column of zip codes

Select all of the cells in the column, right-click any cell and select Format Cells. Under the Number tab, choose Special, and a Type area will appear. Choose Zip Code as the number type and click OK.

How to print a spreadsheet on a single page wide

Formatting an Excel spreadsheet to print on one page in landscape is a multi-step process. It may be easier to remember the process if the necessary steps are added as buttons to the QAT.

The buttons we’ll want are:

Normal View
Page Break Preview
Clear Print Area
Set Print Area
Scale to Fit
Page Orientation
Print Preview

To modify the page breaks, first click on Page Break Preview. The existing page breaks will show up as blue lines. Solid lines indicate the perimeter of the document’s printable area. Dashed lines indicate where each page in the document will break.

If the solid blue line does not surround all of the data you wish to print, you can either drag the line into position or click Clear Print Area. You can also click and drag to select the cells you wish to print and then click Set Print Area.

To scale the spreadsheet to print on a single page wide (unlimited pages long), click on Scale to Fit, click in the Width field and choose 1 page. The percentage scale will adjust automatically.

Click on Page Orientation and choose Landscape.

Click on Print Preview to review the document before printing.

Print the document or close Print Preview.

Click on Normal View to return to your document.

How to freeze panes

Click on View, and in the Window group, click on the Freeze Panes menu button.

The top option acts like the Freeze Panes button in previous versions of Excel, whereby all the rows above the active cell and all the columns to the left of the active cell become frozen.

The other two options freeze just the top row or just the top column.

How to make the height of a row autofit to the contents of the cell

Move the cursor to the bottom of the box that contains the row’s number. It should change to a line with an up-ward and down-ward facing arrow. Double-click.

409.50 is the maximum height for Excel rows and cannot be changed. Increase the width of the column if you need to display more text.

http://office.microsoft.com/en-us/excel/HP051992911033.aspx

PowerPoint 2007

Access 2007

How to construct a search query when the phrase contains operators

Searching for a phrase that contains operators like IS, OR, or IN will cause an error. As an example, to search for the phrase object is currently in use elsewhere, use the following query:

Like "*" &amp; "object is currently in use elsewhere" &amp; "*"

MacPac 10

Opening Word or clicking on the MacPac10 tab produces an error

MacPac
Error: SessionException
Description: Could not initialize the session.

The details of the error message contain text referencing errors connecting to databases.

The fix is to close Word, delete the file:
C:\Program Files\The Sackett Group\MacPac\Data\mp10Sync.mdb

Open Regedit and navigate to:
HKEY_CURRENT_USER\Software\The Sackett Group\Deca\Sync\
and change the Executing value to 0

Reopen Word.

Copying text in Word causes an “Object variable or With block variable not set” error

Legal MacPac 10
The following unexpected error occurred:

Description: Object variable or With block variable not set
Source: MP10

[OK]

Closing and reopening Word seems to get around this problem, but it’s not a bad idea to check that the MacPac COM add-in is loaded. When pdfDOCS OCRs a PDF as a Word document and opens the output document in Word, it opens a second instance of Winword.exe. Although this second instance of Word alone isn’t enough to cause the problem, if Word is launched without MacPac COM integration, selecting text and hitting Ctrl+C will generate the error.

Inserting a trailer produces a “Could not assign saved data” error

The following error message is displayed when inserting a trailer into the footer:

MacPac
Could not assign saved data to the variable Include Draft. It is possible that the specific value is no longer valid (see the detailed error message below). The default value will be used.
Could not execute the action with the following Execution Index: 1.
[OK]

This error appears after the document is first saved to DM, after the user chooses to insert a trailer into the document’s footer at the automatic Insert/Remove Trailer/Doc ID prompt.

Choosing None at the Insert/Remove Trailer/Doc ID prompt avoids the cause of the error.

The issue may be with the document if MacPac is trying to insert a trailer into a protected form and cannot. Try closing and reopening the document, manually inserting/updating the trailer from the MacPac 10 tab, then resaving.

Inserting a trailer produces a “COMEventException” error

The following error message is displayed when inserting a trailer into the footer:

MacPac
Error: COMEventException
Description: Could not refresh the document’s Word tags collection
Would you like to view more detailed information about this error?
[Yes] [No]

The trailer then appears as, literally: Doc ID Include Date Include time

It is inserted outside of the normal trailer area.

The fix appears to be to delete the document’s MacPac schema and then transform.

To remove the schema:

Developer tab | Schema, remove the checkmark next to MacPac10 Document Schema, then accept the change. Transform the document, then address any problems with the document as a result of the transform (duplicated text, missing data, etc.).

Inserting a trailer produces an “Unhandled exception” error

The following error message is displayed when inserting a trailer into the footer:

Insert/Remove Trailer/Doc ID
Unhandled exception has occurred in a component in your application. If you click Continue, the application will ignore this error and attempt to continue.
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
[Details] [Continue]

Clicking the Continue button cycles back to the error message. Hold the Esc key for a moment to clear the error message. The document should have been saved successfully, but it will not have a trailer. Insert the trailer manually and resave.

How up insert or update the MacPac trailer

Click on the MacPac 10 tab, then click on the Trailer/Doc ID button in the Document group. Choose a location for the trailer any any other options and click OK.

How to add users as Authors in MacPac

Click on the MacPac 10 tab, then click the People button.
In the Manage People window, click on Import People.
Highlight any user and then click the right-arrow to add them to the My People List.
Close the windows. The author will appear in the Authors list on newly created documents.

How to toggle MacPac field codes

The MacPac field codes’ visibility can be toggled with Ctrl+Shift+X.

In the case of a letter, you’ll notice that the last 4 ’empty’ paragraphs actually contain field codes. Deleting these paragraphs will cause problems later, when MacPac tries to read or write information from those codes and cannot.

If you attempt to delete the empty paragraph mark, MacPac may display a warning:

MacPac
You are deleting the paragraph mark between MacPac fields. This may cause unexpected results. Do you want to continue with this deletion?
[Yes] [No]

Choose No.

How to print envelopes with or without Word-generated addressee information.

The naming convention is a little counter-intuitive.

If you’re using an engraved envelope, you want to select the Plain Envelope segment from the MacPac task pane. (It’s the segment that’s ‘plain’ – not the envelope.)

If you’re using a plain (non-engraved) envelope, you want to select the Firm Envelope segment from the MacPac task pane.

DM

How to check-in documents in DM

Close Word, DM Explorer, and any other applications with DM integration.

Hit Ctrl+Shift+Esc to open Task Manager and end the DM.exe process.

Reopen DM Explorer from the desktop shortcut, locate the document, then view the history of the document and confirm that no one else is working in it and that the last Edit entry is timestamped as of your last save. If the last Edit timestamp does not correspond to your most recent attempt to save the document, retrieve the local copy from C:\Shadow\temp.

If there is no doubt that you were the last editor of the document and that the network copy is current, right-click the document and choose Check-in.

Choosing Check-in merely tells the server to no longer consider the document to be checked-out. It does not perform a save or transfer your local copy to the server or sync the local and remote copies.

Microsoft .NET Framework error when saving to DM

Saving to DM (from Word or Adobe Reader) throws a Microsoft .NET Framework error:

Unhandled exception has occurred in a component in your application. If you click Continue, the application will ignore this error and attempt to continue.
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
[Details] [Continue]

The normal Document Profile window fails to be built, and Word is not responsive.

It is possible to end the DM.exe process in Task Manager to close the error window and the Document Profile window. Dismiss the RPC Server warning window and save the document locally.

This seems to happen on our HP Core i5 workstations that use the Intel reference graphics driver [Intel(R) Graphics Media Accelerator HD], and to-date there have been no reoccurances of this problem after updating to the latest graphics driver [Intel(R) HD Graphics] from the HP support site.

Error message: System.IO.IOException

Opening Word 2007 causes the following error to appear:

Hummingbird DM
System.IO.IOException: The process cannot access the file ‘C:\logs\DM_DEBUG_APPINT_WORD_LOG.txt’ because it is being used by another process.
[OK]

Each time Word opens and the DM COM add-in is loaded, DM attempts to open and write to this log file. If a second instance of Word is opened, the message appears because that instance of Word cannot gain access to the log file.

The message window can be safely closed, but open Task Manager and end the multiple Winword.exe processes. Relaunch Word and, if necessary, choose not to disable any add-ins.

The error can also occur if the current user does not have local administrator rights (although I consider this to be a defect).

How to email just a redline attached to a DM document, without the clean or modified version

Open DM, locate the document, right-click it and select Mail.
In the “Document Mailing Options” window, choose “Select” in the “Versions” drop down menu. The window will expand.
(Note that the Versions tab is active and one of the document’s versions has a grey highlight.)
Click the Attachments tab and click the attachment you wish to mail.
Click on the Versions tab. You should see one of the versions is now highlighted with a blue background.
Ctrl+click the highlighted version to deselect it.
Click OK to create the email with just the attachment.

How to stop DM from intercepting the “Browse for file” functionality in some web sites (IE only)

When using Internet Explorer, DM may launch when you try to browse for a file, preventing you from browsing your local files. Firefox is not affected.

Open DM Explorer, then right-click the Hummingbird DM Interceptor icon (the DM icon with a lightning bolt) in the system tray and clear the check next to Internet Explorer to remove the integration. The integration will be re-enabled after a reboot or if the Interceptor.exe process is stopped and restarted.

How to save a document as a new version of an existing document

Click the Office button | Save As | Save As DM Version.
Locate the document to which a version should be added and click OK.
Select the latest version and click OK.
In the Save As window, choose New Version. Click OK.

How to set the default launch method (default application)

Click DM Explorer | Options | Defaults | [Application]. Check or uncheck the boxes, as needed. Clearing all boxes causes a ‘choose an application’ prompt to appear each time that filetype is opened.

GroupWise 7

GroupWise opens and displays a message that a newer version exists

There is new GroupWise software available, however, you cannot currently access the new software to update. Please contact your administrator.
Do you want to continue to receive this update message?

Click No to stop seeing this message.

If the message continues to occur each time GW is opened, increment the value of:
[HKEY_LOCAL_MACHINE\SOFTWARE\Novell\GroupWise\Client\5.0]
“NewSoftwareBump”=”1”

How to use the “Save to Hummingbird DM” button in GroupWise

Open the mail message and click the “Save to Hummingbird DM” button.
Uncheck the box next to the envelope.
Check the box next to “Save attachments separately”.
In the Attachments drop down menu, choose “Save using specific options”.
Click OK.

Check the box next to the attachments that you want to save and uncheck the “Mime” or “TEXT.htm” item, which is the mail message itself.
Click OK and complete the profile for each document.
Click Save.

You may need to hit F5 to refresh DM if the documents do not appear.

How do I edit the HTML signature using an external editor?

There is no way to directly edit the HTML code of the signature in GroupWise 7 or to paste source code into the WYSIWYG editor window, but you can still use an external editor (Dreamweaver, Notepad, etc.) to create the signature.

First, create the signature in the external editor and save it as an .html file. Open the file in a browser, so that the HTML is rendered and displays as it should in the email. Then select and copy the rendered HTML and paste it into the signature window in GroupWise.

(The Vedder Price blue is Pantone 8203 C, close to RGB 57,115,145.)

How to disable the splash screen in GroupWise Notify

Opening Notify sometimes causes the splash screen to stick. Ending the notify.exe process removes the splash screen. A more permanent fix is to not display the splash screen at all when Notify starts.

Edit the GroupWise Notify shortcut in the Startup folder to add a /bl switch to the Target path, e.g.: C:\Novell\GroupWise\notify.exe /bl

How to change the default font size for received HTML messages

In GroupWise 7.x, the default font for printed HTML emails (incoming) is controlled by the “Message Box” font in Windows. The Message Box font can by changed by going to Display Properties -> Appearance -> Advanced -> Item: Message Box. (Tahoma 8 is the default for XP, but Tahoma 10 is a better choice here.)

How to print an HTML email without the [User] – [Subject] header

There are many methods for printing emails. Below are some methods and the results.

Right-click an HTML email in a folder and select View, then right-click in the message body area and select Print.
Email prints without the [User] – [Subject] header.

Highlight an HTML email in a folder and click File -> Print.
Email prints with the [User] – [Subject] header.

Highlight an HTML email in a folder and click the Print toolbar button.
Email prints with the [User] – [Subject] header.

Open an HTML email and click File -> Print.
Email prints with the [User] – [Subject] header.

Open an HTML email and click the Print toolbar button.
Email prints with the [User] – [Subject] header.

Right-click an HTML email in a folder and select Print.
Email prints with the [User] – [Subject] header.

Open an HTML email, right-click in the message body and select Print.
Email prints without the [User] – [Subject] header (but also prints without the From, To, Date, Subject, and Attachments lines).

Right-click an HTML email in a folder and select View, then click File -> Print.
Email prints with the [User] – [Subject] header (but also prints the From, To, Date, Subject, and Attachments lines twice).

Right-click an HTML email in a folder and select View, then click the Print toolbar button.
Email prints with the [User] – [Subject] header (but also prints the From, To, Date, Subject, and Attachments lines twice).

How to print an HTML email received as an attachment without the [User] – [Subject] header

Open the containing email.
Right-click any attachment and select Print.
Highlight the Embedded Msg(s) that correspond to the attached email(s) you wish to print. (Use Ctrl+Click to select multiple, non-contiguous items.)
Click Print.

Where are file attachments saved?

C:\Documents and Settings\[username]\Local Settings\Temp\XPgrpwise

Em-dashes and other non-ASCII characters are converted to asterisks

The fix is to prevent the GroupWise spell check feature from replacing typed text with special characters.

Open GroupWise and click New Mail.
Type anything in the body of the email, then click Spell Check.
(If prompted, click No at the Close Spell Checker prompt.)
Click Customize in the Writing Tools window, and select User Word Lists.
Select the “–” item in the “Word list contents” box and click Delete Entry.
Delete any other entries that may be causing issues (copyright mark, registered mark, etc).
Click Close twice.

How to monitor two GroupWise accounts at once

If you have proxy access to another user’s GroupWise account, you can have both accounts open simultaneously in different instances of GroupWise.

To do this, open GroupWise, then drag the Mailbox icon from your folder list to your desktop. This will create a shortcut named ‘Mailbox.GWF’. Run the shortcut and a second instance of GroupWise will open. Change the proxy in either instance to view both accounts simultaneously. (This works best if you have two monitors – one for each instance.)

Confusingly, your default mail account (the ‘From’ account used when another application creates a mail message) will be whichever GroupWise window last had focus.

How to stop the Select an Entry… window from opening

The Select an Entry… window appears when entering recipients into the To field on a new mail message for two reasons.

If the contact exists in multiple address books, the window will open. This is the desired behavior, in most cases.

If the contact does not exist in multiple address books, or does not exist in any address books, the Select an Entry window may appear and display the contents of the system address book. This is not desired behavior, and can be fixed by right-clicking the To field and clearing the checkmark next to Search Mode.

The setting is controlled by the following registry key:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Novell\Groupwise\Address Book - User Interface]
"Name Search Mode"="No"

This has also been resolved by reinstalling GroupWise (or updating to the latest version).

Emails composed in HTML are converted to plain text after being sent or saved to Work in Progress

If the default compose view is HTML and a new email is created and then either sent or saved as a draft (to Work in Progress or any other folder) before any text is entered in the message body, the email is converted to plain text.

Adding an HTML signature changes this behavior in the case of sent, but not saved, emails. If the email is composed and immediately sent, it is sent as HTML with the HTML signature. If the email is saved as a draft, opened and sent, it is still sent as plain text, and the HTML signature is converted to plain text.

The work around is to enter any text (even just an empty space) into the message body before the email is sent or saved as a draft. Entering text and deleting it also works.

How to resize the attachment pane in GroupWise 7

The bar above the attachment pane could be dragged in GroupWise 6.5, and appears to be an issue introduced in GroupWise 7.

If the default View is “Mail” under Environment | Views, the bar separating the body pane from the attachment pane cannot be dragged up or down to resize the attachment pane. Changing the message View to HTML allows the attachment bar to be dragged and the pane resized. However, using Mail (Simple) or HTML has undesired consequences, namely that the recipient of the email will a different message window.

The workaround is to leave the default View as “Mail” and temporarily change this setting on a per-message basis. Open a new mail window, right-click in the border around the message body and select “Change to…”. Choose HTML in the Views menu and click OK. Click and drag the bar as desired. Before sending the message, right-click the border and set the view back to Mail.

A ‘Find’ is not returning the expected results

A Find for sent mail items on either all or part of the friendly name or email address returns a partial result set, but does not return all of the expected results.

The work around is to search for a string that is common to both the friendly name and email address, wrapping the string in asterisks.

For example, to find all messages to “Joe Smith “, the common string is “smith”, so the search criteria entered into the TO/CC field would be: *smith*

HTML emails open with a blank message body

Certain HTML emails received from external sources display a blank message body when opened. Replying to or forwarding the message displays the body contents in the new mail window. Other mail clients are able to properly display the message body.

This seems to happen when the email is sent with a “Content-Type: multipart/related;” subtype.

More information: http://forums.novell.com/novell/novell-product-discussion-forums/groupwise/groupwise-7x/gw7-clients/98000-body-area-html-email-completely-blank.html

Received emails with attachments do not show the attachment window when opened

Certain emails received from external sources that contain attachments do not display the attachment window when opened. The email does not display the paperclip icon in the Mailbox; there is no indication that the email contains an attachment. Other mail clients are able to display the attachments.

The attachments are viewable in GroupWise by clicking File | Attachments | View, which opens the email in a new window with the attachments displayed at the top.

This seems to happen when the email is sent with a “Content-Type: multipart/related;” subtype.

Novell Support TID #10100263 seems to indicate that the problem is resolved in GroupWise 7 SP1, but there may have been a regression in a later update, as it continues to be a reported issue in GroupWise 7.0.3. The Support TID contains instructions on testing whether the subtype is at fault.

More information: http://www.novell.com/support/php/search.do?cmd=displayKC&docType=kc&externalId=10100263&sliceId=&docTypeID=DT_TID_1_1&dialogID=1943723&stateId=0%200%201941569

CA RM (Filesurf)

Users are unable to access FileSurf through the Full Client and GroupWise Client.

Start -> Programs -> FileSurf -> FileSurf Client Configuration
In the top left of the dialog box, click the ‘Actions’ menu.
Make sure there is no check mark by the line ‘DCOM Security’. If there is, deselect it and click ‘Apply’ on the dialog box.

To test/confirm settings, press the ‘Test Connection’ button on the dialog box. You should get a message saying ‘Test Connection Succeeded’.

Error message when filing emails

Folder must be mailbox or personal folder to file messages.

The folder that contains the message is likely inside another folder, such as Work in Progress or Documents, that CA RM is not allowed to access. Move the folder into its proper location, then close and reopen GroupWise.

Firefox

Firefox fails to open with an error message

Close Firefox
Firefox is already running, but is not responding. To open a new window, you must first close the existing Firefox process, or restart your system.

A look at the processes shows no firefox.exe process running. Restarting the system does not resolve the issue.

There is a profiles.ini file in
C:\Documents and Settings\[username]\Application Data\Mozilla\Firefox

That file contains a line that points to a subfolder in
C:\Documents and Settings\[username]\Application Data\Mozilla\Firefox\Profiles

The subfolder will be named something like fi1dzouf.default. If this *.default subfolder is missing or if the path is incorrect, the error is generated.

To resolve, delete the *.default subfolder (if it exists) and profiles.ini file from
C:\Documents and Settings\[username]\Application Data\Mozilla\Firefox

This will reset Firefox to factory default.

(If the user has a roaming profile, it may be possible to retrieve a backup of the *.default folder and profiles.ini from the H: drive. Restoring these backed-up files will preserve any customizations and add-ins.)

Firefox displays a blank screen instead of a PDF file

Launch Adobe Reader/Acrobat, click Edit | Preferences, then choose Internet. Remove the check next to “Display PDF in browser”, click OK, close Reader. Reopen Reader and put the checkmark back.

If this does not resolve the problem, trying copying the nppdf32.dll file from “C:\Program Files\Mozilla Firefox\plugins” to “%appdata%\Mozilla\Plugins”. The Plugins folder under %appdata%\Mozilla may need to be created manually.

Internet Explorer 7

How to clear the remembered form data in IE

Delete saved form data by clicking Tools | Internet Options | Delete | Delete forms… Choose Yes, then Close, then OK.

How to configure what IE autocompletes

What form data IE remembers and attempts to autocomplete can be configured by clicking Tools | Internet Options | Content tab. In the Autocomplete area, click Settings. Choose what to remember and then click OK.

How to delete your temporary internet files (Windows XP/IE7)

Open IE and click Tools, Internet Options. Under the General tab, in the Browsing history area, click on the Delete button. The Delete Browsing History window opens. From here, choose what to delete.

Users with roaming profiles will also need to clear the cookies that are backed up to the network when they log off. Navigate to the H: drive, open the folder named “Windows NT 5.1 Workstation Profile”, then open the Cookies folder. Hit Ctrl+A to select everything. Then hold the Ctrl key and click on the file named ‘index.dat’ to deslect it. Hit the Delete key. A moment will pass while the PC checks the cookies, then you will be prompted to confirm the deletion. Click OK.

A special case…

For some reason, the expected behavior of the Delete Browsing History function on my PC does not delete cookies. I’ve checked other PCs and found that the function works correctly to delete files, including cookies, from all locations. Below are the steps that I take to delete my cookies.

To delete the Temporary Internet Files saved to:
C:\Documents and Settings\[username]\Local Settings\Temporary Internet Files\

This location is used by IE7 to store temp files but not cookies.

Open IE and click Tools, Internet Options. Under the General tab, in the Browsing history area, click on the Delete button. The Delete Browsing History window opens. From here, choose what to delete.

Warning: The “Delete cookies” button does not actually delete the cookies.

To delete the Temporary Internet Files and Cookies saved to:
C:\Downloads\Temporary Internet Files

This location is used by IE7 to store temp files and cookies.

The steps above will delete temporary files from this location, but not cookies.

To clear the cookies (and any other temporary files), right-click the Start button and choose Explore. Navigate to C:\Downloads\Temporary Internet Files. Hit Ctrl+A to select everything. Hit the Delete key. This will delete the temp files but not the cookies. Click Yes when asked if you’re sure you want to delete the selected Cookies. Confirm that all of the files have been deleted.

Files deleted from this folder are also removed from C:\Documents and Settings\[username]\Local Settings\Temporary Internet Files\.

To delete the Cookies saved to:
C:\Documents and Settings\[username]\Cookies

This location sometimes contains cookies, but on my PC, IE doesn’t seem to always use this location.

To clear the cookies, right-click the Start button and choose Explore. Turn on ‘Show hidden files and folders’ and turn off ‘Hide protected operating system files’ under Folder Options, View tab. Navigate to C:\Documents and settings\[username]\ and open the hidden Cookies folder. Hit Ctrl+A to select everything. Then hold the Ctrl key and click on the file named ‘index.dat’ to deslect it. Hit the Delete key. A moment will pass while the PC checks the cookies, then you will be prompted to confirm the deletion. Click OK.

What are the default Header and Footer codes and margins for IE7

Header:
&w&bPage &p of &P

Footer:
&u&b&d

Margins:
0.75 for all margins

Novell

Novell ZENworks

Solutions to common ZEN problems.

Problem: The ZEN icon in the system tray is missing.
Solution: Start the ZEN Notify Icon process by running ZenNotifyIcon.exe from C:\Program Files\Novell\ZENworks\bin\

Problem: Right-clicking the ZEN icon in the system tray throws an error: “The ZENworks Service does not appear to be running. Please restart the service and try your request again.”
Solution: Open the Task Manager and end the ZenNotifyIcon.exe process. Restart the process by running ZenNotifyIcon.exe from C:\Program Files\Novell\ZENworks\bin\

Problem: ZENworks Properties displays “Unavailable” for Management Zone, Server DNS, and Server Address, and Logged In As: Not Logged In.
Solution: Start the Novell ZENworks Agent Service, then right-click the blue Z icon and log in as the user. (ZENworks is not running, and the user is not logged in.)

Problem: ZENworks Properties displays the expected values for Management Zone, Server DNS, and Server Address, but Logged In As: Not Logged In.
Solution: Right-click the blue Z icon and log in as the user. (ZENworks is running, but the user is not logged in.)

Problem: The ZENworks Window (that normally displays the list of available ZENs) is empty.
Solution: Start the Novell ZENworks Agent Service, then right-click the blue Z icon and log in as the user. (ZENworks is not running, and the user is not logged in.)

Problem: The ZENworks Window (that normally displays the list of available ZENs) is missing most of the ZENs, but displays a partial list.
Solution: Right-click the blue Z icon and log in as the user. (ZENworks is running, but the user is not logged in.)

It is uncommon that the machine needs to be unregistered and then re-registered with ZEN in order to fix problems. Even more rare is the problem that requires the ZEN cache to be cleared. If the problem is not resolved by the above steps, it’s a good idea to check with the ZENworks administrator before clearing the cache.

It’s also a good idea to check the workstation object in the Novell ZENworks Control Center before and after unregistering the workstation, to make sure that the object has been removed, and that there aren’t multiple objects for a single workstation.

Adobe Reader 9

How to print comments in Adobe Reader

Click File | Print, and choose “Document and Markups” from the Comments and Forms menu in the Print dialog box.

How to print Sticky Notes in Reader

Sticky Notes do not print in Reader 9 by default. Reader’s default settings allow printing of some comments, but not Sticky Notes, by clicking File | Print, and choosing “Document and Markups” from the Comments and Forms menu in the Print dialog box.

Printing of Sticky Notes can be turned on in Acrobat Pro by clicking Edit | Preferences | Commenting and choosing to “Print Notes and Popups”, but there is no Commenting area in Reader’s preferences.

Sticky Notes printing in Reader can be turned on with a registry setting. Create the following key if it does not already exist, and be sure to use the appropriate Reader version. The example below is for Reader 9.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Adobe\Acrobat Reader\9.0\Annots\cPrefs]
"bprintCommentPopups"=dword:00000001

How to print only the top 8.5 x 11 inches (letter size) of a 8.5 x 14 inch (legal size) PDF in Adobe Reader

Click File | Print, and under the Page Handling area, select Page Scaling: None, and uncheck Auto-Rotate and Center.

The preview should have the top portion of the document highlighted.

How to email PDFs from the Reader IE plugin

Right-click the Print or Save button in the Reader menu bar and place a check next to Email.

A new button (an envelope) will be added to the toolbar. Clicking the button will open a prompt asking you to choose how to email the document – as a link or as a file. Choose one and the new mail message will be created.

In Reader 9, this setting is saved to:
HKEY_CURRENT_USER\Software\Adobe\Acrobat Reader\9.0\AVGeneral\cToolbars\cFile\cExternalButtons

Error message: “invalid plugin detected. Adobe Reader will quit”

The fix is to remove the problem plugin from C:\Program Files\Adobe\Reader 9.0\Reader\plug_ins. The “FulHigh.api” plugin seems to be a common culprit.

The “FulHigh.api” plugin is installed when a PDF is previewed in DM Explorer Extensions using the Viewer tab, when the PDF is located as a result of a full text search. (The exact specifics are still unclear.)

Winzip

Workshare

How to set the default save and email attachment file types

To set the default save file type:
Hit the F4 key to enter Workshare Professional Configuration. Choose Document Management and select Document Format. Change the value in the menu and click OK.

To set the default email attachment file type:
Hit the F4 key to enter Workshare Professional Configuration. Choose Administration, expand Email and select Default Email attachment format. Change the value in the menu and click OK.

Error: Workshare Professional was unable to perform the full comparison using the current settings.

Workshare Professional
Workshare Professional was unable to perform the full comparison using the current settings. Workshare Professional therefore performed the comparison using reduced settings.
Please refer to the Redline Options Summary (displayed at the beginning or end of the comparison) for details of which settings were disabled.

Check the last page of the redline for a table containing the redline options. The last row typically contains the message:

Nested tables that could not be compared are shown as whole original and modified

This is usually due to a problem in the footer tables in one or, more commonly, both documents. Open both documents and delete and remake the footer tables on the first page that displays the problem according to the redline. Save and recompare.

DTE

How to change the default settings for new time entries

Create a new default entry by clicking Insert New Entry, clearing all fields, checking the Default box, and clicking OK.

Cannot print from DTE

DTE prints only to the default printer. If DTE is open when the default printer is changed, it must be closed and reopened.

Pages print with incorrect margins

Replace the .INI files in C:\DTE with those in the DTE folder on the S: drive.

Hardware

How to update the firmware on an HP printer or digital sender

FTP the correct firmware update (an .RFU file) for that model printer or digital sender into the PORT folder.

After the file has been transfered, the machine will automatically update itself and then reboot. A message will be displayed on the printer that a software update is in progress. If the printer has an embedded Jetdirect card, its firmware will be updated as well. If it has an external Jetdirect card, the firmware for the card will have to be updated separately. The HP Download Manager can be used to update just the Jetdirect card.

The printer firmware can be located at:

http://www.hp.com/go/LJ4250_firmware

http://www.hp.com/go/LJ4350_firmware

http://www.hp.com/go/LJ4300_firmware

http://www.hp.com/go/LJP4015_firmware

The digital sender firmware can be located at:

http://www.hp.com/go/9250c_firmware

Configuring the manual feed tray

To configure an HP printer so that the manual feed tray (Tray 1) will pull any loaded paper without prompting the user to confirm the paper size, push the Checkmark button on the printer to enter the menus, then set the following options:

Paper Handling | Tray 1 Size = Any Size
Paper Handling | Tray 1 Type = Any Type
Configure Device | System Setup | Tray Behavior | Manually Feed Prompt = Unless Loaded
Configure Device | Printing | Manual Feed = Off

The same options are accessible via the web-based printer administration panel.

Click on the Settings tab | Configure Device.
Click on Paper Handling. Set Tray 1 Size to Any Size. Set Tray 1 Type to Any Type. Apply the changes.
Click on Configure Device | System Setup | Tray Behavior, set Manually Feed Prompt to Unless Loaded. Apply the changes.
Click on Configure Device | Printing, set Manual Feed to Off. Apply the changes.

Error messages displayed on the control panel of an HP printer

10.00.00 SUPPLIES MEMORY ERROR
or
10.10.00 SUPPLIES MEMORY ERROR

The printer is unable to read the electronic information (e-label) on the print cartridge so that the printer can keep track of the page count for the print cartridge.

Remove and reseat the toner cartridge. If the problem is not resolved, replace the toner cartridge.

How to toggle the hardware on the HP Elitebook notebook

The wireless and trackpad hardware can be toggled on and off by touching the corresponding lighted button above the keyboard.

The button for the wireless card looks like an antenna and the button for the trackpad looks like a rectangle.

BlackBerry not receiving messages

  1. Confirm that the wireless is turned on by verifying that the device can browse web sites.
  2. Remove and then replace the battery.
  3. Remove any filters: Options | Email Filters.

Sending an email message to the affected user with the string <confirm> in the subject line forces the BlackBerry to send a reply email.
Ex: “<confirm> This is just a test message”.

A PIN message can be sent to the device from the BES. The receipt of the PIN message confirms that the BES and the device are communicating.

Miscellaneous

Various BlackBerry/GroupWise FAQs

Tips for BlackBerry/GroupWise users, like “How to change the way messages are deleted in your GroupWise mailbox when you delete a message from your BlackBerry” and “How to use the Novell GroupWise Address Book with the BlackBerry Address Book” can be found at: http://www.lkdsb.net/InformationTech/E-mail/BlackBerry/blackberry_tips.htm

How to print large scanned images on a single sheet of paper (with MS Paint)

Save the image to the desktop, right-click it and choose Open With | Paint.
Click File | Page Setup, and in the Scaling area choose Fit to 1 by 1 pages.
Change the Orientation if it makes sense to do so.
Click OK, then File | Print.

How to print screenshots to PDF or a physical printer

Here are two ways of getting pretty good printouts of screen captures.

After pasting into Paint, you can adjust the Page Setup before sending the image to the printer. The problem here is that, if you choose to print to PDF, the image will be scaled before it gets to the PDF, so there’s no going back to the original, high-res screenshot from the PDF.

In Paint, Click File | Page Setup, and in the Scaling area choose Fit to 1 by 1 pages.
Change the Orientation if it makes sense to do so.
Click OK, then File | Print.

Optionally, you can zero out your margins and let Paint figure out how to retain the aspect ratio while maximizing the image size. This increases the size of the image on the page.

As an alternative, you can use the Photo Printing Wizard to bypass the Page Setup steps in Paint.

After pasting into Paint, you can save the image as a PNG or other image file to your hard drive, locate the file, right-click and choose Print. This will start the Photo Printing Wizard. (You can batch print images, if you’ve saved them all ahead of time.) Click Next through the Wizard, and choose a printer. The image will be rotated and resized to fit on a single page.

This produces a printed image of nearly the same size as the first method if the margins had been minimized.

What is the difference between PCL and PS printer drivers?

PCL and PS printer drivers use different technologies to scale fonts. The PCL driver may be faster for printing Word documents, and the PostScript driver may produce better looking PDFs.

PCL is HP’s Printer Control Language and is widely used with Windows/DOS/Intel PCs.

PostScript is a language that originated with Adobe and is most popular with Macs/UNIX. PostScript can be used as a general purpose programming language and not just to drive a printer.

Cannot open a .snp file

Open the Snapshot Viewer once, then double-click the .snp file. The Snapshot Viewer can be found at: C:\Program Files\Snapshot Viewer\SNAPVIEW.EXE

Certain laptop models will need Snapshot Viewer installed via ZEN.

How to sync the MacPac database in Citrix

Run the exe at L:\Program Files\The Sackett Group\MacPac\Bin\MPDesktopSyncProcess.exe

If the sync process does not run, try forcing it to run by opening a command prompt and entering L:\Program Files\The Sackett Group\MacPac\Bin\MPDesktopSyncProcess.exe /f.

The mp10 database is located in located in L:\user\macpac10\%username%.

pdfDOCS

A user gets the following error message when trying to open PDFDocs:

PDFDocs – There was an unexpected error in PDFDocs.
Summary: Error: Object reference not set to an instance of an object.

A USERNAME folder must exist in c:\Program Files\pdfDocs\Users. The fix is to copy any other user’s folder, or the SYSTEM folder, and rename it to the current user’s USERNAME.

VZAccess Manager

Connecting to Verizon using the Pantech UML290 cell modem throws the following error:

VZAccess Manager

Device could not establish a connection.
Error WMC604

One reason for this is because the modem had previously been activated, then deactivated, then reactivated. Verizon will have to issue a new SIM card.

I was working on a theme for the image gallery Plogger when an old problem cropped up again. I was adding links to thumbnail images, and had given the anchor a padding of 3 pixels and a 1 pixel border so that the link formed a sort of picture frame around the image. It looked fine in IE7, with a consistent 3 pixels of space on all 4 sides of the image between the image and the anchor’s border. But in Firefox, the top and sides had 3 pixels of space between the image and the anchor’s border, but the bottom had 5 pixels of space. For some reason, an additional 2 pixel gap was appearing below the image, between the image and the bottom border of the anchor.

This extra CSS space below images wrapped in anchor tags had plagued me in the past, and I had always just found a work-around, such as applying the padding and/or border to the image. But this time, I decided to figure out what was going on. I Googled for awhile and finally hit on a forum thread that explained the fix. As it turns out, Firefox allows for something called ‘line descent’, which, in typography, is the amount of space below the baseline of a font.

Most scripts share the notion of a baseline: an imaginary horizontal line on which characters rest. In some scripts, parts of glyphs lie below the baseline. The descent spans the distance between the baseline and the lowest descending glyph in a typeface, and the part of a glyph that descends below the baseline has the name “descender”.

http://en.wikipedia.org/wiki/Typeface

So the descender would be the lowest portion of lowercase letters such as ‘g,’ ‘j,’ ‘p.’ ‘q,’ and ‘y’. Why Firefox wants to accommodate that by adjusting the bottom of an anchor tag remains a mystery to me.

The fix is to add img {vertical-align: bottom;} where appropriate to your CSS. In practice, it eliminates the CSS space under the image in Firefox by pulling up the bottom of the anchor, rather than by pushing down the image. There is no apparent change in IE7.