diff --git a/docs/spec/base/admin/ADMIN_2_4.md b/docs/spec/base/admin/ADMIN_2_4.md index 8088bbb3..f8db5af8 100644 --- a/docs/spec/base/admin/ADMIN_2_4.md +++ b/docs/spec/base/admin/ADMIN_2_4.md @@ -320,6 +320,7 @@ | .publish_status | .PUBLISH_STATUS | アイテムの公開/非公開を指定する。public/privateのいずれかを設定する。必須項目。 | | .feedback_mail[0] | .FEEDBACK_MAIL[0] | フィードバックメールの送信先メールアドレスを指定する。複数指定可。 | | .request_mail[0] | .REQUEST_MAIL[0] | リクエストメールの送信先メールアドレスを指定する。複数指定可。 | +| .researchmap_linkage | .RESEAECHMAP_LINKAGE | Researchmapへの連携フラグ | | .item_application.workflow | .ITEM_APPLICATION
.WORKFLOW | コンテンツファイルがない場合の利用申請のワークフローIDを指定する。 | | .item_application.terms | .ITEM_APPLICATION.TERMS |コンテンツファイルがない場合の利用規約IDを指定する。この列のデータ行にterm_freeが入力された場合、利用規約を自由入力として.item_application.terms_descriptionが表示される。 | | .item_application
.terms_description | .ITEM_APPLICATION
.TERMS_DESCRIPTION | コンテンツファイルがない場合の利用規約(自由入力)を指定する。 | diff --git a/docs/spec/base/admin/ADMIN_2_5.md b/docs/spec/base/admin/ADMIN_2_5.md index 0c503168..38ee3696 100644 --- a/docs/spec/base/admin/ADMIN_2_5.md +++ b/docs/spec/base/admin/ADMIN_2_5.md @@ -199,7 +199,8 @@ RO-Crateには、アイテムのメタデータを記述するための語彙が [TSV形式のメタデータ項目]()とシステム向け語彙について、定義したカスタム語彙を以下に示す。 カスタム語彙はプレフィックスとして、`wk:`が付与されている。 新規登録としてインポートする際に必須である項目は、インデックスIDと公開ステータスである。 -更新登録としてインポートする際に追加で必須になる項目は、アイテムIDとURIである。 +更新登録としてインポートする際に追加で必要になる項目は、アイテムIDとURIである。 +アイテムIDとURIがファイル内で指定されていない場合は、リクエストURLのパスパラメータで指定されたアイテムID(recid)を用いて、アイテムIDとURIの値を自動的に補完する。(SWORD API経由のみ) 一部の語彙は、RO-Crateインポート機能では使用できず、SWORD APIを利用してアイテムを登録・更新する際に使用される。 | 使用語彙 | 対応するTSV項目名 | バリュータイプ | デフォルト値 | 新規 | 更新 | 説明 | diff --git a/docs/spec/base/api/API_06_sword_api.md b/docs/spec/base/api/API_06_sword_api.md index ff6f3b5d..e5325a3a 100644 --- a/docs/spec/base/api/API_06_sword_api.md +++ b/docs/spec/base/api/API_06_sword_api.md @@ -194,6 +194,7 @@ curl -X PUT https://192.168.56.101/sword/deposit/1 -F "file=@import.zip;type=a - recid - アイテムIDを指定する + - ファイルにアイテムidとuriの値が指定されていない場合、recidの値でアイテムidとuriの情報が補完される - -F オプション - POSTするファイルを指定する。自動的にContent-Typeは"multipart/form-data"となる @@ -735,7 +736,7 @@ DELETE /sword/deposit/\ - 承認不要のワークフローの場合はワークフローを最後まで実行し登録を完了させる。 - 承認が必要なワークフローの場合はアクティビティを承認アクションまで進める。 - アクティビティの進行に必要なのメタデータが存在しない場合はアクティビティを停止し、どのメタデータが必須かエラーメッセージをJSON-LD形式で返却する。 - - アイテムのPIDと、登録が完了した場合はレコードのURL、アクティビティ詳細画面のURLを返却する。 + - アイテムのPIDと、レコードのURL、アクティビティ詳細画面のURL、ファイル情報がある場合ファイルリンクを返却する。 ※ メタデータ形式がXML形式の場合、現時点ではインデックスを指定することができないため、直接登録は行えない。 また、ワークフロー経由で登録する場合、ワークフローに登録先インデックスが指定されていなければ、アクティビティにメタデータとファイルを登録して停止する。 @@ -743,8 +744,7 @@ DELETE /sword/deposit/\ アイテムの登録処理に失敗した場合は、エラー([メッセージ:14](#err14))とする。 5. レスポンスを返却する - - アイテムの登録が完了した場合は、登録されたアイテムのURLをステータスドキュメントに含めて返却する。 - - アイテムの登録が完了していない場合は、アクティビティのURLをステータスドキュメントに含めて返却する。 + - アイテムの登録完了の有無に関わらず、登録されたアイテムのURL、アクティビティ詳細画面のURLおよび、ファイル情報がある場合はそのファイルのURLをステータスドキュメントに含めて返却する。 - 一連の登録処理に問題がありエラーが発生した場合は、エラードキュメントを返却する。 ### アイテム状態取得機能:GET /sword/deposit/<recid> @@ -763,6 +763,7 @@ DELETE /sword/deposit/\ ほとんどの処理はアイテム状態取得機能と同様であるが、以下の点が異なる。 - アイテムの分割は許可されない +- 更新ファイルで`identifier`および`uri`の値が指定されていない場合、リクエストURLのパスパラメータで指定されたアイテムID(recid)を用いて、`identifier`および`uri`の値を自動的に補完する。 - SWORD v3プロトコルでは、PUTメソッドはアイテムのメタデータとファイルすべての置き換えを意味するが、 例外として[メタデータのみ置換フラグ](../admin/ADMIN_2_5.md#wkmetadatareplaceメタデータのみ置換フラグ)が有効な場合は、 メタデータのみを置き換え、ファイルを維持する。 @@ -794,6 +795,8 @@ DELETE /sword/deposit/\ - 分割されるアイテムは、論文アイテムと論拠データアイテムの2種に分類され、相互にアイテムリンクされる。 - 論文アイテムから論拠データアイテムへのアイテムリンクのリレーションタイプは`isSupplementedBy`、論拠データアイテムから論文アイテムへのアイテムリンクのリレーションタイプは`isSupplementTo`である。 - アイテムリンクにはアイテムIDが必要なため、先に論拠データを登録しそのアイテムIDを取得し、論文アイテムを登録する際に相互にアイテムリンクを設定する。 +- 生成されるアイテムURLおよびワークフローがある場合はそれらのURLをレスポンスで返す。 +- 分割アイテム間で設定したリンク情報は、ステータスドキュメントの"log"フィールドに含めて返却される。 - このとき、`isSupplementTo`のアイテムリンク先をもつ論拠データアイテムを先に登録するように、アイテムの登録順を制御する。 ### 処理に関するエトセトラ @@ -1095,6 +1098,11 @@ DELETE /sword/deposit/\ "Repository Administrator" ] ``` +23. ファイルセットファイルのファイルパス + + ```python + WEKO_SWORDSERVER_FILE_SET_FILE = "/terms/fileSetFile" + ``` ## 更新履歴 diff --git a/docs/spec/base/other/RESEARCHMAP_LINKAGE.md b/docs/spec/base/other/RESEARCHMAP_LINKAGE.md new file mode 100644 index 00000000..614d2c97 --- /dev/null +++ b/docs/spec/base/other/RESEARCHMAP_LINKAGE.md @@ -0,0 +1,435 @@ +# API連携によるレコード追加機能 + +## 目的・用途 + +本機能は、WEKO3のシステム内で登録した公開状態のアイテムのレコードを、researchmapで提供されているAPIを利用してresearchmapの業績情報に追加するための機能である。この機能により、事前に利用機関毎にJSTが発行したAPIキーを使用して、API キーに紐づいた機関に所属する一般会員の業績情報の更新を行うことが出来る。 + +## 利用方法 +celeryのタスクとして、researchmapへの業績情報の登録処理が実行される。 +定期的に(例:一日一回)、バッチ処理により実行される。 + +## 利用可能なロール + + +++++++++ + + + + + + + + + + + + + + + + + + + + + + +
ロールシステム
+管理者
リポジトリ
+管理者
コミュニティ
+管理者
登録ユーザー一般ユーザーゲスト
+(未ログイン)
利用可否××××××
+ +※バッチ処理により定期的に実行される。 + +## 機能内容 + +- タスクをscripts/instance.cfgのCELERY_BEAT_SCHEDULEに記載し、参照する。 + +- 処理キューにレコードIDが入っているアイテムに対して、連携を行う。処理キューに処理を予約するには、「ItemRegistrationにてCRIS連携の機関チェックボックスをONにして登録し、アイテム登録が完了したとき」「連携フラグをTRUEにしてインポートし、登録完了したとき」([インポート](../admin/ADMIN_2_4.md)を参照)のいずれかのタイミングで行える。 + +- Celeryによりバッチ処理として、連携機能がONの場合、WEKOに登録されているアイテムのデータをresearchmapへ業績情報として追加する。 + + - 機能のON/OFFは設定ファイルに定義する。 + + - ResearchmapがCRIS連携に指定されているアイテムがキューに入っている場合、そのアイテムをresearchmapへの業績情報登録を行う。ただし、そのアイテムが公開状態であること、「著者」「コントリビュータ」欄(attribute_nameがcreator, contributor)に著者が登録されており、その著者の著者DBにresearchmapへのparmalinkが登録されている必要がある。また、researchmap側の設定としても、対象機関の下にある著者であり、公開状態にあることなど、連携を許可される設定下にある必要がある。(researchmap側の設定については、researchmapの連携API仕様書「3.10 研究者情報、代理人情報における取得・更新範囲」を参照のこと) + + - 登録対象アイテムの公開状態を確認する。 + + - 対象レコードのrecord_metadataのpublish_status, publish_dateを既存のメソッドを用いて確認する。(返り値True: public, False: private) + + - 対象レコードが登録されているインデックスの公開状態を既存のメソッドを用いて確認する。(返り値True: public, False: private) + + - ファイルが添付されている場合は、ファイル情報の公開状態を既存のメソッドを用いて確認する。(返り値True: ダウンロード可能, False: ダウンロード不可) + + - 確認結果が公開状態であれば、著者情報を確認する。 + アイテムのrecord_metadataを確認し、researchmapへ業績情報として登録できる入力データを作成する。 + + - 確認結果が非公開状態であれば、researchmapへの業績情報のレコード追加処理は行わない。 + + - 登録対象アイテムのrecord_metadataのjsonに、nameIdentifiersを持つ著者情報のデータがあるか確認する。 + + - attribute_nameがcreator, contributorの項目にnameIdentifiersを持つ著者情報がある場合、 CRISシステムの種別によって登録する著者情報の確認を行う。 + + - CRISシステムの種別がresearchmapの場合、nameIdentifierSchemeとしてresearchmapの会員ID(user_id)が設定されているかどうか確認する。 + + - researchmapの会員ID(user_id)が設定されている場合、該当のアイテムをデータ連携対象とする。 + + - 特定の作成者識別子Scheme (CRISシステムの種別がresearchmapの場合はresearchmap Member ID)と対応する作成者識別子の著者の業績情報として、連携用データの作成を行う。 + + - researchmapの会員ID(user_id) を持つ複数の著者情報が連携対象のアイテムに登録されている場合、それぞれの著者の業績情報として連携用データの作成を行う。 + + - 連携対象著者のresearchmap会員IDをそれぞれuser_idとして指定し、複数の業績情報を登録する。 + + - authorsのフィールドがある業績種別(論文: published_papers, MISC: misc, 書籍等出版物: books_etc)の業績として登録する場合、著者(authors)のフィールドの項目に、登録対象の会員ID以外の著者情報も含むデータを登録する。 + + - 業績種別が受賞:awardsの業績として登録する場合、受賞者(winners) のフィールドの項目に、登録対象の会員ID以外の著者情報も含むデータを登録する。 + + - 業績種別が講演・口頭発表等:presentationの業績として登録する場合、講演者(presenters) のフィールドの項目に、登録対象の会員ID以外の著者情報も含むデータを登録する。 + + - 業績種別がWorks:worksの業績として登録する場合、発表者(creators) のフィールドの項目に、登録対象の会員ID以外の著者情報も含むデータを登録する。 + + - 業績種別が共同研究・競争的資金等の研究課題:research_projectsの業績として登録する場合、担当研究者(investigators) のフィールドの項目に、登録対象の会員ID以外の著者情報も含むデータを登録する。 + + - 業績種別が産業財産権: industrial_property_rightsの業績として登録する場合、 発明者/考案者/創作者(inventors) のフィールドの項目に、登録対象の会員ID以外の著者情報も含むデータを登録する。 + + - nameIdentifiersを持つ著者情報がない場合、データの連携処理は行わない。 + + - アイテムの登録データから業績情報として登録できる入力データを作成する。 + + - 登録対象のアイテムのメタデータをjpcoarmappingスキーマに対応した状態で既存のメソッドを用いて取得する。 + + - 対象レコードのファイルのメタデータは既存のメソッドを用いて、公開、または公開日が過去日のメタデータのみ取得する。 + + - CRISシステムの種別がresearchmapの場合、登録項目(必須、任意)は、researchmapの業績種別と登録対象アイテムの資源タイプのデータの対応付けを定義したJSONを参照し、対応する項目の登録されている値を登録する。 + + - 資源タイプと researchmapの業績種別の対応表は別に添付する。 + + - WEKOの登録アイテムのメタデータとresearchmapへの登録の際のメタデータを、 JPCOARスキーママッピングを利用して対応付ける。 + + - 登録アイテムのWEKOの資源タイプと対応するresearchmap業績種別のフィールドに、 JPCOARのスキーママッピングと対応付けてマッピングを行い、対応するメタデータを登録する。 + + - マッピング情報のうち、jpcoar_mappingの指定する設定値を持つ項目をデータ連携対象とする。 + + - 連携対象アイテムのrecords_metadataを取得する。 + + - researchmapの対象の業績種別のフィールドの値に、jpcoar_mappingスキーマ形式で取得したアイテムのメタデータの対応する項目の値を、設定ファイルを利用して対応付け、登録するメタデータのJSONを作成する。 + + - 一つのJSONを作成する際に含まれる業績情報のデータの件数は、1アイテム分とする。 + + - 最大件数を越えた場合、次のJSONデータを作成する。 + + - JSONの例 + ```json + {"insert": {"type": "published_papers", "user_id": "xx"}, "merge": + {"paper_title":{"ja": "XXXXX", "en": "XXXXX"},"publication_date":"2011-10-10","publication_name":{"ja": "XXXXX", "en": "XXXXX"}}} + ``` + + - ※ 1 リクエストあたりの JSON の最大サイズは、10MB。 + + - ※ 1 行に1 業績、あるいは1 研究者のデータを記載する。不要な改行を含んでいる場合、エラーが発生する。プロフィール等でデータに改行を含む場合、¥n で記載する必要がある。 + + - ※ 以下の文字をデータ中に含める場合は、「\」でエスケープする。「"」であれば「\\"」と記載する。 + + | エスケープ表記 | 説明 | + | -------------- | ------------------------------------- | + | \\" | ダブルクォーテーション | + | \\\\ | バックスラッシュ | + | \n | 改行 | + | \uXXXX | 4 桁の16 進数で表記されたUnicode 文字 | + + - researchmapへの成果物登録の際の業績種別とJPCOARスキーマの資源タイプの対応表は、設定ファイルで変更可能とする。 + + - メタデータにJPCOARスキーマとの対応関係がない場合、該当のメタデータは登録しない。 + + - 登録するアイテムのメタデータの取得が出来なかった場合は、該当のメタデータを登録しない。 + + - 新たにアクセストークンを取得する。アクセストークンの取得処理の流れは以下。 + + - JWTを作成する。 + + - JWTを用いてトークンAPI リクエストを送信し、アクセストークンを取得する。 + + - アクセストークンの取得に失敗し場合、リトライする。 + + - リトライにX回失敗した場合、エラーメッセージをログに記録し業績情報登録処理を終了する。(Xは設定ファイルより取得する。デフォルトは5とする) + + - JWTを作成する。 + + - 既存のJWT作成ライブラリを利用する。(jpadilla/pyjwt) + + - 有効期限は2分とする。(推奨値)設定ファイルで値を管理する。 + + - 利用機関で機関毎に事前に取得しているAPIキーのクライアントIDを保持する。 + + - APIキーのクライアントIDの変数および、JWTの署名に用いる秘密鍵はAdminSettingsから取得する。 + + - APIキーのクライアントIDを使用してJSON Web トークン(JWT)を作成する。 + + - 各 header、claim の内容についてはresearchmapの連携API仕様書を参照のこと + + - JWTを用いてトークンAPI リクエストを送信し、アクセストークンを取得する。 + + - APIのリクエストは設定ファイルに定義し、CRISシステムの種別毎に該当する形式を利用できるようにする。 + + - APIリクエスト時にエラーレスポンスが返ってきた場合、そのエラー内容によって処理を行う。 + + - APIリクエスト時に再送信によって解消する可能性があるエラーレスポンスが返ってきた場合、トークンAPI リクエストを再度送信する。 + + - リトライ回数は設定ファイルで定義し、変更可能とする。(デフォルト値:5回) + + - 最後の再実行時にエラーが返ってきた場合は、失敗をCRIS連携結果テーブルに書き戻し、ステータスコードとエラーログを出力し、業績情報の登録処理を終了する。 + + - APIリクエスト時にJWTの再作成によって解消する可能性があるエラーレスポンスが返ってきた場合、 JWTの再作成後、トークンAPI リクエストを再度送信する。 + + - リトライ回数は設定ファイルで定義し、変更可能とする。(デフォルト値:5回) + + - 最後の再実行時にエラーレスポンスが返ってきた場合は、失敗をCRIS連携結果テーブルに書き戻し、ステータスコードとエラーログを出力し、業績情報の登録処理を終了する。 + + - 再送信により解消しないエラーレスポンスが返ってきた場合は、失敗をCRIS連携結果テーブルに書き戻し、ステータスコードとエラーログを出力し、業績情報の登録処理を終了する。 + + - エラー表に記載のないその他のエラーレスポンスが返ってきた場合は、ステータスコードとエラーログを出力し、業績情報の登録処理を終了する。 + + - エラー時レスポンス表 + アクセス時に返すエラー理由と内容 + + - アクセストークンを利用して、WEKOの登録アイテムに関するメタデータをresearchmapの業績情報に登録する前の整合性チェックのリクエストAPIを呼び出す。 + + - リクエスト + GET + + - パラメータ + + + + + + + + + + + + + + + + + + + + + + + + + + +
パラメーター名項目名説明
check整合性チェックのみ行うかどうかパラメーター(GET)に「check」(または、check=1)を記載すると、入力チェックのみ実行され、その結果を確認できます。その場合、「一括更新結果確認」の API より確認します。check を指定しなくても入力チェックを行い、1 件でもエラーがあった場合、更新処理は行いません。
id一括更新 ID

