|
|
|
date: Thu, 29 Nov 2007 10:35:12 -0800 (PST),
group: microsoft.public.exchange.development
back
OWA 2007 Forms, Toolbars, and Send Message Customizations
We are attempting to customize Outlook 2007 Web Access (OWA) and have
some concerns about integration points. Specifically, we would like
to find the most unobtrusive way to intercept "send message" clicks in
the user interface as well as customize message toolbars. Our goal is
to bring up a custom modal dialog when the user clicks "send message"
and possibly add controls such as image buttons to the message
toolbar. When our custom modal dialog answers with an "OK", we would
like to add or modify message data using webdav. What would be the
best way to intercept user calls and make modifications to the user
interface such as the message toolbar?
Previously, we accomplished this task in OWA 2003 by modifying
existing OWA javascript files and adding our custom dialogs as ASP.NET
forms hosted on the same server as OWA. If the message did not exist,
we would save the message in the drafts folder so that we could modify
it using webdav, and when the message was sent, the draft would be
deleted. For existing messages, we would simply point webdav at the
correct uri.
I have found something similar in the message send javascript file,
but it seems like the URLs to an eml work a bit different in this
version. I am able to create a modal dialog from the send message
click function that is called in the javascript, but I am not
convinced that this is necessarily the best way to go anymore and I
have some questions, such as how to get the URL for the message in
this version? Ideas?
We would like to confirm our approach and identify what if any
javascript files should be changed to properly intercept a "send
message" if this is indeed still the correct approach in OWA 2007. It
appears that OWA 2007 is much more ASP.NET friendly and there are many
more integration points with exchange in general. Ideally, we would
like to adopt an approach consistent with OWA 2007 best practices that
could be easily deployed and require minimal changes to OWA itself.
date: Thu, 29 Nov 2007 10:35:12 -0800 (PST)
author: unknown
Re: OWA 2007 Forms, Toolbars, and Send Message Customizations
The official line on OWA customization is
http://support.microsoft.com/kb/327178/en-us I dont think this will change
much for 2007. The good thing with 2007 is that its a lot easier to work
with then before your Java script mods should still work with the same issue
as before with versions and service packs. The big change with 2007 is that
you can now modify the templates the OWA pages are built from these are in
the \ClientAccess\Owa\forms directory on your CAS server. OWA was rewritten
from the ground up in 2007 and no longer uses WebDAV to access the Exchange
store. What you probably want to look at is using Exchange Web Services to
do any backend work with SP1 they have introduced some functions to convert
Ids between EWS and the new OWA format.
Cheers
Glen
wrote in message
news:922e8849-08b5-40be-9321-92824996fbc7@w34g2000hsg.googlegroups.com...
> We are attempting to customize Outlook 2007 Web Access (OWA) and have
> some concerns about integration points. Specifically, we would like
> to find the most unobtrusive way to intercept "send message" clicks in
> the user interface as well as customize message toolbars. Our goal is
> to bring up a custom modal dialog when the user clicks "send message"
> and possibly add controls such as image buttons to the message
> toolbar. When our custom modal dialog answers with an "OK", we would
> like to add or modify message data using webdav. What would be the
> best way to intercept user calls and make modifications to the user
> interface such as the message toolbar?
>
>
> Previously, we accomplished this task in OWA 2003 by modifying
> existing OWA javascript files and adding our custom dialogs as ASP.NET
> forms hosted on the same server as OWA. If the message did not exist,
> we would save the message in the drafts folder so that we could modify
> it using webdav, and when the message was sent, the draft would be
> deleted. For existing messages, we would simply point webdav at the
> correct uri.
>
> I have found something similar in the message send javascript file,
> but it seems like the URLs to an eml work a bit different in this
> version. I am able to create a modal dialog from the send message
> click function that is called in the javascript, but I am not
> convinced that this is necessarily the best way to go anymore and I
> have some questions, such as how to get the URL for the message in
> this version? Ideas?
>
> We would like to confirm our approach and identify what if any
> javascript files should be changed to properly intercept a "send
> message" if this is indeed still the correct approach in OWA 2007. It
> appears that OWA 2007 is much more ASP.NET friendly and there are many
> more integration points with exchange in general. Ideally, we would
> like to adopt an approach consistent with OWA 2007 best practices that
> could be easily deployed and require minimal changes to OWA itself.
>
>
date: Mon, 3 Dec 2007 16:32:40 +1100
author: Glen Scales [MVP]
Re: OWA 2007 Forms, Toolbars, and Send Message Customizations
Glen,
Thanks for the reply. We are mainly not using back-end services. I am
quite aware of the web service API, support situation, etc. What we
need to do is to use javascript to pop-up an ASP.net form in a self-
contained web application that makes some modifications to the
message. Javascript was used to send in some querystring data into our
app in OWA 2003. It seems in this version, the way messages are
handled are a bit different, so our existing scripts do not work.
I am wondering, how do you get the URL easily from the message object
via javascript? I have no issues doing this using other APIs such as
web services, outlook 2007, etc., but the context where we need to
work with the data is OWA 2007 so any of the other techniques we use
do not apply here. I have managed to get as far as popping up a
dialog, loading the data I need, and getting the ASP.NET application
working inside the OWA 2007 interface. The two main cases are for new
messages and replyto: messages. I need to be able to get a reliable
URL for both to pass on to webDav calls that are executed from C#. We
need to do it this way because we change/add message properties
through both Outlook (extended MAPI) and OWA (webDav).
Any ideas how I can get the message URL when the send button is
clicked? In the old version, it was already a variable floating around
already in the javascript, and we generated it by saving a draft for a
new message as I mentioned.
The other details I can provide are that we are modifying the
javascript in the premium and basic script directories (i.e. C:
\Program Files\Microsoft\Exchange Server\ClientAccess\Owa
\8.0.685.24\scripts\) by overriding the existing functions in another
javascript file.
Thanks.
date: Mon, 3 Dec 2007 07:47:00 -0800 (PST)
author: unknown
Re: OWA 2007 Forms, Toolbars, and Send Message Customizations
Actually I'll need to retract some of what I said yesterday it looks like
they have just introduced some OWA customization features with SP1. You
might want to have a read of
http://msdn2.microsoft.com/en-us/library/bb891801.aspx and
http://msdn2.microsoft.com/en-us/library/bb891875.aspx.
That may not help if you want to override the functionality of current
buttons but it does add a supported method of adding new buttons and
customizing the nav bar in OWA :).
Unfortunately there isn't really any doco for the stuff your trying to do so
you really need to look at doing network captures to maybe try and work it
out. I compared some send captures on 2007 and 2003 and I can see your
problem although im not sure I can offer any real solutions. It looks like
on 2003 the scripts where passing in the MessageURL for the message in the
drafts folder that was going to be sent. In 2007 it looks like the scripts
are just passing in the message information and OWA is handling the rest of
the process itself. If you invoke the save function first OWA with save the
current message and then pass back the OWA ID which you could then make use
of in EWS to make changes that ID wont be much use in WebDAV however
cheers
Glen
wrote in message
news:c779e1e1-78e4-4b53-81e4-a044298b0913@e4g2000hsg.googlegroups.com...
> Glen,
>
> Thanks for the reply. We are mainly not using back-end services. I am
> quite aware of the web service API, support situation, etc. What we
> need to do is to use javascript to pop-up an ASP.net form in a self-
> contained web application that makes some modifications to the
> message. Javascript was used to send in some querystring data into our
> app in OWA 2003. It seems in this version, the way messages are
> handled are a bit different, so our existing scripts do not work.
>
> I am wondering, how do you get the URL easily from the message object
> via javascript? I have no issues doing this using other APIs such as
> web services, outlook 2007, etc., but the context where we need to
> work with the data is OWA 2007 so any of the other techniques we use
> do not apply here. I have managed to get as far as popping up a
> dialog, loading the data I need, and getting the ASP.NET application
> working inside the OWA 2007 interface. The two main cases are for new
> messages and replyto: messages. I need to be able to get a reliable
> URL for both to pass on to webDav calls that are executed from C#. We
> need to do it this way because we change/add message properties
> through both Outlook (extended MAPI) and OWA (webDav).
>
> Any ideas how I can get the message URL when the send button is
> clicked? In the old version, it was already a variable floating around
> already in the javascript, and we generated it by saving a draft for a
> new message as I mentioned.
>
> The other details I can provide are that we are modifying the
> javascript in the premium and basic script directories (i.e. C:
> \Program Files\Microsoft\Exchange Server\ClientAccess\Owa
> \8.0.685.24\scripts\) by overriding the existing functions in another
> javascript file.
>
> Thanks.
date: Tue, 4 Dec 2007 10:01:55 +1100
author: Glen Scales [MVP]
Re: OWA 2007 Forms, Toolbars, and Send Message Customizations
I think I am ok with most of the other stuff. The whole problem is
getting that WebDAV friendly URL. I tried the following approach but I
haven't gotten it to work yet.
1. Convert querystring id to mapi id
2. Use MAPI ID to generate permalink
3. Call webdav using permalink
Basically in step 2, my code is generating an incorrect permalink. It
might have something to do with the ID being short-term. I don't know
yet, but I'm not happy.
On Dec 3, 6:01 pm, "Glen Scales [MVP]"
wrote:
> Actually I'll need to retract some of what I said yesterday it looks like
> they have just introduced some OWA customization features with SP1. You
> might want to have a read ofhttp://msdn2.microsoft.com/en-us/library/bb891801.aspxandhttp://msdn2.microsoft.com/en-us/library/bb891875.aspx.
>
> That may not help if you want to override the functionality of current
> buttons but it does add a supported method of adding new buttons and
> customizing the nav bar in OWA :).
>
> Unfortunately there isn't really any doco for the stuff your trying to do so
> you really need to look at doing network captures to maybe try and work it
> out. I compared some send captures on 2007 and 2003 and I can see your
> problem although im not sure I can offer any real solutions. It looks like
> on 2003 the scripts where passing in the MessageURL for the message in the
> drafts folder that was going to be sent. In 2007 it looks like the scripts
> are just passing in the message information and OWA is handling the rest of
> the process itself. If you invoke the save function first OWA with save the
> current message and then pass back the OWA ID which you could then make use
> of in EWS to make changes that ID wont be much use in WebDAV however
>
> cheers
> Glen
>
> wrote in message
>
> news:c779e1e1-78e4-4b53-81e4-a044298b0913@e4g2000hsg.googlegroups.com...
>
> > Glen,
>
> > Thanks for the reply. We are mainly not using back-end services. I am
> > quite aware of the web service API, support situation, etc. What we
> > need to do is to use javascript to pop-up an ASP.net form in a self-
> > contained web application that makes some modifications to the
> > message. Javascript was used to send in some querystring data into our
> > app in OWA 2003. It seems in this version, the way messages are
> > handled are a bit different, so our existing scripts do not work.
>
> > I am wondering, how do you get the URL easily from the message object
> > via javascript? I have no issues doing this using other APIs such as
> > web services, outlook 2007, etc., but the context where we need to
> > work with the data is OWA 2007 so any of the other techniques we use
> > do not apply here. I have managed to get as far as popping up a
> > dialog, loading the data I need, and getting the ASP.NET application
> > working inside the OWA 2007 interface. The two main cases are for new
> > messages and replyto: messages. I need to be able to get a reliable
> > URL for both to pass on to webDav calls that are executed from C#. We
> > need to do it this way because we change/add message properties
> > through both Outlook (extended MAPI) and OWA (webDav).
>
> > Any ideas how I can get the message URL when the send button is
> > clicked? In the old version, it was already a variable floating around
> > already in the javascript, and we generated it by saving a draft for a
> > new message as I mentioned.
>
> > The other details I can provide are that we are modifying the
> > javascript in the premium and basic script directories (i.e. C:
> > \Program Files\Microsoft\Exchange Server\ClientAccess\Owa
> > \8.0.685.24\scripts\) by overriding the existing functions in another
> > javascript file.
>
> > Thanks.
date: Thu, 6 Dec 2007 10:04:07 -0800 (PST)
author: unknown
Re: OWA 2007 Forms, Toolbars, and Send Message Customizations
I would say the problem is the way your converting the ID the exact format
for the OWA id isn't published anywhere that I know it usually does contain
the EntryID but from experience that's not consistent. The only constant way
your going to be able to convert OWA ids to EntryID's is to use the new
function in EWS on 2007 SP1 see
http://msdn2.microsoft.com/en-us/library/bb856559.aspx
Cheers
Glen
wrote in message
news:bbe2d5a8-dba5-44fc-ba60-5ecfdd61f7f8@w40g2000hsb.googlegroups.com...
>I think I am ok with most of the other stuff. The whole problem is
> getting that WebDAV friendly URL. I tried the following approach but I
> haven't gotten it to work yet.
>
> 1. Convert querystring id to mapi id
> 2. Use MAPI ID to generate permalink
> 3. Call webdav using permalink
>
> Basically in step 2, my code is generating an incorrect permalink. It
> might have something to do with the ID being short-term. I don't know
> yet, but I'm not happy.
>
> On Dec 3, 6:01 pm, "Glen Scales [MVP]"
> wrote:
>> Actually I'll need to retract some of what I said yesterday it looks like
>> they have just introduced some OWA customization features with SP1. You
>> might want to have a read
>> ofhttp://msdn2.microsoft.com/en-us/library/bb891801.aspxandhttp://msdn2.microsoft.com/en-us/library/bb891875.aspx.
>>
>> That may not help if you want to override the functionality of current
>> buttons but it does add a supported method of adding new buttons and
>> customizing the nav bar in OWA :).
>>
>> Unfortunately there isn't really any doco for the stuff your trying to do
>> so
>> you really need to look at doing network captures to maybe try and work
>> it
>> out. I compared some send captures on 2007 and 2003 and I can see your
>> problem although im not sure I can offer any real solutions. It looks
>> like
>> on 2003 the scripts where passing in the MessageURL for the message in
>> the
>> drafts folder that was going to be sent. In 2007 it looks like the
>> scripts
>> are just passing in the message information and OWA is handling the rest
>> of
>> the process itself. If you invoke the save function first OWA with save
>> the
>> current message and then pass back the OWA ID which you could then make
>> use
>> of in EWS to make changes that ID wont be much use in WebDAV however
>>
>> cheers
>> Glen
>>
>> wrote in message
>>
>> news:c779e1e1-78e4-4b53-81e4-a044298b0913@e4g2000hsg.googlegroups.com...
>>
>> > Glen,
>>
>> > Thanks for the reply. We are mainly not using back-end services. I am
>> > quite aware of the web service API, support situation, etc. What we
>> > need to do is to use javascript to pop-up an ASP.net form in a self-
>> > contained web application that makes some modifications to the
>> > message. Javascript was used to send in some querystring data into our
>> > app in OWA 2003. It seems in this version, the way messages are
>> > handled are a bit different, so our existing scripts do not work.
>>
>> > I am wondering, how do you get the URL easily from the message object
>> > via javascript? I have no issues doing this using other APIs such as
>> > web services, outlook 2007, etc., but the context where we need to
>> > work with the data is OWA 2007 so any of the other techniques we use
>> > do not apply here. I have managed to get as far as popping up a
>> > dialog, loading the data I need, and getting the ASP.NET application
>> > working inside the OWA 2007 interface. The two main cases are for new
>> > messages and replyto: messages. I need to be able to get a reliable
>> > URL for both to pass on to webDav calls that are executed from C#. We
>> > need to do it this way because we change/add message properties
>> > through both Outlook (extended MAPI) and OWA (webDav).
>>
>> > Any ideas how I can get the message URL when the send button is
>> > clicked? In the old version, it was already a variable floating around
>> > already in the javascript, and we generated it by saving a draft for a
>> > new message as I mentioned.
>>
>> > The other details I can provide are that we are modifying the
>> > javascript in the premium and basic script directories (i.e. C:
>> > \Program Files\Microsoft\Exchange Server\ClientAccess\Owa
>> > \8.0.685.24\scripts\) by overriding the existing functions in another
>> > javascript file.
>>
>> > Thanks.
>
date: Fri, 7 Dec 2007 09:28:16 +1100
author: Glen Scales [MVP]
|
|