Customizing the Outlook Today page of Microsoft Outlook can allow you to tailor it for your network and provide easy access to your company's most important information resources.
In my article "Understand how to truly customize the Outlook Today page," I explained that Outlook Today is based on HTML code that is embedded in the Outlwvw.dll file. I also explained that the Outlook Today page takes advantage of an Internet Explorer feature called databinding, which is designed to allow an HTML table on a page to be linked to a datasource (in this case, Outlook itself) using an ActiveX control. The databinding feature allows the page to be updated anytime changes are made in Outlook. I then showed you how to use Internet Explorer and Notepad to extract the Outlook Today page and save it on your hard disk in standard HTML format as a stand-alone page called Outlook.htm.
Now I'm going to show you how to edit the extracted Outlook.htm file to add other features to the Outlook Today page to make it more functional. I'll also explain how you go about enabling the databinding feature to connect your stand-alone Outlook Today page to Outlook itself so that it appears within the Outlook interface.
Keep it simple
Before I show you how to customize your extracted file, it's important to point out that the Outlook Today page is only intended to provide you with a quick summary view of the information stored in Outlook. It is not intended to be a replacement interface for the Inbox, Calendar, or Task components. Furthermore, it is not intended to be a replacement for Internet Explorer. So when you're customizing a stand-alone Outlook Today page, you shouldn't go overboard when adding HTML code and Outlook features. For example, you shouldn't use frames to provide a fancy layout or attempt to add a look at the entire Inbox in the Outlook Today page. Let's take a closer look at why this is so.
The main reason you don't want to go overboard with customizing the Outlook today page is performance. As I mentioned in the first article, Outlook uses its access to the Internet Explorer browser engine to display the Outlook Today page in HTML format. While Outlook does have access to the full version of the Internet Explorer browser engine, Outlook only uses a subset of the IE browser engine to display the Outlook Today page. This subset allows Outlook to achieve the best possible performance when rendering the Outlook Today page.
Outlook does use the full version of the Internet Explorer browser engine when it displays a Web page or a folder that's configured to display a Web page. In fact, if you try to do this, the overall performance of the operation is slower than if you were to use Internet Explorer alone.
Using a stand-alone Outlook Today page and configuring Outlook to perform the databinding operation with an external file will indeed introduce a slight decrease in performance. This performance degradation occurs during the databinding information retrieval operation and in the initial rendering of the Outlook Today page. However, as long as you keep your Outlook Today page simple, this decrease in performance will be barely noticeable, and once the page is up and running, it will behave normally.
Breaking down the Outlook Today page
Before you begin making changes to your Outlook.htm file, you need to understand how the code in the page is laid out. Doing so will help you safely alter the page without disrupting any of its standard functionality.
For the purposes of this article, I'll break down the Outlook Today page into four distinct sections:
- Cascading Style Sheets (CSS) section
- Databinding section
- HTML section
- Script section
You can safely make changes to the CSS and HTML sections, as long as you're familiar with those code technologies. I would recommend that you leave the Databinding and the Script sections alone, unless you're an advanced developer.
Editing the CSS section
Of course the changes that you make to the CSS section will be aesthetic in nature, designed to make Outlook Today more appealing rather than more functional. The code in the CSS section of the Outlook Today page basically determines the font, border, header, and background attributes.
If you're unfamiliar with CSS or need a refresher, I recommend that you investigate the CSS reference table over at Builder.com. To make it a bit easier for you to alter the styles used in the Outlook Today page, I've compiled a list in Table A that shows all the CSS names used in the Outlook Today page and describes what each one formats.
|CSS name||What it formats|
|.CalendarSubjectLocation||Calendar subject margin|
|.CalendarStartEnd||Calendar time margin|
|.InboxCount||Number of unread messages|
|.InboxCountZero||Number of messages with zero unread|
|.options||"Customize Outlook Today" button text|
|.itemNormal||Calendar and Task subject|
|.PastTimes||Appointments that occur in the past|
|.SplitDayTimes||Events that occur in more than one day|
|.allDayEventTimes||All day events|
|.itemImportant||High priority tasks|
|.dayHeaders||Calendar day name|
|.SplitDay||Events that occur in more than one day|
|.allDayEvent||All day events|
|.ApptPast||Appointments that occur in the past|
|.Folder||Messages folder list|
|.NextAppt||Next appointment symbol|
|.OnGoing||Ongoing appointment symbol|
|.ImportanceIcon||High priority task symbol|
|.LowPrioIcon||Low priority task symbol|
|TD||All table data|
|.component||Component title without link|
|.componentLink||Component title with link|
|.button2||Customize Outlook Today button|
|.button2over||Customize Outlook Today button (mouse over)|
|.button2down||Customize Outlook Today button (mouse down)|
In addition to altering the existing styles, you may want to spruce up the appearance of the Outlook Today page by adding wallpaper. While you can do so in the HTML section, it's more efficient to do so in the CSS section using the background property, which you would insert into to the body property string at the top of the CSS section. For example, you might use this code.
For more detail on the background property, see the aforementioned CSS reference table on Builder.com.
Adding to the HTML section
As you'll discover, the HTML section is made up of a series of embedded tables. As you look over these tables, you'll see that they contain some pretty sophisticated coding for the links to Outlook items as well as the databinding operation. Therefore, it's best to just leave the existing tables as they are.
In order to add new content to the Outlook Today page, you'll want to first create your own table. You can insert your table into the existing table structure in order to add another column or to add another row into an existing column. On the other hand, you can place your table following the existing table structure. Don't worry about the length of the Outlook Today page, because Outlook will make the page scrollable if necessary.
Regardless of where you place your table, you can enhance the functionality of the Outlook Today page by placing links inside your table to other Outlook items and functions, as well as links to external sites or to your corporate intranet. You also can add e-mail links for people you frequently send messages to. If you're an advanced developer, you can even add ActiveX components or additional script. However, keep in mind the performance issues I discussed earlier. Let's take a closer look at items you can add.
Adding links to Outlook items and functions
When you're viewing the information presented on the Outlook Today page, chances are that you'll think of additional items that you would like to add. For instance, you may want to add a new task to the list. Of course, you can pull down the File menu and select New | Task, but it might be more convenient if the Outlook Today page contained a link that immediately opened a new Task form.
To add such a link to your Outlook Today page to access a new Task form, you'll use this HTML code.
As you look at this code, take note of the CreateItem(3) section. The number in the parenthesis determines what item Outlook will create, and in this case "(3)" indicates a new Task. You can use this same line of HTML code to create other new Outlook items by replacing the 3 with one of the numbers shown in Table B.
As you can see in Table B, one of the things you can do is use the code to create a new e-mail message. However, you might want to add a link that allows you to instantly create a new message to a person that you frequently e-mail. If so, you'll use the following HTML code:
<a href="mailto:email@example.com">Recipient Name</a>
Here, firstname.lastname@example.org represents the e-mail address and Recipient Name is the name of the person.
You may also want to create links to a public or private folder outside your default store. If so, you would use the following HTML code:
Here, StoreName/Path is the full path to the public or private folder and FolderName is the name of the folder. For example, to create a link to the Group Contacts folder on the Public Folders store, you would use the following HTML code:
<a href="outlook://Public Folders/All Public Folders/Group Contacts"> Public Folder: Group Contacts</a>
Adding links to external Web sites
You'll probably want to add links to the Outlook Today page for external Web sites that you visit frequently or to add links to your corporate intranet. If so, you'll use the following HTML code:
<a href="http://www.techrepublic.com" target="_new">TechRepublic</a>
As I mentioned in the performance section, the Outlook Today page only has access to a subset of the Internet Explorer browser engine. That's why I recommend that you format external links so that they open the page in a new instance of your browser. To do so, you will use the HTML target property with the _new value, as shown above. If you don't, the Web page will load from within Outlook and take the space previously occupied by the Outlook Today page and, of course, the rendering of that page will be slower than IE.
Connecting your stand-alone Outlook Today page to Outlook
Once you've made your code modifications, you're ready to connect your customized Outlook Today page to Outlook so that the databinding features are enabled. This is done with a simple registry edit. Although I describe this procedure after I've shown you how to modify the stand-alone Outlook Today page, you don't necessarily have to do it in this order. In fact, you can connect your customized Outlook Today page to Outlook before or while you're editing the file. That way you can test it in Outlook as you're making changes.
To begin, select the Run command on the Start menu and launch the Registry Editor by typing regedit.exe in the Open text box. Once you have the Registry Editor up and running, locate and double-click the key HKEY_CURRENT_USER. When this subtree is visible, open each of the following subtrees in succession:
*The subtree number will depend on which version of Outlook you're using.
Once you've opened the Today key, right-click inside it and select New | String Value. As soon as the item is created, rename it Url and press [Enter] twice. When you see the Edit String dialog box, type this command:
Make sure that you change Path to the folder in which you've saved your customized Outlook Today page and that Outlook.htm is the name of the file. You can then close the Registry Editor and access Outlook to see your custom Outlook Today page.
When you do, you should find that the databinding features are working and your Outlook Today page is once again linked to Outlook. Any of the links you added should also be functioning correctly.
However, keep in mind that since you're using an external Outlook Today page, the Customize Outlook Today link will no longer function. If at any time you wish to return to the original Outlook Today page, all you have to do is delete the Url key that you added to the registry.
Note: Editing the registry is risky, so be sure you have a verified backup before making any changes.