• +1 (302) 476 2350
  • info@replacemagic.com

SmartMapperの使い方 — リンク修復パターンの自動生成

従来のリンク修復では、検索文字列と置換文字列を手動で指定する必要があります。SmartMapperはそのワークフローを逆転させます:シンプルな移行元 → 移行先のマッピングルールを定義するだけで、SmartMapperが相対リンク、IDベースのSharePoint DocID、PowerQueryパス、接続文字列を解決し、1つのドキュメントも変更する前に精度とカバレッジを報告しながら、すべての検索/置換パターンを自動的に決定します。

SmartMapperを使用する場面:すべての検索/置換のペアを手動で列挙することが現実的でない移行すべてにおいて — SharePointテナント間移行、ファイルサーバーからクラウドへの大規模移行、IDベースまたは相対リンクを含む環境、および本番稼働前の承認のためのレポートが必要なプロジェクト。 古いパスと新しいパスが既にわかっている単純なサーバー名変更には、標準のReplaceMagicで十分です。

SmartMapperワークフローの概要

7ステッププロセス
1
スキャン
ドキュメントまたはSharePointからリンクデータベースを構築
2
DBを選択
SQL Server、SQLite、またはMySQL
3
マッピングルール
移行元 → 移行先のペア
4
生成
パターンを自動生成してスコアリング
5
確認
各パターンを承認 / 変更 / 拒否
6
適用
実際のドキュメントに置換エンジンを実行
7
確認
再スキャンしてレポートをエクスポート

ステップ1 ドキュメントをスキャンする

SmartMapperがパターンを生成する前に、リンクデータベースが構築されている必要があります。標準のドキュメントのスキャン機能を使用して、移行元ストレージ(ローカルフォルダー、ネットワークフォルダー、マップされたドライブ、またはネイティブ接続されたSharePointライブラリ)を走査します。

  • ファイルサーバーまたはネットワーク共有の場合、ReplaceMagicをルートフォルダーに向けて完全スキャンを実行します。検出されたすべてのハイパーリンク、OLEリンク、リンクソース、PowerQueryコマンド、接続文字列がデータベースに書き込まれます。
  • SharePoint移行元(テナント間プロジェクトを含む)の場合、SharePointネイティブ統合を使用して接続します。移行元テナントがまだアクティブな間にスキャンすることが重要です。SmartMapperはIDベースのリンクをドキュメントインデックスに対して解決しますが、移行元が切断されると、それらのIDは解決できなくなります。
  • スキャン設定ですべての関連するドキュメント領域を選択します:ハイパーリンク、OLEリンク、リンクソース、Power Queries、接続、VBA。スキャンされていない領域はSmartMapperには見えません。

完全なスキャン手順については、ドキュメントのスキャン方法SharePointネイティブサポートガイドを参照してください。

ステップ2 データベースバックエンドを選択する

SmartMapperは、スキャンされたすべてのリンク、マッピングルール、生成されたパターン、および検証結果をリレーショナルデータベースに保存します。3つのバックエンドをサポートしています — スキーマは同一、結果も同一:

SQL Server

エンタープライズ管理された共有プロジェクトに最適。SQL Server Expressはほとんどの移行に十分です。複数のチームメンバーが同じパターンデータベースにアクセスする必要がある場合に使用します。

SQLite

単一マシンまたはパートナー主導のプロジェクトに最適。単一ファイル、インストール不要、ライセンス費用ゼロ。ラップトップからの移行に最適。

MySQL

既存のMySQLインフラを持つ環境向けのSQL Serverのオープンソース代替。他の2つのバックエンドと同じスキーマ。

設定 → SmartMapperタブ → データベースバックエンドでバックエンドを設定します。実行間でバックエンドを切り替えることができます。スキーマは同一なので、データ移行は簡単です。

ステップ3 移行元から移行先へのマッピングルールを定義する

マッピングルールはSmartMapperがあなたに必要とする唯一の情報です。各ルールは単一の移行元 → 移行先のペアです:

  ファイルサーバーからSharePoint Onlineへの移行のマッピングルール例
移行元(古いパス) 移行先(新しいパス)
\\ServerABC\Finance https://company.sharepoint.com/sites/financenew
\\ServerABC\HR https://company.sharepoint.com/sites/hr
\\OldNAS\Shared\Projects https://company.sharepoint.com/sites/projects

効果的なマッピングルールを書くためのヒント:

  • 最も高い有用なレベルでマッピングします — 個々のサブフォルダーではなく\\Server\Financeをマッピングします。SmartMapperのSmartMapperがサブフォルダーのパターンを自動的に統合します。
  • ルールをより具体的なものから一般的なものへの順に並べます。
  • テナント間移行の場合、古いテナントのベースURLと古いテナントの内部ID解決URLのルールを追加します。SmartMapperは移行元テナントが廃止される前に、移行元のドキュメントインデックスを使用して各IDベースリンクを絶対パスに解決します。
  • ルールはSmartMapperグリッドに手動で入力するか、CSVファイル(デフォルトでは|区切り)からインポートできます。

