At Allen Watson's request, I am copying the entire content of my previous
email (Re: Curious AppleScript omissions) here so it's more easily findable
in the archives. I am now prefacing all that with a report on the bugs and
omissions in OE scripting which were fixed in Entourage. A lot of time in
the beta process was devoted to this:
You can now delete a group member from a group (you no longer have to delete
the group and replace it with another one of the same name).
main window, progress window and address book 1 are now generic entities,
which can be opened even when they don't 'exist' yet on the screen, and will
work for any identity and in any international version: you don't need to
know the window name. Although you can now 'open progress window', it's
still that non-functioning cosmetic version, for some reason.
address book 1 (the Address Book) has its own properties, in particular, the
names of all the custom fields and custom date fields can be got and set by
applescript.
Contacts have new properties to correspond to the UI, and in particular the
phone fields don't have separate extension properties (thank goodness). Any
script being adapted from OE dealing with contact properties has to be
completely revised for Entourage.
The new reply to, forward, redirect and resend events in Entourage fill a
huge gap in OE's scripting. You can do them as draft windows on the screen
or as saved messages ('without opening window'). There's a bug with resend
mentioned below. 'reply to' has many parameters, allowing you to set things
like insertion point, attribution, text quoting, html, differently from your
default settings if you want to, in any way. The only limitation is that the
'quote entire message' parameter does not allow for quoting just selected
text as in the UI. With all these events, you can now reply, forward, etc.
using html, which you never could before. (Only reply can set it differently
from default, however.)
This brings up a remaining limitation in Entourage scripting: you can't
otherwise set anything as 'styled text' (i.e. our HTML), even though
Entourage's Unicode text implementation really should permit this to be
implemented. ({Please, Dan: I'm going to keep bugging you on this one.) So
altering any message text, then resetting it, always loses HTML, except with
'reply to' event. You can get around this in draft windows by setting
selection if your DEFAULT settings are HTML (but whose are?), which will
then give it to you in your default font, no styling. This remains the only
way to soft wrap outgoing messages, a limitation.
Lots of IMAP scripting has been fixed, although you still can't move
messages to IMAP folders.
Much scripting in news groups was fixed: getting the news server of a news
group, getting name of every news group (it still gets you just subscribed
news groups).
Hotmail accounts have been added.
A limitation from OE scripting remains: you can't change the recipients of
an existing message - not even an unsent, outgoing message. (But you can
always get the recipients, make a new draft window, and change the
recipients, then save the window as a new message, delete the old one.
Tedious, but a workaround.)
I think that's it. Here's my previous message on "curiosities" in Entourage
scripting:
------------
Whose clauses for category of contact are not
implemented.
Also, whose clauses for start time and end time of event not implemented.
You can't get 'children' property of contact.
You can link various Entourage elements to each other, but you can't link
any of them to a file on your disk, as you can from the UI.
You can get almost all the AS properties of an event by asking for
'properties', but you have to ask for category and links of event
separately, they're not included.
Bug with 'street address 2': it doesn't appear anywhere when you set it. On
the other hand you can put as many returns and separate lines as you want
into 'street address' and they do appear in the UI.
'displayed feature' of main window doesn't know about the Custom Views,
Notes, Tasks, or Calendar pages (although it does know individual custom
views when it sees them, and address book 1 for the Address Book). So you
always have to put any reference to 'displayed feature' in a try block.
Good news: undocumented in the Dictionary is that you can set you can 'set
selection' to insert text (as in Outlook Express), and also to {contacts} in
address book 1, and {messages} in message pane, if they are displayed, or
they will immediately display in the main window. This is really useful.
More good news: 'all day event' is supposed to be [r/o], but there IS a way
to set it at creation (my little secret for now, until someone asks). That
gives you the pretty banner.
Bad news: you can't get or set selection of events in the calendar, but
there are ways to duplicate an event to other days and times.
To have all this in one place:
resend without opening window causes crash.
set current identity to another identity (i.e. switch identities) causes
crash IF run from within Entourage. If you run it from a script editor it's
OK. (Talk about discrepancies.)
There's also an incredibly weird bug with negative indices of messages; the
negative index two more than the actual number of messages in a folder (i.e.
message -4, when there only 2) instead of erroring gets you the list of
every message in the folder! Dan tells me that this is actually a bug in
PowerPlant (the C++ programming tool they use to program Entourage's
scripting) which I discovered, and which will be fixed in next PP release!
That's all I can think of for now, but I think that about covers it. I may
have left something out. As you can see if you look at the Outlook Express
dictionary, almost all the problems are with the new Entourage features.
Please don't forget that Dan Crevier seems to do this all by himself after
he has (it seems) almost single-handedly created most of the features in the
UI first, plus all the underlying programming of the interlocking database
(well, I'm sure Jud Spencer must do a great deal of that part!). On a tight
time pressure, it's quite understandable that they needed to get the UI
right first before scripting the equivalents, then it gets too late to fix
scripting after all the UI fixes are put in, up to the last minute. You have
no idea how hard it was for them to get UI details of the Calendar right in
the beta process. Dan is absolutely committed to getting scripting right,
and we keep dealing with these things in the ongoing beta list. He intends
to put them right in later fix releases. It is Dan who is responsible for
the wonderful object model scripting in Entourage and Outlook Express which
is hardly matched by any major computer firm's application out there. (I'm
sure that Tex-Edit Plus hardly has the same commercial pressures as
Microsoft puts on its programmers, and can take more time over applescript.)
Please report anything you find on this list, too. I apologize for not
finding some of these things earlier so they could be fixed before first
release, but 1) I only found some of them when people ask for things on this
list, after release, which I never thought to try before, and 2) I did find
many of them right away when the betas came out, but there was still no time
for them to be fixed before release.
--
Paul Berkowitz
(beta tester)
--
Paul Berkowitz
--
To unsubscribe: <mailto:[EMAIL PROTECTED]>
To search the archives:
<http://www.mail-archive.com/entourage-talk%40lists.boingo.com/>