web-dev-qa-db-ja.com

毎日繰り返す一連のステップを構築する最良の方法は?

ユーザーがデータ(Excel、csvなど)をアップロードし、フィルターを適用して、このデータを他のいくつかの形式でエクスポートできる(ウェブ)アプリケーションを開発しています。

ユーザーは、より多くのデータを継続的にアップロードし、より多くのフィルターを適用し、データをエクスポートすることができ、ユーザーがこれを実行する必要がある「固定された」順序はありません。

ここで、ユーザーが毎日繰り返す一連のステップを作成できるようにします。これらのステップは、指定された順序で毎日実行されます。

例えば:

  • すべてリセット
  • a1-5.csvをアップロード
  • a6-10.csvをアップロード
  • 現在の日付のすべての行に列を追加する
  • すべてをa_plus_date.csvとしてエクスポート

私のアプリケーションには「アクション」の概念があり、各ステップがアクションになります。これにより、アクションログが作成されます。ただし、すべてのアクションが日常の手順に含まれることが有用であるとは限りません。

Photoshopがアクションを実装する方法を調べましたが、平均的なユーザーにとってそれは難しいようです。

ユーザーがそのような毎日のステップリストを作成するための最良/簡単/最も簡単な方法は何でしょうか?これを行うための一般的なパターンはありますか?

2
RobAu

役に立つかもしれない郵便局からの参照を持っています。大学では、郵送用の荷物を配達しました。このスキャナーを持っていて、すべての住所を特定の順序で表示しました。この特定の注文は、パッケージの配達を期待できる時間枠を人々に与えるために必要でした。注文と期間は以前の経験に基づいていました。彼らは、パッケージがX分ごとに配達されることを知っていて、注文はドライバーがたどったルートに基づいて動的に形成されました。

ルートが拡張されたとき、新しいデータを追加する必要がありましたが、システムは私がどのルートを取るのか、そしてアドレスを表示するためにどのような順序であるのかを知りませんでした。しかし、私はルートを運転する必要があり、システムはそれから学びます。

アプリケーションについても同じことが言えます。ユーザーから学ぶべきだと思います。最初に手動で手順を実行し、それに基づいて自動化された手順を実行する様子を観察してください。 「ユーザーが金曜日にのみ使用するこのアクション」まで行き、毎週金曜日にリストに追加します。毎日の行動の正確なセットを形成するには、しばらく時間がかかります。

しかし、それを人々が制御できるようにしてください。あなたは彼らの動きを予想して彼らと一緒に考えるなら人々はそれを好きになりますが、特定のアクションを自動的に展開することは危険な場合があります。あなたが彼らにしたいと思う毎日の行動のリストを彼らに与えることができます。アクションを簡単に削除または追加できるようにし、アクションのリストを実行するための大きなボタンを1つ与えます。

4

基本的に、一連の事前定義されたアクションで構成される小さなプログラムをユーザーが作成および実行できるようにします。このタイプの対話の一般用語は ドメイン固有言語(DSL) です。コードで表す必要はなく、複雑に見える必要もありません。

技術者以外のビジネスユーザー(プログラマーではなく、Excelの数式を作成する能力があるユーザー)が使用するように設計されたルールエンジンを作成した経験があります。設計段階で抽象化を正しく行うことが非常に重要です。つまり、アクションとして定義できるもの、入力(ファイル名、列名)とは何ですか。

非技術的なユーザーのために本当に素晴らしいインターフェイスが必要な場合は、可能な限りすべてをグラフィカルに保つことをお勧めします。ユーザーがプログラムのステップを作成/編集するためのある種のキャンバスを提供します。各タイプのステップのテンプレートを使用し、ドラッグアンドドロップで作成および並べ替えます。

上記があなたが考えていたものよりも少し上にあると思われる場合は、非常に単純なスクリプト言語に沿って、テキストベースの何かを行うことができます。この方法を使用する場合は、ボタンやその他のヘルプを提供して、新しいユーザーが簡単な機能を開始できるようにしてください(これらはアクションタイプのテンプレートである必要があります)。このサイトのQ/Aテキストボックスにあるマークダウン編集ヘルプに似たものを覚えています。

1
Franchesca