Zoho Creator Tutorial – Stateless Forms ( Use multiple forms to update a single table)

What is Zoho Creator | The Basics| Design & Share Custom Forms |Using prevalidated Form Fields | Statless Forms |

With the basics in place, I guess, now its time for us to look into some of the advanced features that you can implement within Zoho Creator application.i.e you can come up with more customizations based on your requirements. This will be a combination of form’s design & a little more Deluge script that usual.

The Assignment :-
Application Name :- Event Management
Forms used :

  1. Master Form _Event Management (Stores data in Master View)
  2. Event Details Form (Stateless Form)
  3. Contact Details Form (Stateless Form)

Click to View Demo

This Event Management Application has the details of a particular event & the contact info of the person who is responsible for this event. I hope you would remember me saying in my earlier posts that, by default, Zoho Creator stores the data entered into the forms in tables, called as Views.

However, Zoho Creator has another set of forms called the Stateless Forms. i.e. the data entered within these forms, will not be saved. ( — what the heck! , what is the purpose of having a form that does not save data — , Hey! Friend, hold your horses. You will soon find out.)

As the name suggests, anything entered into the master form will be stored in its View. Stateless forms merely pulls the data from the master form & displays it for you to edit & confirm the edits. After doing the edits, when you go back to the main form’s View, you will notice that the edits have been implemented in the master-view as well. Sample Application here

The fields we will be using will be as follows
Master Form’s details
This is a regular form, Created the normal way. Forgot,see here

Event_Contact_ID*
Contact_Name – This is a required field
Contact_email
Contact_Phone
Event_Name – This is a required field
Event_Venue
Event_Date

Stateless Form (Stateless forms are those, whose data are not stored in Zoho Creator.)

It is a single choice that eventually decides if a form is stateless or not.

Form Fields :-

Event Details Form (Stateless Form)

Event_Contact_ID* — > This will be a look-up field.
Event_Name
Event_Venue
Event_Date

Contact Form (Stateless Form)

Event_Contact_ID –> This will be a look up field
Contact_Name
Contact_email
Contact_Phone

Using the look up field to “show data from other forms”

Remember to include the “SUBMIT” button in your stateless forms

The Tricky part – Deluge Scripting
Master form :-

The EventContact_ID* is the most important field, because, this links all the 3 forms in this application. Hence this has to be unique. We will be generating this UniqueID using deluge script.That means, the user is not allowed to enter anything in this field. Which in turn means, go back to your Master form – Edit the field for Event Contact ID , and say – Hide this field to others. ( of course, “you” will still see it).

Deluge Script to generate the Event Contact ID.

Master Details Form –> On Add –> On Success –> Set Variable

Don’t forget to save the script.

Now run your application & enter some data into the master form.
Go to Master view and cross verify if the data is getting saved along with the auto-generated “Event Contact ID”

Verify your “Lookup field” in “Event details form” & “Contact details form”.
If you had set up the look up field for “Event Contact ID” correctly (in the stateless forms), you should be able to see all od the Event Contact ID’s in this drop down list. Nothing will happen yet, just run both forms & see if the values are shown in live mode.

Deluge script to “Call the data” from the master view.

Up until now, you had been using the “Set Variable” in the script. Now, in order to “call the data”, we will be using “Fetch Records” feature. So what happens with this option. . .

You “Fetch Record – data “ from a certain View & Store it in a variable. This variable is now becomes a “Collection-variable” , (User Defined collection, to be more precise) ie .. Collection of data from field 1, field 2, field 3.. So on and so forth.


Question:- when to fetch the record – data ?
Answer :- After the user selects the value from the “look up field”
Stateless Form (Event Details / Contact Details forms ) —> EventContactID (Lookup field)– >On User Input –>Drag drop “Fetch Records”—>Edit



Now that you have “Fetched the record data”, its time to show them in the form. Use Set variable to achieve this.

input.EventName = RecData.EventName;
input.EventVenue = RecData.EventVenue;
input.EventDate = RecData.EventDate;

Repeat the same exersise at Contact Details form

Contact Details Form –> Event Contact ID (Lookup field)–>User input–>
RecData = MasterDetails_EventManagement [EventContact_ID == input.EventContact_ID];

