|
|
Franklin
Planner for Microsoft Outlook (FPO) extends Outlook's
Calendar, Journal and Tasks with the Franklin Covey
approach to life management. It includes
synchronization with Windows CE and Palm Computing PDAs
and printing to Franklin Planner diary pages.
Outlook 98 users need to install the Expression Service
component.
For Outlook 2000, there are some issues (and workarounds related
to the extensions to the Outlook Today page.
|
Outlook 2000 Fixes
|
Many thanks
to Robert
Pankratz for providing the following information on
Outlook 2000 fixes. Your mileage may vary.
Errors fixed or worked around
The Macro virus warning
ActiveX script warning
Script errors in WMMToday htm
Script errors in each of the WMM
forms
Script errors in the Fcoptions.htm
file
Crash with Role called
"Provider"
FIX: The Macro virus warning
- In Outlook 2000, choose Tools | Options |
Security | Attachment Security.
- Set it to none.
- Click OK twice.
- Close and restart Outlook.
Yes, this exposes you to some risk, you'll have to
choose for yourself if the risk is warranted.
FIX: ActiveX script warning
This is cause by FPO's failure to digitally sign their
ActiveX .ocx controls. This should take them all of one
hour to rectify. Why they haven't I don't know. You can
avoid the error by making your machine a trusted web
site.:
- In Outlook 2000, choose Tools | Options |
Security | Zone Settings.
- Pick Local Intranet.
- Click Sites.
- Verify that the check box for UNC's is checked.
- Click advanced.
- Add a site as follows: "file://\\machinename\c\program
files\franklin covey\outlook" (or whatever the
path should be on your machine.
- Click OK twice.
- Click Custom Level.
- Set all ActiveX entries to enable.
- Click Ok three times.
- Share your hard drive as "c" using
explorer (NT users with admin priv can use C$)
instead.
- Create a text file containing data for the Outlook
registry keys as follows:
begin fix.reg
=========
Windows Registry Editor Version 4.00
[HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Outlook\Today]
"CalDays"="3"
"Url"="\\\\machinename\\c\\program files\\franklin covey\\outlook\\home.htm"
"BackFCUrl"="\\\\machinename\\c\\program files\\franklin covey\\outlook\\home.htm"
======
end fix.reg
Replace machinename with the name of your computer.
Save the text between the ====='s to a file called
Fix.reg and then double-click on it. This will put the
values into the registry.
- Close and restart Outlook.
If you are concerned about sharing your hard drive,
share it with a password, and append a "$" to
the end of the share name to make it invisible. Then map a
drive letter on your machine to it. This should cache the
password for your user session, thus allowing access via
the UNC path.
FIX: Script errors in WMMToday
htm
Using Notepad or another text editor (not Microsoft
Word) make the following changes to these FPO files:
- In plan.htm: change all occurrences of "UCase(
window.external.GetDate() )" to "Ucase(OM.GetDate())"
- In plan.htm: change all occurrences of "document.location
=" to "document.location.href ="
- In act.htm:change all occurrences of "UCase(
window.external.GetDate() )" to "Ucase(OM.GetDate())"
- In discover.htm: change all occurrences of "UCase(
window.external.GetDate() )" to "Ucase(OM.GetDate())"
- In discover.htm: change all occurrences of "document.location
=" to "document.location.href ="
- In home.htm: change all occurrences of "UCase(
window.external.GetDate() )" to "Ucase(OM.GetDate())"
FIX: Script errors in each of the
WMM forms
Ok this one is a bit trickier. To edit forms you must
use the following sequence.
- From the main Outlook screen, select the folder from
WMM that you want to fix the form for. Then:
- Choose Tools | Forms | Design a Form.
- Find the folder in question from the list.
- Select the form, hold down the Shift key and click
OK. (Shift is a must to prevent code execution.)
- When the form appears in design mode, choose Form |
View Code.
- Make the code edits described below.
- Close the code windows
- Choose Tools | Forms | Publish Form (don't
use Publish As).
- Close the form, don't save (Publish saved the
code).
Ok, using those steps, open each of the Franklin Forms:
&Value, &Role, &Goal, &Mission,
&Compass and change the code:
- On all forms, change "links" to "myLinks"
(don't change "link" just "links")
- On the long range goal form, also change
"Message" to "LGoal" (change
occurrences of Message that are in quotes only)
- On the long range goal form after changing the code
and before publishing, choose the "Message"
tab and then do Form | Rename from the menu and
rename the form to "LGoal"
FIX: Script errors in the
Fcoptions.htm file
- Open Fcoptions.htm in a text editor (not Microsoft
Word).
- Find the first occurrence of the following text:
<script defer language="VBScript">
- Directly above that line, insert the following
lines:
<!-- OUTLOOK OBJECT FOR DATABINDING -->
<!-- Outlook's ActiveX Control -->
<object id="OM" classid="clsid:0006F069-0000-0000-C000-00000000046">
</object>
- Change all occurencess of window.external.SetPrefs
and window.external.GetPrefs to OM.SetPrefs and
OM.GetPrefs
- Save the file. That's it. Your options page should
now work.
FIX: Crash with Role called
"Provider"
If one role's name is a subset of another role's name,
you will get a VBScript error. This is because
Discover.htm and Plan.htm use a "string"
variable as a hit state for known categories aka roles.
Therefore, if one the wording of one category is a subset
of another and the "subset" is hit after the
superset in the processing order, then the subset never
gets enumerated. Later attempts to reference the subset
fail. Aka the error we are seeing.
The string does have key boundaries in the form of
","'s but there are no phrase boundaries to
ensure the uniqueness of the strings and prevent sub
cases. So while I dislike this method of hit counting, I
have a hack to fix it. If there is a "list"
construct in VBScript it should be used instead, but since
this is a hack I can live with it. Here's the hack to fix
this:
- In Discover.htm find the two lines that look like
this:
subjStrip = Replace(subj,
" ", "_")
and replace them with this:
subjStrip = "~"
& Replace(subj, " ", "_")
& "~"
- In Plan.htm find the two lines that look like this:
roleStrip = Replace(role,
" ", "_")
and replace them with this:
roleStrip = "~"
& Replace(role, " ", "_")
& "~"
|
Notes on Outlook 2000 Fixes
|
From
Robert
Pankratz: Ok some quick commentary. Yes this only took
four hours to fix, and I have little to no training in VBScript
or VBA. But I have taken
some security liberties here that a professional company
cannot. After reviewing the code, it is clear the FC got
bit by some changes Microsoft introduced in Outlook 2000.
Examples:
Links is now a reserved object (although a good
programmer uses things link "my" prefixes in
modern code, just to be safe.
document.location default equivalent to
document.location.href was removed. (Shame on the
programer for using the default, when an explicit was
available. Guess that lesson comes with age. Never
ever use the default, be explicit)
Security got a lot tighter. Digitally unsigned .ocx
controls used to work; now they don't. (Simple to fix
why they haven't signed them and posted them for
download, guess you'll have to ask them.)
Again Security got a lot tighter. windows.external
calls are now much more restricted. Solution == don't
use so many windows.external calls; find a safe
equivalent
Message was the default form tab name. Message is
still the default form name, but it is also now an
object. If you are going to reference the page/tab
rename it. Again, never use the default.
|