Wednesday, 31 July 2013

Installing Zend Framework 2.0

All,

Here is a quick guide to do for installing your ZF 2.0 in Wamp


Step

1 Install wamp, only the x86 version because the latest version of php is already most recent on x86 with wamp (usefull or mendatory to use PHPUnit). After installation, activate rewrite_module @ wamp icon in the task bar > apache > modules
2 Go to wamp > bin > php > php version folder, open the file php.ini and uncomment one line, usefull for the command line with composer.phar and others .phar (don't use the icon wamp in the task bar, it's not the same effect, one is for php as module of the http server, this other php.ini is for php as php application, only this change work for cli request).
extension=php_openssl.dll
3 Download composer.phar http://getcomposer.org/
5 Download and install http://getcomposer.org/Composer-Setup.exe to fix the windows path environment OR you can add yourself, type "variable path" in the windows search, hit "...system...", click "Environment variables" in the (just opened) window, search "path" in the list, select, then click modify, and add @the end of the line: ;C:\wamp\bin\php\php5.4.16 (change the values for your good version and path).
6 Follow the instruction if you use the executable (the only one thing requested @ the installation is to match correctly the wamp directory of php.exe like wamp > bin > php > php version > php.exe)
remark: if you don't need extra install, you can define the variable path yourself or use all phar command in your shell with .\ before the.phar, and the command line run correctly
e.g.
cd c:/wamp/www
php .\composer.phar self-update
7 After downloading, put composer.phar and zftool.phar to the www directory of wamp
8 Go to > wamp > bin > apache > apache version > conf folder, open the file httpd.conf and uncomment the line
Include conf/extra/httpd-vhosts.conf
9 Download and install the github/shell @ http://windows.github.com/ (or another shell)
10 Start your Git shell or your shell
11 command line now...
cd c:/wamp/www
php zftool.phar create project c:/wamp/www/zf2
cd ./zf2
php composer.phar self-update
php composer.phar install
12 Go to > wamp > bin > apache > apache version > conf > extra folder, open the file httpd-vhosts.conf and add
<VirtualHost *:80>
    ServerName localhost
    DocumentRoot "c:/wamp/www"
    SetEnv APPLICATION_ENV "development"
    <Directory c:/wamp/www>
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerName zf2.localhost
    DocumentRoot "c:/wamp/www/zf2/public"
    SetEnv APPLICATION_ENV "development"
    <Directory c:/wamp/www/zf2/public>
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
13 Open as administrator (right click) your text editor and open the file > windows > system32 > Drivers > etc > hosts and add the line
127.0.0.1   localhost
127.0.0.1   zf2.localhost localhost
14 Mendatory: Restart your computer OR console: ipconfig /flushdns + restart wamp
15 Start now your wamp server, open your browser and visit zf2.localhost - Welcome to Zend Framework 2 coders !
From now, it's a few step to start any project with zf2, just create the project with the step 11 (just choose another folder name) and also step 12 + 13 (just add a virtual host but just choose another folderpath name and another domain.localhost name)

Monday, 22 July 2013

How to create Chat Application for your Website

Chat-js | jQuery plugin for instant messaging

ChatJS is a full-featured, lightweight, Facebook style jQuery plugin for instant messaging.
This jQuery plugin has got the following features :-
  • Real time message sharing.
  • Automatically parses URLs and emoticons.
  • Automatically remembers opened windows across diferent requests (through cookies).
  • Triggers a sound notification when the user receives a message.
  • Indicates when the other user is typing.
  • Supports multiple chat rooms. If you have a multi-tenancy app you can create a room for each tenancy, for instance.
  • Supports multiple browser windows opened with the same session. They all get properly sinchronized.
  • Customizable texts. You can easily translate it to your language.
  • Both client and server code ready to be used for ASP.NET with SignalR.
Created by AndrĂ© Pena  you can download the app 
https://github.com/andrepena/chatjs/archive/chatjs-main.zip
For a customized chat solutions or any other Web Apps development talk to Raghav +91.99020-35965
or mail to raghav@ravinatechnologies.com

Sunday, 21 July 2013

Improving your Website Performance

Speed counts on the web, and by using CacheFly for your website you can deliver your website up to 10xfaster than traditional hosting.
   Whether you're looking to increase your revenue by increasing visitor retention, or trying to impress prospective clients, your success is based on your ability to impress your visitors. Over 60% of visitors said they would not return to a website which had slow-loading pages, and studies have shown that visitors make a decision about 'liking' a website within the first 5 seconds.