「check」パラメーターをつけ、入力チェックのみ行ったデータは、本 API のレスポンスより取得される

+

bulk_url を用いてインポートを実行できます。対象は、 check の API を実行し、その結果が確認できる状態であれば、実行できます。

+ + - 入力チェックの結果、エラーが発生したデータについては登録対象外として、登録時のリクエストの入力データから除外する。 + + - 該当のアイテムのresearchmap連携フラグは-2(連携エラー)とする。 + + + - アクセストークンを利用して、WEKOの登録アイテムに関するメタデータをresearchmapの業績情報に登録するリクエストAPIを呼び出す。 + + - リクエスト + POST or PUT https://api.researchmap.jp/\_bulk + + - パラメータ (POST BODY(JSON))例 + ```json + {"insert": {"type": "published_papers", "user_id": "xx"}, "merge": + {"paper_title":{"ja": "XXXXX", "en": "XXXXX"},"publication_date":"2011-10-10","publication_name":{"ja": "XXXXX", "en": "XXXXX"}}} + ``` + + - ※ 1 リクエストあたりの JSON の最大サイズは、10MB。 + + - ※ 1 行に1 業績、あるいは1 研究者のデータを記載する。不要な改行を含んでいる場合、エラーが発生する。プロフィール等でデータに改行を含む場合、¥n で記載する必要がある。 + + - ※ 以下の文字をデータ中に含める場合は、「\」でエスケープする。「"」であれば「\\"」と記載する。 + + | エスケープ表記 | 説明 | + | -------------- | ------------------------------------- | + | \\" | ダブルクォーテーション | + | \\\\ | バックスラッシュ | + | \n | 改行 | + | \uXXXX | 4 桁の16 進数で表記されたUnicode 文字 | + + - 情報が更新可能な範囲は、API キーに紐づいた機関に所属する一般会員。(researchmapのAPI設計書記載の仕様) + + - 各研究者の権限設定、機関の権限設定によって利用可否が決定される。(researchmapのAPI設計書記載の仕様) + + - 登録処理の際に、 researchmap側の設定や登録情報の状態によりエラーとなったアイテムについては、 researchmapへの連携フラグを-2(連携エラー)として設定する。 + + - 登録対象アイテムのrecord_metadataに登録されている、研究者のresearchmapの会員ID(user_id)を指定して業績情報の登録を行う。 + + - researchmapへの業績情報登録時の類似性チェックについては、デフォルト設定はメタデータ補完とする。 + + - 類似データのマージに関するアクションの設定値は、パラメータ化して機関毎に変更可能とする。(設定値の種類については「アクションの種類」参照) + scripts/instance.cfgに保持し、リクエスト時に送信するJSONデータを作成する際に利用する。 + + - 類似データのマージに関するアクションの設定値がない場合は、類似データマージ(類似データ優先)のアクションを指定する。 + + - アクションの種類 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
項目名アクション名説明

