web-dev-qa-db-ja.com

機械で読み取り可能で人間が読み取れる、定期的なスケジュールのテキスト表現

特にデータを別のB2BシステムからGoogleのシステムに移動する場合、一括データ入力を高速化するために「Excelからのインポート」機能に取り組んでいます。

インポートする20種類のフィールドのうち、Excelでフォーマットするのが難しいのはそのうちの1つ、つまり定期的なスケジュールだけです。だから私はテキストフォーマットを定義しようとしています:

  • 単一のExcelセル(または1行の少数のセル)に収まるフォーマットされていないプレーンテキスト
  • インポートエラーを回避するために機械で読み取り可能
  • データ入力エラーを回避し、インポートが失敗した場合にフォーマットの間違いを簡単にトラブルシューティングできるように、人間が読める形式です。

明らかに、これらの要件は緊張状態にあるか、またはこれはより簡単な解決策になります。 ;-)

私たちのユーザーは非技術系のオフィスワーカーなので、「XMLまたはJSONを使用する」だけではおそらく機能しません。ユーザーにとって複雑すぎて、冗長すぎます。

アプリは現在英語のみですが、最終的にはヨーロッパ言語にローカライズする必要がある場合があります(ただし、RTLや東アジアなど、より難しいローカライズは行いません)。

私がやろうとしていることは可能ですか?それとも、私が気にしてはいけないのはとても悪い考えですか?

もう1つの方法は、何百ものスケジュールをアプリに入力する必要があるたびに、開発者にカスタムインポートコードの作成を要求することです。そして、明らかな理由により、これを避けて、お客様が代わりにセルフサービスできるようにしたいと思います。 。

今日、スケジュールは非常にシンプルです。パターンは1〜4週間ごとに繰り返され、その1〜4週間以内に同じ日が選択されます。

例:

  • 月、水、金(1週間のパターン)
  • 毎週第2月曜日(2週間のパターン)
  • 毎週第4火曜日(4週間パターン)
  • 2週間のパターン。最初の週は月曜、水曜、2週目は火曜、木曜

理想的には、フォーマットは時間の経過とともに拡大する可能性があるため、月次スケジュール(月の1日と15日など)をサポートする場合は、フォーマットを拡張できます。

多くの場合、テキストのシリアル化はUXトピックよりも開発者向けのトピックであることはわかっていますが、この場合、テキスト形式は開発者ではなく非技術者ユーザーを対象としているため、UX StackExchangeが適切であると想定しました。同意しない場合は、StackOverflowに移行するために自由に投票してください。

1
Justin Grant

機械可読コンテンツは、必ずしも人間の視覚表現に影響を与える必要はありません。

特定のケースで考えられる解決策には、 hCalendar Microformating および Dates、Times and Durations Microdata が含まれます。

これらは両方とも、視覚的表現ではなくコードに書き込まれます。つまり、RTL、東アジア言語、その他の表現可能な言​​語形式でも機能します。

2
Andrew Martin

これは非常にユーザビリティの問題ですが、他の人は同意しないかもしれません。

私が考えることができる最良のフォーマットは列に少し重いですが、ユーザーに超特殊フォーマットコードを覚えさせることなく保証する唯一の方法です:

A              B             C             D             E
FREQUENCY      EVERY 1ST     EVERY 2ND     EVERY 3RD     EVERY 4TH
------------------------------------------------------------------------
Weekly        |Mon, Wed, Fri|
Fortnightly   |              Mon          |
Four Weekly   |                                          Tues          |
Fortnightly   |Mon, Wed      Tue, Thu     |
  • 頻度:非常に広い範囲のユーザー入力の同義語を許可するか、厳密にすることができますが、単語を使用する方がユーザーフレンドリーですが、それ以外の場合、列は「頻度(日)」に変換され、すべての入力が7の倍数である可能性がありますそれは毎月の入力を困難にするということですか、1か月は28、30、30.43、31日ですか?]
  • "Mon、Tue、Wed、Thu ..."や "Monday、Tuesday、Tuesday、Tuesday、Tuesday ..."については、ユーザーにとって可能な限り柔軟に、Excelで最適に機能するものに変換します。しかし、ユーザー入力としては、短い形式と長い形式の両方を許可する方がはるかに優れています。
  • アプリのUIを介したユーザー入力とExcelスプレッドシートの間の接続がわからない[ユーザーがデータを読み取ったり編集したりする必要がない限り、データベースではなくデータを保存する]が、スプレッドシートをフォーマットできる場合[そうする必要がある場合] 、パイプバー間の領域が条件付きで淡い灰色のBGでフォーマットされている場合(通常の白BGに対して)、スプレッドシートを読んでいる人にとっては、たとえば2セルが強調表示= 2週間サイクル、4セルが強調表示= 4週間サイクルなど、大幅にわかりやすくなります。 4週間のサイクルの毎日28セルを使用することになるので、頻度列を読み取る必要はありません。
  • すべてのテキストを1つの列に入れると、ユーザーがそうする理由がある場合、読みやすさが大幅に低下しますか?それを頻度列と日数列に入れることは依然として危険であり、視覚的に欠けています。モバイル版のOfficeからではない場合、アプリ側からユーザーの問題が発生している場所を特定するのは難しいですが、頻度のあるドロップダウンを使用でき、特別なカレンダーのドロップダウンで7日しか表示されない場合、ユーザーが1週間を選択しました。
0
Evad