﻿========================================================================

SharePoint バックアップアプリケーション

Exceed One Backup
             for SharePoint and OneDrive

製造・販売　：　株式会社エクシード・ワン

========================================================================

このファイルでは『Exceed One backup』（以下、本製品といいます）の
利用方法およびその他の重要な情報について説明します。
最新情報については株式会社エクシード・ワン（以下、当社といいます）
ウェブサイトを参照ください。


------------------------------------------------------------------------
目次
------------------------------------------------------------------------

１．アプリケーション概要
２．動作環境
３．製品の種類
４．使用許諾契約
５．利用方法
６．問い合わせ・購入方法
７．その他
８．更新履歴


------------------------------------------------------------------------
１．アプリケーション概要
------------------------------------------------------------------------

本製品はSharePoint Online と OneDrive for Business のデータをファイル
単位でローカルストレージにバックアップします。

【機能概要】
 
 ・サイト内のドキュメント（ファイル）およびデータベース情報の保存
 ・サイト構成と同じ構造で保存先にフォルダーを作成し保存
 ・データベースの内容はXMLファイルとして保存



------------------------------------------------------------------------
２．動作環境
------------------------------------------------------------------------
SharePoint
　・SharePoint Online (Office365)

OS
　・Microsoft Windows 10, 11
　・Microsoft Windows Server 2016 以降

.Net Framework
　・.NET Framework 4.8.1


------------------------------------------------------------------------
３．製品の種類
------------------------------------------------------------------------

本製品は機能およびライセンス形態により以下の種類（エディション）があります。

【フリーエディション】
　・　無償でご利用いただけます。
　・　機能に一部制限があります。

【プロフェッショナルエディション】
　・　有償版です。
　・　下記を除く本製品の全ての機能が利用できます。
　　　　対象外サイト：個人サイト・グループサイト

【プロフェッショナル プラス エディション】
　・　有償版です。
　・　本製品の全ての機能が利用できます。


------------------------------------------------------------------------
４．使用許諾契約
------------------------------------------------------------------------

本製品の使用にあたっては、別紙『ソフトウェア使用許諾契約書』に
同意いただく必要があります。
同意いただけない場合は本製品を使用できません。
なお、フリーエディションに限り以下の個別条件を適用します。

【フリーエディションの個別条件】
機能を制限した本製品の「フリーエディション」については無償での使用を
許諾します。


------------------------------------------------------------------------
５．利用方法
------------------------------------------------------------------------

【インストール】
　・適当なフォルダーを作成し、解凍してできたフォルダーを任意の
　　場所にコピーしてください。
　・バックアップ対象とするSharePointに本製品のアクセス権を設定して
　　ください。
　・Azure ADにアプリケーション登録とアクセス権を設定してください。

【アンインストール】
　・SharePointから本製品のアクセス権限を削除してください。
　・Azure ADからアプリケーションを削除してください。
　・ライセンス登録されている場合は、メニューより「登録解除」から
　　ライセンスを解除してください。
　・インストール時に作成したフォルダーごとファイルを削除してください。


　それぞれの具体的な設定方法はマニュアルを参照してください。


------------------------------------------------------------------------
６．問い合わせ・購入方法
------------------------------------------------------------------------
本製品に関するお問い合わせ、ライセンスの購入方法などについては
当社ウェブサイトおよび製品URLを参照ください。

製造・販売　：　株式会社エクシード・ワン

【当社ウェブサイト】
http://www.exceedone.co.jp/

【製品URL】
http://www.exceedone.co.jp/eob/


------------------------------------------------------------------------
７．その他
------------------------------------------------------------------------

本文中の会社名や商品名は各社の商標または登録商標です。


------------------------------------------------------------------------
８．更新履歴
------------------------------------------------------------------------
2015/02/04  ver 1.0.0
・リリース

2015/03/25  ver 1.0.0.1
・表示の不具合を修正

2015/05/07  ver 1.0.0.2
・入力値から空白文字を削除する処理を追加
	
2015/06/12  ver 1.5.0
・バッチ実行機能を追加
・自動取得モードを追加

