Sunday 21 December 2014

Book Review: Building a Login System using Sencha Touch by Josh Morony

I got a chance to review this eBook "Building a Login System using Sencha Touch" by Josh Morony.

If you need to integrate Login form in your Sencha Touch App that you haven't done it before, this is book for you. Also if you like to integrate the facebook login and need to generate the native android and IOS binary file that need to distribute to your App Store, this is the book for you. Here is my detailed review on this book in chapter wise.

Take advantage of Packt's awesome eBook bonanza – every eBook and video is $5



Following the success of last year’s festive offer, Packt Publishing will be celebrating the holiday season with an even bigger $5 offer.

From Thursday 18th December, every eBook and video will be available on the publisher’s website for just $5. Customers are invited to purchase as many as they like before the offer ends on Tuesday January 6th, making it the perfect opportunity to try something new or to take your skills to the next level as 2015 begins.

With all $5 products available in a range of formats and DRM-free, customers will find great value content delivered exactly how they want it across Packt’s website this Xmas and New Year.

Find out more at http://bit.ly/1w1Vkps

Sunday 6 July 2014

Packt’s celebrates 10 years with a special $10 offer


This month marks 10 years since Packt Publishing embarked on its mission to deliver effective learning and information services to IT professionals. In that time it’s published over 2000 titles and helped projects become household names, awarding over $400,000 through its Open Source Project Royalty Scheme.
To celebrate this huge milestone, from June 26th Packt is offering all of its eBooks and Videos at just $10 each for 10 days – this promotion covers every title and customers can stock up on as many copies as they like until July 5th.
Dave Maclean, Managing Director explains ‘From our very first book published back in 2004, we’ve always focused on giving IT professionals the actionable knowledge they need to get the job done. As we look forward to the next 10 years, everything we do here at Packt will focus on helping those IT professionals, and the wider world, put software to work in innovative new ways.
We’re very excited to take our customers on this new journey with us, and we would like to thank them for coming this far with this special 10-day celebration, when we’ll be opening up our comprehensive range of titles for $10 each.
If you’ve already tried a Packt title in the past, you’ll know this is a great opportunity to explore what’s new and maintain your personal and professional development. If you’re new to Packt, then now is the time to try our extensive range – we’re confident that in our 2000+ titles you’ll find the knowledge you really need , whether that’s specific learning on an emerging technology or the key skills to keep you ahead of the competition in more established tech.’  
More information is available at www.packtpub.com/10years


Tuesday 6 May 2014

Packt celebrates International Day Against DRM, May 6th 2014


Packt Publishing firmly believes that you should be able to read and interact with your content when you want, where you want, and how you want – to that end they have been advocates of DRM-free content since their very first eBook was published back in 2004.

To show their continuing support for Day Against DRM, Packt Publishing is offering all its DRM-free content at $10 for 24 hours only on May 6th – that’s all 2000+ eBooks and Videos at www.packtpub.com.

Thursday 27 March 2014

Add custom configuration properties for component classes in Sencha Touch

Sencha Touch component classes comes with default configurations. Let's say for Ext.Button component classes, following are some of the default configurations
  • cls
  • style
  • text
  • id
  • itemId
  • and so on
In addition to that, Sencha touch also supports adding your own configuration properties. Let's see an example by adding custom configurations for button class components.

Sunday 23 March 2014

Book Review: Learning Android Intents by Packt publishers



I got a chance to review this eBook Learning Android Intents by Muhammad Usama bin Aftab and Wajahat Karim. This book contains around 300 pages with nine chapters and published by Packt Publishers.

This book "Learning Android Intents" begins explaining about the introduction on Android and proceed with explaining about the various Intent services available for the android platform. Following are some of the Intent Services available in this eBook with detailed explanation.

Thursday 20 March 2014

Packt Publishing celebrates their 2000th title with an exclusive offer - We've got IT covered!


Known for their extensive range of pragmatic IT ebooks, Packt Publishing are celebrating their 2000th book title 'Learning Dart'– they want their customers to celebrate too.
To mark this milestone Packt Publishing will launch a 'Buy One Get One Free' offer across all eBooks on March 18th – for a limited period only.

Wednesday 19 March 2014

Apply animation for buttons in Sencha Touch 2

In Sencha Touch 2, button component supports animation using showAnimation and hideAnimation configurations. These configuration will be applied when the button is hidden and shown in the viewport. Let's see the implementation followed by the browser output.

Monday 17 March 2014

Implement single inheritance for config object in Sencha Touch 2

