How to use jsTree

By : Akshar Raaj

Using jsTree

Problem Statement:

To show a TreeView (hierarchical view of information) structure in a Web page.

I came across this problem when i was required to develop a web application which allows its users to store contacts and their related information(name, email, phone). The contacts would go into a folder and any folder can have any number of subfolders and any subfolder can have any number of contacts. Also, the folder structure can be nested as many levels deep as the user wants. So, how do you show the folder structure in a Web Page?

You might encounter ...

more info..

Behind the Scenes: From HTML Form to Storage

By : Thejaswi Puthraya

In this post, we are going to see what happens behind the scenes when a file is uploaded to a django powered web application.

File Upload Flow

An HTML form with a file input (atleast one) and encoding set to multipart/form-data is submitted. The MultiPartParser parses the POST request and returns a tuple of the POST and FILES data (request.POST, request.FILES). The MultiPartParser processes the uploaded data using the File Upload Handlers objects (through the new_file, receive_data_chunk and upload_complete methods). The request.FILES values are a sequence of instances of UploadedFile.

In the django form, we pass the request.FILES ...

more info..
Topics : django files upload

Setting up your system to start with Django development on Ubuntu:

By : Akshar Raaj

1>Being a Python web framework, Django requires Python. If you are on ubuntu, you probably have python installed on your system. If you don't have it installed, give the following command from the terminal:

sudo apt-get install python

This will install Python on your machine.

2>If you will be developing a database driven web application, you need to have a database setup on your system. I feel mysql is good and will tell you about installing mysql. It is pretty easy to install and use. You need to issue the following command from terminal:

sudo apt-get install ...

more info..
Topics : django setup mysql
Javed
Comments
Reactions

Django: csrf error on non-existent urls

By : Javed Khan

While testing out a API from another django site, I came across a seemingly common error.

403 Forbidden

CSRF verification failed. Request aborted.

Help

Reason given for failure:

    No CSRF or session cookie.

Posting the data to the api endpoint returned 403 Forbidden with the standard csrf failure error page. I cross checked that the view was csrf_exempted and that CsrfViewMiddleware was not enabled. The view had some other unrelated decorators which I guessed could be the cause of the problem. According to this bug, not all decorators play nice with the csrf_exempt decorator. Even with that fixed, there was ...

more info..
thejaswi
Comments
Reactions

Writing an e-mail application with Lamson - II

By : Thejaswi Puthraya

In the last post, we saw how to create the skeleton of a basic email application using Lamson. In this part, we'll see how to write a handler (in the controller) to open a ticket in Unfuddle, the project management tool we use at Agiliq.

If you look at the config/settings.py file, you'll see a handlers attribute that should be updated to match the file that contains the rules for mail routing. In this case, let us create a unfuddle.py under the app/handlers directory and update the config/settings.py:

