「JAIRO Cloud/case studies」の版間の差分

提供:Code4Lib JAPAN
ナビゲーションに移動 検索に移動
編集の要約なし
(Masao がページ「JARIO Cloud/case studies」を「JAIRO Cloud/case studies」に移動しました)

2024年9月18日 (水) 19:30時点における版

> JAIRO Cloud (WEKO3) 非公式まとめにもどる

このページでは、JAIRO Cloud (WEKO3) を「こんな感じで使っています」などの運用事例を非公式にまとめています。

自動化・効率化

フォルダの一括作成

下記サイトの手順に従うと簡単に任意の名称のフォルダを大量に作成できます。

Excelを使って複数のフォルダーを一括作成するウラ技 ~月別フォルダー作成が捗る!

  • 注意点
    • うまく動かない場合は、CSVの文字形式がSJISになっているか確認してください。

複数ファイルの容量等を一括で確認する

コマンドプロンプトを起動し、下記のコードを貼り付けて実行します。
pdfを想定していますが、その他の拡張子を対象とする場合は「*.pdf」部分の拡張子を変更してください。

WHERE /R [PDFを保存したフォルダのパス] *.pdf /T

表示された結果をコピーしてExcelに貼り付け、「データ」タブ > 「区切り位置」 > 「スペースによって右または左に揃えられた固定長フィールドのデータ」を選択して区切ると容量のみの列を作成できます。
コマンドの結果はbyte単位のため、CONVERT関数を使用して適切な単位に変換してください。

Power Automate Desktop によるアイテム登録作業の自動化

Power Automate Desktopを利用して、アイテム登録作業の一部を自動化しています。
SHERPAやSCPJの検索結果画面を表示したり、WEKO3のメタデータ入力画面の入フィールドを表示したり、CrossRef や CiNii Research、 PubMed からデータを取得して入力フィールドに自動入力したりしています。
Power Automate Desktop によるこれらの作業は、1件あたり2~3分程度かかります。
その後、手作業で著者DBから著者レコードのリンク、ファイル登録、キーワード・抄録等の入力、インデックスの指定等を行って登録しています。

Power Automate Desktop のアクション

入力フィールドを表示するための項目のクリックは、「ブラウザー自動化」→「webページのリンクをクリック」以下のアクションを使用しています。
アクションの詳細設定で「物理クリックを送信」をオフにしています。
フィールドへの入力や選択、ボタンのクリックは、「ブラウザー自動化」→「webフォーム入力」のアクションを使用しています。

WEKO3 メタデータ入力画面のUI要素の特定方法

Power Automate Desktopの「レコーダー」や「UI要素を調査する」でUI要素を追加することができます。
ただし、そのままでは入力フィールド等を認識できないことが多く、セレクターを編集する必要があります。
WEKO3 の場合、メタデータ入力画面のinputタグおよびselectタグの属性の値は、メタデータ項目の内部キー(一括インポート用テンプレートの2行目の項目)が元になっています。
ブラウザの開発者ツール等で、タグの属性値がどのようになっているか調べることができます。

  • inputタグ(テキスト入力フィールド)・・・id属性およびname属性が設定されています。
  • selectタグ(セレクトボックス)・・・name属性が設定されています。
ラベル 内部キー HTMLタグ  name属性 id属性 セレクタの例
書誌情報.発行日.日付  .metadata.item_10001_biblio_info_7.bibliographicIssueDates.bibliographicIssueDate  input   bibliographicIssueDate  なし    input[Name="bibliographicIssueDate"] 
資源タイプ.資源タイプ  .metadata.item_resource_type.resourcetype  select   item_resource_type.resourcetype  なし   select[Name="item_resource_type.resourcetype"] 
キーワード[0].主題   .metadata.item_keyword[0].subitem_subject   input   item_keyword.0.subitem_subject   subitem_subject   input[Id="subitem_subject"][Name="item_keyword.0.subitem_subject"] 
キーワード[0].言語    .metadata.item_keyword[0].subitem_subject_language    select    item_keyword.0.subitem_subject_language    なし    select[Name="item_keyword.0.subitem_subject_language "] 

キーワードのように繰り返しがあるフィールドの場合は、セレクタに正規表現を使うことですべてに認識させることができます。
例えば以下のようにすると、同じ項目の最後のフィールドのUI要素にヒットさせることができます。
例: select[Name@="item_keyword.+.subitem_subject_language "]:eq(0)

繰り返しフィールドを追加するための「+New」ボタンは、ボタン単独では識別できないようです。
代わりに button より上位にある div タグの ng-model 属性で識別しています。
こちらもメタデータ項目の内部キーの一部が設定されているようです。
自動で作成されるUI要素のセレクターには ng-model 属性が表示されませんので、セレクターのテキストエディタをオンにして手入力しています。
例: div[Ng-model="model['item_keyword']"] button[Class="btn btn-success pull-right"][Type="button"]:eq(-1)

入力フィールド表示のためにクリックするUI要素は、anchorタグを使用しています。
セレクターのテキストエディタをオンにして以下のように入力しています。
例: a:contains(" キーワード")


設定

アイテムタイプ

  • WEKO2までは「アイテムタイプ=資源タイプ」であった。WEKO3からはアイテムタイプと資源タイプが紐づかなくなったため、以下のようにしている。
    • 汎用的なアイテムタイプを一つ作成し、いずれの資源タイプのコンテンツも、そのアイテムタイプに登録する。
    • デフォルトで用意されている「デフォルトアイテムタイプ」がJPCOARスキーマで必要となるメタデータ項目を備えている。これを複製して独自のメタデータ項目を追加したアイテムタイプを作成して運用している。