7

レポートを作成してオンラインで表示できる Web アプリケーションを開発しています。これらのレポートは、典型的な学校レポートまたは年次従業員評価レポートの構造を持っています。ユーザーがレポートの構造をカスタマイズできるようにしたいと考えています。たとえば、ある学校では次の形式のレポートが必要になる場合があります。

Subject   Comment       Score
-----------------------------
English   He sucks      20% 
Maths     He rocks      88%
Science   About average 70%

一方、別の人が望むかもしれません

Subject   Grade
---------------
English     A
Maths       B
Science     C

私が探しているのは、各学校がレポートの形式を指定する方法です。おそらく、ある種の JavaScript フォーム構築ライブラリです。このようなライブラリは、ユーザーがレポートのテンプレートとして使用されるフォームを作成できるようにするページで使用できます。

サーバー側で送信された各レポートを処理する必要があるため、各フィールドに関するいくつかのセマンティクスを取得する必要があります。たとえば、レポートの各質問への回答をプレーン テキスト、数値スコア、チェックボックス、ラジオ ボタンなどにするかどうかをユーザーが指定できると便利です。

このような「動的な」フォームを処理するための有用な技術についての提案は、本当にありがたいです。XFormsは関連があるように見えますが、まだ深く掘り下げていません。

乾杯、ドン

4

7 に答える 7

2

非常に優れたXForms ベースのフォーム ビルダー (LGPL) http://www.orbeon.com/

ここでフォームビルダーのデモをチェックできます: http://www.orbeon.com/ops/fr/orbeon/builder/summary/

于 2009-12-27T16:25:15.940 に答える
1

実用的なアプローチは、フォームと呼ばれるGoogleスプレッドシートの機能、 wufooまたはJotFormの(有料)サービスを使用することです。

于 2009-12-26T16:25:20.370 に答える
1

Jeff Beck のコメントに同意し、次の点にも気付きました。

あなたの対象読者は技術者ではなく、上記のすべてのソリューションには、HTML と複雑なテンプレート言語の学習が含まれる予定であり、対象読者にとって初心者ではない可能性があるとおっしゃいました。

上記の解決策は、問題が必要とする以上の複雑さを必要とするようです。MooTools、Dojo などはやり過ぎのようです。XForms と XSLT はなおさらです。はい、それらは機能し、多くの追加機能を提供しますが、これらの追加機能に伴う複雑さのレベルとデバッグ/保守性/トレーニングの問題が必要ですか?

通常の教師やビジネス ユーザーは、Excel でファイルを入力して保存する方法について基本的な知識を持っているはずです。CSV 形式で保存してフォームをアップロードする方法、または CSV に保存して Web サイトに投稿するマクロをインストールする方法を彼らに教えることができれば、それが彼らが必要とする唯一のトレーニングになる可能性があります。セマンティクスを取得するには、もう少しトレーニングを追加して、レポートの最初の行を列名にし、2 行目を列の型にすることができます。洗練されたものではありませんが、ジェフが指摘しているように、おそらく技術に問題のあるユーザーが採用するのは簡単です.

サーバー側では、次のスタックをお勧めします。

Web サーバー => node.js (おそらくチェーンを使用 - github.com/hassox/chain)

データストア => Redis (および node-redis)

テンプレート => Haml-js (github.com/creationix/haml-js)

CSV 解析 => http://purbayubudi.wordpress.com/2008/11/09/csv-parser-using-javascript/ を参照し、コメント (引用符で囲まれたコンマ) にある修正済みバージョンを使用してください。

技術に精通したユーザーは、セキュリティを損なうことなく HAML をカスタマイズできます。HAML は、少しトレーニングすれば非常に簡単です: この HAML...

 %body
.profile
  .left.column
    #date= print_date()
    #address= current_user.address
  .right.column
    #email= current_user.email
    #bio= current_user.bio

生産...

<div class="profile">
  <div class="left column">
     <div id="date">Thursday, October 8, 2009</div>
     <div id="address">Richardson, TX</div>
  </div>
  <div class="right column">
     <div id="email">tim@creationix.com</div>
     <div id="bio">Experienced software professional...</div>
  </div>
</div>
于 2009-12-30T22:47:27.330 に答える
0

私はXSLTFormsを担当しており、あなたがやりたいことの良い候補のようです。

XSLTFormsの可能性は、XForms 1.1仕様の可能性よりも優れています。クライアント側のXSLT、SVGなどです。

動的フォームはXFormsを使用して開発でき、アプリケーションにとって十分でない場合は、XSLTFormsが必要な拡張機能を統合できます。

于 2009-12-23T20:03:29.427 に答える
0

フォームがあまり頻繁に変更されていない場合は、技術者以外のユーザーがレポートを台無しにするシステムを提供するべきではないと思います

むしろ、システムを簡単に新しいレポートを追加できるようにします。この場合、顧客は希望する形式を示すpdf / Excelを送信し、新しいレポートをすばやく作成できます。

つまり、私はいくつかの診療所で使用されている会計システムに対して行ったのですが、レポートが変更されるたびにわずかな料金も請求します(ユーザーがシステムを無意識に変更するのを防ぐため)

于 2009-12-31T04:29:50.770 に答える
0

Seasideを使用して Smalltalk で簡単に構築できるはずです。WATableColumns を持つ WATableReport があります。各学校がこれらの列を定義できる単純なエディターを作成するだけです。javascript や XForms が何に関係しているのかわかりません。私の知る限り、ブラウザを処方してもらえない限り、XForms は現在死んでいます。

于 2009-12-28T18:25:20.600 に答える
0

私は使用することをお勧めします:

  • Wiki エンジン、または Markdown などのプレーンテキストから HTML へのコンバーターを使用して、ユーザーが提供するテンプレートをカスタマイズできるようにする
  • 定義されたテンプレートを使用してデータを挿入するための HTML テンプレート ライブラリ

HTML コンバーターの場合、サーバー側でJohn Gruber の MarkDown (perl) を使用するか、 John Fraser による Javascript ポート Showdownを使用できます。

HTML テンプレートの場合、選択したフレームワークに応じて、多くの Javascript ライブラリを利用できます。

于 2009-12-27T13:27:00.543 に答える