PouchDB CouchDB用于离线公司的申请(IBM Domino替换)



在我的公司中,我们使用IBM多米诺骨牌已有十多年了。我们使用它来构建具有复制支持的离线应用程序。它运行良好,但我们需要使用IBM Notes客户端来允许此功能,并且在移动设备上不起作用(当然,除了Windows笔记本电脑除外(。

我正在寻找其他解决方案来构建离线和多支持(Web(应用程序。我认为CouchDB PouchDB是最好的解决方案。但是要替换多米诺骨牌,我必须替换授权功能。

Domino在数据库ACL中具有许多级别的权利(经理,设计师,作者,作家,读者,...(。对于每个文档,我们可以添加 Reader wuter 字段限制谁可以写和读取文档。

例如,我们与CRM一起使用Domino,员工可以阅读(并写(他的客户以及在公司层次结构中降低他的员工的客户。他还可以在其地理区域中查看客户(不写(。

要在Domino中执行此操作,我们(每天晚上(在每个客户文档中计算一个读者和一个作者字段。我如何在CouchDB中取得这样的目标?有可能吗?

我阅读了许多可能性:

  • 与显示或过滤器功能的部分同步(couchdb/pouchdb部分同步有限权利(
  • 每个用户一个数据库。(在我的情况下如何拆分数据库?(
  • 使用CoverCouch之类的代理应用程序来管理ACL(https://github.com/ermouth/covercouch(
  • 开发自己的代理可以在其中实施过滤功能以符合我的需求?

最好解决我的问题的最佳解决方案?

apache couchdb没有每个文档权限。虽然您可以使用过滤的复制来复制数据子集,但您不应依靠过滤的复制作为访问管理的一种形式。当前,您唯一真正可行的选择是采用一个数据库的每个用户方法。您在这里有一些选择:

  • 在Apache Couchdb 2.0中使用couch_peruser配置选项,该选项将为_users数据库中创建的每个用户创建一个数据库,并授予该用户许可以读写并写入自己的数据库。
  • 推出自己的计划以与上述相同。
  • 使用Cloudant Envoy,它允许您提供一个数据库用户的幻觉来复制目标,例如pouchdb,同时实际将所有这些数据存储在一个数据库中。查看Cloudant Envoy应用程序的身份验证,第一部分和第二部分,以获取有关如何使用Cloudant Envoy的更多详细信息。
  • 使用连帽衫。连帽衫是脱机第一应用程序的全部后端,在服务器上利用Apache Couchdb和客户端上的PouchDB。连帽衫提供用于管理用户,持续数据,同步数据和许多其他功能的API。

相关内容

  • 没有找到相关文章

最新更新