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

SharePoint Backup Application

Exceed One Backup
             for SharePoint and OneDrive

Software production and sales: Exceed One Co., Ltd.

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

This document explains about “Exceed One backup” ("EOB"),
how to use EOB,　and others important information.

You learn more about the latest features this product, come to our 
website, Exceed One Co., Ltd. ("Exceed One"). 


------------------------------------------------------------------------
A table of contents
------------------------------------------------------------------------

1. Applications Overview
2. System Requirements
3. Product Edition
4. Software License Terms and Conditions
5. How to use EOB
6. How to contact us /  How to buy
7. Others
8. Product Update


------------------------------------------------------------------------
1. Applications Overview
------------------------------------------------------------------------

EOB make a backup of data for "SharePoint Online" and "One Drive for 
Business" to local storage by file level.

[Functional overview]
 -Save documents, files and database references in the website
 -Save the website elements of same layout to folder that EOB make in the location
 -Export selection from database contents to XML format file, then Save them

------------------------------------------------------------------------
2. System Requirements
------------------------------------------------------------------------

SharePoint
 -SharePoint Online (Office365)

Operating System
 -Microsoft Windows 10, 11
 -Microsoft Windows Server 2016 or later

.Net Framework
 -.NET Framework 4.8.1
　

------------------------------------------------------------------------
3. Product Edition
------------------------------------------------------------------------

EOB has free editions that include of each feature and license level.

[Free Edition]
 -Free software
 -This edition has limitations of function.

[Professional Edition]
 -Paid version.
 -All of the function is available without website as bellow,
   Private website 
   Group website

[Professional Plus Edition]
 -Paid version.
 -All of the function in EOB is available.


------------------------------------------------------------------------
4. Software License Terms and Conditions
------------------------------------------------------------------------

You must accept “Software License Terms and Conditionst” to use this
product "EOB".
If you do not agree with such terms and conditions do not download and 
install the EOB.
However, free edition is not applicable it.
Free edition applies an individual license agreement.

[Individual license agreement for Free edition]
We consent that you use EOB's “free edition” for free.


------------------------------------------------------------------------
5. How to use
------------------------------------------------------------------------

[Installation]
 -You should create a folder in your PC anywhere, then you should copy 
  unzip folder for EOB in it.
 -You should do setting that EOB access to SharePoint for back up.
 -You should registered for application and setting for EOB access 
  to Azure AD.

[Uninstallation]
 -You have to delete EOB access rights in SharePoint, 
  and deactivation is disconnecting SharePoint from a valid user license.
 -You have to delete application for EOB from Azure AD.
 -If you registered in EOB license, you have to deactivation disconnects
  an application from a valid user license.
  You can deactivate your license on application menu "Unreg".
 -You have to delete all files and the folder that you created 
  when you installed EOB.

If you want more information, Please check the EOB manual.


------------------------------------------------------------------------
6. How to contact us /  How to buy
------------------------------------------------------------------------

If you want to contact us about EOB and license inquiry,
see our Website page, and the product page for the detail.

Software production and sales: Exceed One Co., Ltd.

[Our Website page]
http://www.exceedone.com/

[URL for the product]
http://www.exceedone.com/eob_en/


------------------------------------------------------------------------
7. Other
------------------------------------------------------------------------

The company names and product names used on this document are trademarks
or registered trademarks of their respective companies. 


------------------------------------------------------------------------
8. History
------------------------------------------------------------------------
Feb/04/2015 ver 1.0.0
 -Release
 
Mar/25/2015 ver 1.0.0.1
 -Display failure bug fix

May/07/2015 ver 1.0.0.2
 -Add function that delete empty word from input value.

Jun/12/2015 ver 1.5.0
 -Add batch execution function
 -Add automatic acquisition mode

Aug/26/2015 ver 1.6.0
 -Add Professional plus edition
 -Add plan without SharePoint admin center

Mar/01/2016 ver 1.7.0
 -Support for document library of group

JUN/24/2016 ver 1.7.1
 -The download process has been optimized.
 -Support for path names longer than 260 characters.
 -Support for files larger than 2GB.

JAN/30/2017 ver 1.7.2
 -Supports filenames containing single quotes.

NOV/28/2018 ver 1.7.3
 -Supports filenames containing sharp and percent. 

APR/22/2020 ver 1.7.4
 -Support for modern certification.(SharePointOnlineCredentials --> AccessToken)

Jul/02/2021 ver 1.7.5
 - Supports TLS 1.1 / 1.2  
   Changed to NET Framework 4.6.0 (Supports TLS 1.1 / TLS 1.2)

