Friday, December 13, 2013

How to Attach a file to an Email Notification in Zoho Creator

Attachfiletoemail


















After adding your SendEmail function and constructing your message and particulars of the notification change your script builder to the Free Flow version as indicated in the top right section of your platform. Under the section Message: you will click enter to create a space and include the following line of code

attachments:file:input.File_upload,file:input.File_upload_2,file:input.File_upload_3,file:input.File_upload_4,file:input.File_upload_5,file:input.File_upload_6

attachments: to indicate you want to attach a file
file: to call the field type file
input.Name_file to indicate which file field you are referring to

You can add as many files as needed but will need to add a "," between each file. Hope it helps let me know if you have any issues.
Email Attachments

Monday, September 2, 2013

How to custom Style your Forms, VIews in Zoho Creator with the least amount of code



Hello everyone. The objective of this video is to show you how to easily customize the style of a form or a view, in Zoho Creator. So the first thing that you can do is go to creatorscripts.com. This is my blog, where I keep updating information about handling Zoho Creator and I have already added some links to apps that are worth having, including the Zoho Creator Styles. You can also find this Zoho Creator Style app in the marketplace of Zoho Creator and this application was developed by Shrine. And once you install the app, if you go to your account, you will see it display as Zoho Creator Styles. So for the objective of this example, I'm going to show you how this application that I built uses Zoho Creator Styles. In here you can see that my buttons, the fields, the height of the fields, the length or the width, are obviously built within Zoho Creator, but if I wanted to change the background core when the user hovers over the button, I would have to go to each form or view inside my application and update the specific HTML parameter that refers back to the color. I mean, obviously if you have multiple forms in your application, this is gonna be quite a task, for example in this case there is another form that uses the same back ground color. So if I wanted to do this manually, it would take me a while. However, thanks to Zoho Creator Styles, you can now easily incorporate or change the style of your forms. So all you need to do is access your Zoho Creator Styles application, go to your styles, and obviously l have a theme already added here that it's Astro for the application that I just show you. So I'm going to go to the background, button background color, which is orange right now. Right? I'm going to change this one and let's put it in red, let's see what happens. So, notice that all I did here is change a record in this application. And now, if I go back to the application that I just showed you, you will see that the buttons in my application have been updated to red. So you see instead of having to go into every single form, just by changing one record in Zoho Creator Styles, I have achieved the updating the color for every single page in my application. Now, you probably are wondering how did I accomplish this? Obviously all the instructions that you need to know are explained in the Zoho Creator Styles application. But the very key, it's right here and I'll highlight it for you. On an HTML page when you drag forms or view into the page, you only need to include this little piece of code right after the Zoho Creator header parameter. And it refers first back to the application, Zoho Creator Styles and then the name of the function and then whether it calls a form or a view and then the name of your theme. Once that's it copy pasted in your application, every change that you do back in your form would be automatically updated. So, there you have it. Don't forget to check Creator Scripts for more information. And go download your Zoho Creator Style application, you'll enjoy it. Thank you.

Thursday, July 25, 2013

How to calculate the elapsed time between two Date-Time fields




I have found several functions, scripts and blogs providing different methods to calculate the elapsed time between two date-time fields. However, most of them are hard to understand or involve a higher coding of deluge scripting to obtain the desired result.

Below you will find a solution in 3 lines of code if the Dates belong to the same day

Hr=(input.End_Time.getHour()  -  input.Start_Time.getHour());
Min=(input.End_Time.getMinutes()  /  60  -  input.Start_Time.getMinutes()  /  60);
Elapsed=(Hr  +  Min);

Or 7 lines of code If the Dates vary in Days ...

if(input.Start_Time.getDayOfWeek()  ==  input.End_Time.getDayOfWeek())
{
Hr=(input.End_Time.getHour()  -  input.Start_Time.getHour());
Min=(input.End_Time.getMinutes()  /  60  -  input.Start_Time.getMinutes()  /  60);
Elapsed=(Hr  +  Min);
}
else if(input.Start_Time.getDayOfWeek()  <  input.End_Time.getDayOfWeek())
{
Hr=(input.End_Time.getHour()  -  input.Start_Time.getHour());
Min=(input.End_Time.getMinutes()  /  60  -  input.Start_Time.getMinutes()  /  60);
Day=((input.End_Time.getDayOfYear()  -  input.Start_Time.getDayOfYear())  *  24);
Elapsed=(Day  +  Hr  +  Min);
}

In the following link you will be able to test the script on a live and free application. Elapsed Time

You may locate the following code in the following places: On user input, On Add On Success, or On Edit On Success

Hope it helps....enjoy.
f76bbaee41a7ad6eb60d2a96b6829bce83014907fa936980c3

