Become a Columnist Microsoft Exchange Site Microsoft Support SiteMSDN Exchange Site

       How did you like this article? Please vote and let us know.          

Subscribe to OutlookExchange
Anderson Patricio
Ann Mc Donough
Bob Spurzem
Brian Veal
Catherine Creary
Cherry Beado
Colin Janssen
Collins Timothy Mutesaria
Drew Nicholson
Fred Volking
Glen Scales
Goran Husman
Guy Thomas
Henrik Walther
Jason Sherry
Jayme Bowers
John Young
Joyce Tang
Justin Braun
Konstantin Zheludev
Kristina Waters
Kuang Zhang
Mahmoud Magdy
Martin Tuip
Michael Dong
Michele Deo
Mitch Tulloch
Nicolas Blank
Pavel Nagaev
Ragnar Harper
Ricardo Silva
Richard Wakeman
Russ Iuliano
Santhosh Hanumanthappa
Shannal L. Thomas
Steve Bryant
Steve Craig
Todd Walker
Tracey J. Rosenblath

 

 
 

Customizing Outlook Today

It is possible to design or modify your own Outlook today page by copying the standard version into your file system from the DLL file in which it is normally located. From there you can then edit it in Notepad or using view/source in your browser. NB: an HTML editor like FrontPage will cause various problems involving the layout of Outlook Today. However, once you have got used to how the page behaves, you may find you are able to have a go at it. If you are designing a page from scratch, there is nothing to stop you using an HTML editor, WYSIWYG or otherwise. I am not attempting to provide instructions for making changes to the Today page here, but there are some suggestions for uses to which this functionality can be put.

I should credit Ronald Kuetemeier with posting the source of the file and the steps needed to let it operate outside of it's DLL. Perhaps of most interest though, as that is all documented in the Outlook 98 Deployment Kit, are the instructions for recreating the "Styles" option which was present (but unusable) in Outlook 98,  and using it to switch between different Today page styles on the fly.

