Confluence でスペースのコピーまたは名前変更を行う方法

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

現在、スペースのコピーやスペース キーの変更についてのサポート対象機能は、Confluence Server と Confluence Cloud のいずれでも提供されていません。このページの内容は情報の提供のみを目的としており、アトラシアンによる直接的なサポートは行われません。回避策の利用にあたっては、この制限事項にご留意ください。このページの情報は最新ではない可能性があり、本番環境に適用する前に入念なテストを行う必要があります

目的

Confluence のスペースのコピーまたは名前変更を行う。

ソリューション

ソリューション 1: Atlassian Marketplace のアドオンを使用する

Confluence ではスペースをコピーするための標準機能は提供されていませんが、複数のサードパーティ製プラグイン (サポート対象外) を利用して同様の操作を実現できます。

  1. Copy Space Plugin
    最も推奨されるオプションは、Copy Space Plugin のインストールです。
    (warning) このプラグインはアトラシアンの Ship-It によるリリースです。アトラシアンの開発者が開発したものではありますが、アトラシアンの公式なサポート対象ではないことにご注意ください。プラグインの注意事項については、https://ecosystem.atlassian.net/wiki/display/CPSP/Confluence+Copy+Space+Pluginをご参照ください。
    (warning) スペースのコピーは時間がかかる処理であり、このプラグインの使用時、スペースのコピーが正常に作成されているにもかかわらず、タイムアウトしているように見えることがある点にご注意ください。これが発生した場合、スペースのコピーを再試行する前に、スペースが確実に作成されていないことをご確認ください。
    アトラシアン ブログで、開発者からの注意事項をご確認ください。Bitbucket リポジトリでソース コードが公開されており、自由に変更できます。https://bitbucket.org/atlassianlabs/confluence-copy-space-plugin
  2. Copy Page Tree プラグインを使用することで、1 つのスペースのページをほかのスペースにコピーできます。
  3. Space Tree Creator を使用することで、ツリーをスペースにコピーできます。検索および置換機能も利用できます。
  4. Bob Swift CLI tool を使用することで、コマンド ラインを使用してスペースをコピーできます。



ソリューション 2: スペースを手動で複製または名前変更する

対象のスペースの XML バックアップを編集することで、スペースを手動で複製または名前変更することもできます。


複数のスペースの名前変更を同時に行う場合、インスタンス全体のエクスポートを行うほうが作業を簡単に行える場合があります。サイトのフル エクスポートを行う場合、exportDescriptor.properties ファイルの変更は不要で、次のファイルでスペース キーを変更する必要があります。

<export_folder>/plugin-data/com.atlassian.activeobjects.confluence.spi/activeObjectsBackupRestoreProvider.pdata

サイトのフル バックアップでは、Confluence へのインポート時に問題が発生する可能性があります。問題が発生した場合、スペース単位での名前変更をお試しください。


第 1 段階: スペースの名前変更

XML バックアップを生成してテスト インスタンスを作成する

  1. 2 つ目のスペース用に、一意の新しいスペース キーと名前を用意します。スペース キーではASCII 文字と数字のみ (A-Z、a-z、0-9) を利用できます。キーでは空白文字、特殊文字、アンダースコアは利用できません。スペース キーに無効な文字が含まれている場合、再インポートは失敗し、スタック トレースが記録されます。
  2. ご利用の本番 Confluence インスタンスを、別のコンピュータ上のテスト サーバーに一時的に複製します (手順については、「本番環境をテスト インスタンスに復元する」をご参照ください)。これで、本番サーバーとテスト サーバーに同じデータを用意し、本番 Confluence インスタンスのデータが破損した場合のリスクを軽減することができました。
  3. テスト サーバーで、管理者としてログインします。
  4. [スペース] > [スペース ツール] > [コンテンツ ツール] > [エクスポート] > [XML] > [次へ] > [完全なエクスポート] > [スペースのエクスポート] に移動し、対象のスペースを、添付ファイルを含む XML としてエクスポートします。



  5. スペースのバックアップを保存します。