ステップ4 SmartMapperのパターン生成を実行する

SmartMapperタブのパターンを生成をクリックします。データベース内の各リンクに対して、SmartMapperは:

  1. リンクタイプを検出します — 絶対、相対、SharePointDocID、OneDriveID、PowerQuery、ConnectionString、OneNote、SharePoint特殊。
  2. すべてのリンクを絶対パスに解決します — 相対、ID ベース、PowerQuery コマンド (File.Contents, Folder.Files, Web.Contents) や接続文字列 (Provider=, DSN=, Data Source=, OPENROWSET) に埋め込まれたものなど、形式を問いません。
  3. マッピングルールを適用して新しい移行先パス(NewLink)を生成します。
  4. 目的を果たす最小の範囲でパターンを生成します — そのため \\Server\Finance のような広いルールでも、何千もの冗長なサブフォルダー パターンは生成されません。
  5. 重複排除と最適化を自動的に行います — 異なるリンクからの同一パターンは1つのエントリに統合されます。
  6. 競合をフラグします。同じSearchStringが2つの異なるReplaceStringにマップされる場合。これらは競合としてマークされ、適用前に人間が解決する必要があります。
  相対リンクを手作業で修復できない理由

\\ServerABC\Finance\Reports\Q2.xlsx にあるブックには ..\Sub1\file.xlsx というリンクが含まれています。同じ文字列が他の何百もの文書にも現れますが、指し示す先はそれぞれ異なります。相対リンクは、それを含む文書との関係においてのみ意味を持つためです。

単一の検索と置換のペアでこれを修正することはできません。SmartMapper は各出現箇所が実際に何を指しているかを判別し、お客様のルールを適用してパターンを生成します。お客様が指定するのは次の 1 行だけです。

\\ServerABC\Finance → https://company.sharepoint.com/sites/financenew

ステップ5 生成されたパターンを確認する

パターングリッドには、自動生成された各検索/置換の組み合わせがそのステータスと検証メトリクスとともに表示されます。ドキュメントを変更する前に各パターンを確認してください:

パターンのステータス

生成済みSmartMapperが作成し、確認待ち
承認済み承認済み — ドキュメントに対して実行されます
拒否済み明示的に除外 — 実行されません
変更済みSearchStringまたはReplaceStringを編集済み — あなたのバージョンで実行されます
競合同じSearchStringが異なるReplaceStringにマップされています — 承認前に解決が必要

精度とカバレッジ

各パターンには正常のカウント(このパターンが正しく修復するリンク数)、不正のカウント(このパターンが破損させるリンク数)、および精度率 が表示されます。実行ログではこれを Confidence (fix accuracy) と表示します。

精度100%で不正リンクがゼロのパターンはすぐに承認できます。

実行レベルでは、SmartMapper は2つの独立した指標を報告します。両方が必要です:

  • 精度 — 承認済みパターンが変更するリンクのうち、正しく変更される割合。
  • カバレッジ — 対象リンク全体のうち、正しく修復される割合。

この2つは異なるものを測定し、独立して変動します。ある実行が精度100%でありながら、対象リンクの82%しかカバーしていないことがあり得ます — 実施した変更はすべて正しかったものの、作業の5分の1近くが手つかずのままです。単一の合成スコアはまさにこの差を隠してしまうため、2つは別々に報告されます。

ステークホルダー向けの報告用に、任意の総合スコアも利用できます。精度とカバレッジの数値の代わりではなく、それらと併せて公開してください。

競合は手動での解決が必要です。 競合は、2つの異なるリンクが同じSearchStringに解決されたが異なるReplaceStringを持つことを意味します — SmartMapperはどちらが正しいか判断できません。競合グループを開き、移行元ドキュメントを調査し、正しいReplaceStringを選択して解決をクリックするか、リンクを変更してはいけない場合はパターンを完全に拒否します。

ステップ6 承認済みパターンをドキュメントに適用する

確認したパターンに満足したら、置換エンジンを実行します。承認済みまたは変更済みステータスのパターンのみが適用されます — 生成済み、拒否済み、未解決の競合パターンはスキップされます。

  • ドキュメントはWord、Excel、その他のアプリケーションで開かずに並列処理されます(スレッド数は設定可能)。
  • プレビューモードが有効な場合、ReplaceMagicは行われる各変更を報告しますが、ディスクには何も書き込みません — 確定前に結果を確認するために使用します。
  • 自動バックアップを有効にして、変更前に各ドキュメントのコピーを保存します。
  • SharePoint移行先の場合、変更後もメタデータを保持するために最終更新日時と更新者の値を保持する(サイト管理者権限が必要)を有効にします。

置換エンジンの詳細な設定については、リンク切れの修正方法を参照してください。

ステップ7 結果を確認してエクスポートする

