アイテムバージョン管理

  • 目的・用途

本機能は、アイテムを更新したバージョンの情報を表示し、アイテムバージョンを管理する機能である。

  • 利用方法

アイテムバージョンは、アイテム詳細画面の右端にあるバージョンの一覧を押下することで表示される。
アイテムバージョンの管理は、アイテム詳細画面の【編集 (Edit)】からバージョンの変更/維持を選択し、管理する。

  • 利用可能なロール

ロール システム
管理者
リポジトリ
管理者
コミュニティ
管理者
登録ユーザー 一般ユーザー ゲスト
(未ログイン)
利用可否
  • 機能内容

1. アイテムバージョン一覧を表示する

  • アイテム詳細画面での「バージョン (Versions)」領域にアイテムバージョン一覧を表示する

    • 4つの最新バージョンを以下のフォーマットで表示する

      • 「Ver.」 +バージョン番号

      • 更新日付。フォマード:YYYY-MM-DD hh:mm:ss.tttttt

    • 「Show all versions」リンクを押すと、すべてのバージョンを表示する

  • アイテムバージョン一覧から、バージョンリンクを押すと、該当バージョンのアイテム情報を反映する

    • T「here is a newer version of this record available.」のメッセージを画面上部に表示する

    • 最新バージョン以外のアイテムは更新できない(「編集」ボタンを非表示とする)

    • OAI-PMH出力のボタンを押すと、画面で表示しているバージョンを対象とする

    • JSON、BIBTEX出力のリンクを押すと、画面で表示しているバージョンを対象とする

2. アイテム編集時にバージョンの変更/維持を選択できる

  • アイテムの編集権限があるユーザーには、アイテム詳細画面での【編集(Edit)】ボタンを押すと、アイテムのメタデータが編集できる。
    アイテム編集画面に編集したアイテムのバージョンの変更/維持が選択できる。

  • バージョンの変更 (Upgrade Version)/維持 (Keep Version)の選択をアイテム編集画面の「バージョン管理」(Version Management)に表示する
    必須項目とする

  • 初期値は維持 (Keep Version)

  • 選択肢:「バージョンを更新する」(Upgrade Version)、「バージョンを維持する」(Keep Version)

    • 「バージョンを更新する」を選択

      • 編集したアイテムのバージョンを新規バージョンとする
    • 「バージョンを維持する」を選択

      • バージョンを維持してアイテムを更新する

      • バージョンを維持して更新したことをアプリケーションのログに記録する

  • 【アイテム編集について】

    • アイテム編集時に旧バージョンは以前の公開ステータスが引き継がれること

    • バージョン数が10を超えても正しく登録できること

    • ItemRegistration画面のバージョンを更新/維持のラジオボタンについて、デフォルトで「バージョンを維持する」にチェックが入っていること

  • 【アイテム削除について】

    • アイテム詳細画面では以下のようになること
      →旧バージョン:「削除」ボタンを非表示とする
      →最新バージョン:「削除」ボタンを表示する
      →「Delete This version」ボタンを押下すると当該バージョンのみのを削除する

    • ハーベストの時に、対象のアイテムが削除された場合(ハーベスト先のリポジトリからdelete情報を受け取った際)全バージョンを論理削除する

    • 一括削除(Administration>アイテム (Items)>一括削除 (Bulk Delete))時に、対象としたアイテムのすべてのバージョンを論理削除する

    • 削除/復元(Administration>レコード管理 (Records)>レコードメタデータ (Record Metadata)で旧バージョンのみの論理削除はできないこと

    • 最新バージョン削除時は旧バージョンもすべて論理削除されること

3. アイテムバージョンの表示/非表示を設定できる

【Administration > アイテムタイプ管理 (Item Types) >メタデータ (Meta)画面】から、アイテムタイプのバージョンの表示/非表示を設定できる

  1. 過去のバージョンを表示(初期値)

  2. 過去のバージョンは非表示

ログイン有無またユーザのロールによる区別は行わない

  • 関連モジュール

  • weko-records-ui
  • 処理概要

  • アイテムのバージョン一覧を表示する処理

    • 該当アイテムのpid_ver、active_versionsをweko_records_ui.view.default_view_methodで取得する

    • アイテムが下書きの状態の場合、アイテムバージョン一覧には表示しない。
      ['_deposit']['status'] == 'draft' の場合は取得したactive_versionsを削除する。
      https://github.com/RCOSDP/weko/blob/v0.9.22/modules/weko-records-ui/weko_records_ui/views.py#L423

    • デフォルトとし、4つの最新バージョンをアイテム詳細画面に表示する

      • 表示内容:バージョン番号、更新日付
    • 「Show all versions」リンクを押すと、すべてバージョンを表示する

  • 該当バージョンのアイテムメタデータを表示する処理

  • アイテムのバージョンダウンをする操作は無い(バージョンダウンをするためにはDB,ESで紐づいているファイルのデータの変更や削除をする必要があり、そのような実装はしていない)

    • 暫定対策( WEKO3_OPE-282 )

      • 旧バージョンのPIDのステータスを"D"にすることで、関連ファイルへのアクセスを防ぐことができる
        ※ver.1 が表示されなくなるため、 ver.1へのアクセスもできなくなる。
         ただし、ver.2という表示が残るのと、物理ファイルは残る。
  • バージョンアップして更新した場合、古いバージョンのアイテムの公開状態はそのまま維持する(新しいバージョンは公開状態となる)

  • バージョン欄の時刻は UTC として表記されている。
    JSTに切り替える機能は無く、切り替えるためには、 https://invenio-i18n.readthedocs.io/en/latest/api.html#module-invenio_i18n.jinja2 を使用して実装する必要がある。

  • バージョン欄の時刻は pidstore_pid の pid_type: recid の updated カラムの日時を表示している。

  • 更新履歴

日付 GitHubコミットID 更新内容

2023/08/31

353ba1deb094af5056a58bb40f07596b8e95a562 初版作成

results matching ""

    No results matching ""