It should be noted that when Outlook calls the page from a location in your file system, there is a slight performance disadvantage, as when accessing the DLL, Outlook is able to present a static version of the calendar/task tables while the dynamic version is still loading. When accessing the page through the ordinary file system, this is not possible and you will have to wait (about four seconds extra with a P120, 32MB according to the Outlook Deployment Kit documentation) a little longer to see your appointments and tasks.   However, if you are able to access some developer software such as Microsoft Developer Studio 5.0 (instructions - for use with this software only -can be found in the ODK doc's) you can replace the the files you have edited back into the DLL once you are finished editing. Backup if you do this!

Note that this works only with NT as you cannot "replace resources in executable files in Windows 95" using Microsoft Developer Studio (again according to the ODK doc's). I don't know if it is possible with other software. This would bring the page back up to speed.


It is probably worth your while reading this, reproduced from http://www.microsoft.com/msdn/news/feature/032598/oldevenh.htm:

"There are a number of limitations to keep in mind when adding content and functionality to the Outlook Today page.

Although Outlook Today provides users with a powerful timesaving summary view, it is not intended to replace the Inbox, Calendar or Task modules. Nor is Outlook Today intended to replace a web browser. Outlook Today should be considered a summary and starting point for personal and intranet/Internet information delivery.

Modifying the Outlook Today page may result in reduced performance for the information retrieval and rendering of the Outlook Today page itself. Again, the Outlook Today page should be considered a starting point that the user reads upon startup or checks into periodically during the day or week.

Customizing Outlook Today is considered an advanced developer feature, and is expected to change in future releases of the product. Therefore, modifications to Outlook Today pages that work in Outlook 98 may require modification or rewriting if they are to work in future versions of Outlook.

Deployment options are very limited for Outlook Today pages, and therefore may not be suitable for the controlled deployment required at many larger organizations."


How To Do It:-

Customizing the Today page

  • Open the following address in IE4 or above (adapt where necessary if you installed Outlook 2000 in a custom location): or above (adapt where necessary if you installed Outlook 2000 in a custom location):

res://Outlwvw.dll/Outlook.htm

I have found that on some computers this path does not always work - no idea why - even though it is the address given in the registry as the default location of the Today page. If so try this, substituting your own path if you installed in a non-standard location:

res://C:\Program%20Files\Microsoft%20Office\Office\Outlwvw.dll/Outlook.htm

  • Click no to the debug option.

Don't worry that calendar and task info is not shown - this is not possible outside Outlook and unfortunately it does not seem possible to set the page up as an active desktop.

  • Create a new directory (mine is c:\today) somewhere on your hard drive. I suggest placing it in the root directory, especially if you will be using today pages from my Net Folder, which will all link to local files in c:\today. (mine is c:\today) somewhere on your hard drive. I suggest placing it in the root directory, especially if you will be using today pages from my Net Folder, which will all link to local files in c:\today.
  • Save the file as HTML in this directory with the same name (Outlook.htm). in this directory with the same name (Outlook.htm).
  • Edit the source code by replacing the three occurrences of 'display:none' to read 'display:'. Find these using the search function. Doing this enables the tables for mail, calendar and tasks to be seen on the page when the .htm file is in the file system and not within the dll. If you edit the files and later return them back to their original position in the dll, you will need to reinsert 'none', for the page to show you static versions of the tables while the dynamic ones load.display:none' to read 'display:'. Find these using the search function. Doing this enables the tables for mail, calendar and tasks to be seen on the page when the .htm file is in the file system and not within the dll. If you edit the files and later return them back to their original position in the dll, you will need to reinsert 'none', for the page to show you static versions of the tables while the dynamic ones load.
  • You now need to extract the custom.htm or Options page from the DLL in exactly the same way as before, and place it the same directory your Today page.
  • Having done this find the variable "var strReturnURL".. Change this line to:var strReturnURL".. Change this line to:

    var strReturnURL = "file:///C:/Today/Outlook.htm";

    This path will be used to return from the options screen to your version of Outlook Today if the process of changing options is cancelled. I am not yet sure how this can be done (perhaps either a keyboard shortcut, a feature they intend to add-in later, a feature they planned to use but abandoned, or perhaps am I missing something?), but it is worth changing in case it happens, as otherwise you would be sent back to the standard Today page in the dll and go back to changing the registry settings to get back to your customized page.

  • Next edit the links within custom.htm to the standard Outlook Today page. Look for the remark // set the default style, and change the URL and IMG properties of the "straStyles" tags to the path to your standard Outlook Today page and the standard.gif respectively. // set the default style, and change the URL and IMG properties of the "straStyles" tags to the path to your standard Outlook Today page and the standard.gif respectively.
  • The last thing to be done is to change the following registry key which tells Outlook where to look when it opens the Today page:

    My Computer\HKEY_CURRENT_USER\Software\Microsoft\Office\8.0\Outlook\Today

    Edit the string "URL" to read "c:/path to your Outlook today page.htm" [Note the forward slash]. This can be the standard page which you have now moved, or any other page you like.c:/path to your Outlook today page.htm" [Note the forward slash]. This can be the standard page which you have now moved, or any other page you like.

    I have heard that this string is not necessarily present in everybody's registry so here's the full key:

(Default) (Value Not Set)
"CalDays" "7"
"Style" "Style0"
Taskfilter "All"
Url "res://outlwvw.dll"

change to:
"C:/today/outlook.htm

To add a string value, right click in the string window, and choose New String Value. Name it "Url" (exactly) and add your page's location by double clicking the string name.

Note that the page specified here should be the same one assigned the "Style0" value in the custom.htm source. If it isn't and you have multiple Today pages (see below), change the Style string to "Style1" or whatever number is appropriate...

Note: if you wish to use the instructions below with several different Today pages, the Styles option will automatically change this registry setting for you if you leave the Style string as the default 0 and change using the Options page described below.

You can now add links, ActiveX, scripts, or whatever you like to the file, and also create multiple versions to suit different users, work/home etc.   If you have access to the outlwvw.dll file from the Beta 2 version of Outlook 98 continue with the instructions below.

Back to top

Adding a "Styles" option to the Options page

  • Create a copy of the custom.htm file which you extracted above, and then extract the same file from the outlwvw.dll which belongs to the Beta version of Outlook 98. custom.htm file which you extracted above, and then extract the same file from the outlwvw.dll which belongs to the Beta version of Outlook 98.
  • View both sources simultaneously in each half of the screen and carefully copy the HTML relating to the Style option from the Beta to the Release source. In this way you get to keep the most up-to-date version of the options screen, while exploiting the 'change style' function of the Beta version. save this new options screen in the same folder you created earlier. If you are unsure as to which sections of code should be transferred,first look for everything which seems to refer to Styles.
  • Extract the file standard.gif from the Beta outlwvw.dll as before and place this in the same directory. This is a small screenshot of the standard Outlook Today screen, which appears next to the Styles option. You can create one of these for each of your new pages if you wish or use this graphic for all pages. Another option would be to delete all reference to it from the source code of the options page. Simply use the print screen key and a picture editor to create a similarly sized gif file. outlwvw.dll as before and place this in the same directory. This is a small screenshot of the standard Outlook Today screen, which appears next to the Styles option. You can create one of these for each of your new pages if you wish or use this graphic for all pages. Another option would be to delete all reference to it from the source code of the options page. Simply use the print screen key and a picture editor to create a similarly sized gif file.
  • Now copy all four "straStyles" tags and insert them as follows (go down to the "Fill the drop-down with available styles" section) for each style you will wish to select. The example here gives you two styles to choose from in the drop-down list, and you can add more. Just remember to add one to the digit after straStyles for each new style. straStyles" tags and insert them as follows (go down to the "Fill the drop-down with available styles" section) for each style you will wish to select. The example here gives you two styles to choose from in the drop-down list, and you can add more. Just remember to add one to the digit after straStyles for each new style.

// Fill the drop-down with available styles
 var i, elOptionTemp
 for ( i = 0; i < straStyles.length; i++ )

{straStyles[0] = new Object();
straStyles[0].Name = "Standard"
straStyles[0].URL = "c:/today/outlook.htm"
straStyles[0].Img = "c:/today/standard.gif"

straStyles[1] = new Object();
straStyles[1].Name = "Standard With Links"
straStyles[1].URL = "c:/today/today1.htm"
straStyles[1].Img = "c:/today/today1.gif"

  elOptionTemp = null
  elOptionTemp = document.createElement( "OPTION" );
  elOptionTemp.text = straStyles[i].Name;
  elOptionTemp.value = "Style" + i
  document.all.lbStyle.add( elOptionTemp )

This attaches a style number to each page by which the registry will recognise it.

  • Now edit the link to the options screen in the source code of all your Today pages, including the standard Outlook Today page, so that they all point to this version of custom.htm. Do a search for the text 'options' to find this. Also ensure that the var strReturnURL still points to a today page that you are using (it's not important which, provided that it is one of those in your new drop-down list). Do a search for the text 'options' to find this. Also ensure that the var strReturnURL still points to a today page that you are using (it's not important which, provided that it is one of those in your new drop-down list).

You should now be able to go into Outlook, click the link to the 'Options' page, and select a different Today style!

Ideas for Inclusion in Today Pages

The following are a few ways in which you could adapt Outlook Today to suit you, in addition to ActiveX, Java, and data-binding (the calendar and task tables are examples of dynamic data-binding enabled by IE).

You can of course create your Outlook Today page from scratch if you like, just remember to add a link to the Options page if you will need to change any of the options.

Brainstorming in no particular order:

  • Insert links of your choice next to the 'Options' screen link.
  • Give your customers a customized Outlook Today page, similar to the original, but with links to your website and/or key personnel eg. sales, customer support
  • Tickers
  • Data-binding - link your own databases in the same way as calendar, mail and task information for sales/stock control/finance/external (i.e.. non OL contacts) mailing lists etc.
  • Embed a randomly changing picture, quote for the day, corporate message.
  • Links to internet free/busy pages
  • mailto: links for people you e-mail often
  • Sound files to listen to while you work
  • Links to internet-based radio
  • Quick links to local files, such as databases, browsers
  • Add command line links to open up new e-mail/fax messages or even other buttons/menu commands if you don't mind switching to Outlook Today to see them.

Suggested Uses of Multiple Today Pages:

Note that some of these involve changing the Mail, Calendar and Task data-bindings - fairly complicated. In fact not having tried it I don't know if it is possible! If somebody works this out, please e-mail me.

  • Differing pages for different departments/functions
  • Individual users could commission entire pages or added links/functions for their own pages
  • Demonstrations of Today functionality, for example by consultants pushing Outlook to clients
  • Different users of the same computer can change Today pages without having to have an extra .pst file.
  • Internet Mail Only users could have a different page for each .pst file (currently it's only possible to have one profile, with one default folder and therefore only one Today page).
  • A different page orientated around your private and business .pst files. This works in Corporate/Workgroup mode, but not IMO at present.
  • More than one Today page to allow users access to more information than is available through one, such as extra Inter/Intranet links. Placing lots of info on one page would not only mean much was invisible most of the time, but would slow the page down. Forward/back links could be used to accomplish this.

 

Back to top


RETURN to my Article Index


Disclaimer: Your use of the information contained in these pages is at your sole risk. All information on these pages is provided "as is", without any warranty, whether express or implied, of its accuracy, completeness, fitness for a particular purpose, title or non-infringement, and none of the third-party products or information mentioned in the work are authored, recommended, supported or guaranteed by Pro Exchange. OutlookExchange.Com and Pro Exchange shall not be liable for any damages you may sustain by using this information, whether direct, indirect, special, incidental or consequential, even if it has been advised of the possibility of such damages.

© Copyright Pro Exchange, Inc., 2006