architecture-center icon indicating copy to clipboard operation
architecture-center copied to clipboard

Describe the outbox pattern

Open SzymonPobiega opened this issue 1 year ago • 19 comments

Before selecting the "Create pull request" button:

  1. Enter a meaningful title above^, using a prefix if necessary and keywords "New" or "Update" indicating the nature of changes.

  2. Describe the summary, scope, and intent of this PR:

Adds description of the outbox messaging pattern

  1. Insert links(s) to any related work item(s) or supporting detail:
AFTER YOUR PR HAS BEEN CREATED, expand this section for tips and additional instructions.

These are common guidelines for contributions across the repos managed by the Cloud Architecture Content Team (CACT). Some repositories may have additional specific requirements that are not listed here.

Guidance for all contributors

Topic Guidance
Draft PR If your PR will be a work-in-progress for more than a day or two, select the Convert to draft link in the upper right of the page (under Reviewers) to change it to a draft. For future reference, you can also do this using the Create pull request button drop-down during PR creation.
ms.date metadata
  • Don't update an article's "ms.date" metadata property unless you've done a full freshness review of the content. A full freshness review includes changes required to correct or improve the full technical accuracy of the article.
  • Don't update "ms.date" if you're doing targeted changes to improve non-technical aspects of the article, such as editorial quality, art improvements, article template alignment, etc.
  • If you've changed any "ms.date" properties for work that wasn't part of full review for freshness, please reset them to their previous value.
Placement and linking If you're creating a new article or articles, include updates to the related TOC.yml file to propose where the article(s) should be placed. Also consider other places within the document set where it would be beneficial to cross-reference and link to your new article(s).
PR build After you open your PR, and for each successive commit that you push to your branch, the publishing platform will run validation on the files in your pull request. A summary of the build results for each file will be inserted inline into your pull request, which includes any build suggestions/warnings/errors. PRs cannot be merged until all build errors and most warnings are resolved.
Publishing Following a successful merge, most repos publish to the live site at least once per (business) day, usually around 10am Pacific.
Additional resources

Additional guidance for private repos and internal contributors

Topic Guidance
PR size If your PR is more than ~5 lines of changes, or you'd like for the changes to go through editorial or larger review, open a contribution request at https://aka.ms/Contribution and include a link to the PR in response #8. Once it's processed, you'll be notified of the next steps.
PR title prefix Select the Edit button to the right of the PR title if you need to revise it. The following prefixes are reserved for specific contribution types:

  • [Quality Check] - maintenance work related to content quality (edit passes, art improvements, template alignment)
  • [LinkFix] - recurring/adhoc PRs to correct link URLs
  • [Pipeline] - new/updated contributor success pipeline content
  • [WIP] - a work-in-progress draft requiring several days/weeks
PR preview Following successful build of your PR, publishable files will also include Preview URL links to staged previews of your new/updated articles. Be sure to review these for verification of your intended contributions, or to send to other internal contributors for review.
PR sign-off (public repo) If an article you own is updated in a public repo PR, you are responsible for sign-off. You will be automatically notified via email. The PR will not be merged until you've had a chance to review and sign-off.
PR sign-off (private repo) After you've completed your proposed changes, addressed build warnings, and completed all review work, you can begin the sign-off process for review and merge:

  1. If your PR is in draft mode, remove "[WIP]" from the title and select Ready for review button at the bottom of the PR.
  2. Enter "#sign-off" in a new comment. This comment indicates that you're confident the work meets or exceeds Microsoft's standards for publication, and will trigger the review process.
  3. Your PR may be selected for initial review by the CACT. Following CACT review, you may receive questions or requests for additional changes. You should have initial feedback from CACT review within a few business days. If you have an urgent request or need to contact the team, please mention @MicrosoftDocs/cloud-architecture-content-team-pr-reviewers in your PR and someone will get back to you. After CACT review is complete, a CACT #sign-off will be added.
  4. Final review/merge is done by the PR review team. The PR team may also respond with feedback, categorized as "Blocking" (requires action from you), or "Non-blocking" (to be addressed in a future PR).
