2009-05-30 10 views
1

私のウェブサイトのためのカレンダー 'コンポーネント'を作りたいと思います。私はそれを将来的に扱いやすく拡張しやすくしたいと考えています。他のウェブサイトでは使用しませんが、ウェブサイトの他の部分とは独立したものにしたいと考えています。このWebサイトはASP.NET MVCで構築されています。カレンダー/イベントアプリケーション(ビュー)を構築するには、どのような方法が適していますか?

さまざまなビュー(月、週、日[おそらく年])を含めるとします。私は、ユーザーに情報を提示するさまざまな方法を使用して計画しています:

  • アイコン
  • カラー化(週、時間、期間[!])
  • ポップアップ画面

情報ニーズ他の(.NET)モデルに含まれる情報に基づいて表示されます。私はこの論理を正しく分離したい。

私はjavascriptがかなり上手です。イベントをカレンダーにドラッグアンドドロップし、カレンダーの日付をナビゲートするための素晴らしいインターフェイスを構築できます。しかし、私はコンポーネントがjavascriptなしで動作するようにしたい。

このコンポーネントをゼロから作成する必要がありますか?その場合は、コンポーネントを作成するために作成する異なるパーツに名前を付けることができますか?

OR

私は私のニーズに合うように、.NET Calendarコントロールを変更することはできますか?

ありがとうございました!

答えて

4

私は重くがここに偏っんだけど、Google Calendarが何をするかを見てみましょう。私の考えでは、カレンダーのための本当に素晴らしいWeb UIです。

私の主なアドバイスは、それが痛みであると予想することです。これらの「軸」の特定において、各複雑度の大きさの余分な順序を追加します。他のカレンダークライアント(例えば、iCalのまたはActiveSyncの)との相互運用

  • 他のカレンダーサーバとの相互運用(例えばGoogleカレンダー)
  • 処理時間帯(ではなく、)は、タイムゾーンがUTCからのオフセットにすぎないと仮定しています!夏時間の開始時期を予測できるように、詳細情報を知る必要があります。 (たとえば、会議を)共有イベントの処理(注意しないなら任意に複雑になってしまうことができます)再発イベント
  • の取り扱い
  • 取り扱いがアクセスを共有(例えば、ユーザXは、ユーザYの秘書で、実行する権限を持っていますさまざまなもの)
  • ローカリゼーションの取り扱い(すべてのカルチャはその日付をdif ferentの方法)
  • 別のカレンダータイプの処理は、(あなたがなどコプトカレンダーをサポートする必要があるのですか?)

あなたがそれらのすべてを組み合わせると、あなたは巨大な痛みで終わります。あなたが本当にカバーする必要があるものを探し出し、他のすべてを除外します。 永久それを除外するようにしてください(と、明示的に - あなただけのは、管理承認を得て、サポートするつもりはない、物事の文書を保ちます)。

完全な開示:私はほとんどのカレンダー側で、モバイルデバイス用Google Syncに取り組んでいます。あなたは起こっているコーナーケースのいくつかを信じていません。私の開発スペースは、基本的には基本的にコーナーで構成されています。

+0

良いもの。私のカレンダーはスケジューリング/追跡(ダイエット/身体活動)に使用されるので、従来のミーティング/タスク/ワークスペースカレンダーとは異なります。しかし、最高の入力、ありがとう。 – Ropstah

1

なぜ再利用でき、おそらくすでに改善されているホイールを再発明するのですか?

あなたは私たちが今日の世界ではWebAppers entry

の詳細を読むことができ、我々は代わりに再利用する必要があり

...それはそうあなたが必要なすべてを行うことができますJavascript APIを使用していますDHTMLxSchedulerを見てみてください繰り返し何かを何度も発明して...少なくとも私はこの考えから謝罪しています。

オープンソース - GPLでは、GPLプロジェクトでdhtmlxSchedulerを無料で使用できます。

1

あなた自身で作成することをお勧めします。これについて数分間考えてください。

カレンダーを構築期待する場合は、Xの時間が、あなたはカレンダーを探しているX/10時間を費やす必要があると言うがかかります。

  1. はあなたが必要なものにしても中途半端近づきます。最悪の場合、時間の10%を無駄にし、50%の時間を節約できます。何百ものカレンダーがあるので、あなたのニーズに合ったもの、つまりプログレッシブなレンダリングとすべてのもの(ドラッグ&ドロップはおそらくあなた自身で行う必要があります)を見つけるでしょう。

  2. あなたのニーズに合ったライセンスを持っています。それらのほとんどは自由なライセンスを持っています。なぜなら、それはそのような共通のコントロールだからです。

  3. カレンダーの採用率が高い場合は、野生でテストされているためバグが少なくて済みますので、数ヶ月の間に膨大な数のブラウザーにバグが表示され続けることになります。同じコード化機能を費やすことができたときに、バグを修正して時間を費やすことは本当にありません。コミュニティが大きければ、(たとえ一部の国では月から月に移行するような)気にすることなく、無料で入手できるクールな機能もあります。

ドラッグアンドドロップ機能で時間を節約し、必要に応じてカレンダーを調整することができます。

+0

しかし、これは本当に私の質問ではありませんでした...;)+1 – Ropstah

0

私はあなたの例のjqueryのUIのカレンダーのために、そのためのいくつかのライブラリを使用することができます...回答の残りの部分に同意:

http://jqueryui.com/demos/datepicker/

歓声

関連する問題