insert

+

(merge 指定)

マージ

+

(追加・更新)

指定ドキュメントがない場合、新規登録。追加・更新を行おうとしている会員の業績リスト中に類似ドキュメントがあればエラーとなります。

insert

+

(similar_merge指定)

+

priority=input_data

類似データマージ(入力データ優先)

「マージ」と基本的には同じですが、追加・更新を行おうとしている会員の業績リスト中に類似ドキュメントがあった場合、入力データ(または、入力データを指定ドキュメントとマージしたもの)を優先させ、類似ドキュメントをマージします。

+

※ 業績情報のみ指定可能。

+

※ 入力データの項目に存在しない項目のみ、類似ドキュメントの値を補完することになります。

+

※ 類似業績とマージした際は、本人による登録であっても承認状態を「承認済-自動」とします(「却下」可能にするため)。

+

※ 研究者、代理人ではsimilar_merge 指定はできません。

insert

+

(similar_merge指定)

+

priority=similar_data

類似データマージ(類似データ優先)

「マージ」と基本的には同じですが、追加・更新を行おうとしている会員の業績リスト中に類似ドキュメントがあった場合、類似ドキュメントを優先させ、入力データ(または、入力データを指定ドキュメントとマージしたもの)をマージします。

+

※ 業績情報のみ指定可能。