handlers = ["app.handlers.unfuddle ...

more info..
Topics : lamson e-mail
thejaswi
Comments
Reactions

Writing an e-mail application with Lamson - I

By : Thejaswi Puthraya

Off late, we've been slightly busy with a 'lot' of new developments on our end and we've not been able to devote attention to the blog. In these busy periods, we tend to forget things faster. One such thing that Shabda recently pointed out that a couple of our applications (client and open source project) were raising exception. Because of the low frequency of these errors, they went unnoticed for quite a few days. We do check e-mail often but we are mostly drowned in our project management tool, Unfuddle. Shabda suggested we open a ticket for every ...

more info..
Topics : lamson e-mail
shabda
Comments
Reactions

Comparison of mobile app frameworks: Iphone, Java, Phonegap and Titanium

By : Shabda Raaj

I recently built the same app with the common mobile technologies, Obj-C, Android:Java, Phonegap, and Titanium .

This is a quick comparison of the app frameworks.

Miscellaneous notes

  1. Phonegap and Titanium both amazed me. It feels very empowering to code in Html, css and JS, test it in Chrome, debug it with firebug, and deploy to a device without any changes. Titanium UI widgets are native, building it with JS was very cool.
  2. Phonegap and Titanium both underwhelmed me. I assumed Phonegap would have widgets which would be 95% of the way to looking like native widgets. It was easy ...

more info..
shabda
Comments
Reactions

Getting started with Titanium development for Android and Iphone

By : Shabda Raaj

This is the third post in our mobile app development series. ( You may want to read Phonegap and Android with Java.)

Like last time we will build an App which allows calculating the tax payable, per the rules here. We will use Titanium Mobile

Installing Titanium

Download and install the fairly small Titanium from their sites. Once you download and start it, it will download and install more components. You can then create a new project from their UI.

Layout the Layout

You can add UI widgets and lay them out using Javascript. You need to use Titanium's API ...

more info..
shabda
Comments
Reactions

Getting started with PhoneGap using Xcode for Mobile app development

By : Shabda Raaj

This is next in the series of apps I am building using various mobile technologies. It is the same app as build using Java for Android for calculating the Tax payable (in India). You can get the code for Objective-C, Java-Android, and PhoneGap.

First the impressions

Phonegap was the easiest to work with among the Objective-C, Java and PhoneGap, by far. I created the app as easily as

Step 1. Write the app and test it in Browser using the Chrome developer tools. Step 2. Start a project in Xcode. Step 3. Copy the HTML and CSS files to project ...

more info..
Topics : iphone android mobile
shabda
Comments
Reactions

Starting Android app developement: From zero to app

By : Shabda Raaj

We recently started with Mobile Application development. I am learning Android using the Commonsware book, and highly recommend it. This is a very short guide to getting you running your first Android app.

What will we build

We will build a simple tax calculator for India, per the rules given here for tax calculation. In this app, we need to gets users income and various tax deductible expenses. After that we need to update the UI to show the tax. You can see the final app and code on github here.

Setting up

  1. Install Java and Eclipse
  2. Install Android SDK ...

more info..
saikiran
Comments
Reactions

CSS3 Properties and Compatible Browsers

By : saikiran - Designholik

CSS3 is hot, Now you can create rounded borders, add shadow to boxes without images, embed fonts and many more things.

Here is the list of some CSS properties introduced in CSS3 and their browser support.

Property Browser Support
IE9 Firefox Chrome Safari Opera
border-radius IE Firefox Chrome Safari Opera
box-shadow IE Firefox Chrome Safari Opera
border-image IE Firefox Chrome Safari Opera
text-shadow IE Firefox Chrome Safari Opera
word-wrap IE Firefox Chrome Safari Opera
@font-face IE Firefox Chrome Safari Opera
background-size IE Firefox Chrome Safari Opera
background-origin IE IE Chrome Safari Opera
transform IE Firefox Chrome Safari Opera
resize IE Firefox Chrome Safari Opera
box-sizing IE Firefox Chrome Safari Opera
outline-offset IE Firefox Chrome Safari Opera
column-count IE Firefox Chrome Safari IE
column-gap IE Firefox Chrome Safari IE
column-rule IE Firefox Chrome Safari IE
@keyframes IE IE Chrome Safari IE
animation IE IE Chrome Safari IE
transition IE IE Chrome Safari Opera

more info..
dheeru
Comments
Reactions

iPhone and Android application development using Titanium

By : Dheeraj Kumar Ketireddy

Titanium Mobile is Appcelerator's development platform for developing cross-platform native mobile applications. In this article we will be introducing you to installation and developing applications using Titanium.

Installation

Follow the steps mentioned here, to install Titanium and the corresponding sdks for your developement platform

Hello world application

Creating a new application and aplication structure is elaborately described in appcelerator gettting started guide

Creating Forms

Field Label

var win = Titanium.UI.currentWindow; // get refernce to the current window
var label = Titanium.UI.createLabel({
    text: 'Label Name',
    height: 50,
    color: '#000000',
    font:{fontSize:14},
    top: 20, // vertical postion of label on ...

more info..
thejaswi
Comments
Reactions

Link roundup 10

By : Thejaswi Puthraya

  • Troy Sobotka has a blog post on why GIMP is inadequate in the real world. Slightly worrying post.
  • Kevin McCarthy has an article on "How 3 companies (Yammer, Proxlet and Bocoup) use Node.js"
  • Pingdom has released a jaw-dropping article on "The Internet in 2010". A whopping 107 trillion emails were sent in the year!
  • Mathias Meyer has an exhaustive item on the different levels of monitoring with examples of services and software.
  • Yann Malet has written a neat post on how to write custom filters integrated into the django admin with a few lines of HTML.
  • bebraw on reddit ...

more info..
Topics : linkroundup

Link roundup 9

By : Thejaswi Puthraya

Welcome to the first post of 2011!

  • The Eldarion Team has launched "Gondor: An effortless production django hosting". Currently, it is in private beta and going by the homepage sounds very exciting.
  • PK Shiu has graphically explained the workflow of South, the most preferred migration tool for django.
  • Andy McKay has written an article on how to integrate bleach, an HTML whitelist and sanitizer with django. Rather than escaping the user's input completely (like innocuous formatting tags), it escapes only the risky tags like script tags.
  • There is an interesting article on O'Reilly Answers on "5 Things You ...

more info..
Topics : linkroundup
saikiran
Comments
Reactions

Book Review: The Principles Of Beautiful Web Design

By : saikiran - Designholik

This is a good book for anyone who's just starting out in web design, especially those with a creative slant than a technical one. It is all about principles of design, layout ideas, color theory, textures, typography.

Information Architecture

Importance of information architecture (IA) is explained, like how to take the requirements before starting the design process and how to start the design process. Unfortunately most of the clients do not provide enough information for design process.

Grid system

Very well explained about the importance of grid system. I found some interesting things like “The Rule of Thirds”, “960 ...

more info..

Link roundup 8

By : Thejaswi Puthraya

  • Django Dose community catchup episode #32 is out. Listen to it here.
  • Luke Plant has released a django app called django-anonymizer. It anonymizes sensitive data like customer information while maintaining the database structure intact.
  • Armin Ronacher who contends that web development is dangerous (and rightly so!) blogs about the common mistakes made by a web developer.
  • John Anderson has a very interesting post on "Tips and Tricks for the Python Interpreter". Must read!
  • Charles Leifer has written a generic app to provide for auto-completion of django models. Currently, it supports the solr, redis and sql database backends.
  • Kyle Neath has ...

more info..
Topics : linkroundup
thejaswi
Comments
Reactions

Django emacs setup

By : Thejaswi Puthraya

My colleague Javed had written a fantastic article a short while back on "Seven reasons why you should switch to Vim" and as an emacs user I thought I should share my setup too. One of the coolest things at Agiliq is that we are free to use the development tools of our choice. As a case to explain the point, everyone at agiliq uses a different editor and if someday a flame war would escalate to the third world war, I assure you it would start from Agiliq ;-)

Though I have been using emacs for more than two years ...

more info..
Topics : emacs
shabda
Comments
Reactions

Book Review: Pragmatic Guide to JavaScript

By : Shabda Raaj

Pragmatic Guide to JavaScript is the Pragprog's book by Christophe Porteneuve which I have wanted to read for a while.

I went into this book expecting to read actionable and task focussed book on modern JavaScript, and this book does not disappoint on that count. Using 35 tasks which you are going to need in your browser based JS development, this books teaches required JS techniques.

However I went into the book expecting a framework agnostic approach. This book however is very heavily focussed on Pototype. Initial chapters start as framework agnostic, but they soon turn into Prototype based ...

more info..
Topics : book reviews

Book review: The Principles of Successful Freelancing

By : Shabda Raaj

The Principles of Successful Freelancing is book I read after The Principles of Project Management.

My motivation from this book was to use freelancing advice and use that for our (larger) business. This book is razor focussed on Freelancing and even more on people who are starting with or considering starting freelancing. If you are in this group I consider this book very well written, and a must read, but if you are part of a larger group, the razor sharp focus makes this not worthwhile.

Chapter wise it is:

  1. Chapter 1: Considering Freelancing?
  2. Chapter 2: Prepare for the Transition ...

more info..
Topics : book reviews
shabda
Comments
Reactions

Book review: The Principles of Project Management

By : Shabda Raaj

The Principles of Project Management is the book I am reading after Outsourcing Web Projects.

I went into this book expecting lot of actionable steps I can use for our projects right away, however this book is heavier on theory. Guess I can not complain with the name being The Principles of Project Management.

In their own words the book has,

So What Is Project Management Anyway?

This chapter forms an introduction to the art and science of project management. Here, we talk about the key phases every project goes through and why project management skills are increasingly important today ...

more info..
Topics : book reviews
shabda
Comments
Reactions

Book Review: Outsourcing Web Projects.

By : Shabda Raaj

Sitepoint had a book sales running recently where they made all their books available for sale at 7$. Being a sucker for good books and deals, I bought more than I should have. Here is the review of the first I read, "Outsourcing web projects."

This books is written from the viewpoint of buyers, but as a vendor, I have some insights (IMO) from the other side.

It starts with these chapters.

  • How to Have Vendors Competing for your Job.
  • How to Find the Perfect Outsourcing Partner.
  • How to Get the Best Price for your Project.
  • How to Get it ...

more info..
Topics : book reviews

Link roundup for week ending 24/12/2010

By : Thejaswi Puthraya

It's been a while since we posted a link roundup. With holidays starting soon, we thought of advancing the post.

  • In the second part of the series the Open Source team at The Washington Times writes about "App-centric django development". Here they discuss the files required for a complete app.
  • Are you a full-stack programmer? Interesting article by Carlos Bueno of Facebook on the various interconnections in computing.
  • Daniel Greenfeld wrote a post on why he prefers stupid template languages. His post received reactions from Armin Ronacher, author of Jinja2, Mike Bayer of Mako and Steve Holden, chairman of ...

more info..
Topics : linkroundup
Javed
Comments
Reactions

Real time applications with Django, XMPP and StropheJS

By : Javed Khan

TL;DR:

Introduction:

PubSub is a XMPP extension which allows publishing and subscribing to events. This is useful when you instantly want to notify many clients about something interesting happening on your server.

Quoting the authors of PubSub specs:

The protocol enables XMPP entities to create nodes (topics) at a
pubsub service and publish information at those nodes; an event
notification (with or without payload) is then broadcasted to all ...

more info..

The Unfuddle Tutorial

By : Shabda Raaj

Unfuddle is the tool we use for our non open source development. I have found it to be the best tool for Software Project management, in particular I think it is superior to Basecamp and Assembla.

When you start using Unfuddle, the number of things can seem overwhelming. This tutorial should help you Unfuddle the Unfuddle.


The Unfuddle Glossary

Unfuddle has,

  • Projects: Top level Things which need to be done.
  • User: People who are working on a given project.
  • Ticket: What a User works on.
  • Milestone: A timed list of tickets which should be completed before this given time ...

more info..
Topics : tips tutorial
shabda
Comments
Reactions

Experiments in URL design.

By : Shabda Raaj

Keeping url structure sane plays a major role in user experience, by making it easy to go to specific pages and navigate the site. Some real world urls and how they could have been better follow.


The Bad Urls:

  • http://news.ycombinator.com/item?id=1967820
  • http://area51.phpbb.com/phpBB/viewforum.php?f=99
  • http://msdn.microsoft.com/en-us/aa336522.aspx

The Good

  • Easy to develop for. The id referred is the Primary key

The Bad

  • Hard for users to select the correct page from a url bar dropdown
  • Bad for SEO

Neutral:

  • Easy to guess next and previous ...

more info..
Topics : opinion web2.0 apps urls
© Agiliq, 2009-2012