input.ContactName = RecData.ContactName;
input.ContactPhone = RecData.ContactPhone;
input.Contactemail = RecData.Contactemail;

Deluge script to rewrite the entry in the master view ( table)

Now, you should be able to see relevant records in the stateless form based on the value from the Event Contact ID list. Next step would be to edit other details & Submit the (Stateless) form. This should inturn update the details in the master view.

Question:- when to update the record in master view
Answer :- After the submit button is clicked.

Deluge Script code will be :-

Stateless Form ( Event details / Contact details)–> Submit Button –> On Click

RecData = MasterDetails_EventManagement [EventContact_ID == input.EventContact_ID]; //Use Fetch Records , to call the record data

RecData.ContactName = input.ContactName; //For these, use Update Records
RecData.ContactPhone = input.ContactPhone;
RecData.Contactemail = input.Contactemail;
Reload;

Repeat the same excersie in Contact Details Form ( Stateless Form)

Submit Button –> OnClick

RecData = MasterDetails_EventManagement [EventContact_ID == input.EventContact_ID]; //Use Fetch Records , to call the record data
RecData.ContactName = input.ContactName; // use Update Records
RecData.ContactPhone = input.ContactPhone;
RecData.Contactemail = input.Contactemail;
Reload;

Run the application & let me know if you are able to update the master field from the stateless forms. Not happening.. Feel free to drop a word to me. We will figure it out together. Chao =;
Your appreciation is my motivation

What is Zoho Creator | The Basics| Design & Share Custom Forms |Using prevalidated Form Fields | Statless Forms |

Freelancing & Tax Laws in India

Freelancing in India is highly untapped market. With the advent of affordable broadband services, working from home is close to becoming a reality. Sites like oDesk, Get A Freelancer, Scriptlance & scores of other sites offer more than enough opportunities one can handle. Today, I have reason to believe, freelancing does pay. All it takes is a little bit of patience and lots of perseverance.

With all the dictionary definitions on one side, the term freelancing is normally associated with extra income. More fondly known as “parallel income”, something that you would do during your “non-office”hours and get paid for it too. If you are the type who would still do the same thing, even if no one pays you, then you just got yourself a hobby.

If you have had the experience of being associated with a startup, then I am sure you will be able to relate to the following scenario. First you burn your eyes out by making the right contacts & clinching the right kind of deals. Then you work your butt out at keeping the deadlines, and finally you wait with bated breath for the payment to get credited. Then its the same cycle all over again. Amidst all this frenzy you need to keep track of all administrative work, do the accounts, pay the salaries and last but not the least, file your taxes as well.

Things tend to approach this frenzy in freelancing once your clientele begin to grow. But, as freelancers we tend to forget that “we earn”, albeit marginally, it is still an income. Tell me, how many of us knew that “Any income derived by way of freelancing job is taxable under the provisions of Income Tax Act. 1961.” ( — there, now you know)

I tired searching for over 8 months all over the internet for some pointers in tax laws that might provide some insight from a freelancer’s point of view ( note :- freelancer from India). http://www.incometaxindia.gov.in/ did not give me any relevant results & http://indiankanoon.org threw some case references at me. Not to be surprised, everything bounced off my head even before I knew it. Then I did what I knew best I could do. I began looking for lawyers in the blogosphere. And that did it for me.

I came across Mr.Ranjith Xavier’s blog at http://indianlawyer.blogspot.com/, where he blogs about various legal topics. He is an Independent Legal Services Professional, and practicing in the High Court of Kerala at Ernakulam. All I had to do was ask and after few emails, Ranjith was hard at work compiling this extensive information about the various tax laws and the terminologies involved. He can be contacted at ranjithxavier(AT)gmail.com & has agreed to help to the best of his knowledge. Thanks! Ranjith.

He puts things under perspective as Tax Laws & FOREX laws ( i.e. Foreign exchange laws) Please click on the image to download the pdf document

If your annual income derived out of freelancing job alone; or if added to your other income(s), adds up to exceed the annual limit mentioned in the Income TaxAct, you are duty bound to apply for and obtain a Permanent Account Number (PAN).
Under the provisions of the THE FOREIGN TRADE (DEVELOPMENT AND REGULATION) ACT,1992, anyone doing import or export is expected to apply for and obtain an Importer-Exporter Code Number (IEC Number).

