Sunday, February 27, 2011

Explore Zoho Reports

Formula Column
In addition to the base columns a table has, you can add a new column with a custom formula based on one or more of the table's other
columns. For example, say you have two columns for 'Sales' and 'Cost'.
You can define a custom formula 'Sales' - 'Cost' and add it as a formula column called 'Profit'. That's a simple example with the
difference function. There are a lot more functions listed based on type
- Date, Numeric, String, Aggregate, Statistical and General. Let's see
examples from each of these function sets.

Date: You can manipulate values of a given date column.

Example:
Let's say you have a column that has date values like 2011-01-01
12:30:48 (or say Jan 30, 2011). And you want to have a column that lists the corresponding day of the week. You can define the formula as weekday("Date").


    

Let's see another scenario for a date specific formula column. Say you want the number of days between a lead coming in and the sale getting closed. Or say, the number of days it takes to close a support ticket.  The formula to be used would be datediff("Date1", "Date2").

   

Numeric: Numeric formulas ranging from absolute value to mod to log to exponential to trigonometric functions like sin-cos-tan are all handled here.

Example
: Let's say you have some test data values in three columns and you want to list the greatest value of each row. You can define the formula as greatest("Column1","Column2","Column3")


  

String:
This type of formula functions deal with text values (known as 'string'in programmer lingo). Knowing the length of a given string, string concantenation (joining of two textual values), finding a substring, upper/lower case conversions etc are all dealt with here.

Example:
Here's a scenario. In one of the Date functions above, we saw weekday(date). What if you want only the first three characters of the weekday to be displayed? You can define the formula column like
left(weekday("Date"), 3)

    

Aggregate & Statistical : Functions like count, sum, average, variance, standard deviation, mean, median, mode etc

Example:
Suppose you want to calculate the column's average and find the difference for each row. You can have the formula as Column1 - Avg ("Column1"). Or say you want to calculate the percentage of a sale value to overall sales. The formula will be ("Sales"/Sum("Sales"))*100

   

