![microsoft exchange public folder calendar custom form microsoft exchange public folder calendar custom form](https://miro.medium.com/max/800/1*waKKpHiFCoK47VyIfU7o5Q.jpeg)
To do this impersonation needed to be set as per within the code behind file. Once I could now reference the EWS proxy objects in my ASPX code I could get on with the job of coding what I wanted my form to do.īut before that I had to address one final issue which was security because I was going to be making a request to EWS from within another webpage I need to ensure that the security context used to make this request was that of the users that was logged onto OWA. I used my EWSUtil.dll but you could create your own using WDSL.exe etc. Because I wasn’t creating a separate ASPX application for my pages and I didn’t want to put a class library containing the EWS proxy objects in the GAC I dropped a class library containing the proxy objects into the bin folder for the OWA application eg Microsoft\Exchange Server\ClientAccess\Owa\Bin. Next comes the tricky part because I also wanted to use Exchange Web Service in my custom forms I had to have some way of loading the EWS proxy objects. This is something you need to give serious consideration before putting any OWA customization into production. Writing poorly performing code that runs under the OWA application pool is going to make OWA performance poor for everybody using the server. At this stage you should pause and consider the application pool this custom form is going to be running under.
![microsoft exchange public folder calendar custom form microsoft exchange public folder calendar custom form](https://1q88v446m1rr24jdcx2jepag-wpengine.netdna-ssl.com/wp-content/uploads/2017/07/WhatArePublicFolders-Screenshot44.jpg)
This basically means that whenever anybody opens/Previews or trys to print items with a MessageClass of the file map.aspx will be used. The Registry.XML for my OWA customization looks like The actually content pages for your custom form can be located elsewhere but for my customization I’ve just used this folder which means that my pages are going to run as part of the OWA asp.net application and use the authentication from the OWAapplication pool. Next there needs to be at least one file that goes in that directory which is the registry.xml file that contains the definition for your custom forms and what actions and pages to open. Under this directory is the Forms directory which is where you first need to create a folder to hold your customization e.g. You should have a directory structure similar to this on your CAS server Program Files\Microsoft\Exchange Server\ClientAccess\Owa which represents the root of the OWA ASP.NET application.
![microsoft exchange public folder calendar custom form microsoft exchange public folder calendar custom form](https://venturebeat.com/wp-content/uploads/2019/11/IMG_3240-e1573749994803.png)
To start the process of creating an OWA custom form for these items firstly you need to create a folder under the Forms directory on your CAS server. For this I created some contact items with a Message class of. But putting this together can be a little tricky so let’s go though some of the basis’s step by step.įirstly I wanted to create a custom form that would display a map of the contacts address information and also a Street-view of the same address information using Google’s new Streetview features that was recently released for Australia. The basics of creating custom forms are documented in the Exchange SDK. For those brave souls who attended my MVP theatre talk on Friday here’s the OWA customization I demo'ed.