置換実行が完了したら:

  1. 同じストレージを再スキャンして、以前に切れていたすべてのリンクが現在解決されていることを確認します。新しいスキャン結果をベースラインと比較して、どのリンクがステータスを変えたかを正確に表示できます。
  2. 追加情報タブを確認してスキップされたドキュメント(サイズ制限、タイムアウト、SharePointスロットリング)を探します。スキップされたファイルをインポートをクリックしてスキップされたファイルを再処理します。
  3. 結果をエクスポートします(CSV、Excel、またはSmartMapperデータベースへ)。エクスポートには元のリンク、新しいリンク、適用されたパターン、ドキュメントパス、変更のタイムスタンプが含まれます — コンプライアンスレポートやステークホルダー向けの完全な監査証跡です。
  4. SmartMapperタブから実行レベルのレポートをエクスポートして、スキャンされた総リンク数、適用されたパターン、正常 / 不正のカウント、精度とカバレッジの2つの数値を示す承認文書を提供します。

エクスポート形式オプションについては、結果のエクスポート方法を参照してください。

特殊ケース:SharePoint DocIDリンクとテナント間移行

IDベースのSharePointリンク(DocIDOrganizationalViewLinkDirectLink)は、IDが元のテナント内でのみ意味を持つため、従来のツールで修復するのが最も難しいリンクタイプです。移行元テナントが廃止されると、それらのIDは永久に解決できなくなります。

SmartMapperは移行元がまだアクティブな間にスキャンすることでこれを解決します:

  1. 移行元の SharePoint テナントに接続し、まだ稼働しているうちに完全スキャンを実行します。
  2. テナント間のマッピングルールを定義します(古いテナントのベースURL → 新しいテナントのベースURL)。
  3. パターン生成を実行します。
  4. 生成されたパターンは古いIDベースのURLを新しい絶対URLに置き換えます — 移行元テナントがオフラインになった後でも機能する修復です。
重要なポイント:移行の切り替え前に移行元テナントでSmartMapperスキャンを実行してください。移行元が切断されると、DocIDの解決はできなくなります。

完全なテナント間移行ガイドについては、SharePoint Onlineテナント間移行:リンク切れの修正を参照してください。

PowerQuery、接続文字列、OLEリンクの処理

多くの大規模なExcel環境には、標準のハイパーリンクとして公開されないリンクが含まれています — PowerQueryのMコード、OLEDBの接続文字列、またはピボットテーブルキャッシュの定義に埋め込まれています。SmartMapperはこれらを自動的に抽出します:

  • PowerQuery: SmartMapper は File.ContentsFolder.FilesWeb.ContentsSharePoint.Files を含む PowerQuery M コマンド内のパスを処理します。ローカル ファイルを SharePoint に移行する場合、パスの変更だけでは不十分です。クエリ自体がクラウド ストレージに対して動作する必要があり、SmartMapper はその点も処理します。
  • 接続文字列:Provider=DSN=Data Source=OPENROWSETOPENDATASOURCEBULK INSERTステートメント内のパスは、通常のリンクと同じプロセスで抽出・解決・マッピングされます。
  • OLEリンクとリンクソース:外部データソース(別のブック、データベースファイル)にリンクするExcelブックは、リンクソース領域を通じて外部参照パスが更新されます。

SmartMapperデータベースに含めるために、スキャン設定でPower Queries接続リンクソースの領域が選択されていることを確認してください。

ヒントとベストプラクティス

  • 初期テストにはSQLiteを使用します。SmartMapperの最初のパスをSQLiteバックエンドで実行します — サーバー設定不要、即時起動。大規模なチームプロジェクトのためにSQL Serverの完全デプロイにコミットする前に、パターンの品質を確認します。
  • 複数フェーズ移行にはRunIDを使用します。SmartMapperの各実行はRunIDで区切られます。移行フェーズごとに異なるRunIDを割り当てて、異なるフェーズの結果が同じデータベース内で互いに汚染せずに共存できるようにします。
  • 本番稼働前に競合を解決します。未解決の競合を持つパターンは置換実行から除外されます。各生成パスの後に競合グループリストを確認し、それぞれを明示的に解決または拒否します。
  • 最も具体的なマッピングルールを優先します。\\Server\Finance\Archive\\Server\Financeとは異なる方法でマッピングする必要がある場合、マッピンググリッドでFinanceルールより上にArchiveルールを追加します。
  • 適用前にプレビューします。ドキュメントライブラリ全体で実行する前に、代表的なドキュメントのサブセットに対して常にプレビューモードで実行して、パターンの結果を検証します。
  • 置換準備サービスについて:プロジェクトが大きすぎるか複雑すぎてSmartMapperを社内で実行できない場合、ReplaceMagicチームがすべてのマッピングルールとパターンをあなたに代わって準備できます。置換準備パッケージを参照してください。

次のステップ

SmartMapperを試す
無料試用版をダウンロードして、購入前にご自身のドキュメントでSmartMapperをお試しください。
SmartMapperを購入する
ReplaceMagic.SmartMapperは$2,499(永続ライセンス)。ReplaceMagic.Ultimateのフォーマットカバレッジが含まれます。
専門家のサポートが必要ですか?
置換準備パッケージ — ReplaceMagicチームがすべてのパターンをあなたに代わって準備します。

関連ガイド