在我的公司中,我们使用IBM Domino十多年。我们使用它来构建具有复制支持的离线应用程序。它运行良好,但我们需要使用IBM Notes客户端来允许此功能,并且它不适用于移动设备(当然,除了Windows笔记本电脑外)。PouchDB + CouchDB适用于具有权限管理的离线公司应用程序(IBM Domino替换)
我正在寻找其他解决方案来构建离线优先和多支持(Web)应用程序。我认为CouchDB + PouchDB是最好的解决方案。但要替换Domino,我必须更换授权功能。
Domino在数据库ACL(管理器,设计器,作者,书写器,阅读器等)中拥有许多权限级别。 对于每个文档,我们可以添加一个阅读器和一个作者字段,它限制谁可以写和读文档。
例如,我们将Domino与我们的CRM一起使用,员工可以读取(并写入)他的客户以及在公司层次结构中低于他的员工的客户。他还可以查看其地理区域的客户(不写)。
要在Domino中做到这一点,我们计算(每晚)在每个客户文档中的读者和作者字段。我如何在CouchDB中实现这样的功能?可能吗?
我读到许多可能性:
- 偏同步与节目或滤波函数(CouchDB/PouchDB partial syncs with limited rights)每个用户
- 一个数据库。 (如何拆分数据库在我的情况?)
- 使用像covercouch代理应用程序来管理ACL(https://github.com/ermouth/covercouch)
- 发展自己的代理那里可以实施的过滤功能,以满足我的需要?
解决上述问题的最佳解决方案是什么?
你说得对,我在上面指出我的问题。 – Dorian
大大改进。谢谢! – Flimzy