Dev log: Bringing the Exchange 2007 Outlook Web Access calendar view to life…


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:

...

Day 13

More cleanups:

  • 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.

Day 14

  • 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?

Day 15

  • 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!

- Jorge Pereira

Comments (7)
  1. Anthony says:

    sweet and nice at the same time

  2. Hans Sleurink says:

    Great job! I must say, I’m very glad with the new OWA and it’s new features. Congrats and keep developing :)

  3. Anil Kumar says:

    Nice works, pretty impressive

  4. nasir says:

    Thats what every good developer do, whats so special in all this. Also, isn’t microsoft concerned about your leaking the details of whats done during dev. :)

  5. toonjunkie says:

    Hey i’ve got a good one for you!

    BUG: OWA only works well with Internet Exploder

  6. Jeff25 says:

    Awesome product and so many improvements, but why was the monthly view left out of the OWA Calendar?  I think we are going to go back to 2003 – we live in that monthly view – we need to plan more than 3 or 4 days in advance.  Such a shame how one little thing can ruin such a great product.

Comments are closed.

Skip to main content