概述
对于不熟悉Sugar或CRM和基于Web的应用程序的开发人员而言,Sugar开发人员指南是必不可少的资源。它描述了如何针对各种需要管理与人之间的业务关系的组织的广泛任务配置和定制Sugar平台。
先决条件
使用和理解Sugar开发人员指南中包含的文档需要基本的编程和软件开发知识。具体来说,您应该熟悉用于访问数据库的PHP通用脚本语言和SQL编程语言。
了解SugarCRM框架
作为当今可用的最现代的基于Web的CRM平台,Sugar已迅速成为全球公司的业务应用程序标准。Sugar应用程序框架内置了复杂的扩展模型,允许开发人员以安全升级和模块化的方式对应用程序进行重大自定义。修改分发中的核心文件很容易;您应该始终检查升级安全的方式进行更改。向开发人员提供有关如何进行升级安全自定义的教育是此开发人员指南的主要目标之一。有关Sugar结构的更多信息,请查看“ 结构”部分。
支持平台
最初,Sugar®是用LAMP堆栈(即Linux,Apache,MySQL和PHP)编写的,但是此后增加了对运行PHP编程语言的每个操作系统,Microsoft IIS Web服务器以及Microsoft的支持。 SQL Server,IBM®DB2®和Oracle数据库。有关受支持的软件版本和建议的堆栈的更多信息,请参阅主要的“ 受支持的平台”页面。
SugarCRM 产品
Sugar有几种可用的CRM产品:Sugar Selling,Sugar Serve,Sugar Ultimate,Sugar Enterprise和Sugar Professional,所有这些产品都是根据商业订购协议出售的。这些产品由同一开发团队使用相同的源代码树开发,并具有不同的模块和功能,具体取决于产品。《管理指南》中“ 用户管理”文档的“许可证类型”部分提供了每种产品功能的比较。
SugarCRM产品基本开发规则
除非SugarCRM明确授权您这样做,否则以下是在配置,定制或修改Sugar产品时不要做的事情:
- 请勿删除或更改Sugar产品中出现的任何SugarCRM或Sugar版权,商标或专有声明。
- 不要“分叉” Sugar软件(例如,从该产品中获取源代码的副本并开始对其进行独立开发,以创建单独的软件)。
- 不要修改,删除或禁用SugarCRM的“关键控制软件”的任何部分。
- 请勿将Sugar产品与任何根据禁止许可获得许可的代码(例如AGPL,GPL v3,Creative Commons或其他会“污染” Sugar产品并要求您共享此源代码的类似许可证)一起使用或使用与第三方的产品)。
- 请勿将Sugar产品的任何部分用于构建有竞争力的产品或服务或复制其功能或用户界面。
开发工具
Sugar有一组内置工具,在进行故障排除或开发时,可以利用它们来发挥自己的优势。
开发者模式
开发人员模式将允许Sugar在重新加载页面时重新编译缓存的文件。重建以下文件类型:
- Handlebar Templates (.hbt)
- Smarty Templates (.tpl)
- JavaScript Controllers (.js)
启用“开发人员模式”后,Sidecar JavaScript库将引用位于./sidecar/
而不是串联和缩小的缓存版本中的完整JavaScript文件。您可以通过导航到管理>系统设置来打开开发人员模式。有关更多信息,请参阅系统文档。
注意:除非进行此设置,否则不要进行设置,因为它会降低系统性能。
诊断工具
对问题进行故障排除时,您可能会发现诊断工具很有用。此工具将导出包含请求的诊断信息的压缩包,即使您将实例托管在Sugar的云服务上,该工具也可用。
诊断工具可以导出以下内容:
- SugarCRM config.php
- SugarCRM Custom directory
- phpinfo()
- MySQL – Configuration Table Dumps
- MySQL – All Tables Schema
- MySQL – General Information
- MD5 infoCopy files.md5
- Copy MD5 Calculated array
- BeanList/BeanFiles files exist
- SugarCRM Log File
- Sugar schema output (VARDEFS)
您可以通过导航到管理>诊断工具来使用诊断工具。有关更多信息,请参阅《管理指南》中的“ 系统”文档。
Composer
在构建应用程序时,一些开发人员更喜欢使用Composer来管理其外部依赖关系并使它们更加直观。有关更多信息,请参阅Composer文档。