Friday, July 19, 2013

How to add an image to an HTML View ( page ) in Zoho Creator


If you are already exploring Zoho Creator ability to develop Html Views  ( now known as pages )
you are stepping into a powerful section of your application that will yield great results overtime.

With this in mind you will also need to understand how to incorporate Logos, Images into your pages so the "visual" effect of the application has a more human touch and assist the user to understand what the task in hand is.

Below you will see a sample on how to add a Logo into an HTML View using "Notes" Field. Go to the Form you would like to incorporate the Logo. In this example our "Page" hosts 2 views. View No.1 is Summary Invoice and View No. 2 Product View. Open your Summary Invoice Form and drag the "Add Note" field into the form.

Click Edit on the Note field & look for the Image icon on the top menu bar to upload your image.



Copy & paste the Image URL. 


In order to have a URL you must have uploaded your image to the company server or to a free service such as Flicker or Google  Drive. Click ok and Listo!!!


Thursday, June 27, 2013

How to decide if syncing Zoho Creator to GAPPS is a good business move?

Sometimes if you have built your basic communications operation around Google Interface it seems like a natural blend to incorporate you Zoho Creator application right into the heart of GAPPS. Think again!!!

There are 3 major points of interaction between Zoho Creator & GAPPS. The access, the data & the sharing. After living the frustration of a client of mine first hand and a month long of testing its functionality and performance we can confidently conclude the following.

First, there is no problem visible to the human eye that suggests there is something wrong with "accessing" Zoho Creator via GAPPS. Once installed in your GAPPS account you will see a link to Zoho Creator under the More...menu if you click it...it will open the application smoothly and everyone is happy.

Second in line is: the "Data" that you can access inside Zoho Creator from GAPPS. There seems to be intermittent issues. For example.- if you have a field inside your forms to select users from GAPPS the options may magically disappear temporarily and after reloading & reloading they may reappear back.  If you are not a hard core user of your application you may be able to live with reloading and waiting every time this occurs, but if you run your daily operations in Zoho Creator this is an annoying losing time = money nightmare.

And last but not least the "Sharing". This is the most important of all!! Within Creator you have the ability to share your Forms and Views with individual GAPPS users or with Groups. If you select nothing but individual users everything seems to perform as expected, however if you select a Group within GAPPS the performance on your Zoho Creator application will slowdown 5 fold average. 


So unless Zoho or Google comes with a solution around Sharing Groups of users within an application resist the temptation to simplify sharing or suffer  a loss of 5x fold in performance. Your call.

For more details review this Zoho Forum note with more information regarding this possible performance issue related to GAPPS integration.

Saturday, May 25, 2013

How to decide when to use a Lookup field in Zoho Creator?



To make the optimal decision about the type of fields to incorporate into your application you only need to consider one concept; "Always use Lookup fields" A Lookup field can be displayed into nearly any other field form: Radio Button, Checkbox, etc & you are 1000% better by incorporating Lookup fields right from the get go. Let me explain why.When you build an application there are 2 main aspects you need to evaluate:  the size of the application & the usability or user experience for both developers & endusers.

For the size of an application its better to have Lookup fields because it will save you time as you incorporate the field into multiple forms and screens across you application. I had to learn the hard way after a client requested to have the same field across more than +20 screens and had to manually enter the field options , which were a "gazillion"by the way, into each and one of them. We changed course and start adding Lookup fields instead and now we only need to drag the Lookup field and call it up as needed. Also if the Client changes his mind, which mine does regularly due to a dynamic business process, can go into the Lookup field that requires a new option and added or modified it himself.

Regarding the user experience, Lookup field  used to be a problem considering that not all field options were available for a Lookup field. Initially that is why I was apprensive about using Lookup field across the application and settle for a drop down when i was really in need of a checkbox or something else. However, you can now select any field alternative from within a Lookup field therefore the argument above is no longer valid and you are way better of incorporating a Lookup field everywhere you go. As for developer usability, your only concern is the type of field you use & you should consider that Checkboxes will be the most difficult to code around when triggering actions upon selection of multiple checkboxes, but other that is field option selection process not an issue with the Lookup field itself.

Dont make the same mistake I made, save time and start using lookup fields across your application. create a New Tab, name it lookup tables and store everything in there, move it to the end of the list and hide the tab menu. On sharing specs make sure you are the only admin ( or any developers you may have ) with access to this tables and listo!!!

Image for the old Zoho Creator Interface



Wednesday, May 22, 2013

How to fetch records from one table into another in Zoho Creator




The objective of this blog/video is to provide a complete example on how to fetch data from one table into another in Zoho Creator. The first thing that we're going to do is create a new table. So just for the sake of an example, we're going to have "visitors" in our data, and then we're going to create a new menu tab about the visitor.

