Zoho Creator – Custom Cloud Database Applications!

24Jan, 2012

We’ve recently tried our hand at devleopment using Zoho Creator,
a cloud-based custom database platform. Creator is an example of
Platform-as-a-Service (PaaS), providing all of the nuts and bolts
to create a customized series of forms, views, and reports that fit your internal business workflow.

For us, that workflow was tracking tickets in our Baltimore Computer Repair Shop at 1414 Key Highway. Since day 1 we’ve experimented with numerous systems, including OSticket, WordPress Ticket plugins, MerchantOS’ (cloud based Point of Sale) built-in workorder system. As with most “off the shelf” products, each is great at a particular workflow model, but falls short in at least one area.

For example, MerchantOS had great features for keeping track of customer data and basic information about a workorder, but we were unable to fine tune the interface to include specific fields about the kind of work that we do. We wanted to keep track of time on the bench, status of parts ordered, customer authorizations for specific tasks, and most importantly, have a facebook-style string of updates as different technicians work on each machine. The biggest challenge of a shop with multiple technicians is knowledge transfer, and it was a task to keep track of what had been completed and what had not.

I had done extensive VBA customization for Microsoft Access databases in the past, but in-house Access Databases need software on each machine, updates, backups… all of those annoyances that go against the mantra of cloud computing. Enter Zoho Creator, a cloud alternative to Microsoft Access.

Zoho claims that you can create your custom database without any programming, which is a bit of a stretch if you want it to do anything beyond simply storing lists of data from a customized form. Zoho has created their own scripting language, called Deluge Script, which has characteristics of PHP and some other languages.

The learning curve was not very steep, and tons of forums with sample code exist to help you get your scripts working. You start by creating forms with the fields you want (These forms each represent a database table that can be linked to by other forms and views). You can create custom HTML views and even pass selection criteria or UIDs to a view in the URL.

If you’ve done PHP and MySQL development in the past, you need to un-learn a few things and figure out Zoho’s simplified method of what might otherwise be semi-complicated database tasks. Joins are done by dragging and dropping a “lookup field” into a form, and entering the criteria for matching field data in another form. You can easily script every single action, from form load, to validate, to success, to changing a field entry. You can easily mark certain fields as required or hidden, and can set validation critera.

Now we have a custom dashboard that shows open tickets with time on bench, client name and number, ticket status, and with custom links for viewing the ticket or printing hardware tags. Our ticket view allows technicians to quickly enter comments and view a facebook or forum-style history of other comments. Labor and parts charges can be added to a ticket, and the view calculates taxes and totals.

In the near future we’ll have our Zoho database emailing clients when ticket status changes, and auto-dialing our Aserisk-based phone system, making it simple to contact clients when work is complete.

Another great feature of Creator is that it integrates with Google Apps, so techs can sign in once and have their email and ticket info at their fingertips. For now we’re just getting started, and were able to get this system up and running for a small fraction of the time commitment that a PHP/MySQL solutions from scratch would have taken. Our first couple of days of production use saw a major outage of service due to a power failure in Zoho’s California datacenter last week. That is the risk of keeping your essential business processes in the cloud, and while it was a major interruption, I still think Creator is a worthwhile platform for creating simple, custom, cloud database apps.

-Chris

Our next step is to get the system talking to our credit card payment gateway, Element Payment Services. For now, we are still dependent on a seperate point of sale system to ring up transactions. Element has an API allowing a merchant to send encrypted credit card swipe data and transaction totals to a secured gateway via XML header in an HTTP Post. Once this is accomplished, Creator can then do the customized receipts, and become a full-featured workorder tracking and point of sale solution for our business (and yours!).