+

※ 類似ドキュメントの項目に存在しない項目のみ、入力データの値を補完することになります。

+

※ 類似業績とマージした際は、本人による登録であっても承認状態を「承認済-自動」とします(「却下」可能にするため)。

insert(force 指定)

入力データ強制追加

「マージ」と基本的には同じですが、類似ドキュメントがあった場合でも、別業績として扱い強制的に新規登録を行います。ただし、類似ドキュメントが機関以外(本人相当)によって登録/更新されている場合は、追加することができません。

+

※ 業績情報のみ指定可能。

+

※ 多用すると、同じ会員リスト中に類似業績が増え続けます。通常の「merge」指定でエラーになり、類似業績と分けてどうしても登録したい場合のみご利用ください。

+ + - APIリクエスト時にエラーレスポンスが返ってきた場合、そのエラー内容によって処理を行う。 + + - APIリクエスト時に再送信によって解消する可能性があるエラーレスポンス(通信エラー・アクセストークン期限切れ等)が返ってきた場合、業績情報登録リクエストを再度送信する。(アクセストークンを再取得する) + + - リトライ回数は設定ファイルで定義し、変更可能とする。(デフォルト値:5回) + + - 最後の再実行時にエラーが返ってきた場合は、ステータスコードとエラーログを出力し、業績情報の登録処理を終了する。 + + - 業績情報の登録処理を終了する場合、アイテムのresearchmap連携フラグは、0(未連携)のままとする。 + + - APIリクエスト時にアクセストークンの再作成によって解消する可能性があるエラーレスポンスが返ってきた場合、 アクセストークンの再作成後、業績情報登録リクエストを再度送信する。 + + - リトライ回数は設定ファイルで定義し、変更可能とする。(デフォルト値:5回) + + - 最後の再実行時にエラーレスポンスが返ってきた場合は、ステータスコードとエラーログを出力し、業績情報の登録処理を終了する。 + + - 業績情報の登録処理を終了する場合、アイテムのresearchmap連携フラグは、0(未連携)のままとする。 + + - 再送信により解消しないエラーレスポンスが返ってきた場合は、ステータスコードとエラーログを出力し、業績情報の登録処理を終了する。 + + - 業績情報の登録処理を終了する際に、該当アイテムのresearchmap連携フラグは、0(未連携)のままとする。 + + - JSONのサイズエラーなど、エラー表に記載のないその他のエラーレスポンスが返ってきた場合は、ステータスコードとエラーログを出力し、業績情報の登録処理を終了する。 + + - 登録処理中に一部のアイテムで登録エラーが発生した場合、該当アイテムの業績情報登録処理を行わず、次の対象アイテムの業績情報登録処理に進む。(researchmapAPI仕様) + + - 登録処理中に再実行により解消しないエラーが発生したアイテムのresearchmap連携フラグは、-2(連携失敗)とする。 + + - 登録処理中にエラーが発生したアイテムのresearchmap連携フラグは、0(未連携)のままとする。 + + - エラー時レスポンス表 + アクセス時に返すエラー理由と内容について説明します。 + + - 共通バリデーションエラー レスポンス表 + ※ 一括更新で返却するレスポンスコードはバリデーションエラーの場合、200 を返します(各行のエラーが全体のレスポンスコードに影響を及ぼさない)。 + + - 一括更新時バリデーションエラーは304は成功として扱い、それ以外は失敗として扱う。(researchmapの連携API仕様書「3.1.4一括更新時バリデーションエラー レスポンス表」を参照のこと) + + - 業績情報の一括更新結果の確認を行う。 + + - リクエスト + GET https://api.researchmap.jp/\_bulk_results + + - パラメーター(GET) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
パラメーター名項目名説明
id