You want to know its "name" and then, let's do an "email" field, a quick "email" field there and a "phone number". Then we're going to create an additional form and let's call this appointments. And I'll just create it under the tab "visitors" so that both tables are within the same place.

For appointments, we want to pick a visitor so we drag a look-up field. Notice how I chose the look-up field? then, we're going to name it "visitor" and we're going to select it from the table visitor. And we are going to bring the name of that particular visitor. We can actually add visitors from within this form by selecting the option within that form, we can also sort the visitors on alphabetical order and for now this should be enough.

But let's say that in addition to the visitor, obviously we will want to have a "date" for the appointment but we also need the email of this particular visitor, so that we're able to send him a note or something when we request the appointment. So, for the purpose of this example we're going to limit for the email option only.

And now you have two alternatives. You can either type the email of the visitor every time you create an appointment or we can automatically pull that information from the other table every time you select a visitor. So let's create some examples here. Let's go to visitor form. Then I'm going to input a few examples here. So let's do Joe Blow, email, joeblow@hotmail.com. This actually might be a real email so don't send to anybody, okay. We got Joe Blow, then Sue Blow email, sueblow@gmail.com. And we have a phone number there.Great!!!

Now if we go to the visitor's view there are two records that we just captured. Next we're going to link the information. And this is the objective of this blog/video. So you're going to go to visitor, and you want the system to create an action on your input, so you go to actions on user input, and then you are going to go to script builder form format and the first thing that we need to know &  to do is actually fetch the records. 

And we're going to call those visitors because we are pulling the visitor data from the visitor table into the appointment table....then we're going to select them from visitor's form and we want the name of the visitor to be equal to the visitor input field that you just selected. This is the key to link the information.

This process will pull the information about the visitor that you just selected on form view, and then all we need to do is set a variable name which in this case is going to be the email of the visitor, and we are going to go to collections to get the information about the visitors that we just fetched and assign the email to it.

Visitors email will be our new email name for it. And that's it, we just click "save." Go to the appointments table and every time you select a new visitor the system will automatically populate the email for you. If you go to Sue Blow now, Sue Blow email address appears on there. So I hope this exemplifies the way how you can fetch records from one table to another in Zoho Creator, good luck!

Thursday, May 16, 2013

How to give access to a developer in Zoho Creator


This is probably one of the top 20 most asked questions i seem to be answering all the time.when you are trying to share your work with a developer most of us believe its a 1 step process and we do know how to update / change the user status. However, there is an additional step  you need to consider to fully provide access to a developer to your Zoho Creator account. Please, review the slides for the 2 step process below and let me know if you have any questions.

2.1



2.2




Tuesday, May 14, 2013

How to update Unit Price into a subform based on Product selection



The sequence to execute the logic you are looking to accomplish is exactly as adding a script on a regular form.  On Add, On Delete, On User Input, but there is a subtle difference in the code and there is also a different way to embed the script into a subform, so lets tackle the way we embed the script.
On a regular form we have several options: Script Builder, Free Flow and Form Definition; where you can actually write the code manually if you know what you are doing. Inside a subform there is NO Script Builder that would guide you through the options of data you can access and a user is left with writing the code manually on a Free Flow approach style. The solution is to write the code using the Script Builder on a regular form save it from a free flow screen and take it into the subform corresponding action.
In the image below you will see an Order Management Form displaying regular fields about a Product and its Unit Price along with a subform that aggregates products in the same way. For the purpose of this example, we have created the script to update the Unit Price based on Product selection.
Now, notice how subtle the difference in the code is once we compare the lines of code that would update the fields on the right ( regular form ) to the ones on the left ( subform ) and you will see that they are nearly identical which provides us with a great opportunity to quickly incorporate scripts int any subform. Write the script on a regular form then paste it into the subform and correct the subtle difference.
SCRIPT FOR REGULAR FORM ON USER INPUT FOR ORDER ITEM.
//Fetches the information from the "Products" table
selected_Product = Products [Code = input.Order_Items];
//Updates the value of Unit Price using the stored value from "Products" table
input.Unit_Price = selected_Product.Price;
SCRIPT FOR SUBFORM ON USER INPUT FOR ORDER ITEM.
//Fetches the information from the "Products" table
selected_Product = Products [Code = row.Order_Items];
//Updates the value of Unit Price using the stored value from "Products" table
row.Unit_Price = selected_Product.Price;
Notice that the only difference between the 2 is the word row. before the field value of the subform. With this knowledge you can now write the script you need on a regular form by simulating the subform fields, import the code and modify with the word row. as needed.