General: If and ifnull functions.
Example:
There are instances where you won't like to have a null value. In such
a case you can have a formula defined something like ifnull(null, 0). All
cells with null values will get replaced by zero.
Consider another scenario. Say different product categories attract different taxes. We can calculate the tax with the formula if("Product Category"='Stationery', "Sales"*0.05, "Sales*0.08). This calculates the sales tax for Stationery as 5% and for other product categories as 8%. We can even have nested if conditions. Like if("Product Category"='Stationery', "Sales"*0.05, if("Product Category"='Furniture',"Sales"*0.10,"Sales"*0.08))

   

Tuesday, February 22, 2011

Cricket World Cup Tracking with Zoho

Do you follow Cricket?
If you do, you must certainly be excited about the ICC Cricket World Cup 2011 that is going on right now.

So to help you follow all the action, we've quickly tossed up a Zoho Sheet that gives you a full view of the tournament. You can see the schedule, teams, group standings, and of course, statistics.

http://sheet.zoho.com/public/zohosheet/world-cup-tracker




For a hot spot on a particular day's match and the Group Standings, you can embed the following snippets in your website/blog:


Today's Match Snippet:







<iframe src='http://sheet.zoho.com/publishrange.do?id=8d056b549340aec604ca138274ab4312' frameborder='0' style='height:102px;width:288px' scrolling='auto' marginwidth='0' marginheight='0'>&nbsp;</iframe>



Preview:


Group Standings Snippet:








<iframe src='http://sheet.zoho.com/publishrange.do?id=3ec08d610d7338e242d44f96071cef1e' frameborder='0' style='height:511px;width:432px' marginwidth='0' marginheight='0' scrolling='auto'> </iframe>



Preview:


Enjoy!

Saturday, February 19, 2011

Installing Trixbox Remote Server

have been using Trixbox for a while and I think it is time to have documented how to install it without CD using a VPS.

First, Trixbox is a set of tools that help you to maintain Asterisk.
Asterisk is opensource PBX software. It allows you to have VOIP extensions using your network connections. For my case, I have deployed 5 extensions in 5 different location in 3 countries with no long distance charge. Moreover, I can use my VOIP extension anywhere as long as I have Internet connection.

I started to use Trixbox at home using virtual machine running on Citrix Xen, however with time you realize that your phone system needs to be reliable and keeping it at home makes that task complicated (power outage, hardware problems). So I decided to move it to a data center.
Trixbox installation at home was pretty simple task since you can get de ISO image and burn a CD. But the big question was how I can install it on server running Centos 5.3 (32 bits)*

Note: I have installed Trixbox on Centos 5.3 (64bit), however Trixbox was designed to work on 32bit so you will probably have some issues with libraries since the path on Trixbox has bee set up to /usr/lib instead of /usr/lib64.

Choosing Hosting provider. My current installation is running with Godaddy , the service has been excellent and the price is ok ($30 a month for 256Mb, 20GB server) however I found a hosting provider RackUnlimited that can provide you the same for only $8 a month. At this point, I have a server with RackUnlimited and I am going to show the process of installing Trixbox.

Installation Process

1- Login on the server and make sure you have all the basic tools that you need. RackUlimited provide me with a very slim version Centos 5.3 so I had to install some packages.

# yum -y install vim-minimal sudo postfix

Also I like to install webmin ...so I grabbed the RPM form webmin.com and I installed it.

2- Install essentials packages for Trixbox.

#yum -y install mysql mysql-server mysql-devel

MySQL database

#yum -y install httpd memcached php php-pear php-mysql
# pear install DB

Apache Server and PHP packages

Now we I have server with a LAMP enviroments

3- Add the Trixbox repo

#vi /etc/yum.repos.d/trixbox.repo

[trixbox]
name=trixbox RPM Repository for CentOS and RHEL
baseurl=http://yum.trixbox.org/centos/$releasever/RPMS/
gpgcheck=0
enabled=1

#yum clean all

4- Install asterisk

#yum install asterisk
#mkdir /etc/asterisk
#cp /etc/asterisk-1.4.21.2_samples/ /etc/asterisk

5- Start all services.

#/etc/init.d/mysql start
#/etc/init.d/httpd start
#/etc/init.d/memcached start
#/etc/ini.d/asterisk start

6- Install Trixbox scripts.

#yum install tbm-pbxconfig

7- Create Databases and users.

#mysqladmin create asterisk
#mysqladmin create asteriskcdrdb
#mysql asterisk < /usr/src/tbm-pbxconfig/SQL/newinstall.sql
#mysql asteriskcdrdb < /usr/src/tbm-pbxconfig/SQL/cdr_mysql_table.sql

#mysql

mysql> GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';
Query OK, 0 rows affected (0.02 sec)

mysql> GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

8- Install all Trixbox packages

#yum groupinstall Trixboxcore

9- Installing the amportal

#/usr/src/tbm-pbxconfig/install_amp

Accept the default values.

After this is done restart MySQL, Apache, memcached , and amportal.

10- Authentication for web interface

#mkdir -p /usr/local/apache/passwd/
#touch /usr/local/apache/passwd/wwwpasswd
#passwd-maint

user: maint
pass: ******

Finally you can access the Web interface.

http://serverip/

Note:
Time on Xen VMs is restricted by Dom0, so if you want to change the time in your VM you will have to do the following.

#echo 1 > /proc/sys/xen/independent_wallclock

to leave it perm do the following

#vi /etc/sysctl.conf
add
xen.independent_wallclock = 1

Change the timezone

#cp /usr/share/zoneinfo/America/New_York /etc/localtime

However you can install yo modify the time zone

#yum -y install system-config-date
#system-config-date

Adding G729 Codec .....

G729 is a voice compression protocol designed by Digium.G729 is capable of using very little bandwidth with good voice quality (8K). You can buy a license for this codec from Digium or use a free version (free version is not considered very stable).

This guy made a pretty good job showing how to use G729.
http://nigglingaspirations.blogspot.com/2009/10/installing-free-g729-codec-on-trixbox.html

Friday, February 18, 2011

Installing FREE PBX in Centos

http://www.freepbx.org/support/documentation/installation/install-process-for-centos-5-1

Wednesday, February 16, 2011

What is The Cloud and What Does it Mean for My Business?

The Cloud

A specific definition for “the cloud” is the cause of much controversy on blogs, in popular tech publications and even within my own office. The prevalent definition is based on the fact that clouds are constantly changing, much like the Internet itself. Whatever your definition may be, “the cloud” certainly encompasses many different technologies. A few of these include cloud computing and cloud web hosting.

Cloud Computing

Cloud Computing DiagramWhat is it? Cloud computing can be many things, but it is most accurately described as a network of computers with a centralized load balancer that constantly analyzes where resources (CPU and RAM) are available. The load balancer then distributes those resources to fulfill the needs of whatever program or calculation that is being executed. This ensures that the resources of each individual computer are fully utilized. Cloud computing also prevents total system failure if a component of the system fails. A great example of this is the Stanford Protein Folding Project.

What does it do? Cloud computing was invented so that a complex computer system could be be self healing and self optimizing to maximize equipment usage. Applications running on the cloud computing model do not require additional programming to function across multiple machines because the “cloud” acts as one machine.

Is it useful? Cloud computing is popular for research projects and large scale software or application development as they can be incredibly resource intensive. By using the cloud computing model for development and research projects, it is ensured that resources are available and distributed as needed. Cloud computing really is brilliant for its intended use.

Cloud Hosting

Cloud Hosting DiagramWhat is it? Cloud hosting was developed years ago and in certain ways mimics cloud computing. It is a type of web hosting that has a load balancer to determine how much CPU and other resources each customer will need. It then allocates these resources on an on-demand basis from the web hosting provider’s server farm. Users then only pay for what they use.

What does it do? Cloud hosting can host websites, but is really built to be a scalable virtual environment for resource intensive application development.

Is it useful? Cloud hosting is very useful if you are developing an API (application programming interface) or anything that requires large amounts of CPU or other resources. Examples of this include:

• If you need to upload thousands of images, resize them, and deploy them on a web site similar to iStock Photo.

• If you have a project that requires thousands of calculations without a time constraint.

What Does This All Mean For My Business?

Most businesses will not need to be part of a cloud computing network as they just don’t require the resources that the network provides. However if your business does rely on resource intensive application development, a cloud hosting platform may be an excellent option for you. If cost is a concern, keep in mind that the more resources you use the more you will pay. Also, remember that many cloud web hosting solutions do not include “stateful storage,” meaning you cannot store applications on your server space. Instead you may upload and run them, but once that is completed the cloud will wipe it clean in order to provide resources for other users who may need them.

For a typical small or medium business website, stateful storage is necessary. Some cloud hosting will have storage, but it is important to know where, geographically, your web site is going to be. In some cases, the “cloud” might actually be on the other side of the world! This will lead to slow uploads and downloads. This is obviously not something you want to deal with for your website. Look for storage/hosting geographically close to you.

Monday, February 14, 2011

What are the different types of cloud computing?

What are the different types of cloud computing?

Web-based email services from Google and Yahoo, backup services from Carbonite or MozyHome, CRM and Project Management like ZOHO.com, instant messaging and voice-over-IP services from AOL, Google, Skype, Vonage and others are all cloud-computing services, hidden behind yet another layer of abstraction to make them seem even simpler to end users who want the kind of power sophisticated computing can give them, but don't want to know how it's done.
There are three basic types of cloud computing:
• Infrastructure as a Service — provides grids or clusters or virtualized servers, networks, storage and systems software designed to augment or replace the functions of an entire data center. The highest-profile example is Amazon's Elastic Compute Cloud [EC2] and Simple Storage Service, but IBM and other traditional IT vendors are also offering services, as is telecom-and-more provider Verizon Business.
• Platform as a Service — Provides virtualized servers on which users can run existing applications or develop new ones without having to worry about maintaining the operating systems, server hardware, load balancing or computing capacity. Highest-profile examples include Microsoft's Azure and Salesforce's Force.com.
• Software as a Service — The most widely known and widely used form of cloud computing, SaaS provides all the functions of a sophisticated traditional application, but through a Web browser, not a locally-installed application. SaaS eliminates worries about app servers, storage, application development and related, common concerns of IT. Highest-profile examples are Salesforce.com, Google's Gmail and Apps, instant messaging from AOL, Yahoo and Google, and VoIP from Vonage and Skype.
You also get a nice and very popular Software as a Service on CRM , Project Management, Support , HR(people) from ZOHO.com. For more help OscilloSoft.com.au.
source: http://www.cio.com/article/501814/Cloud_Computing_Definitions_and_Solutions.

With Vision and Solution