Today, we are going to see how to apply single inheritance for component config object using Ext.apply() method in Sencha Touch 2. This Ext.apply() method accept three parameters and returns the final object.

Object:  The receiver of the config properties
Config: The source of the config properties
defaults: The different object that will also be applied for default values.

Thursday 13 March 2014

App Inspector Chrome extension for debugging Sencha and ExtJs applications

App Inspector is an extension from Google Chrome DevTools for debugging Sencha Touch and ExtJs applications. This extension tool will help you to inspect the sencha component DOM tree, data stores, events and layouts.

App Inspector Tool has been developed by Sencha Labs and released as a free web developer tool extension for Google Chrome browser. Following are the features supported by App Inspector exyension.
  • Component Inspector: quickly and easily navigate the Component tree, highlighting components in the DOM and viewing their properties.
  • Store Inspector: view the data stores in your app and explore individual records.
  • Layout Profiles: intelligently dissect application layouts to identify potential performance and display problems.
  • Event Monitor: record Observable events.

App Inspector for Sencha also detects the framework and package versions used in your application, so it’s easy to identify the specifications for individual applications. Please find the snapshot image on the App Inspector tool in my chrome browser developer tool.
For more detailed information regarding this extension tool installation and its supported features. Please refer the Sencha Blog Site.

You can contribute to the extension by visiting the GitHub  Source Code.



Monday 10 March 2014

How to add Bar chart in Sencha Touch 2

In my personal Project 'Expense Tracker', i need to integrate Bar Chart using Cartesian Chart  in order to track by expenses based on my categories. I successfully integrated Bar chart in my Expense Tracker App. Here is the final output


Monday 24 February 2014

Book Review: Sencha Touch 2 Mobile Javascript Framework by John Earl Clark and Bryan P Johnson


I got a chance to review this eBook Sencha Touch 2 Mobile Javascript Framework  by John Earl Clark and Bryan P. Johnson. This book is published by Packt Publishers.

I am really impressed after reading initial chapters and this book starts explaining about Sencha Touch Frameworks, its various components and configurations, how to attach event listeners (initialize, tap, itemtap etc) to those components, data management using models and stores and finally explains about consuming data from Flickr API. Also this book covers advanced topics on Sencha Touch 2 Framework.

Thursday 20 February 2014

CakePHP: How to check user loggedIn or not in View Helper

For past few days, i am working on CakePHP Projects. I need to to verify whether user loggedIn or not in the CakePHP view files. In order to achieve this, i need to access Auth Component in View Helper. But CakePHP doesn't have AuthViewHelper Class by default. So i added an helper method  isLoggedIn() which will check whether User loggedIn or not. Here is the implementation code.

Monday 17 February 2014

Sencha Touch: Expense Tracker app development tutorial - Part6

If you haven't read my previous post, please read first and proceed furthur. Today we are going to see the final post for this post series - how to build the Expense Tracker App using Phonegap build for Android Platform.

I refered the Android Platform Guide in Phonegap API Documentation in order to build my app. This page contains Android SDK installation instructions for windows and linux operating systems.  Following are the project setup and build instructions specific for Android Platform.

Wednesday 12 February 2014

Sencha Touch: Expense Tracker app development tutorial - Part5

If you haven't read my previous post of this post series. please read first and proceed this post. today we are going to see the about controllers, how we can attach events for the views in controllers and creating utility singleton class in order to store configuration settings for Expense Tracker app.

Utility Singleton Class:

I created an singleton utlity class in order to store app configuration settings and common methods that will be accessed  throught my application. Following are the configurations

Tuesday 11 February 2014

Sencha Touch: Expense Tracker app development tutorial - Part4

If you haven't read my previous post of this post series. please read first and proceed this post. today we are going to see the source code for the remaining view pages in Expense Tracker app.

Add/Edit Category Page:

By clicking Add button in the category listing page, you will be redirected to the add new category page. This page contains two text fields Category Name and Category Price.

Monday 10 February 2014

Integrate Zend Framework into CakePHP application

Today, we are going to see how we can integrate Zend Framework version (1.12) into CakePHP Application. In order to achieve this, i created an autoloader script which will load the Zend Framework class at the time of accessing the class (creating object). I used spl_autoload_register() function which will register a function as the __autoload() function. Let's see the autoloader php class implementation.

Thursday 6 February 2014

Sencha Touch: Expense Tracker app development tutorial - Part3

If you haven't read previous posts of this post series, Please read first and proceed this post. today, we are going to see the source code for the view pages in Expense Tracker App.

HomePage View:

Home page displays Tab Panel with 3 tabs Categories, Expenses and Settings. Each Tab is a container with list component as the child item.

