这个产品使用起来完全实现无障碍开发:SalesForce
背景:使用过很多基于产品的二次开发组件和系统,或多或少都有些坑,也是用过很多低代码平台开发,使用起来很方便,这里我总结一个系统:Salesforce,全球第一的CRM客户关系管理系统,是一款saas云产品,使用起来得心应手
1. 产品介绍
1999年,Salesforce的四位创始人在旧金山的一家小型公寓中并肩合作,推出了一个客户关系管理(CRM)系统,由此引发了突破性的转变。所有软件和关键客户数据都将托管在互联网上,并通过订阅服务的形式提供。这种开创性的“软件即服务”(即SaaS)模式迅速风靡整个技术行业。
Salesforce包含如下模块:
从市场营销到客户的获取,再到商务流程的审核最后到售后服务,salesforce拥有全面的客户关系管理系统的生命周期。
从行业角度来看,salesforce对不通行业进行产品的调整,适应更快速的应用:
Salesforce先后收购了Tableau 和Mulesoft,在Salesforce上使用可视化更加的方便快捷,基本属于无缝衔接,报表配置起来非常快,运营人员也可进行配置自己的报表。
2.开发介绍
salesforce使用的开发语言是APEX,和java的相似度非常高,熟悉java的人员可以快速上手开发。APEX手册:https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_ref_guide.htm
W3C教程:https://www.w3cschool.cn/apex/
APEX中既可以写代码逻辑又可以写SQL,使用起来很方便,对于社区这块,Salesforce拥有自己的社区和教程,链接如下:
3.开发模式
开发的代码都是部署到云上,开发工具使用sublimtext,可以使用haoide插件获取和更新代码,自定义开发也不需要在重新搭建代码管理平台,开发模式上就是使用各种Trigger触发器,在某个Trigger之前和之后触发我们需要的逻辑代码。
public class MyAccountController{
public Account account { get; private set; }
public MyAccountController() {
Id id = ApexPages.currentPage().getParameters().get('id');
account = (id == null) ? new Account() :
[SELECT Name,Phone,Industry FROM Account WHERE Id = :id];
}
public PageReference save() {
try {
upsert(account);
} catch(System.DMLException e) {
ApexPages.addMessages(e);
return null;
}
// After successful Save, navigate to the default view page
PageReference redirectSuccess = new ApexPages.StandardController(Account).view();
return (redirectSuccess);
}
public List<Account> getmyAccounts(){
List<Account> accList = new List<Account>([select Id,AccountNumber,Name from account where OwnerId =:userinfo.getUserId()]);
return accList;
}
}
在开发过程中我们会创建很多的对象,在Salesforce上可以低代码创建对象,创建好后数据表也一并创建好了,然后就可以直接在界面上使用低代码平台配置字段和逻辑,权限需要在后台通过角色和简档进行配置。
同样在数据查看方面,Salesforce自带数据库查阅工具,并且无需安装其他软件,只需要安装谷歌浏览器插件即可使用,相比我们开发的时候开一大堆各种软件,Salesforce只需要一个vscode或者sublimtext即可
权限管理模块:组织中的每个Salesforce用户都有一个简档。简档旨在将用户按角色职能划分,例如销售人员,支持人员等。组织中最重要的简档是系统管理员,拥有执行任何操作的绝对权限。除了CRED,管理员还可以为每个对象选择“查看全部”和“修改全部”。
并且Salesforce拥有简档和角色对权限进行管控,实现配置即可控制权限
Profiles:用于用户操作 对象级别 和 字段级别的权限控制。每个用户都有一个profile,profile有两种类型,标准和自定义
Roles:用户记录级别的权限控制,通过 role-hierarchy 和 sharing- rules 方式。
4. 代码测试
写好的代码部署到系统中必须要写测试类,并且代码覆盖率必须达到75%以上才允许部署,否则部署失败,值得一提的是在Salesforce中不只是自定义代码可以一键部署,就连配置项和权限配置都可以部署,特别的方便。