我需要使用Keystone.js(站点网络)创建多个站点。我有一个参考集合,应该在每个站点上使用它作为与其他网络站点中模型的关系。这就像所有网络站点中使用的通用标签列表。希望你明白我的意思。对不起,我的英语不好。Keystone.js:在多个站点中使用一个模型
回答
没有真正理解你的使用情况,我看到两个潜在的架构探索:
单梯形实例:
看看你是否可以设计你的数据使用继承并尝试把 中的所有站点一个关键实例。 IE你可以有一个父母 “发布”模型,然后每个站点“FooPost”,“BarPost”从帖子继承 。通过这种方式,您可以使用股票基石/猫鼬 关系机制和内置的CRUD引导程序。这里缺点 这种架构会让你的管理界面和数据模型更复杂,但我认为它是一个潜在的解决方案,将单个keystone实例“分区”到不同的站点。对于一个实例中的少数“站点”,这可能会更好地运行 ,因为更多的只是 会使数据模型和管理用户界面太复杂而无法使用。
优点:可以使用梯形股票CRUD /关系
缺点:比较复杂管理UX,你必须前端自己手动分区,以保持数据分开,更复杂的数据结构使用了大量的继承
单独的梯形实例:
一个轻量级的方式来分享不同的梯形实例之间的非关系型数据(像一个普通的标签列表)可能是刚刚引导的API包装为每一个“标签”模式并将API CRUD调用添加到每个keystone实例API。然后,您可以通过猫鼬挂钩调用CRUD API来维护跨网站的模型数据。有很多示例用于提升keystone CRUD API,并且您可以在模型的后期保存,后期删除或后期更新中进行api CRUD调用。
建模关系会更复杂。我会在每个网站上创建一个“链接”模型,它只不过是一个URL字段和一个_id。在您试图与之共享关系的每个网站的模型中建立一对多关系,并将该链接模型包装在CRUD API中。通过这种方式,您可以将模型“链接”在一起,并将它们呈现为管理页面上的可点击链接。你将不得不编写相当数量的钩子和API调用,但我认为这是一个可能允许某些事务数据同步容错的系统的潜在可行架构(IE你不会尝试这种类型的架构来处理任何需要超级紧凑交易完整性,但它可能适用于社交媒体)。
优点:关注点分离,干净的数据模型,分区管理员屏幕(也许对于一些用例CON)
缺点:需要同步的数据模型架构(你可以子模块共同梯形模型GitHub库和共享它在所有站点之间修复这个问题之前做过),更多的api和模式钩子代码,每个站点都有独立的管理员用户体验,更多的系统管理员可以运行并同步单独的实例
我不认为这是可能的,但如果它是一个参考集合,那么为什么不直接在它自己的网站上运行它,并让所有其他网站都为它查询数据呢?
我试着在同一个实例中运行两个站点一次。它会导致具有相同名称的所有模型在数据库中共享一个集合,这并不是一件好事,因为这意味着updates
集合中keystone创建的集合将在应用程序之间以及任何用户之间共享(除非您致电用户在每个站点上模拟不同的东西)。这当然不是为了解决这个问题。
- 1. 从一个站点使用javascript登录到多个站点?
- 2. 使用多个模型作为一个
- 3. 在一个模型中有多个has_many_polymorphs
- 4. ASP.NET MVC:如何在一个视图中使用多个模型?
- 5. 生成一个MVC模型在多个视图中使用
- 6. MVC 5在一个视图中使用多个模型异步
- 7. MVC在一个视图中使用父级模型的多个模型
- 8. 在网站上使用多个'点击'
- 9. 在同一个多站点安装中克隆Drupal站点?
- 10. Rails 3 - 在另一个模型中的多个模型形式
- 11. 对多个表使用单一模型
- 12. 多个站点
- 13. 我需要在我的django-cms多站点项目的插件模型中添加一个“站点”字段吗?
- 14. 在一个模型中多个一对多关联
- 15. 两个站点或一个网站建设CMS类型应用
- 16. 用一个值查询多个模型
- 17. 加载多个模型在一个
- 18. Django。多个OneToOneField在同一模型中
- 19. 一个站点,多个客户端UI
- 20. 多站点在一个W installation安装
- 21. 从一个控制器的多个模型中使用Searchlogic
- 22. CodeIgniter如何使用一个CMS创建多个站点
- 23. 多个Django站点 - 在Win32
- 24. Django中的多个站点
- 25. 使用Symfony3创建多个站点
- 26. 使用Java App Engine的多个站点
- 27. 使用Solr的多个站点
- 28. 使用django创建多个站点
- 29. 在flask-sqlalchemy中使用同一模型的多个数据库
- 30. Symfony多个站点