我正在开发一个用于管理小型公司(1-2 名经理和 20-100 名员工)的应用程序。经理有一个供经理使用的 Mac 应用程序。每个员工都拥有带有员工应用程序的 iPad
。我想尝试使用 Realm 移动平台来实现此目的。但我无法想象建筑。
想法如下:
- 经理可以创建一些与所有员工共享的通用数据(共享 向所有员工授予访问权限的 Realm ?)。
- 每个员工都可以创建私有(private)数据(带有 ~ 符号的私有(private)共享 Realm ?)。
- 经理可以在他的应用中查看所有公共(public)数据以及所有私有(private)数据(所有公共(public) Realm 和所有员工的私有(private)
Realm
?)
例如我创建这 2 个应用程序并将它们分发给小公司(例如 300 家公司)。我应该为每个公司设置单独的 Realm 对象服务器(不是最佳解决方案),还是可以为所有公司使用一个包含 Realms 的 Realm 对象服务器公司?在这种情况下,如何仅向其经理和员工授予对公司特定 Realm
的访问权限?
由于Realm
复制整个数据库,经理将在他的Mac上拥有所有Realm,并且每个员工将在他的iPad<上拥有公共(public)
,对吗?我想知道因为每个 Realms
和1个私有(private)RealmRealm
的大小可能约为 40 Mb。因此,我不想将公司的所有数据(实际上是所有公共(public)和私有(private) Realm
)复制到每个iPad
。
最佳答案
Manager can create some common data shared with all employees (shared realms with access granted to all employees?).
这可以是与所有员工共享的单一 Realm 。
Each employee can create private data (private shared realm with ~ symbol?).
在 Realms URL 前面使用 ~
波浪号仅用于命名空间(它会被用户 ID 替换)。这与在文件系统中寻址用户 homedir 的方式类似。默认情况下,用户只能在自己的命名空间中创建 Realm 。
但即使 Realm 是在用户自己的命名空间中创建的(默认情况下只有他们有权访问它),您仍然可以添加额外的权限以与其他人共享它。因此,在您的情况下,您只需添加权限以允许经理也读取它们。
Should I set up a separate Realm Object Server for each company (not best solution) or I can use one Realm Object Server containing Realms for all companies?
你可以两者都做。每个公司使用一台服务器将使扩展变得容易(并且您可以将其托管在靠近其实际位置的可用区域中),但您也可以将其全部托管在一台服务器上。
由于各个员工都将其 Realm 存储在自己的命名空间 (realm://host.com/~/myrealm
) 下,因此不会发生冲突。对于经理共享 Realm ,您可以将它们分别放在公司命名空间下 (realm://host.com/companyname/sharedrealm
)。
As Realm replicates the whole database, manager will have all Realms on his Mac
经理不需要一直在他的 Mac 上保留所有员工 Realm ,可以在需要时按需打开。
how in this case to grant access to the company specific Realms only to its managers and employees?
目前您需要企业版来控制此类个人权限(但开发版也将推出),因此您应该联系我们
关于ios - Realm 移动平台适合管理小公司的服务吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39869334/