一括更新ID(必須)

「研究者情報、代理人情報一括更新」のレスポンスにて取得したID。
display_type

成功 or 失敗のどちらのリストを表示するか

success: 正常に登録されたリストを表示(or 正常にチェック終了になったもの)

+

error: エラーリストを表示

+

デフォルト: error

next

次ページを表示するかどうか

「next=xxx」指定。

+

<インポート結果>

+

json の最終行の"no", "line"を「_」区切りで指定するとxxx 以降のデータが出力されます。例えば「next=1_30」であれば、1 ファイル目の 31 行目からの結果が表示されます。

+

<API の更新結果>

+

行数: 指定した行数の続きからデータを取得します。

+

"true": 前回取得した続きからデータを取得します。(next パラメーターを指定し、値を指定しない場合も、前回取得した続きからデータ取得します。)

+

前のページを取得したい場合は、再度、next を指定せず取得する必要があります(1 ページから再取得)。

+

ただし、next パラメーターを利用せずに、ある一定期間過ぎますと、有効期限切れとなりエラーとなります。

limit

ページあたりの一括更新結果件数

デフォルト: 1000 件。最大:3000 件。

+

※ 最大値をこえた指定をした場合、3000 として出力されます。

+ + - 失敗が1件以上あった場合は、そのアイテムへの送信は失敗として扱う。 + + - 業績情報の一括更新結果を基に、データ連携済みのアイテムおよび、登録時にエラーが発生したアイテムのresearchmap連携フラグ(CRIS連携結果テーブルのsucceedカラム)を変更する。 + + - statusが completion「完了」の場合、該当行のアイテムのresearchmap連携フラグを「成功」にする。 + + - statusが error「エラー」の場合、response項目のerrorを参照し、発生したエラーが再実行で解消しない類のエラーである場合、該当行のアイテムのresearchmap連携フラグを「失敗」とする。 diff --git a/docs/spec/base/user/USER_4_6.md b/docs/spec/base/user/USER_4_6.md index a02a2c56..dca3eacd 100644 --- a/docs/spec/base/user/USER_4_6.md +++ b/docs/spec/base/user/USER_4_6.md @@ -32,6 +32,11 @@ Item Registrationの一部として、画面上の入力欄でメタデータを - 公開日(PubDate) - フィードバックメール送信先(Feedback Mail Destination) +- researchmap連携フラグ + - アイテム登録を行う際に、「researchmapデータ連携フラグ」の設定エリアを表示する。 + - researchmapデータ連携フラグの登録データを、temp_metadataに登録して管理する。 + - チェックボックスによりフラグを表示する。 + - 日付のフォーマットで定義されるプロパティまたは属性に対して、3つのフォーマット(YYYY-MM-DD、YYYY-MM、YYYY)が入力できる - 入力方法はカレンダー入力、または手入力である - デフォルト値はサーバ日付(/api/admin/get_server_date)を利用する @@ -47,6 +52,7 @@ Item Registrationの一部として、画面上の入力欄でメタデータを - 「検索」ボタンを押すと、【Administration > 著者DB管理(Author Management) > 編集(Edit)】で登録された著者DB一覧を表示する - [入力(import)] ボタンを押すと、選択した著者情報をメタデータの各エリアに入力する - 「Add Author」ボタンを押すと、著者登録画面が表示され著者情報を登録することができる(登録すると著者DB管理画面にも反映される) + - 作成者識別子の選択肢にresearchmapを追加し、会員と1対1のID(parmalink)のデータを管理する。 - コミュニティ管理者、登録ユーザーの場合は著者登録画面のコミュニティ選択欄の選択肢にアクティビティを作成したコミュニティを加える。 - アイテム作成時、作成者識別子は編集不可となる。 - アイテム編集時、作成者識別子"WEKO"のデータ部分はユーザーでの編集は不可とする(作成者識別子Scheme, 作成者識別子URI, 作成者識別子はグレーアウトする)。それ以外の識別子は変更可能となる。 @@ -250,4 +256,3 @@ Item Registrationの一部として、画面上の入力欄でメタデータを |2025/01/01|09c6391d2ed1bae053fee9f8dfc98e95e1e1b87f|v1.0.7a2| |2024/04/14|cd0183f59a16928be2511e33e4495a3376f143c9|v1.0.6 | |2023/08/31|353ba1deb094af5056a58bb40f07596b8e95a562|初版作成| -