Strangely though, he also put forth this query to us, before answering it for us

“Import” and “export” means respectively bringing into, or taking out of, India any goods by land, sea or air;” In common parlance, “Goods” means merchandise or movable property in physical form.Now the question to be considered is whether a person who transmits digital files over internet is exporting “goods” from India to abroad.
Once “services” too are brought into the ambit (ie scope) of the said Section 7 of the Foreign Trade (Development and Regulation) Act, 1992,every freelancer who performs services to a foreign client would be exporting it and thus attracting the provisions of the said Act. In such a case, he/she should apply for and obtain the IEC Number.

These are snippets from the compilation that Mr.Ranjith Xavier has put forth for us. Honestly, I am getting intimidated by looking at the links listed in this document from where the relevant information has been handpicked by Ranjith. Few months back, I was all lost, be it the search phrase or which site to look. Now, Thanks to Ranjith, at least now I know where to start. From what I understand , the information within this document is only the tip of an iceberg.

Zoho Creator Tutorial – Part 5 Introducing Deluge Script

What is Zoho Creator | The Basics| Design & Share Custom Forms |Using prevalidated Form Fields | | Deluge Script – Basics

Now that you are familiar with the basics of zoho creator, lets dig our hands into their deluge scripting. During the time when we were working on my Visual Basic application & Java applets, each one of us would have our own way of locating a specific piece of code that we might want to use in our application.

However, with zoho creator’s deluge script, it doesn’t mater a even haven’t programmed anything beyond your TV for the various channels. Because, they have made programming as simple as drag and drop. How,..?. Read along.

Know where to write the code.

As of now, lets concentrate on the SCRIPT –> FORMS
As we move on to views & Functions, we will be looking at other tabs
You can use the drop down arrow to choose any form within your application.

As we developing our guest book, we will open the Guest Bool – FORM in the script tab. After this you should be seeing this

Here, the script does what it exactly says just there. For our application’s sake, let us Add code to AUTOMATICALLY ADD THE DATE within the date field , so that the users dont have to type / select the date. Further, it would also help to know who visited when.I have already added the code in FORM –> LOAD , which is why you see a green dot ín the above pic.

What to write / How to write ‘code’ ?
(A) You might want to say “When the form loads”

— Translated, you will have to write the code on Form –> On Add –> On Load.
— If you clicked in the same order, you should be seeing this. Use the prev image and the one below to locate

(B) You might want to say “ Add todays date automatically ”
— Translating , this would mean something like this
i.Set the Date-Field
ii.To Todays Date

