Onenote

The M365 Plugin Onenote module is able to protect any notebook belonging to users, groups, or sites of the base tenant. The pages of the notebook and any reference file are extracted in HTML format.

The information protected with this module is detailed below:

  • For Users, groups or sites:

    • Notebook metadata

    • SectionGroup metadata

    • Section metadata

    • Page Html contents

    • Page Resources

      • Object files

      • Image files

Onenote module includes the following features:

  • Incremental backup (it is done without the Delta function)

  • It is possible to exclude images or file resources associated to pages from the backup

  • It is possible to control the destination notebook, section, or section group at restore time (in addition to the general destination entity: user, group or site)

The catalog stores the information with the following structure:

  • /@m365/tenantName/entityKind/entityName/onenote/

    • notebooks/notebookName

      • notebokName.note.book

        • sectionGroupName1

        • sectionGroupName2

      • sectionA

        • page1.note.page.html

        • resource1.note.res.png

        • resource1.note.res.pdf

Please, note that Onenote is probably the most sensitive module to throttling limits in Microsoft 365 APIs: https://docs.microsoft.com/es-es/graph/throttling

It is recommended to select the information to be protected of it and spread the jobs during time in order to avoid rejections for this reason.

Backup parameters

The list below shows the specific backup parameters that can be set up in order to control the behavior of the onenote module.

In order to select the onenote module, the common service parameter must be or contain the value onenote.

Option

Required

Default

Values

Example

Description

notebooks

No

Valid names of existing notebooks from the selected entities to backup separated by’,’

My notebook, John @ Work

Backup only selected notebooks of the included entities (users, groups, or sites)

notebooks_exclude

No

Valid names of existing notebooks from the selected entities to backup separated by’,’

Quicknotes

Backup all notebooks of the included entities except the ones listed in this parameter

notebooks_regex_include

No

Valid regex

*.buylist

Backup matching notebooks

notebooks_regex_exclude

No

Valid regex

^Work.*

Exclude matching notebooks

onenote_exclude_page_images

No

No

0, no, No, false, FALSE, false, off ; 1, yes, Yes, TRUE, true, on

Yes

Do not backup images from pages of selected notebooks

onenote_exclude_page_files

No

No

0, no, No, false, FALSE, false, off ; 1, yes, Yes, TRUE, true, on

Yes

Do not backup objects (files that are not images) from pages of selected notebooks

Restore

The list below shows the subset of restore parameters that can be used to control the behavior of onenote module restore operations:

  • destination_user, destination_site, destination_group, send_report, local_path_json_objects, debug -> Common restore parameters

  • notebook_name, notesection_name, notesection_group_name -> Control onenote destination element. Usually you only need to set up a non existing notebook_name to restore one entire notebook into a new one.

Use cases

The following restore scenarios are supported:

  • Restore user, group, or site notebooks to their original entity or to a different entity

    • Restore parameters implied: destination_user, destination_group, destination_site

  • To restore information to its original location, do not set the following parameters:

    • Restore over a new notebook: notebook_name

    • Restore over a new section: notesection_name

    • Restore over a new section group: notesectiongroup_name

  • Restore to local file system (general restore where parameter must be set to a path)

Particularities about foreign_container_generation present the same behavior as the email module.

For more details about the behavior of each parameter, please check the general section of restore parameters.

Fileset examples

Backup all notebooks of a user:

Fileset Example
FileSet {
        Name = fs-m365-peter-onenote
        Include {
                Options { signature = MD5 }
                Plugin = "m365: service=onenote tenant=57uia43-d107-17a2-a2g2-aa53c10tdahc objectid=56ddf1h9-eb5d-42nf-bac7-7b019fd284g5 user=\"peter@mycompany.com\" "
        }
}

Backup specific notebooks of a site:

Fileset Example
FileSet {
        Name = fs-m365-site-notebooks-plan
        Include {
                Options { signature = MD5 }
                Plugin = "m365: service=onenote tenant=57uia43-d107-17a2-a2g2-aa53c10tdahc objectid=56ddf1h9-eb5d-42nf-bac7-7b019fd284g5 site=\"Company Events\" notebooks=places,planning"
        }
}

Do not backup files or images:

Fileset Example
FileSet {
        Name = fs-m365-peter-onenote-noimages
        Include {
                Options { signature = MD5 }
                Plugin = "m365: service=onenote tenant=57uia43-d107-17a2-a2g2-aa53c10tdahc objectid=56ddf1h9-eb5d-42nf-bac7-7b019fd284g5 user=\"peter@mycompany.com\" onenote_exclude_page_images=yes onenote_exclude_page_files=yes"
        }
}