Update docs for group mailbox release (#5187)

<!-- PR description-->

---

#### Does this PR need a docs update or release note?

- [x]  Yes, it's included
- [ ] 🕐 Yes, but in a later PR
- [ ]  No

#### Type of change

<!--- Please check the type of change your PR introduces: --->
- [ ] 🌻 Feature
- [ ] 🐛 Bugfix
- [x] 🗺️ Documentation
- [ ] 🤖 Supportability/Tests
- [ ] 💻 CI/Deployment
- [ ] 🧹 Tech Debt/Cleanup

#### Issue(s)

<!-- Can reference multiple issues. Use one of the following "magic words" - "closes, fixes" to auto-close the Github issue. -->
* #<issue>

#### Test Plan

<!-- How will this be tested prior to merging.-->
- [x] 💪 Manual
- [ ]  Unit test
- [ ] 💚 E2E
This commit is contained in:
Abhishek Pandey 2024-02-06 00:34:52 -08:00 committed by GitHub
parent e86592f51e
commit 0cde1a4778
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 32 additions and 9 deletions

View File

@ -12,7 +12,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Update repo init configuration to reduce the total number of GET requests sent - Update repo init configuration to reduce the total number of GET requests sent
to the object store when using corso. This affects repos that have many to the object store when using corso. This affects repos that have many
backups created in them per day the most. backups created in them per day the most.
- Group mailbox emails can now be exported as `.eml` files. - Group mailbox(aka conversations) backup and export support is now officially available. Group mailbox posts can be exported as `.eml` files.
### Fixed ### Fixed
- Retry transient 400 "invalidRequest" errors during onedrive & sharepoint backup. - Retry transient 400 "invalidRequest" errors during onedrive & sharepoint backup.
@ -33,6 +33,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Exchange in-place restore may restore items in well-known folders to different folders if the user has well-known folder names change based on locale and has updated the locale since the backup was created. - Exchange in-place restore may restore items in well-known folders to different folders if the user has well-known folder names change based on locale and has updated the locale since the backup was created.
- In-place Exchange contacts restore will merge items in folders named "Contacts" or "contacts" into the default folder. - In-place Exchange contacts restore will merge items in folders named "Contacts" or "contacts" into the default folder.
- External users with access through shared links will not receive these links as they are not sent via email during restore. - External users with access through shared links will not receive these links as they are not sent via email during restore.
- Group mailbox restore is not supported due to limited Graph API support for creating mailbox items.
- Due to Graph API limitations, any group mailbox items present in subfolders other than Inbox aren't backed up.
## [v0.18.0] (beta) - 2024-01-02 ## [v0.18.0] (beta) - 2024-01-02

View File

@ -35,9 +35,12 @@ const (
groupsServiceCommandCreateExamples = `# Backup all Groups and Teams data for the Marketing group groupsServiceCommandCreateExamples = `# Backup all Groups and Teams data for the Marketing group
corso backup create groups --group Marketing corso backup create groups --group Marketing
# Backup only Teams conversations messages # Backup only Teams channel messages
corso backup create groups --group Marketing --data messages corso backup create groups --group Marketing --data messages
# Backup only group mailbox posts
corso backup create groups --group Marketing --data conversations
# Backup all Groups and Teams data for all groups # Backup all Groups and Teams data for all groups
corso backup create groups --group '*'` corso backup create groups --group '*'`
@ -50,7 +53,10 @@ corso backup details groups --backup 1234abcd-12ab-cd34-56de-1234abcd
# Explore Marketing messages posted after the start of 2022 # Explore Marketing messages posted after the start of 2022
corso backup details groups --backup 1234abcd-12ab-cd34-56de-1234abcd \ corso backup details groups --backup 1234abcd-12ab-cd34-56de-1234abcd \
--last-message-reply-after 2022-01-01T00:00:00` --last-message-reply-after 2022-01-01T00:00:00
# Explore group mailbox posts with conversation subject "hello world"
corso backup details groups --backup 1234abcd-12ab-cd34-56de-1234abcd --conversation "hello world"`
) )
// called by backup.go to map subcommands to provider-specific handling. // called by backup.go to map subcommands to provider-specific handling.