Oct/31/2025 ver 2.0.1
 - Authentication changed to certificate-based authentication.
   Previous: Microsoft Graph (Authorization Code + PKCE flow), SharePoint (Azure Access Control Services (ACS))
   Now: Client Credentials flow using certificate authentication (certificate-based).
   Note: Client Secret cannot be used with SharePoint CSOM, therefore authentication was switched to certificate.
 - Upgraded to .NET Framework 4.8.1 (upgraded from .NET Framework 4.6.0).
   Note: .NET Framework 4.8.1 relies on the OS SChannel for TLS; TLS 1.3 availability depends on the Windows version and updates (e.g. Windows 11 / Windows Server 2022 or later with relevant updates).

Jul/17/2026 ver 2.0.2
  - Improved processing speed and fixed abnormal termination caused by timeouts.
    - Optimized how the access token is acquired.
      Previously an access token was acquired for every single file, which could cause
      slow processing and abnormal termination due to timeouts ("A task was canceled")
      on sites containing a large number of files. The token is now cached and reused
      per site, which resolves this issue.
    - Explicitly set a timeout (10 minutes each) for the HTTP communication used when
      downloading files. This prevents large file downloads from being interrupted by
      the default timeout (100 seconds).
    - Added automatic retry with wait when SharePoint Online throttling (HTTP 429/503)
      or a temporary communication error occurs. When the server specifies a wait time
      (Retry-After), the application follows that instruction. Files that do not recover
      after retrying are skipped individually, their file names are recorded in the log,
      and processing continues (a single file failure no longer stops the whole process).
  - Enhanced logging.
    - When the process terminates abnormally due to an error, detailed information for
      troubleshooting (exception type, message, HTTP status, inner exception, and stack
      trace) is now written to the execution log (EOBLogs\EOBLog_yyyymmdd_hhmmss.txt).
      This detailed error log is always output.
    - Added a feature to periodically output performance information such as the number
      of processed items and elapsed time. (See "Performance Log" below.)
 
    [Performance Log (optional)]
    - Disabled by default, because it increases the amount of log output.
    - When enabled, the following information is written to the log
      (EOBLogs\EOBLog_yyyymmdd_hhmmss.txt):
        - Processing progress at regular intervals (about every 60 seconds)
          e.g. [PERF] Progress: Items=1,234, Files=567, Errors=0, Elapsed=00:12:34
               Items   ... Number of processed database (list) items
               Files   ... Number of downloaded files
               Errors  ... Number of errors
               Elapsed ... Elapsed time
        - Download size and elapsed time for each file
          e.g. [PERF] Download: 1,048,576 bytes, 320 ms : (destination file path)
    - How to enable:
      Add the following tag to the configuration file (EOBConfig.xml / the XML for batch):
          <PerfLog>true</PerfLog>
      To disable it, specify false or remove the tag (disabled by default).
      * You can also toggle it with the "Output performance log (EOBLog.txt)" checkbox
        on the main screen. The value is saved to EOBConfig.xml when the backup settings
        are saved.
      * You can also choose the parallel degree on the main screen (1 to 4). The default
        value is 2.

    [Log output location]
    - Log files are written to the EOBLogs folder in the same folder as EOB.exe.
      - Execution log / progress / error details ... EOBLogs\EOBLog_yyyymmdd_hhmmss.txt
      - Debug details (only when debug mode is enabled) ... EOBLogs\EOBDebug_yyyymmdd_hhmmss.txt
    - Progress information and error messages are also shown on the screen (or the console
      window in batch mode).
    - Detailed information for errors is not shown on the screen and is written only to
      EOBLogs\EOBLog_yyyymmdd_hhmmss.txt.
    - If you enable the "Delete old logs" checkbox on the main screen, log files older than
      30 days in the EOBLogs folder (EOBLog_*.txt / EOBDebug_*.txt) are automatically deleted
      (disabled by default).
      The retention period can be set from 0 to 9999 days. 0 means unlimited (no deletion).

    [Performance verification result (internal test)]
    - Test date: 2026/07/27
    - Test condition: same target scope (Items=3,495 / Files=3,449), Errors=0
    - Measured elapsed time:
      - Parallel degree 1: 00:05:06
      - Parallel degree 2: 00:02:46
      - Parallel degree 4: 00:02:39
    - Comparison:
      - Parallel degree 4 is about 48.0% faster than parallel degree 1.
      - Parallel degree 4 is about 4.2% faster than parallel degree 2.
    * These figures were measured while the defect fixed in ver 2.0.3 (the number of
      concurrent connections was internally limited to 2) was still present. That is why
      the gain from parallel degree 2 to 4 is only 4.2%. See the ver 2.0.3 entry for the
      measurement taken after the fix.