entities.xml ファイルを編集する

  1. zip ファイル エディタを使用してスペース バックアップ ファイルを開き、 entities.xml ファイルを見つけます。
  2. テキスト エディタで entities.xml を編集します。
  3. 次のように、古いスペース名の検索および置換を行います。Old Space NameNew Space Name を実際のキーで置き換えます。

    検索対象

    置換先

    [CDATA[Old Space Name]

    [CDATA[New Space Name]

  4. ユーザー コンテンツで古いスペース名が存在するすべての箇所を検索します。必要に応じて、これらの一部またはすべてを新しいスペース名で置き換えます。Old Space NameNew Space Name を実際の名前で置き換えます。

    検索対象

    Old Space Name

  5. 次のように、スペース キーのパターンの検索および置換を行います。大文字と小文字が区別されることにご注意ください。プレースホルダーのOLDKEY / NEWKEY は、大文字または大文字と小文字が混在するキーを表し、oldkey / newkey は、すべてが小文字のキーを表します。

    検索対象

    置換先

    コメント

    OLDKEY

    NEWKEY


    spaceKey=OLDKEY

    spaceKey=NEWKEY


    [OLDKEY:

    [NEWKEY:


    key=OLDKEY]

    key=NEWKEY]


    <spaceKey>OLDKEY</spaceKey>

    <spaceKey>NEWKEY</spaceKey>

      

    ri:space-key="OLDKEY"

    ri:space-key="NEWKEY"

    この手順は、名前を変更するスペース内のリンクが元のスペース キーではなく新しいスペース キーを参照する必要がある場合にのみ実行します。

    ri:space-key=OLDKEY

    ri:space-key=NEWKEY

    この手順は、名前を変更するスペース内のリンクが元のスペース キーではなく新しいスペース キーを参照する必要がある場合にのみ実行します。

    <ac:parameter ac:name="spaces">OLDKEY</ac:parameter>

    <ac:parameter ac:name="spaces">NEWKEY</ac:parameter>


    <ac:parameter ac:name="spaceKey">OLDKEY</ac:parameter>

    <ac:parameter ac:name="spaceKey">NEWKEY</ac:parameter>


    <property name="lowerDestinationSpaceKey"><![CDATA[NEWKEY]]></property>
    
    <property name="lowerDestinationSpaceKey"><![CDATA[newkey]]></property>
    

    検索元と置換先の両方で新しいキーが使用されることにご注意ください。


    <property name="lowerKey"><![CDATA[NEWKEY]]></property>
    
    <property name="lowerKey"><![CDATA[newkey]]></property>
    

    検索元と置換先の両方で新しいキーが使用されることにご注意ください。


    spaceKey=OLDKEY

    spaceKey=NEWKEY


    spacekey=oldkey

    spacekey=newkey


  6. 変更した entities.xml を保存します。
  7. スペース バックアップ内の元の entities.xml を、変更済みのバージョンで置き換えます。

exportDescriptor.properties ファイルを編集する

  1. exportDescriptor.properties ファイルを任意のテキスト エディタで編集します。
  2. exportDescriptor.properties ファイルの spaceKey の値を 新しいスペース キーに変更します。

テスト インスタンスにインポートして確認する

  1. Confluence 管理者としてテスト インスタンスにログインします。
  2. > [全般構成] > [バックアップとリストア] に移動します。[バックアップの zip ファイルを Confluence にアップロード] で、変更済みのスペース バックアップを参照して選択します。[インデックスの作成] オプションを選択して、[アップロードおよびリストア] を選択します。
  3. 復元プロセスが完了したら、新しいスペースにアクセスし、ページ、内部リンク、および添付ファイルにアクセスできることを確認します。この段階でエラーが発生する場合、検索および置換が適切に行われていないため、ステップ 2 から再度やり直す必要があります。
第 2 段階: 本番環境への復元
  1. 本番環境インスタンスのバックアップを作成します。
  2. Confluence 管理者として本番環境インスタンスにログインします。
  3.  -> [全般構成] > [バックアップとリストア] に移動します。[バックアップの zip ファイルを Confluence にアップロード] で、変更済みのスペース バックアップを参照して選択します。[インデックスの作成] オプションと [アップロードおよびリストア] を選択します。この回避策を利用したことでデータが失われた場合、バックアップに戻す必要があります。
  4. 復元プロセスが完了したら、新しいスペースにアクセスし、ページ、内部リンク、および添付ファイルにアクセスできることを確認します。この段階でエラーが発生した場合、サイト バックアップに戻す必要があります。
  5. スペースの名前変更を行う場合、[スペース] > [スペース ツール] > [概要] > [スペースの削除] で、古いスペースを削除できます。[OK] をクリックして古いスペースを削除します。
第 3 段階: スペース参照の名前変更

ほかのスペース内にある、古いスペースへのリンクは変更されずに残ります。スペースの名前変更を行う場合、これらのリンクが新しいスペースを参照するように変更する必要があります。スペースをコピーする場合、この段階をスキップして、リンクが元のスペースを参照するようにすることもできます。

これらのリンクの変更は、すべてのリンクを変更するか、一部のみを変更するかに応じて異なります。すべてのリンクを変更する必要がない場合や、本番環境インスタンスを停止したくない場合は、各ページを手動で変更する必要があります。すべてのリンクを変更する必要がある場合、次の手順をご利用ください。

  1.  > [全般構成] > [バックアップとリストア] で、添付ファイルを含む XML 形式のサイト バックアップを作成します。
  2. サイトの XML バックアップ ファイルを保存します。
  3. 本番環境インスタンスを停止します。
  4. サイト バックアップのコピーを 2 つ作成します。1 つのコピーを、オリジナルの未変更のバックアップとして保持し、もう片方を変更します。変更対象を確認できるよう、バックアップの名前を変更します。
  5. 変更用のコピーを開いて entities.xml を編集します。
  6. 次のように、古いスペース キーを参照する検索および置換を 4 回行います。oldkeynewkey を実際のキーで置き換えます。

    検索対象

    置換先

    [oldkey]

    [newkey]

    spaceKey=oldkey

    spaceKey=newkey

    [oldkey:

    [newkey:

    key=oldkey]

    key=newkey]

  7. 更新した entities.xml を、変更した XML サイト バックアップ ファイルに保存します。
  8. 本番環境を開始します。
  9.  > [全般構成] > [バックアップとリストア] で、変更した XML サイト バックアップ ファイルをインポートします。問題が発生した場合、未変更のバックアップに戻り、リンクは手動で変更してくだささい。

これで完了です。


関連情報

 Copy Space Template: There is a feature request being tracked at  CONF-4538 - Getting issue details... STATUS

最終更新日 2018 年 11 月 14 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.