View File

@ -50,7 +50,13 @@ corso export groups my-exports --backup 1234abcd-12ab-cd34-56de-1234abcd
# Export all files and folders in folder "Documents/Finance Reports" that were created before 2020 to /my-exports # Export all files and folders in folder "Documents/Finance Reports" that were created before 2020 to /my-exports
corso export groups my-exports --backup 1234abcd-12ab-cd34-56de-1234abcd \ corso export groups my-exports --backup 1234abcd-12ab-cd34-56de-1234abcd \
--folder "Documents/Finance Reports" --file-created-before 2020-01-01T00:00:00` --folder "Documents/Finance Reports" --file-created-before 2020-01-01T00:00:00
# Export all posts from a conversation with topic "hello world" from group mailbox's last backup to /my-exports
corso export groups my-exports --backup 1234abcd-12ab-cd34-56de-1234abcd --conversation "hello world"
# Export post with ID 98765abcdef from a conversation from group mailbox's last backup to /my-exports
corso export groups my-exports --backup 1234abcd-12ab-cd34-56de-1234abcd --conversation "hello world" --post 98765abcdef`
) )
// `corso export groups [<flag>...] <destination>` // `corso export groups [<flag>...] <destination>`

View File

@ -266,9 +266,14 @@ func IncludeGroupsRestoreDataSelectors(ctx context.Context, opts GroupsOpts) *se
opts.Conversations = selectors.Any() opts.Conversations = selectors.Any()
} }
// if no post is specified, select all posts in the conversation
if convPosts == 0 {
opts.Posts = selectors.Any()
}
// if no post is specified, only select conversations; // if no post is specified, only select conversations;
// otherwise, look for channel/message pairs // otherwise, look for conv/post pairs
if chanMsgs == 0 { if convs == 0 {
sel.Include(sel.Conversation(opts.Conversations)) sel.Include(sel.Conversation(opts.Conversations))
} else { } else {
sel.Include(sel.ConversationPosts(opts.Conversations, opts.Posts)) sel.Include(sel.ConversationPosts(opts.Conversations, opts.Posts))

View File

@ -26,17 +26,17 @@ Below is a list of known Corso issues and limitations:
* Link shares with password protection can't be restored. * Link shares with password protection can't be restored.
* Teams conversation replies are only backed up if the parent message is available at the time of backup. * Teams message replies are only backed up if the parent message is available at the time of backup.
* Groups SharePoint files don't support Export. This limitation will be addressed in a follow-up release * Groups SharePoint files don't support Export. This limitation will be addressed in a follow-up release
* Teams messages don't support Restore due to limited Graph API support for message creation. * Teams messages don't support restore due to limited Graph API support for message creation.
* Groups and Teams support is available in an early-access status, and may be subject to breaking changes. * Groups and Teams support is available in an early-access status, and may be subject to breaking changes.
* Restoring the data into a different Group from the one it was backed up from isn't currently supported. * Restoring the data into a different Group from the one it was backed up from isn't currently supported.
* Backing up a group mailbox item may fail if it has a large number of attachments (500+). * Backing up a group mailbox(aka conversations) item may fail if it has a large number of attachments (500+).
* Exchange in-place restore may restore items in well-known folders to different * Exchange in-place restore may restore items in well-known folders to different
folders if the user has well-known folder names change based on locale and has folders if the user has well-known folder names change based on locale and has
@ -48,3 +48,7 @@ Below is a list of known Corso issues and limitations:
* Sharepoint list item "attachments" aren't backed up, restored or exported as * Sharepoint list item "attachments" aren't backed up, restored or exported as
graph APIs doesn't currently provide attachment data for Lists or List Items. graph APIs doesn't currently provide attachment data for Lists or List Items.
* Group mailbox restore isn't supported due to limited Graph API support for creating mailbox items. EML export is supported.
* Due to Graph API limitations, any group mailbox items present in subfolders other than Inbox aren't backed up.