Jul/29/2026 ver 2.0.3
 - Addressed abnormal termination caused by timeouts when retrieving SharePoint list
   information.
   - Extended the wait time for the communication that retrieves list and item information.
   - Added automatic retry when a timeout occurs during list retrieval. It retries up to
     3 times, waiting for a fixed period and re-creating the connection before each retry.
   - Reduced the number of records retrieved per request, preventing responses from
     becoming too heavy.
   - Only the targets that could not be retrieved after retrying are recorded as SKIP, and
     the overall process continues (a single failure no longer stops the whole backup).
 - Fixed a defect that prevented parallel processing from taking effect.
   - The number of concurrent connections to SharePoint was internally limited to 2, so
     setting the parallel degree to 3 or higher barely reduced the processing time. This
     limit has been removed, and the configured parallel degree is now applied to the
     actual communication.
   - In addition, the memory allocation used when downloading files, the way the log file
     is written, and the on-screen history display were revised to reduce the load during
     processing.
     Note: the log content and output location are unchanged.
 - Improved error visibility for timeout and similar failures.
   Error type, message, and context are now shown more clearly in the log
   and in the on-screen history area.
 - Added version display to the main window title and the version dialog title
   to help prevent version mismatch.
 - Added new entries to the performance log.
   - Elapsed time for each SharePoint list retrieval (CSOM) request.
     e.g. [PERF] Query[T10]: 250 ms : GetListFiles LIST ID: xxxxxxxx-xxxx-...
   - The thread number is now appended to the download entries.
     e.g. [PERF] Download[T10]: 1,048,576 bytes, 320 ms : (destination file path)

    [Performance verification result (internal test)]
    - Test date: 2026/07/29
    - Test condition: same target scope (Items=3,495 / Files=3,449), Errors=0
    - Measured elapsed time:
      - Parallel degree 1: 00:06:30
      - Parallel degree 2: 00:03:25
      - Parallel degree 4: 00:02:30
    - Comparison:
      - Parallel degree 4 is about 61.5% faster than parallel degree 1.
      - Parallel degree 4 is about 26.8% faster than parallel degree 2.
    * The parallel degree can be set from 1 to 4; values outside this range are corrected
      automatically. If the setting is omitted, the application runs with 2.
    * A higher parallel degree makes SharePoint throttling (HTTP 429) more likely. When
      throttled, the application waits and retries automatically so processing continues,
      but depending on the environment a value of 2 may be more stable.

    [Planned improvements (ver 2.0.5 or later)]
    - In the measurement above, the communication that retrieves list information from
      SharePoint (136 requests, about 33 seconds in total) accounted for roughly 20% of
      the total processing time. File downloads are idle while these requests run, so we
      are considering prefetching the next set of information to shorten the time further.
    * This describes the current direction only and is not a commitment to a specific
      release or scope.

Jul/31/2026 ver 2.0.4
 - Fixed a defect that prevented list item attachments from being backed up.
   - The download URL for attachments was built with a duplicated separator ("/").
     SharePoint does not normalize the duplication and treats it as a different
     location, so the file was reported as "404 Not Found" and skipped even though
     it existed.
     e.g. .../Attachments/169//(file name)  - it should be .../Attachments/169/(file name)
   - Files in document libraries and list item data (the list records themselves) are
     not affected. The problem occurred only for list attachments.
   * Backups taken with ver 2.0.3 or earlier may not contain list attachments. After
     applying this version, please run the backup again and confirm that attachments
     are saved.
 - Fixed a defect where the error count and the SKIP list were twice the actual number
   in the Free Edition.
   - The capacity counter tried to read the size of files that had not been saved
     because the download failed, and the failure was recorded as a second error. An
     unrelated FileNotFoundException was also written to the log.
   - Files that were not saved are now excluded from the capacity counter, so they no
     longer count toward the Free Edition capacity limit either.
   * This does not occur in the Professional Edition or the Professional Plus Edition.

    [Verification result (internal test)]
    - Test date: 2026/07/31
    - Test data: a custom list with the following 4 items
      - Item 01: 1 attachment (Japanese file name)
      - Item 02: 3 attachments
      - Item 03: no attachment
      - Item 04: 1 attachment (name containing spaces and symbols)
        e.g. file +plus 'apos (paren) ,comma.txt
      * "#" and "%" were excluded because SharePoint does not allow them in list
        attachment file names.
    - Result (same site, same conditions):
                                    ver 2.0.3   ver 2.0.4
        Attachments saved                   0           5
        Errors                             10           0
        SKIP count                         10           0
        Items                             643         643
        Files                             624         624
    - With ver 2.0.3 no attachment was saved, and the log recorded 404 errors for
      "Attachments/(item ID)//(file name)".
    - With ver 2.0.4 all 5 files were saved with no 404 and no errors. No Attachments
      folder is created for an item that has no attachment.
    - Items and Files are identical in both versions, confirming that nothing other than
      attachments is affected.
    - The test was run in both the Free Edition and the Professional Edition, with the
      same result.
      * The "Errors 10" above is the Free Edition value, caused by the double counting
        described above. The Professional Edition reports 5 for the same state.

[EOF]
