これはMeteorのアーキテクチャに非常に精通している人のための質問です。アプリを別々のインスタンスに透過的に分離する流星スマートパッケージを設計するにはどうすればよいですか?
私は、Meteorアプリケーションの複数の「コピー」を透過的に実行できるスマートパッケージを設計しようとしています。つまり、既存のMeteorアプリケーションといくつかの事前定義されたユーザーグループがある場合、パッケージは半自動的にアプリケーションを「分離」することができます。つまり、ユーザーグループごとにという形で実行します。アプリ。
この機能は、どのアプリケーションにも合わせてカスタム設計できます。しかし、私はスマートパッケージがMeteorのCollection
の使用を考慮して、既存のアプリケーションの上にこの機能を提供する最も簡単な方法を探しています。したがって、以下を多かれ少なかれ満たす必要があります:
- これは、通常の流星アプリと同じくらい効率的でなければなりません。
- このシステムを使用するために既存のMeteorアプリケーションを変換するには、最小限のコード変更が必要です。
- パッケージは、メテオを変更またはオーバーライドする必要はなく、比較的将来の保証が必要です。ここで
は、私はこの問題のことについて考えてきたいくつかのアプローチとそれに対応する欠点がある:すべてのコレクションの正規流星アプリの
- 使用、およびグループを表す追加のIDを持つ各文書にタグを付けること各ユーザーのパブリケーション/サブスクリプションは、同じグループIDを持つドキュメントのみをプルします。
Meteor.Collection
をオーバーライドして(または同じインターフェイスを実装して)、これらの異なるグループを認識させ、クライアントの観点からは、現在のユーザーのグループがアプリ全体であるかのように動作します。
私は実際に流星のシステムを知っている人から良いアイデアを探しています。 Meteorアプリケーションの大部分を簡単に変換して(つまり、非常に脆いクレイジーハックを避ける)、Meteorの上に実装するのは簡単で効率的な方法で、この機能を設計するにはどうすればよいですか?
(あなたがNYCエリアで流星の第一人者であれば、私はこれを議論する夕食にあなたを取るために幸せになる!)
あなたはこの質問への良い答えを見つけたことがありますか?あるいは実際にそれらを試したことさえあるでしょうか? – tuomassalo
@tuomassalo私は自分自身を構築しています。今後数ヶ月にわたって機能がさらに充実していく実装については、https://github.com/HarvardEconCS/turkserver-meteorを参照してください。 –