私は、concrete5をフレームワークとして使用して、CopperProjectやPHPCollabに似たWebベースのプロジェクト管理/コラボレーションアプリの計画段階にあります。
統合したい機能がいくつかありますが、ブロックを使用してDBテーブルがどのように生成されるかを見ると、これを実現する方法が完全にはわかりません。
私が念頭に置いている機能は次のとおりです。1)アカウントマネージャーまたはプロジェクトマネージャーが新しいクライアントを作成する場合、クライアントに3文字のプレフィックスを割り当てる必要があります。例:(運が良ければ)Dieselをクライアントとして追加する場合、プレフィックスDSLを割り当てたいと思います。
2)アカウントマネージャーまたはプロジェクトマネージャーが新しいプロジェクトを作成する場合、プロジェクトIDは、すべてのクライアントのプロジェクトの総数ではなく、クライアントに直接関連付けられている必要があります。言い換えれば、私とのディーゼルの最初のプロジェクトのプロジェクトIDは、DSL016ではなくDSL001である必要があります。これは、このプロジェクトの前に他のクライアント用のプロジェクトが15個あったためです(グローバルプロジェクトIDロジックに従うCopperとPHP Collabの両方を参照)。クライアントごとのプロジェクトIDロジックとは対照的です)。このプロジェクトIDは、AM / PMによって作成されたフロントエンドプロジェクトページに表示され、コスト見積もりや請求書などの参照IDとしても使用されます。
そこで、ワークフロー計画の観点から問題が発生します。MySQLについての私の理解では、自分のプロジェクトIDロジックに従う場合は、クライアントごとに新しいテーブルを作成して、プロジェクトに関するすべてのデータを含め、DBが正しく出力できるようにする必要があります。一意のID番号。
ただし、C5についての私の理解では、たとえば、このアプリを作成する過程で、フロントエンドテンプレートに挿入するブロックとしてプロジェクトフォームを作成することにした場合、db.xmlファイルは汎用を作成しますクライアントごとに1つではなく、すべてのクライアントのDB内のプロジェクトデータテーブル。
C5のフレームワークのコンテキストで私がやろうとしていることをどのように達成できるかについての提案はありますか?
不明な点がある場合は、プロジェクトページがどのように表示されるかのモックアップをいくつか表示できます。
ありがとう!