So... how fast is your website?

CacheFly makes it faster:
  • CacheFly's BestHop™ traffic management system delivers your content at blazing speeds by delivering your content from the 'edge' of the internet, placing it closer to your visitors.
  • Your content is always available. Guaranteed. So there is no need to worry about losing customers because of an ineffective server or network issues.
  • Offload images, flash, javascript and stylesheets from your origin infrastructure
  • Full support for gzip compression and expires headers
The load-time of your website affects your bottom line, period.

Quick facts about the critical impact of load times:
  • E-commerce sales losses may be as high as $4.35 billion due to slow download user frustration
  • Visitors who consider a website 'fast' will visit an average of 1.6x more pages than on a site they consider slow. That's60% more chances to close a sale, or a 60% revenue boost for advertising based sites.

Our customers gain a business partner who understands that performance is paramount. We are not in the hosting business; we are in the performance business.

CacheFly delivers over 20 billion hits per month, at speeds that leave even the fastest single-location hosts in the dust. For more on the subject visit their website - www.http://www.cachefly.com/website.html
For all your Web Apps Development Projects contact Raghav - Talk 99020-35965 or mail raghav@ravinatechnologies.com

Thursday, 18 July 2013

Creating multiple users in Zend Framework 2.0

Friends,
I found this write up interesting on the subject.  There are multiple ways we can create users in ZF but this one is quite useful.
=====
 I frequently use a ‘users’ table that has (at least) the following fields: 

CREATE TABLE `users` ( 
`id` int AUTO_INCREMENT NOT NULL, 
`username` varchar(255) NOT NULL, 
`password` varchar(32) NOT NULL, 
`first_name` varchar(255) NOT NULL, 
`last_name` varchar(255) NOT NULL, 
`active` varchar(45) NOT NULL, 
`role` varchar(45) NOT NULL, 
`password_last_change` date NOT NULL, 
/* Keys */ 
PRIMARY KEY (`id`) 
) ENGINE = MyISAM; 

———————————————- 
Add an access controller list module that you load on startup (use the code line: require once ‘path_to_aclmodule/your_acl_module.php’; in your index.php ) that has some of these entries: 

<?php 
require_once ‘Zend/Acl.php’; 

$acl = new Zend_Acl(); 

require_once ‘Zend/Acl/Role.php’; 

// Define ROLES for the system 
$acl->addRole(new Zend_Acl_Role(‘Developer’)); // Can access all feature 
$acl->addRole(new Zend_Acl_Role(‘Admin’)); // Can access Admin funtions 
$acl->addRole(new Zend_Acl_Role(‘User’)); // Can access only USER but not Admin 


// Define RESOURCES that need permission to be used/manipulated 
require_once ‘Zend/Acl/Resource.php’; 
$acl->add(new Zend_Acl_Resource(‘user_admin’)); 
$acl->add(new Zend_Acl_Resource(‘someimportantfeature’)); // A functiion in a controller that requires access control 

//Configure regular User 
$acl->deny(‘User’); 
$acl->allow(‘User’, ‘a_user_function’); 
$acl->deny(‘User’, ‘someimportantfeature’); 

//Configure an Administrator 
$acl->allow(‘Admin’); // all rules 



Zend_Registry::set(‘acl’, $acl); 
——————————————- 

… and, after loading your db ‘users’ table with user data + the ‘role’ value for each like: Admin, User, whatever.. reference and check the ‘role’ in a controller with: 

class ViewController extends Zend_Controller_Action 

public $user_role; 