Additional resources

SzymonPobiega avatar Oct 20 '23 12:10 SzymonPobiega

Learn Build status updates of commit e4477ba:

:warning: Validation status: warnings

File Status Preview URL Details
docs/patterns/outbox.md :warning:Warning Details

docs/patterns/outbox.md

  • Line 0, Column 0: [Warning: h1-missing - See documentation] H1 is required. Use a single hash (#) followed by a space to create your top-level heading.
  • Line 1, Column 1: [Warning: ms-date-missing - See documentation] Missing required attribute: 'ms.date'. A freshness date is required for this content set. Add a date in format MM/DD/YYYY.
  • Line 1, Column 1: [Warning: author-missing - See documentation] Missing required attribute: 'author'. Add the current author's GitHub ID.
  • Line 1, Column 1: [Warning: title-missing - See documentation] Missing required attribute: 'title'. Add a title string to show in search engine results.
  • Line 111, Column 26: [Warning: hard-coded-locale - See documentation] Link 'https://learn.microsoft.com/en-us/azure/architecture/best-practices/transactional-outbox-cosmos' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
  • Line 118, Column 3: [Warning: hard-coded-locale - See documentation] Link 'https://learn.microsoft.com/en-us/azure/architecture/patterns/event-sourcing' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
  • Line 119, Column 3: [Warning: hard-coded-locale - See documentation] Link 'https://learn.microsoft.com/en-us/azure/architecture/patterns/retry' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
  • Line 1, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.
  • Line 1, Column 1: [Suggestion: products-missing] Missing required attribute: 'products'. Specify at least one valid value from the Product taxonomy.
  • Line 1, Column 1: [Suggestion: categories-missing] Missing required attribute: 'categories'. Specify at least one valid value from the Azure Categories taxonomy.
  • Line 111, Column 26: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://learn.microsoft.com/en-us/azure/architecture/best-practices/transactional-outbox-cosmos' will be broken in isolated environments. Replace with a relative link.
  • Line 118, Column 3: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://learn.microsoft.com/en-us/azure/architecture/patterns/event-sourcing' will be broken in isolated environments. Replace with a relative link.
  • Line 119, Column 3: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://learn.microsoft.com/en-us/azure/architecture/patterns/retry' will be broken in isolated environments. Replace with a relative link.

For more details, please refer to the build report.

Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.

For any questions, please:

@MicrosoftDocs/cloud-architecture-content-team-pr-reviewers - Please review the proposed changes. If/when you want to move forward with the content, add a sign-off.

#label:"aq-pr-triaged" #label:"pending-content-team/business-approval" Cc: @MicrosoftDocs/public-repo-pr-review-team

ShannonLeavitt avatar Oct 20 '23 14:10 ShannonLeavitt

Learn Build status updates of commit 4429de8:

:warning: Validation status: warnings

File Status Preview URL Details
docs/patterns/outbox.md :warning:Warning Details

docs/patterns/outbox.md

  • Line 0, Column 0: [Warning: h1-missing - See documentation] H1 is required. Use a single hash (#) followed by a space to create your top-level heading.
  • Line 1, Column 1: [Warning: ms-date-missing - See documentation] Missing required attribute: 'ms.date'. A freshness date is required for this content set. Add a date in format MM/DD/YYYY.
  • Line 1, Column 1: [Warning: author-missing - See documentation] Missing required attribute: 'author'. Add the current author's GitHub ID.
  • Line 1, Column 1: [Warning: title-missing - See documentation] Missing required attribute: 'title'. Add a title string to show in search engine results.
  • Line 111, Column 26: [Warning: hard-coded-locale - See documentation] Link 'https://learn.microsoft.com/en-us/azure/architecture/best-practices/transactional-outbox-cosmos' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
  • Line 118, Column 3: [Warning: hard-coded-locale - See documentation] Link 'https://learn.microsoft.com/en-us/azure/architecture/patterns/event-sourcing' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
  • Line 119, Column 3: [Warning: hard-coded-locale - See documentation] Link 'https://learn.microsoft.com/en-us/azure/architecture/patterns/retry' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
  • Line 1, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.
  • Line 1, Column 1: [Suggestion: products-missing] Missing required attribute: 'products'. Specify at least one valid value from the Product taxonomy.
  • Line 1, Column 1: [Suggestion: categories-missing] Missing required attribute: 'categories'. Specify at least one valid value from the Azure Categories taxonomy.
  • Line 111, Column 26: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://learn.microsoft.com/en-us/azure/architecture/best-practices/transactional-outbox-cosmos' will be broken in isolated environments. Replace with a relative link.
  • Line 118, Column 3: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://learn.microsoft.com/en-us/azure/architecture/patterns/event-sourcing' will be broken in isolated environments. Replace with a relative link.
  • Line 119, Column 3: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://learn.microsoft.com/en-us/azure/architecture/patterns/retry' will be broken in isolated environments. Replace with a relative link.

For more details, please refer to the build report.

Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.

For any questions, please:

@ckittel could you also give this a look to see that it's heading in the right direction? Thanks.

udidahan avatar Oct 22 '23 14:10 udidahan

@udidahan - I'll add this to the queue to review. Thanks!

ckittel avatar Oct 30 '23 21:10 ckittel

Much appreciated @ckittel

udidahan avatar Oct 31 '23 07:10 udidahan

@ckittel could you also give this a look to see that it's heading in the right direction? Thanks.

Yeah, I feel like it is. If this is going to be a new contribution, I request that you work with Rob Bagby to get this into our contribution process. November is already full, so likely couldn't happen until December. Please send him an email (CC myself) to get this as a formal work item so we can collaborate in December or January. Otherwise, we won't have any cycles to allocate to making this article happen.

ckittel avatar Oct 31 '23 13:10 ckittel

@SzymonPobiega @udidahan - Is this PR still in progress? Should it be reassigned or closed?

ShannonLeavitt avatar Nov 28 '23 16:11 ShannonLeavitt

@ShannonLeavitt still WIP. I intend to finish it next week.

SzymonPobiega avatar Nov 30 '23 08:11 SzymonPobiega

And as requested, we'd like this to come in through the contribution pipeline so that we can get proper allocation of reviewers on our side. So when it is ready, @SzymonPobiega, please work directly with Rob.

ckittel avatar Dec 13 '23 15:12 ckittel

Learn Build status updates of commit fd1459e:

:warning: Validation status: warnings

File Status Preview URL Details
docs/patterns/outbox.md :warning:Warning Details

docs/patterns/outbox.md

  • Line 0, Column 0: [Warning: h1-missing - See documentation] H1 is required. Use a single hash (#) followed by a space to create your top-level heading.
  • Line 1, Column 1: [Warning: ms-date-missing - See documentation] Missing required attribute: 'ms.date'. A freshness date is required for this content set. Add a date in format MM/DD/YYYY.
  • Line 1, Column 1: [Warning: author-missing - See documentation] Missing required attribute: 'author'. Add the current author's GitHub ID.
  • Line 1, Column 1: [Warning: title-missing - See documentation] Missing required attribute: 'title'. Add a title string to show in search engine results.
  • Line 128, Column 11: [Warning: hard-coded-locale - See documentation] Link 'https://learn.microsoft.com/en-us/azure/architecture/databases/guide/transactional-outbox-cosmos' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
  • Line 135, Column 26: [Warning: hard-coded-locale - See documentation] Link 'https://learn.microsoft.com/en-us/azure/architecture/best-practices/transactional-outbox-cosmos' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
  • Line 140, Column 3: [Warning: hard-coded-locale - See documentation] Link 'https://learn.microsoft.com/en-us/azure/architecture/patterns/event-sourcing' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
  • Line 141, Column 3: [Warning: hard-coded-locale - See documentation] Link 'https://learn.microsoft.com/en-us/azure/architecture/patterns/retry' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
  • Line 1, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.
  • Line 1, Column 1: [Suggestion: products-missing] Missing required attribute: 'products'. Specify at least one valid value from the Product taxonomy.
  • Line 1, Column 1: [Suggestion: categories-missing] Missing required attribute: 'categories'. Specify at least one valid value from the Azure Categories taxonomy.
  • Line 128, Column 11: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://learn.microsoft.com/en-us/azure/architecture/databases/guide/transactional-outbox-cosmos' will be broken in isolated environments. Replace with a relative link.
  • Line 135, Column 26: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://learn.microsoft.com/en-us/azure/architecture/best-practices/transactional-outbox-cosmos' will be broken in isolated environments. Replace with a relative link.
  • Line 140, Column 3: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://learn.microsoft.com/en-us/azure/architecture/patterns/event-sourcing' will be broken in isolated environments. Replace with a relative link.
  • Line 141, Column 3: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://learn.microsoft.com/en-us/azure/architecture/patterns/retry' will be broken in isolated environments. Replace with a relative link.

For more details, please refer to the build report.

Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.

For any questions, please:

@SzymonPobiega - I'm building out the publishing calendar for 2024 in the Cloud Design Patterns, can you please share your timeline with me on this?

cc: @udidahan

ckittel avatar Jan 18 '24 16:01 ckittel

Hope all is okay @SzymonPobiega and @udidahan. If we don't have a clear timeline on this by the end of the week here, I'm going to need to close this as we can't keep having a placeholder for this in our backlog holding capacity from other projects.

ckittel avatar Jan 30 '24 15:01 ckittel

Hey @ckittel . Sorry for dropping the ball on this, I had a bit of hard time recently. I'll try to review @tmasternak 's comments tomorrow and read the whole document one more time to see if I can improve it more. So I guess I can realistically commit to be done with it by the end of the month (January).

SzymonPobiega avatar Jan 30 '24 20:01 SzymonPobiega

Learn Build status updates of commit 62c1cf3:

:warning: Validation status: warnings

File Status Preview URL Details
docs/patterns/outbox.md :warning:Warning Details

docs/patterns/outbox.md

  • Line 0, Column 0: [Warning: h1-missing - See documentation] H1 is required. Use a single hash (#) followed by a space to create your top-level heading.
  • Line 1, Column 1: [Warning: ms-date-missing - See documentation] Missing required attribute: 'ms.date'. A freshness date is required for this content set. Add a date in format MM/DD/YYYY.
  • Line 1, Column 1: [Warning: author-missing - See documentation] Missing required attribute: 'author'. Add the current author's GitHub ID.
  • Line 1, Column 1: [Warning: title-missing - See documentation] Missing required attribute: 'title'. Add a title string to show in search engine results.
  • Line 131, Column 11: [Warning: hard-coded-locale - See documentation] Link 'https://learn.microsoft.com/en-us/azure/architecture/databases/guide/transactional-outbox-cosmos' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
  • Line 138, Column 26: [Warning: hard-coded-locale - See documentation] Link 'https://learn.microsoft.com/en-us/azure/architecture/best-practices/transactional-outbox-cosmos' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
  • Line 143, Column 3: [Warning: hard-coded-locale - See documentation] Link 'https://learn.microsoft.com/en-us/azure/architecture/patterns/event-sourcing' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
  • Line 144, Column 3: [Warning: hard-coded-locale - See documentation] Link 'https://learn.microsoft.com/en-us/azure/architecture/patterns/retry' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
  • Line 1, Column 1: [Suggestion: products-missing] Missing required attribute: 'products'. Specify at least one valid value from the Product taxonomy.
  • Line 1, Column 1: [Suggestion: categories-missing] Missing required attribute: 'categories'. Specify at least one valid value from the Azure Categories taxonomy.
  • Line 1, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.
  • Line 131, Column 11: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://learn.microsoft.com/en-us/azure/architecture/databases/guide/transactional-outbox-cosmos' will be broken in isolated environments. Replace with a relative link.
  • Line 138, Column 26: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://learn.microsoft.com/en-us/azure/architecture/best-practices/transactional-outbox-cosmos' will be broken in isolated environments. Replace with a relative link.
  • Line 143, Column 3: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://learn.microsoft.com/en-us/azure/architecture/patterns/event-sourcing' will be broken in isolated environments. Replace with a relative link.
  • Line 144, Column 3: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://learn.microsoft.com/en-us/azure/architecture/patterns/retry' will be broken in isolated environments. Replace with a relative link.

For more details, please refer to the build report.

Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.

For any questions, please:

@ckittel I think it is now ready for the next phase.

SzymonPobiega avatar Jan 31 '24 16:01 SzymonPobiega

Learn Build status updates of commit ed43b14:

:warning: Validation status: warnings

File Status Preview URL Details
docs/patterns/outbox.md :warning:Warning Details

docs/patterns/outbox.md

  • Line 0, Column 0: [Warning: h1-missing - See documentation] H1 is required. Use a single hash (#) followed by a space to create your top-level heading.
  • Line 1, Column 1: [Warning: ms-date-missing - See documentation] Missing required attribute: 'ms.date'. A freshness date is required for this content set. Add a date in format MM/DD/YYYY.
  • Line 1, Column 1: [Warning: author-missing - See documentation] Missing required attribute: 'author'. Add the current author's GitHub ID.
  • Line 1, Column 1: [Warning: title-missing - See documentation] Missing required attribute: 'title'. Add a title string to show in search engine results.
  • Line 133, Column 11: [Warning: hard-coded-locale - See documentation] Link 'https://learn.microsoft.com/en-us/azure/architecture/databases/guide/transactional-outbox-cosmos' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
  • Line 140, Column 26: [Warning: hard-coded-locale - See documentation] Link 'https://learn.microsoft.com/en-us/azure/architecture/best-practices/transactional-outbox-cosmos' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
  • Line 146, Column 3: [Warning: hard-coded-locale - See documentation] Link 'https://learn.microsoft.com/en-us/azure/architecture/patterns/event-sourcing' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
  • Line 147, Column 3: [Warning: hard-coded-locale - See documentation] Link 'https://learn.microsoft.com/en-us/azure/architecture/patterns/retry' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.
  • Line 1, Column 1: [Suggestion: products-missing] Missing required attribute: 'products'. Specify at least one valid value from the Product taxonomy.
  • Line 1, Column 1: [Suggestion: categories-missing] Missing required attribute: 'categories'. Specify at least one valid value from the Azure Categories taxonomy.
  • Line 1, Column 1: [Suggestion: description-missing - See documentation] Missing required attribute: 'description'.
  • Line 133, Column 11: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://learn.microsoft.com/en-us/azure/architecture/databases/guide/transactional-outbox-cosmos' will be broken in isolated environments. Replace with a relative link.
  • Line 140, Column 26: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://learn.microsoft.com/en-us/azure/architecture/best-practices/transactional-outbox-cosmos' will be broken in isolated environments. Replace with a relative link.
  • Line 146, Column 3: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://learn.microsoft.com/en-us/azure/architecture/patterns/event-sourcing' will be broken in isolated environments. Replace with a relative link.
  • Line 147, Column 3: [Suggestion: docs-link-absolute - See documentation] Absolute link 'https://learn.microsoft.com/en-us/azure/architecture/patterns/retry' will be broken in isolated environments. Replace with a relative link.

For more details, please refer to the build report.

Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.

For any questions, please:

@ckittel - Can this content move to the next phase? Let us know if you need help pulling these commits into the private repo.

ShannonLeavitt avatar Mar 13 '24 15:03 ShannonLeavitt

@ShannonLeavitt We do not yet have it scheduled and as such not ready to move it into the -pr repo. I have a work item for it, but no sprint identified yet. Thanks for checking, just go ahead and leave it here for now.

ckittel avatar Mar 13 '24 15:03 ckittel

#please-close

I'm sorry, our capacity is stretched too thin at this point. I still have a pointer to this PR in case we get additional capacity to come back to this.

ckittel avatar May 20 '24 17:05 ckittel