面试

自定义表单:我们必须关注的不仅仅是他们的外观...

我们的客户要求为不同类型的物品创建自己的表格。这将允许用户为不同的项目指定各种参数,或为各种联系人组记录不同的数据。开发人员Jan Spilka如何将这一简介付诸实践?

扬·斯皮尔卡扬·斯皮尔卡

 

您能描述新功能“按类型排列”吗? 最新的eWay-CRM版本5.4?

我们在以前的版本中提供了功能表单设计器。借助此功能,用户可以设计特定窗口(例如项目)的布局。当前版本更进一步, 允许用户为每种特定类型的项目设计定制的屏幕.

 

用户究竟如何充分利用此新功能?

让我们以一家销售拖拉机的公司为例。员工使用特定参数创建一个项目,其中包括机器的序列号,机器的单个组件,机器的运行日期或保修期终止。如果该公司提供客户服务,则员工可以创建不同类型的项目,从而使他/她可以使用不同的参数进行工作。如果用户决定更改项目的类型,则表单将自动更改以匹配活动。

 

哪些模块提供此功能?

此选项是使所有类型都可以使用的模块的一部分,例如项目,机会,簿记记录等。此外,我们将字段类型添加到公司,联系人和产品模块中。因此,新版本可以定义各种类型的公司,例如“供应商”和“客户”,并且,对于每个公司,用户都可以将表格调整为最小的细节。

定制所选表格

自定义所选表单。

 

个性化是大势所趋。您的客户要求吗?

当我们准备上述表单设计器的原始功能时,这个想法浮现在我们的脑海(笑着说)。事实证明,这正是我们客户想要的。他们的愿望是个性化他们的eWay-CRM,以便有效地工作。

 

新功能是如何开发的?

作为开发人员,我会收到一份具体的任务,该任务通常由我们的总监与我们的代理商和项目经理合作准备,因为他们每天与客户联系,并对他们的需求有一个清晰的想法。因此,我们考虑了执行任务的最佳解决方案。

 

最困难的部分是什么?

我们花了很长时间才想到如何清楚地呈现特定项目的表单设计分配。一方面,我们有所有类型的列表,另一方面,有已定义形式的列表。我们需要说明它们的互连性,以允许用户更改其布局,并确保通过单击特定表单将更改应用于所有项目。

 

您选择了什么解决方案?

我们决定提供两个布局选项。第一个是所谓的“简单模式”,它具有两个选项。用户可以将所选布局应用于所有项目,也可以仅应用于当前显示的项目类型。

简单的布局

简单的布局。

 

第二种可能性是高级布局选项,它允许用户打开与所选设计兼容的类型列表。但是,用户可以选择整体编辑器选项,该编辑器显示单个表单和现有类型矩阵的列表。

 

layout

具有各种表单类型的高级布局。

 

此矩阵就像具有行(类型)和列(窗体)的Excel电子表格一样吗?

实际上,是的。 Y轴显示表单,X轴显示类型。然后,该单元格代表“是”或“否”值,用户可以通过该值选择特定项目类型的表单外观。这样,我们大大改善了此功能的用户友好性。

 

但是,原始任务不包括这两个布局选项...

一开始,我们只想使用高级布局。但是我们的开发人员建议我们完成简单的选择,因为他负责 eWay客户关系管理移动应用 他知道这个概念是必须的。我们的移动应用程序主要显示简单的布局,但是如果用户需要更复杂的设置,只需选择高级选项。归功于一个共同的目标,我们可以彼此产生积极影响,这是很好的。

 

创建矩阵图难吗?在一行上单击一下可能会更改其他行。

我们的系统会不断监视指定的要求,如果用户为特定类型选择特定布局,则会自动删除原始类型。所有类型均设置为默认外观。当用户需要特定类型的其他布局时,他/她必须更改此设置。当用户删除所有定义的布局时,系统将自动应用原始布局。

 

创建的表单存储在哪里,以什么形式存储?

它们以XML结构的形式直接存储到eWay-CRM数据库中。结果,具有不同用户访问权限的用户之间将使用不同的布局形式进行同步。

 

用户可以定义无数形式吗?

从理论上讲,是的。

 

在字段数方面,定制表格是否受到限制?

从理论上讲不是。但是,字段越多,表单的加载速度就越慢,因为有必要呈现更多特征。上周,我们发布了 关于如何防止缓慢加载的一组建议.

 

您如何描述此新功能的发展?您是否定义并尝试了不同的方案?

最初的任务包括各种可能的方案,在我开始开发之前进行的分析过程中,我试图涵盖所有这些方案。尽管如此,在开发或测试阶段还是发现了一些场景。

 

您是否针对每个eWay-CRM版本测试可能的方案?您认为这种方法很耗时吗?

我们不这样做。为此,我们使用所谓的“单元测试”,它们是用于测试源代码的一小段代码。我们每天晚上以及每次构建或修订后都会自动运行单元测试。多亏了这个过程,我才知道我是否在应用程序的完全不同的部分中破坏了代码(测试过程及其在整个eWay-CRM系统中的作用已描述为:n对技术总监的采访 罗曼·斯特夫科 )。

 

自动测试在多大程度上覆盖了整个系统的功能?

它们几乎完全涵盖了新设计的按类型布局功能。它们根据在测试和实际操作过程中想到的预定义方案进行工作。对于eWay-CRM整体而言,自动测试覆盖了其代码的约50%。

 

pokrytí

在eWay-CRM系统中进行单元测试。

 

但是即使您创建了新功能并设置了单元测试,也可能会出现用户故障,而自动测试无法检测到该故障。

我们的测试人员会发现一个错误,我会修复并准备适当的一组单元测试。这样,我们不断提高系统的可靠性。

 

您收到任何反馈了吗?

该更新于两周前发布,对于接收有用的反馈还为时过早。但是,我确实收到了同事的一些好评电子邮件 (笑)。

eWay客户关系管理开发

看看 与Jan Spilka的访谈集中在代码的开发上 适用于eWay-CRM等。

-eway-
29. 5. 2019
分享