Zoho Creator的优势劣势

优势

使用Zoho Creator可以无须自己搭建数据库,自己租用服务器,甚至不需要自己写数据存入数据库的代码逻辑,不用关心开发一套系统的各种底层工作,只关心业务流程模式即可,非常的简单易用,一个没有多少开发经验的人,也可以通过系统的学习上手这个开发平台,开发一套软件出来。

劣势

可以说Zoho Creator的上限就是你要开发的软件系统的上限,你说我用Zoho Creator 开发一个淘宝出来,理论上几乎是不可能的,起码牵扯付款这方面的api,Zoho文档中并没有过多介绍。

Zoho Creator的基本构成

Zoho Creator组成的基本元素分为Form、Report、Page、Workflow,通过Form来收集填写数据,数据填写完成提交写入Report,一个Form可以对应多个不同的Report,如果想看数据可以通过看Report来看数据,也可以写Page通过deluge获取数据渲染到Page上。

TIM截图20200122144602.png

Form

通俗理解就是填写的表单,可以通过拖拽添加各种字段在里面,都是Zoho Creator官方提供的字段。

Report

其实一个Report就是一个数据库,而Report的数据头全部来自于Form,一个Form可以对应多个Report,Report可以有9种表现形式,最普通的是列表,其他的日历,透视图,看板,根据自己不同的需要选择不同的Report,感兴趣可以自己研究,不在赘述。

Page

Page页面,可以写自定义的HTML代码,插入deluge代码,也可以直接拖动现成的模板,排列组合自己想要的样式,也可以使用Zoho 提供的ZML语法,编写网页,理论上很强大,但是HTML不支持JS,现在网页离开JS几乎没法看,预计今年就会支持了。

WorkFlow

WorkFlow工作流,软件系统中,提供后台逻辑数据的各个处理,类似MVC模式中的C。工作流可以工作在Form的加载时、修改某个字段数据时、提交验证时、提交成功时、还有进行审批流程时,还有定时执行,可以连接zoho的其他工作组件等各个应用场景。
举个例子:当我提交一个表单时,除了当前Form,对应的Report数据会新增一条,我还想再另一个Report的数据里面也增加一条,这时候我可以使用提交成功的工作流,使用Deluge把数据写入另一个Report,我甚至还想发送一个邮件给谁谁,也可以使用Deluge封装好的Sendmail发送邮件给特定邮箱。

Deluge

deluge是zoho开发的一套,专门操作ZohoCreator系统的数据的语言,可以实现数据的增删改查,发送邮件,数据格式的转换,也可以封装Deluge语法的自定义函数,预计今年会增加Java和Node语法的自定义函数。

Zoho Creator 可以实现的功能

  1. 门户网站
    可以建立门户网站,通过Form,Report。Page展示门户网站的各个页面数据,而用户的登录注册由Zoho Creator来控制,开发者无须编写登录注册的逻辑,开箱即用。
  2. 权限控制
    Zoho Creator 有非常强大的权限控制,可以建立不同的用户组,然后给每个用户组分配不同的Form、Report的读写删除等权限,实现精确的控制。可以实现不同级别的用户访问不同的Form和Repor,Page,看到的页面展示自然也不同。
  3. 发送邮件
    自己开发系统的话,要不自己写功能,要不找组件库,还得服务器支持收发邮件,或是寻找第三方服务,而zoho已经集成,在deluge中一行代码即可搞定发送邮件的功能
  4. 组件繁多
    可以使用系统提供的日历,地图,看板,仪表盘等组件,组合成自己想要的页面
  5. 定时任务
    可以使用定时工作流,在特定时间执行
    6.强大的工作流
    几乎可以满足任意需求场景。
    7.非常好用的deluge编辑器
    有代码提示功能,非常的好用。
  6. 发布页面
    支持发布页面,发布的页面可以不用登录就可以访问填写数据,可以做匿名问卷。

    常用语法

    零散

     thisapp.portal.loginUserProfile();  //获取当前登录用户的权限组
     thisapp.portal.loginUserEmailId() == zoho.loginuserid  //获取当前登录用户的的Email
     openUrl("#Report:Employee_Detail_Report","same window");//打开名字为Employee_Detail_Report的Report
     alert "alert"; //类似js的alert
     thisapp.portal.assignUserInProfile(Email,input.Role); //修改用户权限组
     

发送邮件

    sendmail
    [
        from :zoho.adminuserid
        to :input.Personal_Email
        subject :"Offer Letter"
        message :("Dear&nbsp;" + input.Name) + ",<div><br></div><div>Congratulations!</div><div><br></div><div>We are extremely happy to welcome you and it is our pleasure that you have chosen us.</div><div><br></div><div>Kindly go through the offer letter which is downloadable in below link.</div><div><br></div><div>You are requested to confirm your acceptance of the offer on or before&nbsp;" + input.Offer_Expires_On + ", using this link.</div><div><br></div><div><a href=\"" + "https://app.zohocreator.com.cn" + zoho.appuri + "\"" + " target=\"_blank\">Click here</a> to check out offer.</div><div><br></div><div>Reg
    ]

插入数据

    New_ID = insert into Employee_Onboarding_Details
    [
        Added_User=zoho.loginuser
        Job_Start_Date=input.Job_Start_Date
        Onboarding_Initiated_by=input.New_Hire_Process_Initiated_by
        Country=Country_Name
        Name.first_name=input.Name.first_name
        Name.last_name=input.Name.last_name
    ];

取出数据修改数据

    Employee_Data = Employee_Information[ID == Nid]; //根据条件取出数据
    Employee_Data.In_Service_Status="Leave";//修改
    

删除数据

delete from Addtional_Benefits[ID != 0]; //删除所有数据

子表单展示数据

row = Compension.Addtional_Benefits();
for each  val in Addtional_Benefits[ID == Nid]
{
    row.Addtional_Benefit=val.Addtional_Benefit;
    row.Effective_Date=val.Effective_Date;
    row.End_Date=val.End_Date;
    row.Benefit_Notes=val.Benefit_Notes;
    row.Employee_Onboarding_Details=val.Employee_Onboarding_Details;
    input.Addtional_Benefits.insert(row);
}

取出Report的照片显示在Page

<%
Person_Data = Employee_Details[Employee_ID == E_ID];
Photo = Person_Data.Your_Profile_Photo;
empPic = Photo;
    empPic = empPic.replaceFirst("/sharedBy/appLinkName/viewLinkName/fieldName",zoho.appuri + "Person_Details_Report/Photo");
    %>
<%=empPic%>

尾记

Zoho Creator还有沙箱,多语言支持功能,还有许许多多的功能未介绍,暂时这样,有机会在补充。

最后修改:2020 年 01 月 22 日
如果觉得我的文章对你有用,请随意赞赏