Monday 3 February 2014

Sencha Touch: Expense Tracker app development tutorial - Part2

If you haven't read Part1 of this post series, Please read first and proceed this post. Today, i am going to explain the view pages that i created using the sencha view components (Tab Pabel, FormPanel, List etc) for my Expense Tracker App.

Saturday 1 February 2014

Sencha Touch: Expense Tracker app development tutorial - Part1

In Part1 of this 'Expense Tracker app development tutorial' Post series, i am going to explain the list of models and stores that i created for the Expense Tracker App.  Totally i created two stores and two models here is the explanation.

Friday 31 January 2014

Sencha Touch: Expense Tracker app development tutorial

I started developing Expense Tracker App using Sencha Touch 2.3 and build the app using Phonegap/Cordova. I thought that i need to keep track my daily expenses in my mobile phone and also i need to know how much i am spending based on categories (Tea/Coffee, Drinks, Film etc). These informations will be helpful for me to plan my future financial savings.

I almost completed the app development and installed it in my Phone (iPhone and Android). I faced lot of issues and obstaclus while developing this app. I like to share my app development experience to all my readers and also willing to explain the implementation with the help of source code here as a Post Series.

Here is the list of post series for Expenses Tracker App development

You can download the source code for the Expense Tracker App from the below GitHub Url
https://github.com/sureshdotariya/expensetracker/tree/master/corephp/ExpenseTracker

I hope you enjoyed all of my post series on Expense Tracker app development tutorial. See you soon on next set of blog post series.

Tuesday 28 January 2014

SenchaCon 2014 is Coming to the San Francisco Bay Area

SenchaCon 2014 will be in the heart of Silicon Valley at the Santa Clara Convention Center, November 10-13, 2014. This is a must-attend event, so mark your calendar now.

This state of the art facility sits next to the new 49ers football stadium and will house the ever popular Community Pavillion, where SenchaCon attendees can reserve a private session with a Sencha engineer, play a game of pool, grab some grub or check out our fantastic sponsors.

Link: http://www.sencha.com/blog/senchacon-2014-is-coming-to-the-san-francisco-bay-area/

Wednesday 15 January 2014

Sencha Touch : How to attach event listeners for DatePicker field

Today, we are going to see, how can we attach event listeners for DatePicker field in Sencha Touch 2. First lets create FormPanel Component and add DatePicker field. Here is the code

PHP: Compare two folders recursively for files match and mismatch

I like to share a PHP Code which is used for comparing two folders recursively in order to verify files in both directory are same or not. Final output will be displayed in the Table Format with colored text.  This php file is used for below cases.
  • Compare any two local SVN branch folders
  • Compare any two local files
  • and so on..

Monday 13 January 2014

Sencha Touch: How to group list items in a List Component

Today, we are going to see how to apply group for model items in Ext.dataview.List Component. This list component is used to list the items based on Store. Here is the usage of List Component in Web App:
  • List of messages in an email app
  • Show latest news/tweets
  • Tiled set of albums in an HTML5 music player 
  • and so on ...
Let's consider the below code for our demonstration purpose. We are going to list the users and apply group using their date of birth.

Different ways of querying the container hierarchy in Sencha Touch 2

Today, we are going to see the three functions query(), child() and down() that are used to query the direct child and sublevel child component in the container hierarchy. Let's take the below code for our demonstration purpose and explains the various ways for querying the container hierarchy.

Thursday 2 January 2014

Implement Flash Messages using Session in PHP - Part2

In Part1 of this Post Series, I explained about the introduction of Flash Messages and  its usages. we also saw the Interface PHP class for FlashMessage class. Today, we are going to see the FlashMessage class implementation.

PHP: How to insert array before/after the key into the existing array

Today, i like to share two handy array functions in PHP, which are used to insert array before/after the key into the existing array.

Insert array before function

This function will insert key/value as well as array before the key in the existing array.

/**
 * Inserts a new key/value before the key in the array.
 *
 * @param $key  The key to insert before.
 * @param $array  An array to insert in to.
 * @param $new_key  The key/array to insert.
 * @param $new_value  An value to insert.
 * @return array
 */
public function array_insert_before($key, array $array, $new_key, $new_value = null) {
    if (array_key_exists($key, $array)) {
        $new = array();
        foreach($array as $k = > $value) {
            if ($k === $key) {
                if (is_array($new_key) && count($new_key) > 0) {
                    $new = array_merge($new, $new_key);
                } else {
                    $new[$new_key] = $new_value;
                }
            }
            $new[$k] = $value;
        }
        return $new;
    }
    return false;
}