2015/08/26  ver 1.6.0
・プロフェッショナル プラス エディションを追加
・"SharePoint 管理センター"がないプランの対応を追加

2016/03/01  ver 1.7.0
・グループのドキュメントライブラリに対応

2016/06/24  ver 1.7.1
・ダウンロード処理を最適化
・260文字以上のパス名に対応
・2GB以上のファイルに対応

2017/01/30  ver 1.7.2
・シングルクーテーションが含まれているファイル名に対応

2018/11/28  ver 1.7.3
・シャープとパーセントが含まれているファイル名に対応

2020/04/22  ver 1.7.4
・先進認証対応(SharePointOnlineCredentials --> AccessToken)

2021/07/02  ver 1.7.5
・TLS1.1/1.2に対応 ※NET Framework 4.6.0に変更(TLS 1.1 / TLS 1.2 に対応済み)

2025/10/31  ver 2.0.1
・認証を証明書認証に変更
	変更前：Microsoft Graph(Authorization Code + PKCE フロー)、SharePoint(Azure Access Control Services (ACS))
	変更後：(Client Credentials フロー(証明書認証)) ※Client Secretは、SharePointで使用できないため、証明書に変更しました。
・.Net Framework 4.8.1に対応(.NET Framework 4.6.0からバージョンアップ))

2026/07/17  ver 2.0.2
・処理速度の改善とタイムアウトによる異常終了の対策を実施しました。
	- アクセストークンの取得方法を最適化しました。
	  従来はファイル1件ごとにアクセストークンを取得していたため、大量のファイルを
	  含むサイトでは処理速度の低下やタイムアウト（「タスクが取り消されました」）による
	  異常終了が発生する場合がありました。サイト単位でトークンをキャッシュして再利用
	  するように変更し、この問題を改善しました。
	- ファイルダウンロード時のHTTP通信にタイムアウト（各10分）を明示的に設定しました。
	  大容量ファイルのダウンロードが既定のタイムアウト（100秒）で中断される問題を
	  防止します。
	- SharePoint Online のアクセス制限（スロットリング：HTTP 429/503）や一時的な通信
	  エラーが発生した場合、自動的に一定時間待機してリトライするようにしました。
	  サーバーから待機時間（Retry-After）が指定された場合はその指示に従います。
	  リトライしても回復しないファイルは、そのファイルのみスキップしてファイル名を
	  ログに記録し、処理を継続します（1ファイルの失敗で全体が止まりません）。
