(57)【要約】【課題】パッケージのバージョン管理を支援する。【解決手段】１以上のコンテンツが含まれるパッケージのバージョンを管理するバージョン管理システムであって、前記パッケージ毎に定義された検索条件に基づいて、前記コンテンツを示すコンテンツレコードを管理するコンテンツデータベースを検索し、前記検索条件に対応するパッケージに含まれるコンテンツを示すコンテンツレコードを取得する取得手段と、前記取得手段により取得されたコンテンツレコード毎に、前記検索条件に対応するパッケージを識別する識別情報と、該パッケージのバージョンを示す第１のバージョン情報とを対応付けた構成管理レコードを構成管理データベースに格納する構成管理手段と、を有する。【選択図】図１０
2017045237.tif 000002
【特許請求の範囲】
【請求項１】
１以上のコンテンツが含まれるパッケージのバージョンを管理するバージョン管理システムであって、
前記パッケージ毎に定義された検索条件に基づいて、前記コンテンツを示すコンテンツレコードを管理するコンテンツデータベースを検索し、前記検索条件に対応するパッケージに含まれるコンテンツを示すコンテンツレコードを取得する取得手段と、
前記取得手段により取得されたコンテンツレコード毎に、前記検索条件に対応するパッケージを識別する識別情報と、該パッケージのバージョンを示す第１のバージョン情報とを対応付けた構成管理レコードを構成管理データベースに格納する構成管理手段と、
を有するバージョン管理システム。
【請求項２】
前記検索条件は、前記コンテンツレコードに含まれるタグ情報に関する条件であり、
前記取得手段は、
前記コンテンツデータベースで管理されるコンテンツレコードのうち、前記検索条件を満たすタグ情報が含まれるコンテンツレコードを取得する、請求項１に記載のバージョン管理システム。
【請求項３】
前記コンテンツレコードは、該コンテンツレコードにより示されるコンテンツを識別するコンテンツＩＤと、該コンテンツのバージョンを示す第２のバージョン情報を含み、
前記取得手段は、
前記検索条件を満たすタグ情報が含まれるコンテンツレコードのうち、前記コンテンツＩＤが同じコンテンツレコードが存在する場合は、前記第２のバージョン情報が最新であるコンテンツレコードを取得する、請求項２記載のバージョン管理システム。
【請求項４】
前記コンテンツレコードは、該コンテンツレコードにより示されるコンテンツに対して削除要求がなされたか否かを示す削除区分情報を含み、
前記取得手段は、
さらに、前記コンテンツレコードに含まれる削除区分情報が、削除要求がなされていないことを示す情報であるコンテンツレコードを取得する、請求項２又は３記載のバージョン管理システム。
【請求項５】
前記取得手段により取得されたコンテンツレコードを、前記バージョン管理システムにネットワークを介して接続される端末装置に送信して、前記コンテンツレコードにより示されるコンテンツを含むパッケージを表示させる表示手段を有し、
前記構成管理手段は、
前記コンテンツレコード毎に、前記識別情報と、前記端末装置において表示された前記パッケージに設定された第１のバージョン情報とを対応付けた構成管理レコードを構成管理データベースに格納する、請求項１ないし４のいずれか１項に記載のバージョン管理システム。
【請求項６】
１以上のコンテンツが含まれるパッケージのバージョンを管理するバージョン管理装置であって、
前記パッケージ毎に定義された検索条件に基づいて、前記コンテンツを示すコンテンツレコードを管理するコンテンツデータベースを検索し、前記検索条件に対応するパッケージに含まれるコンテンツを示すコンテンツレコードを取得する取得手段と、
前記取得手段により取得されたコンテンツレコード毎に、前記検索条件に対応するパッケージを識別する識別情報と、該パッケージのバージョンを示す第１のバージョン情報とを対応付けた構成管理レコードを構成管理データベースに格納する構成管理手段と、
を有するバージョン管理装置。
【請求項７】
１以上のコンテンツが含まれるパッケージのバージョンを管理するバージョン管理装置を、
前記パッケージ毎に定義された検索条件に基づいて、前記コンテンツを示すコンテンツレコードを管理するコンテンツデータベースを検索し、前記検索条件に対応するパッケージに含まれるコンテンツを示すコンテンツレコードを取得する取得手段、
前記取得手段により取得されたコンテンツレコード毎に、前記検索条件に対応するパッケージを識別する識別情報と、該パッケージのバージョンを示す第１のバージョン情報とを対応付けた構成管理レコードを構成管理データベースに格納する構成管理手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バージョン管理システム、バージョン管理装置、及びプログラムに関する。
【背景技術】
【０００２】
設計書や報告書、プログラムソース等の各種コンテンツのバージョン（版）を管理するバージョン管理システムが従来から知られている。このようなバージョン管理システムでは、複数のコンテンツを構成要素としたパッケージやプロジェクトのバージョンを管理することができる。
【０００３】
また、任意のバージョンの構成要素からなる構成管理フォルダを作成する技術が知られている（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術では、パッケージやプロジェクト、構成管理フォルダ等に含まれる構成要素（コンテンツ）が頻繁に変化する場合、バージョン管理が煩雑になることがあった。
【０００５】
例えば、パッケージの構成要素であるコンテンツが追加された場合、当該コンテンツの変更履歴を記録するために当該コンテンツをリポジトリ等に登録する必要がある。このため、パッケージの構成要素であるコンテンツが頻繁に追加される場合、その都度、リポジトリ等にコンテンツを登録する必要があり煩雑であった。
【０００６】
本発明の一実施形態は、上記の点に鑑みてなされたもので、パッケージのバージョン管理を支援することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の一実施形態は、１以上のコンテンツが含まれるパッケージのバージョンを管理するバージョン管理システムであって、前記パッケージ毎に定義された検索条件に基づいて、前記コンテンツを示すコンテンツレコードを管理するコンテンツデータベースを検索し、前記検索条件に対応するパッケージに含まれるコンテンツを示すコンテンツレコードを取得する取得手段と、前記取得手段により取得されたコンテンツレコード毎に、前記検索条件に対応するパッケージを識別する識別情報と、該パッケージのバージョンを示す第１のバージョン情報とを対応付けた構成管理レコードを構成管理データベースに格納する構成管理手段と、を有する。
【発明の効果】
【０００８】
本発明の一実施形態によれば、パッケージのバージョン管理を支援することができる。
【図面の簡単な説明】
【０００９】
【図１】第一の実施形態のバージョン管理システムのシステム構成の一例を示す図である。
【図２】第一の実施形態のコンピュータのハードウェア構成の一例を示す図である。
【図３】第一の実施形態のバージョン管理システムの機能構成の一例を示す図である。
【図４】第一の実施形態のコンテンツＤＢの一例を示す図である。
【図５】第一の実施形態のパッケージ定義ＤＢの一例を示す図である。
【図６】第一の実施形態の構成管理ＤＢの一例を示す図である。
【図７】第一の実施形態のコンテンツ登録処理の一例を示すシーケンス図である。
【図８】すべてのコンテンツの一覧を表示させる場合の一例を示す図である。
【図９】コンテンツを登録する場合の一例を示す図である。
【図１０】第一の実施形態のパッケージの表示及びバージョンの登録処理の一例を示すシーケンス図である。
【図１１】設計書パッケージに含まれるコンテンツの一覧を表示させる場合の一例を示す図である。
【図１２】設計書パッケージのバージョンを登録する場合の一例を示す図である。
【図１３】第一の実施形態のコンテンツレコードの検索処理の一例を示すフローチャートである。
【図１４】コンテンツレコード取得の一例を示す図である。
【図１５】第一の実施形態の特定バージョンのパッケージの表示処理の一例を示すシーケンス図である。
【図１６】選択されたバージョンのパッケージに含まれるコンテンツの一覧を表示させる場合の一例を示す図である。
【図１７】第二の実施形態のバージョン管理システムの機能構成の一例を示す図である。
【図１８】第二の実施形態のコンテンツＤＢの一例を示す図である。
【図１９】第二の実施形態のコンテンツ削除処理の一例を示すシーケンス図である。
【図２０】コンテンツを削除する場合の一例を示す図である。
【図２１】第二の実施形態のコンテンツレコードの検索処理の一例を示すフローチャートである。
【図２２】第三の実施形態のバージョン管理システムの機能構成の一例を示す図である。
【図２３】第三の実施形態の構成管理ＤＢの一例を示す図である。
【図２４】第三の実施形態のパッケージの表示及びバージョンの登録処理の一例を示すシーケンス図である。
【図２５】期間設定の一例を示す図である。
【図２６】第三の実施形態の特定日付で有効なパッケージの表示処理の一例を示すシーケンス図である。
【図２７】特定日付で有効なパッケージに含まれるコンテンツ一覧の一例を示す図である。
【発明を実施するための形態】
【００１０】
次に、本発明の実施の形態について、図面を参照しながら詳細に説明する。
【００１１】
［第一の実施形態］
＜システム構成＞
まず、第一の実施形態のバージョン管理システム１について、図１を参照しながら説明する。図１は、第一の実施形態のバージョン管理システムのシステム構成の一例を示す図である。
【００１２】
図１に示すバージョン管理システム１は、端末装置１０及び管理装置２０を有し、ＬＡＮ（Local Area Network）等のネットワークＮを介して通信可能に接続されている。
【００１３】
端末装置１０は、バージョン管理システム１の利用者（ユーザ）が用いるデスクトップ型ＰＣやノート型ＰＣ等の電子機器である。端末装置１０には、ユーザがドキュメントやプログラムソース等のコンテンツを管理装置２０に登録等してバージョン管理するための端末プログラム３０がインストールされている。
【００１４】
ユーザは、端末装置１０を用いて、ドキュメントやプログラムソース等のコンテンツのバージョン管理を行うことができるとともに、１以上のコンテンツが含まれるパッケージのバージョン管理を行うことができる。
【００１５】
ここで、コンテンツとは、バージョン管理の管理対象となるキュメントやプログラムソース等であり、例えば、設計書や報告書、ある機能を実現するためのプログラムモジュール等である。また、パッケージとは、１以上のコンテンツの集合であり、例えば、ある開発工程の設計書一式やある部門の報告書一式、ある製品のプログラムソース及びマニュアル一式等である。
【００１６】
なお、パッケージは、プロジェクトとも称される。また、本実施形態では、パッケージには、１以上のコンテンツが含まれるものとして説明するが、パッケージにはコンテンツが含まれていない場合もあり得る。
【００１７】
ユーザは、端末装置１０を用いて、コンテンツを管理装置２０に登録して、コンテンツ自体のバージョン管理を行うことができるとともに、１以上のコンテンツが含まれるパッケージのバージョン管理も行うことができる。
【００１８】
なお、端末装置１０は、端末プログラム３０がインストールされていれば良く、例えば、携帯電話、スマートフォン、タブレット端末等の各種の電子機器であっても良い。
【００１９】
管理装置２０は、コンテンツやパッケージのバージョンを管理する情報処理装置である。管理装置２０には、コンテンツやパッケージのバージョンを管理するためのバージョン管理プログラム４０がインストールされている。
【００２０】
本実施形態では、管理装置２０にバージョン管理プログラム４０がインストールされることにより、パッケージの構成要素であるコンテンツが頻繁に追加されるような場合等においても、当該パッケージのバージョンを容易に管理することができるようになる。
【００２１】
なお、図１に示す例では、管理装置２０が１台の情報処理装置で構成されている場合を示しているが、管理装置２０は、２台以上の情報処理装置で構成されていても良い。
【００２２】
＜ハードウェア構成＞
次に、第一の実施形態の端末装置１０及び管理装置２０のハードウェア構成について、図２を参照しながら説明する。図２は、第一の実施形態のコンピュータのハードウェア構成の一例を示す図である。
【００２３】
図２に示すコンピュータ３００は、入力装置１１、表示装置１２、外部Ｉ／Ｆ１３、及びＲＡＭ（Random Access Memory）１４を有する。また、コンピュータ３００は、ＲＯＭ（Read Only Memory）１５、ＣＰＵ（Central Processing Unit）１６、通信Ｉ／Ｆ１７、及びＨＤＤ１８を有する。これら各ハードウェア構成は、バスＢにより相互に接続されている。
【００２４】
入力装置１１は、キーボードやマウス、タッチパネル等を含み、コンピュータ３００に各種信号を入力するのに用いられる。表示装置１２は、ディスプレイ等を含み、各種の処理結果を表示する。なお、管理装置２０は、入力装置１１及び／又は表示装置１２を、必要なときにバスＢに接続して利用する形態であっても良い。
【００２５】
外部Ｉ／Ｆ１３は、外部装置とのインタフェースである。外部装置には、例えば、ＣＤ（Compact Disk）やＤＶＤ（Digital Versatile Disk）、ＳＤメモリカード(SD memory card）、ＵＳＢメモリ（Universal Serial Bus memory）等の記録媒体がある。コンピュータ３００は、外部Ｉ／Ｆ１３を介して記録媒体の読み取り及び／又は書き込みを行うことができる。
【００２６】
ＲＡＭ１４は、プログラムやデータを一時保存する揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１５は、電源を切ってもデータを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＣＰＵ１６は、例えばＨＤＤ１８やＲＯＭ１５等からプログラムやデータをＲＡＭ１４上に読み出して、各種処理を実行する演算装置である。
【００２７】
通信Ｉ／Ｆ１７は、コンピュータ３００をネットワークＮに接続するためのインタフェースである。
【００２８】
ＨＤＤ１８は、プログラムやデータを格納している不揮発性のメモリ（記憶装置）である。ＨＤＤ１８に格納されるプログラムやデータには、例えば、端末プログラム３０やバージョン管理プログラム４０、コンピュータ３００の全体を制御する基本ソフトウェアであるＯＳ（Operating System）、ＯＳ上で動作する各種プログラム等がある。なお、コンピュータ３００は、ＨＤＤ１８の代わりに又はＨＤＤ１８と併せて、ＳＳＤ（Solid State Drive）等の不揮発性のメモリ（記憶装置）を用いても良い。
【００２９】
本実施形態の端末装置１０及び管理装置２０は、図２に示すようなコンピュータ３００により後述する各種処理を実現することができる。
【００３０】
＜機能構成＞
次に、第一の実施形態のバージョン管理システム１の機能構成について、図３を参照しながら説明する。図３は、第一の実施形態のバージョン管理システムの機能構成の一例を示す図である。
【００３１】
図３に示す端末装置１０は、入力受付部１０１、タグ付与部１０２、登録要求部１０３、取得要求部１０４、及び表示制御部１０５を有する。これら各部は、端末装置１０にインストールされた端末プログラム３０が、ＣＰＵ１６に実行させる処理により実現される。
【００３２】
入力受付部１０１は、ユーザからの各種の入力操作を受け付ける。例えば、入力受付部１０１は、管理装置２０で管理されているコンテンツの一覧を表示させるための表示操作や、コンテンツを管理装置２０に登録するための登録操作を受け付ける。
【００３３】
また、例えば、入力受付部１０１は、パッケージに含まれるコンテンツの一覧を表示するためにパッケージを選択する選択操作やパッケージにバージョンを付与して（パッケージをバージョニングして）登録するためパッケージバージョンの登録操作を受け付ける。
【００３４】
タグ付与部１０２は、入力受付部１０１がコンテンツを管理装置２０に登録するための登録操作を受け付けた場合に、当該コンテンツを示すコンテンツデータに対して、当該コンテンツに応じたタグを対応付ける。
【００３５】
ここで、本実施形態において、タグとは、設計書、報告書、請求書等のコンテンツの種別を示す情報であるものとする。ただし、タグは、これらに限られず、例えば、コンテンツが属する開発工程を示す情報（「基本設計」、「詳細設計」等）や、コンテンツが作成された部署名（「営業部」、「開発部」等）、コンテンツの作成日時等であっても良い。すなわち、タグには、コンテンツの属性を示す各種の情報が用いられる。
【００３６】
登録要求部１０３は、入力受付部１０１が受け付けた入力操作に応じて、コンテンツの登録要求やパッケージバージョンの登録要求を管理装置２０に送信する。
【００３７】
取得要求部１０４は、入力受付部１０１が受け付けた入力操作に応じて、コンテンツの取得要求やパッケージの取得要求を管理装置２０に送信する。
【００３８】
表示制御部１０５は、表示装置１２に各種画面を表示させる。例えば、表示制御部１０５は、管理装置２０からの返信に応じて、管理装置２０で管理されているコンテンツの一覧やパッケージに含まれるコンテンツの一覧を表示させる。
【００３９】
図３に示す管理装置２０は、コンテンツ一覧処理部２０１、コンテンツ登録処理部２０２、パッケージ登録処理部２０３、及びパッケージ表示処理部２０４を有する。これら各部は、管理装置２０にインストールされたバージョン管理プログラム４０が、ＣＰＵ１６に実行させる処理により実現される。
【００４０】
また、図３に示す管理装置２０は、コンテンツデータベース２０５、パッケージ定義データベース２０６、及び構成管理データベース２０７を有する。これら各データベース（以下、「ＤＢ」と表す）は、ＨＤＤ１８により実現可能である。なお、これら各ＤＢは、管理装置２０とネットワークＮを介して接続される記憶装置等により実現されていても良い。
【００４１】
コンテンツ一覧処理部２０１は、管理装置２０で管理されているコンテンツの一覧を表示させるためのコンテンツの取得要求に応じて、コンテンツＤＢ２０５からコンテンツレコードを取得する。ここで、コンテンツレコードとは、コンテンツＤＢ２０５で管理されるデータである。コンテンツレコードは、後述するように、コンテンツを示すコンテンツデータに対してタグやバージョン等の情報を対応付けたデータである。
【００４２】
コンテンツ登録処理部２０２は、管理装置２０にコンテンツを登録するためのコンテンツの登録要求に応じて、コンテンツを管理装置２０に登録する処理を行う。ここで、コンテンツ登録処理部２０２は、コンテンツレコード生成部２１１及びコンテンツ登録部２１２を有する。これら各部の詳細については、後述する。
【００４３】
パッケージ登録処理部２０３は、パッケージの取得要求やパッケージバージョンの登録要求に応じて、パッケージに含まれるコンテンツの一覧を表示させる処理及びパッケージのバージョンを登録する処理を行う。パッケージ登録処理部２０３は、検索条件取得部２２１、検索部２２２、構成管理レコード生成部２２３、及び構成管理登録部２２４を有する。これら各部の詳細については、後述する。
【００４４】
パッケージ表示処理部２０４は、パッケージ登録処理部２０３により登録されたバージョンのパッケージの取得要求に応じて、当該バージョンに含まれるコンテンツの一覧を表示させる処理を行う。パッケージ表示処理部２０４は、構成管理取得部２３１及びコンテンツ取得部２３２を有する。これら各部の詳細については、後述する。
【００４５】
コンテンツＤＢ２０５は、コンテンツレコードを管理する。ここで、コンテンツＤＢ２０５の詳細について、図４を参照しながら説明する。図４は、第一の実施形態のコンテンツＤＢの一例を示す図である。
【００４６】
図４に示すように、コンテンツＤＢ２０５で管理されるコンテンツレコードは、データ項目として、コンテンツＩＤ、コンテンツバージョン、タグ、及びコンテンツデータを有する。また、コンテンツデータは、データ項目として、コンテンツ名及びコンテンツ内容を有する。
【００４７】
コンテンツデータは、例えば設計書や報告書、プログラムソース等のコンテンツを示すデータである。コンテンツ名は、コンテンツの名称であり、例えば、設計書ファイルのファイル名等である。コンテンツ内容は、ユーザにより作成又は変更されるコンテンツの内容であり、例えば、設計内容を示す図面データや報告内容を示す文書データ等である。
【００４８】
コンテンツＩＤは、バージョンの管理対象のコンテンツを一意に識別する識別情報である。タグは、コンテンツの種別を示す情報である。コンテンツバージョンは、コンテンツのバージョンを示す情報である。本実施形態では、同一のコンテンツにおいて、コンテンツバージョンが大きい程、新しいコンテンツであることを示すものとする。例えば、図４に示すコンテンツＤＢ２０５において、コンテンツ名「××会社の請求書」のコンテンツデータは、コンテンツバージョンが「0.1」、「0.2」、「0.3」の順に新しいコンテンツであるものとする。
【００４９】
換言すれば、同一のコンテンツにおいて、コンテンツバージョン「0.1」のコンテンツデータに変更が加えられたものが、コンテンツバージョン「0.2」のコンテンツデータある。同様に、同一のコンテンツにおいて、コンテンツバージョン「0.2」のコンテンツデータに変更が加えられたものが、コンテンツバージョン「0.3」のコンテンツデータある。
【００５０】
図４に示すように、コンテンツＤＢ２０５では、コンテンツを示すコンテンツデータを、コンテンツＩＤ、コンテンツバージョン、及びタグと対応付けたコンテンツレコードを管理している。これにより、本実施形態のバージョン管理システム１では、コンテンツのバージョンが管理される。
【００５１】
パッケージ定義ＤＢ２０６は、パッケージ定義レコードを管理する。ここで、パッケージ定義ＤＢ２０６の詳細について、図５を参照しながら説明する。図５は、第一の実施形態のパッケージ定義ＤＢの一例を示す図である。
【００５２】
図５に示すように、パッケージ定義ＤＢ２０６で管理されるパッケージ定義レコードは、データ項目として、パッケージＩＤ及び検索条件を有する。
【００５３】
パッケージＩＤは、１以上のコンテンツを含むパッケージを一意に識別する識別情報である。検索条件は、パッケージに含まれるコンテンツをコンテンツＤＢ２０５から検索するための条件である。例えば、パッケージＩＤ「P001」は、検索条件「タグ＝設計書」と対応付けられている。これは、パッケージＩＤ「P001」のパッケージは、「タグ＝設計書」の検索条件に基づいてコンテンツＤＢ２０５から検索されたコンテンツレコードにより示されるコンテンツが含まれることを示している。このように、本実施形態のバージョン管理システム１では、パッケージの構成要素であるコンテンツを検索条件で定義する。
【００５４】
なお、検索条件は、コンテンツＤＢ２０５からコンテンツレコードを検索するための任意の論理式や検索式を設定することができる。例えば、検索条件として「タグ＝設計書or報告書」等と設定しても良い。また、例えば、タグがコンテンツの作成日時を示す場合には、検索条件として「2014/04/01≦タグ≦2014/04/10」等と設定しても良い。このように、検索条件には、パッケージの構成要素であるコンテンツを示すコンテンツレコードをコンテンツＤＢ２０５から検索するための任意の論理式や検索式を設定することができる。
【００５５】
なお、パッケージ定義レコードは、例えば、バージョン管理システム１のユーザ等によりパッケージが新規作成された際に登録される。
【００５６】
構成管理ＤＢ２０７は、構成管理レコードを管理する。ここで、構成管理ＤＢ２０７の詳細について、図６を参照しながら説明する。図６は、第一の実施形態の構成管理ＤＢの一例を示す図である。
【００５７】
図６に示すように、構成管理ＤＢ２０７で管理される構成管理レコードは、データ項目として、パッケージＩＤ、パッケージバージョン、コンテンツＩＤ、及びコンテンツバージョンを有する。
【００５８】
パッケージＩＤは、上述したように、パッケージを一意に識別する識別情報である。コンテンツＩＤ及びコンテンツバージョンは、それぞれ上述したように、コンテンツを一意に識別する情報及びコンテンツのバージョンを示す情報である。パッケージバージョンは、パッケージのバージョンを示す情報である。
【００５９】
このように、構成管理ＤＢ２０７では、パッケージＩＤ及びパッケージバージョンと、コンテンツＩＤ及びコンテンツバージョンとを対応付けた構成管理レコードが管理されている。これにより、パッケージバージョンで示されるバージョンのパッケージに含まれるコンテンツの構成を管理することができる。
【００６０】
コンテンツレコード生成部２１１は、コンテンツの登録要求に応じて、コンテンツレコードを生成する。より具体的には、コンテンツレコード生成部２１１は、当該登録要求に含まれるコンテンツデータのコンテンツ名に基づいてコンテンツＩＤ及びコンテンツバージョンを決定する。そして、コンテンツレコード生成部２１１は、当該登録要求に含まれるコンテンツデータ及びタグに、コンテンツＩＤ及びコンテンツバージョンを対応付けてコンテンツレコードを生成する。
【００６１】
コンテンツ登録部２１２は、コンテンツレコード生成部２１１により生成されたコンテンツレコードをコンテンツＤＢ２０５に格納する。これにより、管理装置２０にコンテンツが登録され、当該コンテンツが管理される。
【００６２】
検索条件取得部２２１は、パッケージの取得要求に応じて、当該取得要求に含まれるパッケージＩＤに対応するパッケージ定義レコードをパッケージ定義ＤＢ２０６から取得する。そして、検索条件取得部２２１は、取得したパッケージ定義レコードに含まれる検索条件を取得する。
【００６３】
検索部２２２は、検索条件取得部２２１により取得された検索条件に基づいて、コンテンツＤＢ２０５を検索して、検索条件を満たすコンテンツレコードを取得する。
【００６４】
構成管理レコード生成部２２３は、パッケージバージョンの登録要求に応じて、構成管理レコードを生成する。より具体的には、構成管理レコード生成部２２３は、検索部２２２により取得されたコンテンツレコードのコンテンツＩＤ及びコンテンツバージョンを、当該登録要求に含まれるパッケージＩＤ及びパッケージバージョンと対応付けて構成管理レコードを生成する。
【００６５】
構成管理登録部２２４は、構成管理レコード生成部２２３により生成された構成管理レコードを構成管理ＤＢ２０７に格納する。これにより、管理装置２０において、特定のバージョンのパッケージに含まれるコンテンツの構成が管理される。
【００６６】
構成管理取得部２３１は、パッケージ登録処理部２０３により登録されたバージョンのパッケージの取得要求に応じて、当該取得要求に含まれるパッケージＩＤ及びパッケージバージョンに対応する構成管理レコードを構成管理ＤＢ２０７から取得する。
【００６７】
コンテンツ取得部２３２は、構成管理取得部２３１により取得された構成管理レコードに含まれるコンテンツＩＤ及びコンテンツバージョンに対応するコンテンツレコードをコンテンツＤＢ２０５から取得する。これにより、端末装置１０において、特定のバージョンのパッケージに含まれるコンテンツのコンテンツデータが取得され、当該パッケージに含まれるコンテンツの一覧を表示させることができる。
【００６８】
＜処理の詳細＞
次に、第一の実施形態のバージョン管理システム１の処理の詳細について説明する。
【００６９】
まず、ユーザＵが端末装置１０を用いて、コンテンツを管理装置２０に登録する処理について、図７を参照しながら説明する。図７は、第一の実施形態のコンテンツ登録処理の一例を示すシーケンス図である。
【００７０】
まず、ユーザＵは、例えば端末プログラム３０を起動させて、端末装置１０の表示装置１２に、当該端末プログラム３０の初期画面を表示させるための表示操作を行う（ステップＳ７０１）。すると、端末装置１０の表示制御部１０５は、例えば図８（ａ）に示すような画面１０００を表示装置１２に表示させる（ステップＳ７０２）。
【００７１】
ここで、図８（ａ）に示す画面１０００は、端末プログラム３０の初期画面であり、管理装置２０で管理されたコンテンツを表示させるための各種ボタン１００１と、コンテンツを表示するための表示領域１００２とが含まれる。
【００７２】
各種ボタン１００１は、管理装置２０で管理されているすべてのコンテンツの一覧を表示領域１００２に表示させるための「すべて」ボタン１０１０を含む。
【００７３】
また、各種ボタン１００１は、パッケージＩＤ「P001」が対応付けられた「設計書」ボタン１０１１、パッケージＩＤ「P002」が対応付けられた「報告書」ボタン１０１２、及びパッケージＩＤ「P003」が対応付けられた「請求書」ボタン１０１３を含む。これらのボタン１０１１〜ボタン１０１３は、対応付けられたパッケージＩＤのパッケージに含まれるコンテンツの一覧を表示領域１００２に表示させるために選択可能なアイコン等の表示部品である。なお、以降では、パッケージＩＤ「P001」により示されるパッケージを「設計書パッケージ」、パッケージＩＤ「P002」により示されるパッケージを「報告書パッケージ」、パッケージＩＤ「P003」により示されるパッケージを「請求書パッケージ」と表す。
【００７４】
さらに、各種ボタン１００１には、パッケージバージョン「0.1」の設計書パッケージに含まれるコンテンツの一覧を表示領域１００２に表示させるための「ｖ０．１」ボタン１０２１を含む。
【００７５】
ユーザＵは、画面１０００において、「すべて」ボタン１０１０を押下して、管理装置２０で管理されているすべてのコンテンツの一覧を表示領域１００２に表示させるための表示操作を行う（ステップＳ７０３）。すると、端末装置１０の入力受付部１０１は、当該表示操作を受け付ける。
【００７６】
端末装置１０の取得要求部１０４は、入力受付部１０１により当該表示操作が受け付けられると、管理装置２０で管理されているすべてのコンテンツを取得するためのコンテンツの取得要求を管理装置２０に送信する（ステップＳ７０４）。
【００７７】
管理装置２０のコンテンツ一覧処理部２０１は、当該取得要求を受信すると、コンテンツＤＢ２０５からコンテンツレコードを全件取得する（ステップＳ７０５）。そして、管理装置２０のコンテンツ一覧処理部２０１は、取得したコンテンツレコードを端末装置１０に送信する（ステップＳ７０６）。
【００７８】
端末装置１０の表示制御部１０５は、管理装置２０からコンテンツレコードを受信すると、当該コンテンツレコードに基づいて、図８（ｂ）に示すような画面１１００を表示装置１２に表示させる（ステップＳ７０７）。
【００７９】
ここで、図８（ｂ）に示す画面１１００の表示領域１１０１には、受信したコンテンツレコードに基づくコンテンツの一覧が表示されている。すなわち、表示領域１１０１には、管理装置２０で管理されているコンテンツを示すアイコン等の表示部品が一覧で表示されている。また、当該表示部品には、受信したコンテンツレコードに含まれるコンテンツバージョン、タグ、及びコンテンツ名が表示されている。これにより、ユーザＵは、管理装置２０で管理されているコンテンツのコンテンツバージョン、タグ、及びコンテンツ名の一覧を取得することができる。
【００８０】
次に、ユーザＵは、端末装置１０で作成や編集したコンテンツを管理装置２０に登録するためのコンテンツの登録操作を行う（ステップＳ７０８）。例えば、ユーザＵは、図９（ａ）に示す画面１２００において、管理装置２０で管理されているすべてのコンテンツの一覧が表示された表示領域１２０１に、登録するコンテンツ１２０２をドラッグアンドドロップする。ここで、コンテンツ１２０２のコンテンツ名は「製品○×の設計書」であるものとする。すると、端末装置１０の入力受付部１０１は、当該登録操作を受け付けて、登録対象のコンテンツ１２０２のコンテンツデータを取得する。
【００８１】
端末装置１０のタグ付与部１０２は、入力受付部１０１により当該登録操作が受け付けられると、登録対象のコンテンツ１２０２のコンテンツデータに対して、当該コンテンツに応じたタグを対応付ける（ステップＳ７０９）。
【００８２】
例えば、タグ付与部１０２は、登録対象のコンテンツ１２０２が設計書である場合、タグとして「設計書」を対応付ける。同様に、例えば、タグ付与部１０２は、登録対象のコンテンツ１２０２が請求書である場合、タグとして「請求書」を対応付ける。このように、タグ付与部１０２は、登録対象のコンテンツに応じたタグを、当該コンテンツを示すコンテンツデータに対応付ける。
【００８３】
本実施形態では、タグ付与部１０２は、コンテンツ１２０２を示すコンテンツデータに対してタグ「設計書」を対応付けたものとして説明を続ける。
【００８４】
次に、端末装置１０の登録要求部１０３は、登録対象のコンテンツ１２０２を管理装置２０に登録するためのコンテンツの登録要求を管理装置２０に送信する（ステップＳ７１０）。ここで、当該登録要求には、登録対象のコンテンツ１２０２のコンテンツデータと、タグ付与部１０２により当該コンテンツデータに対応付けられたタグとが含まれる。
【００８５】
次に、管理装置２０のコンテンツレコード生成部２１１は、当該登録要求を受信すると、コンテンツデータに含まれるコンテンツ名に基づいて、コンテンツＩＤ及びコンテンツバージョンを決定（採番）する。そして、コンテンツレコード生成部２１１は、コンテンツデータ及びタグに、コンテンツＩＤ及びコンテンツバージョンを対応付けてコンテンツレコードを生成する（ステップＳ７１１）。
【００８６】
ここで、コンテンツレコード生成部２１１は、例えば、コンテンツデータに含まれるコンテンツ名に基づいてコンテンツＩＤ及びコンテンツバージョンを決定すれば良い。
【００８７】
より具体的には、コンテンツデータに含まれるコンテンツ名と同一のコンテンツ名を含むコンテンツレコードがコンテンツＤＢ２０５に存在しない場合、コンテンツレコード生成部２１１は、コンテンツＩＤをバージョン管理システム１で一意となるように採番する。また、このとき、コンテンツレコード生成部２１１は、コンテンツバージョンを「0.1」と決定する。
【００８８】
一方、コンテンツデータに含まれるコンテンツ名と同一のコンテンツ名を含むコンテンツレコードがコンテンツＤＢ２０５に存在する場合、コンテンツレコード生成部２１１は、当該コンテンツレコードと同一のコンテンツＩＤを採番する。また、このとき、コンテンツレコード生成部２１１は、当該コンテンツレコードに含まれるコンテンツバージョンに「0.1」を加えた値をコンテンツバージョンと決定する。
【００８９】
これにより、新たなコンテンツを管理装置２０で管理する場合、当該コンテンツのコンテンツバージョンは「0.1」で管理される。一方、既に管理装置２０で管理されているコンテンツに変更等を加えた場合、当該コンテンツのコンテンツバージョンは最新のコンテンツバージョンの値に「0.1」を加えた値で管理される。
【００９０】
本実施形態において、コンテンツ１２０２を示すコンテンツデータのコンテンツ名は「製品○×の設計書」であり、図４に示すコンテンツＤＢ２０５には同一のコンテンツ名であるコンテンツＩＤ「C003」のコンテンツレコードが存在する。したがって、この場合、コンテンツレコード生成部２１１は、コンテンツＩＤ「C003」、コンテンツバージョン「0.2」、タグ「設計書」、コンテンツ１２０２を示すコンテンツデータが含まれるコンテンツレコードを生成する。
【００９１】
なお、既に管理装置２０で管理されているコンテンツに変更等を加えた場合、コンテンツレコード生成部２１１は、１つ前のコンテンツバージョンから変更等が加えられた差分を示す差分データをコンテンツ内容に設定したコンテンツレコードを生成しても良い。例えば、コンテンツＩＤ「C003」のバージョン「0.2」のコンテンツレコードに含まれるコンテンツ内容には、コンテンツＩＤ「C003」のバージョン「0.1」のコンテンツレコードに含まれるコンテンツ内容から変更等が加えられた差分データを設定されても良い。このように、コンテンツレコードに含まれるコンテンツ内容に、１つ前のバージョンからの差分データを設定することで、コンテンツＤＢ２０５のデータ量を抑えることができる。
【００９２】
次に、管理装置２０のコンテンツ登録部２１２は、コンテンツレコード生成部２１１により生成されたコンテンツレコードをコンテンツＤＢ２０５に格納する（ステップＳ７１２）。そして、管理装置２０のコンテンツ登録処理部２０２は、格納されたコンテンツレコードを端末装置１０に送信する（ステップＳ７１３）。
【００９３】
端末装置１０の表示制御部１０５は、管理装置２０からコンテンツレコードを受信すると、当該コンテンツレコードに基づいて、図９（ｂ）に示すような画面１３００を表示装置１２に表示させる（ステップＳ７１４）。
【００９４】
ここで、図９（ｂ）に示す画面１３００の表示領域１３０１には、受信したコンテンツレコードに基づき、コンテンツ１２０２を示す表示部品１３０２が追加されている。このように、表示領域１３０１には、ユーザにより登録操作がなされたコンテンツ１２０２について、バージョンやタグ、コンテンツ名等が表示された表示部品１３０２が追加される。
【００９５】
以上のように、本実施形態のバージョン管理システム１では、ユーザＵは、端末装置１０を用いて、コンテンツを新規に作成した場合や既に管理されているコンテンツを修正した場合等に、当該作成又は修正したコンテンツを管理装置２０に登録することができる。これにより、本実施形態のバージョン管理システム１では、登録されたコンテンツのバージョン管理を行うことができる。
【００９６】
次に、コンテンツを構成要素とするパッケージを端末装置１０に表示させて、表示されたパッケージをバージョニングして登録する場合の処理について、図１０を参照しながら説明する。図１０は、第一の実施形態のパッケージの表示及びバージョンの登録処理の一例を示すシーケンス図である。以降では、設計書パッケージに含まれるコンテンツの一覧を表示して、当該表示された設計書パッケージをバージョニングして登録する場合について説明する。
【００９７】
まず、端末装置１０の表示装置１２には、表示制御部１０５により、図１１（ａ）に示すような画面１４００が表示されているものとする。
【００９８】
ユーザＵは、図１１（ａ）に示す画面１４００において、パッケージＩＤ「P001」が対応付けられた「設計書」ボタン１４０１を押下して、表示するパッケージの選択操作を行う（ステップＳ１００１）。すると、端末装置１０の入力受付部１０１は、当該選択操作を受け付ける。
【００９９】
端末装置１０の取得要求部１０４は、入力受付部１０１により当該選択操作が受け付けられると、選択されたパッケージに含まれるコンテンツを取得するためのパッケージの取得要求を管理装置２０に送信する（ステップＳ１００２）。ここで、当該取得要求には、パッケージの選択操作により選択されたパッケージのパッケージＩＤが含まれる。
【０１００】
管理装置２０の検索条件取得部２２１は、パッケージの取得要求を受信すると、当該取得要求に含まれるパッケージＩＤに対応するパッケージ定義レコードをパッケージ定義ＤＢ２０６から取得する。そして。検索条件取得部２２１は、取得したパッケージ定義レコードに含まれる検索条件を取得する（ステップＳ１００３）。
【０１０１】
本実施形態では、検索条件取得部２２１は、パッケージの取得要求に含まれるパッケージＩＤ「P001」に対応するパッケージ定義レコードをパッケージ定義ＤＢ２０６から取得する。そして、検索条件取得部２２１は、取得したパッケージ定義レコードに含まれる検索条件「タグ＝設計書」を取得する。
【０１０２】
管理装置２０の検索部２２２は、検索条件取得部２２１により取得された検索条件に基づいて、コンテンツレコードの検索処理を行い、コンテンツＤＢ２０５からコンテンツレコードを取得する（ステップＳ１００４）。すなわち、本実施形態では、検索部２２２は、検索条件「タグ＝設計」に基づいて、コンテンツＤＢ２０５を検索して、タグが「設計書」であるコンテンツレコードをコンテンツＤＢ２０５から取得する。なお、本ステップにおける検索処理の詳細については、後述する。
【０１０３】
管理装置２０のパッケージ登録処理部２０３は、検索部２２２により取得されたコンテンツレコードを端末装置１０に送信する（ステップＳ１００５）。
【０１０４】
端末装置１０の表示制御部１０５は、管理装置２０からコンテンツレコードを受信すると、当該コンテンツレコードに基づいて、図１１（ｂ）に示すような画面１５００を表示装置１２に表示させる（ステップＳ１００６）。
【０１０５】
ここで、図１１（ｂ）に示す画面１５００の表示領域１５０１には、受信したコンテンツレコードに基づくコンテンツの一覧が表示されている。すなわち、表示領域１５０１には、ユーザＵにより選択された設計書パッケージに含まれるコンテンツを示すアイコン等の表示部品が一覧で表示される。また、当該表示部品には、受信したコンテンツレコードに含まれるコンテンツバージョン、タグ、及びコンテンツ名が表示されている。これにより、ユーザＵは、設計書パッケージに含まれるコンテンツのコンテンツバージョン、タグ、及びコンテンツ名の一覧を取得することができる。
【０１０６】
以上のように、本実施形態のバージョン管理システム１では、コンテンツレコードに含まれるタグに対する検索条件によりパッケージを定義する。このため、ユーザＵは、コンテンツを管理装置２０に登録する際に、当該コンテンツが含まれるパッケージを明示的に指定する必要がない。換言すれば、本実施形態のバージョン管理システム１では、ユーザＵがコンテンツを管理装置２０に登録すると、当該コンテンツを示すコンテンツデータに対応付けられたタグに応じて、当該コンテンツが適切なパッケージに追加される。
【０１０７】
一方で、パッケージの作成を所望するユーザは、パッケージＩＤと、当該パッケージＩＤで示されるパッケージを定義する検索条件とを指定したパッケージ定義レコードを作成すれば良い。すなわち、パッケージの作成を所望するユーザも、パッケージに含まれるコンテンツを明示的に指定する必要はない。
【０１０８】
次に、端末装置１０に表示された設計書パッケージをバージョニングして登録する場合について説明する。
【０１０９】
ユーザＵは、図１２（ａ）に示すような設計パッケージに含まれるコンテンツの一覧が表示領域１６０１に表示されている画面１６００において、バージョン入力欄１６０２にパッケージバージョンを入力する。そして、ユーザＵは、「作成」ボタン１６０３を押下して、パッケージの登録操作を行う（ステップＳ１００７）。すると、端末装置１０の入力受付部１０１は、当該登録操作を受け付ける。ここで、ユーザＵは、バージョン入力欄１６０２にパッケージバージョン「2.0」と入力したものとする。
【０１１０】
端末装置１０の登録要求部１０３は、入力受付部１０１により当該登録操作が受け付けられると、設計書パッケージのバージョンを登録するためのパッケージバージョンの登録要求を管理装置２０に送信する（ステップＳ１００８）。ここで、当該登録要求には、設計書パッケージのパッケージＩＤと、バージョン入力欄１６０２に入力されたパッケージバージョンとが含まれる。
【０１１１】
管理装置２０の構成管理レコード生成部２２３は、当該登録要求を受信すると、構成管理レコードを生成する（ステップＳ１００９）。
【０１１２】
より具体的には、構成管理レコード生成部２２３は、ステップＳ１００４で検索部２２２により取得されたコンテンツレコードのコンテンツＩＤ及びコンテンツバージョンを、パッケージＩＤ及びパッケージバージョンと対応付けて構成管理レコードを生成する。
【０１１３】
ここで、本実施形態では、ユーザＵにより入力されたパッケージバージョンを用いて構成管理レコードを生成したが、これに限られない。すなわち、パッケージバージョンをユーザＵに入力させずに、管理装置２０がパッケージバージョンを採番しても良い。
【０１１４】
次に、管理装置２０の構成管理登録部２２４は、構成管理レコード生成部２２３により生成された構成管理レコードを構成管理ＤＢ２０７に格納する（ステップＳ１０１０）。そして、管理装置２０のパッケージ登録処理部２０３は、登録された設計書パッケージのパッケージバージョンを端末装置１０に送信する（ステップＳ１０１１）。
【０１１５】
端末装置１０の表示制御部１０５は、管理装置２０からコンテンツバージョンを受信すると、当該コンテンツバージョンに基づいて、図１２（ｂ）に示すような画面１７００を表示装置１２に表示させる（ステップＳ１０１２）。
【０１１６】
ここで、図１２（ｂ）に示す画面１７００には、管理装置２０に登録されたパッケージバージョン「2.0」の設計書パッケージに含まれるコンテンツの一覧を表示させるための「ｖ２．０」ボタン１７０１が追加されている。これにより、ユーザＵは、パッケージバージョン「2.0」の設計書パッケージに含まれるコンテンツの一覧を表示領域１７０２に表示させることができるようになる。
【０１１７】
以上のように、本実施形態のバージョン管理システム１では、パッケージ定義レコードに含まれる検索条件に基づいて表示されたパッケージに対して、バージョンを付与して登録することができる。換言すれば、本実施形態のバージョン管理システム１では、ユーザの登録操作に応じて、表示されたパッケージのスナップショットを登録して、バージョン管理する。これにより、ユーザは、パッケージに含まれるコンテンツが頻繁に追加等されるような場合においても、パッケージのバージョン管理を容易に行うことができる。
【０１１８】
次に、図１０のステップＳ１００４におけるコンテンツレコードの検索処理について、図１３を参照しながら説明する。図１３は、第一の実施形態のコンテンツレコードの検索処理の一例を示すフローチャートである。
【０１１９】
まず、検索部２２２は、検索条件取得部２２１により取得された検索条件を満たすコンテンツレコードをコンテンツＤＢ２０５から取得する（ステップＳ１３０１）。
【０１２０】
より具体的には、例えば、検索条件取得部２２１により取得された検索条件が「タグ＝設計書」である場合、検索部２２２は、図１４（ａ）に示すコンテンツＤＢ２０５から図１４（ｂ）に示すコンテンツレコードを取得する。すなわち、検索部２２２は、図１４（ａ）に示すコンテンツＤＢ２０５に含まれるコンテンツレコードのうち、タグが「設計書」であるコンテンツレコードを取得する。
【０１２１】
次に、検索部２２２は、ステップＳ１３０１で取得されたコンテンツレコードのうち、コンテンツＩＤが同一であるコンテンツレコードが存在するか否かを判定する（ステップＳ１３０２）。
【０１２２】
ステップＳ１３０２において、コンテンツＩＤが同一であるコンテンツレコードが存在しない場合、検索部２２２は、処理を終了する。すなわち、この場合、パッケージ登録処理部２０３は、ステップＳ１３０１で検索部２２２により取得されたコンテンツレコードを端末装置１０に送信する。
【０１２３】
ステップＳ１３０２において、コンテンツＩＤが同一であるコンテンツレコードが存在する場合、検索部２２２は、当該同一であるコンテンツレコードについて、コンテンツバージョンが最新のコンテンツレコード以外を削除する（ステップＳ１３０３）。そして、検索部２２２は、当該削除後のコンテンツレコードを取得する。
【０１２４】
より具体的には、図１４（ｂ）に示すコンテンツレコードのコンテンツＩＤが「C003」であるコンテンツレコードについて、検索部２２２は、コンテンツバージョンが「0.2」（最新）のコンテンツレコード以外を削除する。すなわち、検索部２２２は、コンテンツバージョンが「0.1」であるコンテンツＩＤ「C003」のコンテンツレコードを削除する。これにより、検索部２２２は、図１４（ｃ）に示すコンテンツレコードを取得する。この場合、パッケージ登録処理部２０３は、図１４（ｃ）に示すコンテンツレコードを端末装置１０に送信する。
【０１２５】
以上のように、本実施形態のバージョン管理システム１では、検索条件に基づいてパッケージの構成要素となるコンテンツレコードを検索して取得する。このため、ユーザＵは、パッケージに含まれるコンテンツを指定することなく、検索条件を設定することでパッケージを定義することができる。
【０１２６】
次に、バージョニングして登録されたパッケージに含まれるコンテンツの一覧を表示させる場合の処理について、図１５を参照しながら説明する。図１５は、第一の実施形態の特定バージョンのパッケージの表示処理の一例を示すシーケンス図である。
【０１２７】
まず、端末装置１０の表示装置１２には、表示制御部１０５により、図１６（ａ）に示すような画面１８００が表示されているものとする。以降では、パッケージバージョン「1.0」の設計書パッケージに含まれるコンテンツの一覧を表示領域１８０１に表示させる場合について説明する。
【０１２８】
ユーザＵは、図１６（ａ）に示す画面１８００において、パッケージバージョン「1.0」の設計書パッケージに含まれるコンテンツの一覧を表示させるための「ｖ１．０」ボタン１８０２を押下して、パッケージバージョンの選択操作を行う（ステップＳ１５０１）。すると、端末装置１０の入力受付部１０１は、当該選択操作を受け付ける。
【０１２９】
ここで、当該「ｖ０．１」ボタン１８０２には、設計書パッケージのパッケージＩＤ「P001」及びパッケージバージョン「0.1」が対応付けられている。なお、同様に、画面１８００において、「ｖ０．２」ボタン１８０３には、設計書パッケージのパッケージＩＤ「P001」及びパッケージバージョン「0.2」が対応付けられている。
【０１３０】
端末装置１０の取得要求部１０４は、入力受付部１０１により当該選択操作が受け付けられると、選択されパッケージバージョンのパッケージに含まれるコンテンツを取得するためのパッケージ取得要求を管理装置２０に送信する（ステップＳ１５０２）。ここで、当該取得要求には、当該選択操作により選択されたパッケージのパッケージＩＤと、パッケージバージョンとが含まれる。
【０１３１】
管理装置２０の構成管理取得部２３１は、パッケージの取得要求を受信すると、当該取得要求に含まれるパッケージＩＤ及びパッケージバージョンに対応する構成管理レコードを構成管理ＤＢ２０７から取得する（ステップＳ１５０３）。すなわち、本実施形態では、構成管理取得部２３１は、パッケージＩＤ「P001」及びパッケージバージョン「0.1」である構成管理レコードを構成管理ＤＢ２０７から取得する。
【０１３２】
次に、管理装置２０のコンテンツ取得部２３２は、構成管理取得部２３１により取得された構成管理レコードに含まれるコンテンツＩＤ及びコンテンツバージョンに対応するコンテンツレコードをコンテンツＤＢ２０５から取得する（ステップＳ１５０４）。すなわち、本実施形態では、コンテンツ取得部２３２は、パッケージバージョンが「0.1」である設計書パッケージ（パッケージＩＤ「P001」）に含まれるコンテンツのコンテンツレコードをコンテンツＤＢ２０５から取得する。
【０１３３】
そして、パッケージ表示処理部２０４は、コンテンツ取得部２３２により取得されたコンテンツレコードを端末装置１０に送信する（ステップＳ１５０５）。
【０１３４】
端末装置１０の表示制御部１０５は、管理装置２０からコンテンツレコードを受信すると、当該コンテンツレコードに基づいて、図１６（ｂ）に示すような画面１９１０を表示装置１２に表示させる（ステップＳ１５０６）。すなわち、表示制御部１０５は、ユーザＵにより選択されたパッケージバージョン「0.1」の設計書パッケージに含まれるコンテンツを示す表示部品の一覧を表示領域１９１１に表示させる。これにより、ユーザＵは、登録されたパッケージバージョンのパッケージに含まれるコンテンツのコンテンツバージョン、タグ、及びコンテンツ名の一覧を取得することができる。
【０１３５】
なお、ユーザＵが画面１８００において、「ｖ０．２」ボタン１８０３を押下した場合、端末装置１０の表示装置１２には、図１６（ｃ）に示すような画面１９２０が表示される。画面１９２０には、ユーザＵにより選択されたパッケージバージョン「0.2」の設計書パッケージに含まれるコンテンツを示す表示部品の一覧が表示領域１９２１に表示されている。
【０１３６】
以上のように、本実施形態のバージョン管理システム１では、バージョニングされたパッケージに含まれるコンテンツの一覧を表示させることができる。
【０１３７】
［第二の実施形態］
次に、第二の実施形態のバージョン管理システム１について説明する。第二の実施形態の説明では、第一の実施形態との相違点について説明し、第一の実施形態と同様の機能構成を有する箇所には第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【０１３８】
本実施形態は、端末装置１０のユーザが、管理装置２０で管理されているコンテンツの削除を行うことができるものである。
【０１３９】
＜機能構成＞
次に、第二の実施形態のバージョン管理システム１の機能構成について、図１７を参照しながら説明する。図１７は、第二の実施形態のバージョン管理システムの機能構成の一例を示す図である。
【０１４０】
図１７に示す端末装置１０は、削除要求部１０６を有する。削除要求部１０６は、端末装置１０にインストールされた端末プログラム３０が、ＣＰＵ１６に実行させる処理により実現される。
【０１４１】
削除要求部１０６は、入力受付部１０１が受け付けた入力操作に応じて、コンテンツの削除要求を管理装置２０に送信する。
【０１４２】
図１７に示す管理装置２０は、コンテンツ一覧処理部２０１Ａ、パッケージ登録処理部２０３Ａ、及びコンテンツ削除処理部２０８を有する。これら各部は、管理装置２０にインストールされたバージョン管理プログラム４０が、ＣＰＵ１６に実行させる処理により実現される。
【０１４３】
また、図１７に示す管理装置２０は、コンテンツＤＢ２０５Ａを有する。コンテンツＤＢ２０５Ａは、ＨＤＤ１８等により実現可能である。
【０１４４】
コンテンツＤＢ２０５Ａは、コンテンツレコードを管理する。ここで、コンテンツＤＢ２０５Ａの詳細について、図１８を参照しながら説明する。図１８は、第二の実施形態のコンテンツＤＢの一例を示す図である。
【０１４５】
図１８に示すように、コンテンツＤＢ２０５Ａで管理されるコンテンツレコードは、データ項目として、さらに、削除区分を有する。削除区分は、コンテンツの削除要求がなされたか否かを示す区分である。すなわち、本実施形態の管理装置２０は、端末装置１０からコンテンツの削除要求を受信すると、当該削除要求に係るコンテンツレコードの削除区分を「済」に更新する。
【０１４６】
このように、本実施形態の管理装置２０は、削除要求に係るコンテンツレコードをすぐには削除せずに、削除区分を「済」に更新する。これにより、本実施形態のバージョン管理システム１では、例えば、コンテンツＤＢ２０５Ａのロールバック等を容易に行うことができる。なお、削除区分が「済」のコンテンツレコードは、例えば、定期的なコンテンツＤＢ２０５Ａのメンテナンス等において削除すれば良い。
【０１４７】
コンテンツ一覧処理部２０１Ａは、管理装置２０で管理されているコンテンツの一覧を表示させるためのコンテンツの取得要求に応じて、コンテンツＤＢ２０５Ａからコンテンツレコードを取得する。ここで、コンテンツ一覧処理部２０１Ａは、コンテンツＤＢ２０５Ａに格納されているコンテンツレコードのうち、削除区分に応じてコンテンツレコードを取得する。すなわち、コンテンツ一覧処理部２０１Ａは、コンテンツＤＢ２０５Ａから削除区分が「未済」であるコンテンツレコードを取得する。
【０１４８】
コンテンツ削除処理部２０８は、管理装置２０からコンテンツを削除するためのコンテンツの削除要求に応じて、コンテンツを管理装置２０から削除する処理を行う。より具体的には、コンテンツ削除処理部２０８は、コンテンツの削除要求に応じて、コンテンツＤＢ２０５Ａに格納されている削除要求に係るコンテンツデータの削除区分を「済」に更新する。
【０１４９】
パッケージ登録処理部２０３Ａは、検索部２２２Ａを有する。検索部２２２Ａは、検索条件取得部２２１により取得された検索条件に基づいて、コンテンツＤＢ２０５を検索して、検索条件を満たすコンテンツレコードのうち、削除区分が「未済」であるコンテンツレコードを取得する。
【０１５０】
＜処理の詳細＞
次に、第二の実施形態のバージョン管理システム１の処理の詳細について説明する。
【０１５１】
まず、ユーザＵが端末装置１０を用いて、管理装置２０で管理されているコンテンツを削除する処理について、図１９を参照しながら説明する。図１９は、第二の実施形態のコンテンツ削除処理の一例を示すシーケンス図である。
【０１５２】
まず、端末装置１０の表示装置１２には、表示制御部１０５により、図２０（ａ）に示すような画面２１００が表示されているものとする。
【０１５３】
ユーザＵは、図２０（ａ）に示す画面２１００において、削除対象のコンテンツを示すアイコン等の表示部品２１０１を選択した上で、「削除」ボタン２１０２を押下して、コンテンツの削除操作を行う（ステップＳ１９０１）。すると、端末装置１０の入力受付部１０１は、当該削除操作を受け付ける。
【０１５４】
端末装置１０の削除要求部１０６は、入力受付部１０１により当該削除操作が受け付けられると、選択されたコンテンツを削除するためのコンテンツの削除要求を管理装置２０に送信する（ステップＳ１９０２）。ここで、当該削除要求には、選択されたコンテンツのコンテンツＩＤと、コンテンツバージョンとが含まれる。
【０１５５】
管理装置２０のコンテンツ削除処理部２０８は、コンテンツの削除要求を受信すると、コンテンツＤＢ２０５Ａにおいて、当該削除要求に含まれるコンテンツＩＤ及びコンテンツバージョンに対応するコンテンツレコードの削除区分を「済」に更新する（ステップＳ１９０３）。これにより、ユーザＵにより選択されたコンテンツのコンテンツレコードの削除区分が「済」に更新される。
【０１５６】
管理装置２０のコンテンツ削除処理部２０８は、削除区分を「済」に更新したコンテンツレコードのコンテンツＩＤ及びコンテンツバージョンを端末装置１０に送信する（ステップＳ１９０４）。
【０１５７】
端末装置１０の表示制御部１０５は、管理装置２０からコンテンツＩＤ及びコンテンツバージョンを受信すると、図２０（ｂ）に示すような画面２２００を表示装置１２に表示させる（ステップＳ１９０５）。
【０１５８】
ここで、図２０（ｂ）に示す画面２２００では、表示領域２２０１において、ユーザＵが削除対象として選択した表示部品２１０１が削除されている。このように、本実施形態では、表示領域２２０１において、削除区分が「済」であるコンテンツレコードにより示されるコンテンツは表示されない。
【０１５９】
以上のように、本実施形態のバージョン管理システム１では、管理装置２０で管理されているコンテンツレコードの削除区分を「済」に更新することで、コンテンツの削除を行うことができる。
【０１６０】
次に、第二の実施形態のコンテンツレコードの検索処理について、図２１を参照しながら説明する。図２１は、第二の実施形態のコンテンツレコードの検索処理の一例を示すフローチャートである。
【０１６１】
検索部２２２Ａは、ステップＳ１３０３で取得されたコンテンツレコードのうち、削除区分が「未済」であるコンテンツレコードを取得する（ステップＳ２１０１）。すなわち、検索部２２２Ａは、ステップＳ１３０３で取得されたコンテンツレコードのうち、削除区分が「済」であるコンテンツレコードは取得しない。このため、削除要求に係るコンテンツのコンテンツレコードは、ユーザＵにより選択されたパッケージに含まれない。
【０１６２】
以上のように、本実施形態のバージョン管理システム１では、削除区分が「済」であるコンテンツレコードを検索結果として取得しないことで、当該コンテンツレコードにより示されるコンテンツがパッケージに含まれないようにすることができる。
【０１６３】
このため、ユーザＵは、コンテンツの削除を行いたい場合には、当該コンテンツの削除操作を行えば良く、当該コンテンツをパッケージから明示的に削除する必要はない。したがって、ユーザは、パッケージに含まれるコンテンツが頻繁に削除等されるような場合にもおいても、パッケージのバージョン管理を容易に行うことができる。
【０１６４】
［第三の実施形態］
次に、第三の実施形態のバージョン管理システム１について説明する。第三の実施形態の説明では、第一の実施形態との相違点について説明し、第一の実施形態と同様の機能構成を有する箇所には第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【０１６５】
本実施形態は、パッケージに対して、当該パッケージが有効な期間を示す有効期間を対応付けたものである。これにより、端末装置１０では、日付を指定することにより、当該日付において有効なパッケージに含まれるコンテンツの一覧を表示させることができる。
【０１６６】
＜機能構成＞
次に、第三の実施形態のバージョン管理システム１の機能構成について、図２２を参照しながら説明する。図２２は、第三の実施形態のバージョン管理システムの機能構成の一例を示す図である。
【０１６７】
図２２に示す管理装置２０は、パッケージ登録処理部２０３Ｂ及びパッケージ表示処理部２０４Ａを有する。これら各部は、管理装置２０にインストールされたバージョン管理プログラム４０が、ＣＰＵ１６に実行させる処理により実現される。
【０１６８】
また、図２２に示す管理装置２０は、構成管理ＤＢ２０７Ａを有する。構成管理ＤＢ２０７Ａは、ＨＤＤ１８等により実現可能である。
【０１６９】
構成管理ＤＢ２０７Ａは、構成管理レコードを管理する。ここで、構成管理ＤＢ２０７Ａの詳細について、図２３を参照しながら説明する。図２３は、第三の実施形態の構成管理ＤＢの一例を示す図である。
【０１７０】
図２３に示すように、構成管理ＤＢ２０７Ａで管理される構成管理レコードは、データ項目として、さらに、有効期間を有する。有効期間には、パッケージが有効となる日付を示す開始日付と、パッケージが有効でなくなる日付を示す終了日付とが含まれる。
【０１７１】
これにより、開始日付が設定されている構成管理レコードにより示されるパッケージは、当該設定されている日付以降、有効なパッケージとなる。一方、終了日付が設定されている構成管理レコードにより示されるパッケージは、当該設定されている日付以降、無効なパッケージとなる。すなわち、構成管理レコードに含まれるパッケージＩＤにより示されるパッケージは、開始日付以降で、かつ、終了日付以前の期間において、有効なパッケージとなる。
【０１７２】
ここで、有効なパッケージとは、当該パッケージの利用が可能なことを意味する。すなわち、例えば、当該パッケージに含まれるコンテンツの取得や削除、修正等が可能なことを意味する。一方、無効なパッケージとは、当該パッケージを利用できないことを意味する。
【０１７３】
なお、開始日付が未設定（ブランク）である構成管理レコードに含まれるパッケージＩＤより示されるパッケージは、無効なパッケージとして扱えば良い。また、終了日付が未設定（ブランク）である構成管理レコードに含まるパッケージＩＤより示されるパッケージは、有効なパッケージとして扱えば良い。
【０１７４】
パッケージ登録処理部２０３Ｂは、構成管理レコード生成部２２３Ａを有する。構成管理レコード生成部２２３Ａは、パッケージバージョンの登録要求に応じて、構成管理レコードを生成する。より具体的には、構成管理レコード生成部２２３Ｂは、コンテンツレコードのコンテンツＩＤ及びコンテンツバージョンを、当該登録要求に含まれるパッケージＩＤ、パッケージバージョン、及び有効期間と対応付けて構成管理レコードを生成する。
【０１７５】
パッケージ表示処理部２０４Ａは、構成管理取得部２３１Ａを有する。構成管理取得部２３１Ａは、パッケージの取得要求に応じて、当該取得要求に含まれるパッケージＩＤ及びパッケージバージョンに対応する構成管理レコードであって、有効なパッケージの構成管理レコードを構成管理ＤＢ２０７から取得する。
【０１７６】
＜処理の詳細＞
次に、第三の実施形態のバージョン管理システム１の処理の詳細について説明する。
【０１７７】
まず、コンテンツを構成要素とするパッケージを端末装置１０に表示させて、表示されたパッケージをバージョニングして登録する場合の処理について、図２４を参照しながら説明する。図２４は、第三の実施形態のパッケージの表示及びバージョンの登録処理の一例を示すシーケンス図である。
【０１７８】
ここで、端末装置１０には、ステップＳ１００６で表示された設計書パッケージをバージョンニングして登録する際に、当該バージョニングされたパッケージの有効期間を設定するための図２５に示すような画面２３００が表示されているものとする。
【０１７９】
図２５に示す画面２３００には、パッケージバージョン「0.2」の設計書パッケージの有効期間の開始日付を入力するための開始入力欄２３０１と、当該設計書パッケージの有効期間の終了日付を入力するための終了入力欄２３０２とが含まれる。
【０１８０】
ユーザＵは、図２５に示す画面２３００において、開始入力欄２３０１及び終了入力欄２３０２に、それぞれ開始日付及び終了日付を入力した上で、「設定」ボタン２３０３を押下して、パッケージの登録操作を行う（ステップＳ２４０１）。すると、端末装置１０の入力受付部１０１は、当該登録操作を受け付ける。
【０１８１】
端末装置１０の登録要求部１０３は、入力受付部１０１により当該登録操作が受け付けられると、設計書パッケージのバージョンを登録するためのパッケージバージョンの登録要求を管理装置２０に送信する（ステップＳ２４０２）。ここで、当該登録要求には、設計書パッケージのパッケージＩＤと、入力されたパッケージバージョンと、開始入力欄２３０１に入力された開始日付と、終了入力欄２３０２に入力された終了日付とが含まれる。
【０１８２】
管理装置２０の構成管理レコード生成部２２３Ａは、当該登録要求を受信すると、構成管理レコードを生成する（ステップＳ２４０３）。
【０１８３】
より具体的には、構成管理レコード生成部２２３Ａは、検索部２２２により取得されたコンテンツレコードのコンテンツＩＤ及びコンテンツバージョンを、パッケージＩＤ、パッケージバージョン、開始日付、及び終了日付と対応付けて構成管理レコードを生成する。なお、開始日付及び終了日付は、有効期間に含まれるデータ項目として、コンテンツＩＤ及びコンテンツバージョンに対応付けられる。
【０１８４】
次に、管理装置２０の構成管理登録部２２４は、構成管理レコード生成部２２３Ａにより生成された構成管理レコードを構成管理ＤＢ２０７Ａに格納する（ステップＳ２４０４）。そして、管理装置２０のパッケージ登録処理部２０３Ａは、登録された設計書パッケージのパッケージバージョンを端末装置１０に送信する（ステップＳ２４０５）。
【０１８５】
以上のように、本実施形態のバージョン管理システム１では、パッケージ定義レコードに含まれる検索条件に基づいて表示されたパッケージに対してバージョンを付与して登録する際に、当該登録されるバージョンのパッケージの有効期間を設定することができる。これにより、ユーザＵは、登録したバージョンのパッケージが有効となる開始日付、及び当該パッケージが無効となる終了日付を設定することができる。
【０１８６】
したがって、本実施形態のバージョン管理システム１では、例えば、ある特定の期間販売される製品の設計書パッケージを当該特定期間だけ有効とすることができる。また、例えば、パッケージの管理者が人事異動等により他部署に異動した場合や退職した場合等に終了日付を設定することで、当該パッケージを無効とすることもできる。このように、本実施形態のバージョン管理システム１では、パッケージの開始日付及び終了日付を設定することで、任意の期間においてパッケージを有効にすることができる。
【０１８７】
次に、バージョニングして登録されたパッケージのうち、ユーザＵにより指定された特定の日付において有効なパッケージに含まれるコンテンツの一覧を表示させる場合の処理について、図２６を参照しながら説明する。図２６は、第三の実施形態の特定日付で有効なパッケージの表示処理の一例を示すシーケンス図である。
【０１８８】
ここで、端末装置１０には、バージョニングして登録されたパッケージのうち、指定された日付で有効なバージョンのパッケージを表示させるための図２７（ａ）に示すような画面２４００が表示されているものとする。
【０１８９】
ユーザＵは、図２７（ａ）に示す画面２４００において、パッケージ一覧２４０１から所望のパッケージを選択し、日付入力欄２４０２に日付を入力した上で、「ＯＫ」ボタン２４０３を押下して、パッケージ及び日付の入力操作を行う（ステップＳ２６０１）。すると、端末装置１０の入力受付部１０１は、当該登録操作を受け付ける。
【０１９０】
端末装置１０の取得要求部１０４は、入力受付部１０１により当該入力操作を受け付けると、選択されたパッケージで、入力された日付において有効なパッケージのバージョンを取得するためのパッケージの取得要求を管理装置２０に送信する（ステップＳ２６０２）。ここで、当該取得要求には、ユーザにより選択されたパッケージのパッケージＩＤと、入力された日付とが含まれる。
【０１９１】
管理装置２０の構成管理取得部２３１Ａは、当該取得要求に含まれるパッケージＩＤに対応する構成管理レコードであって、有効なパッケージの構成管理レコードを構成管理ＤＢ２０７Ａから取得する（ステップＳ２６０３）。すなわち、構成管理取得部２３１Ａは、当該取得要求に含まれるパッケージＩＤに対応する構成管理レコードであって、開始日付が入力された日付以前で、かつ、終了日付が入力された日付以降である構成管理レコードを取得する。
【０１９２】
次に、管理装置２０のコンテンツ取得部２３２は、構成管理取得部２３１Ａにより取得された構成管理レコードに含まれるコンテンツＩＤ及びコンテンツバージョンに対応するコンテンツレコードをコンテンツＤＢ２０５から取得する（ステップＳ２６０４）。
【０１９３】
そして、パッケージ表示処理部２０４Ａは、コンテンツ取得部２３２により取得されたコンテンツレコードを端末装置１０に送信する（ステップＳ２６０５）。
【０１９４】
端末装置１０の表示制御部１０５は、管理装置２０からコンテンツレコードを受信すると、当該コンテンツレコードに基づいて、図２７（ｂ）に示すような画面２５００を表示装置１２に表示させる（ステップＳ２６０６）。
【０１９５】
ここで、図２７（ｂ）に示す画面２５００の表示領域２５０１には、ユーザＵにより入力された日付において有効なパッケージバージョン「0.1」の設計書パッケージに含まれるコンテンツの一覧２５０２が表示されている。また、同様に、表示領域２５０１には、ユーザＵにより入力された日付において有効なパッケージバージョン「0.2」の設計書パッケージに含まれるコンテンツの一覧２５０３が表示されている。
【０１９６】
このように、本実施形態では、ユーザＵが入力した日付において有効なすべてのバージョンのパッケージに含まれるコンテンツの一覧が表示される。これにより、本実施形態では、ユーザＵは、設定した日付において有効なすべてのバージョンのパッケージを得ることができる。
【０１９７】
以上のように、本実施形態のバージョン管理システム１では、ユーザが設定した日付において有効なパッケージを表示することができる。これにより、例えば、過去のある期間に販売していた製品の設計書をユーザが得たい場合等に、ユーザは日付を設定することで、当該製品の設計書のパッケージを得ることができるようになる。
【０１９８】
なお、本実施形態では、ユーザが選択した一のパッケージにおいて、ユーザが設定した日付で有効なすべてのバージョンのパッケージを表示させたが、これに限られない。例えば、ユーザが複数のパッケージを選択して、当該複数のパッケージにおいて、ユーザが設定した日付で有効なすべてのバージョンのパッケージを表示させても良い。
【０１９９】
以上、本発明の実施形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【０２００】
１        バージョン管理システム
１０      端末装置
２０      管理装置
３０      端末プログラム
４０      バージョン管理プログラム
１０１    入力受付部
１０２    タグ付与部
１０３    登録要求部
１０４    取得要求部
１０５    表示制御部
２０１    コンテンツ一覧処理部
２０２    コンテンツ登録処理部
２０３    パッケージ登録処理部
２０４    パッケージ表示処理部
２０５    コンテンツデータベース
２０６    パッケージ定義データベース
２０７    構成管理データベース
２１１    コンテンツレコード生成部
２１２    コンテンツ登録部
２２１    検索条件取得部
２２２    検索部
２２３    構成管理レコード生成部
２２４    構成管理登録部
２３１    構成管理取得部
２３２    コンテンツ取得部
【先行技術文献】
【特許文献】
【０２０１】
【特許文献１】特許第３６１３５０４号公報
【図１】
2017045237.tif 000003
【図２】
2017045237.tif 000004
【図３】
2017045237.tif 000005
【図４】
2017045237.tif 000006
【図５】
2017045237.tif 000007
【図６】
2017045237.tif 000008
【図７】
2017045237.tif 000009
【図８】
2017045237.tif 000010
【図９】
2017045237.tif 000011
【図１０】
2017045237.tif 000012
【図１１】
2017045237.tif 000013
【図１２】
2017045237.tif 000014
【図１３】
2017045237.tif 000015
【図１４】
2017045237.tif 000016
【図１５】
2017045237.tif 000017
【図１６】
2017045237.tif 000018
【図１７】
2017045237.tif 000019
【図１８】
2017045237.tif 000020
【図１９】
2017045237.tif 000021
【図２０】
2017045237.tif 000022
【図２１】
2017045237.tif 000023
【図２２】
2017045237.tif 000024
【図２３】
2017045237.tif 000025
【図２４】
2017045237.tif 000026
【図２５】
2017045237.tif 000027
【図２６】
2017045237.tif 000028
【図２７】
2017045237.tif 000029