function preDispatch() { 
$auth = Zend_Auth::getInstance(); 
if (!$auth->hasIdentity()) { 
$this->_redirect(‘/’); 
} else { 
$userdata = $auth->getIdentity(); 
$this->user_role = $userdata->role; 
$this->view->user_role = $userdata->role; // to pass around in the ‘forms’ and ‘menus’ 
$this->username = $userdata->username; // for use by called functions in this controller (below) 




——— 

And actually test the role at the beginning of a function in the controller similar to this: 

function someimportantfeatureAction() { 
//***************ACCESS CHECK*************************// 
$acl = Zend_Registry::get(‘acl’); 
if(!$acl->isAllowed($this->user_role, ‘someimportantfeature’, ‘view’)){ // user_role(s) is NOT ALLOWED to access this function unless specifically allowed in access control list. 
print_r($this->user_role); 
$this->_redirect(‘/static/noaccess’); 

//***************END ACCESS CHECK*************************// 

….. if the above access test is passed (Admin = yes, User = No), then your controller function gets to run. 

The above snippets are NOT in any way the only way, but just part of an existing site that uses access control via a users table with roles and other values that can be checked.


For all your Web applications development projects keep coming to us !!

Raghav 
# 990.203.5965
Ravina Technologies
No.24 Pattamal Plaza 
3rd Cross Kamanahalli 
BANGALORE 560084 
Get the Best from US !!

Monday, 15 July 2013

Developing Web Apps using Zend Framework 2.0

Zend Framework 2 is an open source framework for developing web applications and services using PHP 5.3+. Zend Framework 2 uses 100% object-oriented code and utilises most of the new features of PHP 5.3, namely namespaces, late static binding, lambda functions and closures.
Zend Framework 2 evolved from Zend Framework 1, a successful PHP framework with over 15 million downloads.
The component structure of Zend Framework 2 is unique; each component is designed with few dependencies on other components. ZF2 follows the SOLID object oriented design principle. This loosely coupled architecture allows developers to use whichever components they want. We call this a “use-at-will” design. We support Pyrus and Composer as installation and dependency tracking mechanisms for the framework as a whole and for each component, further enhancing this design.
We use PHPUnit to test our code and Travis CI as a Continuous Integration service.
While they can be used separately, Zend Framework 2 components in the standard library form a powerful and extensible web application framework when combined. Also, it offers a robust, high performance MVC implementation, a database abstraction that is simple to use, and a forms component that implements HTML5 form rendering, validation, and filtering so that developers can consolidate all of these operations using one easy-to-use, object oriented interface. Other components, such as Zend\Authentication and Zend\Permissions\Acl, provide user authentication and authorization against all common credential stores.
Still others, with the ZendService namespace, implement client libraries to simply access the most popular web services available. Whatever your application needs are, you’re likely to find a Zend Framework 2 component that can be used to dramatically reduce development time with a thoroughly tested foundation.
The principal sponsor of the project ‘Zend Framework 2’ is Zend Technologies, but many companies have contributed components or significant features to the framework. Companies such as GoogleMicrosoft, and StrikeIron have partnered with Zend to provide interfaces to web services and other technologies they wish to make available to Zend Framework 2 developers.
Zend Framework 2 could not deliver and support all of these features without the help of the vibrant Zend Framework 2 community. Community members, including contributors, make themselves available on mailing listsIRC channels and other forums. Whatever question you have about Zend Framework 2, the community is always available to address it.
If you are looking to build your next generation Web Apps come to us - Call Raghav +91.99020-35965 or mail raghav@ravinatechnologies.com

Sunday, 14 July 2013

SEO Training Bangalore

Search Engine Optimization, on-page optimization refers to factors that have an effect on your Web site or Web page listing in natural search results. These factors are controlled by you or by coding on your page. Examples of on-page optimization include actual HTML code, Meta tags, keyword placement and keyword density.
  • Site Analysis
  • Keyword Research and Density
  • Title Tag
  • Meta Description Tag
  • Internal Linking of web pages
  • Alt Tags for images
  • Easy URL Structure for with keyword
  • H1, H2 & Strong tags
  • Effective use of robots.txt file
  • XML & HTML Sitemap
  • Use of No-follow links
  • Google Analytics & Webmaster
  • 301 Redirects
Off Page Activities
As we all know, the Search Engine Optimization field is booming day to day with new inventions and innovations. People may not know that much of what they have learned yesterday will be out of date by tomorrow. Unless one updates his knowledge by reading SEO news/articles, there is no doubt he'll lag back in the SEO race.
  • Directory Submission
  • Social Bookmarking Submission
  • Article Writing & Submission
  • Press Release Writing & Submission
  • Blog Commenting & Posting
  • Forum Comment
  • Search Engine Submission
  • Social Profile Page Creation
  • Social Networking Sites Promotion ( Facebook, Twitter, LinkedIn, Friend feed)
  • RSS Feed Submission
  • CSS Feed Submission
  • Video Creation & Promotion
  • Classifieds/Local Submission
  • Yahoo Answers
  • PPT Submission
  • Image Optimization & Submissions in flicker like sites
  • Link wheel Creation
  • Document Sharing
  • Guest Blogging

Raghav 
# 99020-35965

Ravina Technologies
No.24 Pattamal Plaza 
3rd Cross Kamanahalli 
BANGALORE 560084 

www.ravinatechnologies.com 
Get the Best from US !!

#Ravina Technologies

All you wanted to know about SEO

SEO 

SEO is an acronym of  Search Engine Optimization. And this is all about getting better visibility in Search Engine Result Pages (SERP) for the websites/blogs/forums/portals to attract more visitors/traffic to it and increase the conversion rate thus ROI. SEO is a system of methods used to enhance a website’s ranking in search engine’s organic or natural (not paid) search results. This includes optimizing the on-page factors, such as using relevant keywords, making sites W3C compliant, and a whole range of important SEO techniques and  off page activity includes most importantly building links to increase link popularity of websites. Then Social Media Optimization takes it place followed by social bookmarking and blog marketing.

Basically SEO is about

  • Making a website relevant to the search engines and
  • Making it popular by building links to it from other websites
To make a website relevant for any particular theme is executed by opting on page optimization factors like
  • Restructuring of website’s architecture
  • Restructuring of URL structure
  • Implementation of Meta Tags
  • Implementation of Heading tags
  • Removal of search engine unfriendly elements.
  • Writing Search engine friendly codes and optimizing the existing ones.
  • Insertion of keyword inside the content maintaining certain important parameters
  • Interlinking with proper anchor texts
  • Image Optimization
  • Page Rank sculpting
  • Sitemap submission
  • Solving canonical issues
  • Solving duplicate content issues
  • Video optimization
  • Others (Can’t afford to reveal publicly)
And to make a website popular, the site has to attract votes in terms of links from other existing websites. And this is the most important part of SEO. Just making a site relevant will not do. There has to be links pointing to it.
Link structure can be of variety of types like
  • Reciprocal Links
  • One-way backlinks
  • 3-way back linking & other complex structures
And the linking should be done with a keyword rich link text or anchor text. Using proper anchor text increases the value of links a many fold. But variation  of anchor texts is very much needed in order to avoid raising red flags in G’s control room.
Links can be built many a ways.
  • By directly requesting to webmasters for  backlinks
  • Web directory submissions
  • Article directory submissions
  • links from web 2.0 sites.
  • Forum signature links
  • Blog directory submissions
  • RSS directory submission
  • Commenting on Blogs
  • Other link building strategies (Can’t afford to reveal publicly)

Social Media Optimisation (SMO) : 

It is about optimising websites to attract traffic from social Media like Facebook, Twitter, Linked in etc.

Social Bookmarking:

This is about posting existing  blog posts or writing content in social bookmarking sites like Digg, Delicious, Reddit, Linked in etc. It does not help much in hiking the position on SERP but it gets traffic for the site.
Blog Marketing : 
As search engine loves blogs due to its frequent updating nature, a blog can highly be integrated with websites and interlinked with the  different pages (deep linking) of the host website to get the SEO benefit from it.
For SEO Consult Us !
Raghav 
# 99020-35965

Ravina Technologies
No.24 Pattamal Plaza 
3rd Cross Kamanahalli 
BANGALORE 560084 

Get the Best from US !!

Thursday, 11 July 2013

Creating awesome graphics using Google Charts

Developers

Here is a wonderful resource for the Developer community to use Google Charts for creating awesome Graphics for your Dashboards.


If you are looking for creating a high featured Dashboard get in touch with Raghav 99020-35965 or mail him raghav@ravinatechnologies.com

Ravina Technologies
No.24 Pattamal Plaza 
3rd Cross Kamanahalli 
BANGALORE 560084 

Get the Best from US !!

Wednesday, 3 July 2013

Web Apps Development - Angular JS

the goal of Angular “is to augment browser-based applications with model–view–controller (MVC) capability” and it does just that, providing a binding/MVC framework. That’s two-way binding, mind you. Delicious. With a structure as simple as {{ my data }}, you bind data to your page. The $scope service detects changes to the model and modifies HTML expressions in the view by way of controllers. Working in the other direction, changes to the view are reflected in the model. This removes the need for the vast majority of data-centric DOM manipulations many of us, myself included, take for granted when working with a library like jQuery.

Angular has the $http service and powerful directives that make it almost always unnecessary.” One thing is for sure, if you stick to Angular, the jQuery loops and explicit back-and-forth with the server will be absent from your code, since Angular provides such a succinct and clean method of achieving the same things.

Directives
Angular uses directives to plug its action into the page. Directives, all prefaced with ng-, are placed in html attributes.
Some common directives that come pre-built with Angular are:
ng-app: this is essentially the initial entry point of Angular to the page. It tells Angular where it gets to act. <html ng-app> is all it takes to define a page as an Angular application.

ng-bind: changes the text of an element to the value of an expression.
<span ng:bind=”name”></span> will display the value of ‘name’ inside the span. Any changes to ‘name’ are reflected instantly in the DOM anywhere the variable is used.
ng-controller: specifies the JavaScript class for the given action. Controllers are typically kept in external .js files.
ng-repeat: creates the very clean loop structures in your page.
<ul>
<li ng-repeat="item in items">
{{item.description}}
</li>
</ul>

effortlessly loops through each item in the collection.

I haven’t used them yet myself, but I have read that creating custom directives can be a tricky issue, something that takes some time to wrap your head around. Angular offers a video to help clarify
 the concept.  Visit their website <a href="http://angularjs.org/"></a>

Get in touch with us for building your robust Web Apps Development Call Raghav 099020-35965 or mail raghav@ravinatechnologies.com today for customized solutions !!


Tuesday, 2 July 2013

Website Review - IMCreator

IM-Creator is a new way to create your website: choose a design, insert your content and publish it to the world – all in one simple, clear and seamless process.

We initially built IM-Creator as a solution for our friends & family- they were in need of a website but the process frustrated them.
It was just too complicated, expensive and confusing- they spent time & money but many of them gave up even before completing the process.

We decided to solve it.

IM-Creator is all about making website building a simple and enjoyable experience, accessible for everyone.

Our team of web-design professionals and developers will make sure you always have the finest collection of web-designs, easiest editing environment and reliable hosting, all so you’ll have a great sustainable website.

IM-Creator is powered by Google & Amazon, creating robust and reliable foundations for your website.


How does it work?

Step 1 – Choose a Design: each month we publish dozens of new templates to accommodate your needs: portfolio websites for designers, photographers and artists, websites for business professionals, websites for restaurants and more. Check out our catalog and choose the design that will fit you best. All templates are wisely-structured and come with compelling and relevant content, so they’re pretty close to completion. Our goal is to provide you an “almost-done” site.

Step 2 – Customize: after selecting a design, you can start inserting your content – text, pictures, videos etc. It’s all very simple. Just click on the element you wish to edit and insert your content. IM-Creator will then adapt your content to the existing design, hassle-free for you.
All of our designs come with suggested structure and pages. However, you can always change it as you wish and add/delete pages. Simple and flexible.
If you encounter any issues when you create your site, click on the “support” tab and the IM-Creator support team and community will be there to assist you.

Step 3 – Publish: once you finished creating your website, you can connect it to your existing domain or purchase a new one. It’s a fast & easy process and at the end you’ll have a live, easy to update and Google-friendly website (you can even have your own email!)
Start now, creating the website is free.


IM-Creator for web designers:

IM-Creator allows you, the web designer, to provide a better solution for your clients.  Through our tools, you will be able to design websites faster without the need of expensive developers. In addition, you will be able to provide your clients with simple & flexible tools for them to freely update the website. The tools and designs are all provided free for your use.
As a designer, you will be able to offer your clients to choose an existing design from our catalog or create a brand new one. After, your client can log in, insert his or her content and you will be able to focus on the design.
In any case, you won’t need to deal with HTML coding or any of the technical aspects of hooking up the site to a domain and hosting.

For awesome webdesigns and highly complex Web Apps Development get in touch with Raghav 09902035965 or mail raghav@ravinatechnologies.com

How to - Building your company page in Linkedin

Market your business to the LinkedIn community by creating a LinkedIn Company Page. Raise awareness of your brand,  promote career opportunities, and educate potential customers on your products and services.

Click on the link below to get started to build your Company Webpage on Linkedin and how you can greatly benefit your business by having your presence on Linkedin Company pages.

http://www.marketing.linkedin.com/company-pages/

If you are looking at expertise in customized building of your company web pages and get the best from it - Call Raghav 099020-35965 or mail raghav@ravinatechnologies.com

Ravina Technologies
No.24 Pattamal Plaza 
3rd Cross Kamanahalli 
BANGALORE 560084 

Get the Best from US !!