・ログ出力を強化しました。
	- エラーで異常終了した際、原因調査に必要な詳細情報（例外の種類・メッセージ・
	  HTTPステータス・内部例外・スタックトレース）を実行ログ(EOBLogs\EOBLog_yyyymmdd_hhmmss.txt)へ
	  出力するようにしました。この詳細エラーログは常時出力されます。
	- 処理件数や経過時間などのパフォーマンス情報を定期的に出力する機能を追加しました。
	  （後述の「パフォーマンスログ」を参照）

	【パフォーマンスログ（オプション）】
	・ログ出力量が増えるため、既定では無効です。
	・有効にすると、以下の情報がログ(EOBLogs\EOBLog_yyyymmdd_hhmmss.txt)に出力されます。
		- 一定間隔（約60秒ごと）の処理進捗
		  例) [PERF] Progress: Items=1,234, Files=567, Errors=0, Elapsed=00:12:34
			  Items  … 処理したデータベース(リスト)アイテム件数
			  Files  … ダウンロードしたファイル件数
			  Errors … エラー件数
			  Elapsed… 経過時間
		- ファイルごとのダウンロードサイズと所要時間
		  例) [PERF] Download: 1,048,576 bytes, 320 ms : (保存先ファイルパス)
	・有効化の方法：
	  設定ファイル(EOBConfig.xml / バッチ用のXML)に以下のタグを追加してください。
		<PerfLog>true</PerfLog>
	  無効にする場合は false を指定するか、タグを削除してください（既定は無効）。
	  ※メイン画面の「パフォーマンスログを出力する(EOBLog.txt)」チェックボックスからも
		有効／無効を切り替えできます（バックアップ設定の保存時に EOBConfig.xml に反映されます）。
	  ※メイン画面の「並列度」で、1～4を選択できます。標準値は2です。

	【ログの出力先】
	・ログファイルは、EOB.exe(本体プログラム)と同じフォルダーの EOBLogs フォルダーに出力されます。
		- 実行ログ／進捗情報／エラー詳細 … EOBLogs\EOBLog_yyyymmdd_hhmmss.txt
		- デバッグ詳細(デバッグモード有効時のみ) … EOBLogs\EOBDebug_yyyymmdd_hhmmss.txt
	・進捗情報やエラーメッセージは、画面上(バッチ実行時はコンソール画面)にも
	  表示されます。
	・エラー発生時の詳細情報は、画面には表示されず EOBLogs\EOBLog_yyyymmdd_hhmmss.txt にのみ記録されます。
	・メイン画面の「古いログを削除する」チェックボックスを有効にすると、EOBLogs フォルダー内の
	  30日より古いログ(EOBLog_*.txt / EOBDebug_*.txt)を自動削除します（既定は無効です）。
	  保持日数は 0～9999 日で設定できます。0 は無期限（削除しない）です。

	【性能検証結果（社内測定）】
	・測定日：2026/07/27
	・測定条件：同一対象（Items=3,495 / Files=3,449）、Errors=0
	・実測結果（Elapsed）：
		- 並列処理数 1：00:05:06
		- 並列処理数 2：00:02:46
		- 並列処理数 4：00:02:39
	・比較：
		- 並列処理数4は、並列処理数1に対して約48.0%短縮
		- 並列処理数4は、並列処理数2に対して約4.2%短縮
	※ 上記は ver 2.0.3 で修正した「同時通信数が2に制限される」不具合が残った状態での
	  測定結果です。並列処理数2→4の短縮が4.2%にとどまっているのはこのためです。
	  修正後の測定結果は ver 2.0.3 の項を参照してください。

2026/07/29  ver 2.0.3
・SharePoint のリスト情報取得時のタイムアウトによる異常終了に対策しました。
	- リスト情報・アイテム情報を取得する通信の待ち時間を延長しました。
	- リスト取得処理でタイムアウトが発生した場合、自動的に再試行するようにしました。
	  再試行回数は最大3回で、一定時間待機した後、接続情報を再生成して再実行します。
	- 1回の通信で取得する件数を抑制し、応答が重くなりすぎることを防止しました。
	- 再試行しても取得できなかった対象のみをSKIPとして記録し、処理全体は継続します。
	  （1件の失敗でバックアップ全体が停止しません）
・並列処理が効かない不具合を修正しました。
	- SharePoint への同時通信数が内部的に「2」に制限されていたため、並列処理数を3以上に
	  設定しても処理時間がほとんど短縮されない状態でした。この制限を解除し、設定した
	  並列処理数がそのまま通信に反映されるようにしました。
	- あわせて、ファイルダウンロード時のメモリ確保方法、ログファイルへの書き込み方法、
	  および画面の履歴表示を見直し、処理中の負荷を軽減しました。
	  ※ログの内容・出力先はこれまでと変わりません。
・タイムアウト等のエラー発生時に、ログおよび画面の履歴エリアへエラー種別・内容・発生箇所を
  わかりやすく表示するように改善しました。
・メイン画面およびバージョン画面のタイトルにバージョンを表示するようにしました。
・パフォーマンスログの出力内容を追加しました。
	- SharePoint からのリスト情報取得(CSOM)1回あたりの所要時間を出力します。
	  例) [PERF] Query[T10]: 250 ms : GetListFiles LIST ID: xxxxxxxx-xxxx-...
	- ダウンロードの出力に処理スレッド番号を付加しました。
	  例) [PERF] Download[T10]: 1,048,576 bytes, 320 ms : (保存先ファイルパス)

	【性能検証結果（社内測定）】
	・測定日：2026/07/29
	・測定条件：同一対象（Items=3,495 / Files=3,449）、Errors=0
	・実測結果（Elapsed）：
		- 並列処理数 1：00:06:30
		- 並列処理数 2：00:03:25
		- 並列処理数 4：00:02:30
	・比較：
		- 並列処理数4は、並列処理数1に対して約61.5%短縮
		- 並列処理数4は、並列処理数2に対して約26.8%短縮
	※ 並列処理数は1～4の範囲で設定でき、範囲外の値は自動的に補正されます。
	  設定を省略した場合は2で動作します。
	※ 並列処理数を大きくすると SharePoint 側の同時アクセス制限(HTTP 429)を受けやすく
	  なります。制限を受けた場合は自動的に待機・再試行するため処理は継続しますが、
	  環境によっては2のほうが安定する場合があります。

	【今後の改善予定（ver 2.0.5 以降）】
	・上記の測定では、SharePoint からリスト情報を取得する通信(136回・合計約33秒)が
	  処理全体の約2割を占めていました。この通信中はファイルのダウンロードが待機状態と
	  なるため、次に取得する情報を先読みする方式(プリフェッチ)の導入を検討しています。
	※ 現時点での検討内容であり、実装時期・内容をお約束するものではありません。

