ddbj / ddbj_validator

DDBJ Validation Rule/Validator/Module/API server
1 stars 0 forks source link

日付のauto-correctの追加修正検討 #55

Closed okbp closed 6 years ago

okbp commented 6 years ago

運用から5月末までの2.5ヶ月分のValidationのログを確認して日付フォーマットチェックで気になるケースがあったので相談させてください。
(ログのデータは別途お渡しします)

1. NN-NNのケース

ハイフンで区切られた2桁の数字が来ると、YY-MM または MM-YYとしてパースして、DDBJ日付フォーマットに合うようにYYYY-MMにauto-correctしています。 https://github.com/ddbj/ddbj_validator/blob/master/src/conf/biosample/convert_date_format.json#L164-L168

入力値: "Mar-18" => 月名修正: "03-18" => Auto-correct値: "2018-03"
入力値: "Aug-01" => 月名修正: "08-01" => Auto-correct値: "2001-08"
入力値: "21-Mar" => 月名修正: "21-03" => Auto-correct値: "2021-03"

この形式の場合、年月ではなく、月日のつもりで入力してくるユーザがいるのかもしれず、auto-correctしていいのか気になりました。 ただ、月日だとデータとしてあまり意味がないのかもしれず、auto-correctがされるのが嫌なユーザは年を追加してもらうという現状のままでもいいかもしれません。

2. NN-NN-NNのケース

年の部分を2桁で書いてくるケースがあり、この場合、年を4桁に直さないと、DDBJの日付フォーマットにできません。

入力値: "1-Apr-15" => 月名修正: "1-04-15" => Auto-correct値: "1-04-15" (DDBJフォーマットとしては正しくない)

月の部分が月名(Jan)の場合、数値に直す部分だけauto-correctしてしまっているのですが、 DDBJフォーマットに直せないならauto-correctしない方が良い気がしました。

3. カンマ区切りのケース

年月日の区切りをカンマ(+空白)にするユーザが何名かいました。カンマ区切りを追加しても良いでしょうか? 現状カンマ区切りに対応していないので、月の部分が月名(Jan)の場合、数値に直す部分だけauto-correctしてしまっているのですが、 こちらも2と同様DDBJフォーマットに直せないならauto-correctしない方が良い気がしました。

入力値:"29, June, 2017" => 月名修正: "29, 06, 2017" => Auto-correct値: "29, 06, 2017" (DDBJフォーマットとしては正しくない)
入力値:"October, 2016" => 月名修正: "10, 2016" => Auto-correct値: "10, 2016" (DDBJフォーマットとしては正しくない)
okbp commented 6 years ago
okbp commented 6 years ago

03b1de3

okbp commented 6 years ago

テストケース(collection_date属性)

komstat commented 6 years ago

期待される auto-correct が実施されることを確認しました

okbp commented 6 years ago

masterマージ後本番環境にリリース 9076d44