— So you should be doing this

  1. Scroll down a bit and locate the SET VARIABLE. ( Use the image below for guidance
  2. Drag and drop it on to the coding area.
  3. As soon as you drop it, & if you hover the mouse, you should be seeing an EDIT &
  4. DELETE button.

(C).How to set the value for the date field. ?
As soon as you click on Edit, you will be presented with a dialog box
Notice that the declare variable is a drop down variable. – From this select the Date field

As for the actual value , we will be using a variable called the ZOHO – currentdate It is as simple as saying x = 5. You will be telling your application that every time the form loads, just give the current date’s value to my date field. For this, you will have to
1. Select the ZOHO VARIABLES ( Tab)
2. Scroll down a bit .. until you locate the zoho.current date.
3. Click DONE – & you will see this

Wait !!! — The code is not saved yet, It is only generated – So you will have to scroll down and click SAVE SCRIPT at the right bottom corner You will see a green band that says, Script modified.
Now you are ready to go.

Access your application – psst !! … Use the Acess thisApplication Link at the top.
Do you see the date automatically coming up in the date field … ? Great .. You have successfully Coded your application

Now, I have a practice assignment for you. After the form loads & zoho’s current date is performed, disable the date field.
Now that every step has been demonstrated with screen shots, I shall be providing only guidelines. You will have to look for them in the order specified. It is just that…I am feeling lazy to do the screen shots again ..

How to do this ?: –
Form –> On Load –> Drag and drop –> Disable field –> Select Disable – option –> select date field –> Done
Save Script

How to check this ? –> Acess the application — > You should not be able to change the date manually.

Your appreciation is my motivation

What is Zoho Creator | The Basics| Design & Share Custom Forms |Using prevalidated Form Fields | | Deluge Script – Basics

Forest Love

Forest Love … by Shiva
My choice of title – Hushed Whispers

With foliage thick and lush,
Rooted deep with the land, born here
Showering fragrance to the air, breathe here
The flora and fauna whisper in hush

How can man call himself and animal, they say
For he does not follow the rules of our kingdom.
His greed and lust hold no reason
He craves to encroach beyond his needs
The flora and fauna whisper in hush.

We prey for hunger, he is a prey to hunger
We hoard none, he spares none,
How can man call himself and animal,
For he does not follow the rules of our kingdom.
The flora and fauna whisper in hush
Beware of man, for he comes shush

Document to PDF conversion – Compromise on inaccessible links & annoying watermarks or use open source.

As any virtual assistant will tell you, in the nature of our work ( which is truly online in every sense), document exchange is a big hassle. With public documents such as portfolio items we would definitely not prefer to use documents in their original formats, doc, xls, etc. So, the available alternative is to take up screenshots and convert it into jpegs. Again, its very tedious, cumbersome and unprofessional to present to prospective clients. Then it was a chance discovery at Pdfonline.com.

All I had to do was to prepare my document, check for typos and grammar, fill in the details and upload it at PdfOnline, along with my email address. ( You can use any free email service for this. ) After your document is converted, you will receive it as an attachment in your inbox. Cool!… isn’t it. So far, So good, especially if you have only static text content.

On the other hand, lets assume that you have written MyWebsite ( as a hyperlinked text), instead of actually typing the url http://www.mywebsite.om/. In such case, the URL text within the pdf document will be accessible, while the hyperlinked text will not be.

Now, this is okay for small urls like web url, blog url etc. Let us assume that you want to include few links to express a point, give refrences, provide credits etc The length of the url is fairly long & there are several intercepting links. Providing the Url text will tarnish the presentation completely, and it is impossible to eliminate the url completely. In such case you are forced to use a hyperlinked text. But what use are there links, if these are not accessible in the pdf. PdfOnline’s solution to this problem is their BCL-Easy PDF

The trail version of BCL – Easy pdf is free to download and you can convert as many documents you want to pdf without any expiry data. Plus this also retains the hyperlinked texts & all of them are accessible from the pdf page.Great ! Isnt it.. Too Good To Be True, isnt it… Yes, it is too good to be true. There is a catch, which is..they have their BCL-Easy pdf stamp appearing in the bottom right corner of all the pages in the pdf file. If you are okay with it, then there is nothing else to think about.

On the other hand, if you are somewhat like me, not afraid to try open source, then I would recommend to go in for OpenOffice.org ( personal recommendation – close replacement for MS office ~145MB, worth the effort). In addition to the regular docs, spreadsheet, paint and other stuff in their suite, OpenOffice allows you to export you documents into pdf, where in the hyperlinks are retained , there is no watermark & there is no expiry as well.

Please click on the image to download the pdf file. I tried embedding pdf within this post. But that disallows the follow-hyperlink by default.

Self

Self by Priya
My Preffered title Mirroring me !

Mirror mirror on the wall
Is it you who sees it all ?
Hanging by the hook, still and silent
You echo deepest fears & scariest concerns.
But is it really you after all ?

I love my eyes for they help me see
But alas !, I don’t see them myself
I count on you to show them to me
As I can’t see them myself.

It soothes me , but also scares me at times
When you show me, what I don’t see at all times
Wondering, is it really me who sees
At a reflection that claims to be me.

There Has To Be More To Life

There Has To Be More To Life by Frederick

In the humdrum of everyday chores,
We sense neither pain nor pleasure.
In the cacophony of Hi’s & Bye’s,
We can’t hear ourselves think.
We seek company to escape silence
Where everyone babbles, none speaks.

There has to be more to life,
Than chores and babbles.
There will be more to life,
With articulated thoughts ,
To a company that listens.
There is more to life,
In seeking silence amidst commotion
In seeing purpose amidst chaos
In knowing friends from acquaintances.

We all have our highs and lows
And the blows that make us bow
Lets ignore cynical chatter &
Take notice of meaningful whispers.
This I believe will pave the way, for
There has to be more to life, &
There certainly is more to life.