2026/07/31  ver 2.0.4
・リスト(カスタムリスト等)の添付ファイルがバックアップされない不具合を修正しました。
	- 添付ファイルのダウンロード先アドレスの組み立てで区切り記号("/")が重複しており、
	  SharePoint 側が別の場所として解釈するため、ファイルが存在していても
	  「404 見つかりません」となり SKIP されていました。
	  例) .../Attachments/169//(ファイル名)  ※本来は .../Attachments/169/(ファイル名)
	- ドキュメントライブラリ内のファイル、およびリストのアイテム情報(一覧データ)は
	  影響を受けません。本事象はリストの「添付ファイル」のみに発生していました。
	※ ver 2.0.3 以前で取得したバックアップデータには、リストの添付ファイルが含まれて
	  いない可能性があります。本バージョン適用後に改めてバックアップを実行し、
	  添付ファイルが保存されることをご確認ください。
・フリーエディションで、エラー件数と SKIP 一覧が実際の2倍になる不具合を修正しました。
	- ダウンロードに失敗して保存されなかったファイルに対しても容量集計がサイズを
	  取得しようとしていたため、2件目のエラーとして計上されていました。
	  あわせて、失敗原因とは無関係な FileNotFoundException がログに記録されて
	  いました。
	- 保存されなかったファイルを容量集計の対象から除外するようにしました。
	  ダウンロードに失敗したファイルは、フリーエディションの容量上限の集計対象から
	  も外れます。
	※ プロフェッショナルエディションおよびプロフェッショナル プラス エディションでは
	  発生しません。

	【動作確認結果（社内テスト）】
	・確認日：2026/07/31
	・テストデータ：カスタムリストに以下の4アイテムを用意
		- アイテム01：添付1件（日本語ファイル名）
		- アイテム02：添付3件
		- アイテム03：添付なし
		- アイテム04：添付1件（半角スペース・記号を含む名前）
		  例) file +plus 'apos (paren) ,comma.txt
	  ※ SharePoint の仕様により、リストの添付ファイル名に「#」「%」は使用できないため
		テスト対象から除外しています。
	・確認結果（同一サイト・同一条件で実行）
							ver 2.0.3	ver 2.0.4
		添付ファイルの保存件数	  0件		  5件
		エラー件数(Errors)		 10件		  0件
		SKIP件数				 10件		  0件
		アイテム件数(Items)		643件		643件
		ファイル件数(Files)		624件		624件
	・ver 2.0.3 では添付ファイルが1件も保存されず、ログに
	  「Attachments/(アイテムID)//(ファイル名)」に対する404が記録されました。
	・ver 2.0.4 では計5ファイルがすべて保存され、404およびエラーは発生しませんでした。
	  添付なしのアイテムには Attachments フォルダーが作成されないことも確認しています。
	・Items/Files が両バージョンで同一であり、添付ファイル以外の動作に影響がないことを
	  確認しました。
	・フリーエディションとプロフェッショナルエディションの双方で実行し、いずれも同じ
	  結果となることを確認しました。
	  ※ 上記の「エラー件数10件」はフリーエディションでの値です。二重計上によるもので、
		プロフェッショナルエディションでは同じ状態でも5件と表示されます。

[EOF]