我们使用 wordpress 在谷歌表单之上构建了一个调查工具。
很简单,你创建一个 google 表单,创建一个私有打开链接,放入一个 wordpress 后端页面,然后系统处理模块服务器端并生成必要的 html 文件。当用户填写表单并发送它时,服务器通过 ajax 使用 zend gdata 将结果写入连接到表单等的电子表格上。
但是这个系统是有限的,也因为谷歌表格是相当有限的。我们想改进它。这就是为什么我要征求您的意见以升级系统以具有更多功能:
我们希望能够保持表单打开,以便用户可以在多个场合填写。理论上,我们需要知道电子表格行连接到哪个用户。这可以通过保存某种 ID 键来识别用户来完成,但是我们不知道如何重新填充表单中的字段,因为从表单创建的电子表格不保留任何类型的键来连接列和表单域。
我们需要更多的字段类型!就像一个文件上传字段,将上传的文件放在特定的 gdrive 文件夹中。
我们需要查看单个条目的数据,而 google 只为您提供很难阅读的整个电子表格。
这不是一件容易的事!我们应该使用哪些解决方案来解决这些问题?
非常感谢!
升级:
我们决定通过 api 访问混合使用谷歌表单、谷歌融合表、谷歌图表。这是简化的算法:
- 管理员用户通过谷歌表单创建他的表单并保存 URL。要拥有更多字段类型,用户可以在字段注释中添加标签,例如 [file] 用于文件上传。
- 该网址被放入我们系统的管理页面。该页面获取表单页面的内容并推断为一个数组,对于每个字段、标题、ID、类型和评论;如果评论中有一些标签,这将成为字段类型。
- 使用这些数据,如果不存在,系统会创建一个包含融合表的文件夹。如果存在文件字段,则会生成另一个子文件夹。这些文件夹和文件的地址被保存。
- 使用数组数据,在融合表中为每个数组字段创建一列,列标题为“[field_ID field_type]field_title”,外加一列用于最终用户 ID。
- 管理员用户可以更多地打开或关闭表单。
- 当用户进入表单页面时,该数组用于生成表单。如果系统在内存中没有用户 ID,则意味着用户从未填写过表单。否则系统将使用用户 ID 从融合表中获取数据以填充表单。
- 当用户填写表单时,使用字段 ID 作为参考以及用户 ID 将条目提供给列。用户 ID 也存储在系统中,记住用户已经填写了表单,如第 5 点所述。如果上传文件,它们将存储在 gdrive 文件夹中。
- 因此,管理员用户可以进入管理页面查看有多少人填写了表格,可以要求单个用户数据,使用谷歌图表获取摘要数据,可以从单个用户、每个用户或摘要下载数据的 pdf .
当然这是想法,我们必须建立它。第一个问题是我们是否应该使用javascript或php与google通信,所以在客户端或服务器端进行处理......