June 2011

ExtJs - An ExtJs Ticker Component supporting adding items dynamically

Tickers used to be an essential part of any website during the earlier days of web, but are no longer considered that much useful today, right? Well I atleast thought so until a few days back, when I received a feature request for a scrolling ticker in a corporate intranet app (which uses ExtJs heavily, in fact with a completely ExtJs based UI). And on some inspection, the request seemed to be reasonable.

Drupal 7 - Handling file uploads and moving files to the public file system

PHP: 

This was the most time consuming aspect for the recent port of my Document module for Drupal 7.

You would be knowing that File system API underwent a complete revamp in Drupal 7 (see this and this link, a very good introduction of the changes and new concepts is available on Randy Fay's blog). In Drupal 6, handling file uploads was this easy:

 

SharpSvn - Connecting and fetching logs from Remote repositories

In continuation to my pevious blog post on defining configuration path to connect to remote repos using SharpSvn, I present quick sample code for connecting to and fetching logs from a remote svn repo requiring authentication.

The topic as such should not need much introduction, so here's the plain sample code:

 

SharpSvn - SharpSvn.SvnFormatException: Can't determine the user's config path

Till the beginning of this month, I was a regular SVN user using SVN as my Version Control System for many projects. But then, somewhere in the second week of this month, I have turned a SVN developer (not writing code for SVN itself, but providing solutions off SVN).

For one of the projects code-named Zone, I began writing a module for SVN integration to provide seamless access to local or remote SVN repositories. Without second thought, CollabNet's open-source SharpSvn library was my library of choice for SVN development.

Drupal 7 - Creating arbitrary ANDed/ORed database queries using the DBTNG abstraction layer

While working on the 7.x port for my Document module for Drupal day before yesterday, I had a pretty anxious moment. As you would know, the new DBTNG database abstraction layer in Drupal 7 fundamentally changes the way your module code interacts with the db. Now instead of writing raw Sql queries, you use a set of high level objects to specify the various components of your query using a series of methods which is then translated to Sql by the DBTNG layer and executed against the database. Sample this for example:

 

ASP.NET - A complete translation framework through Powershell and Google Translate

In this blog post, I present a complete framework for automatic localization in ASP.NET, ability to customize what is produced by this framework and a completely functional ASP.NET app demonstrating the features and process.

Ext.Net - Invoking DirectMethods across .aspx pages

Web 2.0: 

Yesterday night, I had a very interesting scenario. One of our apps has a normal ASP.NET page that is used exclusively for rendering Crystal Reports to the browser. The page provides a comprehensive Ajax framework for rendering Crystal Reports and we normally host that page in an <iframe> as part of the app.

Drupal 7 - Controlling/Changing order of execution of particular hooks for modules

Drupal 7 brings some important API changes and enhancements to the table, one of them being the ability to control precisely the order of execution of a particular hook between modules.

I was asked by a client last week if it is possible to control execution of specific hooks between modules. Here is the (very precisely) framed question:

Drupal and Chrome - Refused to execute a JavaScript script. Source code of script found within request

While editing content on a client site last week, I got a rather confusing error in Google Chrome Developer tools:

Refused to execute a JavaScript script. Source code of script found within request.

I was incorporating Google Maps on a page through a Block and the block content had some javascript code in it. But on saving the block, two issues surfaced: 1) I got the above error in Chrome Dev tools console and 2) The Map did not show up on the page.