Posts Tagged WebDev

"Django 1.0 Website Development" Released

My author copies of "Django 1.0 Website Development" have arrived. This is the second edition of my Django book. Django is a framework for building web applications in Python. This book explains how to assemble Django's features and take advantage of its power to design, develop, and deploy a fully-featured web site.

Django 1.0 Website Development

The new edition has been updated to Django 1.0. The key topics that the reader will learn from the book are:

  • Register users through a user authentication system and manage them efficiently.
  • Restrict user access to certain pages and protect against malicious input.
  • Create tags to allow site visitors to classify, view, and share content easily.
  • Create own administration interface for proper monitoring of the web site.
  • Enhance user interface with AJAX.
  • Enable voting and commenting on content, and display popular content to site visitors.
  • Build user networks; add friend management and invitation features for social networking.
  • Create unit tests to automate the testing of code.

The full table of contents is available.

The book is available in paper and PDF formats at Packt Publishing. It is also available from all major book sellers like Amazon.

Writing the book and revising it have been an enjoyable experience for me. The feeling of accomplishment when my copies arrived is satisfying. I sincerely hope that readers find the book interesting and useful. If you have questions or comments, don't hesitate to email me!

More photos of the book are available at my Picasa web albums.

9 JavaScript Tips You May Not Know

JavaScript is a fully-featured Object-Oriented programming language. On the surface, it shares syntactical similarities with Java and C, but the mentality is quite different. At its core, JavaScript is more similar to functional languages. Inside is a list of JavaScript tips, some offer techniques to simulate features found in C-like languages (such as assertions or static variables). Others are meant to improve performance and explore some of the more obscure parts of the web scripting language.

Read more »

Drag/Drop Portal Interface with Scriptaculous and Drupal

In the first section of this article I'll demonstrate how to create a drag/drop portal in a few lines of JavaScript code, using the excellent Prototype and Scriptaculous JavaScript libraries. In the second section, I'll explain how to integrate this code into Drupal as a server backend for storing user settings. You may check the frontend here (tested with Firefox 1.5, IE6, and Opera 8.5), and download a reusable JavaScript Portal class and Drupal module for the backend at the bottom of this post.

Read more »

CSS Debugging Bookmarklets

I wrote two CSS debugging bookmarklets to ease the pain of HTML/CSS development under Internet Explorer. They mimic two commonly-used features in the Web Developer extension for Firefox. The first bookmarklet outlines block-level elements, and the second displays ID and class information. Although that such functionality already exists in Web Developer and other bookmarklets, I couldn't find anything that is compatible with Internet Explorer and works offline (What I found were bookmarklets that relied on including remote stylesheets).

To test a bookmarklet, simply click its link. To use it, drag and drop the link to your Links/Bookmarks toolbar, and press the resulting button when you want to activate the associated functionality. These bookmarklets were tested in Firefox 1.5, Internet Explorer 6.0 and Opera 8.5. I haven't had the chance yet to test with KHTML/Safari, but I think they should work because the code is standards-complaint.

Anyone who's worked with HTML/CSS for a while knows that Internet Explorer support for standards is lacking to say the least. It has many obscure bugs and compatibility issues. Firefox is my platform of choice for web development because of its compliance with standards and the plethora of development and debugging tools and extensions available (most notably Web Developer and FireBug). Once coding is finished under Firefox, I validate the code and test with other browsers (IE, KHTML/Safari and Opera). Most of the time the code works in Opera and KHTML without any issues; however, IE often produces problems, and while working around them, I used to wish I had Web Developer's features for IE. Now I have these bookmarklets. They took me about 5 minutes to write and test under Firefox, but IE silently failed to produce the desired results until I did another hour of work. I adopted Web Developer's styles for outlined elements and ID/class information for consistency. And now I'm sharing them here hoping that others will find them useful as well.

TurboGears Tutorial: Social Bookmarking Application

Those interested in web development may have heard about the Model-View-Controller software pattern by now. This pattern emphasizes on separation of application's data model, UI (view), and control logic. The concept itself isn't new and has been around since 1979, but recently there have been many successful implementations of the pattern in the domain of web development.

While exploring the available MVC frameworks, I decided to learn TurboGears, which is a Python framework. I viewed many webcasts and documents, then decided to practice my newly-gained knowledge by writing a basic del.icio.us-like social bookmarking application in TurboGears. Now I'm documenting my work as a tutorial, hoping that other TurboGears newcomers would find something useful in it.

Read more »