My name is Jorge Pereira and I am a dev on the Outlook Web Access. I kept a daily log of most of my activities related to the workitem for my own purposes, and wanted to share it to show all of the details that happen behind the scenes to bring a feature to life. In this case, the feature was the calendar view in Exchange Server 2007 OWA. Thought that this might be an interesting read, as it shows how the specific feature developed and evolved over time.
The work done on this feature happened over the period of several months.
To access the full document, please see the attached file. Here is an example of what you will find in the document:
- Finished adding xml docs
- Fixed namespaces
- Added functionality to toggle preview pane on/off
- Reorganized script file
- Added documentation to all scripts and some major cleanup as well
- Fixed event text not centered when there's f/b strip
- Fixed bug in sorting of events and sched area items
- TODO: Better use of real estate in this case:
- Fixed bug: XSO bug is causing dates to be returned in local time and calendar data source was checking for intersections using utc
- Tested mapping algorithms. Seem quite solid.
- Added margins and improved positioning of event area items. Before I was just dividing the whole area's width by the mapped coordinates. In order to be perfectly accurate, now I use the widths of each day column to compute the X and Width for each item.
I can also add margins like this:
- Added some more margin for the last item in the view as per spec.
- I don't think I will get much done today; I have to take care of a lot of other stuff.
- Noticed that the view takes way longer to resize when looked at from http://jorgeper1/owa than looking at it directly from the calendar url. I wonder if it is resizing the iframe for the mail view even though it is hidden?
- Left and right breaks for events
- Added margin on top of first event
- Added inner breaks. These are implemented using a gif that gets absolutely positioned (has a transparency in the middle)
- Added logic to render text contents of scheduling area items for all scenarios. Quite crafty, this one.
- It's past 4:30am... I am going home.
I have most of the logic for rendering the contents of a scheduling item. Tons of special cases... I still need to reduce the size of the code and reorg, but at least the main logic is there. Things are starting to run slowly... will look into this. It's all these rules for the drawing of the contents of the visuals.
Again, for full 30 page document that gives you a great overview of this journey, please see the "OWA Calendar View Dev Log.doc" which is attached below!