December 2010

PHOOP - An Object Oriented PHP framework - Design Goals


In continuation of the previous blog post on the PHOOP framework's background, I present here my design goals as I started working on the framework.

I primarily wanted to enjoy the benefits of inline html/php mode of coding for a typical PHP web application, but still make it completely object-oriented. The high-level design goals for the framework were set as follows:

Ext.Net - Formatting DirectMethod/DirectEvent responses

Web 2.0: 

This has been a feature request for Ext.Net too, i.e. to provide a configuration option somewhere that if true emits out properly formatted script generated for initial GET request and for subsequent Ajax responses (an implementation might require considerable server resources is an altogether different story, especially as the script size grows).

Exchange - Saving mails to delegated User's mailbox with EWS Managed API

Microsoft Exchange allows a user to access another User's mailbox in 2 ways, Delegation and Impersonation (Check this for more details). If you have used Outlook or Outlook web Access (OWA) and shared mailboxes with other users, chances are that you used Exchange delegation for mailbox sharing.

ExtJs - Custom build with selected components

Web 2.0: 

I have been doing custom builds of ExtJs for clients these days, who want to use only selected components from the toolkit, and therefore a trimmed down version of the ext-all.js and ext-all.css core javascript/css files for minimizing load times. Today itself, I built a custom version of the toolkit for a client who just wanted to use ComboBox (yes, only the ComboBox) from the toolkit, and wanted to have the smallest possible files with only the absolutely necessary dependencies for the ComboBox. - Javascript beautifier in .Net

Web 2.0: 

I finally got fed-up today with having to use online javascript beautifiers whenever I needed to re-format a minified javascript file to make it readable. I often need to reformat a minified script to have a look at some part of it and thought it would be great if a utility can quickly format the script through command-line.

Parsing iCal RRULE

In continuation of my last blog post for managing Calendars dynamically for the ExtJs Calendar component, I present in this blog post the logic behind parsing and serializing Recurrence rules for the Calendar component, if you have enabled recurrence for the Calendar (You get to specify Recurrence rules for an event in the Calendar component, only if you enable recurrence for it, i.e. enableRecurrence=true).

ExtJs - Dynamic Calendars for the Calendar Component

Web 2.0: 

If you haven't yet seen the Calendar Component for ExtJs, you might well want to check it here first, and then see it in action (an example is below in this blog post, ExtJs example for Calendar component is here).

ExtJs - Re-usable DropDownList for any form field

This time I needed to provide a drop-down list with selectable options exactly as you see for an ExtJs combobox. However, my base field was a TextArea instead of a single-line TextField, and I needed to provide selectable items in a DropDownList as text is inputted to the TextArea.

Chrome Frame - Failure to download files in iframe or in popup window

By the time you read this blog entry, the issue might already be fixed by the Chrome Frame team. Anyways, here's what we faced:

We recently had a strange issue with some of our users using IE with Chrome Frame to access their intranet application (that was actually a front-end to different other web apps). Some of these apps support Chrome Frame, while others do not. The actual sequence of events happened like this:

Ext.Net - Invoking DirectEvents explicitly from javascript

I recently had a situation where I needed to invoke a DirectEvent on an Ext.Net Button explicitly. Basically, when the button was clicked, I needed to pop-up an ExtJs window (created in javascript), and depending upon the options selected on the Window, invoke DirectEvents on various Ext.Net components rendered from server.

A bit of playing around with the javascript generated by the toolkit, and it was easy to figure out. It gets as simple as this for invoking a Button DirectClick:


Ext.Net - Modifying embedded scripts

Web 2.0: 

I just had an immediate need for modifying the core Ext.Net scripts that are embedded into the toolkit assembly itself. Till now, I resisted all temptations for doing so earlier, instead choosing to override Ext.Net behavior when needed by including my own scripts after the Ext.Net scripts on the page.